@font-face {
    font-family: 'LosAngelesDeco';
    src:
        local('Los Angeles Deco'),
        local('LosAngelesDeco'),
        local('Los Angeles Deco Regular'),
        local('LosAngelesDeco-Regular');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

:root {
    --bg: #f8f6f3;
    --white: #ffffff;
    --text: #2b2b2b;
    --muted: #6f6762;
    --accent: #c9b28b;
    --accent-dark: #b79d72;
    --graphite: #2f2f31;
    --border: #e8e1d9;
    --radius: 22px;
    --shadow: 0 10px 30px rgba(0,0,0,.06);
    --container: 1240px;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    font-family: 'Inter', sans-serif;
    color: var(--text);
    background: var(--white);
    line-height: 1.5;
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

a {
    color: inherit;
    text-decoration: none;
}

.container {
    width: min(100% - 32px, var(--container));
    margin-inline: auto;
}

.section {
    padding: 72px 0;
}

.section-dark {
    background: var(--graphite);
    color: var(--white);
}

.content-narrow {
    max-width: 820px;
}

.site-header {
    position: sticky;
    top: 0;
    z-index: 50;
    background: rgba(255,255,255,.94);
    border-bottom: 1px solid var(--border);
    backdrop-filter: blur(12px);
}

.header-inner {
    min-height: 84px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.logo-text {
    font-family: 'LosAngelesDeco', 'Inter', sans-serif;
    font-size: 50px;
    color: var(--graphite);
}

.header-nav ul {
    display: flex;
    gap: 28px;
    list-style: none;
    padding: 0;
    margin: 0;
}

.header-nav a {
    font-weight: 500;
    color: var(--graphite);
}

.header-actions {
    display: flex;
    align-items: center;
    gap: 18px;
}

.header-phone {
    color: var(--muted);
    font-weight: 600;
}

.header-cart {
    background: var(--graphite);
    color: var(--white);
    padding: 12px 18px;
    border-radius: 999px;
    font-weight: 600;
}

.hero {
    padding-top: 92px;
    background:
        radial-gradient(circle at top left, rgba(201,178,139,.18), transparent 32%),
        linear-gradient(to bottom, #fff, #faf7f2);
}

.hero-grid {
    display: grid;
    grid-template-columns: 1.1fr .9fr;
    gap: 36px;
    align-items: center;
}

.hero-badge {
    display: inline-flex;
    padding: 8px 14px;
    border-radius: 999px;
    background: rgba(201,178,139,.16);
    color: var(--graphite);
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 18px;
}

.hero h1 {
    margin: 0 0 16px;
    font-size: clamp(40px, 5vw, 72px);
    line-height: 1.05;
    letter-spacing: -0.03em;
}

.hero p {
    margin: 0;
    max-width: 620px;
    color: var(--muted);
    font-size: 18px;
}

.hero-actions {
    display: flex;
    gap: 14px;
    margin-top: 28px;
}

.hero-card__box {
    min-height: 360px;
    border-radius: 36px;
    background: var(--graphite);
    color: var(--white);
    padding: 36px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    box-shadow: var(--shadow);
}

.hero-card__box span {
    color: var(--accent);
    margin-bottom: 10px;
}

.hero-card__box strong {
    font-size: 34px;
    margin-bottom: 12px;
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 0 22px;
    border-radius: 999px;
    font-weight: 600;
    border: 1px solid transparent;
    transition: .2s ease;
}

.btn-primary {
    background: var(--accent);
    color: var(--graphite);
}

.btn-primary:hover {
    background: var(--accent-dark);
}

.btn-secondary {
    border-color: var(--border);
    background: var(--white);
    color: var(--graphite);
}

.btn-small {
    min-height: 44px;
    padding: 0 16px;
}

.section-head {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 16px;
    margin-bottom: 28px;
}

.section-head h2,
.page-head h1,
.content-default h1,
.product-single h1 {
    margin: 0;
    font-size: clamp(30px, 3vw, 48px);
    line-height: 1.1;
}

.category-grid,
.products-grid,
.delivery-boxes,
.contacts-grid {
    display: grid;
    gap: 20px;
}

.category-grid {
    grid-template-columns: repeat(4, 1fr);
}

.category-tile {
    min-height: 160px;
    border-radius: 28px;
    background: #f6f2ed;
    border: 1px solid var(--border);
    display: flex;
    align-items: end;
    padding: 24px;
    font-size: 24px;
    font-weight: 700;
    color: var(--graphite);
}

.promo-banner {
    border-radius: 30px;
    padding: 36px;
    background: linear-gradient(135deg, rgba(201,178,139,.18), rgba(255,255,255,.06));
    border: 1px solid rgba(255,255,255,.1);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.info-box,
.product-card,
.checkout-summary,
.cart-summary,
.empty-box {
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: 24px;
    padding: 24px;
    box-shadow: var(--shadow);
}

.delivery-boxes,
.contacts-grid {
    grid-template-columns: repeat(3, 1fr);
}

.products-grid {
    grid-template-columns: repeat(3, 1fr);
}

.product-card {
    overflow: hidden;
    position: relative;
}

.product-card__image {
    display: block;
    border-radius: 18px;
    overflow: hidden;
    background: #f5f1ec;
    margin-bottom: 16px;
    position: relative;
}

.product-card__content h3 {
    margin: 0 0 8px;
    font-size: 22px;
}
.product-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

.product-view__media img {
    width: 100%;
    height: 100%;
    max-height: none;
    object-fit: cover;
    object-position: center;
    display: block;
}
.product-meta {
    color: var(--muted);
    margin-bottom: 12px;
    font-size: 14px;
}

.product-price {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 16px;
}

.current-price {
    font-size: 22px;
    font-weight: 800;
    color: var(--graphite);
}

.old-price {
    color: #9e948c;
    text-decoration: line-through;
}

.badge {
    position: absolute;
    top: 14px;
    left: 14px;
    display: inline-flex;
    padding: 8px 12px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
}

.badge-hit {
    background: var(--graphite);
    color: var(--white);
}

.badge-sale {
    left: auto;
    right: 14px;
    background: var(--accent);
    color: var(--graphite);
}

.catalog-section + .catalog-section {
    margin-top: 52px;
}

.product-single {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 36px;
}

.product-single__media img {
    width: 100%;
    border-radius: 28px;
    background: #f5f1ec;
}

.product-single__content {
    align-self: start;
}

.product-description,
.product-composition,
.content-default {
    max-width: 800px;
}

.cart-list {
    display: grid;
    gap: 16px;
    margin-bottom: 28px;
}

.cart-item {
    display: grid;
    grid-template-columns: 2fr 1fr 120px 1fr auto;
    gap: 16px;
    align-items: center;
    border: 1px solid var(--border);
    border-radius: 20px;
    padding: 18px 20px;
}

.cart-item input {
    width: 100%;
    min-height: 42px;
    border-radius: 12px;
    border: 1px solid var(--border);
    padding: 0 12px;
}

.cart-summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 14px;
}

.checkout-layout {
    display: grid;
    grid-template-columns: 1.2fr .8fr;
    gap: 28px;
}


.form-row {
    margin-bottom: 18px;
}

.form-row label {
    display: block;
    margin-bottom: 8px;
    font-weight: 600;
}

.form-row input,
.form-row textarea {
    width: 100%;
    border: 1px solid var(--border);
    border-radius: 16px;
    min-height: 52px;
    padding: 14px 16px;
    font: inherit;
}

.checkout-summary__item,
.checkout-summary__total {
    display: flex;
    justify-content: space-between;
    gap: 16px;
}

.checkout-summary__item + .checkout-summary__item {
    margin-top: 12px;
}

.checkout-summary__total {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid var(--border);
    font-size: 20px;
}

.notice-success {
    padding: 18px 22px;
    border-radius: 18px;
    background: #eef7ee;
    border: 1px solid #d4ead5;
    color: #244c2b;
}

.site-footer {
    margin-top: 40px;
    padding: 56px 0;
    background: #f7f3ee;
    border-top: 1px solid var(--border);
}

.footer-grid {
    display: grid;
    grid-template-columns: 1.2fr .8fr 1fr;
    gap: 24px;
}

.footer-links {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-links li + li {
    margin-top: 10px;
}

@media (max-width: 1024px) {
    .hero-grid,
    .product-single,
    .checkout-layout,
    .footer-grid,
    .category-grid,
    .products-grid,
    .delivery-boxes,
    .contacts-grid {
        grid-template-columns: 1fr 1fr;
    }

    .header-nav {
        display: none;
    }

    .cart-item {
        grid-template-columns: 1fr;
    }
    .logo-text {
    font-size: 50px;

}
}

@media (max-width: 680px) {
    .hero-grid,
    .product-single,
    .checkout-layout,
    .footer-grid,
    .category-grid,
    .products-grid,
    .delivery-boxes,
    .contacts-grid {
        grid-template-columns: 1fr;
    }

    .section {
        padding: 56px 0;
    }

    .hero-actions,
    .cart-summary {
        flex-direction: column;
        align-items: stretch;
    }

    .header-inner {
        flex-wrap: wrap;
    }
}
.catalog-top-categories {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 28px 0 42px;
}

.catalog-top-category {
    display: inline-flex;
    align-items: center;
    min-height: 48px;
    padding: 0 18px;
    border-radius: 999px;
    border: 1px solid var(--border);
    background: #f8f4ef;
    font-weight: 600;
}

.catalog-subsection {
    margin-top: 36px;
}

.catalog-subsection h3 {
    margin: 0;
    font-size: 28px;
}

.product-order-form {
    margin-top: 24px;
}

.product-modifiers {
    margin-top: 28px;
}

.modifier-group + .modifier-group {
    margin-top: 22px;
}

.modifier-group__title {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 12px;
}

.modifier-group__title span {
    color: var(--muted);
    font-size: 14px;
}

.modifier-options {
    display: grid;
    gap: 10px;
}

.modifier-option {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 56px;
    padding: 14px 16px;
    border-radius: 16px;
    border: 1px solid var(--border);
    background: #faf7f3;
    cursor: pointer;
}

.modifier-option input {
    width: 18px;
    height: 18px;
    margin: 0;
}

.modifier-option span {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
}

.product-order-actions {
    display: flex;
    align-items: end;
    gap: 16px;
    margin-top: 28px;
}

.qty-box {
    min-width: 140px;
}

.qty-box label {
    display: block;
    margin-bottom: 8px;
    font-weight: 600;
}

.qty-box input {
    width: 100%;
    min-height: 52px;
    border-radius: 16px;
    border: 1px solid var(--border);
    padding: 0 16px;
}

.cart-item__modifiers {
    margin-top: 8px;
    color: var(--muted);
    font-size: 14px;
}

.checkout-summary__item-wrap + .checkout-summary__item-wrap {
    margin-top: 16px;
}

.checkout-summary__mods {
    margin-top: 8px;
    padding-left: 4px;
    color: var(--muted);
    font-size: 14px;
}

@media (max-width: 680px) {
    .product-order-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .qty-box {
        min-width: 100%;
    }
}
.product-card {
    position: relative;
}

.product-card__quick-add {
    position: absolute;
    top: 16px;
    right: 16px;
    z-index: 3;
    width: 42px;
    height: 42px;
    border-radius: 999px;
    background: var(--graphite);
    color: var(--white);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    line-height: 1;
    box-shadow: var(--shadow);
}

.product-card__desc {
    margin: 0 0 14px;
    color: var(--muted);
    font-size: 14px;
    line-height: 1.45;
}

.catalog-tabs__nav {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 28px 0 34px;
}

.catalog-tab-btn {
    min-height: 48px;
    padding: 0 18px;
    border-radius: 999px;
    border: 1px solid var(--border);
    background: #f8f4ef;
    color: var(--graphite);
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}

.catalog-tab-btn.is-active {
    background: var(--graphite);
    color: var(--white);
    border-color: var(--graphite);
}

.catalog-tab-pane {
    display: none;
}

.catalog-tab-pane.is-active {
    display: block;
}

.product-single {
    grid-template-columns: .9fr 1fr .75fr;
    align-items: start;
}

.product-single__sticky {
    position: sticky;
    top: 110px;
    align-self: start;
}

.cart-item--stack {
    display: block;
}

.cart-item__head,
.cart-item__main {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: center;
}

.cart-item__body {
    margin-top: 16px;
}

.cart-item__editor {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid var(--border);
}

.modifier-group--cart + .modifier-group--cart {
    margin-top: 18px;
}

@media (max-width: 1024px) {
    .product-single {
        grid-template-columns: 1fr;
    }

    .product-single__sticky {
        position: static;
        top: auto;
    }
}
.home-categories-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.home-category-card {
    min-height: 190px;
    padding: 24px;
    border-radius: 28px;
    border: 1px solid var(--border);
    background: linear-gradient(180deg, #fcfaf7, #f6f1ea);
    box-shadow: var(--shadow);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition: transform .2s ease, box-shadow .2s ease;
}

.home-category-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 36px rgba(0,0,0,.08);
}

.home-category-card__icon {
    width: 56px;
    height: 56px;
    color: var(--graphite);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.home-category-card__icon svg {
    width: 100%;
    height: 100%;
    display: block;
}

.home-category-card__title {
    font-size: 24px;
    font-weight: 700;
    color: var(--graphite);
}

.home-promo-grid {
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    gap: 20px;
}

.promo-banner--large {
    min-height: 320px;
    align-items: flex-start;
    justify-content: space-between;
    flex-direction: column;
}

.promo-banner--large h3 {
    margin: 0 0 10px;
    font-size: 42px;
    line-height: 1.05;
}

.promo-side-stack {
    display: grid;
    gap: 20px;
}

.promo-mini-card {
    min-height: 150px;
    border-radius: 26px;
    padding: 28px;
    background: rgba(255,255,255,.07);
    border: 1px solid rgba(255,255,255,.12);
}

.promo-mini-card strong {
    display: block;
    margin-bottom: 10px;
    font-size: 22px;
}

.home-about {
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    gap: 28px;
    align-items: start;
}

.home-about__lead,
.home-delivery__lead {
    font-size: 22px;
    line-height: 1.4;
    color: var(--graphite);
    margin: 0 0 18px;
}

.home-about__cards {
    display: grid;
    gap: 18px;
}

.about-feature-card {
    border-radius: 26px;
    padding: 28px;
    background: #f8f4ee;
    border: 1px solid var(--border);
    box-shadow: var(--shadow);
}

.about-feature-card span {
    display: inline-flex;
    margin-bottom: 12px;
    color: var(--accent-dark);
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.about-feature-card strong {
    display: block;
    margin-bottom: 10px;
    font-size: 24px;
    color: var(--graphite);
}

.home-delivery-section {
    background:
        radial-gradient(circle at top right, rgba(201,178,139,.16), transparent 26%),
        linear-gradient(to bottom, #fff, #fbf8f4);
}

.home-delivery {
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    gap: 28px;
    align-items: start;
}

.home-delivery__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
}

.delivery-detail-card {
    min-height: 180px;
    border-radius: 24px;
    padding: 24px;
    background: var(--white);
    border: 1px solid var(--border);
    box-shadow: var(--shadow);
}

.delivery-detail-card strong {
    display: block;
    margin-bottom: 12px;
    font-size: 22px;
}

.home-contacts-section {
    background: var(--graphite);
    color: var(--white);
}

.home-contacts {
    display: grid;
    grid-template-columns: .95fr 1.05fr;
    gap: 24px;
    align-items: stretch;
}

.home-contacts__panel,
.contacts-visual-card {
    min-height: 100%;
    border-radius: 30px;
    padding: 32px;
}

.home-contacts__panel {
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.08);
}

.contact-line + .contact-line {
    margin-top: 18px;
}

.contact-line span {
    display: block;
    margin-bottom: 6px;
    font-size: 13px;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: rgba(255,255,255,.6);
}

.contact-line a,
.contact-line div {
    font-size: 20px;
    line-height: 1.45;
}

.home-contacts__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 24px;
}

.contacts-visual-card {
    background: linear-gradient(180deg, rgba(201,178,139,.18), rgba(255,255,255,.04));
    border: 1px solid rgba(255,255,255,.08);
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

.contacts-visual-card span {
    display: inline-flex;
    margin-bottom: 10px;
    color: var(--accent);
    text-transform: uppercase;
    letter-spacing: .12em;
    font-size: 12px;
}

.contacts-visual-card strong {
    display: block;
    font-size: 34px;
    line-height: 1.1;
    margin-bottom: 14px;
}



:root {
    --cup-bg: #f7f3ee;
    --cup-card: #ffffff;
    --cup-text: #2a241f;
    --cup-muted: #8d8379;
    --cup-line: #e7ded4;
    --cup-accent: #d7b89a;
    --cup-accent-dark: #b8906a;
    --cup-shadow: 0 12px 36px rgba(31, 24, 19, 0.08);
    --cup-radius: 24px;
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 48px;
    padding: 0 20px;
    border-radius: 16px;
    border: 1px solid transparent;
    text-decoration: none;
    cursor: pointer;
    transition: 0.2s ease;
}

.btn:hover {
    transform: translateY(-1px);
}

.btn-primary {
    background: var(--cup-text);
    color: #fff;
}

.btn-secondary {
    background: transparent;
    border-color: var(--cup-line);
    color: var(--cup-text);
}

.btn-small {
    min-height: 44px;
    padding: 0 16px;
}

.btn-large {
    min-height: 54px;
    padding: 0 28px;
}

.btn-full {
    width: 100%;
}

.products-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
}

.product-card {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
    background: var(--cup-card);
    border: 1px solid var(--cup-line);
    border-radius: var(--cup-radius);
    box-shadow: var(--cup-shadow);
    overflow: hidden;
}

.product-card__quick-add-form {
    position: absolute;
    top: 16px;
    right: 16px;
    z-index: 3;
}

.product-card__quick-add {
    width: 42px;
    height: 42px;
    border: 0;
    border-radius: 50%;
    background: #fff;
    color: var(--cup-text);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
}

.product-card__image {
    display: block;
    aspect-ratio: 1 / 1;
    background: #f4efe9;
}


.product-card__content {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    padding: 18px;
}

.product-card__title {
    margin: 0 0 8px;
    font-size: 20px;
    line-height: 1.15;
}

.product-card__title a {
    text-decoration: none;
    color: var(--cup-text);
}

.product-meta {
    color: var(--cup-muted);
    margin-bottom: 10px;
    font-size: 14px;
}

.product-card__desc {
    color: var(--cup-muted);
    font-size: 14px;
    line-height: 1.45;
    margin-bottom: 18px;
}

.product-card__bottom {
    margin-top: auto;
    display: grid;
    gap: 14px;
}

.product-price {
    display: flex;
    align-items: baseline;
    gap: 10px;
}

.current-price {
    font-size: 28px;
    font-weight: 700;
    color: var(--cup-text);
}

.old-price {
    font-size: 18px;
    color: var(--cup-muted);
    text-decoration: line-through;
}

.product-view {
    display: grid;
    grid-template-columns: minmax(320px, 520px) minmax(360px, 1fr);
    gap: 40px;
    align-items: start;
    background: var(--cup-card);
    border: 1px solid var(--cup-line);
    border-radius: 32px;
    box-shadow: var(--cup-shadow);
    padding: 32px;
}

.product-view__media {
    background: #f4efe9;
    border-radius: 28px;
    overflow: hidden;
    min-height: 420px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.product-view__media img {
    width: 100%;
    height: 100%;
    max-height: 520px;
    object-fit: contain;
    display: block;
}

.product-view__panel {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.product-view__head h1 {
    margin: 0;
    font-size: 48px;
    line-height: 1;
    color: var(--cup-text);
}

.product-view__weight {
    margin-top: 10px;
    color: var(--cup-muted);
    font-size: 22px;
}

.product-view__price-row {
    display: grid;
    gap: 24px;
}

.product-buy-box {
    display: grid;
    gap: 24px;
}

.qty-stepper {
    display: inline-grid;
    grid-template-columns: 52px 84px 52px;
    display: inline-flex;
    align-items: center;
    gap: 0;
    position: relative;
    z-index: 1;
}

.qty-stepper__btn {
    height: 52px;
    border: 0;
    background: #f5f1eb;
    font-size: 28px;
    cursor: pointer;
    color: var(--cup-text);
    position: relative;
    z-index: 2;
    pointer-events: auto;
    cursor: pointer;
}

.qty-stepper__input {
    height: 52px;
    border: 0;
    text-align: center;
    font-size: 22px;
    background: #fff;
    width: 84px;
    position: relative;
    z-index: 1;

    
}

.product-view__description {
    color: var(--cup-text);
    line-height: 1.6;
    
}

.product-view__modifiers {
    display: grid;
    gap: 20px;
    border-top: 1px solid var(--cup-line);
    padding-top: 24px;
}

.modifier-block {
    display: grid;
    gap: 14px;
}

.modifier-block__head {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: baseline;
}

.modifier-block__head strong {
    font-size: 22px;
}

.modifier-block__head span {
    color: var(--cup-muted);
    font-size: 14px;
}

.modifier-list {
    display: grid;
    gap: 10px;
}

.modifier-item {
    display: grid;
    grid-template-columns: 24px 1fr auto;
    gap: 14px;
    align-items: center;
    padding: 14px 16px;
    border: 1px solid var(--cup-line);
    border-radius: 16px;
    background: #fff;
}

.modifier-item input {
    width: 18px;
    height: 18px;
}

.cart-page .page-head {
    margin-bottom: 28px;
}

.cart-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 24px;
    align-items: start;
}

.cart-list {
    display: grid;
    gap: 18px;
}

.cart-item {
    display: grid;
    grid-template-columns: 132px minmax(0, 1fr);
    gap: 18px;
    background: var(--cup-card);
    border: 1px solid var(--cup-line);
    border-radius: 24px;
    padding: 18px;
    box-shadow: var(--cup-shadow);
}

.cart-item__image {
    display: block;
    background: #f4efe9;
    border-radius: 20px;
    overflow: hidden;
    aspect-ratio: 1 / 1;
}

.cart-item__image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

.cart-item__content {
    display: grid;
    gap: 14px;
}

.cart-item__top {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: start;
}

.cart-item__title {
    margin: 0;
    font-size: 24px;
    line-height: 1.1;
}

.cart-item__title a {
    text-decoration: none;
    color: var(--cup-text);
}

.cart-item__remove {
    border: 0;
    background: transparent;
    color: #a76d5d;
    cursor: pointer;
    font-size: 14px;
}

.cart-item__modifiers {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.cart-modifier-chip {
    display: inline-flex;
    gap: 6px;
    align-items: center;
    min-height: 34px;
    padding: 0 12px;
    border-radius: 999px;
    background: #f5f1eb;
    color: var(--cup-text);
    font-size: 14px;
}

.cart-item__bottom {
    display: grid;
    grid-template-columns: 1fr 90px 1fr;
    gap: 16px;
    align-items: center;
}

.cart-item__qty input {
    width: 100%;
    height: 46px;
    border: 1px solid var(--cup-line);
    border-radius: 14px;
    text-align: center;
    font-size: 18px;
}

.cart-item__price,
.cart-item__sum {
    font-size: 22px;
    font-weight: 700;
    color: var(--cup-text);
}

.cart-item__sum {
    text-align: right;
}

.cart-summary {
    position: sticky;
    top: 24px;
    display: grid;
    gap: 18px;
    background: var(--cup-card);
    border: 1px solid var(--cup-line);
    border-radius: 24px;
    box-shadow: var(--cup-shadow);
    padding: 24px;
}

.cart-summary h3 {
    margin: 0;
    font-size: 26px;
}

.cart-total {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: center;
    font-size: 18px;
}

.cart-total strong {
    font-size: 28px;
}

@media (max-width: 1100px) {
    .products-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .product-view,
    .cart-layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 780px) {
    .products-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .product-view {
        padding: 18px;
        gap: 24px;
    }

    .product-view__head h1 {
        font-size: 32px;
    }

    .cart-item {
        grid-template-columns: 1fr;
    }

    .cart-item__bottom {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 560px) {
    .products-grid {
        grid-template-columns: 1fr;
    }
}
.product-buy-box__top {
    display: flex;
    align-items: stretch;
    gap: 16px;
    flex-wrap: nowrap;
}

.product-buy-box__top .qty-stepper {
    flex: 0 0 auto;
}

.product-buy-box__top .btn {
    flex: 1 1 auto;
    min-width: 220px;
}

@media (max-width: 680px) {
    .product-buy-box__top {
        flex-direction: column;
    }

    .product-buy-box__top .btn {
        width: 100%;
        min-width: 100%;
    }
}
.modifier-accordion {
    border: 1px solid var(--cup-line);
    border-radius: 20px;
    background: #fff;
    overflow: hidden;
}

.modifier-accordion__summary {
    list-style: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    padding: 18px 20px;
    cursor: pointer;
    font-weight: 600;
}

.modifier-accordion__summary::-webkit-details-marker {
    display: none;
}

.modifier-accordion__title {
    font-size: 18px;
    color: var(--cup-text);
}

.modifier-accordion__meta {
    color: var(--cup-muted);
    font-size: 14px;
    white-space: nowrap;
}

.modifier-accordion__content {
    padding: 0 16px 16px;
    border-top: 1px solid var(--cup-line);
}

.modifier-list--scroll {
    max-height: 280px;
    overflow: auto;
}
.qty-stepper {
    display: inline-grid;
    grid-template-columns: 52px 84px 52px;
    align-items: stretch;
    border: 1px solid var(--cup-line);
    border-radius: 16px;
    overflow: hidden;
    background: #fff;
}

.qty-stepper__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 52px;
    border: 0;
    background: #f5f1eb;
    color: var(--cup-text);
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
    transition: background 0.2s ease;
}

.qty-stepper__btn:hover {
    background: #ebe4da;
}

.qty-stepper__btn:active {
    background: #e3dacd;
}

.qty-stepper__input {
    width: 84px;
    height: 52px;
    border: 0;
    outline: none;
    background: #fff;
    color: var(--cup-text);
    text-align: center;
    font-size: 20px;
    font-weight: 600;
    line-height: 52px;
    padding: 0;
    -moz-appearance: textfield;
}

.qty-stepper__input::-webkit-outer-spin-button,
.qty-stepper__input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
body.checkout-page-open,
.checkout-page {
    overflow-x: clip;
}

.checkout-page {
    padding-bottom: 24px;
}

.checkout-page .page-head {
    margin-bottom: 32px;
    max-width: 760px;
}

.checkout-page .page-head p {
    margin: 8px 0 0;
    color: var(--cup-muted);
    font-size: 16px;
}

.checkout-form {
    min-width: 0;
}

.checkout-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.65fr) minmax(320px, 420px);
    gap: 28px;
    align-items: start;
}

.checkout-main {
    min-width: 0;
    display: grid;
    gap: 20px;
}

.checkout-sidebar {
    min-width: 0;
    position: relative;
}

.checkout-card {
    background: #fff;
    border: 1px solid var(--cup-line);
    border-radius: 24px;
    padding: 28px;
    box-shadow: 0 8px 30px rgba(25, 25, 25, 0.04);
}

.checkout-card h2 {
    margin: 0 0 18px;
    font-size: 24px;
    line-height: 1.2;
    color: var(--cup-text);
}

.checkout-card--sticky {
    position: sticky;
    top: 108px;
}

.checkout-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.form-field {
    display: grid;
    gap: 8px;
    min-width: 0;
}

.form-field--full {
    grid-column: 1 / -1;
}

.form-field span {
    font-size: 14px;
    font-weight: 600;
    color: var(--cup-text);
}

.form-field input,
.form-field textarea,
.form-field select {
    width: 100%;
    min-width: 0;
    min-height: 56px;
    border: 1px solid var(--cup-line);
    border-radius: 16px;
    background: #fff;
    padding: 0 16px;
    font-size: 16px;
    color: var(--cup-text);
    outline: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
    box-sizing: border-box;
}

.form-field textarea {
    min-height: 120px;
    padding: 14px 16px;
    resize: vertical;
}

.form-field input:focus,
.form-field textarea:focus,
.form-field select:focus {
    border-color: rgba(0, 0, 0, 0.18);
    box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.04);
    background: #fff;
}

.form-field input::placeholder,
.form-field textarea::placeholder {
    color: #9b9387;
}

.checkout-radio-list {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.checkout-radio {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 56px;
    padding: 0 18px;
    border: 1px solid var(--cup-line);
    border-radius: 16px;
    background: #fff;
    cursor: pointer;
    transition: border-color 0.2s ease, background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.checkout-radio:hover {
    background: #faf7f2;
    transform: translateY(-1px);
}

.checkout-radio input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.checkout-radio span {
    font-size: 16px;
    font-weight: 600;
    color: var(--cup-text);
    text-align: center;
}

.checkout-radio:has(input:checked) {
    border-color: var(--cup-accent, #d97a2b);
    background: rgba(217, 122, 43, 0.08);
    box-shadow: 0 0 0 1px rgba(217, 122, 43, 0.12);
}

.checkout-hint {
    margin-top: 14px;
    padding: 14px 16px;
    border-radius: 16px;
    background: #f7f3ee;
    color: var(--cup-muted);
    font-size: 14px;
    line-height: 1.5;
}

.checkout-summary-list {
    display: grid;
    gap: 14px;
    margin-bottom: 20px;
}

.checkout-summary-item {
    padding-bottom: 14px;
    border-bottom: 1px solid var(--cup-line);
}

.checkout-summary-item:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.checkout-summary-item__head {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: flex-start;
    margin-bottom: 8px;
}

.checkout-summary-item__head strong {
    font-size: 16px;
    line-height: 1.35;
    color: var(--cup-text);
}

.checkout-summary-item__head span {
    white-space: nowrap;
    color: var(--cup-muted);
    font-weight: 600;
}

.checkout-summary-item__mods {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 8px;
}

.checkout-summary-item__sum {
    font-size: 16px;
    font-weight: 700;
    color: var(--cup-text);
}

.checkout-total {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding: 14px 0;
    border-top: 1px solid var(--cup-line);
    font-size: 16px;
}

.checkout-total strong {
    font-size: 18px;
    color: var(--cup-text);
}

.checkout-total--grand {
    margin-top: 4px;
    font-size: 18px;
}

.checkout-total--grand strong {
    font-size: 24px;
}

.checkout-card .btn-full + .btn-full {
    margin-top: 12px;
}

.checkout-card .btn-full {
    width: 100%;
}

.checkout-empty {
    max-width: 640px;
}

.checkout-page .cart-modifier-chip {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 0 10px;
    border-radius: 999px;
    background: #f5f1eb;
    color: var(--cup-text);
    font-size: 13px;
    font-weight: 600;
}

.checkout-page input[type="date"],
.checkout-page input[type="time"] {
    appearance: none;
    -webkit-appearance: none;
}

.checkout-page select {
    appearance: none;
    -webkit-appearance: none;
    background-image:
        linear-gradient(45deg, transparent 50%, #8d8579 50%),
        linear-gradient(135deg, #8d8579 50%, transparent 50%);
    background-position:
        calc(100% - 22px) calc(50% - 3px),
        calc(100% - 16px) calc(50% - 3px);
    background-size: 6px 6px, 6px 6px;
    background-repeat: no-repeat;
    padding-right: 42px;
}

.checkout-address-field {
    position: relative;
    z-index: 20;
}

.checkout-address-suggest {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    right: 0;
    z-index: 30;
    background: #fff;
    border: 1px solid var(--cup-line);
    border-radius: 16px;
    box-shadow: 0 12px 30px rgba(20, 20, 20, 0.08);
    padding: 8px;
    max-height: 260px;
    overflow: auto;
}

.checkout-address-suggest__item {
    width: 100%;
    border: 0;
    background: transparent;
    text-align: left;
    padding: 12px 14px;
    border-radius: 12px;
    cursor: pointer;
    color: var(--cup-text);
    font-size: 15px;
}

.checkout-address-suggest__item:hover {
    background: #f7f3ee;
}

.checkout-field-note {
    display: block;
    margin-top: 8px;
    color: var(--cup-muted);
    font-size: 13px;
    line-height: 1.4;
}

.site-footer {
    position: relative;
    z-index: 1;
    overflow: hidden;
}

@media (max-width: 1240px) {
    .checkout-layout {
        grid-template-columns: minmax(0, 1fr) 360px;
    }
}

@media (max-width: 1100px) {
    .checkout-layout {
        grid-template-columns: 1fr;
    }

    .checkout-card--sticky {
        position: static;
        top: auto;
    }
}

@media (max-width: 760px) {
    .checkout-page {
        padding-bottom: 8px;
    }

    .checkout-card {
        padding: 18px;
        border-radius: 20px;
    }

    .checkout-card h2 {
        font-size: 22px;
    }

    .checkout-grid {
        grid-template-columns: 1fr;
    }

    .form-field--full {
        grid-column: auto;
    }

    .checkout-radio-list {
        flex-direction: column;
    }

    .checkout-radio {
        width: 100%;
        justify-content: flex-start;
    }

    .checkout-summary-item__head,
    .checkout-total {
        flex-direction: column;
        align-items: flex-start;
    }
}
.checkout-success-page {
    padding-top: 40px;
    padding-bottom: 64px;
}

.checkout-success-card {
    max-width: 720px;
    margin: 0 auto;
    background: #fff;
    border: 1px solid var(--cup-line);
    border-radius: 28px;
    padding: 40px 32px;
    text-align: center;
    box-shadow: 0 12px 36px rgba(25, 25, 25, 0.06);
}

.checkout-success-icon {
    width: 72px;
    height: 72px;
    margin: 0 auto 20px;
    border-radius: 999px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 34px;
    font-weight: 700;
    background: rgba(72, 171, 102, 0.12);
}

.checkout-success-card h1 {
    margin: 0 0 14px;
    font-size: 36px;
    line-height: 1.15;
}

.checkout-success-order {
    margin: 0 0 12px;
    font-size: 18px;
    color: var(--cup-text);
}

.checkout-success-text {
    margin: 0 auto;
    max-width: 520px;
    font-size: 18px;
    line-height: 1.55;
    color: var(--cup-muted);
}

.checkout-success-actions {
    margin-top: 28px;
    display: flex;
    justify-content: center;
    gap: 12px;
    flex-wrap: wrap;
}

@media (max-width: 760px) {
    .checkout-success-card {
        padding: 28px 20px;
        border-radius: 22px;
    }

    .checkout-success-card h1 {
        font-size: 28px;
    }

    .checkout-success-text {
        font-size: 16px;
    }

    .checkout-success-actions {
        flex-direction: column;
    }

    .checkout-success-actions .btn {
        width: 100%;
    }
}
.section-divider{
height:60px;
}
.home-contacts-section {
    background: linear-gradient(to bottom, #f7f3ee 0%, #f7f3ee 100%);
    color: var(--cup-text);
}

.home-contacts {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 24px;
    align-items: stretch;
}
.home-contacts__panel,
.contacts-visual-card {
    min-height: 100%;
    border-radius: 30px;
    padding: 32px;
}

.home-contacts__panel {
    background: #fff;
    border: 1px solid var(--cup-line);
    box-shadow: var(--cup-shadow);
}

.home-contacts__panel .section-head h2 {
    color: var(--cup-text);
}

.home-contacts__lead {
    color: var(--cup-muted);
}

.contact-line + .contact-line {
    margin-top: 18px;
}

.contact-line span {
    display: block;
    margin-bottom: 6px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--cup-muted);
}

.contact-line a,
.contact-line div {
    font-size: 20px;
    line-height: 1.45;
    color: var(--cup-text);
    text-decoration: none;
    font-weight: 600;
}

.home-contacts__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 14px;
    margin-top: 24px;
}
.home-contacts__menu-link {
    display: inline-flex;
    align-items: center;
    min-height: 48px;
    color: var(--cup-text);
    text-decoration: none;
    font-weight: 700;
    line-height: 1;
}
.home-contacts__menu-link:hover {
    border-bottom-color: var(--cup-text);
}

.contacts-visual-card {
    background:
        radial-gradient(circle at top right, rgba(215,184,154,.22), transparent 36%),
        linear-gradient(135deg, #3a363b 0%, #474248 100%);
    border: 1px solid rgba(255,255,255,.08);
    box-shadow: 0 14px 34px rgba(0,0,0,.14);
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

.contacts-visual-card span {
    display: inline-flex;
    margin-bottom: 10px;
    color: #e4c298;
    text-transform: uppercase;
    letter-spacing: .12em;
    font-size: 12px;
}

.contacts-visual-card strong {
    display: block;
    font-size: 34px;
    line-height: 1.1;
    margin-bottom: 14px;
    color: #fff;
}

.contacts-visual-card p {
    color: rgba(255,255,255,.86);
}
.events-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.event-card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--cup-line);
    border-radius: 24px;
    box-shadow: var(--cup-shadow);
}

.event-card__image {
    display: block;
    aspect-ratio: 16 / 10;
    background: #f4efe9;
}

.event-card__image img,
.event-single__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.event-card__content {
    display: grid;
    gap: 16px;
    padding: 22px;
}

.event-card__title {
    margin: 0;
    font-size: 26px;
    line-height: 1.15;
}

.event-card__title a {
    color: var(--cup-text);
    text-decoration: none;
}

.event-card__excerpt {
    color: var(--cup-muted);
    line-height: 1.6;
}

.event-single {
    max-width: 960px;
    margin: 0 auto;
}

.event-single__image {
    overflow: hidden;
    border-radius: 24px;
    margin-bottom: 24px;
}

.event-single__content {
    font-size: 18px;
    line-height: 1.75;
}

.event-single__actions {
    margin-top: 28px;
}

@media (max-width: 1024px) {
    .events-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 680px) {
    .events-grid {
        grid-template-columns: 1fr;
    }
}
/* ===== Главная: адаптив и выравнивание ===== */

.hero {
    overflow: hidden;
}

.hero-grid {
    min-width: 0;
}

.hero-content,
.hero-card {
    min-width: 0;
}

.hero-card__box p,
.contacts-visual-card p,
.promo-banner p,
.promo-mini-card p,
.home-about__content p,
.home-delivery__intro p,
.delivery-detail-card p {
    overflow-wrap: anywhere;
}

.home-categories-grid {
    align-items: stretch;
}

.home-category-card {
    min-width: 0;
    min-height: 210px;
}

.home-category-card__title {
    line-height: 1.1;
}

.home-about {
    grid-template-columns: minmax(0, 1.05fr) minmax(300px, .95fr);
}

.home-about__content,
.home-about__cards {
    min-width: 0;
}

.home-delivery {
    grid-template-columns: minmax(280px, .8fr) minmax(0, 1.2fr);
}

.home-delivery__intro,
.home-delivery__grid {
    min-width: 0;
}

.home-promo-grid {
    grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr);
    align-items: stretch;
}

.promo-banner--large {
    min-height: 360px;
}

.promo-mini-card {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.home-contacts {
    grid-template-columns: minmax(320px, .9fr) minmax(0, 1.1fr);
    align-items: stretch;
}

.home-contacts__panel,
.home-contacts__visual {
    min-width: 0;
}

.home-contacts__menu-link {
    min-height: auto;
    padding-bottom: 2px;
}

.events-grid {
    align-items: stretch;
}

.event-card__content {
    height: 100%;
    align-content: start;
}

.event-card__excerpt {
    min-height: 72px;
}

/* ===== Header ===== */

.header-inner {
    min-width: 0;
}

.header-actions {
    flex-shrink: 0;
}

.header-phone {
    white-space: nowrap;
}

.header-cart {
    white-space: nowrap;
}

/* ===== Checkout ===== */

.checkout-page {
    padding-top: 8px;
}

.checkout-layout {
    grid-template-columns: minmax(0, 1.55fr) minmax(320px, 420px);
    gap: 32px;
}

.checkout-main,
.checkout-sidebar {
    min-width: 0;
}

.checkout-card {
    overflow: visible;
}

.checkout-card--sticky {
    top: 100px;
}

.checkout-summary-item__head strong {
    min-width: 0;
}

.checkout-summary-item__head span {
    flex-shrink: 0;
}

.checkout-address-suggest {
    max-width: 100%;
}

.checkout-total {
    min-width: 0;
}

.checkout-total span,
.checkout-total strong {
    min-width: 0;
}

/* ===== Tablet ===== */

@media (max-width: 1180px) {
    .hero-grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .hero-card__box {
        min-height: 280px;
    }

    .home-categories-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .home-about {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .home-delivery {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .home-promo-grid {
        grid-template-columns: 1fr;
    }

    .promo-side-stack {
        grid-template-columns: 1fr 1fr;
        display: grid;
    }

    .home-contacts {
        grid-template-columns: 1fr;
    }

    .checkout-layout {
        grid-template-columns: 1fr;
    }

    .checkout-sidebar {
        order: -1;
    }

    .checkout-card--sticky {
        position: static;
        top: auto;
    }

    .products-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

/* ===== Small tablet ===== */

@media (max-width: 900px) {
    .section {
        padding: 60px 0;
    }

    .header-inner {
        min-height: 72px;
        gap: 14px;
        flex-wrap: wrap;
    }

    .logo-text {
        font-size: 34px;
    }

    .header-phone {
        font-size: 14px;
    }

    .hero {
        padding-top: 72px;
    }

    .hero h1 {
        font-size: clamp(34px, 7vw, 52px);
    }

    .hero p {
        font-size: 16px;
    }

    .hero-actions {
        flex-wrap: wrap;
    }

    .home-delivery__grid {
        grid-template-columns: 1fr 1fr;
    }

    .promo-banner--large h3 {
        font-size: 34px;
    }

    .contacts-visual-card strong {
        font-size: 32px;
    }

    .products-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .checkout-card {
        padding: 22px;
    }

    .checkout-grid {
        grid-template-columns: 1fr;
    }

    .form-field--full {
        grid-column: auto;
    }
}

/* ===== Mobile ===== */

@media (max-width: 680px) {
    .container {
        width: min(100% - 24px, var(--container));
    }

    .section {
        padding: 48px 0;
    }

    .site-header {
        position: sticky;
    }

    .header-inner {
        min-height: 68px;
        justify-content: space-between;
        align-items: center;
    }

    .header-actions {
        width: 100%;
        justify-content: space-between;
    }

    .logo-text {
        font-size: 30px;
    }

    .hero {
        padding-top: 56px;
    }

    .hero-badge {
        margin-bottom: 14px;
        font-size: 12px;
    }

    .hero h1 {
        font-size: 36px;
        line-height: 1.04;
    }

    .hero p {
        font-size: 15px;
    }

    .hero-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .hero-actions .btn {
        width: 100%;
    }

    .hero-card__box {
        min-height: 240px;
        border-radius: 24px;
        padding: 24px;
    }

    .hero-card__box strong {
        font-size: 28px;
    }

    .home-categories-grid,
    .home-delivery__grid,
    .promo-side-stack,
    .events-grid,
    .products-grid {
        grid-template-columns: 1fr;
    }

    .home-category-card {
        min-height: 160px;
        padding: 20px;
        border-radius: 22px;
    }

    .home-category-card__title {
        font-size: 20px;
    }

    .about-feature-card,
    .delivery-detail-card,
    .promo-mini-card,
    .home-contacts__panel,
    .contacts-visual-card,
    .promo-banner {
        padding: 22px 20px;
        border-radius: 22px;
    }

    .home-about__lead,
    .home-delivery__lead {
        font-size: 18px;
    }

    .promo-banner--large {
        min-height: auto;
    }

    .promo-banner--large h3,
    .contacts-visual-card strong {
        font-size: 28px;
    }

    .promo-mini-card strong,
    .delivery-detail-card strong,
    .about-feature-card strong {
        font-size: 20px;
    }

    .contact-line a,
    .contact-line div {
        font-size: 17px;
    }

    .home-contacts__actions {
        flex-direction: column;
        align-items: stretch;
    }

    .home-contacts__actions .btn {
        width: 100%;
    }

    .home-contacts__menu-link {
        width: fit-content;
    }

    .event-card__content {
        padding: 18px;
    }

    .event-card__title {
        font-size: 22px;
    }

    .product-view {
        padding: 18px;
        gap: 20px;
        border-radius: 24px;
    }

    .product-view__media {
        min-height: 280px;
        border-radius: 20px;
    }

    .product-view__head h1 {
        font-size: 30px;
    }

    .checkout-page {
        padding-bottom: 12px;
    }

    .checkout-page .page-head {
        margin-bottom: 22px;
    }

    .checkout-card {
        padding: 18px;
        border-radius: 20px;
    }

    .checkout-card h2 {
        font-size: 22px;
        margin-bottom: 16px;
    }

    .checkout-radio-list {
        flex-direction: column;
    }

    .checkout-radio {
        width: 100%;
        justify-content: flex-start;
    }

    .checkout-summary-item__head,
    .checkout-total {
        flex-direction: row;
        align-items: flex-start;
    }

    .checkout-summary-item__head span,
    .checkout-total strong {
        margin-left: auto;
        text-align: right;
    }

    .checkout-card--sticky .btn {
        min-height: 50px;
    }
}

/* ===== Extra small ===== */

@media (max-width: 420px) {
    .hero h1 {
        font-size: 32px;
    }

    .logo-text {
        font-size: 26px;
    }

    .current-price {
        font-size: 24px;
    }

    .checkout-total--grand strong {
        font-size: 20px;
    }

    .checkout-summary-item__head {
        gap: 8px;
    }

    .checkout-summary-item__head strong {
        font-size: 15px;
    }
}
/* ===== Contacts mobile hard-fix ===== */

.home-contacts,
.home-contacts__panel,
.home-contacts__visual,
.contacts-visual-card {
    min-width: 0;
}

.contacts-visual-card {
    overflow: hidden;
}

.contacts-visual-card strong,
.contacts-visual-card p,
.contacts-visual-card span {
    overflow-wrap: anywhere;
}

@media (max-width: 900px) {
    .home-contacts {
        grid-template-columns: 1fr !important;
    }

    .home-contacts__panel,
    .home-contacts__visual {
        width: 100%;
    }

    .home-contacts__panel {
        order: 1;
    }

    .home-contacts__visual {
        order: 2;
    }

    .contacts-visual-card {
        min-height: 260px;
    }
}

@media (max-width: 680px) {
    .home-contacts-section {
        padding-top: 0;
    }

    .home-contacts {
        gap: 16px;
    }

    .home-contacts__panel,
    .contacts-visual-card {
        padding: 22px 18px;
        border-radius: 22px;
    }

    .home-contacts__panel .section-head {
        margin-bottom: 16px;
    }

    .home-contacts__panel .section-head h2 {
        font-size: 28px;
        line-height: 1.05;
    }

    .home-contacts__lead {
        margin-bottom: 18px;
        font-size: 15px;
        line-height: 1.5;
    }

    .contact-line + .contact-line {
        margin-top: 16px;
    }

    .contact-line span {
        margin-bottom: 4px;
        font-size: 11px;
    }

    .contact-line a,
    .contact-line div {
        font-size: 16px;
        line-height: 1.4;
    }

    .home-contacts__actions {
        gap: 10px;
        margin-top: 20px;
    }

    .home-contacts__actions .btn,
    .home-contacts__menu-link {
        width: 100%;
        justify-content: center;
    }

    .home-contacts__menu-link {
        min-height: 48px;
        padding: 0 18px;
        border: 1px solid var(--cup-line);
        border-radius: 16px;
        background: #fff;
    }

    .contacts-visual-card {
        min-height: auto;
        justify-content: flex-end;
    }

    .contacts-visual-card span {
        margin-bottom: 8px;
        font-size: 11px;
    }

    .contacts-visual-card strong {
        font-size: 28px;
        line-height: 1.08;
        margin-bottom: 10px;
    }

    .contacts-visual-card p {
        font-size: 15px;
        line-height: 1.55;
    }
}

@media (max-width: 420px) {
    .home-contacts__panel .section-head h2,
    .contacts-visual-card strong {
        font-size: 24px;
    }

    .contact-line a,
    .contact-line div {
        font-size: 15px;
    }
}
.event-meta-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    border-radius: 999px;
    background: rgba(255,255,255,.08);
    margin: 0 10px 10px 0;
}

.event-single__meta {
    margin: 20px 0 24px;
}

.event-card__meta,
.promo-banner__meta,
.promo-mini-card__meta {
    font-size: 14px;
    opacity: .8;
    margin-bottom: 8px;
}

.event-card__actions,
.promo-banner__actions,
.promo-mini-card__actions,
.event-single__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 18px;
}

.btn-sm {
    padding: 10px 14px;
    font-size: 14px;
}

.btn-disabled {
    opacity: .6;
    pointer-events: none;
}

.event-participants {
    margin-top: 40px;
    padding: 24px;
    border-radius: 24px;
    background: rgba(255,255,255,.05);
}

.event-participants__count {
    margin-bottom: 12px;
    font-weight: 600;
}

.event-participants__list {
    margin: 0;
    padding-left: 20px;
}

.event-signup-modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
}

.event-signup-modal__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.6);
}

.event-signup-modal__dialog {
    position: relative;
    width: min(640px, calc(100% - 32px));
    margin: 40px auto;
    background: #111;
    color: #fff;
    border-radius: 24px;
    padding: 24px;
    z-index: 2;
    max-height: calc(100vh - 80px);
    overflow-y: auto;
}

.event-signup-modal__close {
    position: absolute;
    top: 14px;
    right: 16px;
    border: 0;
    background: transparent;
    color: #fff;
    font-size: 28px;
    cursor: pointer;
}

.event-signup-modal__event-name {
    opacity: .8;
    margin-bottom: 20px;
}

.event-signup-form__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.event-signup-form__field {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.event-signup-form__field--full {
    grid-column: 1 / -1;
}

.event-signup-form__field input,
.event-signup-form__field textarea {
    width: 100%;
    border: 1px solid rgba(255,255,255,.14);
    background: rgba(255,255,255,.06);
    color: #fff;
    border-radius: 14px;
    padding: 14px 16px;
}

.event-signup-form__message {
    margin-top: 16px;
    min-height: 24px;
}

.event-signup-form__message.is-success {
    color: #7ee081;
}

.event-signup-form__message.is-error {
    color: #ff8e8e;
}

.event-signup-form__actions {
    margin-top: 18px;
}

body.event-modal-open {
    overflow: hidden;
}

@media (max-width: 767px) {
    .event-signup-form__grid {
        grid-template-columns: 1fr;
    }
}

/* =========================
   FIGMA REDESIGN
========================= */

body {
    background: #EFE7D5;
}

.site-main {
    overflow: hidden;
}

.glass-header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 9999;
    background: rgba(25, 30, 19, 0.45);
    backdrop-filter: blur(20px) saturate(180%);
    -webkit-backdrop-filter: blur(20px) saturate(180%);
    border-bottom: 1px solid rgba(255,255,255,.08);
}

.redesigned-header {
    min-height: 92px;
}

.logo-text {
    color: #F5EEDB;
    font-size: 32px;
    letter-spacing: 3px;
}

.glass-nav ul {
    display: flex;
    gap: 40px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.glass-nav a,
.header-phone {
    color: #F5EEDB;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 13px;
}

.header-cart-wrapper a {
    position: relative;
    border-radius: 999px;
    overflow: hidden;
}

.redesigned-hero {
    min-height: 100vh;
    background: #1F2418;
    position: relative;
    display: flex;
    align-items: center;
    overflow: hidden;
    padding-top: 140px;
}

.redesigned-grid {
    position: relative;
    z-index: 5;
}

.redesigned-content {
    max-width: 580px;
    margin-left: 24%;
}

.hero-subtitle {
    font-size: 180px;
    line-height: .8;
    color: rgba(245,238,219,.08);
    margin-bottom: 10px;
}

.hero-title {
    color: #F5EEDB;
    font-size: clamp(52px, 7vw, 112px);
    line-height: .9;
    letter-spacing: 2px;
    margin-bottom: 42px;
}

.redesigned-buttons {
    display: flex;
    gap: 24px;
}

.hero-btn {
    min-width: 240px;
    min-height: 72px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    letter-spacing: 2px;
    transition: .25s ease;
}

.hero-btn:hover {
    transform: translateY(-3px);
}

.hero-btn-primary {
    background: #F5EEDB;
    color: #1F2418;
}

.hero-btn-secondary {
    border: 1px solid rgba(255,255,255,.35);
    color: #F5EEDB;
    background: transparent;
}

.hero-floating {
    position: absolute;
    border-radius: 50%;
    background-image: url('../img/placeholder-product.svg');
    background-size: cover;
    background-position: center;
    filter: drop-shadow(0 40px 40px rgba(0,0,0,.25));
    opacity: .95;
}

.hero-floating-1 {
    width: 700px;
    height: 700px;
    right: -180px;
    bottom: -200px;
}

.hero-floating-2 {
    width: 320px;
    height: 320px;
    left: -120px;
    top: 220px;
}

.hero-floating-3 {
    width: 260px;
    height: 260px;
    right: 22%;
    top: 80px;
}

.hero-floating-4 {
    width: 260px;
    height: 260px;
    left: 18%;
    bottom: -60px;
}

.section-title,
.catalog-title {
    font-size: clamp(42px,4vw,72px);
    line-height: .9;
    letter-spacing: 1px;
}

.products-grid,
.catalog-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 34px 24px;
}

.product-card {
    text-align: center;
    background: transparent;
    border: none;
}

.product-card img {
    transition: transform .3s ease;
}

.product-card:hover img {
    transform: translateY(-8px) scale(1.03);
}

.product-card__title,
.product-card-title {
    font-size: 28px;
    line-height: 1;
}

.product-card__price,
.product-price {
    font-size: 24px;
}

.product-card button,
.product-card .button,
.product-add-btn {
    border-radius: 999px !important;
    background: #1F2418 !important;
    color: #F5EEDB !important;
    min-height: 54px;
}

@media (max-width: 1200px) {
    .products-grid,
    .catalog-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .redesigned-content {
        margin-left: 12%;
    }
}

@media (max-width: 992px) {
    .glass-nav {
        display: none;
    }

    .products-grid,
    .catalog-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .redesigned-content {
        margin-left: 0;
    }
}

@media (max-width: 768px) {
    .redesigned-hero {
        padding-top: 160px;
        min-height: auto;
        padding-bottom: 120px;
    }

    .hero-subtitle {
        font-size: 110px;
    }

    .redesigned-buttons {
        flex-direction: column;
    }

    .hero-btn {
        width: 100%;
    }

    .products-grid,
    .catalog-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .hero-floating-1 {
        width: 420px;
        height: 420px;
    }
}

@media (max-width: 540px) {
    .products-grid,
    .catalog-grid {
        grid-template-columns: 1fr;
    }

    .hero-title {
        font-size: 42px;
    }

    .header-phone {
        display: none;
    }
}

/* =========================
   Homepage exact layout from supplied mockup
   Frontend only: all rules are scoped to the redesigned home templates.
========================= */
:root {
    --figma-cream: #f4ecd7;
    --figma-dark: #2a2c1c;
    --figma-dark-2: #1f2418;
    --figma-line: rgba(42, 44, 28, .28);
    --figma-grey: #d9d9d9;
}

.figma-home-main {
    background: var(--figma-cream);
    color: var(--figma-dark);
    overflow: hidden;
    font-family: 'LosAngelesDeco', 'Times New Roman', serif;
    letter-spacing: .01em;
}

.figma-home-main a,
.figma-home-main button {
    font-family: inherit;
}

.figma-home-container {
    width: min(calc(100% - 136px), 1304px);
    margin: 0 auto;
}

.figma-box-container {
    width: min(calc(100% - 212px), 1228px);
    margin: 0 auto;
}

.figma-promo-container {
    width: min(calc(100% - 188px), 1252px);
    margin: 0 auto;
}

.figma-home-header.glass-header {
    position: absolute;
    top: 119px;
    left: 0;
    width: 100%;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    z-index: 20;
}

.figma-home-header .redesigned-header {
    min-height: 0;
    height: auto;
    width: min(calc(100% - 136px), 1304px);
    padding: 0;
    align-items: flex-start;
}

.figma-home-header .glass-nav,
.figma-home-header .redesigned-actions {
    display: none !important;
}

.figma-home-header .logo-link {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
}

.figma-home-header .logo-text {
    color: var(--figma-cream) !important;
    font-size: 20px !important;
    line-height: 1;
    letter-spacing: 1px;
    font-weight: 400;
}

.figma-home-header .custom-logo-link,
.figma-home-header .custom-logo {
    display: block;
    width: auto;
    max-width: 62px;
    max-height: 34px;
    object-fit: contain;
}

.figma-home-hero.redesigned-hero {
    min-height: 0;
    height: 814px;
    margin-top: 119px;
    padding: 0;
    background: var(--figma-dark);
    position: relative;
    display: block;
    overflow: hidden;
}

.figma-hero-food {
    position: absolute;
    z-index: 2;
    background-image: var(--figma-pizza-image);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    border-radius: 50%;
    filter: drop-shadow(0 13px 15px rgba(0, 0, 0, .14));
    pointer-events: none;
}

.figma-hero-food--left {
    width: 350px;
    height: 350px;
    left: -138px;
    top: 166px;
}

.figma-hero-food--top {
    width: 145px;
    height: 145px;
    right: 344px;
    top: 3px;
}

.figma-hero-food--center {
    width: 250px;
    height: 250px;
    left: 632px;
    top: 180px;
}

.figma-hero-food--right {
    width: 596px;
    height: 596px;
    right: -77px;
    top: 340px;
}

.figma-hero-food--bottom {
    width: 270px;
    height: 270px;
    left: 231px;
    top: 609px;
}

.figma-hero-actions {
    position: absolute;
    z-index: 5;
    top: 535px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 27px;
}

.figma-hero-btn {
    width: 210px;
    height: 41px;
    min-height: 0;
    padding: 0;
    border-radius: 11px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-transform: uppercase;
    font-size: 12px;
    font-weight: 400;
    line-height: 1;
    letter-spacing: .03em;
    text-decoration: none;
}

.figma-hero-btn--primary {
    background: var(--figma-cream);
    color: var(--figma-dark);
    border: 1px solid var(--figma-cream);
}

.figma-hero-btn--secondary {
    background: transparent;
    color: var(--figma-cream);
    border: 1px solid rgba(244, 236, 215, .44);
}

.figma-top-cards {
    background: var(--figma-cream);
    padding: 42px 0 151px;
}

.figma-top-cards__grid,
.figma-promotions__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.figma-top-cards__grid {
    gap: 76px;
}

.figma-empty-card {
    display: block;
    height: 333px;
    border: 1px solid var(--figma-line);
    background: transparent;
}

.figma-home-menu {
    background: var(--figma-cream);
    padding: 0 0 15px;
}

.figma-menu-title,
.figma-promotions__title,
.figma-about__title {
    margin: 0;
    color: var(--figma-dark);
    font-size: 32px;
    line-height: 1;
    font-weight: 400;
    text-transform: uppercase;
}

.figma-menu-title {
    margin-bottom: 18px;
}

.figma-menu-category {
    margin: 0 0 48px;
}

.figma-menu-category--drink {
    margin-bottom: 52px;
}

.figma-menu-label {
    min-width: 190px;
    height: 44px;
    padding: 0 29px 0 69px;
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    background: var(--figma-dark);
    color: var(--figma-cream);
    text-transform: uppercase;
    font-size: 12px;
    line-height: 1;
    font-weight: 400;
    letter-spacing: .03em;
}

.figma-product-grid {
    width: min(calc(100% - 160px), 1280px);
    margin: 24px auto 0;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    column-gap: 40px;
    row-gap: 45px;
    align-items: start;
}

.figma-product-card {
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    color: var(--figma-dark);
}

.figma-product-card__image {
    width: 214px;
    height: 214px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 12px;
    text-decoration: none;
}

.figma-product-card__image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

.figma-product-card__title {
    width: 100%;
    margin: 0 0 7px;
    color: var(--figma-dark);
    font-size: 29px;
    line-height: .86;
    font-weight: 400;
}

.figma-product-card__title a {
    color: inherit;
    text-decoration: none;
}

.figma-product-card__desc {
    width: 172px;
    min-height: 50px;
    margin: 0 auto 8px;
    color: var(--figma-dark);
    font-size: 10px;
    line-height: 1.38;
    font-weight: 400;
    text-transform: uppercase;
    overflow: hidden;
}

.figma-product-card__desc--empty {
    min-height: 10px;
    margin-bottom: 13px;
}

.figma-product-card__price-form {
    width: 100%;
    display: flex;
    justify-content: center;
    margin: 0;
}

.figma-product-card__price {
    width: 221px;
    height: 40px;
    min-height: 0;
    padding: 0;
    border: 0;
    border-radius: 12px;
    background: var(--figma-dark);
    color: var(--figma-cream);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    line-height: 1;
    font-weight: 400;
    text-transform: lowercase;
    text-decoration: none;
    cursor: pointer;
}

.figma-product-card--drink .figma-product-card__image {
    width: 150px;
    height: 174px;
    margin-bottom: 14px;
}

.figma-product-card--drink .figma-product-card__title {
    font-size: 28px;
    line-height: 1;
    margin-bottom: 20px;
}

.figma-product-card--drink .figma-product-card__desc {
    display: none;
}

.figma-product-card--drink .figma-product-card__price {
    width: 221px;
}

.figma-promotions {
    background: var(--figma-cream);
    padding: 12px 0 87px;
}

.figma-promotions__title {
    margin-bottom: 29px;
}

.figma-promotions__grid {
    gap: 70px;
}

.figma-empty-card--promo {
    height: 413px;
}

.figma-about {
    background: var(--figma-cream);
    padding: 0;
}

.figma-about__title {
    margin-bottom: 56px;
}

.figma-about__video {
    height: 282px;
    width: 100%;
    background: var(--figma-grey);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #1f1f1f;
    text-transform: uppercase;
    font-size: 28px;
    line-height: 1;
    font-weight: 400;
}

.figma-contact-scene {
    height: 776px;
    background: var(--figma-cream);
    position: relative;
    overflow: hidden;
}

.figma-map-card {
    position: absolute;
    left: 110px;
    top: 176px;
    width: 480px;
    height: 320px;
    background: var(--figma-grey);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--figma-dark);
    text-transform: uppercase;
    font-size: 22px;
    line-height: 1;
}

.figma-contact-food {
    position: absolute;
    z-index: 2;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    pointer-events: none;
}

.figma-contact-food--coffee {
    left: 766px;
    top: 132px;
    width: 332px;
    height: 360px;
    background-image: var(--figma-contact-coffee);
}

.figma-contact-food--pizza {
    left: 1014px;
    top: 256px;
    width: 220px;
    height: 220px;
    background-image: var(--figma-contact-pizza);
}

.figma-contact-ribbon {
    position: absolute;
    z-index: 8;
    top: 464px;
    left: -42px;
    right: -42px;
    height: 70px;
    padding: 0 110px;
    background: var(--figma-dark);
    color: var(--figma-cream);
    display: grid;
    grid-template-columns: 1fr 1fr auto;
    align-items: center;
    gap: 64px;
    transform: rotate(-2.35deg);
    transform-origin: center;
    font-size: 16px;
    line-height: 1;
    text-transform: uppercase;
}

.figma-contact-ribbon a {
    color: inherit;
    text-decoration: none;
    white-space: nowrap;
}

.figma-leaf {
    position: absolute;
    z-index: 3;
    width: 34px;
    height: 18px;
    border-radius: 50% 4px 50% 4px;
    background: #6c8359;
    opacity: .9;
    filter: blur(.1px);
    transform: rotate(28deg);
    pointer-events: none;
}

.figma-leaf--1 { left: 555px; top: 112px; width: 52px; height: 24px; transform: rotate(28deg); }
.figma-leaf--2 { left: 684px; top: 168px; width: 29px; height: 45px; transform: rotate(-16deg); }
.figma-leaf--3 { left: 797px; top: 94px; width: 23px; height: 36px; transform: rotate(-20deg); }
.figma-leaf--4 { left: 981px; top: 86px; width: 35px; height: 20px; transform: rotate(38deg); }
.figma-leaf--5 { right: 165px; top: 135px; width: 38px; height: 20px; transform: rotate(-42deg); }
.figma-leaf--6 { left: 620px; top: 294px; width: 61px; height: 31px; transform: rotate(-42deg); }
.figma-leaf--7 { left: 668px; top: 420px; width: 34px; height: 19px; transform: rotate(26deg); }
.figma-leaf--8 { left: 934px; top: 405px; width: 28px; height: 16px; transform: rotate(53deg); }
.figma-leaf--9 { left: 1083px; top: 416px; width: 40px; height: 20px; transform: rotate(-24deg); }
.figma-leaf--10 { left: 1214px; top: 383px; width: 30px; height: 16px; transform: rotate(24deg); }
.figma-leaf--11 { left: 710px; top: 516px; width: 26px; height: 14px; transform: rotate(-30deg); }
.figma-leaf--12 { left: 625px; top: 548px; width: 34px; height: 18px; transform: rotate(36deg); }

.figma-site-footer {
    height: 430px;
    margin: 0;
    padding: 0;
    background: var(--figma-dark);
    color: var(--figma-cream);
    position: relative;
    overflow: hidden;
    font-family: 'LosAngelesDeco', 'Times New Roman', serif;
}

.figma-site-footer__watermark {
    position: absolute;
    left: 358px;
    top: 6px;
    color: rgba(244, 236, 215, .055);
    font-size: 318px;
    line-height: .82;
    font-weight: 400;
    text-transform: uppercase;
    white-space: nowrap;
}

.figma-site-footer__contacts {
    position: absolute;
    left: 68px;
    bottom: 53px;
    color: var(--figma-cream);
    font-size: 17px;
    line-height: 1.35;
    font-weight: 400;
}

.figma-site-footer__contacts a {
    color: inherit;
    text-decoration: none;
}

@media (max-width: 1180px) {
    .figma-home-container,
    .figma-box-container,
    .figma-promo-container,
    .figma-product-grid,
    .figma-home-header .redesigned-header {
        width: min(calc(100% - 48px), 1120px);
    }

    .figma-top-cards__grid,
    .figma-promotions__grid {
        gap: 32px;
    }

    .figma-product-grid {
        column-gap: 22px;
    }

    .figma-hero-food--center { left: 46%; }
    .figma-hero-food--right { right: -210px; }
    .figma-contact-ribbon { padding: 0 54px; }
}

@media (max-width: 900px) {
    .figma-home-hero.redesigned-hero {
        margin-top: 80px;
        height: 620px;
    }

    .figma-home-header.glass-header {
        top: 80px;
    }

    .figma-hero-actions {
        top: 392px;
        gap: 14px;
    }

    .figma-hero-btn {
        width: 174px;
    }

    .figma-hero-food--left { width: 250px; height: 250px; left: -98px; top: 120px; }
    .figma-hero-food--top { width: 108px; height: 108px; right: 180px; top: 8px; }
    .figma-hero-food--center { width: 190px; height: 190px; left: 44%; top: 140px; }
    .figma-hero-food--right { width: 430px; height: 430px; right: -140px; top: 250px; }
    .figma-hero-food--bottom { width: 210px; height: 210px; left: 16%; top: 470px; }

    .figma-top-cards__grid,
    .figma-promotions__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .figma-product-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .figma-contact-scene {
        height: 660px;
    }

    .figma-map-card {
        left: 24px;
        width: 42vw;
    }

    .figma-contact-food--coffee { left: 48%; }
    .figma-contact-food--pizza { left: 68%; }
    .figma-contact-ribbon { top: 430px; gap: 24px; font-size: 13px; }
}

@media (max-width: 680px) {
    .figma-home-container,
    .figma-box-container,
    .figma-promo-container,
    .figma-product-grid,
    .figma-home-header .redesigned-header {
        width: calc(100% - 28px);
    }

    .figma-product-grid,
    .figma-top-cards__grid,
    .figma-promotions__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 26px 18px;
    }

    .figma-empty-card {
        height: 230px;
    }

    .figma-empty-card--promo {
        height: 260px;
    }

    .figma-product-card__image { width: 150px; height: 150px; }
    .figma-product-card__title { font-size: 22px; }
    .figma-product-card__desc { width: 140px; min-height: 44px; font-size: 9px; }
    .figma-product-card__price { width: 150px; height: 34px; }
    .figma-product-card--drink .figma-product-card__image { width: 110px; height: 130px; }

    .figma-menu-label { min-width: 150px; padding-left: 24px; }

    .figma-contact-ribbon {
        grid-template-columns: 1fr;
        height: auto;
        min-height: 96px;
        padding: 14px 36px;
        gap: 10px;
    }

    .figma-site-footer__watermark {
        left: 80px;
        font-size: 190px;
    }
}

/* final vertical tuning for the supplied 1440px frame */
.figma-menu-title {
    margin-bottom: 27px;
}

.figma-menu-category {
    margin-bottom: 63px;
}

.figma-menu-category--drink {
    margin-bottom: 80px;
}

.figma-home-menu .figma-menu-category:last-of-type {
    margin-bottom: 38px;
}


/* =========================
   Round 2 client corrections
   - real glass header
   - Kelly Slab everywhere
   - hero headline from desktop reference
   - no beige gap above hero
   - home menu uses synced SBIS/WP products only
========================= */
:root {
    --site-font: 'Kelly Slab', 'Arial Narrow', Arial, sans-serif;
    --figma-cream: #f4ecd7;
    --figma-dark: #202619;
    --figma-dark-soft: rgba(32, 38, 25, .58);
}

html,
body,
button,
input,
select,
textarea,
a {
    font-family: var(--site-font) !important;
}

body {
    font-size: 18px;
}

p,
li,
.form-field input,
.form-field textarea,
.form-field select,
.form-row input,
.form-row textarea {
    font-size: 18px;
}

.site-main:not(.figma-home-main) {
    padding-top: 118px;
}

.glass-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 9999;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    pointer-events: none;
}

body.admin-bar .glass-header {
    top: 32px;
}

.glass-header .redesigned-header {
    pointer-events: auto;
    width: min(calc(100% - 48px), 1520px);
    min-height: 78px;
    margin: 18px auto 0;
    padding: 0 28px;
    border: 1px solid rgba(244, 236, 215, .24);
    border-radius: 30px;
    background:
        linear-gradient(135deg, rgba(244, 236, 215, .11), rgba(244, 236, 215, .025)),
        rgba(32, 38, 25, .58);
    backdrop-filter: blur(24px) saturate(175%);
    -webkit-backdrop-filter: blur(24px) saturate(175%);
    box-shadow:
        0 24px 65px rgba(0, 0, 0, .22),
        inset 0 1px 0 rgba(255, 255, 255, .14),
        inset 0 -1px 0 rgba(0, 0, 0, .12);
}

.figma-home-header.glass-header {
    position: fixed !important;
    top: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    z-index: 9999;
}

body.admin-bar .figma-home-header.glass-header {
    top: 32px !important;
}

.figma-home-header .redesigned-header {
    width: min(calc(100% - 48px), 1520px) !important;
    min-height: 78px !important;
    margin: 18px auto 0 !important;
    padding: 0 28px !important;
    align-items: center !important;
}

.figma-home-header .glass-nav,
.figma-home-header .redesigned-actions {
    display: flex !important;
}

.figma-home-header .glass-nav ul {
    display: flex !important;
    align-items: center;
    gap: clamp(18px, 2.45vw, 42px);
}

.logo-text,
.figma-home-header .logo-text {
    color: var(--figma-cream) !important;
    font-size: 36px !important;
    line-height: 1;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.glass-nav a,
.header-phone,
.header-cart {
    color: var(--figma-cream) !important;
    font-size: 17px !important;
    line-height: 1;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.glass-nav a {
    position: relative;
    opacity: .92;
}

.glass-nav a::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: -8px;
    height: 1px;
    background: currentColor;
    transform: scaleX(0);
    transform-origin: center;
    transition: transform .22s ease;
}

.glass-nav a:hover::after {
    transform: scaleX(1);
}

.header-cart {
    min-height: 44px;
    padding: 0 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(244, 236, 215, .35);
    background: rgba(244, 236, 215, .12) !important;
    border-radius: 999px;
}

.header-cart span {
    margin-left: 6px;
}

.figma-home-main {
    font-family: var(--site-font) !important;
}

.figma-home-hero.redesigned-hero {
    height: 100vh;
    min-height: 760px;
    margin-top: 0 !important;
    padding: 0 !important;
    background: var(--figma-dark);
    overflow: hidden;
}

.figma-hero-heading {
    position: absolute;
    z-index: 5;
    left: clamp(460px, 37vw, 690px);
    top: clamp(185px, 23vh, 270px);
    width: min(62vw, 1040px);
    margin: 0;
    color: var(--figma-cream);
    font-family: var(--site-font) !important;
    font-size: clamp(88px, 7.35vw, 148px);
    font-weight: 400;
    line-height: .96;
    letter-spacing: .035em;
    text-transform: uppercase;
    text-wrap: balance;
    pointer-events: none;
}

.figma-hero-heading span {
    display: block;
}

.figma-hero-actions {
    top: auto !important;
    left: clamp(460px, 36.2vw, 660px) !important;
    bottom: clamp(112px, 15vh, 174px) !important;
    transform: none !important;
    gap: clamp(24px, 2.65vw, 50px) !important;
}

.figma-hero-btn {
    width: clamp(300px, 23vw, 440px) !important;
    height: clamp(68px, 7.2vh, 86px) !important;
    border-radius: 28px !important;
    font-size: clamp(24px, 1.75vw, 34px) !important;
    letter-spacing: .04em;
}

.figma-hero-btn--primary {
    background: var(--figma-cream) !important;
    border-color: var(--figma-cream) !important;
    color: var(--figma-dark) !important;
}

.figma-hero-btn--secondary {
    background: rgba(32, 38, 25, .16) !important;
    border: 2px solid rgba(244, 236, 215, .82) !important;
    color: var(--figma-cream) !important;
}

.figma-hero-food--left {
    width: clamp(560px, 45vw, 860px) !important;
    height: clamp(560px, 45vw, 860px) !important;
    left: clamp(-350px, -13vw, -170px) !important;
    top: clamp(70px, 9vh, 112px) !important;
}

.figma-hero-food--top,
.figma-hero-food--center {
    display: none !important;
}

.figma-hero-food--right {
    width: clamp(400px, 32.5vw, 620px) !important;
    height: clamp(400px, 32.5vw, 620px) !important;
    right: clamp(42px, 7vw, 138px) !important;
    top: clamp(96px, 10vh, 145px) !important;
}

.figma-hero-food--bottom {
    width: clamp(390px, 32vw, 610px) !important;
    height: clamp(390px, 32vw, 610px) !important;
    left: clamp(210px, 25.5vw, 500px) !important;
    top: auto !important;
    bottom: clamp(-360px, -25vh, -210px) !important;
}

.figma-menu-title,
.figma-promotions__title,
.figma-about__title,
.section-head h2,
.page-head h1,
.content-default h1,
.product-single h1 {
    font-family: var(--site-font) !important;
    font-size: clamp(42px, 4.2vw, 74px);
    line-height: .95;
}

.figma-menu-label {
    min-width: 210px;
    height: 48px;
    padding: 0 34px 0 72px;
    font-size: 16px;
    letter-spacing: .045em;
}

.figma-menu-empty {
    margin: 22px 0 72px;
    padding: 28px 32px;
    border: 1px solid var(--figma-line);
    border-radius: 22px;
    color: var(--figma-dark);
    font-size: 24px;
    line-height: 1.25;
}

.figma-product-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    row-gap: 58px;
}

.figma-product-card__title {
    font-size: 32px;
    line-height: .94;
}

.figma-product-card__desc {
    width: 190px;
    min-height: 58px;
    font-size: 12px;
    line-height: 1.32;
}

.figma-product-card__price {
    width: 230px;
    height: 44px;
    border-radius: 14px;
    font-size: 16px;
}

.product-card__title,
.product-card-title,
.catalog-subsection h3,
.event-card__title,
.cart-item__title,
.current-price,
.cart-total strong {
    font-family: var(--site-font) !important;
}

.product-card__title,
.product-card-title {
    font-size: 32px;
}

.btn,
.catalog-tab-btn,
.checkout-radio span,
.qty-stepper__input,
.qty-stepper__btn,
.modifier-accordion__title,
.form-field span,
.form-row label {
    font-family: var(--site-font) !important;
    font-size: 18px;
}

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
    .glass-header .redesigned-header {
        background: rgba(32, 38, 25, .88) !important;
    }
}

@media (max-width: 1240px) {
    .figma-hero-heading {
        left: clamp(310px, 34vw, 460px);
        width: min(66vw, 820px);
        font-size: clamp(74px, 7.4vw, 110px);
    }

    .figma-hero-actions {
        left: clamp(300px, 34vw, 450px) !important;
    }

    .figma-hero-btn {
        width: clamp(230px, 24vw, 320px) !important;
        font-size: clamp(19px, 2vw, 25px) !important;
    }
}

@media (max-width: 992px) {
    .glass-nav,
    .figma-home-header .glass-nav {
        display: none !important;
    }

    .figma-home-hero.redesigned-hero {
        min-height: 680px;
        height: 760px;
    }

    .figma-hero-heading {
        left: 32px;
        top: 168px;
        width: calc(100% - 64px);
        font-size: clamp(62px, 11vw, 94px);
    }

    .figma-hero-actions {
        left: 32px !important;
        right: 32px !important;
        bottom: 96px !important;
        width: auto;
    }

    .figma-hero-btn {
        width: 50% !important;
    }

    .figma-hero-food--left {
        width: 480px !important;
        height: 480px !important;
        left: -235px !important;
        top: 100px !important;
    }

    .figma-hero-food--right {
        width: 360px !important;
        height: 360px !important;
        right: -110px !important;
        top: 126px !important;
        opacity: .82;
    }

    .figma-hero-food--bottom {
        left: 34% !important;
        bottom: -230px !important;
        width: 440px !important;
        height: 440px !important;
    }

    .figma-product-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 782px) {
    body.admin-bar .glass-header,
    body.admin-bar .figma-home-header.glass-header {
        top: 46px !important;
    }
}

@media (max-width: 680px) {
    body {
        font-size: 17px;
    }

    .site-main:not(.figma-home-main) {
        padding-top: 104px;
    }

    .glass-header .redesigned-header,
    .figma-home-header .redesigned-header {
        width: calc(100% - 24px) !important;
        min-height: 68px !important;
        margin-top: 10px !important;
        padding: 10px 14px !important;
        border-radius: 22px !important;
        gap: 10px;
        flex-wrap: nowrap !important;
    }

    .logo-text,
    .figma-home-header .logo-text {
        font-size: 28px !important;
        letter-spacing: .04em;
    }

    .header-actions,
    .figma-home-header .redesigned-actions {
        width: auto !important;
        margin-left: auto;
        gap: 8px;
    }

    .header-phone {
        display: none !important;
    }

    .header-cart {
        min-height: 40px;
        padding: 0 14px;
        font-size: 14px !important;
    }

    .figma-home-hero.redesigned-hero {
        height: 720px;
        min-height: 720px;
    }

    .figma-hero-heading {
        left: 22px;
        top: 146px;
        width: calc(100% - 44px);
        font-size: clamp(48px, 15vw, 72px);
        line-height: .98;
    }

    .figma-hero-actions {
        left: 22px !important;
        right: 22px !important;
        bottom: 84px !important;
        flex-direction: column;
        gap: 14px !important;
    }

    .figma-hero-btn {
        width: 100% !important;
        height: 58px !important;
        font-size: 22px !important;
        border-radius: 22px !important;
    }

    .figma-hero-food--left {
        width: 390px !important;
        height: 390px !important;
        left: -255px !important;
        top: 112px !important;
    }

    .figma-hero-food--right {
        width: 255px !important;
        height: 255px !important;
        right: -88px !important;
        top: 112px !important;
    }

    .figma-hero-food--bottom {
        width: 360px !important;
        height: 360px !important;
        left: 24% !important;
        bottom: -230px !important;
    }

    .figma-menu-title,
    .figma-promotions__title,
    .figma-about__title,
    .section-head h2,
    .page-head h1,
    .content-default h1,
    .product-single h1 {
        font-size: 38px;
    }

    .figma-menu-label {
        min-width: 168px;
        height: 44px;
        padding: 0 24px;
        justify-content: center;
        font-size: 15px;
    }

    .figma-product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        row-gap: 42px;
    }

    .figma-product-card__title {
        font-size: 25px;
    }

    .figma-product-card__desc {
        width: 150px;
        min-height: 48px;
        font-size: 10px;
    }

    .figma-product-card__price {
        width: 158px;
        height: 38px;
        font-size: 14px;
    }
}

/* Font/header completeness */
body :where(h1,h2,h3,h4,h5,h6,p,a,button,input,select,textarea,label,span,div,li,strong,em) {
    font-family: var(--site-font) !important;
}

.glass-header .custom-logo-link,
.figma-home-header .custom-logo-link {
    display: inline-flex !important;
    align-items: center;
}

.glass-header .custom-logo,
.figma-home-header .custom-logo {
    width: auto !important;
    max-width: 118px !important;
    max-height: 54px !important;
    object-fit: contain;
}

.figma-site-footer {
    font-family: var(--site-font) !important;
}

/* =========================
   Round 3 client corrections
   - hero background matches supplied Frame 16 layer
   - anchored menu navigation
   - equal product cards with quantity steppers
   - local product placeholder for missing images
   - Los Angeles Deco watermark in footer
   - product popup on image click
========================= */
.figma-home-hero.redesigned-hero {
    height: 100vh;
    min-height: 760px;
    margin-top: 0 !important;
    background: #202619 !important;
}

.figma-hero-food {
    display: block !important;
    z-index: 2;
}

.figma-hero-food--left {
    width: clamp(330px, 24.3vw, 560px) !important;
    height: clamp(330px, 24.3vw, 560px) !important;
    left: clamp(-220px, -9.55vw, -80px) !important;
    top: 20.4vh !important;
}

.figma-hero-food--top {
    width: clamp(118px, 10.1vw, 190px) !important;
    height: clamp(118px, 10.1vw, 190px) !important;
    right: 23.9vw !important;
    top: -1px !important;
}

.figma-hero-food--center {
    width: clamp(210px, 17.4vw, 330px) !important;
    height: clamp(210px, 17.4vw, 330px) !important;
    left: 43.4vw !important;
    top: 22.2vh !important;
}

.figma-hero-food--right {
    width: clamp(520px, 41.4vw, 780px) !important;
    height: clamp(520px, 41.4vw, 780px) !important;
    right: -5.35vw !important;
    top: 40.8vh !important;
}

.figma-hero-food--bottom {
    width: clamp(230px, 18.75vw, 360px) !important;
    height: clamp(230px, 18.75vw, 360px) !important;
    left: 16vw !important;
    top: 74.2vh !important;
    bottom: auto !important;
}

.figma-hero-actions {
    top: 65.2vh !important;
    left: 50% !important;
    bottom: auto !important;
    transform: translateX(-50%) !important;
    gap: clamp(18px, 1.55vw, 30px) !important;
}

.figma-hero-btn {
    width: clamp(210px, 14.6vw, 260px) !important;
    height: clamp(44px, 5.25vh, 56px) !important;
    border-radius: 15px !important;
    font-size: clamp(16px, 1.18vw, 22px) !important;
}

.figma-hero-heading {
    z-index: 4;
}

.figma-menu-category {
    scroll-margin-top: 134px;
}

.figma-menu-label {
    border-radius: 0 10px 10px 0 !important;
    box-shadow: 0 12px 28px rgba(32, 38, 25, .22);
}

.figma-menu-nav {
    position: sticky;
    top: 112px;
    z-index: 30;
    display: flex;
    gap: 12px;
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    padding: 12px 0 18px;
    margin: 0 0 18px;
    scrollbar-width: thin;
    background: linear-gradient(180deg, var(--figma-cream) 0%, rgba(244, 236, 215, .96) 72%, rgba(244, 236, 215, 0) 100%);
}

.figma-menu-nav__link {
    flex: 0 0 auto;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 22px;
    border: 1px solid rgba(32, 38, 25, .24);
    border-radius: 999px;
    background: rgba(244, 236, 215, .82);
    color: var(--figma-dark) !important;
    box-shadow: 0 8px 22px rgba(32, 38, 25, .08);
    text-transform: uppercase;
    font-size: 17px;
    line-height: 1;
    white-space: nowrap;
    transition: transform .2s ease, background .2s ease, color .2s ease, box-shadow .2s ease;
}

.figma-menu-nav__link:hover,
.figma-menu-nav__link.is-active {
    background: var(--figma-dark);
    color: var(--figma-cream) !important;
    box-shadow: 0 12px 28px rgba(32, 38, 25, .18);
    transform: translateY(-1px);
}

.figma-product-grid {
    align-items: stretch !important;
}

.figma-product-card {
    height: 100%;
    min-height: 420px;
}

.figma-product-card--drink {
    min-height: 330px;
}

.figma-product-card__image,
.product-card__image {
    border: 0;
    padding: 0;
    cursor: pointer;
    font: inherit;
}

button.figma-product-card__image,
button.product-card__image {
    background: transparent;
    appearance: none;
    -webkit-appearance: none;
}

.figma-product-card__image img[src$="placeholder-product.svg"] {
    width: 72%;
    height: 72%;
    opacity: .78;
}

.figma-product-card__title {
    min-height: 66px;
    margin-bottom: 10px !important;
    display: flex;
    align-items: center;
    justify-content: center;
}

.figma-product-card__title-button {
    display: -webkit-box;
    max-width: 100%;
    border: 0;
    padding: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    line-height: inherit;
    text-align: center;
    cursor: pointer;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.figma-product-card__desc,
.figma-product-card__desc--empty {
    height: 62px !important;
    min-height: 62px !important;
    margin-bottom: 18px !important;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.figma-product-card--drink .figma-product-card__title {
    min-height: 42px;
}

.figma-product-card--drink .figma-product-card__desc,
.figma-product-card--drink .figma-product-card__desc--empty {
    display: block !important;
    height: 1px !important;
    min-height: 1px !important;
    margin: 0 0 17px !important;
    font-size: 0;
}

.figma-product-card__cart-form {
    width: 100%;
    display: flex;
    justify-content: center;
    margin: auto 0 0;
}

.figma-card-stepper {
    width: min(100%, 230px);
    height: 54px;
    display: grid;
    grid-template-columns: 64px 1fr 64px;
    align-items: center;
    border: 1px solid rgba(32, 38, 25, .12);
    border-radius: 28px;
    background: rgba(244, 236, 215, .92);
    box-shadow: 0 10px 0 rgba(32, 38, 25, .16), 0 18px 32px rgba(32, 38, 25, .10);
    overflow: hidden;
}

.figma-card-stepper__btn,
.figma-card-stepper__value {
    width: 100%;
    height: 100%;
    border: 0;
    background: transparent;
    color: var(--figma-dark);
    font-family: var(--site-font) !important;
    font-size: 26px;
    line-height: 1;
    text-align: center;
}

.figma-card-stepper__btn {
    cursor: pointer;
    transition: background .18s ease, transform .18s ease;
}

.figma-card-stepper__btn:hover {
    background: rgba(32, 38, 25, .07);
}

.figma-card-stepper__btn:active {
    transform: translateY(1px);
}

.figma-card-stepper__btn:disabled {
    cursor: wait;
    opacity: .58;
}

.figma-card-stepper__value {
    display: flex;
    align-items: center;
    justify-content: center;
    outline: none;
    font-size: 30px;
}

.product-card__image {
    width: 100%;
}

.thecup-product-modal[hidden] {
    display: none !important;
}

.thecup-product-modal {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
}

.thecup-product-modal__overlay {
    position: absolute;
    inset: 0;
    background: rgba(20, 24, 16, .58);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.thecup-product-modal__dialog {
    position: relative;
    z-index: 1;
    width: min(100%, 1040px);
    max-height: min(860px, calc(100vh - 48px));
    display: grid;
    grid-template-columns: minmax(280px, 48%) minmax(280px, 1fr);
    gap: 34px;
    overflow: auto;
    padding: clamp(22px, 3vw, 42px);
    border: 1px solid rgba(244, 236, 215, .38);
    border-radius: 34px;
    background: var(--figma-cream);
    color: var(--figma-dark);
    box-shadow: 0 34px 90px rgba(0, 0, 0, .34);
}

.thecup-product-modal__close {
    position: absolute;
    top: 18px;
    right: 18px;
    width: 48px;
    height: 48px;
    border: 1px solid rgba(32, 38, 25, .16);
    border-radius: 50%;
    background: rgba(244, 236, 215, .86);
    color: var(--figma-dark);
    font-size: 34px;
    line-height: 1;
    cursor: pointer;
    z-index: 2;
}

.thecup-product-modal__media {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 360px;
    border-radius: 30px;
    background: rgba(255, 255, 255, .22);
    overflow: hidden;
}

.thecup-product-modal__media img {
    width: 100%;
    height: 100%;
    max-height: 520px;
    object-fit: contain;
}

.thecup-product-modal__content {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding-right: 16px;
}

.thecup-product-modal__content h3 {
    margin: 0;
    padding-right: 46px;
    font-size: clamp(42px, 4.2vw, 72px);
    line-height: .92;
    font-weight: 400;
    color: var(--figma-dark);
}

.thecup-product-modal__weight,
.thecup-product-modal__description {
    font-size: 20px;
    line-height: 1.35;
    color: rgba(32, 38, 25, .82);
}

.thecup-product-modal__description {
    margin: 0;
    text-transform: uppercase;
}

.thecup-product-modal__price {
    font-size: 32px;
    line-height: 1;
    color: var(--figma-dark);
}

.thecup-product-modal__form {
    display: grid;
    gap: 18px;
    margin-top: 4px;
}

.thecup-product-modal__buy-row {
    display: flex;
    gap: 14px;
    align-items: stretch;
}

.thecup-product-modal__qty.qty-stepper {
    flex: 0 0 auto;
    border-radius: 22px;
    background: #fffaf0;
}

.thecup-product-modal__submit {
    flex: 1 1 auto;
    min-height: 54px;
    border-radius: 22px;
    background: var(--figma-dark) !important;
    color: var(--figma-cream) !important;
    border-color: var(--figma-dark) !important;
    font-size: 22px !important;
}

.thecup-product-modal__modifiers {
    display: grid;
    gap: 12px;
}

.thecup-product-modal__accordion {
    background: rgba(255, 250, 240, .62);
}

.thecup-product-modal__message {
    min-height: 24px;
    font-size: 18px;
    line-height: 1.25;
}

.thecup-product-modal__message.is-success {
    color: #355a2e;
}

.thecup-product-modal__message.is-error {
    color: #9f3d2d;
}

body.product-modal-open {
    overflow: hidden;
}

.figma-site-footer__watermark {
    font-family: 'LosAngelesDeco', 'Los Angeles Deco', var(--site-font) !important;
    top: 50% !important;
    left: 14vw !important;
    transform: translateY(-50%);
    font-size: clamp(240px, 31vw, 430px) !important;
    line-height: .72 !important;
    letter-spacing: .02em;
}

@media (max-width: 1240px) {
    .figma-menu-nav {
        top: 104px;
    }

    .figma-product-card {
        min-height: 392px;
    }

    .figma-card-stepper {
        width: min(100%, 205px);
        grid-template-columns: 54px 1fr 54px;
    }
}

@media (max-width: 992px) {
    .figma-home-hero.redesigned-hero {
        height: 760px;
        min-height: 760px;
    }

    .figma-hero-food--left {
        width: 360px !important;
        height: 360px !important;
        left: -168px !important;
        top: 150px !important;
    }

    .figma-hero-food--top {
        width: 118px !important;
        height: 118px !important;
        right: 18vw !important;
    }

    .figma-hero-food--center {
        width: 210px !important;
        height: 210px !important;
        left: 44vw !important;
        top: 185px !important;
    }

    .figma-hero-food--right {
        width: 480px !important;
        height: 480px !important;
        right: -190px !important;
        top: 360px !important;
    }

    .figma-hero-food--bottom {
        width: 260px !important;
        height: 260px !important;
        left: 18vw !important;
        top: 582px !important;
    }

    .figma-hero-actions {
        left: 50% !important;
        right: auto !important;
        width: auto;
        bottom: auto !important;
        top: 500px !important;
        flex-direction: row;
    }

    .figma-hero-btn {
        width: 180px !important;
        height: 46px !important;
        font-size: 17px !important;
    }

    .figma-menu-nav {
        top: 98px;
    }

    .thecup-product-modal__dialog {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .thecup-product-modal__media {
        min-height: 280px;
    }
}

@media (max-width: 680px) {
    .figma-menu-nav {
        top: 84px;
        gap: 10px;
        padding: 10px 0 14px;
    }

    .figma-menu-nav__link {
        min-height: 40px;
        padding: 0 16px;
        font-size: 15px;
    }

    .figma-product-card {
        min-height: 330px;
    }

    .figma-product-card__title {
        min-height: 54px;
    }

    .figma-product-card__desc,
    .figma-product-card__desc--empty {
        height: 50px !important;
        min-height: 50px !important;
    }

    .figma-card-stepper {
        width: min(100%, 168px);
        height: 44px;
        grid-template-columns: 46px 1fr 46px;
        border-radius: 23px;
        box-shadow: 0 7px 0 rgba(32, 38, 25, .14), 0 12px 20px rgba(32, 38, 25, .08);
    }

    .figma-card-stepper__btn,
    .figma-card-stepper__value {
        font-size: 22px;
    }

    .thecup-product-modal {
        padding: 12px;
    }

    .thecup-product-modal__dialog {
        max-height: calc(100vh - 24px);
        padding: 18px;
        border-radius: 26px;
    }

    .thecup-product-modal__content h3 {
        font-size: 38px;
    }

    .thecup-product-modal__buy-row {
        flex-direction: column;
    }

    .thecup-product-modal__submit {
        width: 100%;
    }

    .figma-site-footer__watermark {
        left: 4vw !important;
        font-size: clamp(160px, 42vw, 240px) !important;
    }
}

button.product-card__image {
    background: #f4efe9;
}

button.figma-product-card__image {
    background: transparent;
}

.figma-menu-nav.figma-home-container {
    margin: 0 auto 18px;
}

.figma-site-footer__watermark {
    font-size: clamp(320px, 37vw, 560px) !important;
}

/* =========================
   Round 4 client corrections
   - hero background without delivery/self-pickup buttons
   - price button first, counter only after adding
   - product popups closer to supplied food/drink layouts
   - even category anchors without horizontal scrollbar
========================= */
.figma-hero-actions {
    display: none !important;
}

.figma-menu-nav,
.figma-menu-nav.figma-home-container {
    position: sticky;
    top: 112px;
    z-index: 30;
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 14px;
    overflow: visible !important;
    max-width: min(calc(100% - 136px), 1304px);
    padding: 14px 0 20px;
    margin: 0 auto 28px !important;
    scrollbar-width: none;
    background: linear-gradient(180deg, var(--figma-cream) 0%, rgba(244, 236, 215, .98) 78%, rgba(244, 236, 215, 0) 100%);
}

.figma-menu-nav::-webkit-scrollbar {
    display: none;
}

.figma-menu-nav__link {
    width: 100%;
    min-width: 0;
    min-height: 48px;
    padding: 0 14px;
    border-radius: 999px;
    text-align: center;
    white-space: normal;
    line-height: 1.05;
}

.figma-product-card__cart-form {
    width: 100%;
    display: flex;
    justify-content: center;
    margin: auto 0 0;
}

.figma-product-card__price {
    width: min(100%, 230px);
    height: 54px;
    min-height: 0;
    padding: 0 18px;
    border: 0;
    border-radius: 28px !important;
    background: var(--figma-dark) !important;
    color: var(--figma-cream) !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: var(--site-font) !important;
    font-size: 28px !important;
    line-height: 1;
    letter-spacing: .03em;
    cursor: pointer;
    box-shadow: none;
    transition: transform .18s ease, box-shadow .18s ease, opacity .18s ease;
}

.figma-product-card__price:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 26px rgba(32, 38, 25, .18);
}

.figma-product-card__cart-form:not(.is-in-cart) .figma-card-stepper {
    display: none !important;
}

.figma-product-card__cart-form.is-in-cart .figma-product-card__price {
    display: none !important;
}

.figma-product-card__cart-form.is-in-cart .figma-card-stepper {
    display: grid !important;
}

.figma-card-stepper {
    width: min(100%, 230px);
    height: 54px;
    grid-template-columns: 64px 1fr 64px;
    border-radius: 28px;
    background: rgba(244, 236, 215, .92);
    border: 1px solid rgba(32, 38, 25, .12);
    box-shadow: 0 10px 0 rgba(32, 38, 25, .16), 0 18px 32px rgba(32, 38, 25, .10);
}

.figma-card-stepper__value {
    font-size: 32px;
}

.thecup-product-modal__dialog {
    width: min(1210px, calc(100vw - 96px));
    max-height: min(860px, calc(100vh - 72px));
    grid-template-columns: minmax(360px, 1.05fr) minmax(390px, .95fr);
    gap: 0;
    padding: 0;
    border-radius: 18px;
    overflow: hidden;
    border: 0;
    box-shadow: 0 34px 90px rgba(0, 0, 0, .34);
}

.thecup-product-modal__dialog--food {
    background: var(--figma-cream);
    color: var(--figma-dark);
}

.thecup-product-modal__dialog--drink {
    background: var(--figma-dark);
    color: var(--figma-cream);
}

.thecup-product-modal__close {
    top: 18px;
    right: 18px;
    background: rgba(244, 236, 215, .82);
    border: 1px solid rgba(32, 38, 25, .22);
    color: var(--figma-dark);
}

.thecup-product-modal__media {
    min-height: 565px;
    border-radius: 0;
    background: transparent;
    overflow: hidden;
}

.thecup-product-modal__dialog--food .thecup-product-modal__media {
    align-items: center;
    justify-content: flex-start;
}

.thecup-product-modal__dialog--food .thecup-product-modal__media img {
    width: 124%;
    height: 124%;
    max-width: none;
    max-height: none;
    object-fit: contain;
    transform: translateX(-27%) scale(1.03);
    transform-origin: left center;
}

.thecup-product-modal__dialog--drink .thecup-product-modal__media {
    align-items: flex-end;
    justify-content: flex-start;
}

.thecup-product-modal__dialog--drink .thecup-product-modal__media img {
    width: auto;
    height: 112%;
    max-width: none;
    max-height: none;
    object-fit: contain;
    object-position: left bottom;
    transform: translateX(-6%) scale(1.06);
    transform-origin: left bottom;
}

.thecup-product-modal__content {
    min-width: 0;
    gap: 18px;
    padding: 34px 28px 28px;
    align-items: stretch;
    justify-content: center;
    text-align: center;
}

.thecup-product-modal__dialog--drink .thecup-product-modal__content {
    padding-top: 26px;
}

.thecup-product-modal__head h3,
.thecup-product-modal__content h3 {
    padding: 0 48px 0 0;
    margin: 0 0 8px;
    font-size: clamp(42px, 3.2vw, 62px);
    line-height: .9;
    letter-spacing: .045em;
    text-transform: uppercase;
    color: inherit;
}

.thecup-product-modal__description {
    max-width: 420px;
    margin: 0 auto;
    font-size: 16px;
    line-height: 1.4;
    color: currentColor;
    opacity: .86;
    text-transform: uppercase;
}

.thecup-product-modal__weight {
    margin-top: 12px;
    color: currentColor;
    opacity: .8;
    font-size: 18px;
}

.thecup-product-modal__form {
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: 18px;
    margin: 0;
}

.thecup-product-modal__modifiers {
    display: grid;
    gap: 16px;
    max-height: 385px;
    overflow: auto;
    padding-right: 4px;
}

.thecup-modal-mod-group h4 {
    margin: 0 0 12px;
    color: inherit;
    font-size: clamp(27px, 2.45vw, 44px);
    line-height: .9;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.thecup-modal-mod-group--pills h4 {
    font-size: clamp(22px, 1.8vw, 32px);
    margin-bottom: 10px;
}

.thecup-modal-pill-row {
    display: flex;
    justify-content: center;
    gap: 18px;
    flex-wrap: wrap;
}

.thecup-modal-pill,
.thecup-modal-card {
    position: relative;
    cursor: pointer;
    user-select: none;
}

.thecup-modal-pill input,
.thecup-modal-card input {
    position: absolute;
    inset: 0;
    opacity: 0;
    pointer-events: none;
}

.thecup-modal-pill span {
    min-width: 116px;
    min-height: 46px;
    padding: 0 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    border: 1px solid currentColor;
    border-radius: 10px;
    color: inherit;
    font-size: 24px;
    line-height: 1;
}

.thecup-modal-pill small {
    font-size: 14px;
    opacity: .75;
}

.thecup-modal-pill:has(input:checked) span {
    background: currentColor;
}

.thecup-product-modal__dialog--food .thecup-modal-pill:has(input:checked) span {
    color: var(--figma-cream);
}

.thecup-product-modal__dialog--drink .thecup-modal-pill:has(input:checked) span {
    color: var(--figma-dark);
}

.thecup-modal-card-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.thecup-modal-card {
    min-height: 112px;
    padding: 10px 8px 8px;
    border: 1px solid currentColor;
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    color: inherit;
    background: transparent;
    transition: background .18s ease, transform .18s ease, box-shadow .18s ease;
}

.thecup-modal-card:hover {
    transform: translateY(-2px);
}

.thecup-modal-card:has(input:checked) {
    box-shadow: inset 0 0 0 2px currentColor;
}

.thecup-product-modal__dialog--food .thecup-modal-card:has(input:checked) {
    background: rgba(32, 38, 25, .08);
}

.thecup-product-modal__dialog--drink .thecup-modal-card:has(input:checked) {
    background: rgba(244, 236, 215, .10);
}

.thecup-modal-card__thumb {
    width: 54px;
    height: 54px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 8px;
    border-radius: 50%;
    overflow: hidden;
}

.thecup-modal-card__thumb img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.thecup-modal-card__name,
.thecup-modal-card__price {
    display: block;
    width: 100%;
    font-size: 14px;
    line-height: 1.05;
    text-transform: uppercase;
}

.thecup-modal-card__price {
    margin-top: 2px;
}

.thecup-product-modal__submit {
    width: 100%;
    min-height: 68px;
    margin-top: auto;
    border-radius: 16px !important;
    font-size: 36px !important;
    line-height: 1;
    letter-spacing: .03em;
    border: 0 !important;
}

.thecup-product-modal__dialog--food .thecup-product-modal__submit {
    background: var(--figma-dark) !important;
    color: var(--figma-cream) !important;
}

.thecup-product-modal__dialog--drink .thecup-product-modal__submit {
    background: var(--figma-cream) !important;
    color: var(--figma-dark) !important;
}

.thecup-product-modal__message {
    min-height: 22px;
    font-size: 17px;
}

.figma-site-footer__watermark {
    top: 50% !important;
    left: 7.5vw !important;
    right: auto;
    transform: translateY(-50%);
    font-family: 'LosAngelesDeco', 'Los Angeles Deco', var(--site-font) !important;
    font-size: clamp(360px, 42vw, 660px) !important;
    line-height: .68 !important;
    letter-spacing: .01em;
}

@media (max-width: 1180px) {
    .figma-menu-nav,
    .figma-menu-nav.figma-home-container {
        max-width: min(calc(100% - 48px), 1120px);
        grid-template-columns: repeat(auto-fit, minmax(138px, 1fr));
        top: 104px;
    }

    .thecup-product-modal__dialog {
        width: min(980px, calc(100vw - 48px));
        grid-template-columns: minmax(300px, .95fr) minmax(340px, 1.05fr);
    }

    .thecup-modal-card-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .figma-menu-nav,
    .figma-menu-nav.figma-home-container {
        top: 92px;
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .thecup-product-modal__dialog {
        grid-template-columns: 1fr;
        max-height: calc(100vh - 36px);
        overflow: auto;
    }

    .thecup-product-modal__media {
        min-height: 330px;
    }

    .thecup-product-modal__dialog--food .thecup-product-modal__media img,
    .thecup-product-modal__dialog--drink .thecup-product-modal__media img {
        width: 100%;
        height: 100%;
        transform: none;
        object-fit: contain;
    }
}

@media (max-width: 680px) {
    .figma-menu-nav,
    .figma-menu-nav.figma-home-container {
        width: calc(100% - 28px);
        max-width: calc(100% - 28px);
        top: 82px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
        padding: 10px 0 14px;
    }

    .figma-menu-nav__link {
        min-height: 42px;
        padding: 0 10px;
        font-size: 14px;
    }

    .figma-product-card__price,
    .figma-card-stepper {
        width: min(100%, 168px);
        height: 44px;
    }

    .figma-product-card__price {
        font-size: 22px !important;
    }

    .thecup-product-modal {
        padding: 12px;
    }

    .thecup-product-modal__dialog {
        width: 100%;
        max-height: calc(100vh - 24px);
        border-radius: 18px;
    }

    .thecup-product-modal__content {
        padding: 22px 18px 18px;
    }

    .thecup-product-modal__head h3,
    .thecup-product-modal__content h3 {
        padding-right: 40px;
        font-size: 36px;
    }

    .thecup-modal-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .thecup-modal-card {
        min-height: 104px;
    }

    .thecup-modal-pill span {
        min-width: 96px;
        min-height: 40px;
        font-size: 19px;
    }

    .thecup-product-modal__submit {
        min-height: 56px;
        font-size: 28px !important;
    }

    .figma-site-footer__watermark {
        left: 0 !important;
        font-size: clamp(190px, 56vw, 320px) !important;
    }
}

.thecup-product-modal__dialog .thecup-product-modal__description,
.thecup-product-modal__dialog .thecup-product-modal__weight {
    color: currentColor !important;
    opacity: .86;
}

.thecup-product-modal__dialog--food .thecup-modal-pill:has(input:checked) span {
    background: var(--figma-dark) !important;
    color: var(--figma-cream) !important;
}

.thecup-product-modal__dialog--drink .thecup-modal-pill:has(input:checked) span {
    background: var(--figma-cream) !important;
    color: var(--figma-dark) !important;
}

/* =========================
   Round 5 client corrections
   - faster perceived cart changes
   - hero headline moved left
   - modal content stretches vertically
   - editable home promotions/events/about
========================= */
.figma-hero-heading {
    left: clamp(320px, 32vw, 560px) !important;
}

@media (max-width: 1240px) {
    .figma-hero-heading {
        left: clamp(250px, 29vw, 390px) !important;
    }
}

@media (max-width: 992px) {
    .figma-hero-heading {
        left: 32px !important;
    }
}

.figma-product-card__cart-form.is-busy,
.figma-product-card__cart-form:has(button:disabled) {
    opacity: .82;
}

.thecup-product-modal__dialog {
    align-items: stretch !important;
}

.thecup-product-modal__media,
.thecup-product-modal__content {
    min-height: 100%;
}

.thecup-product-modal__content {
    justify-content: stretch !important;
    text-align: center;
}

.thecup-product-modal__head {
    flex: 0 0 auto;
}

.thecup-product-modal__form {
    flex: 1 1 auto;
    justify-content: space-between;
}

.thecup-product-modal__modifiers {
    flex: 1 1 auto;
    align-content: start;
}

.thecup-product-modal__submit[data-current-price] {
    transition: transform .18s ease, filter .18s ease;
}

.thecup-product-modal__submit[data-current-price]:active {
    transform: translateY(1px);
}

.figma-home-promos {
    padding: 42px 0 82px;
}

.figma-home-promos__title {
    margin-bottom: 28px;
}

.figma-home-promos__grid {
    gap: 34px;
}

.figma-promo-card,
.figma-event-card {
    min-height: 333px;
    border: 1px solid rgba(32, 38, 25, .24);
    border-radius: 18px;
    background: rgba(244, 236, 215, .72);
    color: var(--figma-dark);
    overflow: hidden;
    box-shadow: 0 16px 34px rgba(32, 38, 25, .10);
}

.figma-promo-card {
    display: flex;
    flex-direction: column;
}

.figma-promo-card__image {
    display: block;
    width: 100%;
    aspect-ratio: 1 / .82;
    background: rgba(32, 38, 25, .08);
    overflow: hidden;
}

.figma-promo-card__image img,
.figma-event-card__image img,
.figma-event-modal__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.figma-promo-card__body {
    min-height: 150px;
    padding: 18px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.figma-promo-card__title,
.figma-event-card h3 {
    margin: 0;
    font-size: clamp(24px, 2.1vw, 36px);
    line-height: .95;
    font-weight: 400;
    text-transform: uppercase;
}

.figma-promo-card__text,
.figma-event-card p {
    margin: 0;
    font-size: 16px;
    line-height: 1.25;
    text-transform: uppercase;
}

.figma-promo-card__button,
.figma-event-card__button,
.figma-event-modal__submit {
    width: 100%;
    min-height: 48px;
    margin-top: auto;
    border: 0;
    border-radius: 14px;
    background: var(--figma-dark) !important;
    color: var(--figma-cream) !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    line-height: 1;
    text-transform: uppercase;
    cursor: pointer;
}

.figma-events {
    padding: 12px 0 90px;
}

.figma-events__title {
    margin-bottom: 29px;
}

.figma-events__grid {
    gap: 34px;
}

.figma-event-card {
    min-height: 413px;
    display: flex;
    flex-direction: column;
}

.figma-event-card__image {
    width: 100%;
    aspect-ratio: 1 / .92;
    padding: 0;
    border: 0;
    border-bottom: 1px solid rgba(32, 38, 25, .20);
    background: rgba(32, 38, 25, .08);
    color: var(--figma-dark);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    overflow: hidden;
}

.figma-event-card__image span {
    font-family: 'LosAngelesDeco', 'Los Angeles Deco', var(--site-font) !important;
    font-size: 72px;
    opacity: .16;
}

.figma-event-card__content {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 18px;
}

.figma-event-card__meta {
    font-size: 16px;
    line-height: 1.1;
    opacity: .74;
    text-transform: uppercase;
}

.figma-event-modal.event-signup-modal {
    z-index: 10020;
}

.figma-event-modal__overlay {
    background: rgba(20, 24, 16, .62) !important;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.figma-event-modal__dialog.event-signup-modal__dialog {
    width: min(1120px, calc(100vw - 72px));
    max-height: min(820px, calc(100vh - 72px));
    margin: 36px auto;
    padding: 0;
    border-radius: 22px;
    background: var(--figma-cream);
    color: var(--figma-dark);
    display: grid;
    grid-template-columns: minmax(340px, .92fr) minmax(420px, 1.08fr);
    overflow: hidden;
    box-shadow: 0 34px 90px rgba(0, 0, 0, .34);
}

.figma-event-modal__close.event-signup-modal__close {
    z-index: 5;
    top: 18px;
    right: 18px;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(32, 38, 25, .20);
    border-radius: 50%;
    background: rgba(244, 236, 215, .82);
    color: var(--figma-dark);
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

.figma-event-modal__media {
    min-height: 560px;
    background: rgba(32, 38, 25, .10);
    overflow: hidden;
}

.figma-event-modal__media-placeholder {
    width: 100%;
    height: 100%;
    min-height: 560px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'LosAngelesDeco', 'Los Angeles Deco', var(--site-font) !important;
    font-size: clamp(90px, 10vw, 180px);
    opacity: .14;
}

.figma-event-modal__content {
    min-width: 0;
    min-height: 560px;
    padding: 34px 28px 28px;
    display: flex;
    flex-direction: column;
    gap: 22px;
}

.figma-event-modal__head h2 {
    padding-right: 54px;
    margin: 0 0 12px;
    font-size: clamp(42px, 3.8vw, 68px);
    line-height: .9;
    font-weight: 400;
    text-transform: uppercase;
}

.figma-event-modal__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 16px;
}

.figma-event-modal__meta span {
    min-height: 34px;
    padding: 0 12px;
    border: 1px solid rgba(32, 38, 25, .35);
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    font-size: 16px;
    text-transform: uppercase;
}

.figma-event-modal__text {
    max-height: 180px;
    overflow: auto;
    padding-right: 4px;
    font-size: 18px;
    line-height: 1.36;
    text-transform: uppercase;
}

.figma-event-modal__text p:first-child {
    margin-top: 0;
}

.figma-event-modal__text p:last-child {
    margin-bottom: 0;
}

.figma-event-signup-form {
    margin-top: auto;
}

.figma-event-signup-form__grid.event-signup-form__grid {
    gap: 12px;
}

.figma-event-modal .event-signup-form__field span {
    font-size: 16px;
    text-transform: uppercase;
}

.figma-event-modal .event-signup-form__field input,
.figma-event-modal .event-signup-form__field textarea {
    border: 1px solid rgba(32, 38, 25, .28);
    background: rgba(255, 250, 240, .56);
    color: var(--figma-dark);
    border-radius: 12px;
    min-height: 46px;
}

.figma-event-modal .event-signup-form__message.is-success {
    color: #31552e;
}

.figma-event-modal .event-signup-form__message.is-error {
    color: #9f3d2d;
}

.figma-event-modal__closed {
    margin-top: auto;
    min-height: 54px;
    border: 1px solid rgba(32, 38, 25, .28);
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    text-transform: uppercase;
}

.figma-about__inner {
    display: grid;
    grid-template-columns: minmax(280px, .44fr) minmax(360px, 1fr);
    gap: 34px;
    align-items: stretch;
}

.figma-about__text {
    min-height: 240px;
    padding: 28px;
    border: 1px solid rgba(32, 38, 25, .24);
    border-radius: 22px;
    background: rgba(244, 236, 215, .70);
    box-shadow: 0 16px 34px rgba(32, 38, 25, .08);
    display: flex;
    flex-direction: column;
    justify-content: center;
    font-size: clamp(22px, 2vw, 34px);
    line-height: 1.18;
    text-transform: uppercase;
}

.figma-about__text p:first-child {
    margin-top: 0;
}

.figma-about__text p:last-child {
    margin-bottom: 0;
}

.figma-about__video {
    min-height: 360px;
    border-radius: 22px;
    overflow: hidden;
}

.figma-about__video.has-video {
    background: var(--figma-dark);
}

.figma-about__video iframe,
.figma-about__video video,
.figma-about__video .wp-video,
.figma-about__video .wp-video-shortcode {
    width: 100% !important;
    height: 100% !important;
    min-height: 360px;
    display: block;
}

.figma-about__video iframe,
.figma-about__video video,
.figma-about__video .wp-video-shortcode {
    object-fit: cover;
}

@media (max-width: 1180px) {
    .figma-home-promos__grid,
    .figma-events__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .figma-event-modal__dialog.event-signup-modal__dialog {
        grid-template-columns: 1fr;
        width: calc(100vw - 28px);
        max-height: calc(100vh - 28px);
        margin: 14px auto;
        overflow: auto;
    }

    .figma-event-modal__media,
    .figma-event-modal__content,
    .figma-event-modal__media-placeholder {
        min-height: 300px;
    }

    .figma-about__inner {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 680px) {
    .figma-home-promos,
    .figma-events {
        padding-bottom: 58px;
    }

    .figma-home-promos__grid,
    .figma-events__grid {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .figma-event-modal__content {
        padding: 24px 18px 18px;
    }

    .figma-event-modal__head h2 {
        font-size: 38px;
    }

    .figma-event-signup-form__grid.event-signup-form__grid {
        grid-template-columns: 1fr;
    }

    .figma-about__text {
        font-size: 24px;
    }
}

/* =========================
   Round 6 client corrections
   - photo-only promo/event cards
   - cart buttons with 10px radius
   - product modal fixed buy button and safe scrolling
========================= */
.figma-promo-card--image-only,
.figma-event-card--image-only {
    min-height: 333px;
}

.figma-promo-card--image-only .figma-promo-card__body,
.figma-event-card--image-only .figma-event-card__content {
    display: none !important;
}

.figma-promo-card--image-only .figma-promo-card__image,
.figma-event-card--image-only .figma-event-card__image {
    flex: 1 1 auto;
    width: 100%;
    height: 100%;
    min-height: 333px;
    aspect-ratio: auto;
    border-bottom: 0;
}

.figma-promo-card--image-only .figma-promo-card__image img,
.figma-event-card--image-only .figma-event-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.figma-product-card__price,
.figma-card-stepper,
.product-card__quick-add,
.product-card__quick-add-form .product-card__quick-add,
.thecup-product-modal__submit {
    border-radius: 10px !important;
}

@media (min-width: 901px) {
    .thecup-product-modal__dialog {
        height: min(720px, calc(100vh - 72px)) !important;
        max-height: calc(100vh - 72px) !important;
        align-items: stretch !important;
        overflow: hidden !important;
    }

    .thecup-product-modal__media,
    .thecup-product-modal__content {
        min-height: 0 !important;
        height: 100% !important;
    }
}

.thecup-product-modal__content {
    min-height: 0 !important;
    overflow: hidden !important;
}

.thecup-product-modal__head {
    flex: 0 0 auto !important;
}

.thecup-product-modal__form {
    flex: 1 1 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
}

.thecup-product-modal__modifiers {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    padding-right: 6px;
    padding-bottom: 4px;
}

.thecup-product-modal__submit {
    flex: 0 0 68px !important;
    width: 100% !important;
    height: 68px !important;
    min-height: 68px !important;
    max-height: 68px !important;
    margin-top: 14px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    white-space: nowrap;
}

.thecup-product-modal__message {
    flex: 0 0 auto !important;
}

@media (max-width: 900px) {
    .thecup-product-modal__content,
    .thecup-product-modal__form {
        overflow: visible !important;
    }

    .thecup-product-modal__modifiers {
        max-height: none !important;
        overflow: visible !important;
    }
}

@media (max-width: 680px) {
    .thecup-product-modal__submit {
        flex-basis: 56px !important;
        height: 56px !important;
        min-height: 56px !important;
        max-height: 56px !important;
    }
}

.product-buy-box .btn-primary,
.product-add-btn,
.js-product-quick-add .btn-primary {
    border-radius: 10px !important;
}

/* =========================
   Round 7 client corrections
   - modifier radio can be deselected by repeated click
   - full-width looping about video with blurred fill
   - Yandex map mark and stronger contact ribbon
   - centered footer watermark and privacy link
   - header wordmark in Los Angeles Deco
========================= */
.glass-header .logo-text,
.figma-home-header .logo-text,
.logo-link .logo-text {
    font-family: 'LosAngelesDeco', 'Los Angeles Deco', var(--site-font) !important;
    font-weight: 400 !important;
    letter-spacing: .045em !important;
}

.figma-about {
    padding: 0 0 0;
}

.figma-about__head-wrap {
    margin-bottom: 36px;
}

.figma-about__title {
    margin-bottom: 28px !important;
}

.figma-about__text {
    width: min(100%, 1030px);
    min-height: 0 !important;
    margin: 0 0 40px;
    padding: 28px 34px;
    justify-content: flex-start;
    font-size: clamp(24px, 2.25vw, 40px);
    line-height: 1.14;
}

.figma-about__video.figma-about__video-bleed {
    position: relative;
    width: 100vw;
    height: clamp(360px, 44vw, 720px);
    min-height: clamp(360px, 44vw, 720px) !important;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    border-radius: 0 !important;
    overflow: hidden;
    isolation: isolate;
    background: var(--figma-grey);
}

.figma-about__video-bleed.has-video {
    background: var(--figma-dark);
}

.figma-about__video-bleed > span {
    position: relative;
    z-index: 2;
}

.figma-about__video-bg {
    position: absolute;
    z-index: 1;
    inset: -48px;
    width: calc(100% + 96px) !important;
    height: calc(100% + 96px) !important;
    min-height: 0 !important;
    object-fit: cover !important;
    filter: blur(34px) saturate(1.12);
    transform: scale(1.06);
    opacity: .72;
    pointer-events: none;
}

.figma-about__video-main {
    position: relative;
    z-index: 2;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    object-fit: contain !important;
    object-position: center;
    background: transparent !important;
}

.figma-about__embed {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    align-items: stretch;
    justify-content: center;
    background: var(--figma-dark);
}

.figma-about__embed iframe,
.figma-about__embed video,
.figma-about__embed .wp-video,
.figma-about__embed .wp-video-shortcode {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    object-fit: cover !important;
}

.figma-map-card {
    text-decoration: none;
    flex-direction: column;
    gap: 13px;
    border: 1px solid rgba(32, 38, 25, .16);
    box-shadow: 0 22px 42px rgba(32, 38, 25, .12);
    transition: transform .2s ease, box-shadow .2s ease;
}

.figma-map-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 28px 54px rgba(32, 38, 25, .16);
}

.figma-map-card__pin {
    width: 64px;
    height: 80px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--figma-dark);
}

.figma-map-card__pin svg {
    width: 100%;
    height: 100%;
    fill: currentColor;
    filter: drop-shadow(0 8px 12px rgba(32, 38, 25, .20));
}

.figma-map-card__title {
    display: block;
    font-size: clamp(28px, 2.25vw, 42px);
    line-height: .9;
    text-transform: uppercase;
}

.figma-map-card__address {
    display: block;
    max-width: 80%;
    font-size: clamp(18px, 1.25vw, 24px);
    line-height: 1.15;
    text-align: center;
    text-transform: uppercase;
}

.figma-contact-ribbon {
    min-height: 82px !important;
    height: 82px !important;
    padding: 0 88px !important;
    gap: 48px !important;
    grid-template-columns: 1.12fr 1fr auto !important;
    font-size: clamp(20px, 1.62vw, 31px) !important;
    letter-spacing: .035em;
    box-shadow: 0 20px 36px rgba(32, 38, 25, .20);
}

.figma-contact-ribbon span,
.figma-contact-ribbon a {
    white-space: nowrap;
}

.figma-site-footer__watermark {
    left: 50% !important;
    right: auto !important;
    width: 100%;
    text-align: center;
    transform: translate(-50%, -50%) !important;
    font-family: 'LosAngelesDeco', 'Los Angeles Deco', var(--site-font) !important;
}

.figma-site-footer__privacy {
    position: absolute;
    right: 68px;
    bottom: 53px;
    z-index: 2;
    color: var(--figma-cream);
    font-size: 17px;
    line-height: 1.2;
    text-transform: uppercase;
    text-decoration: none;
    opacity: .88;
    transition: opacity .2s ease;
}

.figma-site-footer__privacy:hover {
    opacity: 1;
}

@media (max-width: 900px) {
    .figma-about__text {
        width: 100%;
        font-size: 26px;
    }

    .figma-about__video.figma-about__video-bleed {
        height: 420px;
        min-height: 420px !important;
    }

    .figma-contact-ribbon {
        min-height: 96px !important;
        height: auto !important;
        grid-template-columns: 1fr !important;
        align-items: center;
        gap: 8px !important;
        padding: 14px 32px !important;
        font-size: 20px !important;
        text-align: center;
    }

    .figma-contact-ribbon span,
    .figma-contact-ribbon a {
        white-space: normal;
    }

    .figma-site-footer__privacy {
        right: 28px;
        bottom: 34px;
        font-size: 15px;
    }
}

@media (max-width: 680px) {
    .figma-about__video.figma-about__video-bleed {
        height: 320px;
        min-height: 320px !important;
    }

    .figma-map-card__pin {
        width: 48px;
        height: 60px;
    }

    .figma-map-card__title {
        font-size: 28px;
    }

    .figma-map-card__address {
        font-size: 17px;
    }

    .figma-site-footer__contacts {
        left: 22px;
        bottom: 74px;
    }

    .figma-site-footer__privacy {
        left: 22px;
        right: 22px;
        bottom: 30px;
    }
}

.figma-site-footer__privacy {
    position: absolute;
    right: 68px;
    bottom: 53px;
    color: var(--figma-cream) !important;
    font-size: 17px;
    line-height: 1.35;
    text-decoration: none;
    text-transform: uppercase;
}

.figma-site-footer__privacy:hover {
    text-decoration: underline;
}

@media (max-width: 680px) {
    .figma-site-footer__privacy {
        left: 24px;
        right: auto;
        bottom: 42px;
        font-size: 15px;
    }
}

/* =========================
   Round 7 client corrections
   - repeat click removes selected modifier
   - full-width looping about video with blurred background fill
   - Yandex map placemark contact block
   - centered footer watermark + privacy link
   - Los Angeles Deco header logo word
========================= */
.logo-text,
.figma-home-header .logo-text,
.glass-header .logo-text {
    font-family: 'LosAngelesDeco', 'Los Angeles Deco', var(--site-font) !important;
    font-weight: 400 !important;
    text-transform: uppercase;
}

.figma-home-header .logo-link,
.glass-header .logo-link {
    text-decoration: none;
}

.figma-about {
    padding: clamp(70px, 7vw, 112px) 0 0;
    background: var(--figma-cream);
}

.figma-about__intro {
    margin-bottom: clamp(28px, 4vw, 54px);
}

.figma-about__title {
    margin-bottom: 24px;
}

.figma-about__text {
    width: min(100%, 1060px);
    min-height: 0 !important;
    margin-top: 22px;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    display: block !important;
    font-size: clamp(24px, 2.4vw, 42px) !important;
    line-height: 1.16 !important;
    text-transform: uppercase;
}

.figma-about__video-wrap {
    position: relative;
    width: 100vw;
    min-height: clamp(430px, 56vw, 780px);
    margin-left: calc(50% - 50vw);
    overflow: hidden;
    background: var(--figma-dark);
    isolation: isolate;
}

.figma-about__video-layer,
.figma-about__video-foreground,
.figma-about__video-placeholder {
    position: absolute;
    inset: 0;
}

.figma-about__video-layer--blur {
    inset: -46px;
    z-index: 0;
    opacity: .78;
    filter: blur(34px) saturate(122%);
    transform: scale(1.08);
}

.figma-about__video-layer video,
.figma-about__video-layer .wp-video,
.figma-about__video-layer .wp-video-shortcode {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
}

.figma-about__video-foreground {
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: clamp(18px, 2.4vw, 34px);
    background: rgba(32, 38, 25, .12);
}

.figma-about__video-foreground .figma-about__video-player,
.figma-about__video-foreground video {
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 100% !important;
    min-height: 0 !important;
    object-fit: contain;
    border-radius: 18px;
    box-shadow: 0 26px 70px rgba(0, 0, 0, .28);
}

.figma-about__video-foreground--embed iframe {
    width: min(100%, 1280px) !important;
    height: min(72vw, 720px) !important;
    border: 0;
    border-radius: 18px;
    box-shadow: 0 26px 70px rgba(0, 0, 0, .28);
}

.figma-about__video-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--figma-grey);
    color: var(--figma-dark);
    font-size: clamp(46px, 5vw, 82px);
    text-transform: uppercase;
}

.figma-contact-scene {
    min-height: clamp(560px, 52vw, 760px);
    padding: 0;
    background: var(--figma-cream);
}

.figma-map-card.figma-yandex-mark {
    left: clamp(32px, 7vw, 112px);
    top: clamp(90px, 12vw, 166px);
    width: clamp(280px, 25vw, 470px);
    height: clamp(220px, 18.8vw, 330px);
    border-radius: 0;
    border: 0;
    background: #d9d9d9;
    color: var(--figma-dark);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 24px;
    text-align: center;
    text-transform: uppercase;
    box-shadow: 0 18px 42px rgba(32, 38, 25, .12);
    transition: transform .2s ease, box-shadow .2s ease;
}

.figma-map-card.figma-yandex-mark:hover {
    transform: translateY(-3px);
    box-shadow: 0 24px 54px rgba(32, 38, 25, .18);
}

.figma-yandex-mark__pin {
    position: relative;
    width: 58px;
    height: 58px;
    border-radius: 50% 50% 50% 0;
    background: #e6332a;
    transform: rotate(-45deg);
    box-shadow: 0 12px 24px rgba(32, 38, 25, .20);
}

.figma-yandex-mark__pin::after {
    content: '';
    position: absolute;
    inset: 16px;
    border-radius: 50%;
    background: var(--figma-cream);
}

.figma-yandex-mark__label {
    font-size: clamp(24px, 2.3vw, 40px);
    line-height: .95;
}

.figma-yandex-mark__address {
    max-width: 290px;
    font-size: clamp(15px, 1.1vw, 20px);
    line-height: 1.12;
    opacity: .82;
}

.figma-contact-food--coffee {
    width: clamp(240px, 21vw, 390px);
    height: clamp(280px, 27vw, 470px);
    left: clamp(440px, 46vw, 780px);
    top: clamp(120px, 13vw, 210px);
    z-index: 4;
}

.figma-contact-food--pizza {
    width: clamp(150px, 14vw, 250px);
    height: clamp(150px, 14vw, 250px);
    left: clamp(650px, 66vw, 1050px);
    top: clamp(250px, 28vw, 430px);
    z-index: 3;
}

.figma-contact-ribbon {
    left: -5vw;
    right: auto;
    top: auto;
    bottom: clamp(110px, 12vw, 180px);
    width: 110vw;
    min-height: clamp(42px, 4vw, 62px);
    padding: 0 clamp(42px, 8vw, 140px);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: clamp(18px, 4vw, 88px);
    transform: rotate(-3.2deg);
    transform-origin: center;
    font-size: clamp(17px, 1.45vw, 27px);
    line-height: 1;
    letter-spacing: .03em;
    box-shadow: 0 18px 34px rgba(32, 38, 25, .20);
    z-index: 8;
}

.figma-contact-ribbon span,
.figma-contact-ribbon a {
    white-space: nowrap;
}

.figma-site-footer__watermark {
    left: 50% !important;
    top: 50% !important;
    right: auto !important;
    transform: translate(-50%, -50%) !important;
    width: 100%;
    text-align: center;
    font-family: 'LosAngelesDeco', 'Los Angeles Deco', var(--site-font) !important;
}

.figma-site-footer__privacy {
    position: absolute;
    right: clamp(28px, 4.8vw, 72px);
    bottom: 53px;
    max-width: 260px;
    color: var(--figma-cream) !important;
    font-family: var(--site-font) !important;
    font-size: clamp(15px, 1.1vw, 19px);
    line-height: 1.15;
    text-align: right;
    text-transform: uppercase;
    text-decoration: none;
    z-index: 2;
}

.figma-site-footer__privacy:hover {
    text-decoration: underline;
    text-underline-offset: 4px;
}

@media (min-width: 901px) {
    .thecup-product-modal__content {
        height: 100% !important;
    }

    .thecup-product-modal__form {
        height: 100% !important;
        max-height: 100% !important;
    }

    .thecup-product-modal__modifiers {
        max-height: none !important;
    }

    .thecup-product-modal__submit {
        flex: 0 0 68px !important;
        height: 68px !important;
        min-height: 68px !important;
        max-height: 68px !important;
        overflow: hidden;
        text-overflow: ellipsis;
    }
}

@media (max-width: 900px) {
    .figma-about__video-wrap {
        min-height: 56vw;
    }

    .figma-contact-scene {
        min-height: 720px;
    }

    .figma-map-card.figma-yandex-mark {
        left: 28px;
        top: 56px;
        width: min(420px, calc(100% - 56px));
        height: 230px;
    }

    .figma-contact-food--coffee {
        left: 38%;
        top: 270px;
    }

    .figma-contact-food--pizza {
        left: 62%;
        top: 430px;
    }

    .figma-contact-ribbon {
        bottom: 128px;
        padding: 0 44px;
        gap: 26px;
        justify-content: center;
    }
}

@media (max-width: 680px) {
    .figma-about {
        padding-top: 58px;
    }

    .figma-about__text {
        font-size: 22px !important;
    }

    .figma-about__video-wrap {
        min-height: 72vw;
    }

    .figma-about__video-foreground {
        padding: 12px;
    }

    .figma-about__video-foreground .figma-about__video-player,
    .figma-about__video-foreground video,
    .figma-about__video-foreground--embed iframe {
        border-radius: 12px;
    }

    .figma-contact-scene {
        min-height: 650px;
    }

    .figma-map-card.figma-yandex-mark {
        left: 18px;
        top: 38px;
        width: calc(100% - 36px);
        height: 210px;
    }

    .figma-yandex-mark__pin {
        width: 48px;
        height: 48px;
    }

    .figma-contact-food--coffee {
        width: 250px;
        height: 310px;
        left: 32%;
        top: 272px;
    }

    .figma-contact-food--pizza {
        width: 142px;
        height: 142px;
        left: 61%;
        top: 424px;
    }

    .figma-contact-ribbon {
        width: 118vw;
        left: -9vw;
        bottom: 92px;
        min-height: 42px;
        padding: 0 22px;
        gap: 18px;
        font-size: 14px;
        overflow: hidden;
    }

    .figma-site-footer__privacy {
        right: 18px;
        bottom: 26px;
        max-width: 170px;
        font-size: 13px;
    }

    .figma-site-footer__contacts {
        left: 18px !important;
        bottom: 26px !important;
    }
}

/* Round 7 fine tune: scale foreground video while blurred copy fills all leftover space. */
.figma-about__video-foreground .figma-about__video-player,
.figma-about__video-foreground video {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    background: transparent !important;
}

/* Round 7 final contact map: embedded Yandex geotag in the mockup block. */
.figma-map-card {
    position: absolute;
    left: clamp(32px, 7vw, 112px) !important;
    top: clamp(90px, 12vw, 166px) !important;
    width: clamp(280px, 25vw, 470px) !important;
    height: clamp(220px, 18.8vw, 330px) !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    overflow: hidden !important;
    background: #d9d9d9 !important;
    display: block !important;
    box-shadow: 0 22px 42px rgba(32, 38, 25, .12) !important;
}

.figma-map-card iframe {
    position: absolute;
    inset: 0;
    width: 100% !important;
    height: 100% !important;
    border: 0;
    display: block;
}

.figma-map-card__badge {
    position: absolute;
    left: 18px;
    bottom: 18px;
    z-index: 2;
    min-height: 38px;
    padding: 0 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: rgba(244, 236, 215, .92);
    color: var(--figma-dark) !important;
    font-size: 18px;
    line-height: 1;
    text-transform: uppercase;
    text-decoration: none;
    box-shadow: 0 8px 20px rgba(32, 38, 25, .14);
}

@media (max-width: 900px) {
    .figma-map-card {
        left: 28px !important;
        top: 56px !important;
        width: min(420px, calc(100% - 56px)) !important;
        height: 230px !important;
    }
}

@media (max-width: 680px) {
    .figma-map-card {
        left: 18px !important;
        top: 38px !important;
        width: calc(100% - 36px) !important;
        height: 210px !important;
    }

    .figma-map-card__badge {
        left: 12px;
        bottom: 12px;
        min-height: 34px;
        padding: 0 12px;
        font-size: 15px;
    }
}

/* =========================
   Round 7 final DOM support
========================= */
.logo-text,
.figma-home-header .logo-text,
.glass-header .logo-text,
.logo-link .logo-text {
    font-family: 'LosAngelesDeco', 'Los Angeles Deco', var(--site-font) !important;
    font-weight: 400 !important;
}

.figma-about__top {
    margin-bottom: clamp(28px, 4vw, 54px) !important;
}

.figma-about__video-bleed {
    position: relative !important;
    width: 100vw !important;
    height: clamp(430px, 56vw, 780px) !important;
    min-height: clamp(430px, 56vw, 780px) !important;
    margin-left: calc(50% - 50vw) !important;
    overflow: hidden !important;
    background: var(--figma-dark) !important;
    isolation: isolate;
}

.figma-about__video-bleed .figma-about__video {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    border-radius: 0 !important;
    background: var(--figma-grey);
    overflow: hidden;
}

.figma-about__video-bleed .figma-about__video.has-video {
    background: var(--figma-dark) !important;
}

.figma-about__video-bg {
    position: absolute !important;
    z-index: 0 !important;
    inset: -46px !important;
    width: calc(100% + 92px) !important;
    height: calc(100% + 92px) !important;
    min-height: 0 !important;
    object-fit: cover !important;
    filter: blur(34px) saturate(122%) !important;
    transform: scale(1.08) !important;
    opacity: .78 !important;
    pointer-events: none;
}

.figma-about__video-main {
    position: relative !important;
    z-index: 2 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    object-fit: contain !important;
    object-position: center !important;
    background: transparent !important;
    padding: clamp(18px, 2.4vw, 34px);
}

.figma-about__embed,
.figma-about__embed iframe {
    position: relative;
    z-index: 2;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    border: 0;
}

.figma-map-card {
    display: block !important;
    left: clamp(32px, 7vw, 112px) !important;
    top: clamp(90px, 12vw, 166px) !important;
    width: clamp(320px, 33vw, 560px) !important;
    height: clamp(230px, 22vw, 350px) !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    overflow: hidden !important;
    background: #d9d9d9 !important;
    box-shadow: 0 18px 42px rgba(32, 38, 25, .12) !important;
}

.figma-map-card iframe {
    position: absolute;
    inset: 0;
    width: 100% !important;
    height: 100% !important;
    border: 0 !important;
    filter: saturate(.78) contrast(.96);
}

.figma-map-card__badge {
    position: absolute;
    z-index: 3;
    left: 18px;
    bottom: 18px;
    min-height: 42px;
    padding: 0 16px;
    border-radius: 10px;
    background: rgba(244, 236, 215, .94);
    color: var(--figma-dark) !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 17px;
    line-height: 1;
    text-transform: uppercase;
    text-decoration: none;
    box-shadow: 0 10px 26px rgba(32, 38, 25, .18);
}

.figma-contact-ribbon {
    min-height: clamp(60px, 5vw, 86px) !important;
    font-size: clamp(21px, 1.75vw, 34px) !important;
}

.figma-site-footer__watermark {
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    text-align: center !important;
    font-family: 'LosAngelesDeco', 'Los Angeles Deco', var(--site-font) !important;
}

.figma-site-footer__privacy,
.figma-site-footer__policy {
    position: absolute;
    right: clamp(28px, 4.8vw, 72px);
    bottom: 53px;
    max-width: 280px;
    color: var(--figma-cream) !important;
    font-size: clamp(15px, 1.1vw, 19px);
    line-height: 1.15;
    text-align: right;
    text-transform: uppercase;
    text-decoration: none;
    z-index: 2;
}

.figma-site-footer__privacy:hover,
.figma-site-footer__policy:hover {
    text-decoration: underline;
    text-underline-offset: 4px;
}

@media (max-width: 900px) {
    .figma-about__video-bleed {
        height: 56vw !important;
        min-height: 360px !important;
    }

    .figma-map-card {
        left: 28px !important;
        top: 56px !important;
        width: min(500px, calc(100% - 56px)) !important;
        height: 250px !important;
    }
}

@media (max-width: 680px) {
    .figma-about__video-bleed {
        height: 72vw !important;
        min-height: 340px !important;
    }

    .figma-about__video-main {
        padding: 12px !important;
    }

    .figma-map-card {
        left: 18px !important;
        top: 38px !important;
        width: calc(100% - 36px) !important;
        height: 220px !important;
    }

    .figma-site-footer__privacy,
    .figma-site-footer__policy {
        right: 18px;
        bottom: 26px;
        max-width: 180px;
        font-size: 13px;
    }
}

/* =========================
   Round 8 client corrections
   - coded contact scene with coffee/pizza/leaf assets
   - compact italic contact ribbon
   - glass category dropdown in header
   - contacts anchor points to footer; delivery removed from header in template
========================= */
.header-menu-item--dropdown {
    position: relative;
    display: flex;
    align-items: center;
}

.header-menu-toggle {
    appearance: none;
    border: 0;
    padding: 0;
    margin: 0;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: transparent;
    color: var(--figma-cream) !important;
    font-family: var(--site-font) !important;
    font-size: 17px !important;
    line-height: 1;
    letter-spacing: .06em;
    text-transform: uppercase;
    cursor: pointer;
    opacity: .92;
}

.header-menu-toggle::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: -8px;
    height: 1px;
    background: currentColor;
    transform: scaleX(0);
    transform-origin: center;
    transition: transform .22s ease;
}

.header-menu-item--dropdown:hover .header-menu-toggle::after,
.header-menu-item--dropdown:focus-within .header-menu-toggle::after,
.header-menu-item--dropdown.is-open .header-menu-toggle::after {
    transform: scaleX(1);
}

.header-menu-toggle__chevron {
    width: 12px;
    height: 12px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg) translateY(-2px);
    transition: transform .22s ease;
}

.header-menu-item--dropdown:hover .header-menu-toggle__chevron,
.header-menu-item--dropdown:focus-within .header-menu-toggle__chevron,
.header-menu-item--dropdown.is-open .header-menu-toggle__chevron {
    transform: rotate(225deg) translate(-2px, -1px);
}

.header-menu-dropdown {
    position: absolute;
    z-index: 10002;
    left: 50%;
    top: calc(100% + 22px);
    width: min(310px, 84vw);
    max-height: min(520px, calc(100vh - 140px));
    overflow-y: auto;
    padding: 18px;
    border: 1px solid rgba(244, 236, 215, .30);
    border-radius: 22px;
    background:
        linear-gradient(135deg, rgba(244, 236, 215, .16), rgba(244, 236, 215, .035)),
        rgba(32, 38, 25, .70);
    backdrop-filter: blur(24px) saturate(175%);
    -webkit-backdrop-filter: blur(24px) saturate(175%);
    box-shadow:
        0 26px 58px rgba(0, 0, 0, .28),
        inset 0 1px 0 rgba(255,255,255,.14),
        inset 0 -1px 0 rgba(0,0,0,.14);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translate(-50%, -10px);
    transition: opacity .2s ease, visibility .2s ease, transform .2s ease;
}

.header-menu-dropdown::before {
    content: '';
    position: absolute;
    left: 50%;
    top: -9px;
    width: 18px;
    height: 18px;
    border-left: 1px solid rgba(244, 236, 215, .28);
    border-top: 1px solid rgba(244, 236, 215, .28);
    background: rgba(32, 38, 25, .70);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    transform: translateX(-50%) rotate(45deg);
}

.header-menu-item--dropdown:hover .header-menu-dropdown,
.header-menu-item--dropdown:focus-within .header-menu-dropdown,
.header-menu-item--dropdown.is-open .header-menu-dropdown {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translate(-50%, 0);
}

.glass-nav .header-menu-dropdown__link {
    position: relative;
    z-index: 1;
    min-height: 46px;
    padding: 0 12px;
    display: flex;
    align-items: center;
    gap: 13px;
    border-radius: 14px;
    color: var(--figma-cream) !important;
    font-size: 18px !important;
    letter-spacing: .03em;
    text-decoration: none;
    text-transform: uppercase;
    opacity: .96;
    transition: background-color .18s ease, transform .18s ease, opacity .18s ease;
}

.glass-nav .header-menu-dropdown__link::after {
    display: none !important;
}

.glass-nav .header-menu-dropdown__link:hover,
.glass-nav .header-menu-dropdown__link:focus-visible {
    background: rgba(244, 236, 215, .13);
    opacity: 1;
    transform: translateX(3px);
    outline: 0;
}

.header-menu-dropdown__icon {
    position: relative;
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    border: 1px solid rgba(244, 236, 215, .62);
    border-radius: 9px;
}

.header-menu-dropdown__icon::before,
.header-menu-dropdown__icon::after {
    content: '';
    position: absolute;
    border-radius: 999px;
    background: rgba(244, 236, 215, .70);
}

.header-menu-dropdown__icon::before {
    left: 7px;
    top: 7px;
    width: 13px;
    height: 2px;
    box-shadow: 0 6px 0 rgba(244, 236, 215, .70), 0 12px 0 rgba(244, 236, 215, .70);
}

.header-menu-dropdown__icon::after {
    right: 5px;
    top: 5px;
    width: 4px;
    height: 4px;
}

.header-menu-dropdown__link--all .header-menu-dropdown__icon {
    border-radius: 50%;
}

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
    .header-menu-dropdown {
        background: rgba(32, 38, 25, .94);
    }
}

.figma-contact-scene {
    position: relative !important;
    height: clamp(560px, 53.2vw, 760px) !important;
    min-height: clamp(560px, 53.2vw, 760px) !important;
    padding: 0 !important;
    overflow: hidden !important;
    isolation: isolate;
    background:
        radial-gradient(circle at 74% 33%, rgba(255, 247, 224, .74), transparent 24%),
        var(--figma-cream) !important;
}

.figma-contact-scene .figma-map-card {
    left: clamp(54px, 8.1vw, 112px) !important;
    top: clamp(108px, 11.5vw, 160px) !important;
    width: clamp(360px, 33.8vw, 560px) !important;
    height: clamp(245px, 25.4vw, 360px) !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #d9d9d9 !important;
    box-shadow: none !important;
    transform: none !important;
}

.figma-contact-food {
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;
    pointer-events: none;
}

.figma-contact-food--coffee {
    left: clamp(572px, 55vw, 820px) !important;
    top: clamp(128px, 14vw, 210px) !important;
    width: clamp(245px, 22vw, 355px) !important;
    height: clamp(300px, 28vw, 460px) !important;
    z-index: 5 !important;
    filter: drop-shadow(0 20px 28px rgba(32, 38, 25, .20));
}

.figma-contact-food--pizza {
    left: clamp(735px, 69vw, 1030px) !important;
    top: clamp(230px, 25vw, 365px) !important;
    width: clamp(160px, 17vw, 260px) !important;
    height: clamp(160px, 17vw, 260px) !important;
    z-index: 4 !important;
    filter: drop-shadow(0 18px 24px rgba(32, 38, 25, .18));
}

.figma-leaf {
    position: absolute;
    z-index: 3;
    display: block;
    background-image: var(--figma-contact-leaf) !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;
    border-radius: 0 !important;
    background-color: transparent !important;
    opacity: .68;
    filter: drop-shadow(0 8px 10px rgba(32, 38, 25, .18));
    pointer-events: none;
}

.figma-leaf--1  { left: 39.4vw !important; top: 72px !important;  width: 92px !important; height: 64px !important; transform: rotate(18deg) !important; }
.figma-leaf--2  { left: 48.4vw !important; top: 118px !important; width: 42px !important; height: 30px !important; transform: rotate(60deg) !important; opacity: .56; }
.figma-leaf--3  { left: 55.4vw !important; top: 124px !important; width: 58px !important; height: 40px !important; transform: rotate(-28deg) !important; }
.figma-leaf--4  { left: 69.1vw !important; top: 126px !important; width: 42px !important; height: 30px !important; transform: rotate(28deg) !important; opacity: .58; }
.figma-leaf--5  { right: 10.2vw !important; top: 135px !important; width: 74px !important; height: 52px !important; transform: rotate(-16deg) !important; }
.figma-leaf--6  { left: 45vw !important;  top: 282px !important; width: 104px !important; height: 72px !important; transform: rotate(-38deg) !important; }
.figma-leaf--7  { left: 41.2vw !important; top: 462px !important; width: 44px !important; height: 31px !important; transform: rotate(35deg) !important; opacity: .52; }
.figma-leaf--8  { left: 47vw !important;  top: 492px !important; width: 76px !important; height: 52px !important; transform: rotate(-21deg) !important; }
.figma-leaf--9  { left: 77.2vw !important; top: 454px !important; width: 50px !important; height: 36px !important; transform: rotate(-20deg) !important; opacity: .56; }
.figma-leaf--10 { right: 10vw !important; top: 468px !important; width: 112px !important; height: 78px !important; transform: rotate(23deg) !important; }
.figma-leaf--11 { left: 81vw !important; top: 508px !important; width: 40px !important; height: 28px !important; transform: rotate(55deg) !important; opacity: .56; }
.figma-leaf--12 { left: 88vw !important; top: 118px !important; width: 74px !important; height: 52px !important; transform: rotate(-34deg) !important; }

.figma-contact-ribbon {
    left: -4vw !important;
    right: auto !important;
    bottom: clamp(150px, 14vw, 190px) !important;
    top: auto !important;
    width: 108vw !important;
    min-height: clamp(58px, 5.1vw, 78px) !important;
    height: clamp(58px, 5.1vw, 78px) !important;
    padding: 0 clamp(56px, 7vw, 112px) !important;
    display: grid !important;
    grid-template-columns: auto auto auto !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: clamp(22px, 4.2vw, 70px) !important;
    transform: rotate(-3.05deg) !important;
    transform-origin: center !important;
    background: var(--figma-dark) !important;
    color: var(--figma-cream) !important;
    font-size: clamp(20px, 2vw, 34px) !important;
    font-style: italic !important;
    letter-spacing: -0.01em !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
    box-shadow: 0 20px 34px rgba(32, 38, 25, .20) !important;
    z-index: 8 !important;
}

.figma-contact-ribbon span,
.figma-contact-ribbon a {
    display: inline-flex;
    align-items: center;
    color: inherit !important;
    font-style: italic !important;
    letter-spacing: -0.012em !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    transform: skew(-5deg);
}

@media (max-width: 1160px) {
    .figma-contact-food--coffee {
        left: 53vw !important;
    }

    .figma-contact-food--pizza {
        left: 72vw !important;
    }

    .figma-contact-ribbon {
        padding: 0 46px !important;
        gap: 26px !important;
        font-size: clamp(17px, 2vw, 25px) !important;
    }
}

@media (max-width: 900px) {
    .figma-contact-scene {
        height: 720px !important;
        min-height: 720px !important;
    }

    .figma-contact-scene .figma-map-card {
        left: 28px !important;
        top: 58px !important;
        width: min(500px, calc(100% - 56px)) !important;
        height: 235px !important;
    }

    .figma-contact-food--coffee {
        left: 38% !important;
        top: 270px !important;
        width: 285px !important;
        height: 355px !important;
    }

    .figma-contact-food--pizza {
        left: 64% !important;
        top: 420px !important;
        width: 165px !important;
        height: 165px !important;
    }

    .figma-contact-ribbon {
        bottom: 112px !important;
        width: 118vw !important;
        left: -9vw !important;
        padding: 0 28px !important;
        gap: 18px !important;
        font-size: 18px !important;
    }
}

@media (max-width: 680px) {
    .figma-contact-scene {
        height: 640px !important;
        min-height: 640px !important;
    }

    .figma-contact-scene .figma-map-card {
        left: 18px !important;
        top: 36px !important;
        width: calc(100% - 36px) !important;
        height: 205px !important;
    }

    .figma-contact-food--coffee {
        left: 30% !important;
        top: 258px !important;
        width: 245px !important;
        height: 305px !important;
    }

    .figma-contact-food--pizza {
        left: 60% !important;
        top: 412px !important;
        width: 135px !important;
        height: 135px !important;
    }

    .figma-leaf--1,
    .figma-leaf--3,
    .figma-leaf--6,
    .figma-leaf--10,
    .figma-leaf--12 {
        transform: scale(.72) rotate(var(--leaf-rotate, 0deg)) !important;
    }

    .figma-contact-ribbon {
        bottom: 86px !important;
        min-height: 48px !important;
        height: 48px !important;
        font-size: 13px !important;
        padding: 0 22px !important;
        gap: 14px !important;
        overflow: hidden !important;
    }
}

/* =========================
   Round 8 code corrections
   - asset-based contact scene
   - glass category dropdown in header
   - contacts anchor points to footer
========================= */
.glass-header .redesigned-header {
    overflow: visible !important;
}

.glass-nav > ul,
.header-nav > ul {
    align-items: center;
}

.header-menu-dropdown {
    position: relative;
    display: flex;
    align-items: center;
}

.header-menu-toggle {
    appearance: none;
    -webkit-appearance: none;
    min-height: 56px;
    padding: 0 26px;
    border: 1px solid rgba(245, 238, 219, .28);
    border-radius: 18px;
    background: rgba(245, 238, 219, .08);
    color: var(--figma-cream, #f4ecd7);
    font: inherit;
    font-family: var(--site-font, 'Kelly Slab', serif);
    font-size: clamp(17px, 1.2vw, 24px);
    line-height: 1;
    letter-spacing: .08em;
    text-transform: uppercase;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 13px;
    cursor: pointer;
    backdrop-filter: blur(16px) saturate(165%);
    -webkit-backdrop-filter: blur(16px) saturate(165%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .10), 0 12px 28px rgba(0, 0, 0, .12);
    transition: background .2s ease, border-color .2s ease, transform .2s ease;
}

.header-menu-toggle:hover,
.header-menu-dropdown.is-open .header-menu-toggle,
.header-menu-dropdown:focus-within .header-menu-toggle {
    background: rgba(245, 238, 219, .14);
    border-color: rgba(245, 238, 219, .48);
    transform: translateY(-1px);
}

.header-menu-toggle__chevron {
    width: 13px;
    height: 13px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg) translateY(-2px);
    transition: transform .2s ease;
}

.header-menu-dropdown.is-open .header-menu-toggle__chevron,
.header-menu-dropdown:focus-within .header-menu-toggle__chevron,
.header-menu-dropdown:hover .header-menu-toggle__chevron {
    transform: rotate(225deg) translate(-2px, -2px);
}

.header-menu-dropdown__panel {
    position: absolute;
    z-index: 10020;
    top: calc(100% + 14px);
    left: 50%;
    min-width: 260px;
    max-width: min(360px, calc(100vw - 32px));
    max-height: min(68vh, 560px);
    padding: 14px;
    border-radius: 22px;
    border: 1px solid rgba(245, 238, 219, .30);
    background: linear-gradient(145deg, rgba(48, 53, 34, .72), rgba(28, 34, 22, .56));
    color: var(--figma-cream, #f4ecd7);
    backdrop-filter: blur(22px) saturate(175%);
    -webkit-backdrop-filter: blur(22px) saturate(175%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .12), 0 22px 60px rgba(0, 0, 0, .34);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translate(-50%, 8px) scale(.98);
    transform-origin: top center;
    transition: opacity .18s ease, visibility .18s ease, transform .18s ease;
    overflow: auto;
}

.header-menu-dropdown__panel::before {
    content: '';
    position: absolute;
    top: -7px;
    left: 50%;
    width: 14px;
    height: 14px;
    transform: translateX(-50%) rotate(45deg);
    border-left: 1px solid rgba(245, 238, 219, .24);
    border-top: 1px solid rgba(245, 238, 219, .24);
    background: rgba(48, 53, 34, .64);
    backdrop-filter: blur(22px);
    -webkit-backdrop-filter: blur(22px);
}

.header-menu-dropdown:hover .header-menu-dropdown__panel,
.header-menu-dropdown:focus-within .header-menu-dropdown__panel,
.header-menu-dropdown.is-open .header-menu-dropdown__panel {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translate(-50%, 0) scale(1);
}

.header-menu-dropdown__link {
    position: relative;
    z-index: 1;
    width: 100%;
    min-height: 48px;
    padding: 0 16px 0 44px;
    border-radius: 14px;
    color: var(--figma-cream, #f4ecd7) !important;
    display: flex !important;
    align-items: center;
    font-size: clamp(16px, 1.1vw, 22px) !important;
    line-height: 1 !important;
    letter-spacing: .055em !important;
    text-transform: uppercase;
    text-decoration: none !important;
    transition: background .18s ease, transform .18s ease;
}

.header-menu-dropdown__link::before {
    content: '';
    position: absolute;
    left: 16px;
    top: 50%;
    width: 14px;
    height: 14px;
    border-radius: 4px 50% 4px 50%;
    border: 1px solid currentColor;
    opacity: .76;
    transform: translateY(-50%) rotate(-35deg);
}

.header-menu-dropdown__link:hover,
.header-menu-dropdown__link:focus-visible {
    background: rgba(245, 238, 219, .14);
    transform: translateX(2px);
}

.figma-contact-scene--assets {
    position: relative !important;
    height: auto !important;
    min-height: clamp(560px, 52vw, 760px) !important;
    background: var(--figma-cream, #f4ecd7) !important;
    overflow: hidden !important;
}

.figma-contact-scene--assets .figma-map-card {
    position: absolute !important;
    left: clamp(70px, 6.3vw, 112px) !important;
    top: clamp(118px, 11.2vw, 172px) !important;
    width: clamp(360px, 34vw, 540px) !important;
    height: clamp(246px, 22vw, 350px) !important;
    padding: 22px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #d9d9d9 !important;
    color: var(--figma-dark, #2a2c1c) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    text-decoration: none !important;
    box-shadow: none !important;
    z-index: 1 !important;
}

.figma-contact-scene--assets .figma-map-card span {
    display: block;
    font-size: clamp(22px, 1.8vw, 34px);
    line-height: 1;
    letter-spacing: .02em;
    text-transform: uppercase;
}

.figma-contact-scene--assets .figma-contact-food {
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;
    pointer-events: none !important;
    filter: drop-shadow(0 18px 24px rgba(32, 38, 25, .24));
}

.figma-contact-scene--assets .figma-contact-food--coffee {
    width: clamp(230px, 24vw, 382px) !important;
    height: clamp(270px, 28vw, 455px) !important;
    left: clamp(610px, 52vw, 835px) !important;
    top: clamp(118px, 13vw, 202px) !important;
    z-index: 5 !important;
    background-image: var(--figma-contact-coffee) !important;
}

.figma-contact-scene--assets .figma-contact-food--pizza {
    width: clamp(160px, 17vw, 280px) !important;
    height: clamp(160px, 17vw, 280px) !important;
    left: clamp(805px, 68vw, 1090px) !important;
    top: clamp(225px, 23vw, 365px) !important;
    z-index: 3 !important;
    background-image: var(--figma-contact-pizza) !important;
}

.figma-contact-scene--assets .figma-leaf {
    background-color: transparent !important;
    background-image: var(--figma-contact-leaf) !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;
    border-radius: 0 !important;
    opacity: .86 !important;
    filter: drop-shadow(0 8px 8px rgba(32, 38, 25, .16)) blur(.15px) !important;
    z-index: 4 !important;
}

.figma-contact-scene--assets .figma-leaf--1 { left: 39vw !important; top: 78px !important; width: 72px !important; height: 50px !important; transform: rotate(18deg) !important; }
.figma-contact-scene--assets .figma-leaf--2 { left: 47vw !important; top: 130px !important; width: 42px !important; height: 30px !important; transform: rotate(56deg) !important; }
.figma-contact-scene--assets .figma-leaf--3 { left: 54vw !important; top: 118px !important; width: 58px !important; height: 40px !important; transform: rotate(-42deg) !important; }
.figma-contact-scene--assets .figma-leaf--4 { left: 69vw !important; top: 116px !important; width: 52px !important; height: 36px !important; transform: rotate(30deg) !important; }
.figma-contact-scene--assets .figma-leaf--5 { right: 10vw !important; top: 140px !important; width: 64px !important; height: 44px !important; transform: rotate(-34deg) !important; }
.figma-contact-scene--assets .figma-leaf--6 { left: 45vw !important; top: 285px !important; width: 86px !important; height: 60px !important; transform: rotate(-38deg) !important; }
.figma-contact-scene--assets .figma-leaf--7 { left: 39vw !important; top: 455px !important; width: 44px !important; height: 31px !important; transform: rotate(38deg) !important; }
.figma-contact-scene--assets .figma-leaf--8 { left: 47vw !important; top: 455px !important; width: 68px !important; height: 47px !important; transform: rotate(-22deg) !important; }
.figma-contact-scene--assets .figma-leaf--9 { left: 75vw !important; top: 425px !important; width: 50px !important; height: 34px !important; transform: rotate(-32deg) !important; }
.figma-contact-scene--assets .figma-leaf--10 { left: 82vw !important; top: 460px !important; width: 92px !important; height: 64px !important; transform: rotate(26deg) !important; }
.figma-contact-scene--assets .figma-leaf--11 { left: 60vw !important; top: 560px !important; width: 44px !important; height: 30px !important; transform: rotate(12deg) !important; }
.figma-contact-scene--assets .figma-leaf--12 { left: 85vw !important; top: 90px !important; width: 52px !important; height: 36px !important; transform: rotate(34deg) !important; }

.figma-contact-scene--assets .figma-contact-ribbon {
    left: -4vw !important;
    right: auto !important;
    top: auto !important;
    bottom: clamp(125px, 12vw, 178px) !important;
    width: 108vw !important;
    min-height: clamp(56px, 4.3vw, 72px) !important;
    padding: 0 clamp(30px, 5vw, 86px) !important;
    display: grid !important;
    grid-template-columns: auto auto auto !important;
    align-items: center !important;
    justify-content: center !important;
    gap: clamp(48px, 7vw, 122px) !important;
    transform: rotate(-3.1deg) !important;
    transform-origin: center !important;
    background: var(--figma-dark, #2a2c1c) !important;
    box-shadow: 0 18px 34px rgba(32, 38, 25, .20) !important;
    z-index: 8 !important;
}

.figma-contact-scene--assets .figma-contact-ribbon span,
.figma-contact-scene--assets .figma-contact-ribbon a {
    display: inline-block !important;
    color: var(--figma-cream, #f4ecd7) !important;
    font-family: var(--site-font, 'Kelly Slab', serif) !important;
    font-size: clamp(22px, 1.9vw, 35px) !important;
    line-height: 1 !important;
    letter-spacing: .01em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    font-style: italic !important;
    white-space: nowrap !important;
    transform: skewX(-7deg);
}

@media (max-width: 1040px) {
    .header-menu-dropdown__panel {
        left: 0;
        transform: translate(0, 8px) scale(.98);
    }

    .header-menu-dropdown:hover .header-menu-dropdown__panel,
    .header-menu-dropdown:focus-within .header-menu-dropdown__panel,
    .header-menu-dropdown.is-open .header-menu-dropdown__panel {
        transform: translate(0, 0) scale(1);
    }

    .header-menu-dropdown__panel::before {
        left: 42px;
    }
}

@media (max-width: 900px) {
    .figma-contact-scene--assets {
        min-height: 850px !important;
    }

    .figma-contact-scene--assets .figma-map-card {
        left: 24px !important;
        top: 64px !important;
        width: min(520px, calc(100% - 48px)) !important;
        height: 240px !important;
    }

    .figma-contact-scene--assets .figma-contact-food--coffee {
        left: 42% !important;
        top: 320px !important;
    }

    .figma-contact-scene--assets .figma-contact-food--pizza {
        left: 66% !important;
        top: 415px !important;
    }

    .figma-contact-scene--assets .figma-contact-ribbon {
        bottom: 190px !important;
        gap: 28px !important;
        padding: 0 30px !important;
        grid-template-columns: 1fr !important;
        justify-items: center !important;
        min-height: 160px !important;
    }
}

@media (max-width: 680px) {
    .header-menu-dropdown {
        width: 100%;
    }

    .header-menu-toggle {
        width: 100%;
        min-height: 48px;
        border-radius: 14px;
        font-size: 18px;
    }

    .header-menu-dropdown__panel {
        position: static;
        width: 100%;
        max-width: none;
        max-height: 0;
        margin-top: 0;
        padding: 0 12px;
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: none !important;
        overflow: hidden;
        border-width: 0;
        transition: max-height .22s ease, padding .22s ease, margin .22s ease;
    }

    .header-menu-dropdown.is-open .header-menu-dropdown__panel,
    .header-menu-dropdown:focus-within .header-menu-dropdown__panel {
        max-height: 380px;
        margin-top: 10px;
        padding: 12px;
        border-width: 1px;
    }

    .header-menu-dropdown__panel::before {
        display: none;
    }

    .figma-contact-scene--assets {
        min-height: 780px !important;
    }

    .figma-contact-scene--assets .figma-map-card {
        left: 18px !important;
        top: 40px !important;
        width: calc(100% - 36px) !important;
        height: 210px !important;
    }

    .figma-contact-scene--assets .figma-contact-food--coffee {
        width: 210px !important;
        height: 250px !important;
        left: calc(50% - 112px) !important;
        top: 315px !important;
    }

    .figma-contact-scene--assets .figma-contact-food--pizza {
        width: 145px !important;
        height: 145px !important;
        left: calc(50% + 52px) !important;
        top: 390px !important;
    }

    .figma-contact-scene--assets .figma-contact-ribbon {
        bottom: 150px !important;
        width: 116vw !important;
        left: -8vw !important;
        min-height: 138px !important;
        grid-template-columns: 1fr !important;
        gap: 14px !important;
        padding: 18px 28px !important;
    }

    .figma-contact-scene--assets .figma-contact-ribbon span,
    .figma-contact-scene--assets .figma-contact-ribbon a {
        font-size: 22px !important;
    }
}

/* =========================
   Round 8 final: code-only corrections requested by client
========================= */
.glass-header .redesigned-header,
.figma-home-header .redesigned-header {
    overflow: visible !important;
}

.header-nav.glass-nav .header-menu-item--dropdown {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
}

.header-nav.glass-nav .header-menu-toggle {
    appearance: none !important;
    -webkit-appearance: none !important;
    position: relative !important;
    min-height: 48px !important;
    padding: 0 22px !important;
    border: 1px solid rgba(244, 236, 215, .30) !important;
    border-radius: 18px !important;
    background:
        linear-gradient(135deg, rgba(244, 236, 215, .12), rgba(244, 236, 215, .035)),
        rgba(32, 38, 25, .28) !important;
    color: var(--figma-cream, #f4ecd7) !important;
    font-family: var(--site-font, 'Kelly Slab', serif) !important;
    font-size: 17px !important;
    line-height: 1 !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    cursor: pointer !important;
    backdrop-filter: blur(18px) saturate(175%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(175%) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .12),
        0 14px 32px rgba(0, 0, 0, .14) !important;
    transition: background .2s ease, border-color .2s ease, transform .2s ease !important;
}

.header-nav.glass-nav .header-menu-toggle:hover,
.header-nav.glass-nav .header-menu-item--dropdown:focus-within .header-menu-toggle,
.header-nav.glass-nav .header-menu-item--dropdown.is-open .header-menu-toggle {
    background:
        linear-gradient(135deg, rgba(244, 236, 215, .18), rgba(244, 236, 215, .055)),
        rgba(32, 38, 25, .34) !important;
    border-color: rgba(244, 236, 215, .50) !important;
    transform: translateY(-1px) !important;
}

.header-nav.glass-nav .header-menu-toggle::after {
    display: none !important;
}

.header-nav.glass-nav .header-menu-toggle__chevron {
    display: inline-block !important;
    width: 11px !important;
    height: 11px !important;
    border-right: 2px solid currentColor !important;
    border-bottom: 2px solid currentColor !important;
    transform: rotate(45deg) translateY(-3px) !important;
    transition: transform .2s ease !important;
}

.header-nav.glass-nav .header-menu-item--dropdown:hover .header-menu-toggle__chevron,
.header-nav.glass-nav .header-menu-item--dropdown:focus-within .header-menu-toggle__chevron,
.header-nav.glass-nav .header-menu-item--dropdown.is-open .header-menu-toggle__chevron {
    transform: rotate(225deg) translate(-2px, -1px) !important;
}

.header-nav.glass-nav .header-menu-item--dropdown > .header-menu-dropdown {
    position: absolute !important;
    z-index: 10020 !important;
    top: calc(100% + 14px) !important;
    left: 50% !important;
    width: min(340px, calc(100vw - 32px)) !important;
    max-height: min(66vh, 560px) !important;
    padding: 14px !important;
    border: 1px solid rgba(244, 236, 215, .32) !important;
    border-radius: 22px !important;
    background:
        linear-gradient(145deg, rgba(244, 236, 215, .15), rgba(244, 236, 215, .035)),
        rgba(32, 38, 25, .72) !important;
    color: var(--figma-cream, #f4ecd7) !important;
    backdrop-filter: blur(24px) saturate(175%) !important;
    -webkit-backdrop-filter: blur(24px) saturate(175%) !important;
    box-shadow:
        0 28px 70px rgba(0, 0, 0, .34),
        inset 0 1px 0 rgba(255, 255, 255, .14),
        inset 0 -1px 0 rgba(0, 0, 0, .14) !important;
    display: block !important;
    overflow-y: auto !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translate(-50%, 8px) scale(.98) !important;
    transform-origin: top center !important;
    transition: opacity .18s ease, visibility .18s ease, transform .18s ease !important;
}

.header-nav.glass-nav .header-menu-item--dropdown > .header-menu-dropdown::before {
    content: '' !important;
    position: absolute !important;
    left: 50% !important;
    top: -8px !important;
    width: 16px !important;
    height: 16px !important;
    border-left: 1px solid rgba(244, 236, 215, .28) !important;
    border-top: 1px solid rgba(244, 236, 215, .28) !important;
    background: rgba(45, 51, 32, .76) !important;
    transform: translateX(-50%) rotate(45deg) !important;
    backdrop-filter: blur(24px) !important;
    -webkit-backdrop-filter: blur(24px) !important;
}

.header-nav.glass-nav .header-menu-item--dropdown:hover > .header-menu-dropdown,
.header-nav.glass-nav .header-menu-item--dropdown:focus-within > .header-menu-dropdown,
.header-nav.glass-nav .header-menu-item--dropdown.is-open > .header-menu-dropdown {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translate(-50%, 0) scale(1) !important;
}

.header-nav.glass-nav .header-menu-dropdown__link {
    position: relative !important;
    z-index: 1 !important;
    min-height: 48px !important;
    padding: 0 14px !important;
    border-radius: 14px !important;
    color: var(--figma-cream, #f4ecd7) !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    font-size: 18px !important;
    line-height: 1 !important;
    letter-spacing: .045em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    opacity: .96 !important;
    transition: background .18s ease, transform .18s ease, opacity .18s ease !important;
}

.header-nav.glass-nav .header-menu-dropdown__link::before,
.header-nav.glass-nav .header-menu-dropdown__link::after {
    display: none !important;
}

.header-nav.glass-nav .header-menu-dropdown__link:hover,
.header-nav.glass-nav .header-menu-dropdown__link:focus-visible {
    background: rgba(244, 236, 215, .14) !important;
    transform: translateX(3px) !important;
    opacity: 1 !important;
    outline: 0 !important;
}

.header-nav.glass-nav .header-menu-dropdown__icon {
    position: relative !important;
    flex: 0 0 26px !important;
    width: 26px !important;
    height: 26px !important;
    border: 1px solid rgba(244, 236, 215, .64) !important;
    border-radius: 8px !important;
}

.header-nav.glass-nav .header-menu-dropdown__icon::before,
.header-nav.glass-nav .header-menu-dropdown__icon::after {
    content: '' !important;
    position: absolute !important;
    background: rgba(244, 236, 215, .72) !important;
    border-radius: 99px !important;
}

.header-nav.glass-nav .header-menu-dropdown__icon::before {
    left: 7px !important;
    top: 7px !important;
    width: 12px !important;
    height: 2px !important;
    box-shadow: 0 5px 0 rgba(244, 236, 215, .72), 0 10px 0 rgba(244, 236, 215, .72) !important;
}

.header-nav.glass-nav .header-menu-dropdown__icon::after {
    right: 5px !important;
    top: 5px !important;
    width: 4px !important;
    height: 4px !important;
}

.figma-contact-scene {
    height: clamp(560px, 53vw, 760px) !important;
    min-height: clamp(560px, 53vw, 760px) !important;
    background:
        radial-gradient(circle at 76% 30%, rgba(255, 247, 224, .78), transparent 24%),
        var(--figma-cream, #f4ecd7) !important;
}

.figma-contact-food--coffee {
    background-image: var(--figma-contact-coffee) !important;
    left: clamp(570px, 54.4vw, 812px) !important;
    top: clamp(126px, 13.5vw, 202px) !important;
    width: clamp(250px, 22.6vw, 365px) !important;
    height: clamp(306px, 28.6vw, 470px) !important;
    z-index: 5 !important;
}

.figma-contact-food--pizza {
    background-image: var(--figma-contact-pizza) !important;
    left: clamp(742px, 69.3vw, 1038px) !important;
    top: clamp(234px, 25vw, 365px) !important;
    width: clamp(165px, 17.4vw, 266px) !important;
    height: clamp(165px, 17.4vw, 266px) !important;
    z-index: 4 !important;
}

.figma-leaf {
    background-image: var(--figma-contact-leaf) !important;
    background-color: transparent !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;
    border: 0 !important;
    border-radius: 0 !important;
    opacity: .72 !important;
    filter: drop-shadow(0 8px 10px rgba(32, 38, 25, .18)) !important;
}

.figma-contact-ribbon {
    display: grid !important;
    grid-template-columns: auto auto auto !important;
    justify-content: center !important;
    gap: clamp(38px, 7vw, 118px) !important;
    font-style: italic !important;
    letter-spacing: -0.018em !important;
    transform: rotate(-3deg) !important;
}

.figma-contact-ribbon span,
.figma-contact-ribbon a {
    font-style: italic !important;
    letter-spacing: -0.02em !important;
    transform: skew(-6deg) !important;
}

.footer-anchor {
    position: absolute;
    left: 0;
    top: 0;
    width: 1px;
    height: 1px;
    pointer-events: none;
}

@media (max-width: 900px) {
    .header-nav.glass-nav .header-menu-item--dropdown > .header-menu-dropdown {
        left: auto !important;
        right: 0 !important;
        transform: translate(0, 8px) scale(.98) !important;
    }

    .header-nav.glass-nav .header-menu-item--dropdown:hover > .header-menu-dropdown,
    .header-nav.glass-nav .header-menu-item--dropdown:focus-within > .header-menu-dropdown,
    .header-nav.glass-nav .header-menu-item--dropdown.is-open > .header-menu-dropdown {
        transform: translate(0, 0) scale(1) !important;
    }

    .figma-contact-ribbon {
        gap: 22px !important;
    }
}

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
    .header-nav.glass-nav .header-menu-item--dropdown > .header-menu-dropdown,
    .header-nav.glass-nav .header-menu-toggle {
        background: rgba(32, 38, 25, .92) !important;
    }
}


/* =========================
   Round 9: cart and checkout in the new ЧАШКА homepage style
========================= */
.cup-commerce-page {
    position: relative;
    overflow: hidden;
    background: var(--figma-cream, #f4ecd7);
    color: var(--figma-dark, #2a2c1c);
    font-family: var(--site-font, 'Kelly Slab', serif);
    letter-spacing: .015em;
}

.cup-commerce-page *,
.cup-commerce-page *::before,
.cup-commerce-page *::after {
    box-sizing: border-box;
}

.cup-commerce-page input,
.cup-commerce-page textarea,
.cup-commerce-page select,
.cup-commerce-page button {
    font-family: inherit;
}

.cup-commerce-hero {
    position: relative;
    min-height: clamp(420px, 46vw, 620px);
    padding: clamp(150px, 13vw, 196px) 0 clamp(92px, 8vw, 132px);
    display: flex;
    align-items: center;
    background:
        radial-gradient(circle at 75% 38%, rgba(244, 236, 215, .14), transparent 30%),
        radial-gradient(circle at 21% 20%, rgba(244, 236, 215, .08), transparent 24%),
        var(--figma-dark-2, #1f2418);
    overflow: hidden;
    isolation: isolate;
}

.cup-commerce-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(31, 36, 24, .96) 0%, rgba(31, 36, 24, .80) 42%, rgba(31, 36, 24, .52) 100%);
    z-index: 1;
}

.cup-commerce-hero::after {
    content: 'ЧАШКА';
    position: absolute;
    left: clamp(22px, 6vw, 108px);
    bottom: -0.24em;
    z-index: 1;
    font-family: 'LosAngelesDeco', var(--site-font, 'Kelly Slab', serif);
    font-size: clamp(96px, 18vw, 280px);
    line-height: .72;
    color: rgba(244, 236, 215, .045);
    pointer-events: none;
    white-space: nowrap;
}

.cup-commerce-hero__inner {
    position: relative;
    z-index: 3;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 42px;
}

.cup-commerce-hero__copy {
    max-width: 760px;
}

.cup-commerce-eyebrow {
    margin: 0 0 14px;
    color: rgba(244, 236, 215, .76);
    font-size: clamp(16px, 1.5vw, 23px);
    line-height: 1;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.cup-commerce-card .cup-commerce-eyebrow,
.cup-empty-state .cup-commerce-eyebrow {
    color: rgba(42, 44, 28, .64);
}

.cup-commerce-hero h1 {
    margin: 0;
    color: var(--figma-cream, #f4ecd7);
    font-size: clamp(54px, 8.4vw, 132px);
    line-height: .82;
    letter-spacing: .03em;
    text-transform: uppercase;
    text-wrap: balance;
}

.cup-commerce-hero p:not(.cup-commerce-eyebrow) {
    max-width: 640px;
    margin: 28px 0 0;
    color: rgba(244, 236, 215, .78);
    font-size: clamp(20px, 2vw, 30px);
    line-height: 1.22;
}

.cup-commerce-hero__status {
    min-width: min(320px, 36vw);
    padding: 28px;
    border: 1px solid rgba(244, 236, 215, .28);
    border-radius: 24px;
    background:
        linear-gradient(145deg, rgba(244, 236, 215, .16), rgba(244, 236, 215, .045)),
        rgba(31, 36, 24, .48);
    backdrop-filter: blur(20px) saturate(170%);
    -webkit-backdrop-filter: blur(20px) saturate(170%);
    box-shadow: 0 26px 70px rgba(0, 0, 0, .26), inset 0 1px 0 rgba(255,255,255,.12);
    color: var(--figma-cream, #f4ecd7);
}

.cup-commerce-hero__status span,
.cup-order-summary__row span,
.cup-cart-price span,
.cup-cart-qty > span,
.cup-cart-sum span {
    display: block;
    margin-bottom: 8px;
    font-size: 16px;
    line-height: 1;
    letter-spacing: .09em;
    text-transform: uppercase;
    opacity: .72;
}

.cup-commerce-hero__status strong {
    display: block;
    font-size: clamp(32px, 3vw, 48px);
    line-height: 1;
    font-weight: 400;
}

.cup-commerce-hero__decor,
.cup-commerce-hero__leaf {
    position: absolute;
    z-index: 2;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    pointer-events: none;
    filter: drop-shadow(0 22px 36px rgba(0, 0, 0, .28));
}

.cup-commerce-hero__decor {
    background-image: var(--decor-image);
}

.cup-commerce-hero__decor--pizza {
    width: clamp(260px, 32vw, 520px);
    height: clamp(260px, 32vw, 520px);
    right: clamp(-64px, 1vw, 20px);
    bottom: clamp(-118px, -6vw, -42px);
    opacity: .98;
}

.cup-commerce-hero__decor--coffee {
    width: clamp(190px, 22vw, 360px);
    height: clamp(250px, 29vw, 470px);
    right: clamp(230px, 22vw, 410px);
    bottom: clamp(-92px, -4vw, -34px);
    transform: rotate(-4deg);
}

.cup-commerce-hero__leaf {
    width: clamp(48px, 6vw, 88px);
    height: clamp(48px, 6vw, 88px);
    background-image: var(--leaf-image);
    opacity: .72;
    filter: drop-shadow(0 10px 14px rgba(0,0,0,.18));
}

.cup-commerce-hero__leaf--one {
    top: 23%;
    right: 38%;
    transform: rotate(-18deg);
}

.cup-commerce-hero__leaf--two {
    top: 16%;
    right: 12%;
    transform: rotate(26deg) scale(.72);
}

.cup-commerce-hero__leaf--three {
    bottom: 22%;
    right: 33%;
    transform: rotate(38deg) scale(.58);
}

.cup-commerce-shell {
    position: relative;
    z-index: 5;
    padding: 0 0 clamp(76px, 7vw, 120px);
    margin-top: clamp(-74px, -5vw, -44px);
}

.cup-commerce-card {
    position: relative;
    border: 1px solid rgba(42, 44, 28, .20);
    border-radius: 30px;
    background:
        linear-gradient(145deg, rgba(255, 251, 238, .86), rgba(244, 236, 215, .74));
    box-shadow: 0 24px 64px rgba(42, 44, 28, .14);
    color: var(--figma-dark, #2a2c1c);
}

.cup-card-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 24px;
}

.cup-card-head h2,
.cup-order-summary h2,
.cup-empty-state h2 {
    margin: 0;
    color: var(--figma-dark, #2a2c1c);
    font-size: clamp(34px, 3vw, 56px);
    line-height: .95;
    letter-spacing: .025em;
    text-transform: uppercase;
    font-weight: 400;
}

.cup-card-head__link {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 0 18px;
    border: 1px solid rgba(42, 44, 28, .28);
    border-radius: 10px;
    color: var(--figma-dark, #2a2c1c);
    font-size: 18px;
    line-height: 1;
    text-decoration: none;
    transition: background .18s ease, transform .18s ease;
}

.cup-card-head__link:hover {
    background: rgba(42, 44, 28, .08);
    transform: translateY(-1px);
}

.cup-order-layout,
.cup-checkout-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(340px, 420px);
    gap: clamp(22px, 3vw, 42px);
    align-items: start;
}

.cup-cart-card,
.cup-checkout-card,
.cup-order-summary,
.cup-empty-state {
    padding: clamp(24px, 3vw, 42px);
}

.cup-cart-list {
    display: grid;
    gap: 18px;
}

.cup-cart-item {
    display: grid;
    grid-template-columns: clamp(132px, 14vw, 190px) minmax(0, 1fr);
    gap: clamp(18px, 2vw, 28px);
    padding: clamp(16px, 2vw, 24px);
    border: 1px solid rgba(42, 44, 28, .18);
    border-radius: 24px;
    background: rgba(255, 250, 234, .64);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.5);
}

.cup-cart-item__image {
    display: block;
    aspect-ratio: 1 / 1;
    border-radius: 22px;
    overflow: hidden;
    background: rgba(42, 44, 28, .06);
    align-self: start;
}

.cup-cart-item__image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transform: scale(1.04);
}

.cup-cart-item__body {
    display: grid;
    gap: 20px;
    min-width: 0;
}

.cup-cart-item__main h3 {
    margin: 0;
    color: var(--figma-dark, #2a2c1c);
    font-size: clamp(30px, 2.8vw, 48px);
    line-height: .96;
    font-weight: 400;
}

.cup-cart-item__main h3 a {
    color: inherit;
    text-decoration: none;
}

.cup-cart-item__mods,
.cup-checkout-summary-item__mods {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 14px;
}

.cup-modifier-chip,
.cup-checkout-summary-item__mods span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 34px;
    padding: 0 11px;
    border: 1px solid rgba(42, 44, 28, .20);
    border-radius: 10px;
    background: rgba(244, 236, 215, .78);
    color: var(--figma-dark, #2a2c1c);
    font-size: 15px;
}

.cup-cart-item__meta {
    display: grid;
    grid-template-columns: minmax(96px, .9fr) auto minmax(112px, .95fr) auto;
    gap: 16px;
    align-items: end;
}

.cup-cart-price strong,
.cup-cart-sum strong {
    display: block;
    color: var(--figma-dark, #2a2c1c);
    font-size: clamp(26px, 2.2vw, 38px);
    line-height: 1;
    font-weight: 400;
}

.cup-cart-qty {
    display: block;
}

.cup-qty-stepper,
.qty-stepper.cup-qty-stepper {
    display: grid;
    grid-template-columns: 54px 78px 54px;
    align-items: center;
    height: 58px;
    overflow: hidden;
    border: 1px solid rgba(42, 44, 28, .26);
    border-radius: 10px !important;
    background: rgba(244, 236, 215, .86);
    box-shadow: 0 8px 0 rgba(42, 44, 28, .12);
}

.cup-qty-stepper .qty-stepper__btn,
.cup-qty-stepper .qty-stepper__input {
    height: 58px;
    min-height: 58px;
    border: 0;
    border-radius: 0 !important;
    background: transparent;
    color: var(--figma-dark, #2a2c1c);
    font-size: 26px;
    line-height: 58px;
    font-weight: 400;
    text-align: center;
    padding: 0;
}

.cup-qty-stepper .qty-stepper__btn {
    cursor: pointer;
}

.cup-qty-stepper .qty-stepper__btn:hover {
    background: rgba(42, 44, 28, .08);
}

.cup-qty-stepper .qty-stepper__input {
    width: 78px;
    outline: none;
    -moz-appearance: textfield;
}

.cup-qty-stepper .qty-stepper__input::-webkit-outer-spin-button,
.cup-qty-stepper .qty-stepper__input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.cup-cart-remove {
    min-height: 44px;
    padding: 0 16px;
    border: 1px solid rgba(42, 44, 28, .22);
    border-radius: 10px;
    background: transparent;
    color: var(--figma-dark, #2a2c1c);
    cursor: pointer;
    font-size: 16px;
    line-height: 1;
    transition: background .18s ease, transform .18s ease;
}

.cup-cart-remove:hover {
    background: rgba(42, 44, 28, .08);
    transform: translateY(-1px);
}

.cup-order-summary {
    position: sticky;
    top: 118px;
}

.cup-order-summary__row {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px;
    padding: 18px 0;
    border-top: 1px solid rgba(42, 44, 28, .18);
}

.cup-order-summary__row:first-of-type {
    margin-top: 24px;
}

.cup-order-summary__row strong {
    color: var(--figma-dark, #2a2c1c);
    font-size: clamp(24px, 2.2vw, 38px);
    line-height: .95;
    font-weight: 400;
    white-space: nowrap;
}

.cup-order-summary__row--total {
    margin-bottom: 20px;
}

.cup-order-summary__row--total strong {
    font-size: clamp(34px, 3.2vw, 56px);
}

.cup-commerce-btn,
.cup-commerce-page .btn,
.cup-commerce-page button.btn,
.cup-commerce-page a.btn {
    width: 100%;
    min-height: 62px;
    border-radius: 10px !important;
    font-size: clamp(20px, 1.7vw, 28px);
    line-height: 1;
    font-weight: 400;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.cup-commerce-page .btn-primary,
.cup-commerce-btn.btn-primary {
    border-color: var(--figma-dark-2, #1f2418);
    background: var(--figma-dark-2, #1f2418);
    color: var(--figma-cream, #f4ecd7);
}

.cup-commerce-page .btn-secondary,
.cup-commerce-btn--light {
    border-color: rgba(42, 44, 28, .26);
    background: rgba(244, 236, 215, .68);
    color: var(--figma-dark, #2a2c1c);
}

.cup-order-summary .cup-commerce-btn + .cup-commerce-btn,
.cup-order-summary .cup-commerce-btn + .cup-order-summary__note,
.cup-order-summary__note + .cup-commerce-btn {
    margin-top: 12px;
}

.cup-order-summary__note {
    margin: 16px 0 0;
    color: rgba(42, 44, 28, .66);
    font-size: 17px;
    line-height: 1.3;
}

.cup-empty-state {
    min-height: 360px;
    display: grid;
    grid-template-columns: minmax(220px, 360px) minmax(0, 1fr);
    gap: clamp(28px, 5vw, 80px);
    align-items: center;
}

.cup-empty-state__image {
    width: 100%;
    aspect-ratio: 1 / 1;
    background: var(--empty-image) center / contain no-repeat;
    filter: drop-shadow(0 18px 28px rgba(42, 44, 28, .16));
}

.cup-empty-state__content p:not(.cup-commerce-eyebrow) {
    max-width: 560px;
    margin: 18px 0 28px;
    color: rgba(42, 44, 28, .72);
    font-size: clamp(20px, 2vw, 28px);
    line-height: 1.24;
}

.cup-empty-state .cup-commerce-btn {
    max-width: 340px;
}

.cup-checkout-layout {
    grid-template-columns: minmax(0, 1.58fr) minmax(360px, 460px);
}

.cup-checkout-main {
    display: grid;
    gap: 22px;
    min-width: 0;
}

.cup-checkout-sidebar {
    position: relative;
    min-width: 0;
}

.cup-form-grid,
.checkout-grid.cup-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.cup-form-field,
.form-field.cup-form-field {
    display: grid;
    gap: 8px;
    min-width: 0;
    margin: 0;
}

.cup-form-field span {
    color: rgba(42, 44, 28, .76);
    font-size: 17px;
    line-height: 1;
    letter-spacing: .055em;
    text-transform: uppercase;
}

.cup-commerce-page input:not([type="radio"]),
.cup-commerce-page select,
.cup-commerce-page textarea {
    width: 100%;
    min-width: 0;
    min-height: 58px;
    padding: 0 18px;
    border: 1px solid rgba(42, 44, 28, .22);
    border-radius: 10px;
    background: rgba(255, 250, 234, .68);
    color: var(--figma-dark, #2a2c1c);
    font-size: 20px;
    line-height: 1.2;
    outline: none;
    transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.cup-commerce-page textarea {
    min-height: 122px;
    padding: 16px 18px;
    resize: vertical;
}

.cup-commerce-page input:not([type="radio"]):focus,
.cup-commerce-page select:focus,
.cup-commerce-page textarea:focus {
    border-color: rgba(42, 44, 28, .48);
    background: rgba(255, 250, 234, .92);
    box-shadow: 0 0 0 4px rgba(42, 44, 28, .08);
}

.cup-radio-list,
.checkout-radio-list.cup-radio-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.cup-radio-tile,
.checkout-radio.cup-radio-tile {
    position: relative;
    display: grid;
    min-height: 104px;
    padding: 18px 18px 18px 58px;
    border: 1px solid rgba(42, 44, 28, .22);
    border-radius: 18px;
    background: rgba(255, 250, 234, .58);
    cursor: pointer;
    overflow: hidden;
    transition: background .18s ease, border-color .18s ease, transform .18s ease;
}

.cup-radio-tile:hover {
    transform: translateY(-1px);
    background: rgba(255, 250, 234, .82);
}

.cup-radio-tile input[type="radio"] {
    position: absolute;
    left: 20px;
    top: 22px;
    width: 22px;
    height: 22px;
    accent-color: var(--figma-dark-2, #1f2418);
}

.cup-radio-tile span {
    display: grid;
    gap: 7px;
}

.cup-radio-tile strong {
    color: var(--figma-dark, #2a2c1c);
    font-size: clamp(24px, 2.2vw, 34px);
    line-height: 1;
    font-weight: 400;
    text-transform: uppercase;
}

.cup-radio-tile small {
    color: rgba(42, 44, 28, .64);
    font-size: 16px;
    line-height: 1.2;
}

.cup-radio-tile:has(input:checked) {
    border-color: rgba(42, 44, 28, .70);
    background: rgba(42, 44, 28, .09);
    box-shadow: inset 0 0 0 1px rgba(42, 44, 28, .18);
}

.cup-checkout-hint,
.checkout-hint.cup-checkout-hint {
    margin-top: 16px;
    padding: 16px 18px;
    border: 1px solid rgba(42, 44, 28, .16);
    border-radius: 14px;
    background: rgba(42, 44, 28, .055);
    color: rgba(42, 44, 28, .72);
    font-size: 17px;
    line-height: 1.3;
}

.checkout-address-suggest {
    position: absolute;
    z-index: 20;
    top: calc(100% + 8px);
    left: 0;
    right: 0;
    padding: 8px;
    border: 1px solid rgba(42, 44, 28, .22);
    border-radius: 14px;
    background: rgba(244, 236, 215, .96);
    box-shadow: 0 16px 42px rgba(42, 44, 28, .18);
}

.checkout-address-field {
    position: relative;
}

.checkout-address-suggest__item {
    width: 100%;
    min-height: 44px;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: var(--figma-dark, #2a2c1c);
    text-align: left;
    font-size: 17px;
    cursor: pointer;
    padding: 0 12px;
}

.checkout-address-suggest__item:hover {
    background: rgba(42, 44, 28, .08);
}

.checkout-field-note {
    color: rgba(42, 44, 28, .58);
    font-size: 15px;
}

.cup-checkout-summary-list {
    display: grid;
    gap: 14px;
    max-height: min(44vh, 480px);
    overflow: auto;
    padding-right: 4px;
    margin: 22px 0 24px;
}

.cup-checkout-summary-item {
    display: grid;
    grid-template-columns: 76px minmax(0, 1fr);
    gap: 14px;
    padding: 12px;
    border: 1px solid rgba(42, 44, 28, .16);
    border-radius: 18px;
    background: rgba(255, 250, 234, .56);
}

.cup-checkout-summary-item img {
    width: 76px;
    height: 76px;
    object-fit: contain;
    border-radius: 14px;
    background: rgba(42, 44, 28, .055);
}

.cup-checkout-summary-item__head {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 12px;
}

.cup-checkout-summary-item__head strong {
    color: var(--figma-dark, #2a2c1c);
    font-size: 21px;
    line-height: 1.05;
    font-weight: 400;
    text-transform: uppercase;
}

.cup-checkout-summary-item__head span {
    color: rgba(42, 44, 28, .70);
    font-size: 18px;
    white-space: nowrap;
}

.cup-checkout-summary-item__mods {
    margin-top: 8px;
    gap: 5px;
}

.cup-checkout-summary-item__mods span {
    min-height: 26px;
    padding: 0 8px;
    font-size: 13px;
}

.cup-checkout-summary-item__sum {
    margin-top: 10px;
    color: var(--figma-dark, #2a2c1c);
    font-size: 22px;
    line-height: 1;
}

@media (max-width: 1180px) {
    .cup-commerce-hero__status {
        display: none;
    }

    .cup-commerce-hero__decor--coffee {
        right: 18vw;
        opacity: .82;
    }

    .cup-order-layout,
    .cup-checkout-layout {
        grid-template-columns: 1fr;
    }

    .cup-order-summary {
        position: static;
    }
}

@media (max-width: 820px) {
    .cup-commerce-hero {
        min-height: 430px;
        padding-top: 132px;
        padding-bottom: 100px;
    }

    .cup-commerce-hero__inner {
        align-items: flex-start;
    }

    .cup-commerce-hero h1 {
        font-size: clamp(48px, 13vw, 82px);
    }

    .cup-commerce-hero p:not(.cup-commerce-eyebrow) {
        font-size: 20px;
    }

    .cup-commerce-hero__decor--pizza {
        width: 260px;
        height: 260px;
        right: -88px;
        bottom: -64px;
        opacity: .72;
    }

    .cup-commerce-hero__decor--coffee {
        width: 170px;
        height: 230px;
        right: 88px;
        bottom: -62px;
        opacity: .70;
    }

    .cup-commerce-shell {
        margin-top: -48px;
    }

    .cup-cart-item {
        grid-template-columns: 112px minmax(0, 1fr);
    }

    .cup-cart-item__meta {
        grid-template-columns: 1fr;
        align-items: stretch;
    }

    .cup-qty-stepper,
    .qty-stepper.cup-qty-stepper {
        grid-template-columns: 1fr 1.2fr 1fr;
        width: 100%;
    }

    .cup-qty-stepper .qty-stepper__input {
        width: 100%;
    }

    .cup-form-grid,
    .checkout-grid.cup-form-grid,
    .cup-radio-list,
    .checkout-radio-list.cup-radio-list,
    .cup-empty-state {
        grid-template-columns: 1fr;
    }

    .cup-empty-state__image {
        max-width: 240px;
        margin: 0 auto;
    }
}

@media (max-width: 560px) {
    .cup-cart-card,
    .cup-checkout-card,
    .cup-order-summary,
    .cup-empty-state {
        padding: 20px;
        border-radius: 22px;
    }

    .cup-cart-item {
        grid-template-columns: 1fr;
    }

    .cup-cart-item__image {
        width: min(100%, 250px);
        margin-inline: auto;
    }

    .cup-card-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .cup-card-head h2,
    .cup-order-summary h2,
    .cup-empty-state h2 {
        font-size: 34px;
    }

    .cup-commerce-btn,
    .cup-commerce-page .btn,
    .cup-commerce-page button.btn,
    .cup-commerce-page a.btn {
        min-height: 56px;
        font-size: 20px;
    }

    .cup-checkout-summary-item {
        grid-template-columns: 64px minmax(0, 1fr);
    }

    .cup-checkout-summary-item img {
        width: 64px;
        height: 64px;
    }
}


.page-template-page-cart-php .site-footer,
.page-template-page-checkout-php .site-footer,
.page-template-templatespage-cart-php .site-footer,
.page-template-templatespage-checkout-php .site-footer {
    margin-top: 0;
    border-top: 0;
    background: var(--figma-dark-2, #1f2418);
    color: var(--figma-cream, #f4ecd7);
    font-family: var(--site-font, 'Kelly Slab', serif);
}

.page-template-page-cart-php .site-footer a,
.page-template-page-checkout-php .site-footer a,
.page-template-templatespage-cart-php .site-footer a,
.page-template-templatespage-checkout-php .site-footer a {
    color: var(--figma-cream, #f4ecd7);
}

.page-template-page-cart-php .site-footer h3,
.page-template-page-checkout-php .site-footer h3,
.page-template-templatespage-cart-php .site-footer h3,
.page-template-templatespage-checkout-php .site-footer h3 {
    font-family: 'LosAngelesDeco', var(--site-font, 'Kelly Slab', serif);
    font-size: clamp(46px, 6vw, 92px);
    line-height: .8;
    margin: 0 0 18px;
}


/* =========================
   Round 10: cart details, checkout copy, result pages and visible map
========================= */
body.page-template-page-cart-php .site-main,
body.page-template-page-checkout-php .site-main,
body.page-template-templatespage-cart-php .site-main,
body.page-template-templatespage-checkout-php .site-main,
body.page-template-page-success-php .site-main,
body.error404 .site-main {
    padding-top: 0 !important;
}

.cup-commerce-hero--cart h1 {
    max-width: 780px;
}

button.cup-cart-item__image {
    padding: 0;
    border: 0;
    cursor: pointer;
}

button.cup-cart-item__image:hover img,
.cup-cart-item__title-button:hover {
    transform: translateY(-1px);
}

.cup-cart-item__title-button {
    appearance: none;
    border: 0;
    padding: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    line-height: inherit;
    text-align: left;
    cursor: pointer;
    transition: transform .18s ease, opacity .18s ease;
}

.cup-cart-remove {
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 10px !important;
    border-color: rgba(42, 44, 28, .24) !important;
    background: rgba(244, 236, 215, .62) !important;
    color: var(--figma-dark, #2a2c1c) !important;
    font-size: 32px !important;
    line-height: 1 !important;
    box-shadow: 0 7px 0 rgba(42, 44, 28, .10);
}

.cup-cart-remove span {
    display: block;
    transform: translateY(-1px);
}

.cup-cart-remove:hover,
.cup-cart-remove:focus-visible {
    background: var(--figma-dark, #2a2c1c) !important;
    color: var(--figma-cream, #f4ecd7) !important;
    transform: translateY(-2px);
}

.cup-cart-item__meta {
    grid-template-columns: minmax(96px, .85fr) auto minmax(112px, .9fr) 44px;
}

.figma-contact-scene--assets .figma-map-card {
    padding: 0 !important;
    overflow: hidden !important;
    background: rgba(217, 217, 217, .92) !important;
    box-shadow: 0 22px 50px rgba(32, 38, 25, .12) !important;
}

.figma-contact-scene--assets .figma-map-card iframe {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    border: 0 !important;
    filter: saturate(.82) contrast(.96);
    z-index: 1 !important;
}

.figma-contact-scene--assets .figma-map-card__open {
    position: relative !important;
    z-index: 2 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 58px !important;
    padding: 0 22px !important;
    border: 1px solid rgba(244, 236, 215, .56) !important;
    border-radius: 10px !important;
    background: rgba(31, 36, 24, .72) !important;
    color: var(--figma-cream, #f4ecd7) !important;
    text-decoration: none !important;
    backdrop-filter: blur(14px) saturate(160%);
    -webkit-backdrop-filter: blur(14px) saturate(160%);
    box-shadow: 0 16px 35px rgba(32, 38, 25, .20);
}

.figma-contact-scene--assets .figma-map-card__open span {
    color: inherit !important;
    font-size: clamp(18px, 1.35vw, 24px) !important;
    letter-spacing: .04em !important;
}

.figma-contact-scene--assets .figma-map-card__open:hover {
    transform: translateY(-2px);
}

.cup-result-page {
    min-height: 100vh;
}

.cup-result-shell {
    max-width: 1080px;
}

.cup-result-card {
    display: grid;
    grid-template-columns: clamp(92px, 11vw, 150px) minmax(0, 1fr);
    gap: clamp(22px, 4vw, 54px);
    align-items: center;
    padding: clamp(28px, 5vw, 64px);
}

.cup-result-card__icon {
    width: clamp(88px, 10vw, 140px);
    height: clamp(88px, 10vw, 140px);
    border: 1px solid rgba(42, 44, 28, .24);
    border-radius: 24px;
    display: grid;
    place-items: center;
    background: var(--figma-dark, #2a2c1c);
    color: var(--figma-cream, #f4ecd7);
    font-size: clamp(54px, 7vw, 96px);
    line-height: 1;
    box-shadow: 0 12px 0 rgba(42, 44, 28, .16);
}

.cup-result-card h2 {
    margin: 0;
    color: var(--figma-dark, #2a2c1c);
    font-size: clamp(38px, 5vw, 76px);
    line-height: .9;
    font-weight: 400;
    letter-spacing: .03em;
    text-transform: uppercase;
}

.cup-result-order,
.cup-result-text {
    margin: 18px 0 0;
    color: rgba(42, 44, 28, .72);
    font-size: clamp(20px, 2vw, 30px);
    line-height: 1.22;
}

.cup-result-order strong {
    color: var(--figma-dark, #2a2c1c);
    font-weight: 400;
}

.cup-result-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 260px));
    gap: 14px;
    margin-top: 30px;
}

.cup-result-actions .cup-commerce-btn {
    width: 100%;
}

.page-template-page-success-php .figma-site-footer,
body.error404 .figma-site-footer,
body.page-template-page-cart-php .figma-site-footer,
body.page-template-page-checkout-php .figma-site-footer,
body.page-template-templatespage-cart-php .figma-site-footer,
body.page-template-templatespage-checkout-php .figma-site-footer {
    margin-top: 0 !important;
}

@media (max-width: 820px) {
    .cup-cart-item__meta {
        grid-template-columns: 1fr;
    }

    .cup-cart-remove {
        justify-self: start;
    }

    .cup-result-card {
        grid-template-columns: 1fr;
        text-align: left;
    }

    .cup-result-actions {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 560px) {
    .figma-contact-scene--assets .figma-map-card__open {
        min-height: 48px !important;
        padding: 0 14px !important;
    }

    .figma-contact-scene--assets .figma-map-card__open span {
        font-size: 16px !important;
    }
}

/* Round 10 compatibility for WordPress page-template body class variants. */
body.page-template-templates-page-cart-php .site-main,
body.page-template-templates-page-checkout-php .site-main {
    padding-top: 0 !important;
}

body.page-template-templates-page-cart-php .figma-site-footer,
body.page-template-templates-page-checkout-php .figma-site-footer {
    margin-top: 0 !important;
}

/* =========================
   Round 11: uploaded pizza SVG, clean map, functional mobile adaptation
========================= */
:root {
    --the-cup-mobile-gutter: 14px;
}

.figma-contact-scene--assets .figma-map-card__open,
.figma-contact-scene--assets .figma-map-card__open span,
.figma-map-card span:not(.figma-leaf) {
    display: none !important;
}

.figma-map-card iframe {
    display: block !important;
}

.figma-product-card__price,
.figma-card-stepper,
.thecup-product-modal__submit,
.cup-commerce-btn,
.cup-commerce-page .btn,
button.btn,
a.btn {
    border-radius: 10px !important;
}

.figma-promo-card:empty,
.figma-event-card:empty,
.figma-empty-card,
.figma-empty-card--promo {
    display: none !important;
}

@media (max-width: 760px) {
    html,
    body {
        max-width: 100%;
        overflow-x: hidden;
    }

    body {
        font-size: 16px;
    }

    .glass-header .redesigned-header,
    .figma-home-header .redesigned-header {
        width: 100% !important;
        min-height: 54px !important;
        margin: 0 !important;
        padding: 0 8px !important;
        border-left: 0 !important;
        border-right: 0 !important;
        border-radius: 0 !important;
        display: grid !important;
        grid-template-columns: auto 1fr auto !important;
        gap: 8px !important;
    }

    body.admin-bar .glass-header,
    body.admin-bar .figma-home-header.glass-header {
        top: 46px !important;
    }

    .logo-text,
    .figma-home-header .logo-text {
        font-size: 18px !important;
        letter-spacing: .04em !important;
        white-space: nowrap;
    }

    .glass-nav {
        justify-self: center;
        min-width: 0;
    }

    .glass-nav ul,
    .figma-home-header .glass-nav ul {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .glass-nav li:not(.header-menu-item--dropdown) {
        display: none !important;
    }

    .header-menu-toggle {
        min-height: 42px;
        padding: 0 12px;
        border: 1px solid rgba(244, 236, 215, .24);
        border-radius: 10px;
        background: rgba(244, 236, 215, .08);
        font-size: 14px !important;
        letter-spacing: .05em;
    }

    .header-menu-toggle::after {
        display: none !important;
    }

    .header-menu-toggle__chevron {
        width: 9px;
        height: 9px;
        border-width: 1px;
    }

    .header-menu-dropdown {
        top: calc(100% + 10px) !important;
        left: 50% !important;
        width: min(286px, calc(100vw - 28px)) !important;
        max-height: min(70dvh, 430px) !important;
        padding: 10px !important;
        border-radius: 18px !important;
    }

    .header-menu-item--dropdown:hover .header-menu-dropdown,
    .header-menu-item--dropdown:focus-within .header-menu-dropdown,
    .header-menu-item--dropdown.is-open .header-menu-dropdown {
        transform: translate(-50%, 0) !important;
    }

    .glass-nav .header-menu-dropdown__link {
        min-height: 42px;
        padding: 0 10px;
        font-size: 15px !important;
        gap: 10px;
    }

    .header-menu-dropdown__icon {
        flex-basis: 24px;
        width: 24px;
        height: 24px;
        border-radius: 8px;
    }

    .redesigned-actions {
        gap: 0 !important;
        justify-self: end;
    }

    .header-phone {
        display: none !important;
    }

    .header-cart {
        min-height: 40px !important;
        padding: 0 10px !important;
        border-radius: 10px !important;
        font-size: 0 !important;
        white-space: nowrap;
    }

    .header-cart::before {
        content: 'Корзина';
        font-size: 12px;
    }

    .header-cart span {
        margin-left: 4px !important;
        font-size: 12px !important;
    }

    .site-main:not(.figma-home-main) {
        padding-top: 54px !important;
    }

    .figma-home-container,
    .figma-box-container,
    .figma-promo-container,
    .figma-product-grid,
    .figma-home-header .redesigned-header {
        width: calc(100% - 12px) !important;
    }

    .figma-home-hero.redesigned-hero {
        height: 720px !important;
        min-height: 720px !important;
        margin-top: 0 !important;
    }

    .figma-hero-heading {
        display: none !important;
    }

    .figma-hero-food {
        filter: drop-shadow(0 9px 10px rgba(0, 0, 0, .16));
    }

    .figma-hero-food--left {
        width: 150px !important;
        height: 150px !important;
        left: 14px !important;
        top: 70px !important;
    }

    .figma-hero-food--top {
        width: 74px !important;
        height: 74px !important;
        right: auto !important;
        left: -9px !important;
        top: 260px !important;
    }

    .figma-hero-food--center {
        width: 106px !important;
        height: 106px !important;
        left: 4px !important;
        top: 310px !important;
    }

    .figma-hero-food--right {
        width: 260px !important;
        height: 260px !important;
        right: -116px !important;
        top: 275px !important;
    }

    .figma-hero-food--bottom {
        width: 270px !important;
        height: 270px !important;
        left: -116px !important;
        top: auto !important;
        bottom: -22px !important;
    }

    .figma-top-cards,
    .figma-home-promos {
        padding: 22px 0 36px !important;
    }

    .figma-menu-title,
    .figma-promotions__title,
    .figma-about__title {
        font-size: 23px !important;
        line-height: 1 !important;
        margin-bottom: 14px !important;
    }

    .figma-home-menu {
        padding-top: 18px !important;
    }

    .figma-menu-nav,
    .figma-menu-nav.figma-home-container {
        display: none !important;
    }

    .figma-menu-category {
        margin-bottom: 24px !important;
        scroll-margin-top: 68px;
    }

    .figma-menu-label {
        min-width: 72px !important;
        height: auto !important;
        min-height: 22px !important;
        padding: 4px 14px 4px 8px !important;
        justify-content: flex-start !important;
        border-radius: 0 10px 10px 0 !important;
        font-size: 13px !important;
        box-shadow: 0 7px 16px rgba(32, 38, 25, .18) !important;
    }

    .figma-product-grid {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
        margin-top: 10px !important;
    }

    .figma-product-card {
        min-height: 0 !important;
        height: auto !important;
        display: grid !important;
        grid-template-columns: 112px minmax(0, 1fr) !important;
        grid-template-areas:
            'image title'
            'image desc'
            'image cart' !important;
        column-gap: 10px !important;
        align-items: center !important;
        text-align: left !important;
        padding: 0 !important;
        color: var(--figma-dark) !important;
    }

    .figma-product-card__image {
        grid-area: image !important;
        width: 108px !important;
        height: 108px !important;
        margin: 0 !important;
        align-self: center !important;
    }

    .figma-product-card__title {
        grid-area: title !important;
        min-height: 0 !important;
        margin: 0 0 3px !important;
        justify-content: flex-start !important;
        text-align: left !important;
        font-size: 22px !important;
        line-height: 1 !important;
    }

    .figma-product-card__title-button {
        text-align: left !important;
        -webkit-line-clamp: 1 !important;
    }

    .figma-product-card__desc,
    .figma-product-card__desc--empty {
        grid-area: desc !important;
        width: auto !important;
        height: auto !important;
        min-height: 32px !important;
        margin: 0 0 7px !important;
        font-size: 10px !important;
        line-height: 1.12 !important;
        -webkit-line-clamp: 3 !important;
        text-align: left !important;
    }

    .figma-product-card__cart-form {
        grid-area: cart !important;
        justify-content: stretch !important;
        margin: 0 !important;
    }

    .figma-product-card__price,
    .figma-card-stepper {
        width: 100% !important;
        max-width: 100% !important;
        height: 38px !important;
        min-height: 38px !important;
        border-radius: 10px !important;
    }

    .figma-product-card__price {
        padding: 0 10px !important;
        font-size: 15px !important;
        letter-spacing: .02em !important;
    }

    .figma-card-stepper {
        grid-template-columns: 42px 1fr 42px !important;
        box-shadow: 0 6px 0 rgba(32, 38, 25, .12), 0 10px 16px rgba(32, 38, 25, .08) !important;
    }

    .figma-card-stepper__btn,
    .figma-card-stepper__value {
        font-size: 19px !important;
    }

    .figma-product-card--drink {
        grid-template-columns: 126px minmax(0, 1fr) !important;
        min-height: 96px !important;
        padding: 0 8px 0 0 !important;
        border-radius: 10px !important;
        background: var(--figma-dark) !important;
        color: var(--figma-cream) !important;
        overflow: hidden !important;
    }

    .figma-product-card--drink .figma-product-card__image {
        width: 126px !important;
        height: 106px !important;
        margin: 0 0 -10px -10px !important;
    }

    .figma-product-card--drink .figma-product-card__title {
        color: var(--figma-cream) !important;
        font-size: 20px !important;
        line-height: 1 !important;
        min-height: 0 !important;
        align-self: end !important;
    }

    .figma-product-card--drink .figma-product-card__desc,
    .figma-product-card--drink .figma-product-card__desc--empty {
        display: none !important;
    }

    .figma-product-card--drink .figma-product-card__cart-form {
        align-self: start !important;
    }

    .figma-product-card--drink .figma-product-card__price,
    .figma-product-card--drink .figma-card-stepper {
        height: 35px !important;
        min-height: 35px !important;
        border: 1px solid rgba(244, 236, 215, .86) !important;
        background: transparent !important;
        color: var(--figma-cream) !important;
        box-shadow: none !important;
    }

    .figma-product-card--drink .figma-card-stepper__btn,
    .figma-product-card--drink .figma-card-stepper__value {
        color: var(--figma-cream) !important;
    }

    .figma-home-promos__grid,
    .figma-events__grid,
    .figma-top-cards__grid,
    .figma-promotions__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px !important;
    }

    .figma-promo-card,
    .figma-event-card {
        min-height: 0 !important;
        border-radius: 10px !important;
        box-shadow: 0 9px 20px rgba(32, 38, 25, .10) !important;
    }

    .figma-promo-card__image,
    .figma-event-card__image {
        aspect-ratio: 1 / 1.18 !important;
        min-height: 0 !important;
    }

    .figma-promo-card__body,
    .figma-event-card__content {
        padding: 10px !important;
    }

    .figma-promo-card__title,
    .figma-event-card h3 {
        font-size: 20px !important;
    }

    .figma-promo-card__text,
    .figma-event-card p,
    .figma-event-card__meta {
        font-size: 12px !important;
    }

    .figma-about__video {
        height: 300px !important;
    }

    .figma-contact-scene,
    .figma-contact-scene--assets {
        height: 430px !important;
        min-height: 430px !important;
    }

    .figma-contact-scene .figma-map-card,
    .figma-contact-scene--assets .figma-map-card {
        left: 6px !important;
        top: 88px !important;
        width: 46vw !important;
        height: 138px !important;
        min-height: 0 !important;
    }

    .figma-contact-food--coffee {
        left: 46% !important;
        top: 82px !important;
        width: 150px !important;
        height: 185px !important;
    }

    .figma-contact-food--pizza {
        left: 69% !important;
        top: 142px !important;
        width: 116px !important;
        height: 116px !important;
    }

    .figma-contact-ribbon {
        top: 238px !important;
        left: -22px !important;
        right: -22px !important;
        height: 48px !important;
        min-height: 48px !important;
        padding: 0 16px !important;
        display: grid !important;
        grid-template-columns: 1fr 1fr 1fr !important;
        gap: 8px !important;
        font-size: 9px !important;
        line-height: 1.05 !important;
        font-style: italic !important;
        align-items: center !important;
        text-align: center !important;
    }

    .figma-contact-ribbon span,
    .figma-contact-ribbon a {
        min-width: 0;
        white-space: normal;
    }

    .figma-leaf {
        width: 24px !important;
        height: 18px !important;
        background-size: contain !important;
    }

    .figma-leaf--1 { left: 56% !important; top: 38px !important; }
    .figma-leaf--2 { left: 72% !important; top: 62px !important; }
    .figma-leaf--3 { left: 88% !important; top: 78px !important; }
    .figma-leaf--4 { left: 40% !important; top: 176px !important; }
    .figma-leaf--5 { right: 8% !important; top: 286px !important; }
    .figma-leaf--6 { left: 52% !important; top: 318px !important; }
    .figma-leaf--7 { left: 64% !important; top: 340px !important; }
    .figma-leaf--8 { left: 78% !important; top: 326px !important; }
    .figma-leaf--9,
    .figma-leaf--10,
    .figma-leaf--11,
    .figma-leaf--12 { display: none !important; }

    .figma-site-footer {
        height: 330px !important;
    }

    .figma-site-footer__watermark {
        left: 50% !important;
        top: 66% !important;
        transform: translate(-50%, -50%) !important;
        font-size: clamp(170px, 78vw, 330px) !important;
    }

    .figma-site-footer__contacts {
        left: 18px !important;
        right: 18px !important;
        bottom: 36px !important;
        display: flex !important;
        justify-content: space-between !important;
        gap: 12px !important;
        font-size: 12px !important;
    }
}

@media (max-width: 600px) {
    .thecup-product-modal {
        align-items: flex-start !important;
        padding: 10px !important;
        overflow-y: auto;
    }

    .thecup-product-modal__dialog {
        width: 100% !important;
        max-height: calc(100dvh - 20px) !important;
        min-height: min(760px, calc(100dvh - 20px)) !important;
        display: flex !important;
        flex-direction: column !important;
        padding: 0 !important;
        border-radius: 24px !important;
        overflow: hidden !important;
    }

    .thecup-product-modal__close {
        top: 12px !important;
        right: 12px !important;
        width: 38px !important;
        height: 38px !important;
        font-size: 28px !important;
        z-index: 8 !important;
    }

    .thecup-product-modal__media {
        flex: 0 0 auto !important;
        width: 100% !important;
        min-height: 168px !important;
        height: 168px !important;
        border-radius: 0 !important;
        overflow: visible !important;
    }

    .thecup-product-modal__dialog--food .thecup-product-modal__media img,
    .thecup-product-modal__dialog--drink .thecup-product-modal__media img {
        width: 100% !important;
        height: 100% !important;
        max-width: 100% !important;
        max-height: 100% !important;
        object-fit: contain !important;
        transform: none !important;
    }

    .thecup-product-modal__dialog--drink .thecup-product-modal__media {
        position: absolute !important;
        left: -24px !important;
        top: 0 !important;
        width: 160px !important;
        height: 235px !important;
        min-height: 0 !important;
        z-index: 1 !important;
        align-items: flex-start !important;
        justify-content: flex-start !important;
        pointer-events: none !important;
    }

    .thecup-product-modal__dialog--drink .thecup-product-modal__media img {
        width: auto !important;
        height: 100% !important;
        max-width: none !important;
        object-position: left top !important;
    }

    .thecup-product-modal__content {
        position: relative !important;
        z-index: 2 !important;
        flex: 1 1 auto !important;
        min-height: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 14px !important;
        padding: 18px 18px 18px !important;
        text-align: center !important;
        overflow: hidden !important;
    }

    .thecup-product-modal__dialog--drink .thecup-product-modal__content {
        padding-top: 28px !important;
    }

    .thecup-product-modal__dialog--drink .thecup-product-modal__head {
        min-height: 188px !important;
        margin-left: 130px !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: flex-start !important;
    }

    .thecup-product-modal__head h3,
    .thecup-product-modal__content h3 {
        padding: 0 !important;
        margin: 0 0 8px !important;
        font-size: 38px !important;
        line-height: .92 !important;
        letter-spacing: .04em !important;
    }

    .thecup-product-modal__description {
        max-width: 100% !important;
        font-size: 12px !important;
        line-height: 1.22 !important;
    }

    .thecup-product-modal__weight {
        margin-top: 6px !important;
        font-size: 13px !important;
    }

    .thecup-product-modal__form {
        flex: 1 1 auto !important;
        min-height: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 12px !important;
        overflow: hidden !important;
    }

    .thecup-product-modal__modifiers {
        flex: 1 1 auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        padding: 0 2px 8px !important;
        gap: 18px !important;
    }

    .thecup-modal-mod-group h4 {
        margin-bottom: 12px !important;
        font-size: 28px !important;
        line-height: .95 !important;
        text-align: left !important;
    }

    .thecup-product-modal__dialog--drink .thecup-modal-mod-group h4 {
        color: var(--figma-cream) !important;
    }

    .thecup-modal-pill-row {
        justify-content: center !important;
        gap: 10px !important;
    }

    .thecup-modal-pill span {
        min-width: 76px !important;
        min-height: 36px !important;
        padding: 0 12px !important;
        border-radius: 8px !important;
        font-size: 16px !important;
    }

    .thecup-modal-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 12px !important;
    }

    .thecup-modal-card {
        min-height: 122px !important;
        border-radius: 10px !important;
        padding: 10px 8px !important;
    }

    .thecup-modal-card__thumb {
        width: 58px !important;
        height: 58px !important;
    }

    .thecup-modal-card__name,
    .thecup-modal-card__price {
        font-size: 13px !important;
    }

    .thecup-product-modal__submit {
        flex: 0 0 68px !important;
        height: 68px !important;
        min-height: 68px !important;
        margin-top: 0 !important;
        border-radius: 10px !important;
        font-size: 36px !important;
        position: sticky !important;
        bottom: 0 !important;
        z-index: 4 !important;
    }

    .thecup-product-modal__message {
        flex: 0 0 auto !important;
        min-height: 18px !important;
        font-size: 13px !important;
    }
}

@media (max-width: 420px) {
    .figma-home-hero.redesigned-hero {
        height: 705px !important;
        min-height: 705px !important;
    }

    .figma-product-card {
        grid-template-columns: 100px minmax(0, 1fr) !important;
        column-gap: 8px !important;
    }

    .figma-product-card__image {
        width: 98px !important;
        height: 98px !important;
    }

    .figma-product-card__title {
        font-size: 20px !important;
    }

    .figma-product-card__desc,
    .figma-product-card__desc--empty {
        font-size: 9px !important;
    }

    .figma-product-card--drink {
        grid-template-columns: 112px minmax(0, 1fr) !important;
    }

    .figma-product-card--drink .figma-product-card__image {
        width: 118px !important;
    }

    .figma-contact-ribbon {
        font-size: 8px !important;
    }

    .thecup-product-modal__dialog--drink .thecup-product-modal__head {
        margin-left: 118px !important;
    }

    .thecup-product-modal__head h3,
    .thecup-product-modal__content h3 {
        font-size: 33px !important;
    }
}

/* =========================
   Round 12: compact header, burger navigation, sticky menu, editable footer text, Safari consistency
========================= */
:root {
    --the-cup-header-shell: 70px;
    --the-cup-sticky-categories-top: 86px;
    --site-font: 'Kelly Slab', 'Arial Narrow', Arial, sans-serif;
}

html {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

body,
button,
input,
select,
textarea,
a {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

.logo-text,
.figma-home-header .logo-text,
.figma-site-footer,
.figma-site-footer__watermark,
.figma-promotions__title,
.figma-events__title,
.figma-menu-title,
.figma-menu-label,
.figma-footer-text-card,
.site-menu-drawer {
    font-family: var(--site-font) !important;
}

.glass-header .redesigned-header,
.figma-home-header .redesigned-header {
    min-height: 58px !important;
    margin-top: 10px !important;
    padding: 0 18px !important;
    border-radius: 22px !important;
}

.logo-text,
.figma-home-header .logo-text {
    font-size: clamp(22px, 2.vw, 30px) !important;
    letter-spacing: .055em !important;
}

.site-main:not(.figma-home-main) {
    padding-top: 88px !important;
}

.header-nav,
.glass-nav {
    display: none !important;
}

.header-actions,
.redesigned-actions,
.figma-home-header .redesigned-actions {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}

.header-phone {
    font-size: 14px !important;
    letter-spacing: .045em !important;
    white-space: nowrap;
}

.header-cart {
    position: relative !important;
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0 !important;
    border-radius: 14px !important;
    border: 1px solid rgba(244, 236, 215, .36) !important;
    background: rgba(244, 236, 215, .13) !important;
    color: var(--figma-cream, #f4ecd7) !important;
    font-size: 0 !important;
    line-height: 1 !important;
    overflow: visible !important;
    -webkit-appearance: none;
    appearance: none;
}

.header-cart::before {
    content: none !important;
}

.header-cart__icon,
.header-cart__icon svg {
    width: 23px !important;
    height: 23px !important;
    display: block !important;
    margin: 0 !important;
}

.header-cart__count {
    position: absolute !important;
    top: -8px !important;
    right: -8px !important;
    min-width: 21px !important;
    height: 21px !important;
    padding: 0 5px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 999px !important;
    background: var(--figma-cream, #f4ecd7) !important;
    color: var(--figma-dark, #202619) !important;
    border: 1px solid rgba(32, 38, 25, .22) !important;
    font-size: 11px !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    margin: 0 !important;
    font-family: Arial, sans-serif !important;
}

.header-burger {
    width: 44px;
    height: 44px;
    min-width: 44px;
    padding: 0;
    border: 1px solid rgba(244, 236, 215, .36);
    border-radius: 14px;
    background: rgba(244, 236, 215, .13);
    color: var(--figma-cream, #f4ecd7);
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
    transition: transform .18s ease, background .18s ease, border-color .18s ease;
}

.header-burger:hover,
.header-burger:focus-visible,
body.site-menu-open .header-burger {
    transform: translateY(-1px);
    background: rgba(244, 236, 215, .20);
    border-color: rgba(244, 236, 215, .56);
    outline: none;
}

.header-burger__line {
    width: 20px;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
    display: block;
}

.site-menu-overlay {
    position: fixed;
    inset: 0;
    z-index: 9998;
    background: rgba(9, 12, 7, .44);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    pointer-events: auto;
}

.site-menu-drawer {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 10000;
    width: min(420px, calc(100vw - 28px));
    height: 100vh;
    height: 100dvh;
    padding: 26px;
    display: flex;
    flex-direction: column;
    gap: 26px;
    overflow-y: auto;
    pointer-events: auto;
    color: var(--figma-cream, #f4ecd7);
    background:
        linear-gradient(145deg, rgba(51, 57, 37, .94), rgba(24, 31, 20, .96));
    border-left: 1px solid rgba(244, 236, 215, .22);
    box-shadow: -28px 0 80px rgba(0, 0, 0, .36);
    transform: translateX(100%);
    opacity: 0;
    transition: transform .26s ease, opacity .26s ease;
}

body.admin-bar .site-menu-drawer {
    top: 32px;
    height: calc(100dvh - 32px);
}

body.site-menu-open {
    overflow: hidden;
}

body.site-menu-open .site-menu-drawer {
    transform: translateX(0);
    opacity: 1;
}

.site-menu-drawer__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.site-menu-drawer__logo {
    font-size: 30px;
    line-height: 1;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.site-menu-drawer__close {
    width: 44px;
    height: 44px;
    border: 1px solid rgba(244, 236, 215, .28);
    border-radius: 14px;
    background: rgba(244, 236, 215, .10);
    color: inherit;
    font-size: 34px;
    line-height: 1;
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
}

.site-menu-drawer__section {
    padding: 18px;
    border: 1px solid rgba(244, 236, 215, .18);
    border-radius: 24px;
    background: rgba(244, 236, 215, .07);
}

.site-menu-drawer__title {
    margin-bottom: 14px;
    color: rgba(244, 236, 215, .72);
    font-size: 14px;
    line-height: 1.1;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.site-menu-drawer__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 9px;
}

.site-menu-drawer__list a {
    min-height: 46px;
    padding: 0 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-radius: 14px;
    color: var(--figma-cream, #f4ecd7) !important;
    background: rgba(244, 236, 215, .08);
    border: 1px solid rgba(244, 236, 215, .10);
    font-size: 21px;
    line-height: 1.1;
    text-transform: uppercase;
    text-decoration: none;
    transition: background .18s ease, border-color .18s ease, transform .18s ease;
}

.site-menu-drawer__list a::after {
    content: '›';
    opacity: .62;
    font-size: 24px;
    line-height: 1;
}

.site-menu-drawer__list a:hover,
.site-menu-drawer__list a:focus-visible {
    background: rgba(244, 236, 215, .15);
    border-color: rgba(244, 236, 215, .28);
    transform: translateX(-2px);
    outline: none;
}

.site-menu-drawer__list--categories {
    max-height: min(44dvh, 420px);
    overflow-y: auto;
    padding-right: 2px;
}

.figma-home-main,
.figma-home-menu {
    overflow: visible !important;
}

.figma-menu-nav,
.figma-menu-nav.figma-home-container {
    position: sticky !important;
    top: var(--the-cup-sticky-categories-top) !important;
    z-index: 150 !important;
    width: min(calc(100% - 32px), 1180px) !important;
    margin: 24px auto 46px !important;
    padding: 10px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    border: 1px solid rgba(244, 236, 215, .22) !important;
    border-radius: 22px !important;
    background:
        linear-gradient(135deg, rgba(244, 236, 215, .16), rgba(244, 236, 215, .055)),
        rgba(32, 38, 25, .72) !important;
    backdrop-filter: blur(22px) saturate(170%);
    -webkit-backdrop-filter: blur(22px) saturate(170%);
    box-shadow: 0 18px 44px rgba(32, 38, 25, .22), inset 0 1px 0 rgba(255,255,255,.12) !important;
    scrollbar-width: none;
}

body.admin-bar .figma-menu-nav,
body.admin-bar .figma-menu-nav.figma-home-container {
    top: calc(var(--the-cup-sticky-categories-top) + 32px) !important;
}

.figma-menu-nav::-webkit-scrollbar,
.figma-menu-nav.figma-home-container::-webkit-scrollbar {
    display: none !important;
}

.figma-menu-nav__link {
    flex: 0 0 auto !important;
    min-height: 44px !important;
    padding: 0 20px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 14px !important;
    border: 1px solid rgba(244, 236, 215, .18) !important;
    background: rgba(244, 236, 215, .08) !important;
    color: rgba(244, 236, 215, .84) !important;
    font-size: clamp(16px, 1.25vw, 22px) !important;
    line-height: 1 !important;
    letter-spacing: .035em !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    box-shadow: none !important;
    transition: color .18s ease, background .18s ease, border-color .18s ease, transform .18s ease !important;
}

.figma-menu-nav__link:hover,
.figma-menu-nav__link:focus-visible,
.figma-menu-nav__link.is-active {
    color: var(--figma-dark, #202619) !important;
    background: var(--figma-cream, #f4ecd7) !important;
    border-color: var(--figma-cream, #f4ecd7) !important;
    transform: translateY(-1px) !important;
    outline: none !important;
}

.figma-menu-category {
    scroll-margin-top: calc(var(--the-cup-sticky-categories-top) + 92px) !important;
}

.figma-contact-scene--assets .figma-footer-text-card,
.figma-footer-text-card {
    padding: clamp(24px, 2.6vw, 38px) !important;
    border: 1px solid rgba(32, 38, 25, .12) !important;
    border-radius: 30px !important;
    background:
        linear-gradient(145deg, rgba(244, 236, 215, .96), rgba(232, 218, 184, .88)) !important;
    color: var(--figma-dark, #202619) !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    gap: 12px !important;
    overflow: hidden !important;
    box-shadow: 0 24px 58px rgba(32, 38, 25, .18) !important;
}

.figma-footer-text-card__eyebrow {
    font-size: 15px;
    line-height: 1;
    letter-spacing: .16em;
    text-transform: uppercase;
    opacity: .68;
}

.figma-footer-text-card__title {
    margin: 0;
    font-size: clamp(34px, 3.1vw, 54px);
    line-height: .92;
    font-weight: 400;
    letter-spacing: .035em;
    text-transform: uppercase;
}

.figma-footer-text-card__text {
    max-width: 38em;
    font-size: clamp(18px, 0.8vw, 24px);
    line-height: 1.24;
}

.figma-site-footer__text {
    position: absolute;
    left: clamp(28px, 5vw, 72px);
    top: 46px;
    z-index: 2;
    max-width: min(480px, 42vw);
    color: rgba(244, 236, 215, .84);
    font-size: clamp(15px, 1.05vw, 18px);
    line-height: 1.25;
}

.figma-site-footer__watermark {
    font-family: var(--site-font) !important;
}

@supports (-webkit-touch-callout: none) {
    .glass-header .redesigned-header,
    .figma-menu-nav,
    .site-menu-drawer,
    .site-menu-overlay {
        -webkit-backdrop-filter: blur(22px) saturate(170%) !important;
    }

    .figma-product-card,
    .figma-menu-nav__link,
    .site-menu-drawer__list a,
    .header-cart,
    .header-burger {
        transform: translateZ(0);
    }
}

@media (max-width: 900px) {
    :root {
        --the-cup-header-shell: 60px;
        --the-cup-sticky-categories-top: 68px;
    }

    .glass-header .redesigned-header,
    .figma-home-header .redesigned-header {
        width: calc(100% - 20px) !important;
        min-height: 54px !important;
        margin: 8px auto 0 !important;
        padding: 0 10px !important;
        border-radius: 18px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 10px !important;
    }

    body.admin-bar .glass-header,
    body.admin-bar .figma-home-header.glass-header {
        top: 46px !important;
    }

    body.admin-bar .site-menu-drawer {
        top: 46px;
        height: calc(100dvh - 46px);
    }

    .header-phone {
        display: none !important;
    }

    .header-actions,
    .redesigned-actions,
    .figma-home-header .redesigned-actions {
        gap: 8px !important;
    }

    .header-cart,
    .header-burger {
        width: 42px !important;
        height: 42px !important;
        min-width: 42px !important;
        min-height: 42px !important;
        border-radius: 13px !important;
    }

    .logo-text,
    .figma-home-header .logo-text {
        font-size: 20px !important;
    }

    .site-main:not(.figma-home-main) {
        padding-top: 70px !important;
    }

    .site-menu-drawer {
        width: min(390px, calc(100vw - 18px));
        padding: 20px;
        gap: 18px;
    }

    .site-menu-drawer__list a {
        min-height: 44px;
        font-size: 19px;
    }

    .figma-menu-nav,
    .figma-menu-nav.figma-home-container {
        width: calc(100% - 20px) !important;
        margin-top: 18px !important;
        margin-bottom: 34px !important;
        padding: 8px !important;
        border-radius: 18px !important;
    }

    body.admin-bar .figma-menu-nav,
    body.admin-bar .figma-menu-nav.figma-home-container {
        top: calc(var(--the-cup-sticky-categories-top) + 46px) !important;
    }

    .figma-menu-nav__link {
        min-height: 40px !important;
        padding: 0 16px !important;
        border-radius: 12px !important;
        font-size: 15px !important;
    }

    .figma-menu-category {
        scroll-margin-top: calc(var(--the-cup-sticky-categories-top) + 76px) !important;
    }

    .figma-contact-scene--assets .figma-footer-text-card,
    .figma-footer-text-card {
        left: 18px !important;
        top: 38px !important;
        width: calc(100% - 36px) !important;
        height: 230px !important;
        padding: 22px !important;
        border-radius: 24px !important;
    }

    .figma-footer-text-card__title {
        font-size: 34px;
    }

    .figma-footer-text-card__text {
        font-size: 16px;
    }

    .figma-site-footer__text {
        left: 18px !important;
        right: 18px !important;
        top: 26px !important;
        max-width: none !important;
        font-size: 13px !important;
        text-align: center !important;
    }
}

@media (max-width: 520px) {
    .site-menu-drawer__section {
        padding: 14px;
        border-radius: 20px;
    }

    .site-menu-drawer__logo {
        font-size: 24px;
    }

    .site-menu-drawer__list a {
        font-size: 17px;
    }

    .figma-menu-nav,
    .figma-menu-nav.figma-home-container {
        top: 66px !important;
        gap: 7px !important;
    }

    body.admin-bar .figma-menu-nav,
    body.admin-bar .figma-menu-nav.figma-home-container {
        top: 112px !important;
    }

    .figma-menu-nav__link {
        min-height: 38px !important;
        padding: 0 13px !important;
        font-size: 14px !important;
        letter-spacing: .025em !important;
    }
}

/* Safari font fallback guard: do not depend on local decorative fonts. */
.figma-home-main,
.cup-commerce-hero::after,
.figma-event-card__image span,
.figma-event-modal__media-placeholder,
.page-template-page-cart-php .site-footer h3,
.page-template-page-checkout-php .site-footer h3,
.page-template-templatespage-cart-php .site-footer h3,
.page-template-templatespage-checkout-php .site-footer h3,
.glass-header .logo-text,
.figma-home-header .logo-text,
.logo-link .logo-text,
.figma-site-footer__watermark {
    font-family: var(--site-font) !important;
}


/* =========================
   Round 9 client corrections
   - Los Angeles Deco only for CHASHKA wordmarks
   - visible wrapped sticky menu categories
   - hero word-by-word reveal and pizza parallax support
   - contact leaves scroll reveal and tilted marquee ribbon
   - horizontal overflow guard
========================= */
html,
body {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
}

body {
    position: relative;
}

.glass-header .logo-text,
.figma-home-header .logo-text,
.logo-link .logo-text,
.site-menu-drawer__logo,
.figma-site-footer__watermark,
.footer-logo-word {
    font-family: 'LosAngelesDeco', 'Los Angeles Deco', var(--site-font, 'Kelly Slab', serif) !important;
    font-weight: 400 !important;
    text-transform: uppercase !important;
    letter-spacing: .055em !important;
    -webkit-font-smoothing: antialiased;
    text-rendering: geometricPrecision;
}

.figma-site-footer {
    overflow: hidden !important;
}

.figma-site-footer__watermark {
    left: 50% !important;
    top: 58% !important;
    right: auto !important;
    width: min(92vw, 1160px) !important;
    max-width: calc(100vw - 28px) !important;
    transform: translate(-50%, -50%) scaleX(.82) !important;
    transform-origin: center !important;
    text-align: center !important;
    white-space: nowrap !important;
    font-size: clamp(170px, 29vw, 390px) !important;
    line-height: .68 !important;
    opacity: .16 !important;
}

.footer-logo-word {
    margin: 0 0 14px !important;
    font-size: clamp(38px, 4vw, 74px) !important;
    line-height: .8 !important;
    text-align: center !important;
}

.figma-home-menu {
    overflow: visible !important;
    max-width: 100% !important;
}

.figma-menu-nav,
.figma-menu-nav.figma-home-container {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: clamp(7px, 1vw, 12px) !important;
    overflow: visible !important;
    width: min(calc(100% - 32px), 1180px) !important;
    max-width: calc(100vw - 32px) !important;
    padding: clamp(8px, 1vw, 12px) !important;
    margin: 22px auto 42px !important;
    border-radius: clamp(18px, 2vw, 26px) !important;
}

.figma-menu-nav__link {
    flex: 0 1 auto !important;
    min-width: 0 !important;
    min-height: 42px !important;
    padding: 0 clamp(13px, 1.5vw, 22px) !important;
    white-space: nowrap !important;
}

.figma-hero-heading {
    display: block !important;
    overflow: visible !important;
}

.figma-hero-heading span {
    display: block !important;
    opacity: 0;
    transform: translate3d(0, 52px, 0);
    animation: theCupHeroWordUp .78s cubic-bezier(.2, .8, .18, 1) forwards;
    will-change: transform, opacity;
}

.figma-hero-heading span:nth-child(1) { animation-delay: .12s; }
.figma-hero-heading span:nth-child(2) { animation-delay: .28s; }
.figma-hero-heading span:nth-child(3) { animation-delay: .44s; }

@keyframes theCupHeroWordUp {
    from {
        opacity: 0;
        transform: translate3d(0, 52px, 0);
    }
    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

.figma-home-hero.redesigned-hero {
    contain: paint;
}

.figma-hero-food {
    will-change: transform;
    transition: transform .18s ease-out;
}

.figma-contact-scene,
.figma-contact-scene--assets {
    overflow: hidden !important;
    max-width: 100% !important;
}

.figma-contact-scene--assets .figma-leaf {
    --leaf-start-x: 180px;
    --leaf-start-y: 130px;
    opacity: 0 !important;
    transform: translate3d(var(--leaf-start-x), var(--leaf-start-y), 0) scale(.72) rotate(var(--leaf-rotate, 0deg)) !important;
    transition:
        transform .92s cubic-bezier(.2, .8, .18, 1),
        opacity .62s ease;
    will-change: transform, opacity;
}

.figma-contact-scene--assets .figma-leaf--1  { --leaf-rotate: 18deg;  --leaf-start-x: 260px; --leaf-start-y: 190px; }
.figma-contact-scene--assets .figma-leaf--2  { --leaf-rotate: 56deg;  --leaf-start-x: 190px; --leaf-start-y: 170px; }
.figma-contact-scene--assets .figma-leaf--3  { --leaf-rotate: -42deg; --leaf-start-x: 140px; --leaf-start-y: 160px; }
.figma-contact-scene--assets .figma-leaf--4  { --leaf-rotate: 30deg;  --leaf-start-x: 60px;  --leaf-start-y: 160px; }
.figma-contact-scene--assets .figma-leaf--5  { --leaf-rotate: -34deg; --leaf-start-x: -70px; --leaf-start-y: 180px; }
.figma-contact-scene--assets .figma-leaf--6  { --leaf-rotate: -38deg; --leaf-start-x: 210px; --leaf-start-y: 36px; }
.figma-contact-scene--assets .figma-leaf--7  { --leaf-rotate: 38deg;  --leaf-start-x: 270px; --leaf-start-y: -120px; }
.figma-contact-scene--assets .figma-leaf--8  { --leaf-rotate: -22deg; --leaf-start-x: 190px; --leaf-start-y: -140px; }
.figma-contact-scene--assets .figma-leaf--9  { --leaf-rotate: -32deg; --leaf-start-x: -80px; --leaf-start-y: -80px; }
.figma-contact-scene--assets .figma-leaf--10 { --leaf-rotate: 26deg;  --leaf-start-x: -170px;--leaf-start-y: -105px; }
.figma-contact-scene--assets .figma-leaf--11 { --leaf-rotate: 12deg;  --leaf-start-x: 40px;  --leaf-start-y: -185px; }
.figma-contact-scene--assets .figma-leaf--12 { --leaf-rotate: 34deg;  --leaf-start-x: -200px;--leaf-start-y: 190px; }

.figma-contact-scene--assets.is-leaves-visible .figma-leaf,
.figma-contact-scene--assets.the-cup-leaves-visible .figma-leaf {
    opacity: .86 !important;
    transform: translate3d(0, 0, 0) scale(1) rotate(var(--leaf-rotate, 0deg)) !important;
}

.figma-contact-ribbon.figma-contact-ribbon--marquee,
.figma-contact-scene--assets .figma-contact-ribbon.figma-contact-ribbon--marquee {
    display: block !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: 108vw !important;
    max-width: none !important;
}

.figma-contact-ribbon__track {
    height: 100%;
    display: inline-flex;
    align-items: center;
    gap: clamp(44px, 6vw, 118px);
    min-width: max-content;
    padding-inline: clamp(42px, 6vw, 112px);
    animation: theCupRibbonMarquee 22s linear infinite;
    will-change: transform;
}

.figma-contact-ribbon__track span,
.figma-contact-ribbon__track a {
    display: inline-flex !important;
    align-items: center !important;
    color: var(--figma-cream, #f4ecd7) !important;
    font-family: var(--site-font, 'Kelly Slab', serif) !important;
    font-size: clamp(22px, 1.9vw, 35px) !important;
    line-height: 1 !important;
    letter-spacing: .01em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    font-style: italic !important;
    white-space: nowrap !important;
    transform: skewX(-7deg);
}

@keyframes theCupRibbonMarquee {
    from { transform: translate3d(0, 0, 0); }
    to { transform: translate3d(-50%, 0, 0); }
}

.figma-contact-ribbon--marquee:hover .figma-contact-ribbon__track {
    animation-play-state: paused;
}

@media (max-width: 900px) {
    .figma-site-footer__watermark {
        top: 62% !important;
        width: calc(100vw - 22px) !important;
        font-size: clamp(116px, 36vw, 220px) !important;
        transform: translate(-50%, -50%) scaleX(.86) !important;
    }

    .figma-menu-nav,
    .figma-menu-nav.figma-home-container {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        overflow: visible !important;
        max-width: calc(100vw - 20px) !important;
        margin-top: 16px !important;
        margin-bottom: 30px !important;
        padding: 7px !important;
        gap: 7px !important;
    }

    .figma-menu-nav__link {
        min-height: 36px !important;
        padding: 0 11px !important;
        font-size: 13px !important;
        letter-spacing: .02em !important;
    }

    .figma-hero-heading {
        display: block !important;
        left: 20px !important;
        top: 120px !important;
        width: calc(100% - 40px) !important;
        font-size: clamp(42px, 13.2vw, 72px) !important;
        line-height: .98 !important;
    }

    .figma-contact-ribbon__track {
        gap: 34px;
        animation-duration: 18s;
    }
}

@media (max-width: 520px) {
    .figma-menu-nav,
    .figma-menu-nav.figma-home-container {
        top: var(--the-cup-sticky-categories-top, 66px) !important;
        max-width: calc(100vw - 14px) !important;
        border-radius: 16px !important;
    }

    body.admin-bar .figma-menu-nav,
    body.admin-bar .figma-menu-nav.figma-home-container {
        top: calc(var(--the-cup-sticky-categories-top, 66px) + 46px) !important;
    }

    .figma-menu-nav__link {
        min-height: 34px !important;
        padding: 0 9px !important;
        font-size: 12px !important;
    }

    .figma-hero-heading {
        top: 114px !important;
        font-size: clamp(38px, 12.6vw, 58px) !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .figma-hero-heading span,
    .figma-contact-scene--assets .figma-leaf,
    .figma-contact-ribbon__track,
    .figma-hero-food {
        animation: none !important;
        transition: none !important;
    }

    .figma-hero-heading span {
        opacity: 1 !important;
        transform: none !important;
    }

    .figma-contact-scene--assets .figma-leaf {
        opacity: .86 !important;
        transform: rotate(var(--leaf-rotate, 0deg)) !important;
    }
}

/* =========================
   Round 10 client correction: header-attached horizontal menu categories
========================= */
:root {
    --the-cup-sticky-categories-top: 0px;
    --the-cup-sticky-categories-gap: 0px;
}

.figma-home-main,
.figma-home-menu,
.figma-home-menu .figma-home-container {
    overflow: visible !important;
}

.figma-menu-nav,
.figma-menu-nav.figma-home-container {
    position: -webkit-sticky !important;
    position: sticky !important;
    top: calc(var(--the-cup-sticky-categories-top, 78px) + var(--the-cup-sticky-categories-gap, 0px)) !important;
    z-index: 9997 !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: clamp(8px, .9vw, 12px) !important;
    width: min(calc(100% - 32px), 1180px) !important;
    max-width: calc(100vw - 32px) !important;
    margin: 18px auto 38px !important;
    padding: 8px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    border-radius: 20px !important;
    border: 1px solid rgba(244, 236, 215, .25) !important;
    background:
        linear-gradient(135deg, rgba(244, 236, 215, .20), rgba(244, 236, 215, .07)),
        rgba(32, 38, 25, .84) !important;
    box-shadow: 0 14px 34px rgba(32, 38, 25, .20), inset 0 1px 0 rgba(255,255,255,.12) !important;
    backdrop-filter: blur(24px) saturate(170%) !important;
    -webkit-backdrop-filter: blur(24px) saturate(170%) !important;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
}

.figma-menu-nav::-webkit-scrollbar,
.figma-menu-nav.figma-home-container::-webkit-scrollbar {
    display: none !important;
}

.figma-menu-nav__link {
    flex: 0 0 auto !important;
    min-width: max-content !important;
    min-height: 38px !important;
    padding: 0 clamp(14px, 1.35vw, 22px) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 14px !important;
    white-space: nowrap !important;
    scroll-snap-align: center;
}

.figma-menu-category {
    scroll-margin-top: calc(var(--the-cup-sticky-categories-top, 78px) + 72px) !important;
}

body.admin-bar .figma-menu-nav,
body.admin-bar .figma-menu-nav.figma-home-container {
    top: calc(var(--the-cup-sticky-categories-top, 78px) + var(--the-cup-sticky-categories-gap, 0px)) !important;
}

@media (max-width: 900px) {
    :root {
        --the-cup-sticky-categories-top: 66px;
    }

    .figma-menu-nav,
    .figma-menu-nav.figma-home-container {
        flex-wrap: nowrap !important;
        justify-content: flex-start !important;
        width: calc(100% - 20px) !important;
        max-width: calc(100vw - 20px) !important;
        margin-top: 14px !important;
        margin-bottom: 28px !important;
        padding: 7px !important;
        border-radius: 17px !important;
    }

    .figma-menu-nav__link {
        min-height: 34px !important;
        padding: 0 12px !important;
        font-size: 13px !important;
        letter-spacing: .02em !important;
    }

    .figma-menu-category {
        scroll-margin-top: calc(var(--the-cup-sticky-categories-top, 66px) + 62px) !important;
    }
}

@media (max-width: 520px) {
    .figma-menu-nav,
    .figma-menu-nav.figma-home-container {
        top: var(--the-cup-sticky-categories-top, 66px) !important;
        width: calc(100% - 14px) !important;
        max-width: calc(100vw - 14px) !important;
        margin-top: 12px !important;
        margin-bottom: 24px !important;
        padding: 6px !important;
        gap: 6px !important;
        border-radius: 15px !important;
    }

    body.admin-bar .figma-menu-nav,
    body.admin-bar .figma-menu-nav.figma-home-container {
        top: var(--the-cup-sticky-categories-top, 66px) !important;
    }

    .figma-menu-nav__link {
        min-height: 32px !important;
        padding: 0 10px !important;
        font-size: 12px !important;
    }
}

/* =========================
   Round 11: real header-attached horizontal category bar
   - the menu category bar becomes fixed only after it reaches the header
   - all category buttons stay in one horizontal row
   - prevent full-width active button / page jump side effects
========================= */
:root {
    --the-cup-header-bottom: 78px;
    --the-cup-menu-bar-height: 0px;
}

.figma-home-menu,
.figma-home-main,
.figma-home-menu .figma-home-container {
    overflow: visible !important;
}

.figma-menu-nav,
.figma-menu-nav.figma-home-container {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    z-index: 9996 !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: clamp(8px, .9vw, 12px) !important;
    width: min(calc(100% - 32px), 1180px) !important;
    max-width: calc(100vw - 32px) !important;
    min-width: 0 !important;
    margin: 18px auto 38px !important;
    padding: 8px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    white-space: nowrap !important;
    border: 1px solid rgba(244, 236, 215, .22) !important;
    border-radius: 20px !important;
    background: rgba(32, 38, 25, .86) !important;
    background-image: linear-gradient(135deg, rgba(244, 236, 215, .16), rgba(244, 236, 215, .055)) !important;
    box-shadow: 0 14px 34px rgba(32, 38, 25, .20), inset 0 1px 0 rgba(255,255,255,.12) !important;
    backdrop-filter: blur(24px) saturate(170%) !important;
    -webkit-backdrop-filter: blur(24px) saturate(170%) !important;
    scroll-snap-type: x proximity !important;
    scrollbar-width: none !important;
    -webkit-overflow-scrolling: touch !important;
}

.figma-menu-nav.is-stuck,
.figma-menu-nav.figma-home-container.is-stuck {
    position: fixed !important;
    top: var(--the-cup-header-bottom, 78px) !important;
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.figma-menu-nav-placeholder {
    display: none;
    width: 100%;
    height: 0;
    margin: 0;
    padding: 0;
    pointer-events: none;
}

.figma-menu-nav-placeholder.is-active {
    display: block;
    height: var(--the-cup-menu-bar-height, 0px);
}

.figma-menu-nav::-webkit-scrollbar,
.figma-menu-nav.figma-home-container::-webkit-scrollbar {
    display: none !important;
}

.figma-menu-nav__link,
.figma-menu-nav.figma-home-container .figma-menu-nav__link {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
    min-width: max-content !important;
    min-height: 38px !important;
    padding: 0 clamp(14px, 1.35vw, 22px) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid rgba(244, 236, 215, .18) !important;
    border-radius: 14px !important;
    background: rgba(244, 236, 215, .08) !important;
    color: rgba(244, 236, 215, .86) !important;
    font-size: clamp(14px, 1.05vw, 18px) !important;
    line-height: 1 !important;
    letter-spacing: .035em !important;
    text-transform: uppercase !important;
    text-align: center !important;
    white-space: nowrap !important;
    box-shadow: none !important;
    scroll-snap-align: center !important;
}

.figma-menu-nav__link:hover,
.figma-menu-nav__link:focus-visible,
.figma-menu-nav__link.is-active {
    color: var(--figma-dark, #202619) !important;
    background: var(--figma-cream, #f4ecd7) !important;
    border-color: var(--figma-cream, #f4ecd7) !important;
    outline: none !important;
    transform: none !important;
}

.figma-menu-category {
    scroll-margin-top: calc(var(--the-cup-header-bottom, 78px) + var(--the-cup-menu-bar-height, 52px) + 22px) !important;
}

@media (max-width: 900px) {
    .figma-menu-nav,
    .figma-menu-nav.figma-home-container {
        width: calc(100% - 20px) !important;
        max-width: calc(100vw - 20px) !important;
        margin-top: 14px !important;
        margin-bottom: 28px !important;
        padding: 7px !important;
        gap: 7px !important;
        border-radius: 17px !important;
    }

    .figma-menu-nav__link,
    .figma-menu-nav.figma-home-container .figma-menu-nav__link {
        min-height: 34px !important;
        padding: 0 12px !important;
        font-size: 13px !important;
    }
}

@media (max-width: 520px) {
    .figma-menu-nav,
    .figma-menu-nav.figma-home-container {
        width: calc(100% - 14px) !important;
        max-width: calc(100vw - 14px) !important;
        margin-top: 12px !important;
        margin-bottom: 24px !important;
        padding: 6px !important;
        gap: 6px !important;
        border-radius: 15px !important;
    }

    .figma-menu-nav__link,
    .figma-menu-nav.figma-home-container .figma-menu-nav__link {
        min-height: 32px !important;
        padding: 0 10px !important;
        font-size: 12px !important;
    }
}

/* =========================
   Round 12: category bar refinement, endless marquee, scroll-reversible leaves
========================= */
:root {
    --the-cup-header-category-gap: 10px;
}

.figma-menu-nav,
.figma-menu-nav.figma-home-container {
    width: min(calc(100% - 32px), 1260px) !important;
    max-width: calc(100vw - 32px) !important;
    min-height: 56px !important;
    margin-top: 6px !important;
    margin-bottom: 42px !important;
    padding: 7px 8px !important;
    align-items: center !important;
    border-radius: 22px !important;
    border-color: rgba(244, 236, 215, .24) !important;
    background:
        linear-gradient(135deg, rgba(244, 236, 215, .18), rgba(244, 236, 215, .055)),
        rgba(43, 49, 31, .88) !important;
    box-shadow: 0 14px 32px rgba(32, 38, 25, .18), inset 0 1px 0 rgba(255, 255, 255, .14) !important;
}

.figma-menu-nav.is-stuck,
.figma-menu-nav.figma-home-container.is-stuck {
    top: calc(var(--the-cup-header-bottom, 78px) + var(--the-cup-header-category-gap, 10px)) !important;
    margin-top: 0 !important;
    box-shadow: 0 18px 38px rgba(32, 38, 25, .22), inset 0 1px 0 rgba(255, 255, 255, .14) !important;
}

.figma-menu-nav__link,
.figma-menu-nav.figma-home-container .figma-menu-nav__link {
    min-height: 40px !important;
    border-radius: 15px !important;
    font-size: clamp(14px, .95vw, 17px) !important;
}

.figma-menu-nav-placeholder.is-active {
    height: calc(var(--the-cup-menu-bar-height, 56px) + var(--the-cup-header-category-gap, 10px)) !important;
}

.figma-menu-category {
    scroll-margin-top: calc(var(--the-cup-header-bottom, 78px) + var(--the-cup-menu-bar-height, 56px) + var(--the-cup-header-category-gap, 10px) + 28px) !important;
}

.figma-contact-ribbon.figma-contact-ribbon--marquee,
.figma-contact-scene--assets .figma-contact-ribbon.figma-contact-ribbon--marquee {
    overflow: hidden !important;
    width: 112vw !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.figma-contact-ribbon__track {
    display: flex !important;
    align-items: center !important;
    gap: 0 !important;
    width: max-content !important;
    min-width: max-content !important;
    padding: 0 !important;
    animation: theCupRibbonMarquee 34s linear infinite !important;
    will-change: transform;
}

.figma-contact-ribbon__group {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: clamp(44px, 5.8vw, 116px);
    min-width: max-content;
    padding-inline: clamp(42px, 5vw, 96px);
}

.figma-contact-ribbon__track span,
.figma-contact-ribbon__track a,
.figma-contact-ribbon__group span,
.figma-contact-ribbon__group a {
    flex: 0 0 auto !important;
    display: inline-flex !important;
    align-items: center !important;
    white-space: nowrap !important;
}

@keyframes theCupRibbonMarquee {
    0% { transform: translate3d(0, 0, 0); }
    100% { transform: translate3d(-50%, 0, 0); }
}

.figma-contact-scene--assets .figma-leaf {
    transition: none !important;
    will-change: transform, opacity;
}

@media (max-width: 900px) {
    :root {
        --the-cup-header-category-gap: 8px;
    }

    .figma-menu-nav,
    .figma-menu-nav.figma-home-container {
        width: calc(100% - 20px) !important;
        max-width: calc(100vw - 20px) !important;
        min-height: 48px !important;
        margin-top: 4px !important;
        margin-bottom: 34px !important;
        padding: 6px !important;
        border-radius: 18px !important;
    }

    .figma-menu-nav__link,
    .figma-menu-nav.figma-home-container .figma-menu-nav__link {
        min-height: 34px !important;
        padding: 0 12px !important;
        font-size: 13px !important;
    }

    .figma-contact-ribbon__track {
        animation-duration: 26s !important;
    }

    .figma-contact-ribbon__group {
        gap: 34px;
        padding-inline: 32px;
    }
}

@media (max-width: 520px) {
    .figma-menu-nav,
    .figma-menu-nav.figma-home-container {
        width: calc(100% - 14px) !important;
        max-width: calc(100vw - 14px) !important;
        margin-top: 4px !important;
        margin-bottom: 30px !important;
        padding: 6px !important;
        border-radius: 16px !important;
    }
}


/* =========================
   Round 13: меню, правовые ссылки и текстовый блок
========================= */
:root {
    --the-cup-header-category-gap: 4px;
}

.figma-home-menu {
    padding-top: clamp(26px, 3.4vw, 54px) !important;
}

.figma-menu-title {
    margin-bottom: 8px !important;
}

.figma-menu-nav,
.figma-menu-nav.figma-home-container {
    margin-top: 0 !important;
    margin-bottom: clamp(28px, 3.1vw, 42px) !important;
    border-color: rgba(244, 236, 215, .30) !important;
    background:
        linear-gradient(135deg, rgba(244, 236, 215, .18), rgba(244, 236, 215, .055)),
        rgba(43, 49, 31, .90) !important;
    box-shadow:
        0 14px 32px rgba(32, 38, 25, .20),
        inset 0 1px 0 rgba(255,255,255,.14) !important;
}

.figma-menu-nav.is-stuck,
.figma-menu-nav.figma-home-container.is-stuck {
    top: calc(var(--the-cup-header-bottom, 78px) + var(--the-cup-header-category-gap, 4px)) !important;
}

.figma-menu-nav-placeholder.is-active {
    height: calc(var(--the-cup-menu-bar-height, 56px) + var(--the-cup-header-category-gap, 4px)) !important;
}

.figma-menu-category {
    scroll-margin-top: calc(var(--the-cup-header-bottom, 78px) + var(--the-cup-menu-bar-height, 56px) + var(--the-cup-header-category-gap, 4px) + 24px) !important;
}

.figma-footer-text-card__eyebrow,
.figma-footer-text-card__title,
.figma-site-footer__text {
    display: none !important;
}

.figma-contact-scene--assets .figma-footer-text-card,
.figma-footer-text-card {
    justify-content: center !important;
    gap: 0 !important;
}

.figma-footer-text-card__text {
    max-width: 42em !important;
    margin: 0 !important;
}

.figma-site-footer__legal {
    position: absolute;
    right: clamp(28px, 4.8vw, 72px);
    bottom: 53px;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 10px;
    max-width: min(360px, 44vw);
}

.figma-site-footer__legal .figma-site-footer__privacy,
.figma-site-footer__legal .figma-site-footer__offer {
    position: static !important;
    right: auto !important;
    bottom: auto !important;
    max-width: none !important;
    color: var(--figma-cream) !important;
    font-family: var(--site-font) !important;
    font-size: clamp(15px, 1.1vw, 19px);
    line-height: 1.15;
    text-align: right;
    text-transform: uppercase;
    text-decoration: none;
    opacity: .9;
    transition: opacity .2s ease;
}

.figma-site-footer__legal .figma-site-footer__privacy:hover,
.figma-site-footer__legal .figma-site-footer__offer:hover {
    opacity: 1;
    text-decoration: underline;
    text-underline-offset: 4px;
}

@media (max-width: 900px) {
    :root {
        --the-cup-header-category-gap: 3px;
    }

    .figma-home-menu {
        padding-top: 32px !important;
    }

    .figma-menu-title {
        margin-bottom: 7px !important;
    }

    .figma-site-footer__legal {
        left: 24px;
        right: 24px;
        bottom: 28px;
        align-items: center;
        max-width: none;
    }

    .figma-site-footer__legal .figma-site-footer__privacy,
    .figma-site-footer__legal .figma-site-footer__offer {
        text-align: center;
        font-size: 14px;
    }
}

/* =========================
   Round 14: sticky category bar width/background cleanup
   - same visual width as header
   - no separate dark background behind the categories
========================= */
.figma-menu-nav,
.figma-menu-nav.figma-home-container {
    width: min(calc(100% - 48px), 1520px) !important;
    max-width: min(calc(100% - 48px), 1520px) !important;
    min-height: 44px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    justify-content: space-between !important;
    gap: clamp(8px, .85vw, 14px) !important;
}

.figma-menu-nav.is-stuck,
.figma-menu-nav.figma-home-container.is-stuck {
    width: min(calc(100% - 48px), 1520px) !important;
    max-width: min(calc(100% - 48px), 1520px) !important;
    box-shadow: none !important;
}

.figma-menu-nav__link,
.figma-menu-nav.figma-home-container .figma-menu-nav__link {
    flex: 1 1 auto !important;
    min-width: max-content !important;
    background: transparent !important;
    box-shadow: none !important;
}

.figma-menu-nav__link:hover,
.figma-menu-nav__link:focus-visible,
.figma-menu-nav__link.is-active {
    background: rgba(244, 236, 215, .92) !important;
    box-shadow: none !important;
}

@media (max-width: 900px) {
    .figma-menu-nav,
    .figma-menu-nav.figma-home-container,
    .figma-menu-nav.is-stuck,
    .figma-menu-nav.figma-home-container.is-stuck {
        width: calc(100% - 20px) !important;
        max-width: calc(100vw - 20px) !important;
        gap: 7px !important;
    }

    .figma-menu-nav__link,
    .figma-menu-nav.figma-home-container .figma-menu-nav__link {
        flex: 0 0 auto !important;
    }
}

@media (max-width: 520px) {
    .figma-menu-nav,
    .figma-menu-nav.figma-home-container,
    .figma-menu-nav.is-stuck,
    .figma-menu-nav.figma-home-container.is-stuck {
        width: calc(100% - 14px) !important;
        max-width: calc(100vw - 14px) !important;
        gap: 6px !important;
    }
}

/* =========================
   Round 15: restore background on sticky category buttons only
   - keep the category bar itself transparent/full-width
   - return visible filled buttons
========================= */
.figma-menu-nav__link,
.figma-menu-nav.figma-home-container .figma-menu-nav__link {
    background: rgba(82, 88, 64, .92) !important;
    border: 1px solid rgba(244, 236, 215, .30) !important;
    color: var(--figma-cream, #f4ecd7) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .10), 0 8px 18px rgba(32, 38, 25, .10) !important;
}

.figma-menu-nav__link:hover,
.figma-menu-nav__link:focus-visible,
.figma-menu-nav__link.is-active {
    background: var(--figma-cream, #f4ecd7) !important;
    border-color: var(--figma-cream, #f4ecd7) !important;
    color: var(--figma-dark, #202619) !important;
    box-shadow: 0 10px 22px rgba(32, 38, 25, .12) !important;
}

/* =========================
   Round 16: opaque category buttons + higher initial menu position
   - buttons are fully opaque
   - initial category row sits closer to the Menu title with a small indent
========================= */
.figma-menu-title {
    margin-bottom: clamp(12px, 1.15vw, 18px) !important;
}

.figma-menu-nav,
.figma-menu-nav.figma-home-container {
    margin-top: -10px !important;
    margin-bottom: clamp(28px, 3.1vw, 42px) !important;
}

.figma-menu-nav.is-stuck,
.figma-menu-nav.figma-home-container.is-stuck {
    margin-top: 0 !important;
}

.figma-menu-nav__link,
.figma-menu-nav.figma-home-container .figma-menu-nav__link {
    background: #525840 !important;
    border-color: #6d725b !important;
    color: var(--figma-cream, #f4ecd7) !important;
    opacity: 1 !important;
}

.figma-menu-nav__link:hover,
.figma-menu-nav__link:focus-visible,
.figma-menu-nav__link.is-active {
    background: var(--figma-cream, #f4ecd7) !important;
    border-color: var(--figma-cream, #f4ecd7) !important;
    color: var(--figma-dark, #202619) !important;
    opacity: 1 !important;
}

@media (max-width: 900px) {
    .figma-menu-title {
        margin-bottom: 12px !important;
    }

    .figma-menu-nav,
    .figma-menu-nav.figma-home-container {
        margin-top: -6px !important;
    }
}

@media (max-width: 520px) {
    .figma-menu-nav,
    .figma-menu-nav.figma-home-container {
        margin-top: -4px !important;
    }
}

/* =========================
   Round 17: sticky category bar must not cover the menu content
   - keep the horizontal category bar attached to the header
   - reserve enough vertical space below it when it becomes fixed
   - avoid covering the left category label and the first product row
========================= */
:root {
    --the-cup-header-category-gap: 0px;
    --the-cup-menu-nav-content-gap: clamp(48px, 4vw, 72px);
}

.figma-menu-title {
    margin-bottom: clamp(14px, 1.2vw, 20px) !important;
}

.figma-menu-nav,
.figma-menu-nav.figma-home-container {
    margin-top: -4px !important;
    margin-bottom: var(--the-cup-menu-nav-content-gap, 56px) !important;
}

.figma-menu-nav.is-stuck,
.figma-menu-nav.figma-home-container.is-stuck {
    top: var(--the-cup-header-bottom, 78px) !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.figma-menu-nav-placeholder.is-active,
.figma-menu-nav.is-stuck + .figma-menu-nav-placeholder,
.figma-menu-nav.figma-home-container.is-stuck + .figma-menu-nav-placeholder {
    display: block !important;
    height: calc(var(--the-cup-menu-bar-height, 56px) + var(--the-cup-menu-nav-content-gap, 56px)) !important;
    min-height: calc(var(--the-cup-menu-bar-height, 56px) + var(--the-cup-menu-nav-content-gap, 56px)) !important;
}

.figma-menu-nav-placeholder.is-active + .figma-menu-category,
.figma-menu-nav.is-stuck + .figma-menu-nav-placeholder + .figma-menu-category,
.figma-menu-nav.figma-home-container.is-stuck + .figma-menu-nav-placeholder + .figma-menu-category {
    margin-top: 0 !important;
}

.figma-home-menu > .figma-menu-category {
    position: relative !important;
    z-index: 1 !important;
}

.figma-menu-label {
    position: relative !important;
    z-index: 2 !important;
}

.figma-menu-category {
    scroll-margin-top: calc(
        var(--the-cup-header-bottom, 78px) +
        var(--the-cup-menu-bar-height, 56px) +
        var(--the-cup-menu-nav-content-gap, 56px) +
        16px
    ) !important;
}

@media (max-width: 900px) {
    :root {
        --the-cup-menu-nav-content-gap: 38px;
    }

    .figma-menu-nav,
    .figma-menu-nav.figma-home-container {
        margin-top: -2px !important;
    }
}

@media (max-width: 520px) {
    :root {
        --the-cup-menu-nav-content-gap: 30px;
    }

    .figma-menu-nav,
    .figma-menu-nav.figma-home-container {
        margin-top: 0 !important;
    }
}

/* =========================
   Round 18: category bar top state fix
   - before sticking: top = 0px, so the row sits in its natural menu position
   - after sticking: top = 78px, so the fixed row stays below the header
========================= */
:root {
    --the-cup-sticky-categories-top: 0px;
    --the-cup-sticky-categories-stuck-top: 78px;
}

.figma-menu-nav:not(.is-stuck),
.figma-menu-nav.figma-home-container:not(.is-stuck),
body.admin-bar .figma-menu-nav:not(.is-stuck),
body.admin-bar .figma-menu-nav.figma-home-container:not(.is-stuck) {
    top: 0 !important;
}

.figma-menu-nav.is-stuck,
.figma-menu-nav.figma-home-container.is-stuck {
    top: var(--the-cup-sticky-categories-top, var(--the-cup-sticky-categories-stuck-top, 78px)) !important;
}

body.admin-bar .figma-menu-nav.is-stuck,
body.admin-bar .figma-menu-nav.figma-home-container.is-stuck {
    top: calc(var(--the-cup-sticky-categories-top, var(--the-cup-sticky-categories-stuck-top, 78px)) + 32px) !important;
}

@media (max-width: 782px) {
    body.admin-bar .figma-menu-nav.is-stuck,
    body.admin-bar .figma-menu-nav.figma-home-container.is-stuck {
        top: calc(var(--the-cup-sticky-categories-top, var(--the-cup-sticky-categories-stuck-top, 78px)) + 46px) !important;
    }
}

/* =========================
   Round 19: compact typography for cart and checkout
   - make cart and checkout text less oversized
   - keep the same layout and order logic
========================= */
.cup-commerce-page--cart,
.cup-commerce-page--checkout {
    letter-spacing: .006em;
}

.cup-commerce-page--cart .cup-commerce-hero,
.cup-commerce-page--checkout .cup-commerce-hero {
    min-height: clamp(330px, 34vw, 470px) !important;
    padding-top: clamp(118px, 10vw, 154px) !important;
    padding-bottom: clamp(66px, 6vw, 92px) !important;
}

.cup-commerce-page--cart .cup-commerce-eyebrow,
.cup-commerce-page--checkout .cup-commerce-eyebrow {
    margin-bottom: 10px !important;
    font-size: clamp(13px, 1.05vw, 16px) !important;
    letter-spacing: .11em !important;
}

.cup-commerce-page--cart .cup-commerce-hero h1,
.cup-commerce-page--checkout .cup-commerce-hero h1 {
    font-size: clamp(42px, 5.7vw, 86px) !important;
    line-height: .92 !important;
}

.cup-commerce-page--cart .cup-commerce-hero p:not(.cup-commerce-eyebrow),
.cup-commerce-page--checkout .cup-commerce-hero p:not(.cup-commerce-eyebrow) {
    max-width: 560px !important;
    margin-top: 18px !important;
    font-size: clamp(16px, 1.45vw, 22px) !important;
    line-height: 1.28 !important;
}

.cup-commerce-page--cart .cup-commerce-hero__status,
.cup-commerce-page--checkout .cup-commerce-hero__status {
    min-width: min(260px, 30vw) !important;
    padding: 22px !important;
}

.cup-commerce-page--cart .cup-commerce-hero__status span,
.cup-commerce-page--checkout .cup-commerce-hero__status span,
.cup-commerce-page--cart .cup-order-summary__row span,
.cup-commerce-page--checkout .cup-order-summary__row span,
.cup-commerce-page--cart .cup-cart-price span,
.cup-commerce-page--cart .cup-cart-qty > span,
.cup-commerce-page--cart .cup-cart-sum span {
    font-size: 13px !important;
    letter-spacing: .075em !important;
}

.cup-commerce-page--cart .cup-commerce-hero__status strong,
.cup-commerce-page--checkout .cup-commerce-hero__status strong {
    font-size: clamp(26px, 2.2vw, 36px) !important;
}

.cup-commerce-page--cart .cup-commerce-shell,
.cup-commerce-page--checkout .cup-commerce-shell {
    margin-top: clamp(-56px, -4vw, -34px) !important;
}

.cup-commerce-page--cart .cup-cart-card,
.cup-commerce-page--checkout .cup-checkout-card,
.cup-commerce-page--cart .cup-order-summary,
.cup-commerce-page--checkout .cup-order-summary,
.cup-commerce-page--cart .cup-empty-state,
.cup-commerce-page--checkout .cup-empty-state {
    padding: clamp(20px, 2.2vw, 30px) !important;
}

.cup-commerce-page--cart .cup-card-head,
.cup-commerce-page--checkout .cup-card-head {
    margin-bottom: 18px !important;
}

.cup-commerce-page--cart .cup-card-head h2,
.cup-commerce-page--checkout .cup-card-head h2,
.cup-commerce-page--cart .cup-order-summary h2,
.cup-commerce-page--checkout .cup-order-summary h2,
.cup-commerce-page--cart .cup-empty-state h2,
.cup-commerce-page--checkout .cup-empty-state h2 {
    font-size: clamp(24px, 2.15vw, 36px) !important;
    line-height: 1.02 !important;
}

.cup-commerce-page--cart .cup-card-head__link,
.cup-commerce-page--checkout .cup-card-head__link {
    min-height: 38px !important;
    padding: 0 14px !important;
    font-size: 15px !important;
}

.cup-commerce-page--cart .cup-cart-item {
    grid-template-columns: clamp(112px, 11vw, 150px) minmax(0, 1fr) !important;
    gap: clamp(14px, 1.5vw, 20px) !important;
    padding: clamp(14px, 1.5vw, 20px) !important;
}

.cup-commerce-page--cart .cup-cart-item__body {
    gap: 14px !important;
}

.cup-commerce-page--cart .cup-cart-item__main h3 {
    font-size: clamp(22px, 1.8vw, 30px) !important;
    line-height: 1.06 !important;
}

.cup-commerce-page--cart .cup-modifier-chip,
.cup-commerce-page--checkout .cup-checkout-summary-item__mods span {
    min-height: 28px !important;
    padding: 0 9px !important;
    font-size: 13px !important;
}

.cup-commerce-page--cart .cup-cart-item__meta {
    gap: 12px !important;
}

.cup-commerce-page--cart .cup-cart-price strong,
.cup-commerce-page--cart .cup-cart-sum strong {
    font-size: clamp(20px, 1.55vw, 27px) !important;
}

.cup-commerce-page--cart .cup-qty-stepper,
.cup-commerce-page--cart .qty-stepper.cup-qty-stepper {
    grid-template-columns: 44px 62px 44px !important;
    height: 48px !important;
}

.cup-commerce-page--cart .cup-qty-stepper .qty-stepper__btn,
.cup-commerce-page--cart .cup-qty-stepper .qty-stepper__input {
    height: 48px !important;
    min-height: 48px !important;
    font-size: 20px !important;
    line-height: 48px !important;
}

.cup-commerce-page--cart .cup-qty-stepper .qty-stepper__input {
    width: 62px !important;
}

.cup-commerce-page--cart .cup-cart-remove {
    width: 38px !important;
    min-width: 38px !important;
    height: 38px !important;
    min-height: 38px !important;
    font-size: 24px !important;
}

.cup-commerce-page--cart .cup-order-summary__row,
.cup-commerce-page--checkout .cup-order-summary__row {
    padding: 14px 0 !important;
}

.cup-commerce-page--cart .cup-order-summary__row:first-of-type,
.cup-commerce-page--checkout .cup-order-summary__row:first-of-type {
    margin-top: 18px !important;
}

.cup-commerce-page--cart .cup-order-summary__row strong,
.cup-commerce-page--checkout .cup-order-summary__row strong {
    font-size: clamp(20px, 1.6vw, 28px) !important;
}

.cup-commerce-page--cart .cup-order-summary__row--total strong,
.cup-commerce-page--checkout .cup-order-summary__row--total strong {
    font-size: clamp(26px, 2.2vw, 38px) !important;
}

.cup-commerce-page--cart .cup-commerce-btn,
.cup-commerce-page--checkout .cup-commerce-btn,
.cup-commerce-page--cart .btn,
.cup-commerce-page--checkout .btn,
.cup-commerce-page--cart button.btn,
.cup-commerce-page--checkout button.btn,
.cup-commerce-page--cart a.btn,
.cup-commerce-page--checkout a.btn {
    min-height: 52px !important;
    font-size: clamp(16px, 1.25vw, 20px) !important;
    letter-spacing: .035em !important;
}

.cup-commerce-page--cart .cup-order-summary__note,
.cup-commerce-page--checkout .cup-order-summary__note,
.cup-commerce-page--cart .cup-empty-state__content p:not(.cup-commerce-eyebrow),
.cup-commerce-page--checkout .cup-empty-state__content p:not(.cup-commerce-eyebrow) {
    font-size: clamp(14px, 1.15vw, 17px) !important;
    line-height: 1.32 !important;
}

.cup-commerce-page--checkout .cup-checkout-main {
    gap: 18px !important;
}

.cup-commerce-page--checkout .cup-form-field span {
    font-size: 13px !important;
    letter-spacing: .055em !important;
}

.cup-commerce-page--checkout input:not([type="radio"]),
.cup-commerce-page--checkout select,
.cup-commerce-page--checkout textarea {
    min-height: 48px !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
    font-size: 16px !important;
}

.cup-commerce-page--checkout textarea {
    min-height: 96px !important;
    padding-top: 12px !important;
    padding-bottom: 12px !important;
}

.cup-commerce-page--checkout .cup-radio-list,
.cup-commerce-page--checkout .checkout-radio-list.cup-radio-list {
    gap: 12px !important;
}

.cup-commerce-page--checkout .cup-radio-tile,
.cup-commerce-page--checkout .checkout-radio.cup-radio-tile {
    min-height: 78px !important;
    padding: 14px 14px 14px 48px !important;
    border-radius: 14px !important;
}

.cup-commerce-page--checkout .cup-radio-tile input[type="radio"] {
    left: 16px !important;
    top: 18px !important;
    width: 18px !important;
    height: 18px !important;
}

.cup-commerce-page--checkout .cup-radio-tile span {
    gap: 5px !important;
}

.cup-commerce-page--checkout .cup-radio-tile strong {
    font-size: clamp(18px, 1.45vw, 23px) !important;
    line-height: 1.05 !important;
}

.cup-commerce-page--checkout .cup-radio-tile small {
    font-size: 13px !important;
    line-height: 1.25 !important;
}

.cup-commerce-page--checkout .cup-checkout-hint,
.cup-commerce-page--checkout .checkout-hint.cup-checkout-hint {
    margin-top: 12px !important;
    padding: 12px 14px !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
}

.cup-commerce-page--checkout .checkout-address-suggest__item,
.cup-commerce-page--checkout .checkout-field-note {
    font-size: 14px !important;
}

.cup-commerce-page--checkout .cup-checkout-summary-list {
    gap: 10px !important;
    margin: 16px 0 18px !important;
}

.cup-commerce-page--checkout .cup-checkout-summary-item {
    grid-template-columns: 60px minmax(0, 1fr) !important;
    gap: 10px !important;
    padding: 10px !important;
    border-radius: 14px !important;
}

.cup-commerce-page--checkout .cup-checkout-summary-item img {
    width: 60px !important;
    height: 60px !important;
    border-radius: 11px !important;
}

.cup-commerce-page--checkout .cup-checkout-summary-item__head strong {
    font-size: 16px !important;
    line-height: 1.12 !important;
}

.cup-commerce-page--checkout .cup-checkout-summary-item__head span {
    font-size: 14px !important;
}

.cup-commerce-page--checkout .cup-checkout-summary-item__sum {
    margin-top: 7px !important;
    font-size: 17px !important;
}

@media (max-width: 820px) {
    .cup-commerce-page--cart .cup-commerce-hero,
    .cup-commerce-page--checkout .cup-commerce-hero {
        min-height: 350px !important;
        padding-top: 112px !important;
        padding-bottom: 78px !important;
    }

    .cup-commerce-page--cart .cup-commerce-hero h1,
    .cup-commerce-page--checkout .cup-commerce-hero h1 {
        font-size: clamp(36px, 10vw, 62px) !important;
    }

    .cup-commerce-page--cart .cup-cart-item {
        grid-template-columns: 96px minmax(0, 1fr) !important;
    }

    .cup-commerce-page--cart .cup-cart-item__meta {
        grid-template-columns: 1fr !important;
    }

    .cup-commerce-page--cart .cup-qty-stepper,
    .cup-commerce-page--cart .qty-stepper.cup-qty-stepper {
        grid-template-columns: 1fr 1.2fr 1fr !important;
        width: 100% !important;
    }

    .cup-commerce-page--cart .cup-qty-stepper .qty-stepper__input {
        width: 100% !important;
    }
}

@media (max-width: 560px) {
    .cup-commerce-page--cart .cup-cart-card,
    .cup-commerce-page--checkout .cup-checkout-card,
    .cup-commerce-page--cart .cup-order-summary,
    .cup-commerce-page--checkout .cup-order-summary,
    .cup-commerce-page--cart .cup-empty-state,
    .cup-commerce-page--checkout .cup-empty-state {
        padding: 18px !important;
        border-radius: 20px !important;
    }

    .cup-commerce-page--cart .cup-cart-item {
        grid-template-columns: 1fr !important;
    }

    .cup-commerce-page--cart .cup-cart-item__image {
        width: min(100%, 220px) !important;
    }

    .cup-commerce-page--cart .cup-card-head h2,
    .cup-commerce-page--checkout .cup-card-head h2,
    .cup-commerce-page--cart .cup-order-summary h2,
    .cup-commerce-page--checkout .cup-order-summary h2,
    .cup-commerce-page--cart .cup-empty-state h2,
    .cup-commerce-page--checkout .cup-empty-state h2 {
        font-size: 28px !important;
    }

    .cup-commerce-page--checkout .cup-checkout-summary-item {
        grid-template-columns: 54px minmax(0, 1fr) !important;
    }

    .cup-commerce-page--checkout .cup-checkout-summary-item img {
        width: 54px !important;
        height: 54px !important;
    }
}

/* =========================
   Round 20: modal above header, cart no product popup, first adaptive cleanup
   - product popup overlays the fixed header and mobile drawer
   - cart items are no longer clickable popups
   - safer responsive layout for menu, cart, checkout and modal
========================= */
.thecup-product-modal {
    z-index: 120000 !important;
    padding: clamp(12px, 2.2vw, 28px) !important;
}

.thecup-product-modal__overlay {
    z-index: 0 !important;
}

.thecup-product-modal__dialog {
    z-index: 1 !important;
}

.thecup-product-modal__close {
    z-index: 3 !important;
}

.cup-commerce-page--cart .cup-cart-item__image {
    cursor: default !important;
    pointer-events: none;
}

.cup-commerce-page--cart .cup-cart-item__image img {
    transform: none !important;
}

.cup-commerce-page--cart .cup-cart-item__main h3 {
    cursor: default !important;
}

@media (max-width: 1180px) {
    .figma-product-grid {
        width: min(calc(100% - 48px), 1120px) !important;
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        column-gap: clamp(18px, 2.4vw, 32px) !important;
        row-gap: clamp(28px, 3vw, 42px) !important;
    }

    .figma-product-card__image {
        width: clamp(160px, 18vw, 214px) !important;
        height: clamp(160px, 18vw, 214px) !important;
    }

    .figma-product-card--drink .figma-product-card__image {
        width: clamp(118px, 14vw, 150px) !important;
        height: clamp(138px, 16vw, 174px) !important;
    }
}

@media (max-width: 900px) {
    .thecup-product-modal {
        align-items: flex-start !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch;
    }

    .thecup-product-modal__dialog {
        width: min(100%, 720px) !important;
        max-height: none !important;
        min-height: 0 !important;
        margin: 10px auto !important;
        grid-template-columns: 1fr !important;
        gap: 18px !important;
        padding: 18px !important;
        border-radius: 24px !important;
        overflow: visible !important;
    }

    .thecup-product-modal__media,
    .thecup-product-modal__dialog--food .thecup-product-modal__media,
    .thecup-product-modal__dialog--drink .thecup-product-modal__media {
        min-height: 0 !important;
        height: auto !important;
        max-height: 42vh !important;
        border-radius: 20px !important;
    }

    .thecup-product-modal__media img,
    .thecup-product-modal__dialog--food .thecup-product-modal__media img,
    .thecup-product-modal__dialog--drink .thecup-product-modal__media img {
        width: 100% !important;
        height: auto !important;
        max-height: 42vh !important;
        object-fit: contain !important;
    }

    .thecup-product-modal__dialog--drink .thecup-product-modal__head,
    .thecup-product-modal__head {
        margin-left: 0 !important;
    }

    .thecup-product-modal__content {
        padding-right: 0 !important;
        gap: 12px !important;
    }

    .thecup-product-modal__head h3,
    .thecup-product-modal__content h3 {
        padding-right: 48px !important;
        font-size: clamp(30px, 8vw, 48px) !important;
        line-height: .98 !important;
    }

    .thecup-product-modal__description,
    .thecup-product-modal__weight {
        font-size: 15px !important;
        line-height: 1.3 !important;
    }

    .thecup-product-modal__buy-row {
        display: grid !important;
        grid-template-columns: minmax(128px, .42fr) minmax(0, 1fr) !important;
        gap: 10px !important;
    }

    .figma-menu-nav,
    .figma-menu-nav.figma-home-container,
    .figma-menu-nav.is-stuck,
    .figma-menu-nav.figma-home-container.is-stuck {
        flex-wrap: nowrap !important;
        justify-content: flex-start !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }

    .figma-menu-nav::-webkit-scrollbar,
    .figma-menu-nav.figma-home-container::-webkit-scrollbar {
        display: none !important;
    }

    .figma-product-grid {
        width: calc(100% - 28px) !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        column-gap: 16px !important;
        row-gap: 30px !important;
    }

    .figma-product-card__title {
        font-size: clamp(22px, 4.8vw, 30px) !important;
    }

    .figma-product-card__desc,
    .figma-product-card__desc--empty {
        width: min(100%, 180px) !important;
    }

    .cup-commerce-page--cart .cup-order-layout,
    .cup-commerce-page--checkout .cup-checkout-layout {
        grid-template-columns: 1fr !important;
        gap: 18px !important;
    }

    .cup-commerce-page--cart .cup-order-summary,
    .cup-commerce-page--checkout .cup-checkout-sidebar,
    .cup-commerce-page--checkout .cup-order-summary {
        position: static !important;
        top: auto !important;
    }
}

@media (max-width: 680px) {
    .figma-home-container,
    .figma-box-container,
    .figma-promo-container,
    .container,
    .cup-commerce-shell {
        width: calc(100% - 24px) !important;
        max-width: calc(100vw - 24px) !important;
    }

    .figma-home-menu {
        padding-top: 22px !important;
    }

    .figma-menu-title {
        font-size: 28px !important;
        line-height: 1 !important;
        margin-bottom: 12px !important;
    }

    .figma-menu-nav,
    .figma-menu-nav.figma-home-container,
    .figma-menu-nav.is-stuck,
    .figma-menu-nav.figma-home-container.is-stuck {
        display: flex !important;
        width: calc(100% - 16px) !important;
        max-width: calc(100vw - 16px) !important;
        margin-top: 0 !important;
        margin-bottom: 24px !important;
        gap: 7px !important;
        padding: 0 !important;
    }

    .figma-menu-nav__link,
    .figma-menu-nav.figma-home-container .figma-menu-nav__link {
        min-height: 38px !important;
        padding: 0 14px !important;
        border-radius: 13px !important;
        font-size: 14px !important;
    }

    .figma-menu-label {
        max-width: calc(100vw - 24px) !important;
        min-width: 0 !important;
        min-height: 38px !important;
        padding: 0 18px !important;
        justify-content: center !important;
        border-radius: 0 12px 12px 0 !important;
        font-size: 16px !important;
    }

    .figma-product-grid {
        width: calc(100% - 20px) !important;
        grid-template-columns: 1fr !important;
        gap: 14px !important;
        margin-top: 14px !important;
    }

    .figma-product-card,
    .figma-product-card--drink {
        width: 100% !important;
        min-height: 0 !important;
        height: auto !important;
        display: grid !important;
        grid-template-columns: 112px minmax(0, 1fr) !important;
        grid-template-areas:
            'image title'
            'image desc'
            'image cart' !important;
        column-gap: 12px !important;
        align-items: center !important;
        padding: 10px !important;
        border-radius: 16px !important;
        text-align: left !important;
    }

    .figma-product-card__image,
    .figma-product-card--drink .figma-product-card__image {
        grid-area: image !important;
        width: 104px !important;
        height: 104px !important;
        margin: 0 !important;
    }

    .figma-product-card__title,
    .figma-product-card--drink .figma-product-card__title {
        grid-area: title !important;
        margin: 0 0 4px !important;
        min-height: 0 !important;
        text-align: left !important;
        font-size: 22px !important;
        line-height: 1 !important;
    }

    .figma-product-card__title-button {
        text-align: left !important;
    }

    .figma-product-card__desc,
    .figma-product-card__desc--empty,
    .figma-product-card--drink .figma-product-card__desc,
    .figma-product-card--drink .figma-product-card__desc--empty {
        grid-area: desc !important;
        display: block !important;
        width: 100% !important;
        min-height: 20px !important;
        height: auto !important;
        margin: 0 0 8px !important;
        font-size: 10px !important;
        line-height: 1.18 !important;
        text-align: left !important;
    }

    .figma-product-card__cart-form,
    .figma-product-card--drink .figma-product-card__cart-form {
        grid-area: cart !important;
        width: 100% !important;
        margin: 0 !important;
    }

    .figma-product-card__price,
    .figma-card-stepper,
    .figma-product-card--drink .figma-product-card__price,
    .figma-product-card--drink .figma-card-stepper {
        width: 100% !important;
        max-width: none !important;
        height: 38px !important;
        min-height: 38px !important;
        border-radius: 12px !important;
    }

    .cup-commerce-page--cart .cup-commerce-hero,
    .cup-commerce-page--checkout .cup-commerce-hero {
        min-height: 300px !important;
        padding-top: 96px !important;
        padding-bottom: 58px !important;
    }

    .cup-commerce-page--cart .cup-commerce-hero h1,
    .cup-commerce-page--checkout .cup-commerce-hero h1 {
        font-size: clamp(34px, 11vw, 52px) !important;
    }

    .cup-commerce-page--cart .cup-commerce-hero p:not(.cup-commerce-eyebrow),
    .cup-commerce-page--checkout .cup-commerce-hero p:not(.cup-commerce-eyebrow) {
        font-size: 15px !important;
        margin-top: 12px !important;
    }

    .cup-commerce-page--cart .cup-cart-item {
        grid-template-columns: 92px minmax(0, 1fr) !important;
        gap: 12px !important;
    }

    .cup-commerce-page--cart .cup-cart-item__image {
        width: 92px !important;
        height: 92px !important;
    }

    .cup-commerce-page--cart .cup-cart-item__meta {
        grid-template-columns: 1fr !important;
    }

    .cup-commerce-page--cart .cup-cart-remove {
        justify-self: start !important;
    }

    .cup-commerce-page--checkout .cup-form-grid,
    .cup-commerce-page--checkout .checkout-grid.cup-form-grid,
    .cup-commerce-page--checkout .cup-radio-list,
    .cup-commerce-page--checkout .checkout-radio-list.cup-radio-list {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 430px) {
    .glass-header .redesigned-header,
    .figma-home-header .redesigned-header {
        width: calc(100% - 14px) !important;
        padding-inline: 8px !important;
    }

    .header-cart,
    .header-burger {
        width: 38px !important;
        height: 38px !important;
        min-width: 38px !important;
        min-height: 38px !important;
    }

    .logo-text,
    .figma-home-header .logo-text {
        font-size: 18px !important;
    }

    .thecup-product-modal {
        padding: 8px !important;
    }

    .thecup-product-modal__dialog {
        padding: 14px !important;
        border-radius: 20px !important;
    }

    .thecup-product-modal__buy-row {
        grid-template-columns: 1fr !important;
    }

    .thecup-product-modal__submit {
        width: 100% !important;
    }

    .cup-commerce-page--cart .cup-cart-card,
    .cup-commerce-page--checkout .cup-checkout-card,
    .cup-commerce-page--cart .cup-order-summary,
    .cup-commerce-page--checkout .cup-order-summary {
        padding: 14px !important;
        border-radius: 18px !important;
    }

    .cup-commerce-page--cart .cup-cart-item {
        grid-template-columns: 76px minmax(0, 1fr) !important;
        padding: 12px !important;
    }

    .cup-commerce-page--cart .cup-cart-item__image {
        width: 76px !important;
        height: 76px !important;
    }

    .cup-commerce-page--cart .cup-cart-item__main h3 {
        font-size: 20px !important;
    }

    .cup-commerce-page--checkout .cup-checkout-summary-item {
        grid-template-columns: 48px minmax(0, 1fr) !important;
    }

    .cup-commerce-page--checkout .cup-checkout-summary-item img {
        width: 48px !important;
        height: 48px !important;
    }
}



/* =========================
   Round 21 client fixes
   - product popup above header and sticky categories
   - adaptive mobile burger drawer
   - remove excessive mobile top spacing
   - thinner mobile contact marquee ribbon
========================= */
:root {
    --the-cup-product-modal-z: 2147483000;
    --the-cup-drawer-z: 100020;
    --the-cup-drawer-overlay-z: 100010;
}

.thecup-product-modal,
body.product-modal-open .thecup-product-modal,
body.product-modal-open .thecup-product-modal:not([hidden]) {
    position: fixed !important;
    inset: 0 !important;
    z-index: var(--the-cup-product-modal-z) !important;
    isolation: isolate !important;
}

.thecup-product-modal__overlay {
    z-index: 0 !important;
}

.thecup-product-modal__dialog,
.thecup-product-modal__close {
    z-index: 1 !important;
}

body.product-modal-open .glass-header,
body.product-modal-open .figma-home-header.glass-header,
body.product-modal-open .figma-menu-nav,
body.product-modal-open .figma-menu-nav.figma-home-container,
body.product-modal-open .site-menu-overlay,
body.product-modal-open .site-menu-drawer {
    z-index: 1 !important;
    pointer-events: none !important;
}

.site-menu-overlay {
    z-index: var(--the-cup-drawer-overlay-z) !important;
}

.site-menu-drawer {
    z-index: var(--the-cup-drawer-z) !important;
}

.header-burger {
    display: inline-flex !important;
    position: relative !important;
    z-index: calc(var(--the-cup-drawer-z) + 1) !important;
}

.header-burger__line {
    transform-origin: center !important;
    transition: transform .22s ease, opacity .18s ease !important;
}

body.site-menu-open .header-burger__line:nth-child(1) {
    transform: translateY(7px) rotate(45deg) !important;
}

body.site-menu-open .header-burger__line:nth-child(2) {
    opacity: 0 !important;
}

body.site-menu-open .header-burger__line:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg) !important;
}

.site-menu-drawer[hidden],
.site-menu-overlay[hidden] {
    display: none !important;
}

@media (max-width: 900px) {
    .site-menu-drawer {
        width: min(420px, calc(100vw - 16px)) !important;
        max-width: calc(100vw - 16px) !important;
        padding: 18px !important;
        gap: 16px !important;
        border-radius: 24px 0 0 24px !important;
    }

    .site-menu-drawer__head {
        position: sticky !important;
        top: 0 !important;
        z-index: 2 !important;
        padding-bottom: 8px !important;
        background: linear-gradient(180deg, rgba(34, 42, 26, .98), rgba(34, 42, 26, .86) 72%, rgba(34, 42, 26, 0)) !important;
    }

    .site-menu-drawer__section {
        padding: 14px !important;
        border-radius: 20px !important;
    }

    .site-menu-drawer__list {
        gap: 8px !important;
    }

    .site-menu-drawer__list a {
        min-height: 42px !important;
        padding: 0 12px !important;
        font-size: 17px !important;
    }

    .site-menu-drawer__list--categories {
        max-height: none !important;
    }
}

@media (max-width: 680px) {
    html,
    body {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }

    .site-main:not(.figma-home-main) {
        padding-top: 62px !important;
    }

    .figma-home-main {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }

    .figma-home-hero.redesigned-hero {
        margin-top: 0 !important;
        padding-top: 0 !important;
        min-height: 100svh !important;
        height: 100svh !important;
    }

    .cup-commerce-page--cart .cup-commerce-hero,
    .cup-commerce-page--checkout .cup-commerce-hero,
    .cup-commerce-hero {
        min-height: auto !important;
        padding-top: 70px !important;
        padding-bottom: 28px !important;
    }

    .site-menu-drawer {
        top: 0 !important;
        right: 0 !important;
        width: 100vw !important;
        max-width: 100vw !important;
        height: 100svh !important;
        padding: max(16px, env(safe-area-inset-top)) 14px max(18px, env(safe-area-inset-bottom)) !important;
        border-left: 0 !important;
        border-radius: 0 !important;
    }

    body.admin-bar .site-menu-drawer {
        top: 46px !important;
        height: calc(100svh - 46px) !important;
    }

    .site-menu-drawer__head {
        margin: 0 -2px !important;
    }

    .site-menu-drawer__logo {
        font-size: 26px !important;
    }

    .site-menu-drawer__close {
        width: 42px !important;
        height: 42px !important;
        border-radius: 13px !important;
    }

    .site-menu-drawer__section {
        padding: 12px !important;
        border-radius: 18px !important;
    }

    .site-menu-drawer__title {
        margin-bottom: 10px !important;
        font-size: 12px !important;
    }

    .site-menu-drawer__list a {
        min-height: 40px !important;
        font-size: 16px !important;
        border-radius: 12px !important;
    }

    .figma-contact-ribbon,
    .figma-contact-ribbon.figma-contact-ribbon--marquee,
    .figma-contact-scene--assets .figma-contact-ribbon,
    .figma-contact-scene--assets .figma-contact-ribbon.figma-contact-ribbon--marquee {
        height: 28px !important;
        min-height: 28px !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        border-radius: 0 !important;
    }

    .figma-contact-ribbon__track {
        height: 28px !important;
        min-height: 28px !important;
        align-items: center !important;
    }

    .figma-contact-ribbon__group {
        gap: 24px !important;
        padding-inline: 22px !important;
    }

    .figma-contact-ribbon span,
    .figma-contact-ribbon a,
    .figma-contact-ribbon__track span,
    .figma-contact-ribbon__track a,
    .figma-contact-ribbon__group span,
    .figma-contact-ribbon__group a {
        font-size: 8px !important;
        line-height: 1 !important;
        letter-spacing: .01em !important;
        white-space: nowrap !important;
    }
}

@media (max-width: 430px) {
    .site-main:not(.figma-home-main) {
        padding-top: 58px !important;
    }

    .cup-commerce-page--cart .cup-commerce-hero,
    .cup-commerce-page--checkout .cup-commerce-hero,
    .cup-commerce-hero {
        padding-top: 64px !important;
        padding-bottom: 24px !important;
    }

    .figma-contact-ribbon,
    .figma-contact-ribbon.figma-contact-ribbon--marquee,
    .figma-contact-scene--assets .figma-contact-ribbon,
    .figma-contact-scene--assets .figma-contact-ribbon.figma-contact-ribbon--marquee {
        height: 22px !important;
        min-height: 22px !important;
    }

    .figma-contact-ribbon__track {
        height: 22px !important;
        min-height: 22px !important;
    }

    .figma-contact-ribbon__group {
        gap: 18px !important;
        padding-inline: 18px !important;
    }

    .figma-contact-ribbon span,
    .figma-contact-ribbon a,
    .figma-contact-ribbon__track span,
    .figma-contact-ribbon__track a,
    .figma-contact-ribbon__group span,
    .figma-contact-ribbon__group a {
        font-size: 7px !important;
    }
}


/* =========================
   Round 22 client fixes
   - hide cart/checkout subtitle on phones
   - stable iOS/Safari product modal scrolling and close button
   - safer Los Angeles Deco local font lookup/fallback
========================= */
:root {
    --the-cup-deco-font: 'LosAngelesDeco', 'Los Angeles Deco', 'Kelly Slab', 'Arial Narrow', Arial, sans-serif;
}

.logo-text,
.figma-site-footer__watermark,
.site-menu-drawer__logo,
.figma-home-header .logo-text,
.glass-header .logo-text {
    font-family: var(--the-cup-deco-font) !important;
    -webkit-font-smoothing: antialiased;
    text-rendering: geometricPrecision;
}

.thecup-product-modal {
    touch-action: none;
    overscroll-behavior: contain;
}

.thecup-product-modal__dialog,
.thecup-product-modal__content,
.thecup-product-modal__form,
.thecup-product-modal__modifiers {
    overscroll-behavior: contain;
}

@media (max-width: 680px) {
    .cup-commerce-page--cart .cup-commerce-hero__copy > p:not(.cup-commerce-eyebrow),
    .cup-commerce-page--checkout .cup-commerce-hero__copy > p:not(.cup-commerce-eyebrow) {
        display: none !important;
    }

    .thecup-product-modal,
    body.product-modal-open .thecup-product-modal,
    body.product-modal-open .thecup-product-modal:not([hidden]) {
        display: block !important;
        padding: max(8px, env(safe-area-inset-top)) 8px max(8px, env(safe-area-inset-bottom)) !important;
        overflow: hidden !important;
        height: 100vh !important;
        height: 100svh !important;
        height: 100dvh !important;
        touch-action: auto !important;
    }

    .thecup-product-modal__dialog,
    .thecup-product-modal__dialog--food,
    .thecup-product-modal__dialog--drink {
        width: 100% !important;
        max-width: none !important;
        height: calc(100vh - 16px) !important;
        height: calc(100svh - 16px) !important;
        height: calc(100dvh - 16px) !important;
        max-height: calc(100vh - 16px) !important;
        max-height: calc(100svh - 16px) !important;
        max-height: calc(100dvh - 16px) !important;
        min-height: 0 !important;
        margin: 0 auto !important;
        display: grid !important;
        grid-template-columns: 1fr !important;
        grid-template-rows: auto minmax(0, 1fr) !important;
        gap: 10px !important;
        padding: 12px !important;
        border-radius: 22px !important;
        overflow: hidden !important;
        -webkit-overflow-scrolling: auto !important;
    }

    .thecup-product-modal__close {
        position: fixed !important;
        top: calc(env(safe-area-inset-top) + 14px) !important;
        right: calc(env(safe-area-inset-right) + 14px) !important;
        z-index: 2147483001 !important;
        width: 42px !important;
        height: 42px !important;
        min-width: 42px !important;
        min-height: 42px !important;
        border-radius: 50% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 0 !important;
        background: rgba(255, 250, 240, .96) !important;
        box-shadow: 0 8px 26px rgba(0, 0, 0, .22) !important;
        -webkit-tap-highlight-color: transparent;
    }

    .thecup-product-modal__media,
    .thecup-product-modal__dialog--food .thecup-product-modal__media,
    .thecup-product-modal__dialog--drink .thecup-product-modal__media {
        grid-row: 1 !important;
        width: 100% !important;
        height: clamp(148px, 30svh, 240px) !important;
        max-height: 30svh !important;
        min-height: 0 !important;
        overflow: hidden !important;
        flex: 0 0 auto !important;
        border-radius: 18px !important;
    }

    .thecup-product-modal__media img,
    .thecup-product-modal__dialog--food .thecup-product-modal__media img,
    .thecup-product-modal__dialog--drink .thecup-product-modal__media img {
        width: 100% !important;
        height: 100% !important;
        max-height: none !important;
        object-fit: contain !important;
    }

    .thecup-product-modal__content,
    .thecup-product-modal__dialog--drink .thecup-product-modal__content {
        grid-row: 2 !important;
        min-height: 0 !important;
        height: 100% !important;
        max-height: none !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        -webkit-overflow-scrolling: touch !important;
        padding: 0 2px calc(96px + env(safe-area-inset-bottom)) 2px !important;
        gap: 10px !important;
    }

    .thecup-product-modal__form {
        min-height: 0 !important;
        overflow: visible !important;
        gap: 10px !important;
    }

    .thecup-product-modal__modifiers {
        min-height: 0 !important;
        overflow: visible !important;
        gap: 8px !important;
    }

    .thecup-product-modal__head {
        padding-right: 46px !important;
    }

    .thecup-product-modal__head h3,
    .thecup-product-modal__content h3 {
        padding-right: 0 !important;
        font-size: clamp(28px, 7.8vw, 42px) !important;
        line-height: .98 !important;
    }

    .thecup-product-modal__submit {
        position: sticky !important;
        bottom: env(safe-area-inset-bottom) !important;
        z-index: 4 !important;
        min-height: 48px !important;
    }
}

@media (max-width: 430px) {
    .thecup-product-modal__dialog,
    .thecup-product-modal__dialog--food,
    .thecup-product-modal__dialog--drink {
        padding: 10px !important;
        border-radius: 18px !important;
    }

    .thecup-product-modal__media,
    .thecup-product-modal__dialog--food .thecup-product-modal__media,
    .thecup-product-modal__dialog--drink .thecup-product-modal__media {
        height: clamp(126px, 27svh, 198px) !important;
        max-height: 27svh !important;
    }

    .thecup-product-modal__close {
        top: calc(env(safe-area-inset-top) + 10px) !important;
        right: calc(env(safe-area-inset-right) + 10px) !important;
        width: 38px !important;
        height: 38px !important;
        min-width: 38px !important;
        min-height: 38px !important;
        font-size: 28px !important;
    }
}

/* =========================
   Round 23 client fixes
   - licensed Los Angeles Deco hook-up path
   - hero title position tuning
   - mobile contact assets cleanup
   - mobile product modal button under options
   - mobile checkout hero/content overlap cleanup
   - non-clickable looping about video
========================= */
@font-face {
    font-family: 'LosAngelesDeco';
    src:
        url('../fonts/Los-Angeles-Deco.ttf') format('truetype'),
        local('Los Angeles Deco'),
        local('Los-Angeles-Deco'),
        local('LosAngelesDeco'),
        local('Los Angeles Deco Regular'),
        local('LosAngelesDeco-Regular');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

:root {
    --the-cup-deco-font: 'LosAngelesDeco', 'Los Angeles Deco', 'Kelly Slab', 'Arial Narrow', Arial, sans-serif;
}

.logo-text,
.figma-home-main,
.figma-home-main *,
.figma-site-footer,
.figma-site-footer *,
.site-menu-drawer,
.site-menu-drawer *,
.cup-commerce-page,
.cup-commerce-page * {
    -webkit-font-smoothing: antialiased;
    text-rendering: geometricPrecision;
}

.logo-text,
.figma-home-header .logo-text,
.glass-header .logo-text,
.figma-hero-heading,
.figma-site-footer__watermark,
.site-menu-drawer__logo {
    font-family: var(--the-cup-deco-font) !important;
}

/* Desktop: move the main hero headline slightly to the left. */
@media (min-width: 901px) {
    .figma-hero-heading {
        left: clamp(260px, 28vw, 500px) !important;
    }
}

/* Mobile: lower the main hero headline and raise pizza/coffee circles. */
@media (max-width: 900px) {
    .figma-hero-heading {
        top: clamp(155px, 20svh, 210px) !important;
    }

    .figma-hero-food--left {
        top: 64px !important;
    }

    .figma-hero-food--right {
        top: 70px !important;
    }

    .figma-hero-food--center,
    .figma-hero-food--top,
    .figma-hero-food--bottom {
        transform: translateY(-28px) !important;
    }
}

@media (max-width: 520px) {
    .figma-hero-heading {
        top: clamp(172px, 23svh, 235px) !important;
    }

    .figma-hero-food--left {
        top: 58px !important;
    }

    .figma-hero-food--right {
        top: 62px !important;
    }
}

/* Mobile contacts: remove leaves completely and lift coffee/pizza. */
@media (max-width: 900px) {
    .figma-contact-scene .figma-leaf,
    .figma-contact-scene--assets .figma-leaf,
    .figma-contact-scene--assets.is-leaves-visible .figma-leaf,
    .figma-contact-scene--assets.the-cup-leaves-visible .figma-leaf {
        display: none !important;
        opacity: 0 !important;
        visibility: hidden !important;
    }

    .figma-contact-scene--assets .figma-contact-food--coffee,
    .figma-contact-food--coffee {
        top: 255px !important;
    }

    .figma-contact-scene--assets .figma-contact-food--pizza,
    .figma-contact-food--pizza {
        top: 335px !important;
    }
}

@media (max-width: 680px) {
    .figma-contact-scene--assets .figma-contact-food--coffee,
    .figma-contact-food--coffee {
        top: 250px !important;
    }

    .figma-contact-scene--assets .figma-contact-food--pizza,
    .figma-contact-food--pizza {
        top: 318px !important;
    }
}

@media (max-width: 430px) {
    .figma-contact-scene--assets .figma-contact-food--coffee,
    .figma-contact-food--coffee {
        top: 228px !important;
    }

    .figma-contact-scene--assets .figma-contact-food--pizza,
    .figma-contact-food--pizza {
        top: 292px !important;
    }
}

/* Mobile modal: keep media/close stable and put price button after all options. */
@media (max-width: 680px) {
    .thecup-product-modal__dialog,
    .thecup-product-modal__dialog--food,
    .thecup-product-modal__dialog--drink {
        grid-template-rows: auto minmax(0, 1fr) !important;
        align-items: stretch !important;
    }

    .thecup-product-modal__content,
    .thecup-product-modal__dialog--drink .thecup-product-modal__content {
        display: flex !important;
        flex-direction: column !important;
        justify-content: flex-start !important;
        overflow-y: auto !important;
        padding-bottom: calc(18px + env(safe-area-inset-bottom)) !important;
    }

    .thecup-product-modal__form {
        display: flex !important;
        flex: 0 0 auto !important;
        min-height: 0 !important;
        justify-content: flex-start !important;
        gap: 12px !important;
    }

    .thecup-product-modal__modifiers {
        flex: 0 0 auto !important;
        max-height: none !important;
        overflow: visible !important;
        align-content: start !important;
    }

    .thecup-product-modal__submit,
    .thecup-product-modal__submit[data-current-price] {
        position: static !important;
        bottom: auto !important;
        z-index: 1 !important;
        order: 20 !important;
        flex: 0 0 auto !important;
        width: 100% !important;
        margin: 8px 0 0 !important;
        min-height: 54px !important;
        transform: none !important;
    }

    .thecup-product-modal__message {
        order: 21 !important;
        flex: 0 0 auto !important;
    }
}

/* Mobile checkout: keep the green hero high enough and stop content overlap. */
@media (max-width: 680px) {
    .cup-commerce-page--checkout .cup-commerce-hero {
        min-height: 230px !important;
        padding-top: 78px !important;
        padding-bottom: 58px !important;
        align-items: flex-start !important;
    }

    .cup-commerce-page--checkout .cup-commerce-shell {
        margin-top: -18px !important;
        padding-top: 0 !important;
    }

    .cup-commerce-page--checkout .cup-checkout-layout {
        position: relative !important;
        z-index: 6 !important;
    }
}

@media (max-width: 430px) {
    .cup-commerce-page--checkout .cup-commerce-hero {
        min-height: 215px !important;
        padding-top: 70px !important;
        padding-bottom: 54px !important;
    }

    .cup-commerce-page--checkout .cup-commerce-shell {
        margin-top: -14px !important;
    }
}

/* About video: autoplay/loop visual layer only, no clicks or controls. */
.figma-about__video-wrap,
.figma-about__video-foreground,
.figma-about__video-layer,
.figma-about__video-player,
.figma-about__video-wrap iframe,
.figma-about__video-wrap video {
    pointer-events: none !important;
    user-select: none !important;
}

.figma-about__video-wrap iframe {
    border: 0 !important;
}

/* Round 10: legal consent, image stability and adaptive polishing. */
.cup-legal-consent {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr);
    gap: 10px;
    align-items: flex-start;
    margin: 18px 0 14px;
    padding: 14px 16px;
    border: 1px solid rgba(32, 38, 25, .14);
    border-radius: 18px;
    background: rgba(244, 236, 215, .56);
    color: var(--figma-dark, var(--text));
    font-size: 13px;
    line-height: 1.42;
}

.cup-legal-consent input {
    width: 18px;
    height: 18px;
    margin: 2px 0 0;
    accent-color: var(--figma-dark, var(--accent-dark));
}

.cup-legal-consent a {
    color: inherit;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.cup-checkout-summary-item img,
.checkout-summary-item img {
    width: 72px;
    height: 72px;
    aspect-ratio: 1 / 1;
    object-fit: contain;
    flex: 0 0 auto;
}

.figma-product-card__image,
.product-card__image {
    aspect-ratio: 1 / 1;
}

.figma-product-card__image img,
.product-card__image img,
.thecup-product-modal__media img {
    object-fit: contain;
}

@media (max-width: 900px) {
    .figma-product-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 34px 22px;
    }

    .cup-checkout-layout {
        gap: 22px !important;
    }

    .cup-checkout-sidebar {
        order: -1;
    }
}

@media (max-width: 680px) {
    .figma-product-grid {
        width: calc(100% - 22px) !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 28px 14px !important;
        margin-top: 18px !important;
    }

    .figma-product-card,
    .figma-product-card--drink {
        min-height: 0 !important;
        padding-inline: 2px;
    }

    .figma-product-card__image {
        width: min(42vw, 150px) !important;
        height: min(42vw, 150px) !important;
        margin-bottom: 10px !important;
    }

    .figma-product-card--drink .figma-product-card__image {
        width: min(36vw, 124px) !important;
        height: min(42vw, 140px) !important;
    }

    .figma-product-card__title {
        min-height: 44px !important;
        font-size: clamp(18px, 5.7vw, 22px) !important;
        line-height: .96 !important;
    }

    .figma-product-card__desc,
    .figma-product-card__desc--empty {
        width: min(100%, 150px) !important;
        height: 54px !important;
        min-height: 54px !important;
        margin-bottom: 12px !important;
    }

    .figma-product-card__price,
    .figma-card-stepper {
        width: min(100%, 168px) !important;
    }

    .figma-card-stepper {
        height: 46px !important;
        grid-template-columns: 48px 1fr 48px !important;
    }

    .figma-card-stepper__btn,
    .figma-card-stepper__value {
        font-size: 22px !important;
    }

    .cup-checkout-form input,
    .cup-checkout-form textarea,
    .cup-checkout-form select {
        font-size: 16px !important;
    }

    .cup-legal-consent {
        grid-template-columns: 24px minmax(0, 1fr);
        padding: 13px 14px;
        font-size: 12.5px;
        border-radius: 16px;
    }

    .cup-checkout-summary-item {
        align-items: flex-start !important;
        gap: 12px !important;
    }

    .cup-checkout-summary-item img,
    .checkout-summary-item img {
        width: 58px;
        height: 58px;
    }
}

@media (max-width: 380px) {
    .figma-product-grid {
        grid-template-columns: 1fr !important;
        width: min(100% - 28px, 270px) !important;
    }

    .figma-product-card__image,
    .figma-product-card--drink .figma-product-card__image {
        width: 168px !important;
        height: 168px !important;
    }
}

@supports (content-visibility: auto) {
    .figma-product-card,
    .product-card,
    .cup-checkout-card,
    .cup-cart-card {
        content-visibility: auto;
        contain-intrinsic-size: 360px 420px;
    }
}


/* =========================
   Round 25 client fixes
   - restored header visual rules from previous version
   - faster product popups on mobile
   - green footer on every page with desktop-like mobile layout
   - keeps mobile menu layout and short hero without food images
========================= */
@media (min-width: 901px) {
    .figma-hero-heading {
        left: clamp(200px, calc(28vw - 60px), 440px) !important;
    }
}

.site-footer {
    display: none !important;
}

.thecup-product-modal__overlay {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    background: rgba(20, 24, 16, .54) !important;
}

.thecup-product-modal__dialog,
.thecup-product-modal__content,
.thecup-product-modal__form,
.thecup-product-modal__modifiers {
    contain: layout paint style;
}

.thecup-modal-card__thumb img[data-modal-lazy-src] {
    opacity: .72;
}

@media (max-width: 760px) {
    .figma-home-hero.redesigned-hero {
        height: 360px !important;
        min-height: 360px !important;
        max-height: 360px !important;
        margin-top: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        background: var(--figma-dark, #202619) !important;
        contain: layout paint !important;
    }

    .figma-home-hero.redesigned-hero .figma-hero-food {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        background-image: none !important;
        filter: none !important;
    }

    .figma-hero-heading {
        display: block !important;
        left: 18px !important;
        top: 86px !important;
        width: calc(100% - 36px) !important;
        font-size: clamp(36px, 12vw, 56px) !important;
        line-height: .98 !important;
    }

    .figma-hero-heading span {
        opacity: 1 !important;
        transform: none !important;
        animation: none !important;
    }

    .figma-menu-nav,
    .figma-menu-nav.figma-home-container,
    .figma-menu-nav-placeholder {
        display: none !important;
    }

    .figma-home-menu {
        padding-top: 18px !important;
    }

    .figma-menu-title {
        margin: 0 0 8px !important;
        font-size: 27px !important;
        line-height: .95 !important;
    }

    .figma-menu-category {
        margin: 0 0 20px !important;
        scroll-margin-top: 84px !important;
    }

    .figma-menu-label {
        display: inline-flex !important;
        min-width: 0 !important;
        min-height: 24px !important;
        height: auto !important;
        padding: 0 0 0 15px !important;
        justify-content: flex-start !important;
        background: transparent !important;
        color: var(--figma-dark, #202619) !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        font-size: 16px !important;
        line-height: 1 !important;
        letter-spacing: .02em !important;
        text-align: left !important;
    }

    .figma-product-grid {
        width: calc(100% - 18px) !important;
        max-width: calc(100vw - 18px) !important;
        margin: 10px auto 0 !important;
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }

    .figma-product-card,
    .figma-product-card--drink {
        width: 100% !important;
        min-height: 0 !important;
        height: auto !important;
        display: grid !important;
        grid-template-columns: 160px minmax(0, 1fr) !important;
        grid-template-areas:
            'image title'
            'image desc'
            'image cart' !important;
        align-items: center !important;
        column-gap: 12px !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        background: transparent !important;
        color: var(--figma-dark, #202619) !important;
        text-align: left !important;
        content-visibility: visible !important;
        contain-intrinsic-size: auto !important;
    }

    .figma-product-card__image,
    .figma-product-card--drink .figma-product-card__image {
        grid-area: image !important;
        width: 156px !important;
        height: 156px !important;
        margin: 0 !important;
        align-self: center !important;
        filter: none !important;
    }

    .figma-product-card__image img,
    .figma-product-card--drink .figma-product-card__image img {
        width: 100% !important;
        height: 100% !important;
        object-fit: contain !important;
        filter: none !important;
    }

    .figma-product-card__title,
    .figma-product-card--drink .figma-product-card__title {
        grid-area: title !important;
        min-height: 0 !important;
        margin: 0 0 5px !important;
        display: block !important;
        align-self: end !important;
        color: inherit !important;
        text-align: left !important;
        font-size: 23px !important;
        line-height: .98 !important;
    }

    .figma-product-card__title-button {
        width: 100% !important;
        display: block !important;
        text-align: left !important;
        -webkit-line-clamp: 2 !important;
    }

    .figma-product-card__desc,
    .figma-product-card__desc--empty,
    .figma-product-card--drink .figma-product-card__desc,
    .figma-product-card--drink .figma-product-card__desc--empty {
        grid-area: desc !important;
        display: -webkit-box !important;
        width: 100% !important;
        height: auto !important;
        min-height: 35px !important;
        max-height: 47px !important;
        margin: 0 0 9px !important;
        color: inherit !important;
        font-size: 12px !important;
        line-height: 1.12 !important;
        text-align: left !important;
        opacity: 1 !important;
        -webkit-line-clamp: 3 !important;
        -webkit-box-orient: vertical !important;
        overflow: hidden !important;
    }

    .figma-product-card__cart-form,
    .figma-product-card--drink .figma-product-card__cart-form {
        grid-area: cart !important;
        width: 100% !important;
        margin: 0 !important;
        justify-content: stretch !important;
        align-self: start !important;
    }

    .figma-product-card__price,
    .figma-card-stepper,
    .figma-product-card--drink .figma-product-card__price,
    .figma-product-card--drink .figma-card-stepper {
        width: 100% !important;
        max-width: none !important;
        height: 38px !important;
        min-height: 38px !important;
        border-radius: 6px !important;
        font-size: 17px !important;
        line-height: 1 !important;
    }

    .figma-product-card__price {
        background: var(--figma-dark, #202619) !important;
        color: var(--figma-cream, #f4ecd7) !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    .figma-product-card--drink {
        grid-template-columns: 154px minmax(0, 1fr) !important;
        min-height: 112px !important;
        padding: 0 8px 0 0 !important;
        border-radius: 10px !important;
        background: var(--figma-dark, #202619) !important;
        color: var(--figma-cream, #f4ecd7) !important;
        overflow: hidden !important;
    }

    .figma-product-card--drink .figma-product-card__image {
        width: 142px !important;
        height: 112px !important;
        margin: 0 0 -7px -8px !important;
    }

    .figma-product-card--drink .figma-product-card__title {
        font-size: 21px !important;
        align-self: end !important;
    }

    .figma-product-card--drink .figma-product-card__desc,
    .figma-product-card--drink .figma-product-card__desc--empty {
        display: none !important;
        min-height: 0 !important;
        height: 0 !important;
        margin: 0 !important;
    }

    .figma-product-card--drink .figma-product-card__price,
    .figma-product-card--drink .figma-card-stepper {
        height: 37px !important;
        min-height: 37px !important;
        border: 1px solid rgba(244, 236, 215, .88) !important;
        background: transparent !important;
        color: var(--figma-cream, #f4ecd7) !important;
    }

    .figma-card-stepper {
        grid-template-columns: 42px 1fr 42px !important;
        box-shadow: none !important;
    }

    .figma-card-stepper__btn,
    .figma-card-stepper__value {
        font-size: 19px !important;
    }

    .figma-home-promos__grid,
    .figma-events__grid,
    .figma-top-cards__grid,
    .figma-promotions__grid {
        grid-template-columns: 1fr !important;
    }

    .figma-contact-scene .figma-leaf,
    .figma-contact-scene--assets .figma-leaf,
    .figma-contact-ribbon__track,
    .figma-hero-food {
        animation: none !important;
        transition: none !important;
        will-change: auto !important;
    }

    .figma-contact-ribbon__track {
        /* transform is controlled by marquee keyframes */
    }

    .site-menu-overlay,
    .site-menu-drawer {
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }

    .thecup-product-modal__dialog,
    .thecup-product-modal__dialog--food,
    .thecup-product-modal__dialog--drink {
        box-shadow: none !important;
        contain: layout paint style !important;
    }
}

@media (max-width: 430px) {
    .figma-home-hero.redesigned-hero {
        height: 330px !important;
        min-height: 330px !important;
        max-height: 330px !important;
    }

    .figma-hero-heading {
        top: 78px !important;
        font-size: clamp(34px, 12vw, 50px) !important;
    }

    .figma-product-card,
    .figma-product-card--drink {
        grid-template-columns: 135px minmax(0, 1fr) !important;
        column-gap: 9px !important;
    }

    .figma-product-card__image,
    .figma-product-card--drink .figma-product-card__image {
        width: 132px !important;
        height: 132px !important;
    }

    .figma-product-card--drink .figma-product-card__image {
        width: 126px !important;
        height: 108px !important;
    }

    .figma-product-card__title,
    .figma-product-card--drink .figma-product-card__title {
        font-size: 20px !important;
    }

    .figma-product-card__desc,
    .figma-product-card__desc--empty {
        font-size: 10px !important;
    }
}

@media (max-width: 900px) {
    .figma-site-footer {
        height: 430px !important;
        min-height: 430px !important;
        padding: 0 !important;
        overflow: hidden !important;
    }

    .figma-site-footer__watermark {
        left: 50% !important;
        top: 50% !important;
        transform: translate(-50%, -50%) !important;
        font-size: clamp(300px, 95vw, 430px) !important;
        line-height: .82 !important;
        white-space: nowrap !important;
    }

    .figma-site-footer__contacts {
        left: 18px !important;
        right: auto !important;
        bottom: 42px !important;
        display: block !important;
        max-width: calc(50% - 24px) !important;
        font-size: 13px !important;
        line-height: 1.28 !important;
        text-align: left !important;
    }

    .figma-site-footer__legal {
        left: auto !important;
        right: 18px !important;
        bottom: 42px !important;
        max-width: calc(50% - 24px) !important;
        align-items: flex-end !important;
        gap: 8px !important;
    }

    .figma-site-footer__legal .figma-site-footer__privacy,
    .figma-site-footer__legal .figma-site-footer__offer {
        text-align: right !important;
        font-size: 13px !important;
        line-height: 1.12 !important;
    }
}

@media (max-width: 430px) {
    .figma-site-footer {
        height: 390px !important;
        min-height: 390px !important;
    }

    .figma-site-footer__watermark {
        font-size: clamp(270px, 100vw, 380px) !important;
    }

    .figma-site-footer__contacts {
        left: 14px !important;
        bottom: 30px !important;
        max-width: calc(50% - 18px) !important;
        font-size: 11px !important;
    }

    .figma-site-footer__legal {
        right: 14px !important;
        bottom: 30px !important;
        max-width: calc(50% - 18px) !important;
    }

    .figma-site-footer__legal .figma-site-footer__privacy,
    .figma-site-footer__legal .figma-site-footer__offer {
        font-size: 11px !important;
    }
}

/* =========================
   Round 26 client fixes
   - legacy catalog removed by redirect
   - cart mobile hero equals checkout hero and hides the top CHASHKA watermark
   - faster mobile product popups by avoiding modifier image hydration/layout
   - footer CHASHKA fits phone width
   - cart remove button sits left of quantity
========================= */

.cup-commerce-page--cart .cup-cart-item__meta {
    grid-template-columns: minmax(96px, .85fr) 44px auto minmax(112px, .9fr) !important;
}

.cup-commerce-page--cart .cup-cart-remove {
    align-self: end !important;
    justify-self: start !important;
}

@media (max-width: 760px) {
    .thecup-product-modal__overlay {
        background: rgba(20, 24, 16, .42) !important;
    }

    .thecup-product-modal__dialog,
    .thecup-product-modal__dialog--food,
    .thecup-product-modal__dialog--drink {
        transform: translateZ(0) !important;
        will-change: opacity !important;
        box-shadow: none !important;
    }

    .thecup-product-modal__media,
    .thecup-product-modal__dialog--food .thecup-product-modal__media,
    .thecup-product-modal__dialog--drink .thecup-product-modal__media {
        height: 112px !important;
        max-height: 112px !important;
        margin-bottom: 2px !important;
        background: transparent !important;
        border-radius: 14px !important;
    }

    .thecup-product-modal__media img,
    .thecup-product-modal__dialog--food .thecup-product-modal__media img,
    .thecup-product-modal__dialog--drink .thecup-product-modal__media img {
        max-width: 142px !important;
        margin-inline: auto !important;
    }

    .thecup-modal-card-grid {
        grid-template-columns: 1fr !important;
        gap: 7px !important;
    }

    .thecup-modal-card {
        min-height: 42px !important;
        padding: 8px 10px !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        gap: 8px !important;
        align-items: center !important;
        text-align: left !important;
    }

    .thecup-modal-card__thumb {
        display: none !important;
    }

    .thecup-modal-card__name,
    .thecup-modal-card__price {
        font-size: 13px !important;
        line-height: 1.05 !important;
    }

    .thecup-modal-card__price {
        margin-top: 0 !important;
        text-align: right !important;
        white-space: nowrap !important;
    }

    .thecup-modal-mod-group h4 {
        margin-bottom: 7px !important;
        font-size: clamp(20px, 6vw, 28px) !important;
    }

    .thecup-modal-pill-row {
        gap: 7px !important;
    }

    .thecup-modal-pill span {
        min-height: 34px !important;
        min-width: 0 !important;
        padding: 0 12px !important;
        font-size: 16px !important;
        border-radius: 8px !important;
    }

    .thecup-product-modal__content,
    .thecup-product-modal__dialog--drink .thecup-product-modal__content {
        gap: 8px !important;
        padding-bottom: calc(72px + env(safe-area-inset-bottom)) !important;
    }

    .thecup-product-modal__form,
    .thecup-product-modal__modifiers {
        gap: 8px !important;
    }
}

@media (max-width: 680px) {
    .cup-commerce-page--cart .cup-commerce-hero,
    .cup-commerce-page--checkout .cup-commerce-hero {
        min-height: 230px !important;
        padding-top: 78px !important;
        padding-bottom: 58px !important;
        align-items: flex-start !important;
    }

    .cup-commerce-page--cart .cup-commerce-shell,
    .cup-commerce-page--checkout .cup-commerce-shell {
        margin-top: -18px !important;
        padding-top: 0 !important;
    }

    .cup-commerce-page--cart .cup-order-layout,
    .cup-commerce-page--checkout .cup-checkout-layout {
        position: relative !important;
        z-index: 6 !important;
    }

    .cup-commerce-page--cart .cup-commerce-hero::after,
    .cup-commerce-page--checkout .cup-commerce-hero::after {
        content: none !important;
        display: none !important;
    }

    .cup-commerce-page--cart .cup-commerce-hero__decor,
    .cup-commerce-page--cart .cup-commerce-hero__leaf {
        opacity: 1 !important;
        filter: drop-shadow(0 12px 18px rgba(0, 0, 0, .20)) !important;
    }

    .cup-commerce-page--cart .cup-commerce-hero__decor--pizza {
        width: 180px !important;
        height: 180px !important;
        right: -52px !important;
        bottom: -42px !important;
    }

    .cup-commerce-page--cart .cup-commerce-hero__decor--coffee {
        width: 118px !important;
        height: 156px !important;
        right: 78px !important;
        bottom: -34px !important;
    }

    .cup-commerce-page--cart .cup-cart-item__meta {
        display: grid !important;
        grid-template-columns: 44px minmax(0, 1fr) !important;
        grid-template-areas:
            'price price'
            'remove qty'
            'sum sum' !important;
        gap: 10px 12px !important;
        align-items: end !important;
    }

    .cup-commerce-page--cart .cup-cart-price {
        grid-area: price !important;
    }

    .cup-commerce-page--cart .cup-cart-remove {
        grid-area: remove !important;
        width: 38px !important;
        min-width: 38px !important;
        height: 38px !important;
        min-height: 38px !important;
        margin: 0 !important;
        align-self: end !important;
        justify-self: start !important;
    }

    .cup-commerce-page--cart .cup-cart-qty {
        grid-area: qty !important;
        min-width: 0 !important;
    }

    .cup-commerce-page--cart .cup-cart-sum {
        grid-area: sum !important;
    }

    .cup-commerce-page--cart .cup-qty-stepper,
    .cup-commerce-page--cart .qty-stepper.cup-qty-stepper {
        width: 100% !important;
        grid-template-columns: 42px 1fr 42px !important;
    }

    .figma-site-footer__watermark {
        width: 100vw !important;
        max-width: 100vw !important;
        font-size: clamp(82px, 27vw, 118px) !important;
        line-height: .8 !important;
        letter-spacing: .01em !important;
        transform: translate(-50%, -50%) scaleX(.96) !important;
        white-space: nowrap !important;
        overflow: visible !important;
    }
}

@media (max-width: 430px) {
    .cup-commerce-page--cart .cup-commerce-hero,
    .cup-commerce-page--checkout .cup-commerce-hero {
        min-height: 215px !important;
        padding-top: 70px !important;
        padding-bottom: 54px !important;
    }

    .cup-commerce-page--cart .cup-commerce-shell,
    .cup-commerce-page--checkout .cup-commerce-shell {
        margin-top: -14px !important;
    }

    .figma-site-footer__watermark {
        font-size: clamp(76px, 27vw, 106px) !important;
    }
}

/* =========================
   Round 27: mobile-only product popup rewrite
   - one popup at a time on phones
   - close button closes the whole mobile popup stack
   - no heavy media/layout work in mobile popup
   Desktop popup styles are not changed.
========================= */
@media (max-width: 760px) {
    .thecup-product-modal {
        align-items: flex-end !important;
        justify-content: stretch !important;
        padding: 0 !important;
        contain: layout style paint !important;
    }

    .thecup-product-modal__overlay {
        background: rgba(20, 24, 16, .36) !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }

    .thecup-product-modal__dialog,
    .thecup-product-modal__dialog--food,
    .thecup-product-modal__dialog--drink {
        width: 100% !important;
        max-width: 100% !important;
        max-height: min(88dvh, calc(100vh - 20px)) !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 0 !important;
        padding: 16px 14px 0 !important;
        border-radius: 20px 20px 0 0 !important;
        overflow: auto !important;
        overscroll-behavior: contain !important;
        animation: none !important;
        transition: none !important;
        transform: none !important;
        will-change: auto !important;
        box-shadow: none !important;
        contain: layout style paint !important;
    }

    .thecup-product-modal__media,
    .thecup-product-modal__dialog--food .thecup-product-modal__media,
    .thecup-product-modal__dialog--drink .thecup-product-modal__media {
        display: none !important;
    }

    .thecup-product-modal__close {
        top: 10px !important;
        right: 10px !important;
        width: 42px !important;
        height: 42px !important;
        min-width: 42px !important;
        min-height: 42px !important;
        font-size: 30px !important;
        z-index: 5 !important;
        touch-action: manipulation !important;
    }

    .thecup-product-modal__content,
    .thecup-product-modal__dialog--drink .thecup-product-modal__content {
        display: flex !important;
        flex-direction: column !important;
        gap: 10px !important;
        padding: 0 0 calc(76px + env(safe-area-inset-bottom)) !important;
        text-align: left !important;
        min-height: 0 !important;
    }

    .thecup-product-modal__head h3,
    .thecup-product-modal__content h3 {
        padding-right: 48px !important;
        margin-bottom: 6px !important;
        font-size: clamp(28px, 9vw, 38px) !important;
        line-height: .95 !important;
        text-align: left !important;
    }

    .thecup-product-modal__description,
    .thecup-product-modal__weight {
        max-width: none !important;
        margin-inline: 0 !important;
        text-align: left !important;
        font-size: 14px !important;
        line-height: 1.22 !important;
    }

    .thecup-product-modal__form {
        display: flex !important;
        flex-direction: column !important;
        gap: 10px !important;
        min-height: 0 !important;
    }

    .thecup-product-modal__modifiers {
        max-height: none !important;
        overflow: visible !important;
        gap: 10px !important;
        padding-right: 0 !important;
    }

    .thecup-modal-mod-group h4 {
        margin: 0 0 7px !important;
        font-size: clamp(18px, 5.8vw, 25px) !important;
        line-height: 1 !important;
        text-align: left !important;
    }

    .thecup-modal-card-grid {
        grid-template-columns: 1fr !important;
        gap: 6px !important;
    }

    .thecup-modal-card {
        min-height: 38px !important;
        padding: 8px 10px !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        gap: 8px !important;
        align-items: center !important;
        border-radius: 8px !important;
        text-align: left !important;
        transition: none !important;
        transform: none !important;
        touch-action: manipulation !important;
    }

    .thecup-modal-card:hover {
        transform: none !important;
    }

    .thecup-modal-card__thumb {
        display: none !important;
    }

    .thecup-modal-card__name,
    .thecup-modal-card__price {
        font-size: 13px !important;
        line-height: 1.05 !important;
    }

    .thecup-modal-card__price {
        margin-top: 0 !important;
        text-align: right !important;
        white-space: nowrap !important;
    }

    .thecup-modal-pill-row {
        justify-content: flex-start !important;
        gap: 7px !important;
    }

    .thecup-modal-pill span {
        min-width: 0 !important;
        min-height: 34px !important;
        padding: 0 12px !important;
        border-radius: 8px !important;
        font-size: 16px !important;
        touch-action: manipulation !important;
    }

    .thecup-product-modal__submit {
        position: sticky !important;
        bottom: 0 !important;
        z-index: 4 !important;
        min-height: 58px !important;
        margin-top: 4px !important;
        margin-left: -14px !important;
        margin-right: -14px !important;
        width: calc(100% + 28px) !important;
        border-radius: 14px 14px 0 0 !important;
        font-size: 25px !important;
        touch-action: manipulation !important;
    }

    .thecup-product-modal__message {
        min-height: 18px !important;
        font-size: 13px !important;
    }
}

/* =========================
   Round 28 client fixes
   Mobile popup photo, checkout hero images, visible-only marquee.
   Desktop styles are intentionally untouched.
========================= */
@media (max-width: 760px) {
    .thecup-product-modal {
        align-items: center !important;
        justify-content: center !important;
        padding: 10px !important;
    }

    .thecup-product-modal__dialog,
    .thecup-product-modal__dialog--food,
    .thecup-product-modal__dialog--drink {
        width: min(100%, 430px) !important;
        max-width: calc(100vw - 20px) !important;
        max-height: calc(100dvh - 20px) !important;
        margin: 0 auto !important;
        padding: 12px 12px 12px !important;
        border-radius: 20px !important;
        overflow: auto !important;
        box-shadow: 0 18px 46px rgba(0, 0, 0, .26) !important;
    }

    .thecup-product-modal__media,
    .thecup-product-modal__dialog--food .thecup-product-modal__media,
    .thecup-product-modal__dialog--drink .thecup-product-modal__media {
        display: flex !important;
        width: 100% !important;
        min-height: 132px !important;
        height: clamp(136px, 36vw, 174px) !important;
        max-height: 178px !important;
        margin: 0 0 10px !important;
        padding: 8px !important;
        align-items: center !important;
        justify-content: center !important;
        border-radius: 16px !important;
        background: rgba(244, 236, 215, .72) !important;
        overflow: hidden !important;
    }

    .thecup-product-modal__media img,
    .thecup-product-modal__dialog--food .thecup-product-modal__media img,
    .thecup-product-modal__dialog--drink .thecup-product-modal__media img {
        display: block !important;
        width: 100% !important;
        height: 100% !important;
        max-height: none !important;
        object-fit: contain !important;
        opacity: 1 !important;
        transform: none !important;
        filter: none !important;
    }

    .thecup-product-modal__content,
    .thecup-product-modal__dialog--drink .thecup-product-modal__content {
        padding: 0 !important;
        gap: 9px !important;
    }

    .thecup-product-modal__head h3,
    .thecup-product-modal__content h3 {
        padding-right: 46px !important;
        font-size: clamp(25px, 8vw, 36px) !important;
    }

    .thecup-product-modal__submit,
    .thecup-product-modal__submit[data-current-price] {
        position: static !important;
        width: 100% !important;
        min-height: 54px !important;
        margin: 8px 0 0 !important;
        border-radius: 10px !important;
        box-shadow: none !important;
    }

    .thecup-product-modal__message {
        margin-bottom: 0 !important;
    }
}

@media (max-width: 680px) {
    .cup-commerce-page--checkout .cup-commerce-hero__decor,
    .cup-commerce-page--checkout .cup-commerce-hero__leaf {
        opacity: 1 !important;
        filter: drop-shadow(0 12px 18px rgba(0, 0, 0, .20)) !important;
    }

    .cup-commerce-page--checkout .cup-commerce-hero__decor--pizza {
        width: 180px !important;
        height: 180px !important;
        right: -52px !important;
        bottom: -42px !important;
    }

    .cup-commerce-page--checkout .cup-commerce-hero__decor--coffee {
        width: 118px !important;
        height: 156px !important;
        right: 78px !important;
        bottom: -34px !important;
    }

    .cup-commerce-page--checkout .cup-commerce-hero__decor--pizza,
    .cup-commerce-page--checkout .cup-commerce-hero__decor--coffee {
        background-size: contain !important;
        background-repeat: no-repeat !important;
        background-position: center !important;
    }

    .figma-contact-scene--assets {
        min-height: 820px !important;
    }

    .figma-contact-ribbon,
    .figma-contact-ribbon.figma-contact-ribbon--marquee,
    .figma-contact-scene--assets .figma-contact-ribbon,
    .figma-contact-scene--assets .figma-contact-ribbon.figma-contact-ribbon--marquee {
        top: 270px !important;
        bottom: auto !important;
        left: -8vw !important;
        width: 116vw !important;
        height: 28px !important;
        min-height: 28px !important;
        padding: 0 !important;
        display: block !important;
        overflow: hidden !important;
        transform: rotate(-3.1deg) !important;
    }

    .figma-contact-ribbon__track {
        height: 28px !important;
        min-height: 28px !important;
        display: flex !important;
        align-items: center !important;
        gap: 0 !important;
        width: max-content !important;
        min-width: max-content !important;
        padding: 0 !important;
        animation: theCupRibbonMarquee 24s linear infinite !important;
        animation-play-state: paused !important;
        /* transform is controlled by marquee keyframes */
        will-change: auto !important;
    }

    .figma-contact-ribbon.is-ribbon-visible .figma-contact-ribbon__track,
    .figma-contact-ribbon--marquee.is-ribbon-visible .figma-contact-ribbon__track,
    .figma-contact-scene--assets .figma-contact-ribbon.is-ribbon-visible .figma-contact-ribbon__track {
        animation-play-state: running !important;
        will-change: transform !important;
    }

    .figma-contact-ribbon__group {
        display: inline-flex !important;
        align-items: center !important;
        gap: 24px !important;
        padding-inline: 22px !important;
        min-width: max-content !important;
        flex: 0 0 auto !important;
    }

    .figma-contact-ribbon span,
    .figma-contact-ribbon a,
    .figma-contact-ribbon__track span,
    .figma-contact-ribbon__track a,
    .figma-contact-ribbon__group span,
    .figma-contact-ribbon__group a {
        font-size: 8px !important;
        line-height: 1 !important;
        white-space: nowrap !important;
    }

    .figma-contact-scene--assets .figma-contact-food--coffee,
    .figma-contact-food--coffee {
        width: 205px !important;
        height: 244px !important;
        left: 50% !important;
        top: 326px !important;
        transform: translateX(-50%) !important;
        z-index: 5 !important;
    }

    .figma-contact-scene--assets .figma-contact-food--pizza,
    .figma-contact-food--pizza {
        width: 150px !important;
        height: 150px !important;
        left: 50% !important;
        top: 560px !important;
        transform: translateX(-50%) !important;
        z-index: 4 !important;
    }
}

@media (max-width: 430px) {
    .figma-contact-scene--assets {
        min-height: 790px !important;
    }

    .figma-contact-ribbon,
    .figma-contact-ribbon.figma-contact-ribbon--marquee,
    .figma-contact-scene--assets .figma-contact-ribbon,
    .figma-contact-scene--assets .figma-contact-ribbon.figma-contact-ribbon--marquee {
        top: 262px !important;
        height: 24px !important;
        min-height: 24px !important;
    }

    .figma-contact-ribbon__track {
        height: 24px !important;
        min-height: 24px !important;
        animation-duration: 22s !important;
    }

    .figma-contact-ribbon__group {
        gap: 18px !important;
        padding-inline: 18px !important;
    }

    .figma-contact-ribbon span,
    .figma-contact-ribbon a,
    .figma-contact-ribbon__track span,
    .figma-contact-ribbon__track a,
    .figma-contact-ribbon__group span,
    .figma-contact-ribbon__group a {
        font-size: 7px !important;
    }

    .figma-contact-scene--assets .figma-contact-food--coffee,
    .figma-contact-food--coffee {
        width: 190px !important;
        height: 226px !important;
        top: 315px !important;
    }

    .figma-contact-scene--assets .figma-contact-food--pizza,
    .figma-contact-food--pizza {
        width: 138px !important;
        height: 138px !important;
        top: 535px !important;
    }
}

/* Checkout fixes: keep submit block below the form on mobile. */
@media (max-width: 900px) {
    .cup-commerce-page--checkout .cup-checkout-main {
        order: 1 !important;
    }

    .cup-commerce-page--checkout .cup-checkout-sidebar {
        order: 2 !important;
    }
}

/* =========================
   Round 31 client fixes
   Checkout double-submit lock and mobile contact scene under about video.
   Desktop layout is untouched.
========================= */
.cup-checkout-form.is-submitting {
    cursor: wait;
}

.cup-checkout-form.is-submitting button[type="submit"] {
    opacity: .72;
    cursor: wait;
}

.the-cup-checkout-click-blocker {
    position: fixed;
    inset: 0;
    z-index: 2147483647;
    cursor: wait;
    background: rgba(244, 236, 215, .03);
    touch-action: none;
}

@media (max-width: 680px) {
    .figma-contact-scene--assets {
        min-height: 560px !important;
        height: 560px !important;
        margin-top: 0 !important;
        background: var(--figma-cream, #f4ecd7) !important;
        overflow: hidden !important;
    }

    .figma-contact-scene--assets .figma-footer-text-card,
    .figma-contact-scene--assets .figma-map-card,
    .figma-footer-text-card {
        left: 13px !important;
        top: 112px !important;
        width: min(38vw, 235px) !important;
        min-width: 145px !important;
        height: 178px !important;
        min-height: 0 !important;
        padding: 12px !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: #d9d9d9 !important;
        color: #111 !important;
        box-shadow: none !important;
        z-index: 2 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
    }

    .figma-footer-text-card__text,
    .figma-contact-scene--assets .figma-map-card span {
        max-width: 100% !important;
        margin: 0 !important;
        font-size: clamp(10px, 2.7vw, 20px) !important;
        line-height: 1.05 !important;
        color: #111 !important;
        text-transform: uppercase !important;
    }

    .figma-contact-scene--assets .figma-contact-food--coffee,
    .figma-contact-food--coffee {
        width: clamp(165px, 34vw, 215px) !important;
        height: clamp(204px, 43vw, 260px) !important;
        left: 47% !important;
        top: 150px !important;
        transform: translateX(-18%) !important;
        z-index: 5 !important;
        filter: drop-shadow(0 12px 16px rgba(32, 38, 25, .22)) !important;
    }

    .figma-contact-scene--assets .figma-contact-food--pizza,
    .figma-contact-food--pizza {
        width: clamp(126px, 27vw, 168px) !important;
        height: clamp(126px, 27vw, 168px) !important;
        left: 70% !important;
        top: 215px !important;
        transform: translateX(-8%) !important;
        z-index: 4 !important;
        filter: drop-shadow(0 12px 16px rgba(32, 38, 25, .18)) !important;
    }

    .figma-contact-ribbon,
    .figma-contact-ribbon.figma-contact-ribbon--marquee,
    .figma-contact-scene--assets .figma-contact-ribbon,
    .figma-contact-scene--assets .figma-contact-ribbon.figma-contact-ribbon--marquee {
        top: 312px !important;
        bottom: auto !important;
        left: -7vw !important;
        width: 114vw !important;
        height: clamp(34px, 7.8vw, 48px) !important;
        min-height: clamp(34px, 7.8vw, 48px) !important;
        padding: 0 !important;
        display: block !important;
        overflow: hidden !important;
        transform: rotate(-7deg) !important;
        transform-origin: center !important;
        background: var(--figma-dark, #2a2c1c) !important;
        box-shadow: none !important;
        z-index: 8 !important;
    }

    .figma-contact-ribbon__track {
        height: clamp(34px, 7.8vw, 48px) !important;
        min-height: clamp(34px, 7.8vw, 48px) !important;
        display: flex !important;
        align-items: center !important;
        width: max-content !important;
        min-width: max-content !important;
        animation-duration: 26s !important;
    }

    .figma-contact-ribbon__group {
        gap: clamp(24px, 5vw, 42px) !important;
        padding-inline: clamp(20px, 5vw, 42px) !important;
        display: inline-flex !important;
        align-items: center !important;
        flex: 0 0 auto !important;
        min-width: max-content !important;
    }

    .figma-contact-ribbon span,
    .figma-contact-ribbon a,
    .figma-contact-ribbon__track span,
    .figma-contact-ribbon__track a,
    .figma-contact-ribbon__group span,
    .figma-contact-ribbon__group a {
        font-size: clamp(13px, 3.1vw, 19px) !important;
        line-height: 1 !important;
        color: var(--figma-cream, #f4ecd7) !important;
        white-space: nowrap !important;
        font-style: italic !important;
        text-transform: none !important;
    }

    .figma-contact-scene .figma-leaf,
    .figma-contact-scene--assets .figma-leaf,
    .figma-contact-scene--assets.is-leaves-visible .figma-leaf,
    .figma-contact-scene--assets.the-cup-leaves-visible .figma-leaf {
        display: block !important;
        visibility: visible !important;
        opacity: .78 !important;
        z-index: 1 !important;
        filter: drop-shadow(0 7px 8px rgba(32, 38, 25, .14)) blur(.1px) !important;
    }

    .figma-contact-scene--assets .figma-leaf--1 { left: 36vw !important; top: 42px !important; width: 50px !important; height: 35px !important; transform: rotate(18deg) !important; }
    .figma-contact-scene--assets .figma-leaf--2 { left: 48vw !important; top: 95px !important; width: 30px !important; height: 21px !important; transform: rotate(56deg) !important; }
    .figma-contact-scene--assets .figma-leaf--3 { left: 56vw !important; top: 105px !important; width: 44px !important; height: 31px !important; transform: rotate(-42deg) !important; }
    .figma-contact-scene--assets .figma-leaf--4 { left: 72vw !important; top: 98px !important; width: 34px !important; height: 24px !important; transform: rotate(30deg) !important; }
    .figma-contact-scene--assets .figma-leaf--5 { right: 5vw !important; top: 103px !important; width: 47px !important; height: 32px !important; transform: rotate(-34deg) !important; }
    .figma-contact-scene--assets .figma-leaf--6 { left: 86vw !important; top: 172px !important; width: 44px !important; height: 31px !important; transform: rotate(-26deg) !important; }
    .figma-contact-scene--assets .figma-leaf--7 { left: 4vw !important; top: 365px !important; width: 40px !important; height: 28px !important; transform: rotate(38deg) !important; }
    .figma-contact-scene--assets .figma-leaf--8 { left: 38vw !important; top: 410px !important; width: 46px !important; height: 32px !important; transform: rotate(-22deg) !important; }
    .figma-contact-scene--assets .figma-leaf--9 { left: 72vw !important; top: 390px !important; width: 42px !important; height: 29px !important; transform: rotate(-32deg) !important; }
    .figma-contact-scene--assets .figma-leaf--10 { left: 84vw !important; top: 422px !important; width: 56px !important; height: 39px !important; transform: rotate(26deg) !important; }
    .figma-contact-scene--assets .figma-leaf--11 { left: 60vw !important; top: 498px !important; width: 34px !important; height: 24px !important; transform: rotate(12deg) !important; }
    .figma-contact-scene--assets .figma-leaf--12 { left: 91vw !important; top: 72px !important; width: 38px !important; height: 27px !important; transform: rotate(34deg) !important; }
}

@media (max-width: 430px) {
    .figma-contact-scene--assets {
        min-height: 520px !important;
        height: 520px !important;
    }

    .figma-contact-scene--assets .figma-footer-text-card,
    .figma-contact-scene--assets .figma-map-card,
    .figma-footer-text-card {
        top: 108px !important;
        height: 166px !important;
    }

    .figma-contact-scene--assets .figma-contact-food--coffee,
    .figma-contact-food--coffee {
        top: 142px !important;
    }

    .figma-contact-scene--assets .figma-contact-food--pizza,
    .figma-contact-food--pizza {
        top: 203px !important;
    }

    .figma-contact-ribbon,
    .figma-contact-ribbon.figma-contact-ribbon--marquee,
    .figma-contact-scene--assets .figma-contact-ribbon,
    .figma-contact-scene--assets .figma-contact-ribbon.figma-contact-ribbon--marquee {
        top: 292px !important;
    }
}

/* =========================
   Round 32 client fixes
   - restore desktop-like offer card colors/corners on mobile
   - restore mobile ribbon animation
========================= */
@media (max-width: 680px) {
    .figma-contact-scene--assets .figma-footer-text-card,
    .figma-contact-scene--assets .figma-map-card,
    .figma-footer-text-card {
        border: 1px solid rgba(32, 38, 25, .12) !important;
        border-radius: 30px !important;
        background:
            linear-gradient(145deg, rgba(244, 236, 215, .96), rgba(232, 218, 184, .88)) !important;
        color: var(--figma-dark, #202619) !important;
        box-shadow: 0 24px 58px rgba(32, 38, 25, .18) !important;
        overflow: hidden !important;
    }

    .figma-footer-text-card__text,
    .figma-contact-scene--assets .figma-map-card span {
        color: var(--figma-dark, #202619) !important;
    }

    .figma-contact-ribbon__track,
    .figma-contact-ribbon.figma-contact-ribbon--marquee .figma-contact-ribbon__track,
    .figma-contact-scene--assets .figma-contact-ribbon__track,
    .figma-contact-scene--assets .figma-contact-ribbon.figma-contact-ribbon--marquee .figma-contact-ribbon__track {
        animation: theCupRibbonMarquee 26s linear infinite !important;
        animation-play-state: running !important;
        /* transform is controlled by marquee keyframes */
        will-change: transform !important;
    }
}

@media (max-width: 430px) {
    .figma-contact-ribbon__track,
    .figma-contact-ribbon.figma-contact-ribbon--marquee .figma-contact-ribbon__track,
    .figma-contact-scene--assets .figma-contact-ribbon__track,
    .figma-contact-scene--assets .figma-contact-ribbon.figma-contact-ribbon--marquee .figma-contact-ribbon__track {
        animation-duration: 24s !important;
    }
}

/* Round 24: Saby order, product variants and four-column desktop menu */
@media (min-width: 901px) {
    .figma-product-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        width: min(calc(100% - 160px), 1180px) !important;
    }
}

.thecup-product-modal__variants {
    margin-bottom: 2px;
}

.thecup-product-modal__variants .thecup-modal-pill-row {
    gap: 8px;
}

.thecup-modal-pill--variant span small {
    display: block;
    margin-top: 2px;
    opacity: .78;
}

.thecup-product-modal__variant-modifiers[hidden],
.thecup-product-modal__weight[hidden] {
    display: none !important;
}

.product-card__title-button {
    appearance: none;
    border: 0;
    padding: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    text-align: inherit;
    cursor: pointer;
}

@media (max-width: 680px) {
    .thecup-product-modal__variants {
        order: -1;
        margin-bottom: 0 !important;
    }

    .thecup-product-modal__variants .thecup-modal-pill-row {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px !important;
    }

    .thecup-product-modal__variants .thecup-modal-pill span {
        width: 100%;
        min-height: 46px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        text-align: center;
    }
}

/* Round 25: variant selector cleanup and rule-based product row breaks */
.thecup-modal-pill--variant span small {
    display: none !important;
}

@media (min-width: 901px) {
    .figma-product-grid > .figma-product-card--row-break {
        grid-column-start: 1 !important;
    }
}


/* Round 26: grams variants, coffee volume labels and category row-break rules */
.thecup-product-modal__variants .thecup-modal-pill-row {
    align-items: stretch;
}

.thecup-product-modal__variants .thecup-modal-pill span {
    min-width: 136px;
    padding-left: 22px;
    padding-right: 22px;
    white-space: nowrap;
}

@media (max-width: 680px) {
    .thecup-product-modal__variants .thecup-modal-pill-row {
        grid-template-columns: repeat(auto-fit, minmax(104px, 1fr)) !important;
    }

    .thecup-product-modal__variants .thecup-modal-pill span {
        min-width: 0;
        white-space: nowrap;
    }
}

/* Round 33: launch fixes — menu visibility, lazy popups, Safari fallback, stable cards */
.figma-product-card__image.is-loading,
.figma-product-card__title-button.is-loading,
.figma-product-card__price.is-loading,
.product-card__image.is-loading,
.product-card__title-button.is-loading,
.product-card__quick-add.is-loading,
.btn.js-product-modal-open.is-loading {
    cursor: wait !important;
    opacity: .72;
}

.thecup-modal-pill.is-selected span {
    background: currentColor;
}

.thecup-product-modal__dialog--food .thecup-modal-pill.is-selected span {
    color: var(--figma-cream) !important;
}

.thecup-product-modal__dialog--drink .thecup-modal-pill.is-selected span {
    color: var(--figma-dark) !important;
}

.thecup-modal-card.is-selected {
    box-shadow: inset 0 0 0 2px currentColor;
}

.thecup-product-modal__dialog--food .thecup-modal-card.is-selected {
    background: rgba(32, 38, 25, .08);
}

.thecup-product-modal__dialog--drink .thecup-modal-card.is-selected {
    background: rgba(244, 236, 215, .10);
}

@media (min-width: 761px) {
    .figma-product-card {
        min-height: 420px !important;
    }

    .figma-product-card--drink {
        min-height: 340px !important;
    }

    .figma-product-card__title {
        min-height: 64px !important;
        margin-bottom: 10px !important;
    }

    .figma-product-card--drink .figma-product-card__title {
        min-height: 62px !important;
        margin-bottom: 14px !important;
    }

    .figma-product-card__price,
    .figma-card-stepper {
        margin-top: auto !important;
    }
}

@media (max-width: 760px) {
    .figma-product-card {
        min-height: 118px !important;
        grid-template-rows: minmax(38px, auto) minmax(34px, auto) 38px !important;
    }

    .figma-product-card__title {
        min-height: 40px !important;
        align-self: end !important;
    }

    .figma-product-card__title-button {
        -webkit-line-clamp: 2 !important;
    }

    .figma-product-card__desc,
    .figma-product-card__desc--empty {
        min-height: 30px !important;
    }

    .figma-product-card__price,
    .figma-card-stepper {
        height: 38px !important;
        min-height: 38px !important;
        align-self: start !important;
    }

    .figma-product-card--drink {
        min-height: 112px !important;
        grid-template-rows: minmax(42px, auto) 0 36px !important;
    }

    .figma-product-card--drink .figma-product-card__title {
        min-height: 42px !important;
    }
}

@media (min-width: 901px) {
    .thecup-product-modal__dialog--media-right {
        grid-template-columns: minmax(390px, .95fr) minmax(360px, 1.05fr) !important;
    }

    .thecup-product-modal__dialog--media-right .thecup-product-modal__content {
        order: 1 !important;
    }

    .thecup-product-modal__dialog--media-right .thecup-product-modal__media {
        order: 2 !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 28px !important;
    }

    .thecup-product-modal__dialog--media-right .thecup-product-modal__media img {
        width: 100% !important;
        height: 100% !important;
        max-width: 470px !important;
        max-height: 470px !important;
        object-fit: contain !important;
        object-position: center center !important;
        transform: none !important;
    }
}

@media (max-width: 600px) {
    .thecup-product-modal__dialog {
        max-height: calc((var(--the-cup-vh, 1vh) * 100) - 20px) !important;
        min-height: min(760px, calc((var(--the-cup-vh, 1vh) * 100) - 20px)) !important;
    }

    .thecup-product-modal__media,
    .thecup-product-modal__dialog--food .thecup-product-modal__media,
    .thecup-product-modal__dialog--drink .thecup-product-modal__media,
    .thecup-product-modal__dialog--media-right .thecup-product-modal__media {
        position: relative !important;
        left: auto !important;
        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        order: 0 !important;
        flex: 0 0 auto !important;
        width: 100% !important;
        height: 176px !important;
        min-height: 176px !important;
        padding: 12px 52px 4px !important;
        border-radius: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        overflow: visible !important;
        pointer-events: auto !important;
    }

    .thecup-product-modal__dialog--food .thecup-product-modal__media img,
    .thecup-product-modal__dialog--drink .thecup-product-modal__media img,
    .thecup-product-modal__dialog--media-right .thecup-product-modal__media img {
        width: 100% !important;
        height: 100% !important;
        max-width: 250px !important;
        max-height: 160px !important;
        object-fit: contain !important;
        object-position: center center !important;
        transform: none !important;
    }

    .thecup-product-modal__dialog--drink .thecup-product-modal__content {
        padding-top: 12px !important;
    }

    .thecup-product-modal__dialog--drink .thecup-product-modal__head {
        min-height: 0 !important;
        margin-left: 0 !important;
    }
}

/* =========================
   Round 29 client fixes
   - keep roll/trifle popup layout consistent (photo left, text right)
   - remove light backdrop behind transparent drink images on mobile
========================= */
@media (min-width: 901px) {
    .thecup-product-modal__dialog--media-right {
        grid-template-columns: minmax(360px, 1.05fr) minmax(390px, .95fr) !important;
    }

    .thecup-product-modal__dialog--media-right .thecup-product-modal__media {
        order: 1 !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 28px !important;
    }

    .thecup-product-modal__dialog--media-right .thecup-product-modal__content {
        order: 2 !important;
    }
}

@media (max-width: 760px) {
    .thecup-product-modal__dialog--drink .thecup-product-modal__media,
    .thecup-product-modal__dialog--drink.thecup-product-modal__dialog--media-right .thecup-product-modal__media {
        background: transparent !important;
        box-shadow: none !important;
    }
}


/* =========================
   Round 30 client fixes
   - mobile product popups: beige background for every product type
   - mobile "about/contact" running ribbon: force animation back on
========================= */
@media (max-width: 760px) {
    .thecup-product-modal__dialog,
    .thecup-product-modal__dialog--food,
    .thecup-product-modal__dialog--drink,
    .thecup-product-modal__dialog--media-right {
        background: var(--figma-cream, #f4ecd7) !important;
        color: var(--figma-dark, #202619) !important;
    }

    .thecup-product-modal__dialog--drink .thecup-product-modal__content,
    .thecup-product-modal__dialog--drink .thecup-product-modal__head,
    .thecup-product-modal__dialog--drink .thecup-product-modal__description,
    .thecup-product-modal__dialog--drink .thecup-product-modal__weight,
    .thecup-product-modal__dialog--drink .thecup-modal-mod-group h4 {
        color: var(--figma-dark, #202619) !important;
    }

    .thecup-product-modal__dialog--drink .thecup-product-modal__media,
    .thecup-product-modal__dialog--drink.thecup-product-modal__dialog--media-right .thecup-product-modal__media {
        background: transparent !important;
        box-shadow: none !important;
    }

    .figma-contact-ribbon__track,
    .figma-contact-ribbon.figma-contact-ribbon--marquee .figma-contact-ribbon__track,
    .figma-contact-scene--assets .figma-contact-ribbon__track,
    .figma-contact-scene--assets .figma-contact-ribbon.figma-contact-ribbon--marquee .figma-contact-ribbon__track {
        animation-name: theCupRibbonMarquee !important;
        animation-duration: 24s !important;
        animation-timing-function: linear !important;
        animation-iteration-count: infinite !important;
        animation-play-state: running !important;
        /* transform is controlled by marquee keyframes */
        will-change: transform !important;
    }
}

@media (max-width: 430px) {
    .figma-contact-ribbon__track,
    .figma-contact-ribbon.figma-contact-ribbon--marquee .figma-contact-ribbon__track,
    .figma-contact-scene--assets .figma-contact-ribbon__track,
    .figma-contact-scene--assets .figma-contact-ribbon.figma-contact-ribbon--marquee .figma-contact-ribbon__track {
        animation-duration: 22s !important;
    }
}


/* Round 30b: beige mobile menu cards and readable controls after removing green drink popup background */
@media (max-width: 760px) {
    .figma-product-card--drink {
        background: var(--figma-cream, #f4ecd7) !important;
        color: var(--figma-dark, #202619) !important;
    }

    .figma-product-card--drink .figma-product-card__title,
    .figma-product-card--drink .figma-product-card__desc,
    .figma-product-card--drink .figma-product-card__desc--empty {
        color: var(--figma-dark, #202619) !important;
    }

    .thecup-product-modal__dialog--drink .thecup-product-modal__submit,
    .thecup-product-modal__dialog--media-right .thecup-product-modal__submit {
        background: var(--figma-dark, #202619) !important;
        color: var(--figma-cream, #f4ecd7) !important;
        border-color: var(--figma-dark, #202619) !important;
    }

    .thecup-product-modal__dialog--drink .thecup-modal-pill:has(input:checked) span {
        background: var(--figma-dark, #202619) !important;
        color: var(--figma-cream, #f4ecd7) !important;
    }

    .thecup-product-modal__dialog--drink .thecup-modal-card:has(input:checked) {
        background: rgba(32, 38, 25, .08) !important;
    }
}


/* =========================
   Round 31 client fixes
   - green price buttons on mobile drink cards
   - mobile running ribbon uses real desktop-like motion again
========================= */
@media (max-width: 760px) {
    .figma-product-card--drink .figma-product-card__price,
    .figma-product-card--drink .figma-card-stepper,
    .figma-product-card--drink .figma-card-stepper__btn,
    .figma-product-card--drink .figma-card-stepper__value {
        background: var(--figma-dark, #202619) !important;
        color: var(--figma-cream, #f4ecd7) !important;
        border-color: var(--figma-dark, #202619) !important;
    }

    .figma-product-card--drink .figma-product-card__price {
        display: inline-flex !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    .thecup-product-modal__dialog--drink .thecup-product-modal__submit,
    .thecup-product-modal__dialog--media-right .thecup-product-modal__submit {
        background: var(--figma-dark, #202619) !important;
        color: var(--figma-cream, #f4ecd7) !important;
        border-color: var(--figma-dark, #202619) !important;
        opacity: 1 !important;
    }

    .figma-contact-ribbon__track,
    .figma-contact-ribbon.figma-contact-ribbon--marquee .figma-contact-ribbon__track,
    .figma-contact-scene--assets .figma-contact-ribbon__track,
    .figma-contact-scene--assets .figma-contact-ribbon.figma-contact-ribbon--marquee .figma-contact-ribbon__track {
        animation: theCupRibbonMarquee 26s linear infinite !important;
        animation-play-state: running !important;
        will-change: transform !important;
    }
}

@media (max-width: 430px) {
    .figma-contact-ribbon__track,
    .figma-contact-ribbon.figma-contact-ribbon--marquee .figma-contact-ribbon__track,
    .figma-contact-scene--assets .figma-contact-ribbon__track,
    .figma-contact-scene--assets .figma-contact-ribbon.figma-contact-ribbon--marquee .figma-contact-ribbon__track {
        animation-duration: 24s !important;
    }
}

/* =========================
   Round 32 client fixes
   - pizza opens with 25 cm selected in PHP
   - pizza modifiers are shown as a larger text list without icons
   - keep mobile drink price buttons visible and green
========================= */
@media (min-width: 901px) {
    .thecup-product-modal__dialog--pizza {
        width: min(1320px, calc(100vw - 56px)) !important;
        max-height: min(900px, calc(100vh - 48px)) !important;
        grid-template-columns: minmax(410px, .95fr) minmax(520px, 1.05fr) !important;
    }

    .thecup-product-modal__dialog--pizza .thecup-product-modal__content {
        padding: 36px 34px 30px !important;
    }
}

.thecup-product-modal__dialog--pizza .thecup-product-modal__modifiers {
    gap: 14px !important;
}

.thecup-product-modal__dialog--pizza .thecup-modal-card-grid {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    max-height: min(430px, 44vh) !important;
    overflow-y: auto !important;
    padding-right: 6px !important;
}

.thecup-product-modal__dialog--pizza .thecup-modal-card {
    min-height: 48px !important;
    padding: 10px 14px !important;
    display: grid !important;
    grid-template-columns: 14px minmax(0, 1fr) auto !important;
    column-gap: 10px !important;
    align-items: center !important;
    border-radius: 10px !important;
    text-align: left !important;
}

.thecup-product-modal__dialog--pizza .thecup-modal-card::before {
    content: "";
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: currentColor;
    opacity: .55;
}

.thecup-product-modal__dialog--pizza .thecup-modal-card:has(input:checked)::before,
.thecup-product-modal__dialog--pizza .thecup-modal-card.is-selected::before {
    opacity: 1;
    box-shadow: 0 0 0 4px rgba(32, 38, 25, .12);
}

.thecup-product-modal__dialog--pizza .thecup-modal-card__thumb {
    display: none !important;
}

.thecup-product-modal__dialog--pizza .thecup-modal-card__name,
.thecup-product-modal__dialog--pizza .thecup-modal-card__price {
    margin: 0 !important;
    font-size: 16px !important;
    line-height: 1.1 !important;
    text-align: left !important;
}

.thecup-product-modal__dialog--pizza .thecup-modal-card__price {
    text-align: right !important;
    white-space: nowrap !important;
}

@media (max-width: 760px) {
    .figma-product-card--drink .figma-product-card__price,
    .figma-product-card--drink .figma-card-stepper,
    .figma-product-card--drink .figma-card-stepper__btn,
    .figma-product-card--drink .figma-card-stepper__value,
    .thecup-product-modal__dialog--drink .thecup-product-modal__submit {
        background: var(--figma-dark, #202619) !important;
        color: var(--figma-cream, #f4ecd7) !important;
        border-color: var(--figma-dark, #202619) !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    .thecup-product-modal__dialog--pizza {
        max-height: calc(100dvh - 14px) !important;
    }

    .thecup-product-modal__dialog--pizza .thecup-modal-card-grid {
        max-height: none !important;
        overflow: visible !important;
        padding-right: 0 !important;
    }

    .thecup-product-modal__dialog--pizza .thecup-modal-card {
        min-height: 44px !important;
        padding: 9px 11px !important;
        grid-template-columns: 12px minmax(0, 1fr) auto !important;
    }

    .thecup-product-modal__dialog--pizza .thecup-modal-card__name,
    .thecup-product-modal__dialog--pizza .thecup-modal-card__price {
        font-size: 14px !important;
    }
}

/* =========================
   Round 34 client fixes
   - pizza variants: 25 cm before 33 cm in popup selector
   - bigger desktop pizza additions area
   - pizza additions list items 25% narrower on desktop
========================= */
@media (min-width: 901px) {
    .thecup-product-modal__dialog--pizza {
        width: min(1420px, calc(100vw - 40px)) !important;
        max-height: min(940px, calc(100vh - 32px)) !important;
        grid-template-columns: minmax(420px, .9fr) minmax(650px, 1.1fr) !important;
    }

    .thecup-product-modal__dialog--pizza .thecup-product-modal__content {
        padding: 38px 40px 32px !important;
    }

    .thecup-product-modal__dialog--pizza .thecup-product-modal__modifiers {
        max-height: min(620px, 66vh) !important;
        overflow-y: auto !important;
        padding-right: 8px !important;
    }

    .thecup-product-modal__dialog--pizza .thecup-modal-card-grid {
        width: 75% !important;
        max-width: 520px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        max-height: min(560px, 60vh) !important;
        overflow-y: auto !important;
        padding-right: 6px !important;
    }

    .thecup-product-modal__dialog--pizza .thecup-modal-card {
        width: 100% !important;
        min-height: 46px !important;
        padding: 9px 13px !important;
    }
}

/* =========================
   Round 35 client fixes
   - all product additions use compact text-list styling without images
   - quesadilla variant labels fit as text pills
   - header address next to the logo
========================= */
.glass-header .site-branding,
.figma-home-header .site-branding {
    display: flex !important;
    align-items: center !important;
    gap: clamp(14px, 2.2vw, 34px) !important;
    min-width: 0 !important;
    flex: 1 1 auto !important;
}

.header-address {
    color: var(--figma-cream, #f4ecd7) !important;
    font-family: var(--site-font, 'Kelly Slab', serif) !important;
    font-size: 14px !important;
    line-height: 1 !important;
    letter-spacing: .045em !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    opacity: .96 !important;
}

.thecup-product-modal__modifiers .thecup-modal-card-grid {
    grid-template-columns: 1fr !important;
    gap: 7px !important;
}

.thecup-product-modal__modifiers .thecup-modal-card {
    width: 100% !important;
    min-height: 42px !important;
    padding: 8px 12px !important;
    display: grid !important;
    grid-template-columns: 12px minmax(0, 1fr) auto !important;
    column-gap: 9px !important;
    align-items: center !important;
    justify-content: stretch !important;
    border-radius: 10px !important;
    text-align: left !important;
}

.thecup-product-modal__modifiers .thecup-modal-card::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: currentColor;
    opacity: .52;
}

.thecup-product-modal__modifiers .thecup-modal-card:has(input:checked)::before,
.thecup-product-modal__modifiers .thecup-modal-card.is-selected::before {
    opacity: 1;
    box-shadow: 0 0 0 4px rgba(32, 38, 25, .12);
}

.thecup-product-modal__modifiers .thecup-modal-card__thumb {
    display: none !important;
}

.thecup-product-modal__modifiers .thecup-modal-card__name,
.thecup-product-modal__modifiers .thecup-modal-card__price {
    margin: 0 !important;
    font-size: 14px !important;
    line-height: 1.1 !important;
    text-align: left !important;
}

.thecup-product-modal__modifiers .thecup-modal-card__name {
    min-width: 0 !important;
    overflow-wrap: anywhere !important;
}

.thecup-product-modal__modifiers .thecup-modal-card__price {
    text-align: right !important;
    white-space: nowrap !important;
}

.thecup-product-modal__dialog--quesadilla .thecup-modal-pill--variant span {
    min-width: 132px !important;
    padding: 0 14px !important;
    font-size: clamp(20px, 2vw, 24px) !important;
    white-space: nowrap !important;
}

@media (min-width: 901px) {
    .thecup-product-modal__dialog--has-modifiers {
        width: min(1420px, calc(100vw - 40px)) !important;
        max-height: min(940px, calc(100vh - 32px)) !important;
        grid-template-columns: minmax(420px, .9fr) minmax(650px, 1.1fr) !important;
    }

    .thecup-product-modal__dialog--has-modifiers .thecup-product-modal__content {
        padding: 38px 40px 32px !important;
    }

    .thecup-product-modal__dialog--has-modifiers .thecup-product-modal__modifiers {
        max-height: min(620px, 66vh) !important;
        overflow-y: auto !important;
        padding-right: 8px !important;
    }

    .thecup-product-modal__dialog--has-modifiers .thecup-modal-card-grid {
        width: 75% !important;
        max-width: 520px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        max-height: min(560px, 60vh) !important;
        overflow-y: auto !important;
        padding-right: 6px !important;
    }

    .thecup-product-modal__dialog--has-modifiers .thecup-modal-card {
        min-height: 42px !important;
        padding: 8px 12px !important;
    }
}

@media (max-width: 900px) {
    .header-address {
        display: none !important;
    }
}

@media (max-width: 760px) {
    .thecup-product-modal__dialog--quesadilla .thecup-modal-pill-row {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
    }

    .thecup-product-modal__dialog--quesadilla .thecup-modal-pill--variant span {
        width: 100% !important;
        min-width: 0 !important;
        padding: 0 8px !important;
        font-size: clamp(16px, 4.6vw, 20px) !important;
    }

    .thecup-product-modal__modifiers .thecup-modal-card {
        min-height: 40px !important;
        padding: 7px 10px !important;
        grid-template-columns: 11px minmax(0, 1fr) auto !important;
    }

    .thecup-product-modal__modifiers .thecup-modal-card__name,
    .thecup-product-modal__modifiers .thecup-modal-card__price {
        font-size: 13px !important;
    }
}


/* =========================
   Round 36 client fixes
   - drink/coffee popup additions: larger readable list
   - remove nested/double scrolling in drink additions
========================= */
@media (min-width: 901px) {
    .thecup-product-modal__dialog--drink.thecup-product-modal__dialog--has-modifiers {
        width: min(1420px, calc(100vw - 40px)) !important;
        height: min(820px, calc(100vh - 20px)) !important;
        max-height: calc(100vh - 20px) !important;
        grid-template-columns: minmax(430px, .9fr) minmax(650px, 1.1fr) !important;
        overflow: hidden !important;
    }

    .thecup-product-modal__dialog--drink.thecup-product-modal__dialog--has-modifiers .thecup-product-modal__content {
        min-height: 0 !important;
        height: 100% !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: flex-start !important;
        overflow: hidden !important;
        padding: 34px 36px 28px !important;
        gap: 13px !important;
    }

    .thecup-product-modal__dialog--drink.thecup-product-modal__dialog--has-modifiers .thecup-product-modal__head {
        flex: 0 0 auto !important;
    }

    .thecup-product-modal__dialog--drink.thecup-product-modal__dialog--has-modifiers .thecup-product-modal__head h3 {
        font-size: clamp(42px, 3vw, 56px) !important;
        line-height: .9 !important;
        margin-bottom: 8px !important;
    }

    .thecup-product-modal__dialog--drink.thecup-product-modal__dialog--has-modifiers .thecup-product-modal__description {
        font-size: 15px !important;
        line-height: 1.24 !important;
    }

    .thecup-product-modal__dialog--drink.thecup-product-modal__dialog--has-modifiers .thecup-product-modal__form {
        flex: 1 1 auto !important;
        min-height: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        overflow: hidden !important;
        gap: 12px !important;
    }

    .thecup-product-modal__dialog--drink.thecup-product-modal__dialog--has-modifiers .thecup-product-modal__variants {
        flex: 0 0 auto !important;
        margin-bottom: 0 !important;
    }

    .thecup-product-modal__dialog--drink.thecup-product-modal__dialog--has-modifiers .thecup-product-modal__modifiers {
        flex: 1 1 auto !important;
        min-height: 280px !important;
        max-height: none !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        padding-right: 10px !important;
        padding-bottom: 4px !important;
        gap: 12px !important;
    }

    .thecup-product-modal__dialog--drink.thecup-product-modal__dialog--has-modifiers .thecup-modal-card-grid {
        width: min(100%, 590px) !important;
        max-width: 590px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        max-height: none !important;
        overflow: visible !important;
        padding-right: 0 !important;
        gap: 8px !important;
    }

    .thecup-product-modal__dialog--drink.thecup-product-modal__dialog--has-modifiers .thecup-modal-card {
        min-height: 46px !important;
        padding: 9px 13px !important;
    }

    .thecup-product-modal__dialog--drink.thecup-product-modal__dialog--has-modifiers .thecup-modal-card__name,
    .thecup-product-modal__dialog--drink.thecup-product-modal__dialog--has-modifiers .thecup-modal-card__price {
        font-size: 15px !important;
        line-height: 1.12 !important;
    }

    .thecup-product-modal__dialog--drink.thecup-product-modal__dialog--has-modifiers .thecup-product-modal__submit {
        flex: 0 0 64px !important;
        min-height: 64px !important;
        height: 64px !important;
        margin-top: 8px !important;
    }
}


/* =========================
   Round 37 client fix
   Drink popups: remove nested/double scrollbar.
   Scroll is now only on the right content panel; modifiers and list do not create their own scrollbars.
========================= */
@media (min-width: 901px) {
    .thecup-product-modal__dialog--drink {
        overflow: hidden !important;
    }

    .thecup-product-modal__dialog--drink .thecup-product-modal__content {
        height: 100% !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        -webkit-overflow-scrolling: touch !important;
        scrollbar-gutter: stable !important;
    }

    .thecup-product-modal__dialog--drink .thecup-product-modal__form {
        min-height: 0 !important;
        max-height: none !important;
        overflow: visible !important;
    }

    .thecup-product-modal__dialog--drink .thecup-product-modal__modifiers,
    .thecup-product-modal__dialog--drink .thecup-modal-card-grid,
    .thecup-product-modal__dialog--drink.thecup-product-modal__dialog--has-modifiers .thecup-product-modal__modifiers,
    .thecup-product-modal__dialog--drink.thecup-product-modal__dialog--has-modifiers .thecup-modal-card-grid {
        max-height: none !important;
        overflow: visible !important;
        overflow-y: visible !important;
        overflow-x: visible !important;
    }

    .thecup-product-modal__dialog--drink .thecup-modal-card-grid {
        padding-right: 0 !important;
    }
}


/* =========================
   Round 38 client fix
   Hero regime block: duplicate contact/schedule info from the running ribbon.
========================= */
.figma-hero-regime {
    position: absolute;
    z-index: 7;
    top: clamp(34px, 4.2vw, 64px);
    right: clamp(54px, 6vw, 112px);
    width: min(310px, 22vw);
    padding: 12px 14px 11px;
    border: 1px solid rgba(244, 236, 215, .18);
    border-radius: 18px;
    background: rgba(244, 236, 215, .045);
    color: var(--figma-cream, #f4ecd7);
    font-family: var(--site-font, 'Kelly Slab', serif);
    text-align: right;
    text-transform: uppercase;
    letter-spacing: .045em;
    line-height: 1.12;
    pointer-events: auto;
}

.figma-hero-regime::before {
    content: "";
    position: absolute;
    top: 11px;
    bottom: 11px;
    right: -9px;
    width: 1px;
    background: rgba(244, 236, 215, .26);
}

.figma-hero-regime__label,
.figma-hero-regime__line,
.figma-hero-regime__phone {
    display: block;
}

.figma-hero-regime__label {
    margin-bottom: 7px;
    font-size: 12px;
    letter-spacing: .08em;
    opacity: .58;
}

.figma-hero-regime__line,
.figma-hero-regime__phone {
    font-size: clamp(13px, .95vw, 15px);
}

.figma-hero-regime__line + .figma-hero-regime__line,
.figma-hero-regime__line + .figma-hero-regime__phone {
    margin-top: 5px;
}

.figma-hero-regime__phone {
    color: inherit;
    text-decoration: none;
}

.figma-hero-regime__phone:hover {
    opacity: .74;
}

@media (min-width: 901px) and (max-width: 1180px) {
    .figma-hero-regime {
        right: 34px;
        width: 280px;
        top: 38px;
    }

    .figma-hero-regime__line,
    .figma-hero-regime__phone {
        font-size: 13px;
    }
}

@media (max-width: 900px) {
    .figma-hero-regime {
        display: none !important;
    }
}


/* =========================
   Round 39 client fix
   Hero regime block: lower by 50px and keep only schedule/phone.
========================= */
.figma-hero-regime {
    top: calc(clamp(34px, 4.2vw, 64px) + 50px) !important;
}

@media (min-width: 901px) and (max-width: 1180px) {
    .figma-hero-regime {
        top: 88px !important;
    }
}


/* =========================
   Round 40 client fix
   - hero regime block without background/side line
   - header phone/address text aligned to the lower edge
========================= */
.figma-hero-regime {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
}

.figma-hero-regime::before {
    display: none !important;
    content: none !important;
}

@media (min-width: 901px) {
    .glass-header .site-branding,
    .figma-home-header .site-branding {
        align-self: stretch !important;
        align-items: center !important;
    }

    .glass-header .header-actions,
    .glass-header .redesigned-actions,
    .figma-home-header .redesigned-actions {
        align-self: stretch !important;
        align-items: center !important;
    }

    .header-address,
    .header-phone {
        align-self: flex-end !important;
        margin-bottom: 17px !important;
        line-height: 1 !important;
    }
}

@media (min-width: 901px) and (max-width: 1180px) {
    .header-address,
    .header-phone {
        margin-bottom: 14px !important;
    }
}


/* =========================
   Round 41 client fix
   Header: address aligns with the bottom/baseline of the CHASHKA logo.
   Phone keeps the lower position from the previous version.
========================= */
@media (min-width: 901px) {
    .glass-header .site-branding,
    .figma-home-header .site-branding {
        align-items: baseline !important;
    }

    .glass-header .logo-link,
    .figma-home-header .logo-link {
        align-items: baseline !important;
    }

    .header-address {
        align-self: baseline !important;
        margin-bottom: 0 !important;
        transform: translateY(1px);
    }

    .header-phone {
        align-self: flex-end !important;
        margin-bottom: 17px !important;
    }
}

@media (min-width: 901px) and (max-width: 1180px) {
    .header-phone {
        margin-bottom: 14px !important;
    }

    .header-address {
        margin-bottom: 0 !important;
    }
}


/* =========================
   Round 42 client fix
   Header: keep address baseline with CHASHKA, but lower the logo/address group and phone to the previous visual level.
========================= */
@media (min-width: 901px) {
    .glass-header .site-branding,
    .figma-home-header .site-branding {
        align-self: flex-end !important;
        align-items: baseline !important;
        margin-bottom: 17px !important;
    }

    .glass-header .logo-link,
    .figma-home-header .logo-link {
        align-items: baseline !important;
    }

    .header-address {
        align-self: baseline !important;
        margin-bottom: 0 !important;
        transform: translateY(1px);
    }

    .header-phone {
        align-self: flex-end !important;
        margin-bottom: 17px !important;
    }
}

@media (min-width: 901px) and (max-width: 1180px) {
    .glass-header .site-branding,
    .figma-home-header .site-branding,
    .header-phone {
        margin-bottom: 14px !important;
    }

    .header-address {
        margin-bottom: 0 !important;
    }
}


/* =========================
   Round 43 client fix
   - Logo is vertically centered in the header.
   - Address stays on the logo baseline/bottom and is forced beige in mobile Safari/Chrome.
   - Phone keeps its current lower position.
========================= */
.glass-header .header-address,
.figma-home-header .header-address {
    color: var(--figma-cream, #f4ecd7) !important;
    -webkit-text-fill-color: var(--figma-cream, #f4ecd7) !important;
    text-decoration-color: var(--figma-cream, #f4ecd7) !important;
}

@media (min-width: 901px) {
    .glass-header .site-branding,
    .figma-home-header .site-branding {
        align-self: center !important;
        align-items: baseline !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }

    .glass-header .logo-link,
    .figma-home-header .logo-link {
        display: inline-flex !important;
        align-items: baseline !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }

    .glass-header .logo-text,
    .figma-home-header .logo-text {
        display: inline-block !important;
        line-height: 1 !important;
    }

    .header-address {
        align-self: baseline !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        transform: translateY(1px) !important;
    }

    .header-phone {
        align-self: flex-end !important;
        margin-bottom: 17px !important;
    }
}

@media (min-width: 901px) and (max-width: 1180px) {
    .header-phone {
        margin-bottom: 14px !important;
    }
}

@media (max-width: 900px) {
    .glass-header .header-address,
    .figma-home-header .header-address {
        color: var(--figma-cream, #f4ecd7) !important;
        -webkit-text-fill-color: var(--figma-cream, #f4ecd7) !important;
    }
}


/* =========================
   Round 44 client fix
   Mobile header address: show it again and force beige color in Safari/Chrome.
========================= */
@media (max-width: 900px) {
    .glass-header .site-branding,
    .figma-home-header .site-branding {
        display: flex !important;
        align-items: baseline !important;
        gap: 10px !important;
        min-width: 0 !important;
        flex: 1 1 auto !important;
    }

    .glass-header .header-address,
    .figma-home-header .header-address,
    .header-address {
        display: inline-flex !important;
        visibility: visible !important;
        opacity: .96 !important;
        color: var(--figma-cream, #f4ecd7) !important;
        -webkit-text-fill-color: var(--figma-cream, #f4ecd7) !important;
        text-decoration-color: var(--figma-cream, #f4ecd7) !important;
        font-size: clamp(9px, 2.45vw, 12px) !important;
        line-height: 1 !important;
        white-space: nowrap !important;
        max-width: min(48vw, 210px) !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        transform: translateY(1px) !important;
        margin: 0 !important;
    }
}

@media (max-width: 430px) {
    .glass-header .site-branding,
    .figma-home-header .site-branding {
        gap: 8px !important;
    }

    .glass-header .header-address,
    .figma-home-header .header-address,
    .header-address {
        font-size: clamp(8px, 2.25vw, 10px) !important;
        max-width: 46vw !important;
    }
}


/* =========================
   Round 45 client fixes
   - checkout closed-hours message
========================= */
.cup-checkout-closed-hours {
    margin-bottom: 22px !important;
    border-color: rgba(32, 38, 25, .22) !important;
    background: linear-gradient(145deg, rgba(244, 236, 215, .98), rgba(232, 218, 184, .88)) !important;
}

.cup-checkout-closed-hours h2 {
    margin: 0 0 10px !important;
    color: var(--figma-dark, #202619) !important;
    font-size: clamp(30px, 3.1vw, 48px) !important;
    line-height: .95 !important;
    text-transform: uppercase !important;
}

.cup-checkout-closed-hours p:not(.cup-commerce-eyebrow) {
    max-width: 760px !important;
    margin: 0 !important;
    color: rgba(32, 38, 25, .78) !important;
    font-size: clamp(17px, 1.4vw, 22px) !important;
    line-height: 1.28 !important;
}


/* Checkout validation hints */
.cup-form-field.is-invalid,
.cup-legal-consent.is-invalid,
.cup-radio-list.is-invalid,
.cup-radio-tile.is-invalid {
    border-color: rgba(176, 48, 41, .75) !important;
    box-shadow: 0 0 0 3px rgba(176, 48, 41, .12) !important;
}

.cup-form-field.is-invalid input,
.cup-form-field.is-invalid select,
.cup-form-field.is-invalid textarea,
.cup-legal-consent.is-invalid input {
    border-color: rgba(176, 48, 41, .85) !important;
    box-shadow: 0 0 0 3px rgba(176, 48, 41, .12) !important;
}

.cup-field-error {
    display: block;
    margin-top: 7px;
    color: #9f2f27;
    font-size: 13px;
    line-height: 1.35;
    font-weight: 600;
}

.cup-field-error[hidden] {
    display: none !important;
}

.cup-form-field.is-invalid > span,
.cup-legal-consent.is-invalid span {
    color: #8f2b24;
}

.cup-checkout-form.is-submitting .cup-field-error {
    display: none !important;
}
