/* Gurmeat runtime CSS. Hand-maintained project layer. */
@layer legacy {
:root{--primary:185 28 28;--primary-slate:220 38 38;--primary-light:254 242 242;--client-font:var(--gm-font-ui);--admin-font:var(--gm-font-ui);--gmcss-shadow-color:rgba(31,31,57,0.18);--gm-focus-ring:#a82a24;--gm-placeholder:#62657a;}
*,::before,::after{box-sizing:border-box;--gmcss-translate-x:0;--gmcss-translate-y:0;--gmcss-rotate:0;--gmcss-skew-x:0;--gmcss-skew-y:0;--gmcss-scale-x:1;--gmcss-scale-y:1;--gmcss-ring-offset-shadow:0 0 #0000;--gmcss-ring-shadow:0 0 #0000;--gmcss-shadow:0 0 #0000;--gmcss-content:'';}
html{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4;}
body{margin:0;font-family:var(--gm-font-ui);background:#fff;color:#6e7191;}
a{color:inherit;text-decoration:none;}button,input,optgroup,select,textarea{font:inherit;color:inherit;}button,[role=button]{cursor:pointer;}img,video{max-width:100%;height:auto;}[hidden]{display:none!important;}
ul,ol,menu{list-style:none;margin:0;padding:0;}
h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd{margin:0;}
button{appearance:none;border:0;background:transparent;padding:0;}
input,textarea,select{border-radius:0;}
table{border-collapse:collapse;border-spacing:0;}

:root {
    --primary: 185 28 28;
    --primary-slate: 220 38 38;
    --primary-light: 254 242 242;
    --client-font: var(--gm-font-ui);
    --admin-font: var(--gm-font-ui);
}

a,
button,
label,
span {
    display: inline-block; font-style: initial;
}

input,
select,
textarea {
    background-color: transparent;
    font-size: 15px;
}

input::-moz-placeholder, select::-moz-placeholder, textarea::-moz-placeholder {
    font-size: 0.875rem;
    line-height: 1.25rem;
    --gmcss-text-opacity: 1;
    color: var(--gm-placeholder);
}

input::placeholder,
select::placeholder,
textarea::placeholder {
    font-size: 0.875rem;
    line-height: 1.25rem;
    --gmcss-text-opacity: 1;
    color: var(--gm-placeholder);
}

input:focus-within,
select:focus-within,
textarea:focus-within {
    outline: 2px solid transparent;
    outline-offset: 2px;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    --gmcss-text-opacity: 1;
    color: rgb(31 31 57 / var(--gmcss-text-opacity, 1)); font-style: initial;
}

body {
    scroll-behavior: smooth;
    --gmcss-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--gmcss-bg-opacity, 1));
    font-family: var(--gm-font-ui);
    font-size: var(--gm-font-size-body);
    line-height: var(--gm-line-height-body);
    font-weight: var(--gm-font-weight-regular);
    --gmcss-text-opacity: 1;
    color: rgb(110 113 145 / var(--gmcss-text-opacity, 1));
}
.container {
    width: 100%;
    max-width: var(--gm-container-wide);
    margin-inline: auto;
    padding-inline: var(--gm-gutter-mobile);
    box-sizing: border-box;
}
@media (min-width: 768px) {

    .container {
        padding-inline: var(--gm-gutter-tablet);
    }
}
@media (min-width: 1024px) {

    .container {
        padding-inline: var(--gm-gutter-desktop);
    }
}
.row {
    margin: -0.75rem;
    display: flex;
    flex-wrap: wrap;
}
.col-12 {
    width: 100%;
    padding: 0.75rem;
}
.ql-editor h1 {
    margin-bottom: 1rem;
    font-size: 2.25rem;
    line-height: 2.5rem;
    font-weight: 700;
}
.ql-editor h2 {
    margin-bottom: 0.75rem;
    font-size: 1.875rem;
    line-height: 2.25rem;
    font-weight: 600;
}
.ql-editor h3 {
    margin-bottom: 0.5rem;
    font-size: 1.5rem;
    line-height: 2rem;
    font-weight: 600;
}
.ql-editor h4 {
    margin-bottom: 0.5rem;
    font-size: 1.25rem;
    line-height: 1.75rem;
    font-weight: 500;
}
.ql-editor h5 {
    margin-bottom: 0.25rem;
    font-size: 1.125rem;
    line-height: 1.75rem;
    font-weight: 500;
}
.ql-editor h6 {
    margin-bottom: 0.25rem;
    font-size: 1rem;
    line-height: 1.5rem;
    font-weight: 500;
}
.form-row {
    margin-left: -0.25rem;
    margin-right: -0.25rem;
    margin-top: -0.5rem;
    margin-bottom: -0.5rem;
    display: flex;
    flex-wrap: wrap;
}
.form-col-12 {
    width: 100%;
    padding-left: 0.25rem;
    padding-right: 0.25rem;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}
/*===================================
              LAYOUT PART START
    ====================================*/
/* HEADER */
/* SIDEBAR */
/*===================================
              LAYOUT PART END
    ====================================*/
/*===================================
            COMPONENTS PART START
    ====================================*/
.ff-header .container {
    height: 118px;
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
}
@media (min-width: 1024px) {

    .ff-header .container {
        height: 74px;
        padding-top: 0px;
        padding-bottom: 0px;
    }
}
.ff-header.active {
    position: fixed;
    top: 0px;
    left: 0px;
    z-index: 60;
    width: 100%;
}
.gm-cart-surface.active {
    visibility: visible;
    opacity: 1;
}
.gm-cart-surface.active > div:where([dir="ltr"], [dir="ltr"] *) {
    --gmcss-translate-x: 0px;
    transform: translate(var(--gmcss-translate-x), var(--gmcss-translate-y)) rotate(var(--gmcss-rotate)) skewX(var(--gmcss-skew-x)) skewY(var(--gmcss-skew-y)) scaleX(var(--gmcss-scale-x)) scaleY(var(--gmcss-scale-y));
}
.gm-cart-surface.active > div:where([dir="rtl"], [dir="rtl"] *) {
    --gmcss-translate-x: -0px;
    transform: translate(var(--gmcss-translate-x), var(--gmcss-translate-y)) rotate(var(--gmcss-rotate)) skewX(var(--gmcss-skew-x)) skewY(var(--gmcss-skew-y)) scaleX(var(--gmcss-scale-x)) scaleY(var(--gmcss-scale-y));
}
.fd-backdrop.active {
    visibility: visible;
    opacity: 1;
}
.cart-switch:checked + label {
    --gmcss-bg-opacity: 1;
    background-color: rgb(0 139 186 / var(--gmcss-bg-opacity, 1));
    --gmcss-text-opacity: 1;
    color: rgb(255 255 255 / var(--gmcss-text-opacity, 1));
}
.size-tabs .active {
    --gmcss-border-opacity: 1;
    border-color: rgb(0 0 0 / var(--gmcss-border-opacity, 1));
    --gmcss-bg-opacity: 1;
    background-color: rgb(220 234 255 / var(--gmcss-bg-opacity, 1));
}
.size-tabs .active .custom-radio-field:checked + .custom-radio-span {
    --gmcss-border-opacity: 1;
    border-color: rgb(0 0 0 / var(--gmcss-border-opacity, 1));
}
.extra .custom-checkbox-field {
    z-index: 0;
}
.extra.active {
    --gmcss-border-opacity: 1 !important;
    border-color: rgb(0 0 0 / var(--gmcss-border-opacity, 1)) !important;
    --gmcss-bg-opacity: 1 !important;
    background-color: rgb(220 234 255 / var(--gmcss-bg-opacity, 1)) !important;
}
.extra.active .custom-checkbox-field:checked + .custom-checkbox-icon {
    --gmcss-border-opacity: 1;
    border-color: rgb(0 0 0 / var(--gmcss-border-opacity, 1));
    --gmcss-bg-opacity: 1;
    background-color: rgb(0 0 0 / var(--gmcss-bg-opacity, 1));
}
.addon.active {
    --gmcss-border-opacity: 1 !important;
    border-color: rgb(0 0 0 / var(--gmcss-border-opacity, 1)) !important;
    --gmcss-bg-opacity: 1 !important;
    background-color: rgb(220 234 255 / var(--gmcss-bg-opacity, 1)) !important;
}
.branch-navs .active {
    --gmcss-bg-opacity: 1;
    background-color: rgb(0 0 0 / var(--gmcss-bg-opacity, 1));
    font-weight: 500;
    --gmcss-text-opacity: 1;
    color: rgb(255 255 255 / var(--gmcss-text-opacity, 1));
}
.branch-navs .active:hover {
    --gmcss-bg-opacity: 1;
    background-color: rgb(0 0 0 / var(--gmcss-bg-opacity, 1));
    --gmcss-text-opacity: 1;
    color: rgb(255 255 255 / var(--gmcss-text-opacity, 1));
}
.active-group .active {
    border-color: rgb(0 0 0 / 0.5) !important;
    background-color: rgb(0 0 0 / 0.05) !important;
}
.active-group .active input:checked + .custom-radio-span {
    border-width: 3px !important;
    --gmcss-border-opacity: 1 !important;
    border-color: rgb(0 0 0 / var(--gmcss-border-opacity, 1)) !important;
}
.paper-link svg {
    stroke: #6E7191;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
    transition-timing-function: var(--gm-ease-standard);
    transition-duration: var(--gm-duration-standard);
    transition-timing-function: var(--gm-ease-standard);
}
.paper-link span {
    --gmcss-text-opacity: 1;
    color: rgb(31 31 57 / var(--gmcss-text-opacity, 1));
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
    transition-timing-function: var(--gm-ease-standard);
    transition-duration: var(--gm-duration-standard);
    transition-timing-function: var(--gm-ease-standard);
}
.paper-link:hover svg,
.paper-link:hover span {
    stroke: rgb(0 0 0 / 1);
    --gmcss-text-opacity: 1;
    color: rgb(0 0 0 / var(--gmcss-text-opacity, 1));
}
.address-btn:hover svg,
.address-btn:hover span {
    fill: #fff;
    --gmcss-text-opacity: 1;
    color: rgb(255 255 255 / var(--gmcss-text-opacity, 1));
}
.cookie-paper {
    visibility: hidden;
    --gmcss-translate-y: 100%;
    transform: translate(var(--gmcss-translate-x), var(--gmcss-translate-y)) rotate(var(--gmcss-rotate)) skewX(var(--gmcss-skew-x)) skewY(var(--gmcss-skew-y)) scaleX(var(--gmcss-scale-x)) scaleY(var(--gmcss-scale-y));
    opacity: 0;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
    transition-timing-function: var(--gm-ease-standard);
    transition-duration: var(--gm-duration-standard);
    transition-timing-function: var(--gm-ease-standard);
}
.cookie-paper.active {
    visibility: visible;
    --gmcss-translate-y: 0px;
    transform: translate(var(--gmcss-translate-x), var(--gmcss-translate-y)) rotate(var(--gmcss-rotate)) skewX(var(--gmcss-skew-x)) skewY(var(--gmcss-skew-y)) scaleX(var(--gmcss-scale-x)) scaleY(var(--gmcss-scale-y));
    opacity: 1;
}
.add-btn:hover svg {
    fill: #fff;
}
.add-btn:hover span {
    --gmcss-text-opacity: 1;
    color: rgb(255 255 255 / var(--gmcss-text-opacity, 1));
}
.info-btn:hover svg {
    fill: rgb(0 0 0 / 1);
}
.profile-tabDiv.active {
    --gmcss-translate-x: 0px;
    transform: translate(var(--gmcss-translate-x), var(--gmcss-translate-y)) rotate(var(--gmcss-rotate)) skewX(var(--gmcss-skew-x)) skewY(var(--gmcss-skew-y)) scaleX(var(--gmcss-scale-x)) scaleY(var(--gmcss-scale-y));
}
.profile-paper {
    visibility: hidden;
    --gmcss-scale-x: 0;
    --gmcss-scale-y: 0;
    transform: translate(var(--gmcss-translate-x), var(--gmcss-translate-y)) rotate(var(--gmcss-rotate)) skewX(var(--gmcss-skew-x)) skewY(var(--gmcss-skew-y)) scaleX(var(--gmcss-scale-x)) scaleY(var(--gmcss-scale-y));
    opacity: 0;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
    transition-timing-function: var(--gm-ease-standard);
    transition-duration: var(--gm-duration-standard);
    transition-timing-function: var(--gm-ease-standard);
}
.profile-paper.active {
    visibility: visible;
    --gmcss-scale-x: 1;
    --gmcss-scale-y: 1;
    transform: translate(var(--gmcss-translate-x), var(--gmcss-translate-y)) rotate(var(--gmcss-rotate)) skewX(var(--gmcss-skew-x)) skewY(var(--gmcss-skew-y)) scaleX(var(--gmcss-scale-x)) scaleY(var(--gmcss-scale-y));
    opacity: 1;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
    transition-timing-function: var(--gm-ease-standard);
    transition-duration: var(--gm-duration-standard);
    transition-timing-function: var(--gm-ease-standard);
}
.veg-navs .veg-active {
    --gmcss-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--gmcss-bg-opacity, 1));
    --gmcss-shadow: 0px 8px 16px rgba(23, 31, 70, 0.08);
    --gmcss-shadow-colored: 0px 8px 16px var(--gmcss-shadow-color);
    box-shadow: var(--gmcss-ring-offset-shadow, 0 0 #0000), var(--gmcss-ring-shadow, 0 0 #0000), var(--gmcss-shadow);
}
.veg-navs .veg-active .gm-ui-icon {
    opacity: 1;
}
.veg-navs .veg-active .gm-ui-icon:where([dir="ltr"], [dir="ltr"] *) {
    margin-left: 0px;
}
.veg-navs .veg-active .gm-ui-icon:where([dir="rtl"], [dir="rtl"] *) {
    margin-right: 0px;
}
.menu-slides .menu-category-active {
    --gmcss-border-opacity: 1;
    border-color: rgb(0 0 0 / var(--gmcss-border-opacity, 1));
    --gmcss-bg-opacity: 1;
    background-color: rgb(220 234 255 / var(--gmcss-bg-opacity, 1));
}
.ff-header.landing-header.active {
    --gmcss-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--gmcss-bg-opacity, 1));
    --gmcss-shadow: 0px 6px 32px 0px rgba(0, 0, 0, 0.04);
    --gmcss-shadow-colored: 0px 6px 32px 0px var(--gmcss-shadow-color);
    box-shadow: var(--gmcss-ring-offset-shadow, 0 0 #0000), var(--gmcss-ring-shadow, 0 0 #0000), var(--gmcss-shadow);
}
/* PAYMENT CARD */
.payment-fieldset {
    margin-bottom: 3rem;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    justify-content: center;
    gap: 1.5rem;
}
@media (min-width: 768px) {

    .payment-fieldset {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}
.payment-label {
    position: relative;
    display: flex;
    width: 100%;
    cursor: pointer;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
    border-radius: 0.5rem;
    border-width: 1px;
    --gmcss-border-opacity: 1;
    border-color: rgb(255 255 255 / var(--gmcss-border-opacity, 1));
    --gmcss-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--gmcss-bg-opacity, 1));
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    text-align: center;
    --gmcss-shadow: 0px 6px 32px 0px rgba(0, 0, 0, 0.04);
    --gmcss-shadow-colored: 0px 6px 32px 0px var(--gmcss-shadow-color);
    box-shadow: var(--gmcss-ring-offset-shadow, 0 0 #0000), var(--gmcss-ring-shadow, 0 0 #0000), var(--gmcss-shadow);
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
    transition-timing-function: var(--gm-ease-standard);
    transition-duration: var(--gm-duration-standard);
}
.payment-label.active {
    --gmcss-border-opacity: 1;
    border-color: rgb(0 0 0 / var(--gmcss-border-opacity, 1));
    --gmcss-bg-opacity: 1;
    background-color: rgb(220 234 255 / var(--gmcss-bg-opacity, 1));
}
.payment-label input {
    position: absolute;
    top: 0.625rem;
    left: 0.625rem;
    accent-color: rgb(0 0 0 / 1);
}
.payment-label img {
    height: 2rem;
}
.payment-label span {
    font-size: 0.875rem;
    line-height: 1.25rem;
    text-transform: capitalize;
    --gmcss-text-opacity: 1;
    color: rgb(31 31 57 / var(--gmcss-text-opacity, 1));
}
/* PRODUCT CARD GRID */
.product-card-grid {
    position: relative;
    display: flex;
    flex-direction: column;
    border-radius: 1rem;
    border-width: 1px;
    --gmcss-border-opacity: 1;
    border-color: rgb(239 240 246 / var(--gmcss-border-opacity, 1));
    --gmcss-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--gmcss-bg-opacity, 1));
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
    transition-timing-function: var(--gm-ease-standard);
    transition-duration: var(--gm-duration-standard);
    transition-timing-function: var(--gm-ease-standard);
}
.product-card-grid:hover {
    --gmcss-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
    --gmcss-shadow-colored: 0 20px 25px -5px var(--gmcss-shadow-color), 0 8px 10px -6px var(--gmcss-shadow-color);
    box-shadow: var(--gmcss-ring-offset-shadow, 0 0 #0000), var(--gmcss-ring-shadow, 0 0 #0000), var(--gmcss-shadow);
}
.product-card-grid-image {
    width: 100%;
    border-top-left-radius: 1rem;
    border-top-right-radius: 1rem;
}
.product-card-grid-content-group {
    display: flex;
    height: 100%;
    flex-direction: column;
    justify-content: space-between;
    border-bottom-right-radius: 1rem;
    border-bottom-left-radius: 1rem;
    padding-top: 1rem;
    padding-bottom: 1rem;
    padding-left: 0.75rem;
    padding-right: 0.75rem;
}
.product-card-grid-header-group {
    margin-bottom: 0.5rem;
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
}
.product-card-grid-title {
    width: -moz-fit-content;
    width: fit-content;
    max-width: 200px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.875rem;
    line-height: 1.25rem;
    font-weight: 600;
    text-transform: capitalize;
}
.product-card-grid-describe {
    margin-bottom: 0.75rem;
    text-overflow: ellipsis;
    font-size: 0.75rem;
    line-height: 1rem;
}
.product-card-grid-footer-group {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
}
.product-card-grid-price-group {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    -moz-column-gap: 0.5rem;
    column-gap: 0.5rem;
}
.product-card-grid-price-previous {
    font-size: 0.875rem;
    line-height: 1.25rem;
    font-weight: 500;
}
.product-card-grid-price-current {
    font-size: 1.125rem;
    line-height: 1.75rem;
    font-weight: 500;
}
.product-card-grid-cart-btn {
    display: flex;
    height: 1.5rem;
    align-items: center;
    gap: 0.375rem;
    border-radius: 1.5rem;
    --gmcss-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--gmcss-bg-opacity, 1));
    padding-left: 0.5rem;
    padding-right: 0.5rem;
    font-size: 0.875rem;
    line-height: 1.25rem;
    font-weight: 500;
    text-transform: capitalize;
    --gmcss-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
    --gmcss-shadow-colored: 0 4px 6px -1px var(--gmcss-shadow-color), 0 2px 4px -2px var(--gmcss-shadow-color);
    box-shadow: var(--gmcss-ring-offset-shadow, 0 0 #0000), var(--gmcss-ring-shadow, 0 0 #0000), var(--gmcss-shadow);
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
    transition-timing-function: var(--gm-ease-standard);
    transition-duration: var(--gm-duration-standard);
    transition-timing-function: var(--gm-ease-standard);
}
.product-card-grid-cart-btn:hover {
    --gmcss-bg-opacity: 1;
    background-color: rgb(0 0 0 / var(--gmcss-bg-opacity, 1));
}

/* PRODUCT CARD LIST */
.product-card-list {
    position: relative;
    display: flex;
    align-items: center;
    border-radius: 0.5rem;
    border-width: 1px;
    --gmcss-border-opacity: 1;
    border-color: rgb(239 240 246 / var(--gmcss-border-opacity, 1));
    --gmcss-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--gmcss-bg-opacity, 1));
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
    transition-timing-function: var(--gm-ease-standard);
    transition-duration: var(--gm-duration-standard);
    transition-timing-function: var(--gm-ease-standard);
}
.product-card-list:hover {
    --gmcss-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
    --gmcss-shadow-colored: 0 20px 25px -5px var(--gmcss-shadow-color), 0 8px 10px -6px var(--gmcss-shadow-color);
    box-shadow: var(--gmcss-ring-offset-shadow, 0 0 #0000), var(--gmcss-ring-shadow, 0 0 #0000), var(--gmcss-shadow);
}
.product-card-list-image {
    height: 100%;
    width: 7rem;
    flex-shrink: 0;
    -o-object-fit: cover;
    object-fit: cover;
}
.product-card-list-image:where([dir="ltr"], [dir="ltr"] *) {
    border-top-left-radius: 0.5rem;
    border-bottom-left-radius: 0.5rem;
}
.product-card-list-image:where([dir="rtl"], [dir="rtl"] *) {
    border-top-right-radius: 0.5rem;
    border-bottom-right-radius: 0.5rem;
}
.product-card-list-content-group {
    display: flex;
    height: 100%;
    width: 100%;
    flex-direction: column;
    justify-content: space-between;
    border-top-right-radius: 0.5rem;
    border-bottom-right-radius: 0.5rem;
    padding: 0.75rem;
}
.product-card-list-header-group {
    margin-bottom: 0.5rem;
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
}
.product-card-list-title {
    font-size: 0.875rem;
    line-height: 1.25rem;
    font-weight: 600;
    text-transform: capitalize;
}
.product-card-list-describe {
    margin-bottom: 0.75rem;
    text-overflow: ellipsis;
    font-size: 0.75rem;
    line-height: 1rem;
}
.product-card-list-footer-group {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
}
.product-card-list-price-group {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    -moz-column-gap: 0.5rem;
    column-gap: 0.5rem;
}
.product-card-list-price-current {
    font-size: 1.125rem;
    line-height: 1.75rem;
    font-weight: 500;
}
.product-card-list-cart-btn {
    display: flex;
    height: 1.5rem;
    align-items: center;
    gap: 0.375rem;
    border-radius: 1.5rem;
    --gmcss-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--gmcss-bg-opacity, 1));
    padding-left: 0.5rem;
    padding-right: 0.5rem;
    font-size: 0.875rem;
    line-height: 1.25rem;
    font-weight: 500;
    text-transform: capitalize;
    --gmcss-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
    --gmcss-shadow-colored: 0 4px 6px -1px var(--gmcss-shadow-color), 0 2px 4px -2px var(--gmcss-shadow-color);
    box-shadow: var(--gmcss-ring-offset-shadow, 0 0 #0000), var(--gmcss-ring-shadow, 0 0 #0000), var(--gmcss-shadow);
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
    transition-timing-function: var(--gm-ease-standard);
    transition-duration: var(--gm-duration-standard);
    transition-timing-function: var(--gm-ease-standard);
}
.product-card-list-cart-btn:hover {
    --gmcss-bg-opacity: 1;
    background-color: rgb(0 0 0 / var(--gmcss-bg-opacity, 1));
}
/* CHAT MESSAGE */
.chat-list {
    display: flex;
    flex-direction: column-reverse;
    gap: 1.25rem;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 1rem;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
    transition-timing-function: var(--gm-ease-standard);
    transition-duration: var(--gm-duration-standard);
    transition-timing-function: var(--gm-ease-standard);
}
.chat-list.frontend {
    height: calc(100vh - 260px);
}
@media (min-width: 640px) {

    .chat-list.frontend {
        height: calc(100vh - 250px);
    }
}
.chat-list.backend {
    height: 400px;
}
@media (min-width: 640px) {

    .chat-list.backend {
        height: calc(100vh - 315px);
    }
}
.chat-list.frontend.change {
    height: calc(100vh - 320px);
}
@media (min-width: 640px) {

    .chat-list.frontend.change {
        height: calc(100vh - 300px);
    }
}
.chat-list.backend.change {
    height: 400px;
}
@media (min-width: 640px) {

    .chat-list.backend.change {
        height: calc(100vh - 380px);
    }
}
.chat-item {
    display: flex;
    align-items: flex-end;
    gap: 0.75rem;
}
.chat-avatar {
    margin-bottom: 1.25rem;
    height: 1.75rem;
    width: 1.75rem;
    flex-shrink: 0;
    border-radius: 9999px;
}
.chat-group {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}
.chat-group-text {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}
.chat-text {
    width: -moz-fit-content;
    width: fit-content;
    max-width: 24rem;
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
    padding-left: 1rem;
    padding-right: 1rem;
    font-size: 0.875rem;
    line-height: 1.25rem;
    --gmcss-text-opacity: 1;
    color: rgb(31 31 57 / var(--gmcss-text-opacity, 1));
}
.chat-group-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.25rem;
}
.chat-meta {
    font-size: 0.75rem;
    line-height: 1rem;
}
.chat-user {
    flex-direction: row-reverse;
}
.chat-admin .chat-text {
    border-radius: 1rem;
    --gmcss-bg-opacity: 1;
    background-color: rgb(239 240 246 / var(--gmcss-bg-opacity, 1));
}
.chat-admin .chat-text:nth-child(odd):where([dir="ltr"], [dir="ltr"] *) {
    border-bottom-left-radius: 0.25rem;
}
.chat-admin .chat-text:nth-child(even):where([dir="ltr"], [dir="ltr"] *) {
    border-top-left-radius: 0.25rem;
}
.chat-admin .chat-text:nth-child(odd):where([dir="rtl"], [dir="rtl"] *) {
    border-bottom-right-radius: 0.25rem;
}
.chat-admin .chat-text:nth-child(even):where([dir="rtl"], [dir="rtl"] *) {
    border-top-right-radius: 0.25rem;
}
.chat-user .chat-text {
    border-radius: 1rem;
    --gmcss-bg-opacity: 1;
    background-color: rgb(220 234 255 / var(--gmcss-bg-opacity, 1));
}
.chat-user .chat-text:nth-child(odd):where([dir="ltr"], [dir="ltr"] *) {
    border-bottom-right-radius: 0.25rem;
}
.chat-user .chat-text:nth-child(even):where([dir="ltr"], [dir="ltr"] *) {
    border-top-right-radius: 0.25rem;
}
.chat-user .chat-text:nth-child(odd):where([dir="rtl"], [dir="rtl"] *) {
    border-bottom-left-radius: 0.25rem;
}
.chat-user .chat-text:nth-child(even):where([dir="rtl"], [dir="rtl"] *) {
    border-top-left-radius: 0.25rem;
}
.chat-user .chat-group-text {
    align-items: flex-end;
}
.chat-user .chat-group-meta {
    flex-direction: row-reverse;
}
.chat-list::-webkit-scrollbar {
    width: 0.5rem;
    background-color: transparent;
}
.chat-list::-webkit-scrollbar-thumb {
    border-radius: 0.75rem;
    border-width: 2px;
    border-style: solid;
    --gmcss-border-opacity: 1;
    border-color: rgb(255 255 255 / var(--gmcss-border-opacity, 1));
    --gmcss-bg-opacity: 1;
    background-color: rgb(156 163 175 / var(--gmcss-bg-opacity, 1));
}
.chat-footer {
    display: flex;
    width: 100%;
    align-items: center;
    gap: 1.25rem;
    padding: 1rem;
}
.chat-footer-file-label {
    position: relative;
    isolation: isolate;
    height: -moz-fit-content;
    height: fit-content;
    width: -moz-fit-content;
    width: fit-content;
    flex-shrink: 0;
    cursor: pointer;
}
.chat-footer-file-input {
    position: absolute;
    top: 0px;
    left: 0px;
    z-index: -10;
    height: 100%;
    width: 100%;
    opacity: 0;
}
.chat-footer-data {
    width: 100%;
    overflow: hidden;
    border-radius: 1.5rem;
    --gmcss-bg-opacity: 1;
    background-color: rgb(247 247 252 / var(--gmcss-bg-opacity, 1));
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    padding-left: 1rem;
    padding-right: 1rem;
}
.chat-footer-data-list {
    display: flex;
    gap: 0.75rem;
    overflow-x: auto;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}
.chat-footer-data-list::-webkit-scrollbar {
    height: 0.5rem;
    border-radius: 0.75rem;
    --gmcss-bg-opacity: 1;
    background-color: rgb(229 231 235 / var(--gmcss-bg-opacity, 1));
}
.chat-footer-data-list::-webkit-scrollbar-thumb {
    border-radius: 0.75rem;
    border-width: 2px;
    border-style: solid;
    --gmcss-border-opacity: 1;
    border-color: rgb(226 232 240 / var(--gmcss-border-opacity, 1));
    --gmcss-bg-opacity: 1;
    background-color: rgb(156 163 175 / var(--gmcss-bg-opacity, 1));
}
.chat-footer-data-input {
    height: 100%;
    width: 100%;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}
.chat-footer-sent {
    flex-shrink: 0;
}
/* THIN SCROLL BAR */
.thin-scrolling {
    overflow-y: auto;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
    transition-timing-function: var(--gm-ease-standard);
    transition-duration: var(--gm-duration-standard);
    transition-timing-function: var(--gm-ease-standard);
}
.thin-scrolling:hover::-webkit-scrollbar-thumb {
    --gmcss-bg-opacity: 1;
    background-color: rgb(0 0 0 / var(--gmcss-bg-opacity, 1));
}
.thin-scrolling::-webkit-scrollbar {
    width: 3px;
    border-radius: 1rem;
    background-color: transparent;
}
.thin-scrolling {
    scrollbar-color: rgb(185 28 28);
}
/* OTHER */
/* ORDER STATUS */
/* COMMON CLASS */
.invalid {
    --gmcss-border-opacity: 1 !important;
    border-color: rgb(252 165 165 / var(--gmcss-border-opacity, 1)) !important;
}
.invalid::before {
    content: var(--gmcss-content) !important;
    --gmcss-bg-opacity: 1 !important;
    background-color: rgb(252 165 165 / var(--gmcss-bg-opacity, 1)) !important;
}
/* MAIN CONTENT */
/* BACKLDROP */
.backdrop {
    visibility: hidden;
    position: fixed;
    top: 0px;
    left: 0px;
    z-index: 40;
    height: 100%;
    width: 100%;
    background-color: rgb(0 0 0 / 0.6);
    opacity: 0;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
    transition-timing-function: var(--gm-ease-standard);
    transition-duration: var(--gm-duration-standard);
    transition-timing-function: var(--gm-ease-standard);
}
.backdrop.active {
    visibility: visible;
    opacity: 1;
}
/* BUTTON */
.xmark-btn {
    height: 1.5rem;
    width: 1.5rem;
    border-radius: 9999px;
    --gmcss-bg-opacity: 1;
    background-color: rgb(243 244 246 / var(--gmcss-bg-opacity, 1));
    text-align: center;
    font-size: 1rem;
    line-height: 1.5rem;
    --gmcss-text-opacity: 1;
    color: rgb(107 114 128 / var(--gmcss-text-opacity, 1));
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
    transition-timing-function: var(--gm-ease-standard);
    transition-duration: var(--gm-duration-standard);
    transition-timing-function: var(--gm-ease-standard);
}
.xmark-btn:hover {
    --gmcss-bg-opacity: 1;
    background-color: rgb(254 226 226 / var(--gmcss-bg-opacity, 1));
    --gmcss-text-opacity: 1;
    color: rgb(0 0 0 / var(--gmcss-text-opacity, 1));
}
/* CARD */
.dropdown-btn .gm-ui-icon ,.table-filter-btn .gm-ui-icon,.custom-dropdown .dropdown-btn .gm-ui-icon{
    transition: transform 0.3s ease;
}
.dropdown-btn.rotated .gm-ui-icon:last-child ,.table-filter-btn.rotated .gm-ui-icon:last-child,.custom-dropdown .dropdown-btn.rotated .gm-ui-icon{
    transform: rotate(180deg);
}
/* BREADCRUMB */
/* TABS */
.data-tab {
    display: none;
}
.data-tab.active {
    display: block !important;
}
.profile-tabBtn.active {
    --gmcss-bg-opacity: 1;
    background-color: rgb(0 0 0 / var(--gmcss-bg-opacity, 1));
    stroke: #fff;
    --gmcss-text-opacity: 1;
    color: rgb(255 255 255 / var(--gmcss-text-opacity, 1));
    --gmcss-shadow: 0px 6px 10px rgba(185, 28, 28, 0.22);
    --gmcss-shadow-colored: 0px 6px 10px var(--gmcss-shadow-color);
    box-shadow: var(--gmcss-ring-offset-shadow, 0 0 #0000), var(--gmcss-ring-shadow, 0 0 #0000), var(--gmcss-shadow);
}
.profile-tabDiv {
    display: none;
}
.profile-tabDiv.active {
    display: block;
}
/* DROPDOWN */
.dropdown-group {
    position: relative;
    line-height: 0px;
}
.dropdown-btn {
    cursor: pointer;
}
.dropdown-list {
    --gmcss-scale-y: 0;
    transform: translate(var(--gmcss-translate-x), var(--gmcss-translate-y)) rotate(var(--gmcss-rotate)) skewX(var(--gmcss-skew-x)) skewY(var(--gmcss-skew-y)) scaleX(var(--gmcss-scale-x)) scaleY(var(--gmcss-scale-y));
}
.dropdown-list.active {
    transform-origin: top;
    --gmcss-scale-y: 1;
    transform: translate(var(--gmcss-translate-x), var(--gmcss-translate-y)) rotate(var(--gmcss-rotate)) skewX(var(--gmcss-skew-x)) skewY(var(--gmcss-skew-y)) scaleX(var(--gmcss-scale-x)) scaleY(var(--gmcss-scale-y));
}
/* FIELDS */
.db-field-alert {
    margin-left: 0.25rem;
    font-family: var(--gm-font-ui);
    color: var(--gm-semantic-danger-fg);
}
.checkbox:checked {
    border-style: none;
}
.checkbox:checked + .check-icon {
    display: flex;
}
.checkbox:checked + .checkmark {
    --gmcss-border-opacity: 1;
    border-color: rgb(0 0 0 / var(--gmcss-border-opacity, 1));
    --gmcss-bg-opacity: 1;
    background-color: rgb(0 0 0 / var(--gmcss-bg-opacity, 1));
}
input:checked + div {
    --gmcss-border-opacity: 1;
    border-color: rgb(0 0 0 / var(--gmcss-border-opacity, 1));
}
input:checked + div svg {
    display: block;
}
.custom-switch input {
    height: 0.75rem;
    width: 1.5rem;
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border-radius: 9999px;
    --gmcss-bg-opacity: 1;
    background-color: rgb(110 113 145 / var(--gmcss-bg-opacity, 1));
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: var(--gm-ease-standard);
    transition-duration: var(--gm-duration-standard);
}
.custom-switch input:checked {
    --gmcss-bg-opacity: 1;
    background-color: rgb(0 0 0 / var(--gmcss-bg-opacity, 1));
}
.custom-switch .btn {
    pointer-events: none;
    position: absolute;
    top: 0.5rem;
    height: 0.375rem;
    width: 0.375rem;
    cursor: pointer;
    border-radius: 9999px;
    border-width: 1px;
    --gmcss-border-opacity: 1;
    border-color: rgb(203 213 225 / var(--gmcss-border-opacity, 1));
    --gmcss-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--gmcss-bg-opacity, 1));
    --gmcss-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
    --gmcss-shadow-colored: 0 1px 2px 0 var(--gmcss-shadow-color);
    box-shadow: var(--gmcss-ring-offset-shadow, 0 0 #0000), var(--gmcss-ring-shadow, 0 0 #0000), var(--gmcss-shadow);
    transition-property: transform;
    transition-timing-function: var(--gm-ease-standard);
    transition-duration: var(--gm-duration-standard);
}
.custom-switch .btn:where([dir="ltr"], [dir="ltr"] *) {
    left: 0.125rem;
}
.custom-switch .btn:where([dir="rtl"], [dir="rtl"] *) {
    right: 0.125rem;
}
.custom-checkbox {
    position: relative;
    height: 1rem;
    width: 1rem;
    cursor: pointer;
}
.custom-checkbox-field {
    position: absolute;
    z-index: 10;
    height: 100%;
    width: 100%;
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    opacity: 0;
}
.custom-checkbox-icon {
    position: absolute;
    top: 0px;
    left: 0px;
    height: 100%;
    width: 100%;
    cursor: pointer;
    border-radius: 0.25rem;
    border-width: 1px;
    --gmcss-border-opacity: 1;
    border-color: rgb(217 222 227 / var(--gmcss-border-opacity, 1));
    text-align: center;
    font-size: 10px;
    line-height: 14px;
    --gmcss-text-opacity: 1;
    color: rgb(255 255 255 / var(--gmcss-text-opacity, 1));
}
.custom-checkbox-field:checked + .custom-checkbox-icon {
    --gmcss-border-opacity: 1;
    border-color: rgb(0 0 0 / var(--gmcss-border-opacity, 1));
    --gmcss-bg-opacity: 1;
    background-color: rgb(0 0 0 / var(--gmcss-bg-opacity, 1));
    --gmcss-shadow: 0 2px 4px 0 rgb(105 108 255 / 40%);
    --gmcss-shadow-colored: 0 2px 4px 0 var(--gmcss-shadow-color);
    box-shadow: var(--gmcss-ring-offset-shadow, 0 0 #0000), var(--gmcss-ring-shadow, 0 0 #0000), var(--gmcss-shadow);
}
.custom-radio {
    position: relative;
    height: 1rem;
    width: 1rem;
    cursor: pointer;
}
.custom-radio-field {
    position: absolute;
    z-index: 10;
    height: 100%;
    width: 100%;
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    opacity: 0;
}
.custom-radio-span {
    position: absolute;
    top: 0px;
    left: 0px;
    height: 100%;
    width: 100%;
    cursor: pointer;
    border-radius: 9999px;
    border-width: 1px;
    --gmcss-border-opacity: 1;
    border-color: rgb(217 222 227 / var(--gmcss-border-opacity, 1));
    text-align: center;
}
.custom-radio-field:checked + .custom-radio-span {
    border-width: 5px;
    --gmcss-border-opacity: 1;
    border-color: rgb(0 0 0 / var(--gmcss-border-opacity, 1));
    --gmcss-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--gmcss-bg-opacity, 1));
    --gmcss-shadow: 0 2px 4px 0 rgb(105 108 255 / 40%);
    --gmcss-shadow-colored: 0 2px 4px 0 var(--gmcss-shadow-color);
    box-shadow: var(--gmcss-ring-offset-shadow, 0 0 #0000), var(--gmcss-ring-shadow, 0 0 #0000), var(--gmcss-shadow);
}
.custom-radio.sm {
    height: 0.75rem;
    width: 0.75rem;
}
.custom-radio.sm .custom-radio-field:checked + .custom-radio-span {
    border-width: 3px;
}
/* TABLE */
.table-filter-div {
    height: 0px;
    overflow: hidden;
    transition-property: opacity, transform;
    transition-timing-function: var(--gm-ease-standard);
    transition-duration: var(--gm-duration-standard);
}
/* TOOLTIP */
.db-tooltip {
    visibility: visible;
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    left: 50%;
    top: -1.25rem;
    --gmcss-translate-x: -50%;
    transform: translate(var(--gmcss-translate-x), var(--gmcss-translate-y)) rotate(var(--gmcss-rotate)) skewX(var(--gmcss-skew-x)) skewY(var(--gmcss-skew-y)) scaleX(var(--gmcss-scale-x)) scaleY(var(--gmcss-scale-y));
    white-space: nowrap;
    border-radius: 0.25rem;
    --gmcss-bg-opacity: 1;
    background-color: rgb(55 65 81 / var(--gmcss-bg-opacity, 1));
    padding-left: 7px;
    padding-right: 7px;
    padding-top: 1px;
    padding-bottom: 2px;
    font-size: 10px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.025em;
    --gmcss-text-opacity: 1;
    color: rgb(255 255 255 / var(--gmcss-text-opacity, 1));
    opacity: 0;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
    transition-timing-function: var(--gm-ease-standard);
    transition-duration: var(--gm-duration-standard);
    transition-timing-function: var(--gm-ease-standard);
}
.db-tooltip::after {
    position: absolute;
    bottom: -3px;
    left: 50%;
    --gmcss-translate-x: -50%;
    --gmcss-rotate: 45deg;
    transform: translate(var(--gmcss-translate-x), var(--gmcss-translate-y)) rotate(var(--gmcss-rotate)) skewX(var(--gmcss-skew-x)) skewY(var(--gmcss-skew-y)) scaleX(var(--gmcss-scale-x)) scaleY(var(--gmcss-scale-y));
    border-radius: 0.125rem;
    border-width: 4px;
    border-top-width: 4px;
    border-style: solid;
    border-top-color: transparent;
    border-left-color: transparent;
    border-right-color: rgb(55 65 81 / var(--gmcss-border-opacity, 1));
    --gmcss-border-opacity: 1;
    border-bottom-color: rgb(55 65 81 / var(--gmcss-border-opacity, 1));
    --gmcss-content: '';
    content: var(--gmcss-content);
}
.gm-tooltip-trigger:hover .db-tooltip,
.gm-tooltip-trigger:focus .db-tooltip {
    width: auto;
    height: auto;
    overflow: visible;
    clip: auto;
    clip-path: none;
    top: -100%;
    opacity: 1;
}

.gm-tooltip-trigger {
    position: relative;
}
/* MODAL */
.modal {
    visibility: hidden;
    position: fixed;
    top: 0px;
    left: 50%;
    z-index: 60;
    height: 100%;
    width: 100%;
    --gmcss-translate-x: -50%;
    transform: translate(var(--gmcss-translate-x), var(--gmcss-translate-y)) rotate(var(--gmcss-rotate)) skewX(var(--gmcss-skew-x)) skewY(var(--gmcss-skew-y)) scaleX(var(--gmcss-scale-x)) scaleY(var(--gmcss-scale-y));
    overflow-y: auto;
    background-color: rgb(0 0 0 / 0.6);
    opacity: 0;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
    transition-timing-function: var(--gm-ease-standard);
    transition-duration: var(--gm-duration-standard);
    transition-timing-function: var(--gm-ease-standard);
    pointer-events: none;
}
@media (min-width: 1024px) {

    .ff-modal {
        top: 74px;
    }
}
.info-modal {
    z-index: 70;
}
@media (min-width: 1024px) {

    .modal.ff-modal.active .modal-dialog {
        margin-top: 2.5rem;
        margin-bottom: 8rem;
    }
}
.modal.active {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
}
.modal-dialog {
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    max-width: 32rem;
    border-radius: 0.5rem;
    --gmcss-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--gmcss-bg-opacity, 1));
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
    transition-timing-function: var(--gm-ease-standard);
    transition-duration: var(--gm-duration-standard);
    transition-timing-function: var(--gm-ease-standard);
}
.modal.active .modal-dialog {
    margin-top: 2.5rem;
    margin-bottom: 2.5rem;
}
.modal-header {
    display: flex;
    justify-content: space-between;
    gap: 1.25rem;
    border-bottom-width: 1px;
    --gmcss-border-opacity: 1;
    border-color: rgb(226 232 240 / var(--gmcss-border-opacity, 1));
    padding: 1rem;
}
.modal-title {
    font-size: 1.125rem;
    line-height: 1.75rem;
    font-weight: 500;
    text-transform: capitalize;
}
.modal-body {
    padding: 1rem;
}
.modal-footer {
    border-top-width: 1px;
    --gmcss-border-opacity: 1;
    border-color: rgb(226 232 240 / var(--gmcss-border-opacity, 1));
    padding: 1rem;
}
.modal-btns {
    margin-top: 0.75rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.75rem;
}
.modal-btn-outline {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    border-radius: 0.375rem;
    border-width: 1px;
    --gmcss-border-opacity: 1;
    border-color: rgb(229 231 235 / var(--gmcss-border-opacity, 1));
    --gmcss-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--gmcss-bg-opacity, 1));
    padding-top: 0.375rem;
    padding-bottom: 0.375rem;
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    font-size: 0.875rem !important;
    line-height: 1.25rem !important;
    text-transform: capitalize;
    --gmcss-text-opacity: 1 !important;
    color: rgb(75 85 99 / var(--gmcss-text-opacity, 1)) !important;
}
.modal-close {
    font-size: 1.25rem;
    line-height: 1.75rem;
    line-height: 1;
    --gmcss-text-opacity: 1;
    color: rgb(251 78 78 / var(--gmcss-text-opacity, 1));
}
/* PAGINATION */
/* LIST */
/* BADGE */
/* DRAWER */
.drawer {
    position: fixed;
    top: 0px;
    z-index: 50;
    height: 100vh;
    width: 100%;
    max-width: 36rem;
    overflow-y: auto;
    --gmcss-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--gmcss-bg-opacity, 1));
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
    transition-timing-function: var(--gm-ease-standard);
    transition-duration: var(--gm-duration-standard);
    transition-timing-function: var(--gm-ease-standard);
}
.drawer:where([dir="ltr"], [dir="ltr"] *) {
    right: 0px;
    --gmcss-translate-x: 100%;
    transform: translate(var(--gmcss-translate-x), var(--gmcss-translate-y)) rotate(var(--gmcss-rotate)) skewX(var(--gmcss-skew-x)) skewY(var(--gmcss-skew-y)) scaleX(var(--gmcss-scale-x)) scaleY(var(--gmcss-scale-y));
}
.drawer:where([dir="rtl"], [dir="rtl"] *) {
    left: 0px;
    --gmcss-translate-x: -100%;
    transform: translate(var(--gmcss-translate-x), var(--gmcss-translate-y)) rotate(var(--gmcss-rotate)) skewX(var(--gmcss-skew-x)) skewY(var(--gmcss-skew-y)) scaleX(var(--gmcss-scale-x)) scaleY(var(--gmcss-scale-y));
}
.drawer.active:where([dir="ltr"], [dir="ltr"] *) {
    --gmcss-translate-x: 0px;
    transform: translate(var(--gmcss-translate-x), var(--gmcss-translate-y)) rotate(var(--gmcss-rotate)) skewX(var(--gmcss-skew-x)) skewY(var(--gmcss-skew-y)) scaleX(var(--gmcss-scale-x)) scaleY(var(--gmcss-scale-y));
}
.drawer.active:where([dir="rtl"], [dir="rtl"] *) {
    --gmcss-translate-x: -0px;
    transform: translate(var(--gmcss-translate-x), var(--gmcss-translate-y)) rotate(var(--gmcss-rotate)) skewX(var(--gmcss-skew-x)) skewY(var(--gmcss-skew-y)) scaleX(var(--gmcss-scale-x)) scaleY(var(--gmcss-scale-y));
}
.drawer-header {
    display: flex;
    justify-content: space-between;
    gap: 1.25rem;
    border-bottom-width: 1px;
    --gmcss-border-opacity: 1;
    border-color: rgb(226 232 240 / var(--gmcss-border-opacity, 1));
    padding: 1rem;
}
.drawer-title {
    font-size: 1.125rem;
    line-height: 1.75rem;
    font-weight: 500;
    text-transform: capitalize;
}
.drawer-body {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
    padding-top: 2rem;
    padding-bottom: 2rem;
}
/* DB PRODUCT CARD */
.pos-group .active {
    --gmcss-border-opacity: 1;
    border-color: rgb(0 0 0 / var(--gmcss-border-opacity, 1));
    --gmcss-bg-opacity: 1;
    background-color: rgb(220 234 255 / var(--gmcss-bg-opacity, 1));
}
/* FOOTER */
.footer-part {
    --gmcss-bg-opacity: 1;
    background-color: rgb(0 0 0 / var(--gmcss-bg-opacity, 1));
}
.unread-message h4 {
    position: relative;
}
.unread-message h4::after {
    position: absolute;
    top: 0px;
    display: inline-block;
    height: 0.5rem;
    width: 0.5rem;
    border-radius: 9999px;
    --gmcss-bg-opacity: 1;
    background-color: rgb(0 0 0 / var(--gmcss-bg-opacity, 1));
    --gmcss-content: '';
    content: var(--gmcss-content);
}
.unread-message h4:where([dir="ltr"], [dir="ltr"] *)::after {
    content: var(--gmcss-content);
    right: -0.75rem;
}
.unread-message h4:where([dir="rtl"], [dir="rtl"] *)::after {
    content: var(--gmcss-content);
    left: -0.75rem;
}
/*===================================
            COMPONENTS PART END
    ====================================*/
.pointer-events-none {
    pointer-events: none;
}
.visible {
    visibility: visible;
}
.invisible {
    visibility: hidden;
}
.collapse {
    visibility: collapse;
}
/* Gurmeat utility layer. */
.\!bg-white{background-color: #ffffff !important;}
.\!border-\[\#1AB759\]{border-color: #1AB759 !important;}
.\!justify-start{justify-content: flex-start !important;}
.\!text-\[\#1AB759\]{color: #1AB759 !important;}
.-left-3{left: -0.75rem;}
.\[\&_li\]\:font-semibold{font-weight: 600;}
.\[\&_li\]\:leading-10{line-height: 2.5rem;}
.\[\&_li\]\:mb-6{margin-bottom: 1.5rem;}
.\[\&_li\]\:text-\[40px\]{color: 40px;}
.absolute{position: absolute;}
.appearance-none{appearance: none;}
.bg-\[\#1AB759\]{background-color: #1AB759;}
.bg-\[\#4caf50\]{background-color: #4caf50;}
.bg-\[\#BDEFFF\]{background-color: #BDEFFF;}
.bg-\[\#D6F5FF\]{background-color: #D6F5FF;}
.bg-\[\#EFF0F6\]{background-color: #EFF0F6;}
.bg-\[\#F7F7FC\]{background-color: #F7F7FC;}
.bg-\[\#FFDB1F\]{background-color: #FFDB1F;}
.bg-\[\#FEF2F2\]{background-color: #FEF2F2;}
.bg-\[\#ff5252\]{background-color: #ff5252;}
.bg-blue-50{background-color: #eff6ff;}
.bg-gray-100{background-color: #f3f4f6;}
.bg-gray-200{background-color: #e5e7eb;}
.bg-heading{background-color: #1f1f39;}
.bg-primary{background-color: #000000;}
.bg-primary\/10{background-color: rgb(0 0 0 / 0.1);}
.bg-primary\/5{background-color: rgb(0 0 0 / 0.05);}
.bg-red-100{background-color: #fee2e2;}
.bg-red-50{background-color: #fef2f2;}
.bg-red-500{background-color: #ef4444;}
.bg-white{background-color: #ffffff;}
.block{display: block;}
.border{border-width: 1px;}
.border-\[\#6E7191\]{border-color: #6E7191;}
.border-\[\#D9DBE9\]{border-color: #D9DBE9;}
.border-\[\#EFF0F6\]{border-color: #EFF0F6;}
.border-\[\#F7F7FC\]{border-color: #F7F7FC;}
.border-blue-500{border-color: #3b82f6;}
.border-gray-100{border-color: #f3f4f6;}
.border-gray-200{border-color: #e5e7eb;}
.border-gray-300{border-color: #d1d5db;}
.border-gray-400{border-color: #9ca3af;}
.border-primary{border-color: #000000;}
.border-primary\/30{border-color: rgb(0 0 0 / 0.3);}
.border-red-400{border-color: #f87171;}
.border-red-500{border-color: #ef4444;}
.bottom-0{bottom: 0;}
.capitalize{text-transform: capitalize;}
.col-12{width: 100%;padding: 0.75rem;}
.col-span-1{grid-column: span 1 / span 1;}
.col-span-2{grid-column: span 2 / span 2;}
.container{width:100%;max-width:var(--gm-container-wide);margin-inline:auto;padding-inline:var(--gm-gutter-mobile);box-sizing:border-box;}
@media (min-width:768px){.container{padding-inline:var(--gm-gutter-tablet);}}
@media (min-width:1024px){.container{padding-inline:var(--gm-gutter-desktop);}}
.cursor-pointer{cursor: pointer;}
.disabled\:opacity-70:disabled{opacity: 0.7;}
.duration-300{transition-duration: var(--gm-duration-standard);}
.first-letter\:capitalize::first-letter{text-transform: capitalize;}
.fixed{position: fixed;}
.flex{display: flex;}
.flex-auto{flex: 1 1 auto;}
.flex-col{flex-direction: column;}
.flex-shrink-0{flex-shrink: 0;}
.flex-wrap{flex-wrap: wrap;}
.font-bold{font-weight: 700;}
.font-medium{font-weight: 500;}
.font-normal{font-weight: 400;}
.font-semibold{font-weight: 600;}
.gap-1{gap: 0.25rem;}
.gap-11{gap: 2.75rem;}
.gap-2{gap: 0.5rem;}
.gap-3{gap: 0.75rem;}
.gap-4{gap: 1rem;}
.gap-5{gap: 1.25rem;}
.gap-6{gap: 1.5rem;}
.gap-x-3{gap: null;}
.gap-x-6{gap: null;}
.gap-y-1{gap: null;}
.gap-y-2{gap: null;}
.gap-y-4{gap: null;}
.gap-y-5{gap: null;}
.grid{display: grid;}
.grid-cols-1{grid-template-columns: repeat(1, minmax(0, 1fr));}
.grid-cols-2{grid-template-columns: repeat(2, minmax(0, 1fr));}
.h-0{height: 0;}
.h-10{height: 2.5rem;}
.h-11{height: 2.75rem;}
.h-12{height: 3rem;}
.h-16{height: 4rem;}
.h-3{height: 0.75rem;}
.h-5{height: 1.25rem;}
.h-6{height: 1.5rem;}
.h-8{height: 2rem;}
.h-\[102px\]{height: 102px;}
.h-\[26px\]{height: 26px;}
.h-\[37px\]{height: 37px;}
.h-\[38px\]{height: 38px;}
.h-auto{height: auto;}
.h-full{height: 100%;}
.h-screen{height: 100vh;}
.hidden{display: none;}
.hover\:bg-\[\#00749B\]:hover{background-color: #00749B;}
.hover\:bg-gray-50:hover{background-color: #f9fafb;}
.hover\:bg-primary:hover{background-color: #000000;}
.hover\:bg-primary\/5:hover{background-color: rgb(0 0 0 / 0.05);}
.hover\:bg-white:hover{background-color: #ffffff;}
.hover\:border-primary\/30:hover{border-color: rgb(0 0 0 / 0.3);}
.hover\:border-red-500:hover{border-color: #ef4444;}
.hover\:text-primary:hover{color: #000000;}
.hover\:text-red-500:hover{color: #ef4444;}
.hover\:text-white:hover{color: #ffffff;}
.inline-block{display: inline-block;}
.inline-flex{display: inline-flex;}
.items-center{align-items: center;}
.items-end{align-items: flex-end;}
.items-start{align-items: flex-start;}
.justify-between{justify-content: space-between;}
.justify-center{justify-content: center;}
.justify-start{justify-content: flex-start;}
.last\:mb-0:last-child{margin-bottom: 0;}
.last\:pb-0:last-child{padding-bottom: 0;}
.leading-10{line-height: 2.5rem;}
.leading-4{line-height: 1rem;}
.leading-5{line-height: 1.25rem;}
.leading-6{line-height: 1.5rem;}
.leading-\[26px\]{line-height: 26px;}
.leading-\[34px\]{line-height: 34px;}
.leading-\[40px\]{line-height: 40px;}
.leading-\[9px\]{line-height: 9px;}
.leading-none{line-height: 1;}
.left-0{left: 0;}
.left-14{left: 3.5rem;}
@media (min-width:1024px){.lg\:block{display: block;}}
@media (min-width:1024px){.lg\:col-6{width: 50%;padding: 0.75rem;}}
@media (min-width:1024px){.lg\:flex{display: flex;}}
@media (min-width:1024px){.lg\:grid-cols-3{grid-template-columns: repeat(3, minmax(0, 1fr));}}
@media (min-width:1024px){.lg\:hidden{display: none;}}
@media (min-width:1024px){.lg\:mt-0{margin-top: 0;}}
.ltr\:ml-3:where([dir="ltr"], [dir="ltr"] *){margin-left: 0.75rem;}
.ltr\:right-0:where([dir="ltr"], [dir="ltr"] *){right: 0;}
.ltr\:rounded-l-lg:where([dir="ltr"], [dir="ltr"] *){border-top-left-radius: 0.5rem;border-bottom-left-radius: 0.5rem;}
.ltr\:rounded-r-lg:where([dir="ltr"], [dir="ltr"] *){border-top-right-radius: 0.5rem;border-bottom-right-radius: 0.5rem;}
.max-w-3xl{max-width: 48rem;}
.max-w-\[148px\]{max-width: 148px;}
.max-w-\[200px\]{max-width: 200px;}
.max-w-\[250px\]{max-width: 250px;}
.max-w-\[340px\]{max-width: 340px;}
.max-w-\[350px\]{max-width: 350px;}
.max-w-\[360px\]{max-width: 360px;}
.max-w-\[600px\]{max-width: 600px;}
.mb-1{margin-bottom: 0.25rem;}
.mb-12{margin-bottom: 3rem;}
.mb-16{margin-bottom: 4rem;}
.mb-2{margin-bottom: 0.5rem;}
.mb-20{margin-bottom: 5rem;}
.mb-3{margin-bottom: 0.75rem;}
.mb-4{margin-bottom: 1rem;}
.mb-5{margin-bottom: 1.25rem;}
.mb-6{margin-bottom: 1.5rem;}
.mb-7{margin-bottom: 1.75rem;}
.mb-8{margin-bottom: 2rem;}
@media (min-width:768px){.md\:block{display: block;}}
@media (min-width:768px){.md\:gap-6{gap: 1.5rem;}}
@media (min-width:768px){.md\:grid-cols-4{grid-template-columns: repeat(4, minmax(0, 1fr));}}
@media (min-width:768px){.md\:mt-4{margin-top: 1rem;}}
.min-h-16{min-height: 4rem;}
.min-w-\[326px\]{min-width: 326px;}
.mt-12{margin-top: 3rem;}
.mt-2{margin-top: 0.5rem;}
.mt-4{margin-top: 1rem;}
.mt-5{margin-top: 1.25rem;}
.mt-6{margin-top: 1.5rem;}
.mt-8{margin-top: 2rem;}
.mx-auto{margin-left: auto;margin-right: auto;}
.object-cover{object-fit: cover;}
.opacity-0{opacity: 0;}
.opacity-100{opacity: 1;}
.opacity-50{opacity: 0.5;}
.opacity-70{opacity: 0.7;}
.overflow-auto{overflow: auto;}
.overflow-hidden{overflow: hidden;}
.overflow-y-auto{overflow-y: auto;}
.p-0{padding: 0;}
.p-1{padding: 0.25rem;}
.p-2{padding: 0.5rem;}
.p-3{padding: 0.75rem;}
.p-4{padding: 1rem;}
.p-8{padding: 2rem;}
.pb-0{padding-bottom: 0;}
.pb-1{padding-bottom: 0.25rem;}
.pb-16{padding-bottom: 4rem;}
.pb-2{padding-bottom: 0.5rem;}
.pb-20{padding-bottom: 5rem;}
.pb-3{padding-bottom: 0.75rem;}
.peer-checked\:ltr\:translate-x-3:where([dir="ltr"], [dir="ltr"] *){transform: translateX(0.75rem);}
.peer-checked\:rtl\:-translate-x-3:where([dir="rtl"], [dir="rtl"] *){transform: translateX(-0.75rem);}
.peer-checked\:translate-x-6{transform: translateX(1.5rem);}
.pl-2{padding-left: 0.5rem;}
.pl-3{padding-left: 0.75rem;}
.pl-4{padding-left: 1rem;}
.placeholder\:text-xs::placeholder{font-size: 0.75rem;line-height: 1rem;}
.pointer-events-none{pointer-events: none;}
.pr-4{padding-right: 1rem;}
.pt-6{padding-top: 1.5rem;}
.pt-8{padding-top: 2rem;}
.px-2{padding-left: 0.5rem;padding-right: 0.5rem;}
.px-3{padding-left: 0.75rem;padding-right: 0.75rem;}
.px-4{padding-left: 1rem;padding-right: 1rem;}
.px-5{padding-left: 1.25rem;padding-right: 1.25rem;}
.px-6{padding-left: 1.5rem;padding-right: 1.5rem;}
.px-7{padding-left: 1.75rem;padding-right: 1.75rem;}
.py-1{padding-top: 0.25rem;padding-bottom: 0.25rem;}
.py-2{padding-top: 0.5rem;padding-bottom: 0.5rem;}
.py-3{padding-top: 0.75rem;padding-bottom: 0.75rem;}
.py-4{padding-top: 1rem;padding-bottom: 1rem;}
.py-6{padding-top: 1.5rem;padding-bottom: 1.5rem;}
.py-\[22px\]{padding-top: 22px;padding-bottom: 22px;}
.relative{position: relative;}
.right-4{right: 1rem;}
.right-5{right: 1.25rem;}
.rotate-180{transform: rotate(180deg);}
.rounded{border-radius: 0.25rem;}
.rounded-2xl{border-radius: 1rem;}
.rounded-3xl{border-radius: 1.5rem;}
.rounded-\[10px\]{border-radius: 10px;}
.rounded-\[3px\]{border-radius: 3px;}
.rounded-bl-lg{border-bottom-left-radius: 0.5rem;}
.rounded-full{border-radius: 9999px;}
.rounded-l-lg{border-top-left-radius: 0.5rem;border-bottom-left-radius: 0.5rem;}
.rounded-lg{border-radius: 0.5rem;}
.rounded-md{border-radius: 0.375rem;}
.rounded-t-\[10px\]{border-top-left-radius: 10px;border-top-right-radius: 10px;}
.rounded-tr-lg{border-top-right-radius: 0.5rem;}
.rounded-xl{border-radius: 0.75rem;}
.row{display: flex;flex-wrap: wrap;margin: -0.75rem;}
.rtl\:left-0:where([dir="rtl"], [dir="rtl"] *){left: 0;}
.rtl\:mr-3:where([dir="rtl"], [dir="rtl"] *){margin-right: 0.75rem;}
.rtl\:rotate-180:where([dir="rtl"], [dir="rtl"] *){transform: rotate(180deg);}
.rtl\:rounded-l-lg:where([dir="rtl"], [dir="rtl"] *){border-top-left-radius: 0.5rem;border-bottom-left-radius: 0.5rem;}
.rtl\:rounded-r-lg:where([dir="rtl"], [dir="rtl"] *){border-top-right-radius: 0.5rem;border-bottom-right-radius: 0.5rem;}
.shadow-sm{box-shadow: 0 1px 2px rgb(0 0 0 / 0.05);}
.shadow-xs{box-shadow: 0 1px 2px rgb(0 0 0 / 0.05);}
@media (min-width:640px){.sm\:col-12{width: 100%;padding: 0.75rem;}}
@media (min-width:640px){.sm\:col-6{width: 50%;padding: 0.75rem;}}
@media (min-width:640px){.sm\:flex-row{flex-direction: row;}}
@media (min-width:640px){.sm\:grid-cols-2{grid-template-columns: repeat(2, minmax(0, 1fr));}}
@media (min-width:640px){.sm\:grid-cols-3{grid-template-columns: repeat(3, minmax(0, 1fr));}}
@media (min-width:640px){.sm\:grid-cols-\[1fr_120px_100px_42px\]{grid-template-columns: 1fr 120px 100px 42px;}}
@media (min-width:640px){.sm\:inline{display: inline;}}
@media (min-width:640px){.sm\:items-start{align-items: flex-start;}}
@media (min-width:640px){.sm\:justify-center{justify-content: center;}}
@media (min-width:640px){.sm\:justify-start{justify-content: flex-start;}}
@media (min-width:640px){.sm\:mt-8{margin-top: 2rem;}}
@media (min-width:640px){.sm\:px-4{padding-left: 1rem;padding-right: 1rem;}}
@media (min-width:640px){.sm\:px-6{padding-left: 1.5rem;padding-right: 1.5rem;}}
@media (min-width:640px){.sm\:text-left{text-align: left;}}
@media (min-width:640px){.sm\:w-fit{width: fit-content;}}
.table{display: table;}
.text-2xl{font-size: 1.5rem;line-height: 2rem;}
.text-\[\#00749B\]{color: #00749B;}
.text-\[\#0084FF\]{color: #0084FF;}
.text-\[\#008BBA\]{color: #008BBA;}
.text-\[\#1AB759\]{color: #1AB759;}
.text-\[\#1F1F39\]{color: #1F1F39;}
.text-\[\#2AC769\]{color: #2AC769;}
.text-\[\#6E7191\]{color: #6E7191;}
.text-\[\#747792\]{color: #747792;}
.text-\[\#A0A3BD\]{color: #A0A3BD;}
.text-\[\#FB4E4E\]{color: #FB4E4E;}
.text-\[10px\]{color: 10px;}
.text-\[11px\]{color: 11px;}
.text-\[22px\]{color: 22px;}
.text-\[26px\]{color: 26px;}
.text-\[9px\]{color: 9px;}
.text-base{font-size: 1rem;line-height: 1.5rem;}
.text-black{color: #000000;}
.text-center{text-align: center;}
.text-gray-300{color: #d1d5db;}
.text-gray-400{color: #9ca3af;}
.text-gray-500{color: #6b7280;}
.text-gray-700{color: #374151;}
.text-heading{color: #1f1f39;}
.text-left{text-align: left;}
.text-lg{font-size: 1.125rem;line-height: 1.75rem;}
.text-paragraph{color: #6e7191;}
.text-primary{color: #000000;}
.text-red-500{color: #ef4444;}
.text-red-700{color: #b91c1c;}
.text-right{text-align: right;}
.text-sm{font-size: 0.875rem;line-height: 1.25rem;}
.text-white{color: #ffffff;}
.text-xl{font-size: 1.25rem;line-height: 1.75rem;}
.text-xs{font-size: 0.75rem;line-height: 1rem;}
.top-0{top: 0;}
.top-4{top: 1rem;}
.top-5{top: 1.25rem;}
.transition{transition-property: color, background-color, border-color, opacity, box-shadow, transform;transition-duration: var(--gm-duration-fast);transition-timing-function: var(--gm-ease-standard);}
.translate-x-0{transform: translateX(0);}
.translate-x-full{transform: translateX(100%);}
.w-11{width: 2.75rem;}
.w-16{width: 4rem;}
.w-3{width: 0.75rem;}
.w-36{width: 9rem;}
.w-5{width: 1.25rem;}
.w-6{width: 1.5rem;}
.w-8{width: 2rem;}
.w-\[120px\]{width: 120px;}
.w-\[26px\]{width: 26px;}
.w-fit{width: fit-content;}
.w-full{width: 100%;}
.whitespace-nowrap{white-space: nowrap;}
@media (min-width:1280px){.xl\:col-6{width: 50%;padding: 0.75rem;}}
@media (min-width:1280px){.xl\:grid-cols-4{grid-template-columns: repeat(4, minmax(0, 1fr));}}
.z-0{z-index: 0;}
.z-\[80\]{z-index: 80;}
.z-\[9999\]{z-index: 9999;}

/* Home banner navigation: keep Swiper controls inside the circular buttons. */
.banner-swiper .swiper-button-prev,
.banner-swiper .swiper-button-next {
    overflow: hidden !important;
    color: transparent !important;
}

.banner-swiper .swiper-button-prev::after,
.banner-swiper .swiper-button-next::after {
    display: block !important;
    width: 0.78rem !important;
    height: 0.78rem !important;
    border-top: 0.22rem solid #007aff !important;
    border-right: 0.22rem solid #007aff !important;
    font-family: inherit !important;
    font-size: 0 !important;
    line-height: 1 !important;
    content: "" !important;
}

.banner-swiper .swiper-button-prev::after {
    transform: rotate(-135deg) translate(-1px, -1px) !important;
}

.banner-swiper .swiper-button-next::after {
    transform: rotate(45deg) translate(-1px, 1px) !important;
}

.banner-swiper .swiper-button-prev:hover::after,
.banner-swiper .swiper-button-next:hover::after {
    border-color: #ffffff !important;
}

.gm-storefront-shell {
    padding-bottom: calc(106px + env(safe-area-inset-bottom));
}

.gm-storefront-content {
    min-height: calc(100dvh - 104px);
}

@media (min-width: 1024px) {
    .gm-storefront-shell {
        padding-bottom: 0;
    }

    .gm-storefront-content {
        min-height: auto;
    }
}

.gm-storefront-shell[data-surface="profile"] .gm-storefront-content {
    padding-top: 0 !important;
    background: var(--gm-app-bg) !important;
}

.gm-storefront-profile-page {
    padding: 0 0 calc(76px + env(safe-area-inset-bottom)) !important;
    background: transparent !important;
}

.gm-storefront-profile-container {
    width: min(100%, 920px) !important;
    max-width: 920px !important;
    box-sizing: border-box !important;
    margin-inline: auto !important;
    padding-inline: clamp(18px, 4vw, 44px) !important;
}

.gm-storefront-profile-card,
.gm-storefront-content .gm-storefront-profile-card,
.gm-storefront-content .shadow-xs.rounded-2xl.bg-white.gm-storefront-profile-card,
.gm-storefront-profile-container > .gm-storefront-profile-card {
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
}

.gm-storefront-profile-card > .hidden.border-b {
    display: none !important;
}

@media (max-width: 767px) {
    .gm-storefront-profile-container {
        padding-inline: 18px !important;
    }
}

/* Gurmeat runtime completions start */
@keyframes gm-spin{to{transform:rotate(360deg)}}
.space-y-2>:not([hidden])~:not([hidden]){margin-top:0.5rem;}
.-space-x-px>:not([hidden])~:not([hidden]){margin-left:-1px;}
.dropdown-list.active{--gmcss-scale-y:1;transform:translate(var(--gmcss-translate-x),var(--gmcss-translate-y)) rotate(var(--gmcss-rotate)) skewX(var(--gmcss-skew-x)) skewY(var(--gmcss-skew-y)) scaleX(var(--gmcss-scale-x)) scaleY(var(--gmcss-scale-y));}
.-bottom-12{bottom:calc(3rem * -1);}
.-left-3{left:calc(0.75rem * -1);}
.-mt-2{margin-top:calc(0.5rem * -1);}
.-right-2{right:calc(0.5rem * -1);}
.-top-2{top:calc(0.5rem * -1);}
.-z-10{z-index:-10;}
.absolute{position:absolute;}
.accent-primary{accent-color:rgb(var(--primary));}
.after\:hidden::after{display:none;}
.align-top{vertical-align:top;}
.animate-spin{animation:gm-spin 1s linear infinite;}
.basis-full{flex-basis:100%;}
.before\:-z-10::before{z-index:-10;}
.before\:absolute::before{position:absolute;}
.before\:bg-primary::before{background-color:rgb(var(--primary));}
.before\:bg-white::before{background-color:rgb(255 255 255);}
.before\:h-1::before{height:0.25rem;}
.before\:h-24::before{height:6rem;}
.before\:inset-0::before{inset:0px;}
.before\:left-0::before{left:0px;}
.before\:rounded-full::before{border-radius:9999px;}
.before\:top-0::before{top:0px;}
.before\:w-24::before{width:6rem;}
.before\:w-full::before{width:100%;}
.bg-\[\#00749B\]{background-color:#00749B;}
.bg-\[\#008BBA\]{background-color:#008BBA;}
.bg-\[\#1AB759\]{background-color:#1AB759;}
.bg-\[\#2AC769\]{background-color:#2AC769;}
.bg-\[\#567DFF\]{background-color:#567DFF;}
.bg-\[\#8262FE\]{background-color:#8262FE;}
.bg-\[\#A953FF\]{background-color:#A953FF;}
.bg-\[\#BDEFFF\]{background-color:#BDEFFF;}
.bg-\[\#D6F5FF\]{background-color:#D6F5FF;}
.bg-\[\#EFF0F6\]{background-color:#EFF0F6;}
.bg-\[\#F7F7F7\]{background-color:#F7F7F7;}
.bg-\[\#F7F7FC\]{background-color:#F7F7FC;}
.bg-\[\#FB4E4E\]{background-color:#FB4E4E;}
.bg-\[\#DC2626\]{background-color:#DC2626;}
.bg-\[\#FFDADA\]{background-color:#FFDADA;}
.bg-\[\#FFDB1F\]{background-color:#FFDB1F;}
.bg-\[\#FFEBD8\]{background-color:#FFEBD8;}
.bg-\[\#FEF2F2\]{background-color:#FEF2F2;}
.bg-\[\#FFF5DE\]{background-color:#FFF5DE;}
.bg-\[\#fcfcfc\]{background-color:#fcfcfc;}
.bg-\[\#ff5252\]{background-color:#ff5252;}
.bg-black{background-color:rgb(0 0 0);}
.bg-black\/40{background-color:rgb(0 0 0 / 0.4);}
.bg-blue-50{background-color:rgb(239 246 255);}
.bg-gradient-to-t{background-image:linear-gradient(to top,var(--gmcss-gradient-stops));}
.bg-gray-100{background-color:rgb(243 244 246);}
.bg-gray-600{background-color:rgb(75 85 99);}
.bg-green-100{background-color:rgb(220 252 231);}
.bg-green-50{background-color:rgb(240 253 244);}
.bg-heading{background-color:rgb(31 31 57);}
.bg-primary{background-color:rgb(var(--primary));}
.bg-primary\/10{background-color:rgb(var(--primary) / 0.1);}
.bg-primary\/5{background-color:rgb(var(--primary) / 0.05);}
.bg-red-100{background-color:rgb(254 226 226);}
.bg-slate-100{background-color:rgb(241 245 249);}
.bg-transparent{background-color:transparent;}
.bg-white{background-color:rgb(255 255 255);}
.bg-white\/40{background-color:rgb(255 255 255 / 0.4);}
.bg-white\/60{background-color:rgb(255 255 255 / 0.6);}
.bg-white\/90{background-color:rgb(255 255 255 / 0.9);}
.block{display:block;}
.border{border-width:1px;}
.border-0{border-width:0px;}
.border-2{border-width:2px;}
.border-4{border-width:4px;}
.border-\[\#6E7191\]{border-color:#6E7191;}
.border-\[\#D9DBE9\]{border-color:#D9DBE9;}
.border-\[\#DBDEE0\]{border-color:#DBDEE0;}
.border-\[\#EFF0F6\]{border-color:#EFF0F6;}
.border-\[\#F7F7FC\]{border-color:#F7F7FC;}
.border-\[\#b91c1c\]{border-color:#b91c1c;}
.border-b{border-bottom-width:1px;}
.border-b-2{border-bottom-width:2px;}
.border-dashed{border-style:dashed;}
.border-dotted{border-style:dotted;}
.border-gray-100{border-color:rgb(243 244 246);}
.border-gray-200{border-color:rgb(229 231 235);}
.border-gray-300{border-color:rgb(209 213 219);}
.border-gray-400{border-color:rgb(156 163 175);}
.border-l{border-left-width:1px;}
.border-none{border-style:none;}
.border-primary{border-color:rgb(var(--primary));}
.border-slate-100{border-color:rgb(241 245 249);}
.border-slate-200{border-color:rgb(226 232 240);}
.border-slate-300{border-color:rgb(203 213 225);}
.border-solid{border-style:solid;}
.border-t{border-top-width:1px;}
.border-transparent{border-color:transparent;}
.border-white{border-color:rgb(255 255 255);}
.bottom-0{bottom:0px;}
.break-words{overflow-wrap:break-word;}
.capitalize{text-transform:capitalize;}
.checked\:bg-primary{background-color:rgb(var(--primary));}
.col-span-1{grid-column:span 1 / span 1;}
.col-span-2{grid-column:span 2 / span 2;}
.content-wrapper{align-content:wrapper;}
.cursor-default{cursor:default;}
.cursor-move{cursor:move;}
.cursor-pointer{cursor:pointer;}
.disabled\:opacity-60:disabled{opacity:0.6;}
.disabled\:opacity-70:disabled{opacity:0.7;}
.duration-300{transition-duration:var(--gm-duration-standard);}
.duration-500{transition-duration:var(--gm-duration-standard);}
.filter{filter:var(--gmcss-blur) var(--gmcss-brightness) var(--gmcss-contrast) var(--gmcss-grayscale) var(--gmcss-hue-rotate) var(--gmcss-invert) var(--gmcss-saturate) var(--gmcss-sepia) var(--gmcss-drop-shadow);}
.first-letter\:capitalize::first-letter{text-transform:capitalize;}
.first-letter\:uppercase::first-letter{text-transform:uppercase;}
.fixed{position:fixed;}
.flex{display:flex;}
.flex-1{flex:1 1 0%;}
.flex-auto{flex:1 1 auto;}
.flex-col{flex-direction:column;}
.flex-col-reverse{flex-direction:column-reverse;}
.flex-grow{flex-grow:1;}
.flex-shrink-0{flex-shrink:0;}
.flex-wrap{flex-wrap:wrap;}
.focus-within\:bg-white:focus-within{background-color:rgb(255 255 255);}
.focus-within\:border-primary:focus-within{border-color:rgb(var(--primary));}
.focus-within\:border-primary\/20:focus-within{border-color:rgb(var(--primary) / 0.2);}
.focus\:border-primary:focus{border-color:rgb(var(--primary));}
.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px;}
.font-bold{font-weight:700;}
.font-client{font-family:var(--gm-font-ui);}
.font-light{font-weight:300;}
.font-medium{font-weight:500;}
.font-normal{font-weight:400;}
.font-rubik{font-family:var(--gm-font-ui);}
.font-semibold{font-weight:600;}
.from-\[\#FF7A00\]{--gmcss-gradient-from:#FF7A00;--gmcss-gradient-to:rgb(255 255 255 / 0);--gmcss-gradient-stops:var(--gmcss-gradient-from),var(--gmcss-gradient-to);}
.gap-0\.5{gap:0.125rem;}
.gap-1{gap:0.25rem;}
.gap-1\.5{gap:0.375rem;}
.gap-11{gap:2.75rem;}
.gap-2{gap:0.5rem;}
.gap-2\.5{gap:0.625rem;}
.gap-3{gap:0.75rem;}
.gap-3\.5{gap:0.875rem;}
.gap-4{gap:1rem;}
.gap-5{gap:1.25rem;}
.gap-6{gap:1.5rem;}
.gap-8{gap:2rem;}
.gap-\[18px\]{gap:18px;}
.gap-x-3{column-gap:0.75rem;}
.gap-x-4{column-gap:1rem;}
.gap-x-6{column-gap:1.5rem;}
.gap-y-1{row-gap:0.25rem;}
.gap-y-2{row-gap:0.5rem;}
.gap-y-3\.5{row-gap:0.875rem;}
.gap-y-4{row-gap:1rem;}
.gap-y-5{row-gap:1.25rem;}
.grid{display:grid;}
.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr));}
.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}
.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr));}
.group-hover\:text-primary{color:rgb(var(--primary));}
.h-10{height:2.5rem;}
.h-11{height:2.75rem;}
.h-12{height:3rem;}
.h-14{height:3.5rem;}
.h-16{height:4rem;}
.h-20{height:5rem;}
.h-3{height:0.75rem;}
.h-32{height:8rem;}
.h-4{height:1rem;}
.h-5{height:1.25rem;}
.h-6{height:1.5rem;}
.h-7{height:1.75rem;}
.h-8{height:2rem;}
.h-80{height:20rem;}
.h-9{height:2.25rem;}
.h-\[102px\]{height:102px;}
.h-\[120px\]{height:120px;}
.h-\[180px\]{height:180px;}
.h-\[188px\]{height:188px;}
.h-\[18px\]{height:18px;}
.h-\[26px\]{height:26px;}
.h-\[270px\]{height:270px;}
.h-\[300px\]{height:300px;}
.h-\[37px\]{height:37px;}
.h-\[38px\]{height:38px;}
.h-\[400px\]{height:400px;}
.h-\[50px\]{height:50px;}
.h-\[52px\]{height:52px;}
.h-\[68px\]{height:68px;}
.h-\[72px\]{height:72px;}
.h-\[90px\]{height:90px;}
.h-\[98px\]{height:98px;}
.h-auto{height:auto;}
.h-fit{height:fit-content;}
.h-full{height:100%;}
.h-screen{height:100vh;}
.hidden{display:none;}
.hover\:bg-\[\#00749B\]:hover{background-color:#00749B;}
.hover\:bg-\[\#FEF2F2\]:hover{background-color:#FEF2F2;}
.hover\:bg-gray-100:hover{background-color:rgb(243 244 246);}
.hover\:bg-primary:hover{background-color:rgb(var(--primary));}
.hover\:bg-primary\/5:hover{background-color:rgb(var(--primary) / 0.05);}
.hover\:bg-primary\/90:hover{background-color:rgb(var(--primary) / 0.9);}
.hover\:border-primary:hover{border-color:rgb(var(--primary));}
.hover\:border-primary\/30:hover{border-color:rgb(var(--primary) / 0.3);}
.hover\:opacity-80:hover{opacity:0.8;}
.hover\:text-primary:hover{color:rgb(var(--primary));}
.hover\:text-red-500:hover{color:rgb(239 68 68);}
.hover\:text-white:hover{color:rgb(255 255 255);}
.inline-block{display:inline-block;}
.inline-flex{display:inline-flex;}
.inset-0{inset:0px;}
.items-center{align-items:center;}
.items-end{align-items:flex-end;}
.items-start{align-items:flex-start;}
.justify-between{justify-content:space-between;}
.justify-center{justify-content:center;}
.justify-end{justify-content:flex-end;}
.justify-start{justify-content:flex-start;}
.last\:border-b-0:last-child{border-bottom-width:0px;}
.last\:border-none:last-child{border-style:none;}
.last\:mb-0:last-child{margin-bottom:0px;}
.last\:pb-0:last-child{padding-bottom:0px;}
.last\:pr-3:last-child{padding-right:0.75rem;}
.leading-10{line-height:2.5rem;}
.leading-3{line-height:0.75rem;}
.leading-4{line-height:1rem;}
.leading-5{line-height:1.25rem;}
.leading-6{line-height:1.5rem;}
.leading-7{line-height:1.75rem;}
.leading-8{line-height:2rem;}
.leading-\[10px\]{line-height:10px;}
.leading-\[14px\]{line-height:14px;}
.leading-\[16px\]{line-height:16px;}
.leading-\[17px\]{line-height:17px;}
.leading-\[26px\]{line-height:26px;}
.leading-\[34px\]{line-height:34px;}
.leading-\[38px\]{line-height:38px;}
.leading-\[40px\]{line-height:40px;}
.leading-\[46px\]{line-height:46px;}
.leading-\[9px\]{line-height:9px;}
.leading-none{line-height:1;}
.leading-relaxed{line-height:1.625;}
.left-0{left:0px;}
@media (min-width:1024px){.lg\:block{display:block;}}
@media (min-width:1024px){.lg\:flex{display:flex;}}
@media (min-width:1024px){.lg\:flex-row{flex-direction:row;}}
@media (min-width:1024px){.lg\:gap-6{gap:1.5rem;}}
@media (min-width:1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media (min-width:1024px){.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr));}}
@media (min-width:1024px){.lg\:hidden{display:none;}}
@media (min-width:1024px){.lg\:justify-start{justify-content:flex-start;}}
@media (min-width:1024px){.lg\:mt-0{margin-top:0px;}}
@media (min-width:1024px){.lg\:mx-14{margin-left:3.5rem;margin-right:3.5rem;}}
@media (min-width:1024px){.lg\:pb-0{padding-bottom:0px;}}
@media (min-width:1024px){.lg\:pb-4{padding-bottom:1rem;}}
@media (min-width:1024px){.lg\:w-52{width:13rem;}}
@media (min-width:1024px){.lg\:w-\[930px\]{width:930px;}}
@media (min-width:1024px){.lg\:w-fit{width:fit-content;}}
.ltr\:-left-3:where([dir="ltr"],[dir="ltr"] *){left:calc(0.75rem * -1);}
.ltr\:-ml-8:where([dir="ltr"],[dir="ltr"] *){margin-left:calc(2rem * -1);}
.ltr\:pl-2:where([dir="ltr"],[dir="ltr"] *){padding-left:0.5rem;}
.ltr\:right-0:where([dir="ltr"],[dir="ltr"] *){right:0px;}
.ltr\:right-2\.5:where([dir="ltr"],[dir="ltr"] *){right:0.625rem;}
.ltr\:right-3:where([dir="ltr"],[dir="ltr"] *){right:0.75rem;}
.ltr\:right-5:where([dir="ltr"],[dir="ltr"] *){right:1.25rem;}
@media (min-width:640px){.ltr\:sm\:border-r:where([dir="ltr"],[dir="ltr"] *){border-right-width:1px;}}
.ltr\:text-left:where([dir="ltr"],[dir="ltr"] *){text-align:left;}
.m-0\.5{margin:0.125rem;}
.max-h-64{max-height:16rem;}
.max-h-\[420px\]{max-height:420px;}
.max-h-\[calc\(100dvh_-_550px\)\]{max-height:calc(100dvh - 550px);}
.max-w-2xl{max-width:42rem;}
.max-w-3xl{max-width:48rem;}
.max-w-\[100px\]{max-width:100px;}
.max-w-\[120px\]{max-width:120px;}
.max-w-\[148px\]{max-width:148px;}
.max-w-\[200px\]{max-width:200px;}
.max-w-\[230px\]{max-width:230px;}
.max-w-\[250px\]{max-width:250px;}
.max-w-\[265px\]{max-width:265px;}
.max-w-\[300px\]{max-width:300px;}
.max-w-\[340px\]{max-width:340px;}
.max-w-\[350px\]{max-width:350px;}
.max-w-\[360px\]{max-width:360px;}
.max-w-\[428px\]{max-width:428px;}
.max-w-\[550px\]{max-width:550px;}
.max-w-\[600px\]{max-width:600px;}
.max-w-\[630px\]{max-width:630px;}
.max-w-\[647px\]{max-width:647px;}
.max-w-\[965px\]{max-width:965px;}
.max-w-xs{max-width:20rem;}
.mb-0\.5{margin-bottom:0.125rem;}
.mb-1{margin-bottom:0.25rem;}
.mb-1\.5{margin-bottom:0.375rem;}
.mb-12{margin-bottom:3rem;}
.mb-16{margin-bottom:4rem;}
.mb-2{margin-bottom:0.5rem;}
.mb-2\.5{margin-bottom:0.625rem;}
.mb-20{margin-bottom:5rem;}
.mb-3{margin-bottom:0.75rem;}
.mb-4{margin-bottom:1rem;}
.mb-5{margin-bottom:1.25rem;}
.mb-6{margin-bottom:1.5rem;}
.mb-7{margin-bottom:1.75rem;}
.mb-8{margin-bottom:2rem;}
.mb-9{margin-bottom:2.25rem;}
.mb-\[1px\]{margin-bottom:1px;}
.mb-\[22px\]{margin-bottom:22px;}
.mb-\[70px\]{margin-bottom:70px;}
@media (min-width:768px){.md\:block{display:block;}}
@media (min-width:768px){.md\:flex-row{flex-direction:row;}}
@media (min-width:768px){.md\:gap-4{gap:1rem;}}
@media (min-width:768px){.md\:gap-6{gap:1.5rem;}}
@media (min-width:768px){.md\:grid{display:grid;}}
@media (min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (min-width:768px){.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media (min-width:768px){.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr));}}
@media (min-width:768px){.md\:grid-flow-row{grid-auto-flow:row;}}
@media (min-width:768px){.md\:hidden{display:none;}}
@media (min-width:768px){.md\:justify-center{justify-content:center;}}
@media (min-width:768px){.md\:max-h-\[calc\(100dvh_-_600px\)\]{max-height:calc(100dvh - 600px);}}
@media (min-width:768px){.md\:mb-0{margin-bottom:0px;}}
@media (min-width:768px){.md\:mt-0{margin-top:0px;}}
@media (min-width:768px){.md\:mt-4{margin-top:1rem;}}
@media (min-width:768px){.md\:pl-0{padding-left:0px;}}
@media (min-width:768px){.md\:pl-8{padding-left:2rem;}}
@media (min-width:768px){.md\:w-80{width:20rem;}}
@media (min-width:768px){.md\:w-auto{width:auto;}}
@media (min-width:768px){.md\:w-fit{width:fit-content;}}
.min-h-16{min-height:4rem;}
.min-h-40{min-height:10rem;}
.min-h-\[260px\]{min-height:260px;}
.min-w-0{min-width:0px;}
.min-w-\[120px\]{min-width:120px;}
.min-w-\[150px\]{min-width:150px;}
.min-w-\[160px\]{min-width:160px;}
.min-w-\[326px\]{min-width:326px;}
.ml-1\.5{margin-left:0.375rem;}
.ml-2{margin-left:0.5rem;}
.ml-3{margin-left:0.75rem;}
.ml-auto{margin-left:auto;}
.mr-1{margin-right:0.25rem;}
.mr-4{margin-right:1rem;}
.mt-0\.5{margin-top:0.125rem;}
.mt-1{margin-top:0.25rem;}
.mt-1\.5{margin-top:0.375rem;}
.mt-12{margin-top:3rem;}
.mt-16{margin-top:4rem;}
.mt-2{margin-top:0.5rem;}
.mt-3{margin-top:0.75rem;}
.mt-4{margin-top:1rem;}
.mt-5{margin-top:1.25rem;}
.mt-6{margin-top:1.5rem;}
.mt-8{margin-top:2rem;}
.mt-\[-20px\]{margin-top:-20px;}
.mt-\[22px\]{margin-top:22px;}
.mx-1{margin-left:0.25rem;margin-right:0.25rem;}
.mx-2{margin-left:0.5rem;margin-right:0.5rem;}
.mx-auto{margin-left:auto;margin-right:auto;}
.my-0{margin-top:0px;margin-bottom:0px;}
.my-1\.5{margin-top:0.375rem;margin-bottom:0.375rem;}
.my-12{margin-top:3rem;margin-bottom:3rem;}
.my-3{margin-top:0.75rem;margin-bottom:0.75rem;}
.my-4{margin-top:1rem;margin-bottom:1rem;}
.normal-case{text-transform:none;}
.object-cover{object-fit:cover;}
.opacity-0{opacity:0;}
.opacity-70{opacity:0.7;}
.outline-none{outline:2px solid transparent;outline-offset:2px;}
.overflow-auto{overflow:auto;}
.overflow-hidden{overflow:hidden;}
.overflow-visible{overflow:visible;}
.overflow-x-auto{overflow:x-auto;}
.overflow-x-hidden{overflow:x-hidden;}
.overflow-y-auto{overflow:y-auto;}
.p-0{padding:0px;}
.p-0\.5{padding:0.125rem;}
.p-1{padding:0.25rem;}
.p-2{padding:0.5rem;}
.p-2\.5{padding:0.625rem;}
.p-3{padding:0.75rem;}
.p-4{padding:1rem;}
.p-6{padding:1.5rem;}
.p-8{padding:2rem;}
.pb-0{padding-bottom:0px;}
.pb-1{padding-bottom:0.25rem;}
.pb-12{padding-bottom:3rem;}
.pb-16{padding-bottom:4rem;}
.pb-2{padding-bottom:0.5rem;}
.pb-20{padding-bottom:5rem;}
.pb-24{padding-bottom:6rem;}
.pb-3{padding-bottom:0.75rem;}
.pb-3\.5{padding-bottom:0.875rem;}
.pb-4{padding-bottom:1rem;}
.peer-checked\:translate-x-6{--gmcss-translate-x:1.5rem;transform:translate(var(--gmcss-translate-x),var(--gmcss-translate-y)) rotate(var(--gmcss-rotate)) skewX(var(--gmcss-skew-x)) skewY(var(--gmcss-skew-y)) scaleX(var(--gmcss-scale-x)) scaleY(var(--gmcss-scale-y));}
.pl-2{padding-left:0.5rem;}
.pl-3{padding-left:0.75rem;}
.pl-4{padding-left:1rem;}
.pl-5{padding-left:1.25rem;}
.pl-7{padding-left:1.75rem;}
.pl-\[18px\]{padding-left:18px;}
.placeholder\:font-normal{font-weight:400;}
.placeholder\:font-rubik{font-family:var(--gm-font-ui);}
.placeholder\:text-\[\#6E7191\]{color:#6E7191;}
.placeholder\:text-\[\#A0A3BD\]{color:#A0A3BD;}
.placeholder\:text-paragraph{color:rgb(110 113 145);}
.placeholder\:text-xs{font-size:0.75rem;line-height:1rem;}
.pr-1{padding-right:0.25rem;}
.pr-2{padding-right:0.5rem;}
.pr-2\.5{padding-right:0.625rem;}
.pr-28{padding-right:7rem;}
.pr-4{padding-right:1rem;}
.pt-1{padding-top:0.25rem;}
.pt-12{padding-top:3rem;}
.pt-2{padding-top:0.5rem;}
.pt-3{padding-top:0.75rem;}
.pt-4{padding-top:1rem;}
.pt-5{padding-top:1.25rem;}
.pt-6{padding-top:1.5rem;}
.pt-7{padding-top:1.75rem;}
.pt-8{padding-top:2rem;}
.px-0{padding-left:0px;padding-right:0px;}
.px-2{padding-left:0.5rem;padding-right:0.5rem;}
.px-2\.5{padding-left:0.625rem;padding-right:0.625rem;}
.px-3{padding-left:0.75rem;padding-right:0.75rem;}
.px-3\.5{padding-left:0.875rem;padding-right:0.875rem;}
.px-4{padding-left:1rem;padding-right:1rem;}
.px-5{padding-left:1.25rem;padding-right:1.25rem;}
.px-6{padding-left:1.5rem;padding-right:1.5rem;}
.py-0{padding-top:0px;padding-bottom:0px;}
.py-0\.5{padding-top:0.125rem;padding-bottom:0.125rem;}
.py-1{padding-top:0.25rem;padding-bottom:0.25rem;}
.py-1\.5{padding-top:0.375rem;padding-bottom:0.375rem;}
.py-12{padding-top:3rem;padding-bottom:3rem;}
.py-14{padding-top:3.5rem;padding-bottom:3.5rem;}
.py-2{padding-top:0.5rem;padding-bottom:0.5rem;}
.py-2\.5{padding-top:0.625rem;padding-bottom:0.625rem;}
.py-3{padding-top:0.75rem;padding-bottom:0.75rem;}
.py-3\.5{padding-top:0.875rem;padding-bottom:0.875rem;}
.py-4{padding-top:1rem;padding-bottom:1rem;}
.py-5{padding-top:1.25rem;padding-bottom:1.25rem;}
.py-6{padding-top:1.5rem;padding-bottom:1.5rem;}
.py-8{padding-top:2rem;padding-bottom:2rem;}
.py-\[22px\]{padding-top:22px;padding-bottom:22px;}
.relative{position:relative;}
.resize-none{resize:none;}
.right-0{right:0px;}
.right-2{right:0.5rem;}
.right-3{right:0.75rem;}
.right-4{right:1rem;}
.right-5{right:1.25rem;}
.rounded{border-radius:0.25rem;}
.rounded-2xl{border-radius:1rem;}
.rounded-3xl{border-radius:1.5rem;}
.rounded-\[10px\]{border-radius:10px;}
.rounded-\[3px\]{border-radius:3px;}
.rounded-full{border-radius:9999px;}
.rounded-lg{border-radius:0.5rem;}
.rounded-md{border-radius:0.375rem;}
.rounded-none{border-radius:0px;}
.rounded-xl{border-radius:0.75rem;}
.row-span-2{grid-row:span 2 / span 2;}
.rtl\:-mr-8:where([dir="rtl"],[dir="rtl"] *){margin-right:calc(2rem * -1);}
.rtl\:-right-3:where([dir="rtl"],[dir="rtl"] *){right:calc(0.75rem * -1);}
.rtl\:left-0:where([dir="rtl"],[dir="rtl"] *){left:0px;}
.rtl\:left-2\.5:where([dir="rtl"],[dir="rtl"] *){left:0.625rem;}
.rtl\:left-3:where([dir="rtl"],[dir="rtl"] *){left:0.75rem;}
.rtl\:left-5:where([dir="rtl"],[dir="rtl"] *){left:1.25rem;}
.rtl\:pr-2:where([dir="rtl"],[dir="rtl"] *){padding-right:0.5rem;}
@media (min-width:640px){.rtl\:sm\:border-l:where([dir="rtl"],[dir="rtl"] *){border-left-width:1px;}}
.rtl\:text-right:where([dir="rtl"],[dir="rtl"] *){text-align:right;}
.shadow-lg{box-shadow:0 10px 15px -3px rgb(0 0 0 / 0.1),
        0 4px 6px -4px rgb(0 0 0 / 0.1);}
@media (min-width:640px){.sm\:bg-\[\#FF3B8E\]{background-color:#FF3B8E;}}
@media (min-width:640px){.sm\:bg-white{background-color:rgb(255 255 255);}}
@media (min-width:640px){.sm\:border-t-0{border-top-width:0px;}}
@media (min-width:640px){.sm\:flex{display:flex;}}
@media (min-width:640px){.sm\:flex-1{flex:1 1 0%;}}
@media (min-width:640px){.sm\:flex-row{flex-direction:row;}}
@media (min-width:640px){.sm\:gap-6{gap:1.5rem;}}
@media (min-width:640px){.sm\:gap-\[18px\]{gap:18px;}}
@media (min-width:640px){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (min-width:640px){.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media (min-width:640px){.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr));}}
@media (min-width:640px){.sm\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr));}}
@media (min-width:640px){.sm\:h-\[calc\(100vh_-_290px\)\]{height:calc(100vh - 290px);}}
@media (min-width:640px){.sm\:hidden{display:none;}}
@media (min-width:640px){.sm\:inline{display:inline;}}
@media (min-width:640px){.sm\:inline-block{display:inline-block;}}
@media (min-width:640px){.sm\:items-center{align-items:center;}}
@media (min-width:640px){.sm\:items-start{align-items:flex-start;}}
@media (min-width:640px){.sm\:justify-between{justify-content:space-between;}}
@media (min-width:640px){.sm\:justify-end{justify-content:flex-end;}}
@media (min-width:640px){.sm\:justify-start{justify-content:flex-start;}}
@media (min-width:640px){.sm\:max-w-xs{max-width:20rem;}}
@media (min-width:640px){.sm\:mb-0{margin-bottom:0px;}}
@media (min-width:640px){.sm\:mt-8{margin-top:2rem;}}
@media (min-width:640px){.sm\:mx-0{margin-left:0px;margin-right:0px;}}
@media (min-width:640px){.sm\:mx-auto{margin-left:auto;margin-right:auto;}}
@media (min-width:640px){.sm\:p-5{padding:1.25rem;}}
@media (min-width:640px){.sm\:pt-0{padding-top:0px;}}
@media (min-width:640px){.sm\:px-10{padding-left:2.5rem;padding-right:2.5rem;}}
@media (min-width:640px){.sm\:px-4{padding-left:1rem;padding-right:1rem;}}
@media (min-width:640px){.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem;}}
@media (min-width:640px){.sm\:py-6{padding-top:1.5rem;padding-bottom:1.5rem;}}
@media (min-width:640px){.sm\:rounded-xl{border-radius:0.75rem;}}
@media (min-width:640px){.sm\:text-left{text-align:left;}}
@media (min-width:640px){.sm\:text-white{color:rgb(255 255 255);}}
@media (min-width:640px){.sm\:w-36{width:9rem;}}
@media (min-width:640px){.sm\:w-48{width:12rem;}}
@media (min-width:640px){.sm\:w-60{width:15rem;}}
@media (min-width:640px){.sm\:w-fit{width:fit-content;}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0;}
.text-2xl{font-size:1.5rem;line-height:2rem;}
.text-3xl{font-size:1.875rem;line-height:2.25rem;}
.text-\[\#00749B\]{color:#00749B;}
.text-\[\#0084FF\]{color:#0084FF;}
.text-\[\#008BBA\]{color:#008BBA;}
.text-\[\#1AB759\]{color:#1AB759;}
.text-\[\#1F1F39\]{color:#1F1F39;}
.text-\[\#2E2F38\]{color:#2E2F38;}
.text-\[\#374151\]{color:#374151;}
.text-\[\#6E7191\]{color:#6E7191;}
.text-\[\#747792\]{color:#747792;}
.text-\[\#A0A3BD\]{color:#A0A3BD;}
.text-\[\#E89806\]{color:#E89806;}
.text-\[\#FB4E4E\]{color:#FB4E4E;}
.text-base{font-size:1rem;line-height:1.5rem;}
.text-black{color:rgb(0 0 0);}
.text-blue-700{color:rgb(29 78 216);}
.text-center{text-align:center;}
.text-ellipsis{text-overflow:ellipsis;}
.text-end{text-align:end;}
.text-gray-700{color:rgb(55 65 81);}
.text-green-600{color:rgb(22 163 74);}
.text-green-700{color:rgb(21 128 61);}
.text-heading{color:rgb(31 31 57);}
.text-left{text-align:left;}
.text-lg{font-size:1.125rem;line-height:1.75rem;}
.text-paragraph{color:rgb(110 113 145);}
.text-primary{color:rgb(var(--primary));}
.text-red-500{color:rgb(239 68 68);}
.text-red-700{color:rgb(185 28 28);}
.text-right{text-align:right;}
.text-slate-400{color:rgb(148 163 184);}
.text-slate-500{color:rgb(100 116 139);}
.text-sm{font-size:0.875rem;line-height:1.25rem;}
.text-start{text-align:start;}
.text-white{color:rgb(255 255 255);}
.text-xl{font-size:1.25rem;line-height:1.75rem;}
.text-xs{font-size:0.75rem;line-height:1rem;}
.text-yellow-400{color:rgb(250 204 21);}
.to-\[\#B91C1C\]{--gmcss-gradient-to:#B91C1C;}
.top-0{top:0px;}
.top-2{top:0.5rem;}
.top-3{top:0.75rem;}
.top-4{top:1rem;}
.top-5{top:1.25rem;}
.top-9{top:2.25rem;}
.tracking-wide{letter-spacing:0.025em;}
.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-duration:var(--gm-duration-fast);transition-timing-function:var(--gm-ease-standard);}
.transition-all{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-duration:var(--gm-duration-fast);transition-timing-function:var(--gm-ease-standard);}
.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:var(--gm-duration-fast);transition-timing-function:var(--gm-ease-standard);}
.transition-transform{transition-property:transform;transition-duration:var(--gm-duration-fast);transition-timing-function:var(--gm-ease-standard);}
.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.uppercase{text-transform:uppercase;}
.w-10{width:2.5rem;}
.w-11{width:2.75rem;}
.w-12{width:3rem;}
.w-16{width:4rem;}
.w-20{width:5rem;}
.w-24{width:6rem;}
.w-28{width:7rem;}
.w-3{width:0.75rem;}
.w-32{width:8rem;}
.w-36{width:9rem;}
.w-4{width:1rem;}
.w-40{width:10rem;}
.w-48{width:12rem;}
.w-5{width:1.25rem;}
.w-6{width:1.5rem;}
.w-7{width:1.75rem;}
.w-8{width:2rem;}
.w-9{width:2.25rem;}
.w-\[120px\]{width:120px;}
.w-\[18px\]{width:18px;}
.w-\[240px\]{width:240px;}
.w-\[26px\]{width:26px;}
.w-\[270px\]{width:270px;}
.w-\[38px\]{width:38px;}
.w-\[46px\]{width:46px;}
.w-\[68px\]{width:68px;}
.w-\[72px\]{width:72px;}
.w-\[76px\]{width:76px;}
.w-\[90px\]{width:90px;}
.w-\[98px\]{width:98px;}
.w-fit{width:fit-content;}
.w-full{width:100%;}
.w-max{width:max-content;}
.whitespace-nowrap{white-space:nowrap;}
.whitespace-pre-wrap{white-space:pre-wrap;}
@media (max-width:767px){.xh\:bg-white{background-color:rgb(255 255 255);}}
@media (max-width:767px){.xh\:border-\[\#EFF0F6\]{border-color:#EFF0F6;}}
@media (max-width:767px){.xh\:fixed{position:fixed;}}
@media (max-width:767px){.xh\:left-0{left:0px;}}
@media (max-width:767px){.xh\:p-4{padding:1rem;}}
@media (max-width:767px){.xh\:top-10{top:2.5rem;}}
@media (max-width:767px){.xh\:w-full{width:100%;}}
@media (min-width:1280px){.xl\:flex-row{flex-direction:row;}}
@media (min-width:1280px){.xl\:gap-8{gap:2rem;}}
@media (min-width:1280px){.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr));}}
@media (max-width:575px){.xst\:absolute{position:absolute;}}
@media (max-width:575px){.xst\:bottom-12{bottom:3rem;}}
@media (max-width:575px){.xst\:bottom-5{bottom:1.25rem;}}
@media (max-width:575px){.xst\:fixed{position:fixed;}}
@media (max-width:575px){.xst\:pb-16{padding-bottom:4rem;}}
@media (max-width:575px){.xst\:w-full{width:100%;}}
@media (max-width:575px){.xst\:z-10{z-index:10;}}
.z-0{z-index:0;}
.z-10{z-index:10;}
.z-30{z-index:30;}
.z-50{z-index:50;}
.z-\[100\]{z-index:100;}
.z-\[80\]{z-index:80;}
.z-\[90\]{z-index:90;}
.z-\[9999\]{z-index:9999;}
/* Gurmeat runtime completions end */

/* Gurmeat visual restoration layer. */
:root {
    --primary: 185 28 28;
    --primary-slate: 220 38 38;
    --primary-light: 254 242 242;
    --gm-brand-red: #b91c1c;
    --gm-brand-red-strong: #991b1b;
    --gm-brand-red-soft: #fef2f2;
    --gm-brand-red-line: #fee2e2;
    --gm-ink: #1f1f39;
    --gm-muted: #6e7191;
    --gm-surface: #ffffff;
    --gm-admin-bg: #f7f7fc;
}

.bg-primary { background-color: rgb(var(--primary)) !important; }
.text-primary { color: rgb(var(--primary)) !important; }
.border-primary { border-color: rgb(var(--primary)) !important; }
.bg-primary\/5 { background-color: rgb(var(--primary) / 0.055) !important; }
.bg-primary\/10 { background-color: rgb(var(--primary) / 0.1) !important; }
.bg-primary\/90 { background-color: rgb(var(--primary) / 0.9) !important; }
.border-primary\/20 { border-color: rgb(var(--primary) / 0.2) !important; }
.border-primary\/30 { border-color: rgb(var(--primary) / 0.3) !important; }
.hover\:bg-primary:hover { background-color: rgb(var(--primary)) !important; }
.hover\:bg-primary\/5:hover { background-color: rgb(var(--primary) / 0.055) !important; }
.hover\:bg-primary\/90:hover { background-color: rgb(var(--primary) / 0.9) !important; }
.hover\:text-primary:hover { color: rgb(var(--primary)) !important; }
.hover\:border-primary:hover { border-color: rgb(var(--primary)) !important; }
.hover\:border-primary\/30:hover { border-color: rgb(var(--primary) / 0.3) !important; }
.focus\:border-primary:focus,
.focus-within\:border-primary:focus-within,
.focus-within\:border-primary\/20:focus-within { border-color: rgb(var(--primary)) !important; }
.accent-primary { accent-color: rgb(var(--primary)) !important; }

.bg-\[\#FEF2F2\],
.hover\:bg-\[\#FEF2F2\]:hover { background-color: var(--gm-brand-red-soft) !important; }
.bg-\[\#FEE2E2\] { background-color: var(--gm-brand-red-line) !important; }
.bg-black\/60 { background-color: rgb(0 0 0 / 0.6) !important; }
.border-\[\#b91c1c\],
.border-\[\#B91C1C\] { border-color: var(--gm-brand-red) !important; }
.to-\[\#B91C1C\] { --gmcss-gradient-to: var(--gm-brand-red) !important; }

.font-fill-primary,
.font-fill-primary-toggle,
.lab-color-red {
    color: rgb(var(--primary)) !important;
    fill: rgb(var(--primary)) !important;
}

body[data-surface="admin"] {
    max-width: 100%;
    overflow-x: clip;
}

.paper,
.drawer-dialog,
.modal {
    border: 1px solid rgba(226, 232, 240, 0.72);
    box-shadow: 0 18px 45px rgba(31, 31, 57, 0.055) !important;
}

.profile-tabBtn.active {
    background-color: rgb(var(--primary)) !important;
    box-shadow: 0 10px 22px rgb(var(--primary) / 0.18) !important;
}

.ff-header.active,
.ff-header {
    position: sticky;
    top: 0;
    z-index: 150;
    background: rgba(255, 255, 255, 0.96);
    backdrop-filter: saturate(170%) blur(14px);
}

.ff-header {
    border-bottom: 1px solid rgba(226, 232, 240, 0.82);
    box-shadow: 0 10px 28px rgba(31, 31, 57, 0.045);
}

.header-search-group {
    justify-content: flex-start !important;
    height: 36px !important;
    padding: 0 0.55rem !important;
    border-color: rgba(226, 232, 240, 0.95) !important;
    background: #f8fafc !important;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.68);
}

.header-search-group:focus-within {
    border-color: rgb(var(--primary) / 0.45) !important;
    background: #ffffff !important;
    box-shadow: 0 10px 22px rgba(31, 31, 57, 0.075);
}

.header-search-submit {
    display: inline-flex;
    width: 26px;
    height: 26px;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    border: 0 !important;
    border-radius: 999px;
    background: transparent !important;
    color: #6e7191;
}

.header-search-field {
    min-width: 0;
    border: 0 !important;
    outline: 0 !important;
    background: transparent !important;
}

.webcart {
    min-width: 104px;
    border: 0 !important;
    background: #1f1f39 !important;
    box-shadow: 0 10px 22px rgba(31, 31, 57, 0.16);
}

.webcart:hover {
    background: #111124 !important;
    transform: translateY(-1px);
}

.storefront-account-dropdown {
    z-index: 220 !important;
    width: min(352px, calc(100vw - 32px)) !important;
    max-height: min(760px, calc(100vh - 86px));
    overflow-y: auto;
    border-radius: 22px !important;
    border: 1px solid rgba(226, 232, 240, 0.82);
    box-shadow: 0 24px 60px rgba(31, 31, 57, 0.14) !important;
    transform: scaleY(0) !important;
    transform-origin: top right !important;
    pointer-events: none;
    opacity: 0;
}

.storefront-account-dropdown.active {
    transform: scaleY(1) !important;
    pointer-events: auto;
    opacity: 1;
}

.storefront-account-dropdown .storefront-account-summary {
    gap: 12px !important;
    padding: 10px 12px !important;
    margin-bottom: 8px !important;
}

.storefront-account-dropdown .storefront-account-avatar {
    width: 52px !important;
    height: 52px !important;
}

.storefront-account-avatar {
    border: 1px solid rgba(24, 24, 24, 0.08) !important;
    background: #F6F4EF !important;
    box-shadow: none !important;
}

.storefront-account-avatar::before {
    display: none !important;
}

.storefront-account-avatar-frame {
    display: flex !important;
    align-items: center;
    justify-content: center;
    background: #F7F4EF;
    box-shadow: inset 0 0 0 1px rgba(24, 24, 24, 0.04);
}

.storefront-account-avatar-initial {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #181818;
    font-size: 30px;
    font-weight: 560;
    line-height: 1;
}

.storefront-account-avatar-upload {
    right: -1px;
    bottom: -1px;
    z-index: 2;
    width: 25px;
    height: 25px;
    border-radius: 999px;
    border: 1px solid rgba(24, 24, 24, 0.12);
    background: rgba(255, 255, 255, 0.72);
    color: #181818;
    box-shadow: none;
    backdrop-filter: blur(12px);
    transition: transform 160ms ease, background 160ms ease, border-color 160ms ease;
}

.storefront-account-avatar-upload:hover {
    transform: translateY(-1px);
    border-color: rgba(24, 24, 24, 0.24);
    background: rgba(255, 255, 255, 0.96);
}

.storefront-account-avatar-upload svg {
    width: 14px;
    height: 14px;
}

.storefront-account-dropdown .storefront-account-name {
    margin-bottom: 7px !important;
    font-size: 18px !important;
    line-height: 1.25 !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
}

.storefront-account-dropdown .storefront-account-email {
    margin-bottom: 9px !important;
    font-size: 15px !important;
    line-height: 1.35 !important;
    font-weight: 400 !important;
    color: #747792 !important;
    letter-spacing: 0 !important;
}

.storefront-account-dropdown .storefront-account-balance {
    font-size: 18px !important;
    line-height: 1.25 !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
}

.storefront-account-dropdown .storefront-account-links {
    padding: 0 32px 28px !important;
}

.storefront-account-dropdown .storefront-account-link {
    min-height: 56px !important;
    gap: 22px !important;
    padding: 15px 0 !important;
    border-color: #e8eaf2 !important;
    font-weight: 400 !important;
}

.storefront-account-dropdown .storefront-account-link-icon {
    width: 24px !important;
    height: 24px !important;
    color: #747792 !important;
}

.storefront-account-dropdown .storefront-account-link-label {
    font-size: 18px !important;
    line-height: 1.3 !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
}

.ff-header .dropdown-btn,
.ff-header a.bg-primary,
.ff-header span.bg-primary {
    border: 0 !important;
    box-shadow: 0 12px 24px rgb(var(--primary) / 0.2);
}

.gm-cart-surface {
    width: 100vw !important;
    z-index: 230 !important;
}

.gm-cart-surface > div {
    width: min(100vw, 430px) !important;
    z-index: 231;
    box-shadow: -24px 0 70px rgba(17, 24, 39, 0.22);
}

@media (max-width: 767px) {
    .gm-cart-surface > div.gm-storefront-cart-panel {
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        max-width: none !important;
        box-shadow: none !important;
    }
}

.w-screen { width: 100vw; }

.product-category-card,
.category-card,
.menu-category-card {
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.product-category-card:hover,
.category-card:hover,
.menu-category-card:hover {
    transform: translateY(-2px);
    border-color: rgb(var(--primary) / 0.18) !important;
    box-shadow: 0 18px 34px rgba(31, 31, 57, 0.08) !important;
}

/* Gurmeat storefront refinement layer. */
.gm-storefront-shell {
    min-height: 100vh;
    background:
        radial-gradient(circle at 16% 8%, rgb(var(--primary) / 0.04), transparent 30rem),
        radial-gradient(circle at 88% 28%, rgba(31, 31, 57, 0.045), transparent 26rem),
        linear-gradient(180deg, #ffffff 0%, #ffffff 18rem, #fafafa 100%);
    color: var(--gm-muted);
}

.gm-storefront-content {
    isolation: isolate;
}

.gm-storefront-content section {
    position: relative;
}

.gm-storefront-content .container {
    max-width: 1180px;
}

.ff-header .container {
    max-width: 1180px;
    min-height: 74px;
    gap: 1.25rem;
}

.ff-header img[alt="Логотип Gurmeat"] {
    width: 136px !important;
    height: auto;
    object-fit: contain;
}

.ff-header nav a {
    position: relative;
    padding: 0.45rem 0;
    font-weight: 700 !important;
    color: var(--gm-ink) !important;
    transition: color 180ms ease;
}

.ff-header nav a::after {
    position: absolute;
    left: 50%;
    bottom: 0;
    width: 100%;
    height: 2px;
    border-radius: 999px;
    background: rgb(var(--primary));
    content: "";
    transform: translateX(-50%) scaleX(0);
    transform-origin: center;
    transition: transform var(--gm-duration-standard) var(--gm-ease-standard);
}

.ff-header nav a:hover::after {
    transform: translateX(-50%) scaleX(1);
}

.banner-swiper {
    position: relative;
    z-index: 0 !important;
    overflow: hidden !important;
    border-radius: 24px !important;
    background: #111124;
    box-shadow: 0 24px 55px rgba(31, 31, 57, 0.14);
}

.banner-swiper img {
    display: block;
    width: 100%;
    min-height: 240px;
    max-height: 420px;
    border-radius: 0 !important;
    object-fit: cover;
}

.banner-swiper .swiper-button-prev,
.banner-swiper .swiper-button-next {
    width: 42px;
    height: 42px;
    border: 1px solid rgba(255, 255, 255, 0.72);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.9);
    color: rgb(var(--primary)) !important;
    box-shadow: 0 14px 26px rgba(31, 31, 57, 0.18);
    backdrop-filter: blur(12px);
}

.banner-swiper .swiper-button-prev::after,
.banner-swiper .swiper-button-next::after {
    font-size: 16px;
    font-weight: 800;
}

.banner-swiper .swiper-pagination-bullet {
    width: 7px;
    height: 7px;
    background: rgba(255, 255, 255, 0.76);
    opacity: 1;
}

.banner-swiper .swiper-pagination-bullet-active {
    width: 22px;
    border-radius: 999px;
    background: rgb(var(--primary));
}

.menu-swiper {
    padding: 0.2rem 0.15rem 0.8rem;
}

.menu-slides a {
    min-height: 118px;
    border: 1px solid rgba(226, 232, 240, 0.82) !important;
    border-bottom-width: 1px !important;
    background: rgba(255, 255, 255, 0.9) !important;
    box-shadow: 0 14px 34px rgba(31, 31, 57, 0.06);
    backdrop-filter: blur(10px);
}

.menu-slides a:hover {
    transform: translateY(-3px);
    border-color: rgb(var(--primary) / 0.2) !important;
    background: var(--gm-brand-red-soft) !important;
    box-shadow: 0 20px 42px rgba(31, 31, 57, 0.1);
}

.menu-slides img {
    width: 54px;
    height: 54px !important;
    object-fit: contain;
}

.menu-slides h3 {
    color: var(--gm-ink);
    font-weight: 700;
    line-height: 1.25;
}

.menu-category-active {
    border-color: rgb(var(--primary) / 0.22) !important;
    background: rgb(var(--primary)) !important;
    color: #ffffff !important;
    box-shadow: 0 18px 36px rgb(var(--primary) / 0.2) !important;
}

.menu-slides a.menu-category-active {
    border-color: rgb(var(--primary) / 0.2) !important;
    background:
        radial-gradient(circle at 50% 12%, rgba(255, 255, 255, 0.18), transparent 3.6rem),
        linear-gradient(135deg, rgb(var(--primary)) 0%, var(--gm-brand-red-strong) 100%) !important;
}

.menu-category-active h3 {
    color: #ffffff !important;
}

.menu-category-active img {
    filter: drop-shadow(0 10px 16px rgba(0, 0, 0, 0.22));
}

.gm-storefront-content .menu-swiper[data-has-active="true"] {
    margin-bottom: 2rem !important;
}

.veg-navs button {
    min-height: 42px;
    border: 1px solid rgba(226, 232, 240, 0.88);
    background: rgba(255, 255, 255, 0.94) !important;
    box-shadow: 0 10px 24px rgba(31, 31, 57, 0.055);
}

.veg-navs button.veg-active {
    border-color: rgb(var(--primary) / 0.28);
    background: var(--gm-brand-red-soft) !important;
}

.product-card-grid,
.product-card-list {
    overflow: hidden;
    border: 1px solid rgba(226, 232, 240, 0.86) !important;
    border-radius: 20px !important;
    background: rgba(255, 255, 255, 0.96) !important;
    box-shadow: 0 16px 38px rgba(31, 31, 57, 0.06);
    backdrop-filter: blur(10px);
}

.product-card-grid:hover,
.product-card-list:hover {
    transform: translateY(-4px);
    border-color: rgb(var(--primary) / 0.2) !important;
    box-shadow: 0 24px 54px rgba(31, 31, 57, 0.12) !important;
}

.product-card-grid-image {
    aspect-ratio: 1.1 / 1;
    height: auto !important;
    border-radius: 0;
    background: #f8fafc;
    object-fit: cover;

}

.product-card-list {
    min-height: 136px;
}

.product-card-list-image {
    width: 132px !important;
    min-height: 136px;
    border-radius: 18px 0 0 18px !important;
}

.product-card-grid-content-group,
.product-card-list-content-group {
    padding: 1rem !important;
}

.product-card-grid-title,
.product-card-list-title {
    max-width: 100%;
    color: var(--gm-ink);
    font-size: 0.96rem;
    font-weight: 800;
    letter-spacing: 0;
}

.product-card-grid-describe,
.product-card-list-describe {
    color: var(--gm-muted);
    line-height: 1.45;
}

.product-card-grid-price-current,
.product-card-list-price-current {
    color: rgb(var(--primary));
    font-size: 1.12rem;
    font-weight: 800;
}

.product-card-grid-cart-btn,
.product-card-list-cart-btn {
    min-width: 34px;
    height: 34px !important;
    justify-content: center;
    border: 1px solid rgb(var(--primary) / 0.1);
    border-radius: 999px !important;
    background: var(--gm-brand-red-soft) !important;
    color: rgb(var(--primary)) !important;
    box-shadow: 0 10px 20px rgb(var(--primary) / 0.12) !important;
}

.product-card-grid-cart-btn:hover,
.product-card-list-cart-btn:hover {
    background: rgb(var(--primary)) !important;
    color: #ffffff !important;
    transform: translateY(-1px);
}

.gm-storefront-content section > .container > .grid.grid-cols-1.md\:grid-cols-2 {
    align-items: start;
    padding: 1rem;
    border: 1px solid rgba(226, 232, 240, 0.82);
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 24px 60px rgba(31, 31, 57, 0.085);
}

.gm-storefront-content section > .container > .grid.grid-cols-1.md\:grid-cols-2 > .flex-shrink-0 {
    position: sticky;
    top: 96px;
}

.gm-storefront-content section > .container > .grid.grid-cols-1.md\:grid-cols-2 > .flex-shrink-0 img {
    height: min(46vw, 440px) !important;
    border-radius: 24px !important;
    box-shadow: 0 20px 42px rgba(31, 31, 57, 0.12);
}

.gm-storefront-content section > .container > .grid.grid-cols-1.md\:grid-cols-2 > .flex.flex-col.justify-center {
    min-height: 100%;
    padding: 0.5rem 0.25rem 0.25rem;
}

.gm-storefront-content h1.text-2xl {
    color: var(--gm-ink);
    font-size: clamp(1.6rem, 2vw, 2.25rem) !important;
    line-height: 1.14 !important;
}

.gm-storefront-content h2.text-3xl {
    color: rgb(var(--primary));
    font-size: clamp(2rem, 2.7vw, 2.8rem) !important;
    letter-spacing: 0;
}

.gm-storefront-content textarea,
.gm-storefront-content select {
    border: 1px solid rgba(226, 232, 240, 0.92) !important;
    border-radius: 16px !important;
    background: #ffffff !important;
    box-shadow: inset 0 1px 0 rgba(31, 31, 57, 0.02);
}

.gm-storefront-content textarea:focus,
.gm-storefront-content select:focus {
    border-color: rgb(var(--primary) / 0.42) !important;
    box-shadow: 0 12px 26px rgba(31, 31, 57, 0.07);
}

.gm-storefront-content label:has(input[type="checkbox"]),
.gm-storefront-content label:has(input[type="radio"]) {
    transition: border-color 180ms ease, box-shadow 180ms ease, background 180ms ease;
}

.gm-storefront-content label:has(input[type="checkbox"]:checked),
.gm-storefront-content label:has(input[type="radio"]:checked) {
    border-color: rgb(var(--primary) / 0.32) !important;
    background: var(--gm-brand-red-soft) !important;
    box-shadow: 0 12px 26px rgb(var(--primary) / 0.08);
}

.indec-group {
    min-height: 36px;
    gap: 0.45rem !important;
    border: 1px solid rgba(226, 232, 240, 0.9);
    border-radius: 999px !important;
    background: #ffffff !important;
    box-shadow: 0 10px 24px rgba(31, 31, 57, 0.055);
}

.indec-minus,
.indec-plus {
    display: inline-flex !important;
    width: 28px !important;
    height: 28px !important;
    align-items: center !important;
    justify-content: center !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: rgb(var(--primary)) !important;
    color: #ffffff !important;
    line-height: 1 !important;
    box-shadow: 0 8px 16px rgb(var(--primary) / 0.16);
}

.indec-value {
    width: 36px !important;
    min-width: 36px;
    height: 28px !important;
    border: 0 !important;
    border-radius: 999px;
    color: var(--gm-ink) !important;
    font-size: 0.95rem !important;
    font-weight: 800 !important;
    line-height: 28px !important;
    text-align: center;
}

.gm-storefront-content button.bg-primary {
    border: 0;
    background: linear-gradient(135deg, rgb(var(--primary)) 0%, var(--gm-brand-red-strong) 100%) !important;
    color: #ffffff !important;
    box-shadow: 0 16px 32px rgb(var(--primary) / 0.22) !important;
}

.gm-storefront-content button.bg-primary:hover {
    transform: translateY(-1px);
    box-shadow: 0 20px 42px rgb(var(--primary) / 0.28) !important;
}

.footer-part {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 12% 0%, rgb(var(--primary) / 0.25), transparent 25rem),
        linear-gradient(135deg, #181824 0%, #050506 100%) !important;
}

.footer-part::before {
    content: none;
}

.footer-part > * {
    position: relative;
}

.footer-part {
    padding-top: 2rem !important;
    padding-bottom: 0 !important;
}

.footer-part .container,
.storefront-footer-container {
    max-width: 1180px;
}

.storefront-footer-grid {
    display: grid;
    grid-template-columns: minmax(180px, 0.62fr) minmax(310px, 1fr) minmax(260px, 0.82fr);
    align-items: start;
    gap: clamp(1.25rem, 3vw, 3.25rem);
}

.storefront-footer-brand,
.storefront-footer-newsletter,
.storefront-footer-contact {
    min-width: 0;
}

.footer-part img[alt="Логотип Gurmeat"] {
    width: 148px !important;
    max-width: 100%;
    padding: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.footer-part h3 {
    color: #ffffff !important;
    margin-bottom: 0.85rem !important;
    font-size: 1rem !important;
    font-weight: 720 !important;
    line-height: 1.25 !important;
}

.footer-part p,
.footer-part a,
.footer-part li,
.footer-part span {
    color: rgba(255, 255, 255, 0.86) !important;
}

.footer-part a:hover {
    color: #ffffff !important;
}

.storefront-footer-newsletter p {
    max-width: 420px;
    margin-bottom: 0.7rem !important;
    color: rgba(255, 255, 255, 0.72) !important;
    font-size: 0.86rem !important;
    line-height: 1.45 !important;
}

.footer-part form {
    height: 46px !important;
    max-width: 420px !important;
    margin-bottom: 0 !important;
    padding: 0.28rem !important;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.98) !important;
    box-shadow: 0 14px 28px rgba(0, 0, 0, 0.18);
}

.footer-part form input {
    min-width: 0;
    border: 0 !important;
    color: var(--gm-ink) !important;
    outline: 0 !important;
}

.footer-part form input::placeholder {
    color: #8a8da8 !important;
}

.footer-part input,
.footer-part button {
    border: 0 !important;
    border-radius: 999px !important;
}

.footer-part button.bg-primary {
    min-height: 38px;
    padding-left: 0.95rem !important;
    padding-right: 0.95rem !important;
    background: linear-gradient(135deg, rgb(var(--primary)) 0%, var(--gm-brand-red-strong) 100%) !important;
    color: #ffffff !important;
    box-shadow: 0 10px 18px rgb(var(--primary) / 0.2);
}

.storefront-footer-contact ul {
    gap: 0.8rem !important;
}

.storefront-footer-contact span {
    font-size: 1rem !important;
    line-height: 1.3 !important;
}

.footer-part ul li {
    align-items: center;
}

.footer-part ul li .gm-ui-icon {
    width: 30px;
    height: 30px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    line-height: 30px !important;
    text-align: center;
}

.storefront-footer-bottom {
    margin-top: 1.45rem;
    padding: 1rem 1rem 1.05rem;
    border-top: 1px solid rgba(185, 28, 28, 0.72);
}

.storefront-footer-bottom p {
    font-size: 0.84rem !important;
    line-height: 1.4 !important;
}

@media (max-width: 767px) {
    .footer-part {
        padding-top: 1.55rem !important;
        padding-bottom: 5.25rem !important;
    }

    .storefront-footer-grid {
        grid-template-columns: 1fr;
        gap: 1.35rem;
    }

    .footer-part img[alt="Логотип Gurmeat"] {
        width: 132px !important;
    }

    .footer-part form {
        max-width: 100% !important;
    }

    .storefront-footer-bottom {
        margin-top: 1.15rem;
        padding-top: 0.85rem;
        padding-bottom: 0.9rem;
    }
}

@media (max-width: 767px) {
    .ff-header .container {
        min-height: auto;
        padding-top: 0.65rem;
        padding-bottom: 0.8rem;
    }

    .gm-storefront-content {
        padding-top: 0.25rem;
    }

    .banner-swiper {
        border-radius: 18px !important;
    }

    .banner-swiper img {
        min-height: 190px;
    }

    .product-card-grid,
    .product-card-list {
        border-radius: 18px !important;
    }

    .product-card-list {
        align-items: stretch;
    }

    .product-card-list-image {
        width: 112px !important;
        min-height: 132px;
    }

    .gm-storefront-content section > .container > .grid.grid-cols-1.md\:grid-cols-2 {
        padding: 0.75rem;
        border-radius: 22px;
    }

    .gm-storefront-content section > .container > .grid.grid-cols-1.md\:grid-cols-2 > .flex-shrink-0 {
        position: static;
    }

    .gm-storefront-content section > .container > .grid.grid-cols-1.md\:grid-cols-2 > .flex-shrink-0 img {
        height: 260px !important;
        border-radius: 20px !important;
    }
}

/* Gurmeat admin refinement layer. */

.drawer-dialog,
.modal-dialog {
    border-radius: 20px !important;
    border: 1px solid rgba(226, 232, 240, 0.82);
    box-shadow: 0 28px 70px rgba(31, 31, 57, 0.18) !important;
}

/* Gurmeat final restoration layer: replaces missing framework preflight safely. */
*, ::before, ::after {
    border-color: #e5e7eb;
    border-style: solid;
    border-width: 0;
}

button,
input,
select,
textarea {
    outline: 0;
}

input,
select,
textarea {
    min-width: 0;
    border-color: rgba(217, 219, 233, 0.96);
    background: #ffffff;
    color: var(--gm-ink);
}

input:focus,
select:focus,
textarea:focus,
.chat-footer-data:focus-within,
.header-search-group:focus-within {
    border-color: rgb(var(--primary) / 0.42) !important;
    box-shadow: 0 12px 28px rgba(31, 31, 57, 0.075) !important;
}

input.invalid,
select.invalid,
textarea.invalid,
.invalid {
    border-color: #dc2626 !important;
}

.chat-footer {
    align-items: center !important;
    gap: 0.75rem !important;
    padding: 0.85rem 1rem !important;
    border-radius: 20px !important;
    background: rgba(255, 255, 255, 0.98) !important;
    box-shadow: 0 18px 48px rgba(31, 31, 57, 0.08) !important;
}

.chat-footer-file-label,
.chat-footer-sent {
    display: inline-flex !important;
    width: 44px !important;
    height: 44px !important;
    flex: 0 0 44px !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 14px !important;
}

.chat-footer-file-label {
    background: var(--gm-brand-red-soft) !important;
    color: rgb(var(--primary)) !important;
}

.chat-footer-data {
    min-height: 46px !important;
    border: 1px solid rgba(226, 232, 240, 0.92) !important;
    border-radius: 999px !important;
    background: #f8fafc !important;
}

.chat-footer-data-input {
    height: 44px !important;
    padding: 0 1rem !important;
    border: 0 !important;
    background: transparent !important;
    color: var(--gm-ink) !important;
}

.chat-footer-sent {
    background: #1f1f39 !important;
    color: #ffffff !important;
    box-shadow: 0 12px 24px rgba(31, 31, 57, 0.18) !important;
}

.modal,
.ff-modal {
    z-index: 230 !important;
}

.modal.active,
.ff-modal.active {
    display: block !important;
}

.modal-dialog {
    max-height: calc(100dvh - 3rem) !important;
    overflow: hidden !important;
}

.modal-body {
    max-height: calc(100dvh - 9rem);
    overflow-y: auto;
}

.address-modal .modal-dialog,
.address.ff-modal .modal-dialog {
    width: min(92vw, 640px) !important;
    max-width: min(92vw, 640px) !important;
    border-radius: 22px !important;
}

.address-modal .modal-header,
.address.ff-modal .modal-header {
    align-items: center !important;
    padding: 1rem 1.2rem 0.25rem !important;
}

.address-modal .modal-body,
.address.ff-modal .modal-body {
    padding: 1rem 1.2rem 1.2rem !important;
}

body.gm-address-picker-open .ff-header,
body.gm-address-picker-open .gm-mobile-tabbar,
body.gm-address-picker-open .footer-part {
    display: none !important;
}

.gm-address-modern-modal.active {
    position: fixed !important;
    inset: 0 !important;
    top: 0 !important;
    left: 0 !important;
    z-index: 1200 !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100vw !important;
    height: 100dvh !important;
    padding: 1rem;
    transform: none !important;
    overflow: hidden !important;
    background: rgba(12, 12, 18, 0.62);
    backdrop-filter: blur(3px);
    isolation: isolate;
}

.gm-address-modern-modal .modal-dialog {
    width: min(1120px, calc(100vw - 2rem)) !important;
    max-width: min(1120px, calc(100vw - 2rem)) !important;
    height: min(830px, calc(100dvh - 2rem)) !important;
    max-height: min(830px, calc(100dvh - 2rem)) !important;
    margin: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 30px !important;
    background: #ffffff;
    box-shadow: 0 34px 110px rgba(10, 10, 16, 0.38);
}

.gm-address-modern-modal .gm-address-back-button {
    position: absolute;
    bottom: 2rem;
    left: 2rem;
    z-index: 12;
    pointer-events: auto;
    display: inline-flex !important;
    width: 44px !important;
    height: 44px !important;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.94) !important;
    color: #23243d !important;
    box-shadow: 0 14px 34px rgba(31, 31, 57, 0.16);
}

.gm-address-modern-modal .modal-header.gm-address-modal-header .modal-close {
    display: none !important;
}

.gm-address-modern-modal .modal-body {
    height: 100% !important;
    max-height: none !important;
    overflow: hidden !important;
    padding: 0 !important;
}

.gm-address-flow {
    display: grid;
    grid-template-columns: minmax(0, 1.12fr) minmax(370px, 0.88fr);
    height: 100%;
    min-height: 0;
    background: #ffffff;
}

.gm-address-map-stage {
    position: relative;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
    background: #eaf3f8;
}

.gm-address-map-stage::after {
    position: absolute;
    inset: 0;
    z-index: 2;
    content: "";
    pointer-events: none;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.28), transparent 25%),
        radial-gradient(circle at 50% 48%, transparent 0 82px, rgba(31, 31, 57, 0.09) 83px 84px, transparent 85px);
}

.gm-address-mode-tabs {
    position: absolute;
    top: 1.55rem;
    left: 50%;
    z-index: 8;
    display: grid;
    width: min(500px, calc(100% - 5rem));
    grid-template-columns: 1fr 1fr;
    gap: 0.18rem;
    transform: translateX(-50%);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.96);
    padding: 0.28rem;
    box-shadow: 0 16px 38px rgba(31, 31, 57, 0.12);
}

.gm-address-mode-tabs button {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    border-radius: 999px;
    color: var(--gm-app-muted, #6d6861);
    font-size: 0.9rem;
    font-weight: 520;
    line-height: 1;
    transition: background 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}

.gm-address-mode-tabs button.active {
    background: #b91c1c;
    color: #ffffff;
    box-shadow: 0 12px 28px rgba(185, 28, 28, 0.26);
}

.gm-address-mode-tabs button[aria-disabled="true"] {
    cursor: default;
}

.gm-address-map-picker {
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 420px;
    overflow: hidden;
    background: #eef6fb;
}

.gm-address-modern-modal .gm-address-searchbar {
    position: absolute;
    top: 5.65rem;
    left: 2.25rem;
    right: 2.25rem;
    z-index: 9;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.65rem;
    min-height: 52px;
    border: 1px solid rgba(226, 232, 240, 0.72);
    border-radius: 17px;
    background: rgba(255, 255, 255, 0.9);
    padding: 0.45rem 0.55rem 0.45rem 0.78rem;
    box-shadow: 0 14px 34px rgba(31, 31, 57, 0.08);
    backdrop-filter: blur(10px);
}

.gm-address-modern-modal .gm-address-searchbar > .gm-ui-icon {
    color: #747895;
    font-size: 1.34rem;
}

.gm-address-search-field {
    display: grid !important;
    min-width: 0;
    width: 100%;
    gap: 0.1rem;
}

.gm-address-search-field span {
    color: #9da3b6;
    font-size: 0.72rem;
    font-weight: 460;
    line-height: 1.1;
}

.gm-address-modern-modal .gm-address-search-input.gm-address-search-input {
    width: 100% !important;
    height: 24px !important;
    min-height: 24px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    padding: 0 !important;
    color: #23243d !important;
    font-size: 0.9rem !important;
    font-weight: 400 !important;
    line-height: 1.25 !important;
    box-shadow: none !important;
}

.gm-address-modern-modal .gm-address-search-input::placeholder {
    color: var(--gm-app-muted, #6d6861);
    font-size: 0.9rem;
}

.gm-address-modern-modal .gm-map-search-button {
    min-width: 62px !important;
    height: 36px !important;
    border-radius: 13px !important;
    background: #b91c1c !important;
    color: #ffffff !important;
    font-size: 0.78rem !important;
    font-weight: 560 !important;
    box-shadow: 0 10px 22px rgba(185, 28, 28, 0.18) !important;
}

.gm-address-location-button {
    position: absolute;
    inset-inline-end: 2rem;
    bottom: 2rem;
    z-index: 9;
    display: inline-flex;
    width: 60px;
    height: 60px;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #b91c1c !important;
    color: #ffffff;
    box-shadow: 0 18px 42px rgba(185, 28, 28, 0.34);
    transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

.gm-address-location-button:hover {
    transform: translateY(-1px);
    background: #991b1b !important;
    box-shadow: 0 22px 50px rgba(185, 28, 28, 0.4);
}

.gm-address-location-button .gm-ui-icon {
    color: #ffffff !important;
    font-size: 1.35rem;
}

.gm-address-modern-modal .gm-address-map-canvas.gm-address-map-canvas {
    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
    margin: 0 !important;
    border-radius: 0 !important;
    background: #eef6fb !important;
}

.gm-address-modern-modal .gm-address-map-canvas.gm-address-map-canvas .mapboxgl-map,
.gm-address-modern-modal .gm-address-map-canvas.gm-address-map-canvas .mapboxgl-canvas-container,
.gm-address-modern-modal .gm-address-map-canvas.gm-address-map-canvas .mapboxgl-canvas,
.gm-address-modern-modal .gm-address-map-canvas.gm-address-map-canvas .gm-osm-map-card,
.gm-address-modern-modal .gm-address-map-canvas.gm-address-map-canvas .gm-osm-tile-layer {
    min-height: 100% !important;
    border-radius: 0 !important;
}

.gm-address-modern-modal .gm-address-map-canvas .mapboxgl-ctrl-bottom-right {
    right: 1.35rem !important;
    bottom: 6.4rem !important;
}

.gm-address-modern-modal .gm-map-search-results {
    position: absolute;
    top: 11.1rem;
    left: 3rem;
    right: 3rem;
    z-index: 10;
    max-height: 180px;
    margin: 0;
    border: 1px solid rgba(226, 232, 240, 0.9);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.97);
    padding: 0.45rem;
    box-shadow: 0 20px 54px rgba(31, 31, 57, 0.14);
}

.gm-address-modern-modal .gm-map-message {
    position: absolute;
    top: 11.1rem;
    left: 3rem;
    right: 3rem;
    z-index: 10;
    margin: 0;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.95);
    padding: 0.65rem 0.9rem;
    box-shadow: 0 14px 32px rgba(31, 31, 57, 0.12);
}

.gm-address-sheet {
    min-width: 0;
    overflow-y: auto;
    background: #ffffff;
    padding: 2.4rem 2.25rem 2.2rem;
}

.gm-address-sheet-handle {
    display: none;
}

.gm-address-sheet-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.gm-address-sheet-head h3 {
    color: #1f1f39;
    font-size: clamp(1.28rem, 1.55vw, 1.65rem);
    font-weight: 560;
    letter-spacing: 0;
    line-height: 1.16;
}

.gm-address-sheet-head p {
    max-width: 360px;
    margin-top: 0.45rem;
    color: var(--gm-app-muted, #6d6861);
    font-size: 0.9rem;
    line-height: 1.45;
}

.gm-address-provider-badge {
    display: none;
}

.gm-address-selected-card {
    display: block;
    margin-bottom: 0.82rem;
    border: 1px solid rgba(217, 219, 233, 0.9);
    border-radius: 16px;
    background: #ffffff;
    padding: 0.72rem 0.92rem;
}

.gm-address-selected-card .gm-ui-icon {
    display: none;
}

.gm-address-selected-card label {
    display: block;
    color: #a0a3bd;
    font-size: 0.74rem;
    font-weight: 400;
    line-height: 1.2;
}

.gm-address-modern-modal .gm-address-line-input {
    display: block;
    width: 100% !important;
    min-height: 38px !important;
    margin-top: 0.25rem;
    border: 0 !important;
    border-radius: 14px !important;
    background: transparent !important;
    padding: 0.12rem 0 !important;
    color: #23243d;
    font-size: 1rem !important;
    font-weight: 400 !important;
    line-height: 1.42 !important;
    resize: none;
    outline: none !important;
    box-shadow: none !important;
}

.gm-address-modern-modal .gm-address-line-input::placeholder {
    color: var(--gm-app-muted, #6d6861);
}

.gm-address-modern-modal .gm-address-line-input:focus {
    color: #1f1f39;
}

.gm-address-field {
    margin-bottom: 0.82rem;
}

.gm-address-field label,
.gm-address-label-block h3 {
    display: block;
    margin-bottom: 0.38rem;
    color: #6f728a;
    font-size: 0.76rem;
    font-weight: 430;
    line-height: 1.2;
}

.gm-address-modern-modal .gm-address-field label {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
}

.gm-address-modern-modal .gm-address-field textarea,
.gm-address-modern-modal .gm-address-custom-label input {
    width: 100% !important;
    min-height: 54px !important;
    border: 1px solid rgba(217, 219, 233, 0.9) !important;
    border-radius: 16px !important;
    background: #ffffff !important;
    padding: 0.86rem 0.92rem !important;
    color: #23243d !important;
    font-size: 0.96rem !important;
    font-weight: 400 !important;
    line-height: 1.35 !important;
    box-shadow: inset 0 1px 0 rgba(31, 31, 57, 0.02) !important;
}

.gm-address-modern-modal .gm-address-field textarea {
    resize: vertical;
}

.gm-address-label-block {
    margin-bottom: 1rem;
}

.gm-address-labels {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.65rem;
}

.gm-address-labels button,
.gm-address-labels .gm-address-label-option {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    gap: 0.48rem;
    border: 1px solid rgba(226, 232, 240, 0.92);
    border-radius: 999px;
    background: #ffffff;
    color: var(--gm-app-muted, #6d6861);
    font-size: 0.82rem;
    font-weight: 430;
    line-height: 1;
    cursor: pointer;
    transition: border-color 0.18s ease, background 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}

.gm-address-labels .gm-address-label-option:focus-within {
    outline: 3px solid rgba(160, 42, 36, 0.32);
    outline-offset: 2px;
}

.gm-address-labels button.active,
.gm-address-labels button:hover,
.gm-address-labels .gm-address-label-option.active,
.gm-address-labels .gm-address-label-option:hover {
    border-color: rgba(185, 28, 28, 0.36) !important;
    background: rgba(185, 28, 28, 0.08) !important;
    color: #b91c1c;
    box-shadow: 0 12px 28px rgba(185, 28, 28, 0.1);
}

.gm-address-custom-label {
    display: grid;
    grid-template-rows: 0fr;
    overflow: hidden;
    transition: grid-template-rows var(--gm-duration-standard) var(--gm-ease-standard);
}

.gm-address-custom-label > * {
    min-height: 0;
}

.gm-address-custom-label.active {
    grid-template-rows: 1fr;
    margin-top: 0.8rem;
}

.gm-address-submit {
    display: inline-flex;
    width: 100%;
    min-height: 54px;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #b91c1c;
    color: #ffffff;
    font-size: 0.96rem;
    font-weight: 560;
    line-height: 1;
    box-shadow: 0 18px 42px rgba(185, 28, 28, 0.24);
    transition: background 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease, opacity 0.18s ease;
}

.gm-address-submit:hover {
    transform: translateY(-1px);
    background: #991b1b;
    box-shadow: 0 22px 50px rgba(185, 28, 28, 0.32);
}

.gm-address-submit:disabled {
    cursor: not-allowed;
    background: #e7e7ef;
    color: #ffffff;
    opacity: 1;
    transform: none;
    box-shadow: none;
}

@media (max-width: 767px) {
    .gm-address-modern-modal.active {
        /*align-items: stretch;*/
        /*justify-content: stretch;*/
        padding: 0;
    }

    .gm-address-modern-modal .modal-dialog {
        width: 100vw !important;
        max-width: 100vw !important;
        height: 100dvh !important;
        max-height: 100dvh !important;
        border-radius: 0 !important;
    }

    .gm-address-modern-modal .gm-address-back-button {
        bottom: calc(4.2rem + 7px);
        left: 1.2rem;
        width: 42px !important;
        height: 42px !important;
    }

    .gm-address-modern-modal .modal-body {
        overflow-y: auto !important;
        background: #ffffff;
    }

    .gm-address-flow {
        display: flex;
        min-height: 100%;
        flex-direction: column;
    }

    .gm-address-map-stage {
        flex: 0 0 60dvh;
        min-height: 460px;
    }

    .gm-address-mode-tabs {
        top: 1rem;
        width: calc(100% - 5.5rem);
        min-width: 0;
    }

    .gm-address-mode-tabs button {
        min-height: 42px;
        font-size: 0.88rem;
    }

    .gm-address-modern-modal .gm-address-searchbar {
        top: 4.85rem;
        left: 1rem;
        right: 1rem;
        gap: 0.65rem;
        min-height: 58px;
        border-radius: 19px;
        padding: 0.52rem 0.62rem 0.52rem 0.82rem;
    }

    .gm-address-modern-modal .gm-address-searchbar > .gm-ui-icon {
        font-size: 1.35rem;
    }

    .gm-address-modern-modal .gm-address-search-input.gm-address-search-input,
    .gm-address-modern-modal .gm-address-search-input::placeholder {
        font-size: 0.94rem !important;
    }

    .gm-address-modern-modal .gm-map-search-button {
        min-width: 58px !important;
        height: 38px !important;
        padding: 0 0.7rem !important;
        font-size: 0.8rem !important;
    }

    .gm-address-location-button {
        inset-inline-end: 1.2rem;
        bottom: 4.2rem;
        width: 56px;
        height: 56px;
    }

    .gm-address-modern-modal .gm-address-map-canvas .mapboxgl-ctrl-bottom-right {
        bottom: 8rem !important;
    }

    .gm-address-modern-modal .gm-map-search-results,
    .gm-address-modern-modal .gm-map-message {
        top: 9.2rem;
        left: 1.5rem;
        right: 1.5rem;
    }

    .gm-address-sheet {
        position: relative;
        z-index: 7;
        flex: 1 0 auto;
        margin-top: -2rem;
        overflow: visible;
        border-left: 0;
        border-radius: 30px 30px 0 0;
        padding: 0.85rem 1.1rem 1.25rem;
        box-shadow: 0 -22px 60px rgba(31, 31, 57, 0.14);
    }

    .gm-address-sheet-handle {
        display: block;
        width: 52px;
        height: 5px;
        margin: 0 auto 1rem;
        border-radius: 999px;
        background: #d9dbe9;
    }

    .gm-address-sheet-head {
        align-items: flex-start;
        margin-bottom: 1rem;
    }

    .gm-address-sheet-head h3 {
        font-size: 1.34rem;
    }

    .gm-address-sheet-head p {
        font-size: 0.82rem;
    }

    .gm-address-provider-badge {
        display: none;
    }

    .gm-address-selected-card {
        padding: 0.85rem;
    }

    .gm-address-modern-modal .gm-address-line-input {
        min-height: 58px !important;
        font-size: 0.92rem !important;
    }

    .gm-address-labels {
        gap: 0.5rem;
    }

    .gm-address-labels button,
    .gm-address-labels .gm-address-label-option {
        min-height: 50px;
        border-radius: 16px;
        font-size: 0.84rem;
    }

    .gm-address-submit {
        min-height: 54px;
        font-size: 0.96rem;
    }
}

.gm-address-modern-modal.active {
    background: rgba(18, 18, 18, 0.54) !important;
    backdrop-filter: blur(6px);
}

.gm-address-modern-modal .modal-dialog {
    width: min(1060px, calc(100vw - 2rem)) !important;
    max-width: min(1060px, calc(100vw - 2rem)) !important;
    height: min(720px, calc(100dvh - 2rem)) !important;
    max-height: min(720px, calc(100dvh - 2rem)) !important;
    border-radius: 24px !important;
    box-shadow: 0 28px 80px rgba(18, 18, 18, 0.28);
}

.gm-address-flow {
    grid-template-columns: minmax(0, 1fr) minmax(360px, 420px);
}

.gm-address-map-stage {
    background: #f4f3ef;
}

.gm-address-map-stage::after {
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.08), transparent 42%) !important;
}

.gm-address-mode-tabs,
.gm-address-provider-badge,
.gm-address-modern-modal .gm-address-back-button {
    display: none !important;
}

.gm-address-map-control {
    position: absolute;
    bottom: 1.25rem;
    z-index: 12;
    display: inline-flex;
    width: 44px;
    height: 44px;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(24, 24, 24, 0.18);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.58);
    color: #181818;
    box-shadow: 0 10px 28px rgba(18, 18, 18, 0.12);
    backdrop-filter: blur(14px) saturate(1.35);
    transition: background 0.16s ease, transform 0.16s ease, box-shadow 0.16s ease;
}

.gm-address-map-control:hover {
    background: rgba(255, 255, 255, 0.76);
    transform: translateY(-1px);
    box-shadow: 0 14px 30px rgba(18, 18, 18, 0.14);
}

.gm-address-map-control .gm-ui-icon {
    display: inline-block;
    color: currentColor !important;
    line-height: 1;
}

.gm-address-map-back {
    inset-inline-start: 1.25rem;
}

[dir="rtl"] .gm-address-map-back .gm-ui-icon {
    transform: scaleX(-1);
}

.gm-address-modern-modal .gm-address-searchbar {
    top: 1.25rem;
    left: 1.25rem;
    right: 1.25rem;
    min-height: 54px;
    border: 1px solid rgba(24, 24, 24, 0.1);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 10px 26px rgba(18, 18, 18, 0.08);
}

.gm-address-search-field span {
    color: #75716a;
    font-size: 0.72rem;
    font-weight: 500;
}

.gm-address-modern-modal .gm-address-search-input.gm-address-search-input {
    color: #181818 !important;
    font-size: 0.95rem !important;
}

.gm-address-modern-modal .gm-address-search-input::placeholder {
    color: var(--gm-app-muted, #6d6861);
    font-size: 0.95rem;
}

.gm-address-modern-modal .gm-map-search-button {
    min-width: 58px !important;
    height: 38px !important;
    border-radius: 11px !important;
    background: #181818 !important;
    box-shadow: none !important;
}

.gm-address-location-button {
    inset-inline-end: 1.25rem;
    bottom: 1.25rem;
    width: 48px;
    height: 48px;
    border: 1px solid rgba(24, 24, 24, 0.18);
    background: rgba(255, 255, 255, 0.58) !important;
    color: #181818;
    box-shadow: 0 10px 28px rgba(18, 18, 18, 0.12);
    backdrop-filter: blur(14px) saturate(1.35);
}

.gm-address-location-button:hover {
    background: rgba(255, 255, 255, 0.76) !important;
    box-shadow: 0 14px 30px rgba(18, 18, 18, 0.16);
}

.gm-address-location-button .gm-ui-icon {
    color: #181818 !important;
    font-size: 1.14rem;
}

.gm-address-modern-modal .gm-address-map-canvas.gm-address-map-canvas,
.gm-address-modern-modal .gm-address-map-picker {
    background: #f4f3ef !important;
}

.gm-address-modern-modal .gm-address-map-canvas.gm-address-map-canvas .gm-osm-map-card {
    position: relative !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
    overflow: hidden !important;
    background: #ece9e2 !important;
    cursor: crosshair;
}

.gm-address-modern-modal .gm-address-map-canvas.gm-address-map-canvas .gm-osm-tile-layer {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
    overflow: hidden !important;
}

.gm-address-modern-modal .gm-address-map-canvas.gm-address-map-canvas .gm-osm-tile {
    position: absolute !important;
    width: 256px !important;
    max-width: none !important;
    height: 256px !important;
    user-select: none;
}

.gm-address-modern-modal .gm-address-map-canvas.gm-address-map-canvas .gm-osm-map-pin {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 3;
    display: inline-flex;
    width: 40px;
    height: 40px;
    align-items: center;
    justify-content: center;
    transform: translate(-50%, -100%);
    color: #181818;
    filter: drop-shadow(0 8px 18px rgba(18, 18, 18, 0.18));
}

.gm-address-modern-modal .gm-address-map-canvas.gm-address-map-canvas .gm-osm-map-pin .gm-ui-icon {
    color: currentColor;
    font-size: 1.72rem;
}

.gm-address-modern-modal .gm-address-map-canvas.gm-address-map-canvas .gm-osm-map-pin.is-preview {
    opacity: 0.84;
}

.gm-address-modern-modal .gm-address-map-canvas.gm-address-map-canvas .gm-osm-map-card > a {
    position: absolute;
    right: 0.75rem;
    bottom: 0.7rem;
    z-index: 4;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.82);
    padding: 0.2rem 0.45rem;
    color: #6f6b63;
    font-size: 0.66rem;
    font-weight: 600;
}

.gm-address-modern-modal .gm-address-map-canvas.gm-address-map-canvas .gm-osm-map-card,
.gm-address-modern-modal .gm-address-map-canvas.gm-address-map-canvas .gm-osm-tile-layer {
    filter: saturate(0.72) contrast(0.98);
}

.gm-address-modern-modal .gm-map-search-results,
.gm-address-modern-modal .gm-map-message {
    top: 5.65rem;
    left: 1.25rem;
    right: 1.25rem;
    border-radius: 14px;
    box-shadow: 0 16px 38px rgba(18, 18, 18, 0.12);
}

.gm-address-sheet {
    display: flex;
    flex-direction: column;
    border-left: 1px solid rgba(226, 222, 214, 0.78);
    padding: 2rem;
}

.gm-address-sheet-head {
    align-items: center;
    margin-bottom: 1rem;
}

.gm-address-sheet-head h3 {
    color: #181818;
    font-size: 1.32rem;
    font-weight: 620;
    line-height: 1.18;
}

.gm-address-sheet-close {
    display: inline-flex;
    width: 38px;
    height: 38px;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #f4f3ef;
    color: #181818;
    transition: background 0.16s ease, transform 0.16s ease;
}

.gm-address-sheet-close:hover {
    background: #ece8df;
    transform: translateY(-1px);
}

.gm-address-selected-card {
    margin-bottom: 0.7rem;
    border-color: #e7e2d9;
    border-radius: 12px;
    padding: 0.75rem 0.85rem;
}

.gm-address-selected-card label,
.gm-address-field label,
.gm-address-label-block h3 {
    color: #6f6b63;
    font-size: 0.75rem;
    font-weight: 500;
}

.gm-address-modern-modal .gm-address-line-input {
    min-height: 44px !important;
    color: #181818 !important;
    font-size: 0.95rem !important;
}

.gm-address-modern-modal .gm-address-field input,
.gm-address-modern-modal .gm-address-field textarea,
.gm-address-modern-modal .gm-address-custom-label input {
    min-height: 48px !important;
    border-color: #e7e2d9 !important;
    border-radius: 12px !important;
    background: #ffffff !important;
    padding: 0.78rem 0.85rem !important;
    color: #181818 !important;
    font-size: 0.94rem !important;
    box-shadow: none !important;
}

.gm-address-modern-modal .gm-address-field input:focus,
.gm-address-modern-modal .gm-address-field textarea:focus,
.gm-address-modern-modal .gm-address-custom-label input:focus,
.gm-address-modern-modal .gm-address-line-input:focus {
    border-color: rgba(24, 24, 24, 0.42) !important;
    outline: none !important;
}

.gm-address-modern-modal .gm-address-field textarea {
    resize: none;
}

.gm-address-label-block {
    margin-bottom: 0.85rem;
}

.gm-address-custom-label:not(.active) {
    margin-top: 0;
}

.gm-address-custom-label:not(.active) input,
.gm-address-custom-label:not(.active) small {
    height: 0 !important;
    min-height: 0 !important;
    border-width: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    opacity: 0;
    pointer-events: none;
}

.gm-address-labels {
    gap: 0.45rem;
}

.gm-address-labels button,
.gm-address-labels .gm-address-label-option {
    min-height: 42px;
    border-color: #e7e2d9;
    border-radius: 12px;
    background: #faf9f7;
    color: #5f5b53;
    font-size: 0.82rem;
    font-weight: 500;
    box-shadow: none !important;
}

.gm-address-labels button.active,
.gm-address-labels button:hover,
.gm-address-labels .gm-address-label-option.active,
.gm-address-labels .gm-address-label-option:hover {
    border-color: #181818 !important;
    background: #181818 !important;
    color: #ffffff !important;
    box-shadow: none !important;
}

.gm-address-submit {
    min-height: 52px;
    border-radius: 12px;
    background: #181818;
    font-size: 0.95rem;
    font-weight: 620;
    box-shadow: none;
}

.gm-address-submit:hover {
    background: #000000;
    box-shadow: none;
}

.gm-address-submit:disabled {
    background: #e7e4dd;
    color: #a6a098;
}

@media (max-width: 767px) {
    .gm-address-modern-modal .modal-dialog {
        width: 100vw !important;
        max-width: 100vw !important;
        height: 100dvh !important;
        max-height: 100dvh !important;
        border-radius: 0 !important;
    }

    .gm-address-flow {
        min-height: 100dvh;
    }

    .gm-address-map-stage {
        flex: 0 0 min(42dvh, 340px);
        min-height: 300px;
        max-height: 360px;
    }

    .gm-address-map-stage::after {
        background: linear-gradient(180deg, rgba(255, 255, 255, 0.1), transparent 52%) !important;
    }

    .gm-address-modern-modal .gm-address-searchbar {
        top: max(2rem, env(safe-area-inset-top));
        left: 0.85rem;
        right: 0.85rem;
        min-height: 52px;
        border-radius: 14px;
        padding: 0.46rem 0.5rem 0.46rem 0.72rem;
    }

    .gm-address-map-control {
        top: auto;
        bottom: 6rem;
        width: 46px;
        height: 46px;
    }

    .gm-address-map-back {
        inset-inline-start: 1rem;
        bottom: 6rem;
    }

    .gm-address-search-field span {
        display: none;
    }

    .gm-address-modern-modal .gm-address-search-input.gm-address-search-input,
    .gm-address-modern-modal .gm-address-search-input::placeholder {
        font-size: 0.93rem !important;
    }

    .gm-address-modern-modal .gm-map-search-button {
        min-width: 56px !important;
        height: 38px !important;
    }

    .gm-address-location-button {
        inset-inline-end: 1rem;
        bottom: 6rem;
        width: 46px;
        height: 46px;
    }

    .gm-address-modern-modal .gm-map-search-results,
    .gm-address-modern-modal .gm-map-message {
        top: 4.85rem;
        left: 1rem;
        right: 1rem;
    }

    .gm-address-sheet {
        flex: 1 1 auto;
        min-height: 0;
        margin-top: 0;
        overflow-y: auto;
        border-left: 0;
        border-radius: 18px 18px 0 0;
        padding: 0.65rem 1rem calc(1rem + env(safe-area-inset-bottom));
        box-shadow: 0 -14px 34px rgba(18, 18, 18, 0.12);
    }

    .gm-address-sheet-handle {
        width: 40px;
        height: 4px;
        margin: 0 auto 0.75rem;
        background: #ded9cf;
    }

    .gm-address-sheet-head {
        position: sticky;
        top: 0;
        z-index: 3;
        margin-bottom: 0.75rem;
        background: #ffffff;
        padding-top: 0.15rem;
    }

    .gm-address-sheet-head h3 {
        font-size: 1.18rem;
    }

    .gm-address-sheet-close {
        width: 36px;
        height: 36px;
    }

    .gm-address-selected-card {
        margin-bottom: 0.55rem;
        padding: 0.7rem 0.8rem;
    }

    .gm-address-modern-modal .gm-address-line-input {
        min-height: 42px !important;
        font-size: 0.92rem !important;
        line-height: 1.34 !important;
    }

    .gm-address-modern-modal .gm-address-field input,
    .gm-address-modern-modal .gm-address-field textarea,
    .gm-address-modern-modal .gm-address-custom-label input {
        min-height: 46px !important;
        padding: 0.72rem 0.8rem !important;
        font-size: 0.92rem !important;
    }

    .gm-address-label-block {
        margin-bottom: 0.7rem;
    }

    .gm-address-labels {
        gap: 0.4rem;
    }

    .gm-address-labels button,
    .gm-address-labels .gm-address-label-option {
        min-height: 40px;
        border-radius: 12px;
        font-size: 0.78rem;
        gap: 0.32rem;
    }

    .gm-address-submit {
        position: sticky;
        bottom: 0;
        z-index: 2;
        min-height: 50px;
        margin-top: 0.75rem;
        border-radius: 12px;
    }
}

.gm-checkout-readiness {
    margin: -0.2rem 0 0.85rem;
    border: 1px solid rgba(217, 219, 233, 0.82);
    border-radius: 16px;
    background: rgba(247, 247, 252, 0.72);
    padding: 0.72rem 0.86rem;
    color: #747895;
    font-size: 0.78rem;
    font-weight: 400;
    line-height: 1.45;
}

.gm-storefront-content .py-6.p-4,
.gm-storefront-content form#formElem,
.gm-storefront-content .shadow-xs.rounded-2xl.bg-white {
    position: relative;
}

.gm-storefront-content .shadow-xs.rounded-2xl.bg-white {
    border: 1px solid rgba(226, 232, 240, 0.86) !important;
    box-shadow: 0 22px 58px rgba(31, 31, 57, 0.08) !important;
}

.gm-cart-surface {
    z-index: 120 !important;
}

.gm-cart-surface > div {
    max-height: 100dvh !important;
    padding-bottom: 6.2rem !important;
}

.chat-footer-data-input,
.header-search-field,
.indec-value {
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.gm-storefront-content .chat-footer-data-input,
.gm-storefront-content .header-search-field,
.gm-storefront-content .indec-value,
.gm-storefront-content .gm-profile-phone-input {
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.gm-storefront-content input.chat-footer-data-input[type="text"],
.gm-storefront-content input.header-search-field,
.gm-storefront-content input.indec-value,
.gm-storefront-content input.gm-profile-phone-input[type="text"] {
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.gm-storefront-content .indec-group,
.gm-cart-surface .indec-group {
    overflow: hidden !important;
    border: 1px solid #e0e7f1 !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    box-shadow: 0 14px 30px rgba(34, 36, 61, 0.08) !important;
}

.gm-storefront-content .indec-minus,
.gm-storefront-content .indec-plus,
.gm-cart-surface .indec-minus,
.gm-cart-surface .indec-plus {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 0 !important;
    background: #c51d1d !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    box-shadow: none !important;
}

.gm-storefront-content .indec-minus:hover,
.gm-storefront-content .indec-plus:hover,
.gm-cart-surface .indec-minus:hover,
.gm-cart-surface .indec-plus:hover {
    background: #a91b1b !important;
    transform: translateY(-1px);
}

.gm-storefront-content .indec-minus :where(i, span),
.gm-storefront-content .indec-plus :where(i, span),
.gm-cart-surface .indec-minus :where(i, span),
.gm-cart-surface .indec-plus :where(i, span) {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    font-size: 1rem !important;
    font-weight: 500 !important;
    line-height: 1 !important;
}

.gm-cart-surface .xmark-btn,
.gm-storefront-content .xmark-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.gm-cart-surface .xmark-btn .gm-ui-icon,
.gm-storefront-content .xmark-btn .gm-ui-icon {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

.gm-mobile-tabbar {
    z-index: 260 !important;
}

@media (max-width: 767px) {

    .modal-dialog {
        max-height: calc(100dvh - 2rem) !important;
    }

    .modal-body {
        max-height: calc(100dvh - 8rem) !important;
    }
}

/* Gurmeat admin production polish layer. */

.custom-datepicker {
    align-items: center !important;
}

.custom-datepicker > div {
    border-radius: 16px !important;
    box-shadow: 0 22px 54px rgba(31, 31, 57, 0.16) !important;
}

.active-group .active {
    border-color: rgba(185, 28, 28, 0.18) !important;
    background: var(--gm-admin-red-soft) !important;
    color: var(--gm-admin-red) !important;
    box-shadow: 0 8px 22px rgba(185, 28, 28, 0.06);
}

.custom-radio-span {
    border-color: rgba(116, 121, 147, 0.34) !important;
    background: #ffffff !important;
}

.custom-radio-field:checked + .custom-radio-span {
    border-color: var(--gm-admin-red) !important;
    background: #ffffff !important;
}

.custom-radio-field:checked + .custom-radio-span::after {
    background: var(--gm-admin-red) !important;
}

.modal-btn {
    display: inline-flex !important;
    min-height: 36px !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.42rem !important;
    border: 1px solid var(--gm-admin-line) !important;
    border-radius: 12px !important;
    background: #ffffff !important;
    padding: 0.45rem 0.78rem !important;
    color: var(--gm-admin-text) !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
    box-shadow: 0 8px 18px rgba(31, 31, 57, 0.045) !important;
}

.modal-btn .gm-ui-icon {
    min-width: auto !important;
    height: auto !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    padding: 0 !important;
    font-size: 0.9rem !important;
    line-height: 1 !important;
}

.modal-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 14px 28px rgba(31, 31, 57, 0.08) !important;
}

.badge {
    border-radius: 999px !important;
    padding: 0.42rem 0.78rem !important;
    font-weight: 900 !important;
}

.dropdown-list {
    border: 1px solid var(--gm-admin-line) !important;
    border-radius: 16px !important;
    background: #ffffff !important;
    box-shadow: 0 18px 42px rgba(31, 31, 57, 0.13) !important;
}

.dropdown-list a:hover,
.dropdown-list button:hover {
    background: var(--gm-admin-red-soft) !important;
    color: var(--gm-admin-red) !important;
}

.chat-avatar {
    border-radius: 12px !important;
}

.chat-list.backend {
    min-height: 48vh;
    padding: 1.1rem !important;
    background:
        linear-gradient(180deg, #ffffff, #fbfbfd),
        radial-gradient(circle at 20% 0, rgba(185, 28, 28, 0.04), transparent 16rem) !important;
}

.chat-footer {
    margin: 0.9rem !important;
}

.chat-footer-data {
    min-height: 46px !important;
}

.gm-cart-surface {
    z-index: 240 !important;
}

.gm-cart-surface > div {
    border-left: 1px solid var(--gm-admin-line);
    box-shadow: -22px 0 70px rgba(31, 31, 57, 0.18) !important;
}

/* Gurmeat admin production polish: tables, font, icons and dense controls. */

.dropdown-list {
    overflow: hidden !important;
    border: 1px solid var(--gm-admin-table-border) !important;
    border-radius: 16px !important;
    background: #ffffff !important;
    box-shadow: 0 24px 58px rgba(34, 36, 61, 0.16) !important;
}

/* Admin typography correction: keep the original lighter template feel. */
:root {
    --admin-font: var(--gm-font-ui);
}

.modal-btn {
    font-weight: 600 !important;
}

/* Final admin interaction polish: clean pagination and POS quantity controls. */

@media (max-width: 767px) {
    .banner-swiper {
        border-radius: 18px !important;
        background: #08080d !important;
    }

    .banner-swiper img {
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        aspect-ratio: auto !important;
        object-fit: contain !important;
        object-position: center center !important;
    }

}

/* Storefront account center: profile, addresses and password. */
.gm-account-page {
    padding: clamp(1.35rem, 3vw, 2.4rem) 0 clamp(5rem, 6vw, 6.5rem);
    background:
        radial-gradient(circle at 15% 0%, rgba(185, 28, 28, 0.05), transparent 20rem),
        linear-gradient(180deg, #f2f2f1 0%, #eeeeed 100%);
}

.gm-account-container {
    max-width: 980px !important;
}

.gm-account-card {
    min-height: 520px;
    border: 1px solid rgba(226, 232, 240, 0.82);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.98);
    padding: clamp(1rem, 2vw, 1.45rem);
    box-shadow: 0 24px 60px rgba(31, 31, 57, 0.08);
}

.gm-account-tabs {
    display: flex;
    align-items: center;
    gap: clamp(0.55rem, 2vw, 1.45rem);
    margin-bottom: clamp(1.25rem, 2.5vw, 1.9rem);
    overflow-x: auto;
    scrollbar-width: none;
}

.gm-account-tabs::-webkit-scrollbar {
    display: none;
}

.gm-account-tab {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    padding: 0.45rem 0.8rem;
    color: #25263f;
    font-size: 0.92rem;
    font-weight: 460;
    line-height: 1;
    white-space: nowrap;
    transition: background-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}

.gm-account-tab:hover,
.gm-account-tab.active {
    background: rgba(160, 42, 36, 0.18);
    color: #1f2036;
}

.gm-account-identity {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: clamp(1.6rem, 3vw, 2.3rem);
}

.gm-account-identity-text {
    min-width: 0;
}

.gm-account-avatar {
    width: 76px;
    height: 76px;
    flex: 0 0 auto;
    overflow: hidden;
    border-radius: 999px;
    background: #eef2f5;
    box-shadow: 0 14px 26px rgba(31, 31, 57, 0.1);
}

.gm-account-avatar img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.gm-account-identity-text h1 {
    margin: 0 0 0.18rem;
    color: #23243d;
    font-size: 1.08rem;
    font-weight: 620;
    line-height: 1.2;
    overflow-wrap: anywhere;
}

.gm-account-identity-text p {
    margin: 0 0 0.35rem;
    color: var(--gm-app-muted, #6d6861);
    font-size: 0.86rem;
    font-weight: 430;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.gm-account-photo-action {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    gap: 0.34rem;
    color: #18a75b;
    cursor: pointer;
    font-size: 0.82rem;
    font-weight: 470;
    line-height: 1.2;
}

.gm-account-photo-action input {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
}

.gm-account-form {
    width: 100%;
}

.gm-account-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.15rem 1.25rem;
}

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

.gm-account-field {
    min-width: 0;
}

.gm-account-field--wide {
    grid-column: 1 / -1;
}

.gm-account-field label {
    display: block;
    margin-bottom: 0.55rem;
    color: #24243f;
    font-size: 0.82rem;
    font-weight: 470;
    line-height: 1.25;
}

.gm-account-field input,
.gm-account-field textarea,
.gm-account-phone {
    width: 100%;
    min-height: 48px;
    border: 1px solid rgba(185, 191, 206, 0.72) !important;
    border-radius: 13px !important;
    background: #ffffff !important;
    color: #25263f;
    font-size: 0.92rem;
    font-weight: 420;
    line-height: 1.35;
    box-shadow: inset 0 1px 0 rgba(31, 31, 57, 0.02) !important;
    transition: border-color 0.18s ease, box-shadow 0.18s ease;
}

.gm-account-field input,
.gm-account-field textarea {
    padding: 0.75rem 1rem;
}

.gm-account-field input::placeholder,
.gm-account-field textarea::placeholder {
    color: var(--gm-app-muted, #6d6861);
}

.gm-account-field input:focus,
.gm-account-field textarea:focus,
.gm-account-phone:focus-within {
    border-color: rgba(160, 42, 36, 0.42) !important;
    box-shadow: 0 0 0 4px rgba(160, 42, 36, 0.08) !important;
}

.gm-account-field .invalid,
.gm-account-phone.invalid {
    border-color: #fb4e4e !important;
}

.gm-account-phone {
    display: flex;
    align-items: center;
    padding: 0 1rem;
}

.gm-account-phone input {
    min-height: 46px !important;
    border: 0 !important;
    background: transparent !important;
    padding: 0 !important;
    padding-inline-start: 0.75rem !important;
    box-shadow: none !important;
}

.gm-account-actions {
    grid-column: 1 / -1;
    display: flex;
    justify-content: flex-start;
    padding-top: 0.65rem;
}

.gm-account-submit,
.gm-account-secondary-action {
    display: inline-flex;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #9f2a24;
    color: #ffffff;
    padding: 0 2.1rem;
    font-size: 0.92rem;
    font-weight: 620;
    line-height: 1;
    box-shadow: 0 14px 28px rgba(159, 42, 36, 0.18);
    transition: background-color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}

.gm-account-submit:hover,
.gm-account-secondary-action:hover {
    background: #84211d;
    color: #ffffff;
    transform: translateY(-1px);
    box-shadow: 0 18px 34px rgba(159, 42, 36, 0.22);
}

.gm-account-section-title {
    max-width: 620px;
    margin-bottom: 1.55rem;
}

.gm-account-section-title h1,
.gm-account-address-head h1 {
    margin: 0 0 0.35rem;
    color: #23243d;
    font-size: clamp(1.35rem, 2.4vw, 1.9rem);
    font-weight: 680;
    line-height: 1.18;
}

.gm-account-section-title p,
.gm-account-address-head p {
    margin: 0;
    color: var(--gm-app-muted, #6d6861);
    font-size: 0.92rem;
    font-weight: 400;
    line-height: 1.55;
}

.gm-account-address-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.4rem;
}

.gm-account-secondary-action {
    gap: 0.5rem;
    flex: 0 0 auto;
    min-height: 44px;
    padding: 0 1.25rem;
}

.gm-account-address-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.gm-account-address-card {
    height: 100%;
    border: 1px solid rgba(226, 232, 240, 0.92);
    border-radius: 18px;
    background: #f8fafc;
    padding: 1rem;
}

.gm-account-icon-action {
    display: inline-flex;
    width: 44px;
    min-width: 44px;
    height: 44px;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: rgba(159, 42, 36, 0.1);
    color: #9f2a24;
}

.gm-account-icon-action.danger {
    background: rgba(251, 78, 78, 0.11);
    color: #dc2626;
}

.gm-account-empty {
    grid-column: 1 / -1;
    padding: 1.5rem;
    text-align: center;
}

@media (max-width: 767px) {
    .gm-account-page {
        padding-top: 1rem;
    }

    .gm-account-container {
        max-width: 390px !important;
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }

    .gm-account-card {
        min-height: auto;
        border-radius: 18px;
        padding: 0.9rem;
    }

    .gm-account-tabs {
        gap: 0.5rem;
        margin-bottom: 1.35rem;
    }

    .gm-account-tab {
        min-height: 44px;
        padding: 0.45rem 0.72rem;
        font-size: 0.84rem;
    }

    .gm-account-identity {
        align-items: center;
        margin-bottom: 1.55rem;
    }

    .gm-account-avatar {
        width: 64px;
        height: 64px;
    }

    .gm-account-grid,
    .gm-account-grid--password,
    .gm-account-address-list {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .gm-account-field--wide {
        grid-column: auto;
    }

    .gm-account-actions {
        justify-content: stretch;
    }

    .gm-account-submit {
        width: 100%;
    }

    .gm-account-address-head {
        flex-direction: column;
    }

    .gm-account-secondary-action {
        width: 100%;
    }
}

/* Mobile storefront final polish: cart, account and menu as app screens. */
@media (max-width: 767px) {
    body.gm-cart-drawer-open .ff-header {
        pointer-events: none !important;
    }

    body.gm-cart-drawer-open .gm-mobile-tabbar {
        z-index: 280 !important;
    }

    .gm-storefront-cart-screen {
        z-index: 240 !important;
        background: #ffffff !important;
    }

    .gm-cart-surface > div.gm-storefront-cart-panel {
        position: fixed !important;
        inset: 0 !important;
        width: 100vw !important;
        max-width: none !important;
        height: 100dvh !important;
        border-radius: 0 !important;
        background:
            linear-gradient(180deg, #ffffff 0%, #ffffff 64%, #fafafa 100%) !important;
        box-shadow: none !important;
    }

    .gm-storefront-cart-header {
        display: grid !important;
        grid-template-columns: 46px minmax(0, 1fr) 46px !important;
        align-items: center !important;
        gap: 0.65rem !important;
        min-height: 82px !important;
        padding: 12px 18px 10px !important;
        border-bottom: 1px solid rgba(226, 232, 240, 0.78) !important;
        background: rgba(255, 255, 255, 0.94) !important;
        backdrop-filter: blur(18px) saturate(160%) !important;
    }

    .gm-storefront-cart-header h3 {
        margin: 0 !important;
        color: #20213a !important;
        font-size: 1.45rem !important;
        font-weight: 650 !important;
        line-height: 1.05 !important;
        letter-spacing: 0 !important;
    }

    .gm-storefront-cart-header p {
        margin: 0.28rem 0 0 !important;
        color: #747895 !important;
        font-size: 0.9rem !important;
        font-weight: 430 !important;
        line-height: 1.25 !important;
    }

    .gm-storefront-cart-back,
    .gm-storefront-cart-close {
        display: inline-flex !important;
        width: 42px !important;
        height: 42px !important;
        align-items: center !important;
        justify-content: center !important;
        border: 1px solid rgba(226, 232, 240, 0.86) !important;
        border-radius: 999px !important;
        background: #f7f8fb !important;
        color: #22233d !important;
        box-shadow: 0 8px 18px rgba(31, 31, 57, 0.06) !important;
    }

    .gm-storefront-cart-body {
        padding: 16px 18px 18px !important;
    }

    .gm-storefront-cart-body .mb-5 {
        display: grid !important;
        gap: 0.85rem !important;
        margin-bottom: 0 !important;
    }

    .gm-storefront-cart-body .mb-5 > div {
        margin: 0 !important;
        padding: 0.9rem !important;
        border: 1px solid rgba(226, 232, 240, 0.82) !important;
        border-radius: 22px !important;
        background: #ffffff !important;
        box-shadow: 0 14px 34px rgba(31, 31, 57, 0.06) !important;
    }

    .gm-storefront-cart-body img.w-16 {
        width: 74px !important;
        height: 74px !important;
        border-radius: 18px !important;
        object-fit: cover !important;
    }

    .gm-storefront-cart-body a.text-sm {
        color: #20213a !important;
        font-size: 1rem !important;
        font-weight: 570 !important;
        line-height: 1.2 !important;
        text-transform: none !important;
    }

    .gm-storefront-cart-body p,
    .gm-storefront-cart-body li,
    .gm-storefront-cart-body h3 {
        color: #747895 !important;
        font-weight: 430 !important;
        line-height: 1.4 !important;
    }

    .gm-storefront-cart-body h3.text-xs {
        color: #20213a !important;
        font-size: 0.94rem !important;
        font-weight: 620 !important;
    }

    .gm-storefront-cart-body .indec-group {
        min-width: 104px !important;
        min-height: 40px !important;
        justify-content: space-between !important;
        border: 1px solid rgba(226, 232, 240, 0.9) !important;
        border-radius: 999px !important;
        background: #ffffff !important;
        box-shadow: 0 10px 26px rgba(31, 31, 57, 0.08) !important;
    }

    .gm-storefront-cart-body .indec-minus,
    .gm-storefront-cart-body .indec-plus {
        width: 34px !important;
        height: 34px !important;
        border: 0 !important;
        background: #c61b1b !important;
        color: #ffffff !important;
        font-size: 1.05rem !important;
        line-height: 1 !important;
    }

    .gm-storefront-cart-body .indec-value {
        width: 32px !important;
        border: 0 !important;
        background: transparent !important;
        color: #20213a !important;
        font-size: 1.04rem !important;
        font-weight: 620 !important;
    }

    .gm-storefront-cart-footer {
        padding: 12px 18px calc(78px + env(safe-area-inset-bottom)) !important;
        border-top: 1px solid rgba(226, 232, 240, 0.78) !important;
        background: rgba(255, 255, 255, 0.96) !important;
        box-shadow: 0 -16px 40px rgba(31, 31, 57, 0.08) !important;
        backdrop-filter: blur(18px) saturate(160%) !important;
    }

    .gm-storefront-cart-total {
        min-height: 52px !important;
        border-color: rgba(226, 232, 240, 0.86) !important;
        border-radius: 18px !important;
        background: #f8fafc !important;
    }

    .gm-storefront-cart-total h3,
    .gm-storefront-cart-total h4 {
        font-size: 0.98rem !important;
        font-weight: 590 !important;
    }

    .gm-storefront-cart-checkout {
        min-height: 54px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        border-radius: 22px !important;
        background: #b91c1c !important;
        font-size: 1rem !important;
        font-weight: 650 !important;
        letter-spacing: 0 !important;
        box-shadow: 0 16px 30px rgba(185, 28, 28, 0.18) !important;
    }

    .gm-storefront-content section.mb-16.mt-8 {
        margin-top: 0.75rem !important;
        margin-bottom: 5.75rem !important;
    }

    .gm-storefront-content section.mb-16.mt-8 > .container {
        padding-left: 0.85rem !important;
        padding-right: 0.85rem !important;
    }

    .gm-storefront-content .menu-swiper {
        margin-bottom: 0.85rem !important;
        padding: 0 0 0.45rem !important;
    }

    .menu-slides {
        overflow: visible !important;
    }

    .menu-slides a {
        width: 92px !important;
        min-height: 82px !important;
        gap: 0.42rem !important;
        padding: 0.62rem 0.45rem !important;
        border-radius: 18px !important;
        box-shadow: 0 8px 22px rgba(31, 31, 57, 0.055) !important;
    }

    .menu-slides img {
        width: 42px !important;
        height: 42px !important;
    }

    .menu-slides h3 {
        display: -webkit-box !important;
        overflow: hidden !important;
        color: #292a45 !important;
        font-size: 0.72rem !important;
        font-weight: 560 !important;
        line-height: 1.12 !important;
        -webkit-box-orient: vertical !important;
        -webkit-line-clamp: 2 !important;
    }

    .menu-category-active h3 {
        color: #ffffff !important;
    }

    .veg-navs {
        flex-wrap: wrap !important;
        gap: 0.5rem !important;
        margin-bottom: 1rem !important;
        overflow-x: visible !important;
        scrollbar-width: none !important;
    }

    .veg-navs::-webkit-scrollbar {
        display: none !important;
    }

    .veg-navs button {
        min-height: 36px !important;
        flex: 0 0 auto !important;
        padding: 0.35rem 0.75rem !important;
        gap: 0.5rem !important;
    }

    .veg-navs button img {
        height: 22px !important;
    }

    .veg-navs button span {
        font-size: 0.78rem !important;
        font-weight: 500 !important;
    }

    .product-card-grid {
        border-radius: 18px !important;
        box-shadow: 0 10px 28px rgba(31, 31, 57, 0.055) !important;
    }

    .product-card-grid:hover {
        transform: none !important;
    }

    .product-card-grid-image {
        aspect-ratio: 1 / 0.82 !important;
        border-radius: 17px 17px 0 0 !important;
    }

    .product-card-grid-content-group {
        padding: 0.72rem !important;
    }

    .product-card-grid-header-group {
        margin-bottom: 0.38rem !important;
    }

    .product-card-grid-title {
        display: -webkit-box !important;
        overflow: hidden !important;
        max-width: 100% !important;
        color: #22233d !important;
        font-size: 0.9rem !important;
        font-weight: 560 !important;
        line-height: 1.18 !important;
        white-space: normal !important;
        -webkit-box-orient: vertical !important;
        -webkit-line-clamp: 2 !important;
    }

    .product-card-grid-describe {
        display: none !important;
    }

    .product-card-grid-price-current {
        color: #b91c1c !important;
        font-size: 0.98rem !important;
        font-weight: 680 !important;
        line-height: 1.2 !important;
    }

    .product-card-grid-cart-btn {
        min-width: 34px !important;
        width: 34px !important;
        height: 34px !important;
        padding: 0 !important;
    }

    .product-card-grid-cart-btn span {
        display: none !important;
    }

    .product-card-grid-cart-btn .gm-ui-icon {
        margin: 0 !important;
        color: currentColor !important;
    }

    .storefront-account-summary {
        gap: 12px !important;
        padding: 10px 12px !important;
        margin-bottom: 0.35rem !important;
    }

    .storefront-account-avatar {
        width: 52px !important;
        height: 52px !important;
    }

    .storefront-account-name {
        color: #20213a !important;
        font-size: 15px !important;
        font-weight: 650 !important;
        line-height: 1.25 !important;
    }

    .storefront-account-email {
        color: #747895 !important;
        font-size: 12px !important;
        font-weight: 450 !important;
        line-height: 1.25 !important;
    }

    .storefront-account-balance {
        color: #20213a !important;
        font-size: 14px !important;
        font-weight: 650 !important;
    }

    .storefront-account-links {
        padding: 0 12px 12px !important;
    }

    .storefront-account-link {
        min-height: 46px !important;
        gap: 12px !important;
        padding: 0 8px !important;
        border-color: rgba(226, 232, 240, 0.92) !important;
    }

    .storefront-account-link-icon {
        width: 20px !important;
        height: 20px !important;
        color: #747895 !important;
    }

    .storefront-account-link-label {
        color: #20213a !important;
        font-size: 14px !important;
        font-weight: 500 !important;
        line-height: 1.25 !important;
        text-transform: none !important;
    }

    .storefront-account-link:active {
        transform: scale(0.99) !important;
    }

    .container.max-w-3xl > .overflow-hidden.rounded-2xl {
        border-radius: 0 !important;
        background: #ffffff !important;
        box-shadow: none !important;
    }
}

/* Final Gurmeat typography layer: lighter, calmer app-wide text without touching icon fonts. */
:root {
    --gm-font-display: var(--font-public-sans), -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, Helvetica, sans-serif;
    --client-font: var(--gm-font-ui);
    --admin-font: var(--gm-font-ui);
    --gm-admin-font: var(--gm-font-ui);
}

html,
body {
    font-family: var(--gm-font-ui) !important;
    font-weight: 400;
    letter-spacing: 0;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

body :where(h1, h2, h3, h4, h5, h6, p, a, button, input, select, textarea, label, span, th, td) {
    font-family: var(--gm-font-ui) !important;
    letter-spacing: 0;
}

.font-client,
.font-rubik,
.placeholder\:font-rubik::placeholder {
    font-family: var(--gm-font-ui) !important;
}

body .font-light {
    font-weight: 300 !important;
}

body .font-normal {
    font-weight: 400 !important;
}

body .font-medium {
    font-weight: 500 !important;
}

body .font-semibold,
body .font-bold {
    font-weight: 560 !important;
}

body .font-extrabold,
body .font-black {
    font-weight: 620 !important;
}

body :where(h1, h2, h3, h4, h5, h6) {
    font-family: var(--gm-font-display) !important;
    font-weight: 600;
    letter-spacing: 0;
}

.storefront-account-name,
.storefront-account-link-label,
.product-card-grid-title,
.gm-storefront-cart-header h3,
.gm-account-identity-text h1,
.gm-account-section-title h1,
.gm-account-address-head h1 {
    font-weight: 560 !important;
}

.gm-section-title h1,
.item-details-title,
.product-card-grid-price-current,
.product-card-list-price-current,
.gm-storefront-cart-body h3.text-xs,
.gm-storefront-cart-total h3,
.gm-storefront-cart-total h4,
.storefront-account-balance {
    font-weight: 600 !important;
}

.ff-header nav a,
.ff-header .dropdown-btn,
.ff-header a.bg-primary,
.ff-header span.bg-primary {
    font-weight: 500 !important;
}

.menu-slides h3,
.product-card-list-title,
.veg-navs button span {
    font-weight: 500 !important;
}

.product-card-grid-title,
.product-card-list-title,
.gm-section-title h1,
.storefront-auth-title,
.storefront-checkout-title {
    letter-spacing: 0 !important;
}

.gm-primary-button,
.gm-add-button,
.gm-storefront-cart-checkout,
.gm-account-submit,
.gm-account-secondary-action,
.product-card-grid-cart-btn {
    font-weight: 560 !important;
}

@media (max-width: 767px) {
    .storefront-account-name {
        font-weight: 540 !important;
    }

    .storefront-account-link-label,
    .gm-storefront-cart-body a.text-sm,
    .product-card-grid-title,
    .menu-slides h3 {
        font-weight: 500 !important;
    }

    .gm-storefront-cart-header h3,
    .gm-storefront-cart-checkout {
        font-weight: 580 !important;
    }
}

/* Center confirm-order modal vertically */
.confirm-order.modal {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.confirm-order.modal .modal-dialog {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* Minimal storefront pass: keep the customer UI calm, compact, and app-like. */
.gm-storefront-shell {
    background: #ffffff !important;
}

.gm-premium-header.ff-header {
    border-bottom: 1px solid rgba(232, 228, 221, 0.9) !important;
    background: rgba(255, 255, 255, 0.92) !important;
    box-shadow: none !important;
    backdrop-filter: blur(14px) !important;
}

.gm-premium-header .storefront-brand-logo {
    width: 116px !important;
    max-height: 34px !important;
}

.storefront-language-corner .dropdown-btn {
    min-width: 0 !important;
    height: 30px !important;
    gap: 6px !important;
    border: 1px solid #e8e4dd !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    color: #171717 !important;
    padding: 0 10px !important;
    box-shadow: none !important;
    font-size: 12px !important;
    font-weight: 650 !important;
    text-transform: uppercase !important;
}

.storefront-language-corner .dropdown-btn img {
    width: 14px !important;
    height: 14px !important;
}

.storefront-language-corner .dropdown-list {
    min-width: 180px !important;
}

.storefront-search-shell.header-search-group {
    height: 38px !important;
    border: 1px solid #e8e4dd !important;
    border-radius: var(--gm-radius-shape) !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

.storefront-search-shell.header-search-group:focus-within {
    border-color: #c52922 !important;
    box-shadow: none !important;
    transform: none !important;
}

.storefront-search-shell .header-search-submit,
.storefront-search-shell .header-search-field {
    color: #6f6f6a !important;
}

.storefront-search-shell .header-search-field {
    font-size: 14px !important;
}

.gm-page-heading {
    display: flex !important;
    align-items: flex-end !important;
    justify-content: space-between !important;
    gap: 14px !important;
    margin: 0 0 18px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.gm-page-heading h1 {
    margin: 0 !important;
    color: #171717 !important;
    font-size: clamp(26px, 3.2vw, 38px) !important;
    font-weight: 760 !important;
    line-height: 1.08 !important;
    letter-spacing: 0 !important;
}

.gm-page-heading p {
    margin: 6px 0 0 !important;
    color: #6f6f6a !important;
    font-size: 13px !important;
}

.gm-page-heading--with-actions {
    align-items: center !important;
}

.gm-menu-hero,
.gm-search-hero {
    margin-bottom: 18px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.gm-menu-hero__eyebrow,
.gm-search-hero > div > span {
    display: none !important;
}

.gm-menu-hero h1,
.gm-search-hero h1 {
    margin: 0 !important;
    color: #171717 !important;
    font-size: clamp(26px, 3.2vw, 38px) !important;
    font-weight: 760 !important;
    line-height: 1.08 !important;
    letter-spacing: 0 !important;
}

.gm-menu-hero__search,
.gm-search-hero__form {
    min-height: 42px !important;
    border: 1px solid #e8e4dd !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

.gm-filter-chip,
.gm-view-toggle,
.gm-view-toggle button {
    box-shadow: none !important;
}

.gm-filter-chip.is-active,
.gm-view-toggle button.is-active {
    border-color: #171717 !important;
    background: #171717 !important;
    color: #ffffff !important;
}

.gm-storefront-content .gm-menu-card.product-card-grid,
.gm-storefront-content .gm-menu-card.product-card-list,
.gm-offer-grid .gm-offer-card {
    border: 1px solid #e8e4dd !important;
    border-radius: 10px !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

.gm-storefront-content .gm-menu-card.product-card-grid:hover,
.gm-storefront-content .gm-menu-card.product-card-list:hover,
.gm-offer-grid .gm-offer-card:hover {
    border-color: #d8d2c8 !important;
    box-shadow: none !important;
    transform: none !important;
}

@media (max-width: 767px) {
    .gm-storefront-content {
        padding-bottom: 68px !important;
    }

    .gm-premium-header.ff-header .storefront-header-container {
        min-height: 104px !important;
        padding: 10px 16px 12px !important;
    }

    .gm-premium-header .storefront-brand-wrap {
        width: auto !important;
    }

    .gm-premium-header .storefront-brand-link {
        min-height: 32px !important;
    }

    .gm-premium-header .storefront-brand-logo {
        width: 112px !important;
        max-height: 32px !important;
    }

    .storefront-language-corner {
        top: 12px !important;
        inset-inline-end: 16px !important;
    }

    .storefront-language-corner .dropdown-btn {
        height: 28px !important;
        padding: 0 9px !important;
        font-size: 11px !important;
    }

    .storefront-header-actions {
        margin-top: 8px !important;
        gap: 0 !important;
    }

    .storefront-action-row {
        gap: 0 !important;
    }

    .storefront-action-row > a,
    .storefront-action-row > div:not(.storefront-search-shell):not(.storefront-language-corner),
    .storefront-action-row > .bg-primary,
    .storefront-action-row > span.bg-primary {
        display: none !important;
    }

    .storefront-search-shell.header-search-group {
        width: 100% !important;
        height: 40px !important;
    }

    .gm-offers-page {
        margin-top: 18px !important;
        margin-bottom: 84px !important;
    }

    .gm-menu-hero,
    .gm-search-hero,
    .gm-page-heading {
        margin-bottom: 16px !important;
    }

    .gm-menu-hero h1,
    .gm-search-hero h1,
    .gm-page-heading h1 {
        font-size: 28px !important;
        line-height: 1.1 !important;
    }

    .gm-search-hero p,
    .gm-page-heading p {
        font-size: 12px !important;
    }

    .gm-offer-grid .gm-offer-card {
        aspect-ratio: 2.4 / 1 !important;
    }

    .gm-offer-grid .gm-offer-card span {
        right: 10px !important;
        bottom: 10px !important;
        left: 10px !important;
        padding: 6px 10px !important;
        font-size: 12px !important;
        font-weight: 650 !important;
    }

    .gm-home-quickbar {
        display: none !important;
    }

    .gm-storefront-content .gm-home-section {
        margin-bottom: 34px !important;
    }

    .gm-section-heading {
        margin-top: 0 !important;
        margin-bottom: 14px !important;
    }

    .gm-section-heading h2 {
        font-size: 22px !important;
        line-height: 1.12 !important;
    }

    .gm-soft-link {
        background: transparent !important;
        color: #c52922 !important;
        padding: 0 !important;
        font-size: 12px !important;
        font-weight: 650 !important;
    }

    .menu-slides a {
        min-height: 76px !important;
        border: 1px solid #e8e4dd !important;
        border-radius: 10px !important;
        box-shadow: none !important;
    }

    .menu-slides h3 {
        color: #171717 !important;
        font-size: 11px !important;
        font-weight: 620 !important;
    }

    .menu-category-active h3 {
        color: #c52922 !important;
    }

    .gm-product-grid-premium {
        gap: 10px !important;
    }

    .gm-storefront-content .gm-menu-card.product-card-grid {
        min-height: 0 !important;
    }

    .gm-menu-card.product-card-grid .gm-menu-card__media {
        aspect-ratio: 1 / 0.76 !important;
    }

    .product-card-grid-image {
        aspect-ratio: auto !important;
        border-radius: 0 !important;
    }

    .gm-menu-card.product-card-grid .gm-menu-card__content,
    .product-card-grid-content-group {
        min-height: 96px !important;
        gap: 6px !important;
        padding: 9px !important;
    }

    .product-card-grid-header-group,
    .gm-menu-card__header {
        margin-bottom: 0 !important;
    }

    .gm-menu-card.product-card-grid .gm-menu-card__title,
    .product-card-grid-title {
        font-size: 12px !important;
        line-height: 1.2 !important;
        font-weight: 650 !important;
        -webkit-line-clamp: 2 !important;
    }

    .gm-menu-card.product-card-grid .gm-menu-card__description,
    .gm-menu-card.product-card-grid .gm-menu-card__meta,
    .product-card-grid-describe {
        display: none !important;
    }

    .gm-menu-card__badges {
        top: 7px !important;
        left: 7px !important;
        gap: 4px !important;
    }

    .gm-menu-card__badge {
        min-height: 18px !important;
        padding: 0 6px !important;
        font-size: 9px !important;
        font-weight: 650 !important;
    }

    .gm-menu-card__footer,
    .product-card-grid-footer-group {
        align-items: center !important;
        margin-top: auto !important;
    }

    .gm-menu-card__price h4,
    .product-card-grid-price-current {
        font-size: 13px !important;
        line-height: 1.1 !important;
        font-weight: 760 !important;
    }

    .product-card-grid-price-previous {
        font-size: 11px !important;
        line-height: 1 !important;
    }

    .gm-menu-card__add.product-card-grid-cart-btn,
    .product-card-grid-cart-btn {
        width: 32px !important;
        min-width: 32px !important;
        height: 32px !important;
        border-radius: 999px !important;
    }
}

.gm-storefront-shell > .footer-part {
    margin-top: 72px !important;
    padding: 28px 0 0 !important;
    border-top: 1px solid #e8e4dd !important;
    background: #ffffff !important;
    color: #171717 !important;
    box-shadow: none !important;
}

.gm-storefront-shell > .footer-part::before {
    display: none !important;
}

.gm-storefront-shell .storefront-footer-grid {
    display: grid !important;
    grid-template-columns: 1fr 1.4fr 1fr !important;
    align-items: start !important;
    gap: 28px !important;
    padding-bottom: 24px !important;
}

.gm-storefront-shell .footer-part img[alt="Логотип Gurmeat"] {
    width: 132px !important;
    filter: none !important;
}

.gm-storefront-shell .footer-part p,
.gm-storefront-shell .footer-part a,
.gm-storefront-shell .footer-part li,
.gm-storefront-shell .footer-part span,
.gm-storefront-shell .footer-part h3 {
    color: #555550 !important;
    text-shadow: none !important;
}

.gm-storefront-shell .storefront-footer-newsletter p {
    max-width: 360px !important;
    margin-bottom: 12px !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
}

.gm-storefront-shell .footer-part form {
    max-width: 360px !important;
    height: 42px !important;
    border: 1px solid #e8e4dd !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

.gm-storefront-shell .footer-part form input {
    color: #171717 !important;
}

.gm-storefront-shell .footer-part button.bg-primary {
    min-height: 34px !important;
    background: #c52922 !important;
    box-shadow: none !important;
}

.gm-storefront-shell .footer-part ul li .gm-ui-icon {
    background: #f4f3f0 !important;
    color: #555550 !important;
}

.gm-storefront-shell .storefront-footer-contact span {
    color: #171717 !important;
    font-size: 14px !important;
}

.gm-storefront-shell .storefront-footer-bottom {
    margin-top: 0 !important;
    border-top: 1px solid #e8e4dd !important;
    padding: 14px 0 !important;
}

.gm-storefront-shell .storefront-footer-bottom p {
    color: #777772 !important;
    font-size: 12px !important;
}

@media (max-width: 1023px) {
    .gm-storefront-shell > .footer-part {
        display: block !important;
        margin-top: 48px !important;
        padding: 24px 0 calc(72px + env(safe-area-inset-bottom)) !important;
    }

    .gm-storefront-shell .storefront-footer-grid {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 16px !important;
        padding-bottom: 16px !important;
    }

    .gm-storefront-shell .storefront-footer-contact-column {
        width: 100%;
    }

    .gm-storefront-shell .storefront-footer-bottom {
        padding-inline: 16px !important;
    }
}

/* Checkout final pass: minimal, fast, and focused on order completion. */
.gm-checkout-page {
    padding: 28px 0 72px !important;
    background: #ffffff !important;
}

.gm-checkout-container {
    width: min(1120px, calc(100% - 32px)) !important;
    margin: 0 auto !important;
}

.gm-checkout-container--narrow {
    width: min(560px, calc(100% - 32px)) !important;
}

.gm-checkout-back {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 0 14px !important;
    color: #55504a !important;
    font-size: 23px !important;
    font-weight: 650 !important;
    line-height: 1.15 !important;
    text-decoration: none !important;
}

.gm-checkout-back:hover {
    color: #c52922 !important;
}

.gm-checkout-head {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: end !important;
    gap: 24px !important;
    margin-bottom: 18px !important;
}

.gm-checkout-head--steps-only {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 0 !important;
    margin-bottom: 16px !important;
}

.gm-checkout-head p {
    margin: 0 0 6px !important;
    color: #c52922 !important;
    font-size: 11px !important;
    font-weight: 720 !important;
    line-height: 1.1 !important;
    text-transform: uppercase !important;
}

.gm-checkout-head h1 {
    margin: 0 !important;
    color: #171717 !important;
    font-size: clamp(28px, 4vw, 42px) !important;
    font-weight: 680 !important;
    line-height: 1.02 !important;
    letter-spacing: 0 !important;
}

.gm-checkout-head span {
    display: block !important;
    max-width: 520px !important;
    margin-top: 8px !important;
    color: #69645d !important;
    font-size: 14px !important;
    font-weight: 450 !important;
    line-height: 1.45 !important;
}

.gm-checkout-steps {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.gm-checkout-steps li {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    min-height: 32px !important;
    padding: 0 10px !important;
    border: 1px solid #e8e4dd !important;
    border-radius: 999px !important;
    color: #77726a !important;
    background: #ffffff !important;
    font-size: 12px !important;
    font-weight: 560 !important;
    white-space: nowrap !important;
}

.gm-checkout-steps li span {
    display: grid !important;
    width: 18px !important;
    height: 18px !important;
    place-items: center !important;
    margin: 0 !important;
    border-radius: 50% !important;
    color: #77726a !important;
    background: #f4f3f0 !important;
    font-size: 11px !important;
    font-weight: 650 !important;
}

.gm-checkout-steps li em {
    font-style: normal !important;
}

.gm-checkout-steps li.is-complete,
.gm-checkout-steps li.is-active {
    border-color: #decfc4 !important;
    color: #171717 !important;
}

.gm-checkout-steps li.is-complete span,
.gm-checkout-steps li.is-active span {
    color: #ffffff !important;
    background: #171717 !important;
}

.gm-checkout-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 370px) !important;
    gap: 16px !important;
    align-items: start !important;
}

.gm-checkout-primary {
    display: grid !important;
    gap: 16px !important;
}

.gm-checkout-card,
.gm-checkout-empty-card {
    border: 1px solid #e8e4dd !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

.gm-checkout-card {
    padding: 18px !important;
}

.gm-checkout-empty-card {
    display: grid !important;
    gap: 10px !important;
    padding: 28px !important;
    text-align: center !important;
}

.gm-checkout-empty-card p {
    margin: 0 !important;
    color: #c52922 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
}

.gm-checkout-empty-card h1 {
    margin: 0 !important;
    color: #171717 !important;
    font-size: 30px !important;
    font-weight: 680 !important;
    line-height: 1.08 !important;
}

.gm-checkout-empty-card span {
    color: #69645d !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
}

.gm-checkout-empty-action {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: fit-content !important;
    min-height: 44px !important;
    margin: 6px auto 0 !important;
    padding: 0 18px !important;
    border-radius: 999px !important;
    color: #ffffff !important;
    background: #171717 !important;
    font-size: 14px !important;
    font-weight: 620 !important;
}

.gm-checkout-card-head {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 14px !important;
    margin-bottom: 16px !important;
}

.gm-checkout-card-head h2 {
    margin: 0 !important;
    color: #171717 !important;
    font-size: 19px !important;
    font-weight: 650 !important;
    line-height: 1.15 !important;
    letter-spacing: 0 !important;
}

.gm-checkout-card-head p {
    margin: 4px 0 0 !important;
    color: #77726a !important;
    font-size: 13px !important;
    font-weight: 450 !important;
    line-height: 1.3 !important;
}

.gm-checkout-card-head > strong {
    color: #171717 !important;
    font-size: 17px !important;
    font-weight: 680 !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
}

.gm-checkout-lines {
    display: grid !important;
    gap: 0 !important;
}

.gm-checkout-line {
    display: grid !important;
    grid-template-columns: 72px minmax(0, 1fr) auto !important;
    gap: 14px !important;
    align-items: center !important;
    padding: 14px 0 !important;
    border-top: 1px solid #efebe5 !important;
}

.gm-checkout-line:first-child {
    padding-top: 0 !important;
    border-top: 0 !important;
}

.gm-checkout-line:last-child {
    padding-bottom: 0 !important;
}

.gm-checkout-line img {
    width: 72px !important;
    height: 72px !important;
    border-radius: 8px !important;
    object-fit: cover !important;
    background: #f4f3f0 !important;
}

.gm-checkout-line-body {
    min-width: 0 !important;
}

.gm-checkout-line-top {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 10px !important;
}

.gm-checkout-line-top h3 {
    margin: 0 !important;
    color: #171717 !important;
    font-size: 15px !important;
    font-weight: 620 !important;
    line-height: 1.22 !important;
    text-transform: none !important;
}

.gm-checkout-line-top span {
    flex: 0 0 auto !important;
    color: #77726a !important;
    font-size: 12px !important;
    font-weight: 620 !important;
}

.gm-checkout-line-body p,
.gm-checkout-line-body ul {
    margin: 5px 0 0 !important;
    color: #77726a !important;
    font-size: 12px !important;
    font-weight: 430 !important;
    line-height: 1.35 !important;
}

.gm-checkout-line-body ul {
    display: grid !important;
    gap: 3px !important;
    padding: 0 !important;
    list-style: none !important;
}

.gm-checkout-line-body li {
    display: flex !important;
    gap: 5px !important;
    min-width: 0 !important;
}

.gm-checkout-line-body li span {
    flex: 0 0 auto !important;
    color: #55504a !important;
    font-weight: 620 !important;
}

.gm-checkout-line-body li em {
    min-width: 0 !important;
    overflow-wrap: anywhere !important;
    font-style: normal !important;
}

.gm-checkout-line-actions {
    display: grid !important;
    justify-items: end !important;
    gap: 10px !important;
}

.gm-checkout-line-actions > strong {
    color: #171717 !important;
    font-size: 14px !important;
    font-weight: 680 !important;
    white-space: nowrap !important;
}

.gm-cart-quantity.indec-group,
.gm-cart-surface .gm-cart-quantity.indec-group {
    display: grid !important;
    grid-template-columns: 48px minmax(40px, 1fr) 48px !important;
    align-items: center !important;
    justify-items: center !important;
    width: 144px !important;
    min-width: 144px !important;
    height: 48px !important;
    overflow: hidden !important;
    border: 1px solid #e5dfd6 !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

.gm-cart-quantity .indec-minus,
.gm-cart-quantity .indec-plus,
.gm-cart-surface .gm-cart-quantity .indec-minus,
.gm-cart-surface .gm-cart-quantity .indec-plus {
    display: grid !important;
    width: 48px !important;
    min-width: 48px !important;
    height: 48px !important;
    place-items: center !important;
    border: 0 !important;
    border-radius: 50% !important;
    color: #171717 !important;
    background: #f4f3f0 !important;
    box-shadow: none !important;
    font-size: 16px !important;
    font-weight: 760 !important;
    line-height: 1 !important;
    transform: none !important;
}

.gm-cart-quantity .indec-minus:hover,
.gm-cart-quantity .indec-plus:hover,
.gm-cart-surface .gm-cart-quantity .indec-minus:hover,
.gm-cart-surface .gm-cart-quantity .indec-plus:hover {
    color: #ffffff !important;
    background: #171717 !important;
}

.gm-storefront-content .gm-cart-quantity .indec-plus,
.gm-cart-surface .gm-cart-quantity .indec-plus {
    margin-right: 4px !important;
    color: #ffffff !important;
    background: #171717 !important;
}

.gm-storefront-content .gm-cart-quantity .indec-minus,
.gm-cart-surface .gm-cart-quantity .indec-minus {
    margin-left: 4px !important;
    border: 1px solid #ece6dc !important;
}

.gm-storefront-content .gm-cart-quantity .indec-minus :where(i, span),
.gm-storefront-content .gm-cart-quantity .indec-plus :where(i, span),
.gm-cart-surface .gm-cart-quantity .indec-minus :where(i, span),
.gm-cart-surface .gm-cart-quantity .indec-plus :where(i, span) {
    color: currentColor !important;
}

.gm-cart-quantity .indec-value,
.gm-cart-surface .gm-cart-quantity .indec-value {
    width: 100% !important;
    min-width: 28px !important;
    height: 100% !important;
    border: 0 !important;
    color: #171717 !important;
    background: transparent !important;
    font-size: 15px !important;
    font-weight: 680 !important;
    line-height: 42px !important;
    text-align: center !important;
}

.gm-checkout-order-type,
.gm-cart-order-type-switch {
    display: inline-flex !important;
    align-items: center !important;
    gap: 3px !important;
    padding: 3px !important;
    border: 1px solid #e8e4dd !important;
    border-radius: 999px !important;
    color: #55504a !important;
    background: #f4f3f0 !important;
}

.gm-checkout-order-type > div,
.gm-cart-order-type-switch > div {
    position: relative !important;
}

.gm-checkout-order-type input,
.gm-cart-order-type-switch input {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    opacity: 0 !important;
    cursor: pointer !important;
}

.gm-checkout-order-type label,
.gm-cart-order-type-option {
    display: inline-flex !important;
    min-height: 30px !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 12px !important;
    border-radius: 999px !important;
    color: #55504a !important;
    background: transparent !important;
    font-size: 12px !important;
    font-weight: 620 !important;
    line-height: 1 !important;
    text-transform: none !important;
    cursor: pointer !important;
}

.gm-checkout-order-type .cart-switch:checked + label,
.gm-cart-order-type-switch .cart-switch:checked + label {
    color: #ffffff !important;
    background: #171717 !important;
}

.gm-checkout-block {
    padding-top: 16px !important;
    border-top: 1px solid #efebe5 !important;
}

.gm-checkout-block + .gm-checkout-block {
    margin-top: 16px !important;
}

.gm-checkout-block-head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    margin-bottom: 12px !important;
}

.gm-checkout-block-head h3 {
    margin: 0 !important;
    color: #171717 !important;
    font-size: 14px !important;
    font-weight: 650 !important;
    line-height: 1.25 !important;
}

.gm-checkout-block-head.gm-checkout-time-heading{display:grid!important;grid-template-columns:24px minmax(0,1fr) 24px!important}
.gm-checkout-time-heading h3{font-size:17px!important;font-weight:500!important}
.gm-checkout-time-chevron{color:var(--gm-color-border)!important}
[dir="rtl"] .gm-checkout-time-chevron{transform:rotate(180deg)!important}

.gm-checkout-block-head > div {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
}

.gm-checkout-block-head button {
    display: inline-flex !important;
    min-height: 32px !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 0 10px !important;
    border: 1px solid #e8e4dd !important;
    border-radius: 999px !important;
    color: #55504a !important;
    background: #ffffff !important;
    font-size: 12px !important;
    font-weight: 620 !important;
}

.gm-checkout-block-head button.is-primary {
    border-color: #171717 !important;
    color: #ffffff !important;
    background: #171717 !important;
}

.gm-checkout-branch-chips {
    display: flex !important;
    gap: 8px !important;
    margin-bottom: 12px !important;
    overflow-x: auto !important;
    scrollbar-width: none !important;
}

.gm-checkout-branch-chips::-webkit-scrollbar {
    display: none !important;
}

.gm-checkout-branch-chip {
    flex: 0 0 auto !important;
    min-height: 44px !important;
    padding: 0 12px !important;
    border: 1px solid #e8e4dd !important;
    border-radius: 999px !important;
    color: #55504a !important;
    background: #ffffff !important;
    font-size: 13px !important;
    font-weight: 560 !important;
}

.gm-checkout-branch-chip.active {
    border-color: #171717 !important;
    color: #ffffff !important;
    background: #171717 !important;
}

.gm-checkout-branch-map {
    height: 168px !important;
    margin-bottom: 12px !important;
    overflow: hidden !important;
    border-radius: 8px !important;
    background: #f4f3f0 !important;
}

.gm-checkout-branch-map img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.gm-checkout-branch-options {
    display: grid !important;
    gap: 8px !important;
}

.gm-checkout-branch-address {
    width: 100% !important;
    min-height: 52px !important;
    display: grid !important;
    grid-template-columns: 20px minmax(0, 1fr) 20px !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 10px 12px !important;
    border: 1px solid var(--gm-color-border) !important;
    border-radius: 12px !important;
    color: var(--gm-color-text) !important;
    background: var(--gm-color-surface) !important;
    box-shadow: none !important;
    font: inherit !important;
    text-align: start !important;
    cursor: pointer !important;
    transition: border-color var(--gm-duration-fast) var(--gm-ease-standard), box-shadow var(--gm-duration-fast) var(--gm-ease-standard), background-color var(--gm-duration-fast) var(--gm-ease-standard) !important;
    -webkit-tap-highlight-color: transparent !important;
}

.gm-checkout-branch-address:hover {
    background: var(--gm-color-surface-subtle) !important;
}

.gm-checkout-branch-address.is-selected {
    border-color: var(--gm-color-brand) !important;
    background: var(--gm-color-surface) !important;
    box-shadow: inset 0 0 0 1px var(--gm-color-brand) !important;
}

.gm-checkout-branch-address:focus-visible {
    outline: var(--gm-stroke-focus) solid var(--gm-color-focus-ring) !important;
    outline-offset: var(--gm-stroke-focus-offset) !important;
}

.gm-checkout-branch-address .gm-ui-icon {
    color: var(--gm-color-brand) !important;
    font-size: 18px !important;
    line-height: 1 !important;
}

.gm-checkout-branch-address__copy {
    min-width: 0 !important;
    display: grid !important;
    gap: 2px !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
    overflow-wrap: anywhere !important;
}

.gm-checkout-branch-address__copy strong {
    color: var(--gm-color-text) !important;
    font-weight: var(--gm-font-weight-semibold) !important;
}

.gm-checkout-branch-address__copy > span {
    color: var(--gm-color-text-muted) !important;
}

.gm-checkout-branch-address__check {
    color: var(--gm-color-brand) !important;
    opacity: 0 !important;
    transition: opacity var(--gm-duration-fast) var(--gm-ease-standard) !important;
}

.gm-checkout-branch-address.is-selected .gm-checkout-branch-address__check {
    opacity: 1 !important;
}

.gm-checkout-addresses,
.gm-checkout-time-options {
    display: grid !important;
    gap: 8px !important;
}

.gm-checkout-time-options{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:0!important;padding:3px!important;border-radius:16px!important;background:#f2f3f7!important}

.gm-checkout-addresses label,
.gm-checkout-choice {
    display: flex !important;
    width: 100% !important;
    min-height: 58px !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    padding: 12px !important;
    border: 1px solid #e8e4dd !important;
    border-radius: 8px !important;
    color: #171717 !important;
    background: #ffffff !important;
    text-align: left !important;
    cursor: pointer !important;
    transition: border-color 160ms ease, background 160ms ease !important;
}

.gm-checkout-time-options .gm-checkout-choice{position:relative!important;min-height:52px!important;padding:7px 10px!important;border:0!important;border-radius:13px!important;background:transparent!important}

.gm-checkout-addresses label.active,
.gm-checkout-choice.active {
    border-color: #171717 !important;
    background: #faf8f5 !important;
}

.gm-storefront-content .gm-checkout-addresses label.active,
.gm-storefront-content .gm-checkout-choice.active {
    border-color: #171717 !important;
    background: #faf8f5 !important;
    box-shadow: none !important;
}

.gm-storefront-content .gm-checkout-time-options .gm-checkout-choice.active{background:var(--gm-color-surface)!important}

.gm-checkout-addresses label > .gm-ui-icon {
    flex: 0 0 auto !important;
    color: #c52922 !important;
    font-size: 17px !important;
}

.gm-checkout-address-content,
.gm-checkout-choice-content {
    display: grid !important;
    min-width: 0 !important;
    gap: 2px !important;
}

.gm-checkout-addresses strong,
.gm-checkout-choice strong {
    color: #171717 !important;
    font-size: 13px !important;
    font-weight: 650 !important;
    line-height: 1.25 !important;
}

.gm-checkout-time-options .gm-checkout-choice strong{font-size:15px!important;font-weight:500!important;white-space:nowrap!important}
.gm-checkout-time-options .gm-checkout-choice em{font-size:13px!important;color:#999!important}

.gm-checkout-addresses em,
.gm-checkout-choice em {
    color: #77726a !important;
    font-size: 12px !important;
    font-style: normal !important;
    font-weight: 430 !important;
    line-height: 1.35 !important;
    overflow-wrap: anywhere !important;
}

.gm-storefront-content .gm-checkout-time-options .custom-radio{position:absolute!important;opacity:0!important}
.gm-checkout-time-options .gm-checkout-choice:focus-within{outline:2px solid var(--gm-color-brand)!important;outline-offset:2px!important}
.gm-checkout-time-options .gm-checkout-choice.is-disabled{cursor:default!important;opacity:.56!important}

.gm-checkout-empty-note {
    padding: 12px !important;
    border: 1px dashed #e8e4dd !important;
    border-radius: 8px !important;
    color: #77726a !important;
    background: #fbfaf8 !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
}

.gm-checkout-summary-panel {
    position: sticky !important;
    top: 104px !important;
}

.gm-checkout-summary-card {
    display: grid !important;
    gap: 14px !important;
}

.gm-checkout-summary-card .gm-checkout-card-head {
    margin-bottom: 0 !important;
}

.gm-checkout-coupon,
.gm-checkout-loyalty {
    border: 1px solid #e8e4dd !important;
    border-radius: 8px !important;
    background: #fbfaf8 !important;
}

.gm-checkout-coupon {
    display: flex !important;
    width: 100% !important;
    min-height: 52px !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 11px 12px !important;
    color: #171717 !important;
    text-align: left !important;
}

.gm-checkout-coupon > .gm-ui-icon:first-child {
    color: #c52922 !important;
    font-size: 20px !important;
}

.gm-checkout-coupon > span {
    display: grid !important;
    min-width: 0 !important;
    flex: 1 1 auto !important;
    gap: 2px !important;
}

.gm-checkout-coupon strong,
.gm-checkout-loyalty strong {
    color: #171717 !important;
    font-size: 13px !important;
    font-weight: 650 !important;
    line-height: 1.25 !important;
}

.gm-checkout-coupon em,
.gm-checkout-loyalty em {
    color: #77726a !important;
    font-size: 12px !important;
    font-style: normal !important;
    line-height: 1.35 !important;
}

.gm-checkout-coupon > .gm-ui-icon:last-child {
    color: #77726a !important;
    font-size: 16px !important;
}

.gm-checkout-coupon--applied > .gm-ui-icon:first-child,
.gm-checkout-totals .is-success,
.gm-checkout-loyalty p strong {
    color: #177a45 !important;
}

.gm-checkout-coupon--applied button {
    color: #c52922 !important;
    font-size: 15px !important;
}

.gm-checkout-loyalty {
    display: grid !important;
    gap: 10px !important;
    padding: 12px !important;
}

.gm-checkout-loyalty > div {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
}

.gm-checkout-loyalty > div > span {
    display: grid !important;
    gap: 2px !important;
}

.gm-checkout-loyalty button {
    min-height: 34px !important;
    padding: 0 10px !important;
    border: 1px solid #e8e4dd !important;
    border-radius: 999px !important;
    color: #171717 !important;
    background: #ffffff !important;
    font-size: 12px !important;
    font-weight: 620 !important;
}

.gm-checkout-loyalty button:disabled {
    cursor: not-allowed !important;
    opacity: 0.5 !important;
}

.gm-checkout-loyalty input {
    min-width: 0 !important;
    flex: 1 1 auto !important;
    height: 40px !important;
    padding: 0 12px !important;
    border: 1px solid #e8e4dd !important;
    border-radius: 8px !important;
    color: #171717 !important;
    background: #ffffff !important;
    font-size: 14px !important;
}

.gm-checkout-loyalty p {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    margin: 0 !important;
    color: #77726a !important;
    font-size: 12px !important;
}

.gm-checkout-totals {
    border: 1px solid #e8e4dd !important;
    border-radius: 8px !important;
    overflow: hidden !important;
}

.gm-checkout-totals ul {
    display: grid !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 12px !important;
    border-bottom: 1px dashed #e8e4dd !important;
    list-style: none !important;
}

.gm-checkout-totals li,
.gm-checkout-totals > div {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    color: #55504a !important;
    font-size: 13px !important;
    line-height: 1.3 !important;
}

.gm-checkout-totals li strong {
    color: #171717 !important;
    font-weight: 620 !important;
}

.gm-checkout-totals > div {
    padding: 13px 12px !important;
    color: #171717 !important;
    background: #fbfaf8 !important;
    font-size: 15px !important;
    font-weight: 650 !important;
}

.gm-checkout-totals > div strong {
    font-size: 20px !important;
    font-weight: 720 !important;
}

.gm-checkout-readiness {
    margin: 0 !important;
    padding: 10px 12px !important;
    border: 1px solid #eadfce !important;
    border-radius: 8px !important;
    color: #6b5736 !important;
    background: #fffaf0 !important;
    font-size: 12px !important;
    font-weight: 560 !important;
    line-height: 1.4 !important;
}

.gm-checkout-message {
    margin: 0 !important;
    padding: 10px 12px !important;
    border-radius: 8px !important;
    font-size: 12px !important;
    font-weight: 560 !important;
    line-height: 1.4 !important;
}

.gm-checkout-message-error {
    border: 1px solid #f0c7c0 !important;
    color: #9f1d18 !important;
    background: #fff4f2 !important;
}

.gm-checkout-message-success {
    border: 1px solid #bedfc9 !important;
    color: #177a45 !important;
    background: #f0fbf4 !important;
}

.gm-checkout-recovery {
    padding: 16px !important;
    border: 1px solid #e8c66a !important;
    border-radius: 16px !important;
    color: var(--gm-semantic-warning-fg, #854d0e) !important;
    background: var(--gm-semantic-warning-bg, #fef9c3) !important;
}

.gm-checkout-recovery-action {
    display: inline-flex !important;
    min-height: 44px !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
}

.gm-checkout-recovery-action:focus-visible {
    outline: 3px solid var(--gm-focus-ring, #a82a24) !important;
    outline-offset: 2px !important;
}

.gm-table-payment-option {
    display: flex !important;
    min-height: 44px !important;
    align-items: center !important;
    gap: 12px !important;
    cursor: pointer !important;
}

.gm-table-payment-option.is-disabled {
    cursor: not-allowed !important;
    opacity: 0.52 !important;
}

.gm-checkout-summary-actions {
    display: grid !important;
    gap: 8px !important;
}

.gm-checkout-submit,
.gm-checkout-clear {
    display: inline-flex !important;
    width: 100% !important;
    min-height: 48px !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: var(--gm-checkout-button-radius, 999px) !important;
    font-size: 14px !important;
    font-weight: 650 !important;
    line-height: 1 !important;
    text-transform: none !important;
}

.gm-checkout-submit {
    color: #ffffff !important;
    background: #171717 !important;
}

.gm-checkout-submit:hover {
    background: #c52922 !important;
}

.gm-checkout-submit:disabled {
    cursor: progress !important;
    opacity: 0.62 !important;
}

.gm-checkout-clear {
    border: 1px solid #e8e4dd !important;
    color: #77726a !important;
    background: #ffffff !important;
}

.gm-storefront-cart-screen {
    background: rgba(23, 23, 23, 0.24) !important;
}

.gm-cart-surface > div.gm-storefront-cart-panel {
    width: min(400px, 100vw) !important;
    border-left: 1px solid #e8e4dd !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

.gm-storefront-cart-header {
    min-height: 72px !important;
    padding: 14px 16px !important;
    border-bottom: 1px solid #e8e4dd !important;
    background: #ffffff !important;
}

.gm-storefront-cart-header h3 {
    color: #171717 !important;
    font-size: 21px !important;
    font-weight: 680 !important;
    line-height: 1.1 !important;
}

.gm-storefront-cart-header p {
    margin-top: 4px !important;
    color: #77726a !important;
    font-size: 13px !important;
    font-weight: 450 !important;
}

.gm-storefront-cart-back,
.gm-storefront-cart-close {
    width: 38px !important;
    height: 38px !important;
    border: 1px solid #e8e4dd !important;
    border-radius: 50% !important;
    color: #171717 !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

.gm-storefront-cart-body {
    padding: 14px 16px !important;
    background: #ffffff !important;
}

.gm-storefront-cart-body .mb-5 {
    display: grid !important;
    gap: 0 !important;
    margin-bottom: 0 !important;
}

.gm-cart-line-drawer {
    margin: 0 !important;
    padding: 12px 0 !important;
    border-bottom: 1px solid #efebe5 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.gm-storefront-cart-body .mb-5 > .gm-cart-line-drawer {
    margin: 0 !important;
    padding: 12px 0 !important;
    border: 0 !important;
    border-bottom: 1px solid #efebe5 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.gm-storefront-cart-body .mb-5 > .gm-cart-line-drawer:last-child {
    border-bottom: 0 !important;
}

.gm-cart-line-drawer:first-child {
    padding-top: 0 !important;
}

.gm-cart-line-drawer-main {
    align-items: flex-start !important;
    margin-bottom: 8px !important;
}

.gm-cart-line-drawer-image {
    width: 64px !important;
    height: 64px !important;
    border-radius: 8px !important;
    object-fit: cover !important;
}

.gm-cart-line-drawer-title {
    color: #171717 !important;
    font-size: 14px !important;
    font-weight: 620 !important;
    line-height: 1.25 !important;
    text-transform: none !important;
}

.gm-cart-line-drawer-price {
    color: #171717 !important;
    font-size: 13px !important;
    font-weight: 680 !important;
}

.gm-cart-line-drawer-options {
    margin: 0 !important;
    padding: 0 !important;
    color: #77726a !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
}

.gm-cart-line-drawer-options h3 {
    color: #55504a !important;
    font-size: 12px !important;
    font-weight: 620 !important;
}

.gm-cart-line-drawer-options p,
.gm-storefront-cart-body p {
    color: #77726a !important;
}

.gm-storefront-cart-footer {
    padding: 12px 16px 16px !important;
    border-top: 1px solid #e8e4dd !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

.gm-storefront-cart-total {
    min-height: 44px !important;
    margin-bottom: 10px !important;
    border-color: #e8e4dd !important;
    border-radius: 8px !important;
    background: #fbfaf8 !important;
}

.gm-storefront-cart-total h3,
.gm-storefront-cart-total h4 {
    color: #171717 !important;
    font-size: 14px !important;
    font-weight: 650 !important;
}

.gm-storefront-cart-checkout {
    min-height: 48px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 999px !important;
    color: #ffffff !important;
    background: #171717 !important;
    box-shadow: none !important;
    font-size: 14px !important;
    font-weight: 650 !important;
    text-transform: none !important;
}

.gm-storefront-cart-checkout:hover {
    background: #c52922 !important;
}

.coupon-modal .modal-dialog {
    border: 1px solid #e8e4dd !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

.coupon-modal .modal-dialog h3 {
    color: #171717 !important;
    font-weight: 650 !important;
    letter-spacing: 0 !important;
}

@media (max-width: 1023px) {
    .gm-checkout-head,
    .gm-checkout-grid {
        grid-template-columns: 1fr !important;
    }

    .gm-checkout-summary-panel {
        position: static !important;
    }
}

@media (max-width: 767px) {
    .gm-checkout-page {
        padding: 14px 0 calc(96px + env(safe-area-inset-bottom)) !important;
    }

    .gm-checkout-container {
        width: min(100% - 24px, 1120px) !important;
    }

    .gm-checkout-head {
        gap: 14px !important;
        margin-bottom: 12px !important;
    }

    .gm-checkout-back {
        margin-bottom: 12px !important;
        font-size: 23px !important;
    }

    .gm-checkout-head h1 {
        font-size: 28px !important;
    }

    .gm-checkout-head span {
        font-size: 13px !important;
    }

    .gm-checkout-steps {
        width: 100% !important;
        overflow-x: auto !important;
        padding-bottom: 2px !important;
        scrollbar-width: none !important;
    }

    .gm-checkout-steps::-webkit-scrollbar {
        display: none !important;
    }

    .gm-checkout-card {
        padding: 14px !important;
    }

    .gm-checkout-card-head {
        align-items: center !important;
        gap: 12px !important;
    }

    .gm-checkout-card--fulfillment .gm-checkout-card-head {
        align-items: stretch !important;
        flex-direction: column !important;
    }

    .gm-checkout-card-head h2 {
        font-size: 17px !important;
    }

    .gm-checkout-line {
        grid-template-columns: 62px minmax(0, 1fr) !important;
        gap: 10px !important;
    }

    .gm-checkout-line img {
        width: 62px !important;
        height: 62px !important;
    }

    .gm-checkout-line-actions {
        grid-column: 2 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: 100% !important;
    }

    .gm-checkout-order-type {
        width: 100% !important;
    }

    .gm-checkout-order-type > div,
    .gm-checkout-order-type label {
        flex: 1 1 0 !important;
        width: 100% !important;
    }

    .gm-checkout-block-head {
        align-items: flex-start !important;
        flex-direction: column !important;
    }

    .gm-checkout-summary-actions {
        position: static !important;
        margin: 0 !important;
        padding: 0 !important;
        border-top: 0 !important;
        background: transparent !important;
        backdrop-filter: none !important;
    }

    .gm-storefront-shell[data-surface="checkout"] .gm-mobile-tabbar {
        display: none !important;
    }

    body.gm-cart-drawer-open .gm-mobile-tabbar {
        display: none !important;
    }

    .gm-storefront-cart-screen {
        background: #ffffff !important;
    }

    .gm-cart-surface > div.gm-storefront-cart-panel {
        inset: 0 !important;
        width: 100vw !important;
        max-width: none !important;
        height: 100dvh !important;
        border-left: 0 !important;
    }

    .gm-storefront-cart-header {
        min-height: 70px !important;
        padding: 12px 14px !important;
    }

    .gm-storefront-cart-header h3 {
        font-size: 21px !important;
    }

    .gm-storefront-cart-body {
        padding: 12px 14px !important;
    }

    .gm-cart-line-drawer-image {
        width: 62px !important;
        height: 62px !important;
    }

    .gm-storefront-cart-footer {
        padding: 10px 14px calc(16px + env(safe-area-inset-bottom)) !important;
    }
}

/* Gurmeat storefront product redesign layer. Scoped to the customer app. */
:root {
    --gm-app-bg: var(--gm-color-surface);
    --gm-app-surface: var(--gm-color-surface);
    --gm-app-surface-raised: #ffffff;
    --gm-app-ink: #17120f;
    --gm-app-muted: #6f675e;
    --gm-app-soft: #ede5da;
    --gm-app-line: #ded2c3;
    --gm-app-brand: #a82a24;
    --gm-app-brand-strong: #7f1d1a;
    --gm-app-herb: #1f6f43;
    --gm-app-gold: #b6822b;
    --gm-app-danger: #b42318;
    --gm-app-radius: 8px;
    --gm-app-radius-lg: 12px;
    --gm-app-shadow: 0 18px 42px rgba(38, 28, 20, 0.08);
    --gm-app-shadow-tight: 0 10px 26px rgba(38, 28, 20, 0.07);
}

.gm-storefront-shell {
    min-height: 100dvh !important;
    background: var(--gm-app-bg) !important;
    color: var(--gm-app-ink) !important;
    font-family: var(--gm-font-ui) !important;
}

.gm-storefront-shell :where(a, button, input, textarea, select) {
    letter-spacing: 0 !important;
}

.gm-storefront-shell :where(button, a, input, textarea, select):focus-visible {
    outline: 3px solid var(--gm-focus-ring) !important;
    outline-offset: 3px !important;
}

.gm-storefront-shell .container {
    width: min(1188px, calc(100% - 32px)) !important;
    max-width: none !important;
    margin-inline: auto !important;
}

.gm-premium-header.ff-header {
    border-bottom: 1px solid rgba(222, 210, 195, 0.72) !important;
    background: rgba(255, 255, 255, 0.9) !important;
    box-shadow: 0 10px 28px rgba(38, 28, 20, 0.05) !important;
    backdrop-filter: blur(18px) saturate(142%) !important;
}

.gm-premium-header .storefront-header-container {
    min-height: 76px !important;
    gap: 18px !important;
}

.gm-premium-header .storefront-brand-logo {
    max-height: 42px !important;
    filter: saturate(1.02) contrast(1.03);
}

.storefront-desktop-nav .storefront-nav-link {
    min-height: 42px !important;
    border-radius: 999px !important;
    padding: 0 10px !important;
    color: var(--gm-app-muted) !important;
    font-size: 14px !important;
    font-weight: 650 !important;
}

.storefront-desktop-nav .storefront-nav-link::after {
    display: none !important;
}

.storefront-desktop-nav .storefront-nav-link:hover {
    color: var(--gm-app-ink) !important;
    background: rgba(168, 42, 36, 0.08) !important;
    transform: translateY(-1px) !important;
}

.storefront-search-shell.header-search-group {
    height: 44px !important;
    border-color: rgba(222, 210, 195, 0.9) !important;
    background: rgba(255, 255, 255, 0.72) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9) !important;
}

.storefront-search-shell.header-search-group:focus-within {
    border-color: var(--gm-focus-ring) !important;
    background: #ffffff !important;
    box-shadow: 0 0 0 3px var(--gm-focus-ring) !important;
    transform: none !important;
}

.gm-premium-header .webcart,
.gm-premium-header a.bg-primary,
.gm-premium-header span.bg-primary,
.gm-premium-header .dropdown-btn {
    min-height: 40px !important;
    border: 1px solid rgba(23, 18, 15, 0.08) !important;
    border-radius: 999px !important;
    background: var(--gm-app-ink) !important;
    color: #ffffff !important;
    box-shadow: none !important;
}

.storefront-language-corner .dropdown-btn {
    background: #ffffff !important;
    color: var(--gm-app-ink) !important;
}

.gm-home-hero {
    padding: 18px 0 8px !important;
}

.gm-home-hero__container {
    display: grid !important;
    gap: 12px !important;
}

.gm-home-hero__media {
    min-height: clamp(420px, 56vw, 620px) !important;
    border: 1px solid rgba(222, 210, 195, 0.72) !important;
    border-radius: 8px !important;
    background: #211711 !important;
    box-shadow: var(--gm-app-shadow) !important;
}

.gm-home-banner-shell--hero,
.gm-home-banner-shell--hero .banner-swiper,
.gm-home-banner-shell--hero .swiper,
.gm-home-banner-shell--hero .swiper-wrapper,
.gm-home-banner-shell--hero .swiper-slide {
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
}

.gm-home-banner-shell--hero .banner-swiper {
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
}

.gm-home-banner-shell--hero .banner-swiper img {
    width: 100% !important;
    height: 100% !important;
    min-height: clamp(420px, 56vw, 620px) !important;
    max-height: none !important;
    border-radius: 0 !important;
    object-fit: cover !important;
}

.gm-home-hero__overlay {
    max-width: 760px !important;
    padding: clamp(28px, 6vw, 72px) !important;
    background:
        linear-gradient(90deg, rgba(20, 12, 8, 0.94), rgba(20, 12, 8, 0.74) 46%, rgba(20, 12, 8, 0.1) 82%) !important;
}

.gm-home-hero__overlay span,
.gm-menu-hero__eyebrow,
.gm-search-hero > div > span {
    color: #f2c278 !important;
    font-size: 12px !important;
    font-weight: 820 !important;
    text-transform: uppercase !important;
}

.gm-menu-hero__eyebrow,
.gm-search-hero > div > span {
    color: var(--gm-app-brand) !important;
}

.gm-home-hero__overlay h1 {
    max-width: 680px !important;
    font-size: clamp(42px, 6.4vw, 82px) !important;
    font-weight: 860 !important;
    line-height: 0.94 !important;
}

.gm-home-hero__overlay p {
    max-width: 540px !important;
    color: rgba(255, 249, 238, 0.9) !important;
    font-size: clamp(15px, 1.4vw, 18px) !important;
}

.gm-home-hero__actions a,
.gm-home-quickbar a,
.gm-soft-link,
.gm-primary-button,
.gm-checkout-submit,
.gm-storefront-cart-checkout,
.gm-account-submit,
.gm-address-submit {
    transition: transform 180ms ease, background-color 180ms ease, color 180ms ease, border-color 180ms ease, box-shadow 180ms ease !important;
}

.gm-home-hero__actions a {
    min-height: 48px !important;
    border-color: rgba(255, 255, 255, 0.24) !important;
    background: rgba(255, 255, 255, 0.13) !important;
    font-size: 14px !important;
}

.gm-home-hero__actions a:first-child {
    border-color: #ffffff !important;
    background: #ffffff !important;
    color: var(--gm-app-ink) !important;
    box-shadow: 0 18px 34px rgba(0, 0, 0, 0.22) !important;
}

.gm-home-hero__actions a:hover,
.gm-home-quickbar a:hover,
.gm-menu-card__add:hover,
.gm-checkout-submit:hover,
.gm-storefront-cart-checkout:hover,
.gm-account-submit:hover,
.gm-address-submit:hover {
    transform: translateY(-1px) !important;
}

.gm-home-quickbar,
.gm-home-promise span,
.gm-menu-hero,
.gm-search-hero,
.gm-page-heading {
    border: 1px solid rgba(222, 210, 195, 0.78) !important;
    border-radius: var(--gm-app-radius) !important;
    background: rgba(255, 255, 255, 0.82) !important;
    box-shadow: none !important;
}

.gm-home-quickbar {
    min-height: 62px !important;
    padding: 12px !important;
}

.gm-home-quickbar p {
    color: var(--gm-app-muted) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
}

.gm-home-quickbar a:first-child {
    border-color: var(--gm-app-ink) !important;
    background: var(--gm-app-ink) !important;
}

.gm-home-promise {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.gm-home-promise span {
    min-height: 54px !important;
    color: var(--gm-app-ink) !important;
    font-weight: 760 !important;
}

.gm-section-heading h2,
.gm-page-heading h1,
.gm-menu-hero h1,
.gm-search-hero h1 {
    color: var(--gm-app-ink) !important;
    font-weight: 820 !important;
}

.gm-menu-hero,
.gm-search-hero {
    padding: clamp(18px, 3.4vw, 34px) !important;
}

.gm-menu-hero__search,
.gm-search-hero__form {
    min-height: 54px !important;
    border-color: rgba(222, 210, 195, 0.9) !important;
    background: #ffffff !important;
}

.gm-menu-hero__search:focus-within,
.gm-search-hero__form:focus-within {
    border-color: var(--gm-focus-ring) !important;
    box-shadow: 0 0 0 3px var(--gm-focus-ring) !important;
}

.gm-filter-chip {
    min-height: 42px !important;
    border-color: rgba(222, 210, 195, 0.9) !important;
    background: rgba(255, 255, 255, 0.9) !important;
    color: var(--gm-app-muted) !important;
    font-weight: 720 !important;
}

.gm-filter-chip:hover,
.gm-filter-chip.is-active {
    border-color: var(--gm-app-ink) !important;
    background: var(--gm-app-ink) !important;
    color: #ffffff !important;
}

.gm-product-grid-premium {
    grid-template-columns: repeat(auto-fill, minmax(224px, 1fr)) !important;
    gap: clamp(14px, 2vw, 22px) !important;
}

.gm-storefront-content .gm-menu-card.product-card-grid,
.gm-storefront-content .gm-menu-card.product-card-list,
.gm-offer-grid .gm-offer-card,
.gm-checkout-card,
.gm-checkout-empty-card,
.gm-account-card {
    border: 1px solid rgba(222, 210, 195, 0.82) !important;
    border-radius: var(--gm-app-radius) !important;
    background: var(--gm-app-surface-raised) !important;
    box-shadow: none !important;
}

.gm-storefront-content .gm-menu-card.product-card-grid:hover,
.gm-storefront-content .gm-menu-card.product-card-list:hover,
.gm-offer-grid .gm-offer-card:hover {
    border-color: rgba(168, 42, 36, 0.34) !important;
    box-shadow: var(--gm-app-shadow-tight) !important;
    transform: translateY(-2px) !important;
}

.gm-menu-card.product-card-grid .gm-menu-card__media {
    aspect-ratio: 1 / 0.82 !important;
}

.gm-menu-card__media {
    background: #eee5da !important;
}

.gm-storefront-content .gm-menu-card .product-card-grid-image,
.gm-storefront-content .gm-menu-card .product-card-list-image {
    transform-origin: center !important;
    transition: transform 260ms ease, filter 260ms ease !important;
}

.gm-storefront-content .gm-menu-card:hover .product-card-grid-image,
.gm-storefront-content .gm-menu-card:hover .product-card-list-image {
    filter: saturate(1.04) contrast(1.03) !important;
    transform: scale(1.035) !important;
}

.gm-menu-card__content {
    gap: 10px !important;
    padding: 14px !important;
}

.gm-menu-card__title {
    color: var(--gm-app-ink) !important;
    font-size: 16px !important;
    font-weight: 820 !important;
}

.gm-menu-card__description {
    color: var(--gm-app-muted) !important;
    font-size: 12.5px !important;
}

.gm-menu-card__badge {
    min-height: 24px !important;
    padding-inline: 9px !important;
    font-size: 10px !important;
    font-weight: 820 !important;
    backdrop-filter: blur(10px) !important;
}

.gm-menu-card__badge--sale {
    background: #fff7e4 !important;
    color: var(--gm-semantic-warning-fg) !important;
}

.gm-menu-card__badge--chef {
    background: rgba(23, 18, 15, 0.92) !important;
}

.gm-menu-card__badge--veg {
    background: #e8f4ec !important;
    color: var(--gm-app-herb) !important;
}

.gm-menu-card__badge--spicy {
    background: #fff0ec !important;
    color: var(--gm-app-brand) !important;
}

.gm-menu-card__meta span {
    background: #f3ece2 !important;
    color: #6f5f4f !important;
}

.gm-menu-card__price h4,
.gm-storefront-content .product-card-grid-price-current,
.gm-storefront-content .product-card-list-price-current {
    color: var(--gm-app-ink) !important;
    font-size: 17px !important;
    font-weight: 860 !important;
}

.product-card-grid-price-previous {
    color: var(--gm-semantic-muted-fg) !important;
}

.gm-menu-card__add.product-card-grid-cart-btn,
.gm-menu-card__add.product-card-list-cart-btn {
    min-width: 48px !important;
    height: 42px !important;
    border-radius: 999px !important;
    background: var(--gm-app-ink) !important;
    color: #ffffff !important;
}

.gm-menu-card__add.product-card-grid-cart-btn:hover,
.gm-menu-card__add.product-card-list-cart-btn:hover {
    background: var(--gm-app-brand) !important;
}

.modal.ff-modal {
    background: rgba(23, 18, 15, 0.42) !important;
    backdrop-filter: blur(10px) !important;
}

.modal.ff-modal .modal-dialog {
    border: 1px solid rgba(222, 210, 195, 0.84) !important;
    border-radius: var(--gm-app-radius-lg) !important;
    background: var(--gm-color-surface) !important;
    box-shadow: 0 30px 80px rgba(23, 18, 15, 0.22) !important;
}

.modal.ff-modal .modal-header,
.modal.ff-modal .modal-body {
    color: var(--gm-app-ink) !important;
}

.modal.ff-modal :where(input, textarea, select) {
    border-color: rgba(222, 210, 195, 0.9) !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    color: var(--gm-app-ink) !important;
}

.modal.ff-modal :where(input, textarea, select):focus {
    border-color: var(--gm-focus-ring) !important;
    box-shadow: 0 0 0 3px var(--gm-focus-ring) !important;
    outline: 0 !important;
}

.gm-checkout-page,
.gm-account-page,
.storefront-static-page {
    background: var(--gm-app-bg) !important;
}

.gm-checkout-container,
.gm-account-container {
    width: min(1120px, calc(100% - 32px)) !important;
}

.gm-checkout-summary-panel {
    top: 96px !important;
}

.gm-checkout-submit,
.gm-storefront-cart-checkout,
.gm-account-submit,
.gm-address-submit,
.gm-checkout-block-head button.is-primary {
    background: var(--gm-app-ink) !important;
    color: #ffffff !important;
    box-shadow: none !important;
}

.gm-checkout-submit:hover,
.gm-storefront-cart-checkout:hover,
.gm-account-submit:hover,
.gm-address-submit:hover {
    background: var(--gm-app-brand) !important;
}

.gm-checkout-coupon,
.gm-checkout-loyalty,
.gm-checkout-totals,
.gm-checkout-empty-note,
.gm-storefront-cart-total,
.gm-account-address-card {
    border-color: rgba(222, 210, 195, 0.9) !important;
    background: #fbf7ef !important;
}

.gm-checkout-order-type,
.gm-cart-order-type-switch {
    border-color: rgba(222, 210, 195, 0.9) !important;
    background: #f0e7dc !important;
}

.gm-checkout-order-type .cart-switch:checked + label,
.gm-cart-order-type-switch .cart-switch:checked + label {
    background: var(--gm-app-ink) !important;
}

.gm-storefront-cart-screen {
    background: rgba(23, 18, 15, 0.38) !important;
    backdrop-filter: blur(8px) !important;
}

.gm-cart-surface > div.gm-storefront-cart-panel {
    border-left: 1px solid rgba(222, 210, 195, 0.82) !important;
    background: var(--gm-color-surface) !important;
    box-shadow: -26px 0 70px rgba(23, 18, 15, 0.18) !important;
}

.gm-storefront-cart-header,
.gm-storefront-cart-footer {
    background: rgba(255, 255, 255, 0.96) !important;
}

.storefront-account-dropdown,
.storefront-account-summary,
.storefront-account-dropdown .storefront-account-summary,
.gm-storefront-profile-card .storefront-account-summary {
    border-color: rgba(222, 210, 195, 0.82) !important;
    background: var(--gm-color-surface) !important;
}

.storefront-toast {
    top: calc(1rem + env(safe-area-inset-top)) !important;
    border-radius: 8px !important;
    box-shadow: var(--gm-app-shadow) !important;
}

.storefront-static-page .container {
    max-width: 860px !important;
}

.storefront-static-page .ql-editor {
    border: 1px solid rgba(222, 210, 195, 0.82) !important;
    border-radius: var(--gm-app-radius) !important;
    background: var(--gm-color-surface) !important;
    color: var(--gm-app-ink) !important;
    padding: clamp(18px, 3vw, 28px) !important;
    line-height: 1.62 !important;
}

.footer-part {
    background: #17120f !important;
}

.gm-storefront-shell .footer-part::before {
    display: none !important;
}

@keyframes gm-rise-in {
    from { opacity: 0; }
    to { opacity: 1; }
}

.gm-home-hero,
.gm-home-section,
.gm-menu-experience,
.gm-search-experience,
.gm-offers-page,
.gm-offer-items,
.gm-checkout-page,
.gm-account-page,
.storefront-static-page {
    animation: gm-rise-in 420ms ease both;
}

@media (max-width: 1023px) {
    .gm-premium-header .storefront-header-container {
        min-height: 96px !important;
    }

    .gm-home-hero__media {
        min-height: 420px !important;
    }

    .gm-home-banner-shell--hero .banner-swiper img {
        min-height: 420px !important;
        object-fit: cover !important;
    }

    .gm-home-hero__overlay {
        background: linear-gradient(180deg, rgba(20, 12, 8, 0.18), rgba(20, 12, 8, 0.9)) !important;
        justify-content: flex-end !important;
    }

    .gm-product-grid-premium {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 12px !important;
    }

    .gm-menu-card__content {
        min-height: 124px !important;
    }

    .gm-menu-card__add.product-card-grid-cart-btn {
        min-width: 42px !important;
        width: 42px !important;
        padding: 0 !important;
    }

    .gm-menu-card__add.product-card-grid-cart-btn span {
        display: none !important;
    }
}

@media (max-width: 767px) {
    .gm-storefront-shell .container {
        width: min(100% - 24px, 1188px) !important;
    }

    .gm-storefront-content {
        padding-bottom: calc(76px + env(safe-area-inset-bottom)) !important;
    }

    .gm-premium-header.ff-header .storefront-header-container {
        min-height: 100px !important;
        padding: 10px 12px 12px !important;
    }

    .storefront-language-corner {
        top: 10px !important;
        inset-inline-end: 12px !important;
    }

    .gm-home-hero {
        padding-top: 12px !important;
    }

    .gm-home-hero__media {
        min-height: min(520px, calc(100dvh - 142px)) !important;
    }

    .gm-home-banner-shell--hero .banner-swiper img {
        min-height: min(520px, calc(100dvh - 142px)) !important;
    }

    .gm-home-hero__overlay {
        padding: 22px !important;
    }

    .gm-home-hero__overlay h1 {
        font-size: clamp(36px, 12vw, 54px) !important;
    }

    .gm-home-quickbar {
        display: none !important;
    }

    .gm-home-promise {
        grid-template-columns: 1fr !important;
    }

    .gm-menu-hero,
    .gm-search-hero,
    .gm-page-heading {
        border-radius: 8px !important;
        padding: 18px !important;
    }

    .gm-menu-toolbar,
    .gm-results-toolbar {
        gap: 10px !important;
    }

    .gm-product-grid-premium {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .gm-menu-card.product-card-grid .gm-menu-card__media {
        aspect-ratio: 1 / 0.9 !important;
    }

    .gm-menu-card__title {
        font-size: 13.5px !important;
        line-height: 1.18 !important;
    }

    .gm-menu-card__content {
        min-height: 116px !important;
        padding: 10px !important;
    }

    .gm-menu-card__footer {
        align-items: center !important;
    }

    .gm-storefront-shell[data-surface="checkout"] .gm-mobile-tabbar,
    body.gm-cart-drawer-open .gm-mobile-tabbar {
        display: grid !important;
    }

    .gm-checkout-page {
        padding-bottom: calc(24px + env(safe-area-inset-bottom)) !important;
    }

    .gm-checkout-summary-actions {
        position: sticky !important;
        bottom: calc(12px + env(safe-area-inset-bottom)) !important;
        z-index: 20 !important;
        margin: 4px -2px -2px !important;
        padding-top: 8px !important;
        background: linear-gradient(180deg, rgba(255, 255, 255, 0), #ffffff 30%) !important;
    }

    .gm-storefront-cart-screen {
        background: var(--gm-color-surface) !important;
        backdrop-filter: none !important;
    }

    .gm-cart-surface > div.gm-storefront-cart-panel {
        border-left: 0 !important;
        box-shadow: none !important;
    }

    .gm-storefront-cart-footer {
        padding-bottom: calc(18px + env(safe-area-inset-bottom)) !important;
    }

    .modal.ff-modal.active .modal-dialog {
        width: calc(100vw - 20px) !important;
        max-height: calc(100dvh - 20px) !important;
        border-radius: 14px !important;
    }
}

.gm-offers-page {
    min-height: calc(100dvh - 170px) !important;
    margin-top: clamp(18px, 2.4vw, 34px) !important;
}

.gm-offers-hero {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: end !important;
    gap: clamp(18px, 3vw, 42px) !important;
    margin-bottom: clamp(18px, 3vw, 34px) !important;
    padding: clamp(22px, 4vw, 46px) !important;
    border: 1px solid rgba(222, 210, 195, 0.82) !important;
    border-radius: var(--gm-app-radius) !important;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(255, 255, 255, 0.88)),
        radial-gradient(circle at 86% 8%, rgba(168, 42, 36, 0.12), transparent 30%) !important;
}

.gm-offers-hero__eyebrow {
    display: inline-flex !important;
    margin-bottom: 12px !important;
    color: var(--gm-app-brand) !important;
    font-size: 12px !important;
    font-weight: 820 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
}

.gm-offers-hero h1 {
    margin: 0 !important;
    color: var(--gm-app-ink) !important;
    font-size: clamp(38px, 6vw, 78px) !important;
    font-weight: 860 !important;
    line-height: 0.96 !important;
    letter-spacing: 0 !important;
}

.gm-offers-hero p {
    max-width: 640px !important;
    margin: 16px 0 0 !important;
    color: var(--gm-app-muted) !important;
    font-size: clamp(15px, 1.25vw, 18px) !important;
    line-height: 1.55 !important;
}

.gm-offers-hero__cta,
.gm-offers-empty a {
    display: inline-flex !important;
    min-height: 46px !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 20px !important;
    border-radius: 999px !important;
    background: var(--gm-app-ink) !important;
    color: #ffffff !important;
    font-size: 14px !important;
    font-weight: 820 !important;
    transition: transform 180ms ease, background-color 180ms ease !important;
}

.gm-offers-hero__cta:hover,
.gm-offers-empty a:hover {
    background: var(--gm-app-brand) !important;
    transform: translateY(-1px) !important;
}

.gm-offer-grid {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)) !important;
    gap: clamp(16px, 2vw, 26px) !important;
}

.gm-offer-grid .gm-offer-card {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: clamp(230px, 26vw, 340px) !important;
    aspect-ratio: auto !important;
    overflow: hidden !important;
    border-radius: var(--gm-app-radius-lg) !important;
    background: var(--gm-app-ink) !important;
    isolation: isolate !important;
}

.gm-offer-grid .gm-offer-card::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    background:
        linear-gradient(90deg, rgba(23, 18, 15, 0.82), rgba(23, 18, 15, 0.36) 46%, rgba(23, 18, 15, 0.1)),
        linear-gradient(0deg, rgba(23, 18, 15, 0.42), transparent 58%) !important;
    pointer-events: none !important;
}

.gm-offer-grid .gm-offer-card img {
    width: 100% !important;
    height: 100% !important;
    min-height: inherit !important;
    object-fit: cover !important;
    transition: transform 520ms ease, filter 520ms ease !important;
}

.gm-offer-grid .gm-offer-card:hover img {
    transform: scale(1.035) !important;
    filter: saturate(1.05) contrast(1.02) !important;
}

.gm-offer-grid .gm-offer-card .gm-offer-card__badge,
.gm-offer-grid .gm-offer-card .gm-offer-card__title {
    position: absolute !important;
    z-index: 2 !important;
    right: auto !important;
    bottom: auto !important;
    left: clamp(18px, 3vw, 32px) !important;
    max-width: min(72%, 520px) !important;
    border-radius: 999px !important;
}

.gm-offer-grid .gm-offer-card .gm-offer-card__badge {
    top: clamp(18px, 2.4vw, 30px) !important;
    display: inline-flex !important;
    align-items: center !important;
    width: auto !important;
    padding: 7px 12px !important;
    background: rgba(255, 255, 255, 0.92) !important;
    color: var(--gm-app-brand) !important;
    font-size: 12px !important;
    font-weight: 820 !important;
    line-height: 1 !important;
}

.gm-offer-grid .gm-offer-card .gm-offer-card__title {
    bottom: clamp(18px, 3vw, 32px) !important;
    padding: 0 !important;
    background: transparent !important;
    color: #ffffff !important;
    font-size: clamp(24px, 3.4vw, 46px) !important;
    font-weight: 860 !important;
    line-height: 0.98 !important;
    letter-spacing: 0 !important;
    white-space: normal !important;
    text-shadow: 0 12px 32px rgba(0, 0, 0, 0.28) !important;
}

.gm-offers-empty {
    max-width: 520px !important;
    padding: 24px !important;
    border: 1px solid rgba(222, 210, 195, 0.82) !important;
    border-radius: var(--gm-app-radius) !important;
    background: var(--gm-app-surface-raised) !important;
}

.gm-offers-empty p {
    margin: 0 0 18px !important;
    color: var(--gm-app-muted) !important;
    font-size: 15px !important;
    line-height: 1.55 !important;
}

.gm-empty-state {
    display: flex !important;
    max-width: 520px !important;
    min-height: 280px !important;
    margin: clamp(28px, 6vw, 72px) auto !important;
    padding: clamp(24px, 4vw, 42px) !important;
    align-items: center !important;
    justify-content: center !important;
    flex-direction: column !important;
    text-align: center !important;
    border: 1px solid rgba(222, 210, 195, 0.82) !important;
    border-radius: var(--gm-app-radius) !important;
    background: rgba(255, 255, 255, 0.9) !important;
}

.gm-empty-state__mark {
    display: inline-flex !important;
    width: 64px !important;
    height: 64px !important;
    align-items: center !important;
    justify-content: center !important;
    margin-bottom: 18px !important;
    border: 1px solid rgba(168, 42, 36, 0.18) !important;
    border-radius: 999px !important;
    background: rgba(168, 42, 36, 0.08) !important;
    color: var(--gm-app-brand) !important;
    font-size: 28px !important;
    font-weight: 860 !important;
    line-height: 1 !important;
}

.gm-empty-state h2 {
    margin: 0 !important;
    color: var(--gm-app-ink) !important;
    font-size: clamp(24px, 3vw, 34px) !important;
    font-weight: 840 !important;
    line-height: 1.05 !important;
}

.gm-empty-state p {
    max-width: 360px !important;
    margin: 12px 0 22px !important;
    color: var(--gm-app-muted) !important;
    font-size: 15px !important;
    line-height: 1.55 !important;
}

.gm-empty-state a {
    display: inline-flex !important;
    min-height: 46px !important;
    min-width: 180px !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 20px !important;
    border-radius: 999px !important;
    background: var(--gm-app-brand) !important;
    color: #ffffff !important;
    font-size: 14px !important;
    font-weight: 820 !important;
    transition: transform 180ms ease, background-color 180ms ease !important;
}

.gm-empty-state a:hover {
    background: var(--gm-app-ink) !important;
    transform: translateY(-1px) !important;
}

@media (max-width: 767px) {
    .gm-offers-page {
        margin-top: 16px !important;
        margin-bottom: 92px !important;
    }

    .gm-offers-hero {
        grid-template-columns: 1fr !important;
        gap: 18px !important;
        padding: 22px !important;
        border-radius: 14px !important;
    }

    .gm-offers-hero h1 {
        font-size: 36px !important;
        line-height: 1 !important;
    }

    .gm-offers-hero p {
        font-size: 14px !important;
    }

    .gm-offers-hero__cta {
        width: 100% !important;
    }

    .gm-offer-grid {
        grid-template-columns: 1fr !important;
    }

    .gm-offer-grid .gm-offer-card {
        min-height: 226px !important;
        border-radius: 14px !important;
    }

    .gm-offer-grid .gm-offer-card .gm-offer-card__badge,
    .gm-offer-grid .gm-offer-card .gm-offer-card__title {
        left: 18px !important;
        max-width: calc(100% - 36px) !important;
    }

    .gm-offer-grid .gm-offer-card .gm-offer-card__title {
        font-size: 28px !important;
    }

    .gm-empty-state {
        min-height: 240px !important;
        margin: 24px auto 92px !important;
        padding: 24px 20px !important;
        border-radius: 14px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .animate-spin {
        animation: none !important;
    }

    .gm-home-hero,
    .gm-home-section,
    .gm-menu-experience,
    .gm-search-experience,
    .gm-offers-page,
    .gm-offer-items,
    .gm-checkout-page,
    .gm-account-page,
    .storefront-static-page {
        animation: none !important;
    }
}

/* Quiet modern refinement layer. */
:root {
    --gm-app-bg: var(--gm-color-surface);
    --gm-app-surface: var(--gm-color-surface);
    --gm-app-surface-raised: #ffffff;
    --gm-app-ink: #171412;
    --gm-app-muted: #6d6861;
    --gm-app-line: #e3dbcf;
    --gm-app-brand: #b3231e;
    --gm-app-radius: 12px;
    --gm-app-radius-lg: 16px;
    --gm-app-shadow: none;
    --gm-app-shadow-tight: none;
}

.gm-storefront-shell {
    background: var(--gm-app-bg) !important;
}

.gm-premium-header.ff-header {
    border-bottom-color: rgba(227, 219, 207, 0.88) !important;
    background: rgba(255, 255, 255, 0.92) !important;
    box-shadow: none !important;
}

.storefront-desktop-nav .storefront-nav-link:hover {
    background: transparent !important;
    color: var(--gm-app-ink) !important;
    transform: none !important;
}

.storefront-search-shell.header-search-group,
.gm-menu-hero__search,
.gm-search-hero__form {
    border-color: var(--gm-app-line) !important;
    background: rgba(255, 255, 255, 0.74) !important;
    box-shadow: none !important;
}

.gm-home-hero {
    padding: clamp(14px, 2vw, 24px) 0 4px !important;
}

.gm-home-hero__container {
    gap: 16px !important;
}

.gm-home-hero__media {
    min-height: clamp(430px, 50vw, 590px) !important;
    overflow: hidden !important;
    border-color: var(--gm-app-line) !important;
    border-radius: var(--gm-app-radius-lg) !important;
    background: #171412 !important;
    box-shadow: none !important;
}

.gm-home-banner-shell--hero .banner-swiper img {
    min-height: clamp(430px, 50vw, 590px) !important;
    filter: saturate(0.96) contrast(1.02) !important;
}

.gm-home-hero__overlay {
    max-width: 640px !important;
    padding: clamp(28px, 5vw, 64px) !important;
    background: linear-gradient(90deg, rgba(18, 15, 13, 0.78), rgba(18, 15, 13, 0.42) 58%, rgba(18, 15, 13, 0)) !important;
}

.gm-home-hero__overlay span,
.gm-menu-hero__eyebrow,
.gm-search-hero > div > span,
.gm-offers-hero__eyebrow {
    color: var(--gm-app-brand) !important;
    font-size: 11px !important;
    font-weight: 760 !important;
    letter-spacing: 0 !important;
}

.gm-home-hero__overlay span {
    color: rgba(255, 254, 250, 0.76) !important;
}

.gm-home-hero__overlay h1 {
    max-width: 560px !important;
    font-size: clamp(38px, 5.2vw, 68px) !important;
    font-weight: 820 !important;
    line-height: 1 !important;
}

.gm-home-hero__overlay p {
    max-width: 480px !important;
    color: rgba(255, 254, 250, 0.82) !important;
    font-size: clamp(14px, 1.2vw, 16px) !important;
    line-height: 1.55 !important;
}

.gm-home-hero__actions a,
.gm-home-hero__actions a:first-child,
.gm-home-quickbar a,
.gm-offers-hero__cta,
.gm-offers-empty a,
.gm-empty-state a {
    box-shadow: none !important;
}

.gm-home-hero__actions a:hover,
.gm-home-quickbar a:hover,
.gm-offers-hero__cta:hover,
.gm-offers-empty a:hover,
.gm-empty-state a:hover,
.gm-menu-card__add:hover,
.gm-checkout-submit:hover,
.gm-storefront-cart-checkout:hover,
.gm-account-submit:hover,
.gm-address-submit:hover {
    transform: none !important;
}

.gm-home-quickbar,
.gm-home-promise {
    display: none !important;
}

.gm-menu-hero,
.gm-search-hero,
.gm-page-heading,
.gm-offers-hero {
    margin-bottom: clamp(18px, 2.4vw, 28px) !important;
    padding: 6px 0 16px !important;
    border: 0 !important;
    border-bottom: 1px solid var(--gm-app-line) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.gm-menu-hero h1,
.gm-search-hero h1,
.gm-page-heading h1,
.gm-offers-hero h1 {
    font-size: clamp(34px, 4.6vw, 56px) !important;
    font-weight: 820 !important;
    line-height: 1.02 !important;
}

.gm-menu-hero p,
.gm-search-hero p,
.gm-page-heading p,
.gm-offers-hero p {
    color: var(--gm-app-muted) !important;
    font-size: 15px !important;
}

.gm-offers-hero {
    align-items: end !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
}

.gm-offers-hero__cta {
    border: 1px solid var(--gm-app-line) !important;
    background: #ffffff !important;
    color: var(--gm-app-ink) !important;
}

.gm-offer-grid {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)) !important;
    gap: 16px !important;
}

.gm-offer-grid .gm-offer-card {
    display: flex !important;
    min-height: 0 !important;
    flex-direction: column !important;
    overflow: hidden !important;
    border-color: var(--gm-app-line) !important;
    border-radius: var(--gm-app-radius) !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

.gm-offer-grid .gm-offer-card::before {
    display: none !important;
}

.gm-offer-grid .gm-offer-card img {
    display: block !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 2.65 / 1 !important;
    object-fit: contain !important;
    background: #111111 !important;
    transition: none !important;
}

.gm-offer-grid .gm-offer-card:hover img {
    transform: none !important;
    filter: none !important;
}

.gm-offer-grid .gm-offer-card .gm-offer-card__badge {
    display: none !important;
}

.gm-offer-grid .gm-offer-card .gm-offer-card__title {
    position: static !important;
    max-width: 100% !important;
    min-height: 76px !important;
    padding: 16px !important;
    background: transparent !important;
    color: var(--gm-app-ink) !important;
    font-size: 20px !important;
    font-weight: 760 !important;
    line-height: 1.12 !important;
    text-shadow: none !important;
}

.gm-storefront-content .gm-menu-card.product-card-grid,
.gm-storefront-content .gm-menu-card.product-card-list,
.gm-checkout-card,
.gm-checkout-empty-card,
.gm-account-card,
.gm-empty-state,
.gm-offers-empty {
    border-color: var(--gm-app-line) !important;
    border-radius: var(--gm-app-radius) !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

.gm-storefront-content .gm-menu-card.product-card-grid:hover,
.gm-storefront-content .gm-menu-card.product-card-list:hover,
.gm-offer-grid .gm-offer-card:hover {
    border-color: #d5cabe !important;
    box-shadow: none !important;
    transform: none !important;
}

.gm-storefront-content .gm-menu-card:hover .product-card-grid-image,
.gm-storefront-content .gm-menu-card:hover .product-card-list-image {
    filter: none !important;
    transform: none !important;
}

.gm-menu-card__add.product-card-grid-cart-btn,
.gm-menu-card__add.product-card-list-cart-btn,
.gm-checkout-submit,
.gm-storefront-cart-checkout,
.gm-account-submit,
.gm-address-submit {
    background: var(--gm-app-ink) !important;
    color: #ffffff !important;
    box-shadow: none !important;
}

.gm-filter-chip {
    border-color: var(--gm-app-line) !important;
    background: #ffffff !important;
    color: var(--gm-app-muted) !important;
}

.gm-filter-chip.is-active {
    border-color: var(--gm-app-ink) !important;
    background: var(--gm-app-ink) !important;
    color: #ffffff !important;
}

.gm-item-detail-page {
    margin-top: clamp(18px, 2.4vw, 34px) !important;
}

.gm-item-detail-card {
    gap: clamp(18px, 3vw, 34px) !important;
    padding: clamp(10px, 1.6vw, 16px) !important;
    border: 1px solid var(--gm-app-line) !important;
    border-radius: var(--gm-app-radius-lg) !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

.gm-item-detail-media {
    min-width: 0 !important;
}

.gm-item-detail-image {
    height: clamp(340px, 32vw, 460px) !important;
    border-radius: 12px !important;
}

.gm-item-detail-panel {
    min-width: 0 !important;
    padding: clamp(4px, 1.4vw, 18px) clamp(4px, 1.4vw, 18px) clamp(4px, 1.4vw, 18px) 0 !important;
}

.gm-item-detail-panel h1 {
    color: var(--gm-app-ink) !important;
    font-size: clamp(28px, 3vw, 42px) !important;
    font-weight: 820 !important;
    line-height: 1.03 !important;
}

.gm-item-detail-panel h2 {
    color: var(--gm-app-brand) !important;
}

.gm-item-detail-panel textarea,
.gm-item-detail-panel select {
    border-color: var(--gm-app-line) !important;
    border-radius: 12px !important;
    background: var(--gm-color-surface) !important;
}

.gm-item-buybar {
    border: 1px solid var(--gm-app-line) !important;
    border-radius: 14px !important;
    background: var(--gm-color-surface) !important;
}

.gm-mobile-tabbar {
    box-shadow: none !important;
}

@media (max-width: 767px) {
    .gm-home-hero__media {
        min-height: min(460px, calc(100dvh - 158px)) !important;
        border-radius: 14px !important;
    }

    .gm-home-banner-shell--hero .banner-swiper img {
        min-height: min(460px, calc(100dvh - 158px)) !important;
    }

    .gm-home-hero__overlay {
        padding: 22px !important;
        background: linear-gradient(180deg, rgba(18, 15, 13, 0.04), rgba(18, 15, 13, 0.78)) !important;
    }

    .gm-home-hero__overlay h1 {
        font-size: clamp(32px, 9.4vw, 42px) !important;
        line-height: 1.03 !important;
    }

    .gm-home-hero__overlay p {
        font-size: 14px !important;
    }

    .gm-home-hero__actions a {
        min-height: 44px !important;
    }

    .gm-menu-hero,
    .gm-search-hero,
    .gm-page-heading,
    .gm-offers-hero {
        padding: 2px 0 16px !important;
        border-radius: 0 !important;
    }

    .gm-menu-hero h1,
    .gm-search-hero h1,
    .gm-page-heading h1,
    .gm-offers-hero h1 {
        font-size: 32px !important;
        line-height: 1.05 !important;
    }

    .gm-offers-hero {
        grid-template-columns: 1fr !important;
    }

    .gm-offers-hero__cta {
        width: 100% !important;
    }

    .gm-offer-grid .gm-offer-card {
        border-radius: 12px !important;
    }

    .gm-offer-grid .gm-offer-card .gm-offer-card__title {
        min-height: 64px !important;
        padding: 14px !important;
        font-size: 19px !important;
    }

    .gm-item-detail-page {
        margin-top: 16px !important;
        padding-bottom: 118px !important;
    }

    .gm-item-detail-card {
        gap: 18px !important;
        padding: 12px !important;
        border-radius: 16px !important;
    }

    .gm-item-detail-image {
        height: min(280px, 68vw) !important;
        border-radius: 12px !important;
    }

    .gm-item-detail-panel {
        padding: 0 !important;
    }

    .gm-item-detail-panel h1 {
        font-size: 26px !important;
    }

    .gm-item-buybar {
        position: fixed !important;
        right: 14px !important;
        bottom: calc(76px + env(safe-area-inset-bottom)) !important;
        left: 14px !important;
        z-index: 78 !important;
        min-height: 66px !important;
        margin: 0 !important;
        padding: 10px 12px !important;
        border-radius: 999px !important;
        background: rgba(255, 255, 255, 0.94) !important;
        backdrop-filter: blur(18px) saturate(150%) !important;
    }

    .gm-item-buybar p {
        display: none !important;
    }

    .gm-item-buybar h3 {
        font-size: 18px !important;
    }

    body.gm-cart-drawer-open .gm-item-buybar {
        display: none !important;
    }
}

.gm-home-hero__media--editorial {
    position: relative !important;
    display: flex !important;
    align-items: stretch !important;
    min-height: clamp(480px, 48vw, 620px) !important;
    overflow: hidden !important;
    background: var(--gm-color-surface) !important;
}

.gm-home-hero__media--editorial .gm-home-hero__visuals {
    position: absolute !important;
    inset: 0 !important;
    overflow: hidden !important;
}

.gm-home-hero__media--editorial .gm-home-hero__visuals::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    background: linear-gradient(90deg, #ffffff 0%, #ffffff 42%, rgba(255, 255, 255, 0.74) 58%, rgba(255, 255, 255, 0.1) 100%) !important;
    pointer-events: none !important;
}

.gm-home-hero__dish {
    position: absolute !important;
    display: block !important;
    overflow: hidden !important;
    border: 1px solid var(--gm-app-line) !important;
    border-radius: 18px !important;
    background: #ffffff !important;
}

.gm-home-hero__dish img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    filter: saturate(0.98) contrast(1.02) !important;
}

.gm-home-hero__dish--1 {
    top: 42px !important;
    right: clamp(28px, 5vw, 78px) !important;
    width: clamp(330px, 38vw, 520px) !important;
    height: clamp(250px, 28vw, 380px) !important;
}

.gm-home-hero__dish--2 {
    right: clamp(290px, 30vw, 430px) !important;
    bottom: 46px !important;
    width: clamp(190px, 21vw, 300px) !important;
    height: clamp(150px, 17vw, 220px) !important;
}

.gm-home-hero__dish--3 {
    right: clamp(42px, 8vw, 130px) !important;
    bottom: 34px !important;
    width: clamp(220px, 25vw, 340px) !important;
    height: clamp(150px, 17vw, 230px) !important;
}

.gm-home-hero__media--editorial .gm-home-hero__overlay {
    position: relative !important;
    z-index: 2 !important;
    display: flex !important;
    max-width: 620px !important;
    min-height: inherit !important;
    justify-content: center !important;
    flex-direction: column !important;
    padding: clamp(34px, 5vw, 70px) !important;
    background: transparent !important;
}

.gm-home-hero__media--editorial .gm-home-hero__overlay h1 {
    font-size: clamp(36px, 4.4vw, 60px) !important;
    line-height: 1.03 !important;
}

.gm-home-hero__media--editorial .gm-home-hero__overlay span {
    color: var(--gm-app-brand) !important;
}

.gm-home-hero__media--editorial .gm-home-hero__overlay h1 {
    color: var(--gm-app-ink) !important;
}

.gm-home-hero__media--editorial .gm-home-hero__overlay p {
    color: var(--gm-app-muted) !important;
}

.gm-home-hero__media--editorial .gm-home-hero__actions a {
    border-color: var(--gm-app-line) !important;
    background: #ffffff !important;
    color: var(--gm-app-ink) !important;
}

.gm-home-hero__media--editorial .gm-home-hero__actions a:first-child {
    border-color: var(--gm-app-ink) !important;
    background: var(--gm-app-ink) !important;
    color: #ffffff !important;
}

@media (max-width: 767px) {
    .gm-home-hero__media--editorial {
        min-height: 540px !important;
    }

    .gm-home-hero__media--editorial .gm-home-hero__visuals::before {
        background: linear-gradient(180deg, #ffffff 0%, rgba(255, 255, 255, 0.96) 48%, rgba(255, 255, 255, 0.2) 100%) !important;
    }

    .gm-home-hero__dish--1 {
        top: auto !important;
        right: 16px !important;
        bottom: 22px !important;
        width: 250px !important;
        height: 178px !important;
    }

    .gm-home-hero__dish--2 {
        right: auto !important;
        bottom: 78px !important;
        left: 16px !important;
        width: 142px !important;
        height: 112px !important;
    }

    .gm-home-hero__dish--3 {
        top: auto !important;
        right: 128px !important;
        bottom: 18px !important;
        width: 120px !important;
        height: 92px !important;
    }

    .gm-home-hero__media--editorial .gm-home-hero__overlay {
        min-height: 330px !important;
        justify-content: flex-start !important;
        padding: 28px 22px !important;
    }

    .gm-home-hero__media--editorial .gm-home-hero__actions {
        gap: 8px !important;
    }

    .gm-home-promise {
        display: none !important;
    }
}

/* Minimalist correction pass: quiet app, lighter type, no redundant mobile chrome. */
.gm-storefront-shell {
    --gm-app-ink: #1d1a17;
    --gm-app-muted: #6f6a63;
    --gm-app-brand: #b32621;
    --gm-app-line: #e4ddd3;
}

.gm-home-hero__media--editorial {
    min-height: clamp(430px, 42vw, 540px) !important;
}

.gm-home-hero__media--editorial .gm-home-hero__overlay h1,
.gm-menu-hero h1,
.gm-search-hero h1,
.gm-page-heading h1,
.gm-offers-hero h1 {
    font-weight: 700 !important;
    letter-spacing: 0 !important;
}

.gm-section-heading h2,
.gm-menu-card__title,
.gm-offer-grid .gm-offer-card .gm-offer-card__title,
.gm-item-detail-panel h1,
.gm-empty-state h2 {
    font-weight: 650 !important;
}

.gm-menu-card__price h4,
.product-card-grid-price-current,
.product-card-list-price-current,
.gm-item-detail-panel h2,
.gm-item-buybar h3 {
    font-weight: 700 !important;
}

.gm-home-hero__media--editorial .gm-home-hero__overlay h1 {
    font-size: clamp(34px, 4vw, 54px) !important;
}

.gm-menu-hero__search {
    display: none !important;
}

@media (max-width: 767px) {
    .gm-storefront-content {
        padding-bottom: calc(70px + env(safe-area-inset-bottom)) !important;
    }

    .gm-home-hero {
        padding-top: 10px !important;
    }

    .gm-home-hero__media--editorial {
        min-height: 0 !important;
        border-radius: 12px !important;
    }

    .gm-home-hero__media--editorial .gm-home-hero__visuals {
        display: none !important;
    }

    .gm-home-hero__media--editorial .gm-home-hero__overlay {
        min-height: 0 !important;
        padding: 22px !important;
    }

    .gm-home-hero__media--editorial .gm-home-hero__overlay h1 {
        max-width: 300px !important;
        font-size: 31px !important;
        line-height: 1.08 !important;
        font-weight: 680 !important;
    }

    .gm-home-hero__media--editorial .gm-home-hero__overlay p {
        max-width: 295px !important;
        margin-top: 12px !important;
        font-size: 13.5px !important;
        line-height: 1.55 !important;
    }

    .gm-home-hero__media--editorial .gm-home-hero__actions {
        margin-top: 18px !important;
    }

    .gm-home-hero__media--editorial .gm-home-hero__actions a {
        min-height: 40px !important;
        padding-inline: 16px !important;
        font-size: 13px !important;
        font-weight: 650 !important;
    }

    .gm-menu-experience {
        margin-top: 16px !important;
    }

    .gm-menu-hero {
        display: block !important;
        margin-bottom: 12px !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
    }

    .gm-menu-hero__eyebrow {
        display: none !important;
    }

    .gm-menu-hero h1 {
        font-size: 29px !important;
        line-height: 1.12 !important;
        font-weight: 650 !important;
    }

    .menu-swiper {
        margin-bottom: 20px !important;
    }

    .menu-slides .gm-category-slide a {
        width: 92px !important;
        min-height: 94px !important;
        gap: 8px !important;
        padding: 10px 8px !important;
        border-radius: 10px !important;
        border-bottom-width: 1px !important;
        background: #ffffff !important;
    }

    .menu-slides .gm-category-slide img {
        height: 30px !important;
        filter: none !important;
    }

    .menu-slides .gm-category-slide .gm-category-name {
        font-size: 11px !important;
        line-height: 1.15 !important;
        font-weight: 560 !important;
    }

    .menu-slides .gm-category-slide .menu-category-active {
        border-color: rgba(179, 38, 33, 0.22) !important;
        background: #ffffff !important;
        color: var(--gm-app-brand) !important;
    }

    .gm-menu-toolbar {
        margin-bottom: 18px !important;
    }

    .gm-filter-chip {
        min-height: 38px !important;
        padding-inline: 14px !important;
        font-size: 13px !important;
        font-weight: 560 !important;
    }

    .gm-filter-chip.is-active {
        background: #1d1a17 !important;
        color: #ffffff !important;
    }

    .gm-menu-card__title {
        font-size: 13px !important;
        font-weight: 600 !important;
    }

    .gm-menu-card__content {
        min-height: 104px !important;
        padding: 9px !important;
    }

    .gm-menu-card__price h4 {
        font-size: 17px !important;
        font-weight: 650 !important;
        color: var(--gm-app-ink) !important;
    }

    .gm-item-detail-panel h2 {
        font-size: 28px !important;
        font-weight: 650 !important;
        color: var(--gm-app-brand) !important;
    }

    .gm-item-buybar h3 {
        font-size: 17px !important;
        font-weight: 650 !important;
        color: var(--gm-app-brand) !important;
    }

    .gm-menu-card__add.product-card-grid-cart-btn,
.gm-menu-card__add.product-card-list-cart-btn {
        box-shadow: none !important;
    }

    .gm-menu-card__add.product-card-grid-cart-btn,
    .gm-menu-card__add.product-card-list-cart-btn {
        background: #1d1a17 !important;
    }
}

/* Final mobile minimalism pass: app-like rhythm, lighter hierarchy, no promo chrome. */
.gm-storefront-shell {
    --gm-app-bg: var(--gm-color-surface);
    --gm-app-surface: var(--gm-color-surface);
    --gm-app-surface-2: #ffffff;
    --gm-app-ink: #24201c;
    --gm-app-muted: #746f68;
    --gm-app-soft: #f3eee7;
    --gm-app-line: #e8e0d6;
    --gm-app-brand: #bd2420;
    --gm-app-brand-soft: #fbefed;
    color: var(--gm-app-ink) !important;
    background: var(--gm-app-bg) !important;
}

.gm-storefront-shell :where(h1, h2, h3, h4, h5, h6) {
    letter-spacing: 0 !important;
}

.gm-storefront-shell :where(.font-bold) {
    font-weight: 650 !important;
}

.gm-storefront-shell :where(.font-semibold) {
    font-weight: 600 !important;
}

.gm-premium-header,
.gm-storefront-content,
.footer-part {
    background-color: var(--gm-app-bg) !important;
}

.gm-premium-header {
    border-bottom: 1px solid rgba(232, 224, 214, 0.82) !important;
    box-shadow: none !important;
}

.storefront-search-shell {
    border-color: var(--gm-app-line) !important;
    background: var(--gm-app-surface-2) !important;
    box-shadow: none !important;
}

.storefront-search-shell:focus-within {
    border-color: var(--gm-focus-ring) !important;
    background: #ffffff !important;
    box-shadow: 0 0 0 3px var(--gm-focus-ring) !important;
}

.storefront-nav-link {
    color: var(--gm-app-muted) !important;
    font-weight: 520 !important;
}

.storefront-nav-link:hover {
    color: var(--gm-app-brand) !important;
}

.gm-home-hero__media--editorial,
.gm-menu-hero,
.gm-offers-hero,
.gm-search-hero,
.gm-page-heading,
.gm-loyalty-card,
.gm-account-card,
.gm-storefront-cart-panel,
.gm-checkout-card,
.gm-empty-state,
.gm-modal-shell {
    box-shadow: none !important;
}

.gm-home-hero__media--editorial .gm-home-hero__overlay h1,
.gm-menu-hero h1,
.gm-search-hero h1,
.gm-offers-hero h1,
.gm-page-heading h1 {
    color: var(--gm-app-ink) !important;
    font-weight: 650 !important;
    letter-spacing: 0 !important;
}

.gm-home-hero__media--editorial .gm-home-hero__overlay span,
.gm-menu-hero__eyebrow,
.gm-offers-hero span,
.gm-search-hero span {
    color: var(--gm-app-brand) !important;
    font-weight: 650 !important;
    letter-spacing: 0.02em !important;
}

.gm-section-heading h2,
.gm-menu-card__title,
.gm-offer-card__title,
.gm-item-detail-panel h1,
.gm-cart-drawer-title,
.gm-checkout-page h1,
.gm-account-page h1 {
    color: var(--gm-app-ink) !important;
    font-weight: 620 !important;
    letter-spacing: 0 !important;
}

.gm-menu-card,
.gm-offer-card,
.gm-item-detail-shell,
.gm-cart-line,
.gm-checkout-card,
.gm-account-card,
.gm-loyalty-card,
.gm-empty-state {
    border-color: var(--gm-app-line) !important;
    background: var(--gm-app-surface-2) !important;
    box-shadow: none !important;
}

.gm-menu-card__badge,
.gm-menu-card__meta span,
.gm-filter-chip,
.gm-soft-link {
    font-weight: 560 !important;
    box-shadow: none !important;
}

.gm-menu-card__price h4,
.product-card-grid-price-current,
.product-card-list-price-current,
.gm-item-detail-panel h2,
.gm-item-buybar h3,
.gm-cart-line-drawer-price {
    color: var(--gm-app-ink) !important;
    font-weight: 650 !important;
    letter-spacing: 0 !important;
}

.gm-menu-card__add.product-card-grid-cart-btn,
.gm-menu-card__add.product-card-list-cart-btn {
    background: var(--gm-app-brand) !important;
    border-color: var(--gm-app-brand) !important;
    color: #ffffff !important;
    box-shadow: none !important;
}

.gm-menu-card__add.product-card-grid-cart-btn:hover,
.gm-menu-card__add.product-card-list-cart-btn:hover {
    background: #a91f1c !important;
}

.gm-menu-card__add.product-card-grid-cart-btn {
    background: #000 !important;
    min-width: 40px !important;
    max-width: 40px !important;
    width: 40px !important;
    height: 40px !important;
}

@media (max-width: 767px) {
    .gm-storefront-content {
        padding-bottom: calc(62px + env(safe-area-inset-bottom)) !important;
    }

    .gm-premium-header {
        padding-bottom: 10px !important;
    }

    .storefront-header-container {
        gap: 8px !important;
        padding-top: 12px !important;
    }

    .storefront-brand-logo {
        width: 126px !important;
    }

    .storefront-header-actions {
        gap: 8px !important;
        margin-top: 0 !important;
    }

    .storefront-search-shell {
        height: 42px !important;
        border-radius: 999px !important;
    }

    .header-search-field {
        font-size: 13px !important;
    }

    .gm-home-hero {
        padding-top: 8px !important;
    }

    .gm-home-hero__container {
        padding-inline: 22px !important;
    }

    .gm-home-hero__media--editorial {
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
    }

    .gm-home-hero__media--editorial .gm-home-hero__overlay {
        padding: 18px 0 20px !important;
    }

    .gm-home-hero__media--editorial .gm-home-hero__overlay span {
        font-size: 10px !important;
        line-height: 1.2 !important;
        letter-spacing: 0.08em !important;
    }

    .gm-home-hero__media--editorial .gm-home-hero__overlay h1 {
        max-width: 316px !important;
        margin-top: 12px !important;
        font-size: 28px !important;
        line-height: 1.13 !important;
        font-weight: 620 !important;
    }

    .gm-home-hero__media--editorial .gm-home-hero__overlay p {
        max-width: 318px !important;
        margin-top: 10px !important;
        color: var(--gm-app-muted) !important;
        font-size: 13px !important;
        line-height: 1.52 !important;
    }

    .gm-home-hero__media--editorial .gm-home-hero__actions {
        margin-top: 16px !important;
        gap: 8px !important;
    }

    .gm-home-hero__media--editorial .gm-home-hero__actions a {
        min-height: 38px !important;
        padding-inline: 15px !important;
        border-radius: 999px !important;
        font-size: 12px !important;
        font-weight: 610 !important;
    }

    .gm-home-hero__media--editorial .gm-home-hero__actions a:first-child {
        border-color: var(--gm-app-brand) !important;
        background: var(--gm-app-brand) !important;
    }

    .gm-home-section {
        margin-bottom: 34px !important;
    }

    .gm-section-heading {
        margin-bottom: 14px !important;
    }

    .gm-section-heading h2 {
        font-size: 21px !important;
        line-height: 1.2 !important;
        font-weight: 620 !important;
        text-transform: none !important;
    }

    .gm-soft-link {
        background: transparent !important;
        color: var(--gm-app-brand) !important;
        padding-inline: 0 !important;
        font-size: 12px !important;
    }

    .gm-menu-experience {
        margin-top: 14px !important;
    }

    .gm-menu-hero {
        margin-bottom: 14px !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
    }

    .gm-menu-hero h1,
    .gm-search-hero h1,
    .gm-offers-hero h1,
    .gm-page-heading h1 {
        font-size: 28px !important;
        line-height: 1.14 !important;
        font-weight: 620 !important;
    }

    .menu-swiper {
        margin-bottom: 18px !important;
    }

    .menu-slides {
        gap: 8px !important;
    }

    .menu-slides .gm-category-slide a {
        width: 78px !important;
        min-height: 76px !important;
        gap: 6px !important;
        padding: 8px 7px !important;
        border-radius: 9px !important;
        border-color: rgba(232, 224, 214, 0.92) !important;
        border-bottom-width: 1px !important;
        background: rgba(255, 255, 255, 0.72) !important;
        box-shadow: none !important;
    }

    .menu-slides .gm-category-slide img {
        height: 24px !important;
    }

    .menu-slides .gm-category-slide .gm-category-name {
        font-size: 10.5px !important;
        line-height: 1.12 !important;
        font-weight: 540 !important;
        letter-spacing: 0 !important;
    }

    .menu-slides .gm-category-slide .menu-category-active {
        border-color: rgba(189, 36, 32, 0.34) !important;
        color: var(--gm-app-brand) !important;
        background: var(--gm-app-surface-2) !important;
    }

    .gm-menu-toolbar {
        margin-bottom: 16px !important;
        gap: 10px !important;
    }

    .gm-menu-filters {
        gap: 8px !important;
    }

    .gm-filter-chip {
        min-height: 36px !important;
        padding-inline: 13px !important;
        border-color: var(--gm-app-line) !important;
        background: var(--gm-app-surface-2) !important;
        color: var(--gm-app-muted) !important;
        font-size: 12px !important;
        font-weight: 540 !important;
    }

    .gm-filter-chip.is-active {
        border-color: rgba(189, 36, 32, 0.28) !important;
        background: var(--gm-app-brand-soft) !important;
        color: var(--gm-app-brand) !important;
    }

    .gm-menu-viewbar span {
        color: #74708b !important;
        font-size: 13px !important;
        font-weight: 600 !important;
    }

    .gm-product-grid-premium {
        gap: 9px !important;
    }

    .gm-menu-card {
        border-radius: 10px !important;
        overflow: hidden !important;
    }

    .gm-menu-card__media {
        border-radius: 10px 10px 0 0 !important;
    }

    .product-card-grid-image {
        height: 145px !important;
    }

    .gm-menu-card__content {
        min-height: 96px !important;
        padding: 9px !important;
    }

    .gm-menu-card__title {
        font-size: 12.5px !important;
        line-height: 1.25 !important;
        font-weight: 580 !important;
    }

    .gm-menu-card__description,
    .gm-menu-card__meta {
        display: none !important;
    }

    .gm-menu-card__price h4,
    .product-card-grid-price-current,
    .product-card-list-price-current {
        font-size: 15.5px !important;
        line-height: 1.15 !important;
        font-weight: 620 !important;
    }

    .gm-menu-card__add.product-card-grid-cart-btn,
    .gm-menu-card__add.product-card-list-cart-btn {
        width: 34px !important;
        height: 34px !important;
        min-width: 34px !important;
        border-radius: 999px !important;
        background: var(--gm-app-brand) !important;
    }

    .gm-menu-card__add.product-card-grid-cart-btn {
        background: #000 !important;
    }

    .gm-menu-card__badge {
        border: 0 !important;
        border-radius: 999px !important;
        padding: 5px 8px !important;
        font-size: 10px !important;
        font-weight: 560 !important;
    }

    .gm-offers-hero,
    .gm-search-hero,
    .gm-page-heading {
        padding: 24px 0 18px !important;
        border: 0 !important;
        background: transparent !important;
    }

    .gm-offers-hero p,
    .gm-search-hero p,
    .gm-page-heading p {
        font-size: 13px !important;
        line-height: 1.5 !important;
    }

    .gm-offer-card {
        border-radius: 10px !important;
    }

    .gm-offer-card__title {
        font-size: 17px !important;
        line-height: 1.25 !important;
    }

    .gm-item-detail-shell {
        border-radius: 0 !important;
        border: 0 !important;
        background: transparent !important;
    }

    .gm-item-detail-panel h1 {
        font-size: 25px !important;
        line-height: 1.16 !important;
        font-weight: 620 !important;
    }

    .gm-item-detail-panel h2 {
        font-size: 24px !important;
        line-height: 1.12 !important;
        font-weight: 620 !important;
        color: var(--gm-app-brand) !important;
    }

    .gm-item-buybar {
        border-radius: 20px 20px 0 0 !important;
        border-inline: 0 !important;
        border-bottom: 0 !important;
        box-shadow: none !important;
    }

    .gm-item-buybar h3 {
        font-size: 16px !important;
        font-weight: 620 !important;
        color: var(--gm-app-brand) !important;
    }

    .gm-storefront-cart-panel {
        border-radius: 18px 0 0 18px !important;
        border-color: var(--gm-app-line) !important;
        background: var(--gm-app-surface) !important;
    }

    .gm-cart-line {
        border-radius: 10px !important;
    }

    .gm-empty-state {
        border: 0 !important;
        background: transparent !important;
        padding: 28px 20px !important;
    }

    .gm-empty-state__mark {
        display: none !important;
    }

    .gm-empty-state h2 {
        font-size: 22px !important;
        line-height: 1.2 !important;
        font-weight: 620 !important;
    }

    .gm-empty-state p {
        font-size: 13px !important;
        line-height: 1.5 !important;
    }

    .gm-empty-state a {
        min-height: 42px !important;
        border-radius: 999px !important;
        font-size: 13px !important;
        font-weight: 610 !important;
        box-shadow: none !important;
    }

    .gm-item-detail-page {
        margin-top: 18px !important;
    }

    .gm-item-detail-card {
        gap: 18px !important;
        margin-bottom: 28px !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    .gm-item-detail-media {
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
    }

    .gm-item-detail-image {
        height: 260px !important;
        border-radius: 13px !important;
    }

    .gm-item-detail-panel {
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    .gm-item-detail-panel h1 {
        margin-bottom: 4px !important;
        font-size: 25px !important;
        line-height: 1.18 !important;
        font-weight: 620 !important;
    }

    .gm-item-detail-panel h2,
    .gm-item-detail-panel .text-3xl {
        font-size: 25px !important;
        line-height: 1.12 !important;
        font-weight: 620 !important;
        color: var(--gm-app-brand) !important;
    }

    .gm-item-price-row {
        margin-bottom: 20px !important;
        gap: 10px !important;
    }

    .gm-item-price-previous {
        color: #8a849c !important;
        font-size: 15px !important;
        line-height: 1.2 !important;
    }

    .gm-item-price-current {
        color: var(--gm-app-brand) !important;
        font-size: 24px !important;
        line-height: 1.12 !important;
        font-weight: 610 !important;
    }

    .gm-item-option-chip {
        min-height: 32px !important;
        border-radius: 9px !important;
        background: var(--gm-app-surface-2) !important;
        color: var(--gm-app-ink) !important;
        border-color: var(--gm-app-line) !important;
        font-weight: 520 !important;
        box-shadow: none !important;
    }

    .gm-item-option-chip.bg-primary {
        background: var(--gm-app-brand-soft) !important;
        color: var(--gm-app-brand) !important;
        border-color: rgba(189, 36, 32, 0.28) !important;
    }

    .gm-item-detail-panel p {
        color: var(--gm-app-muted) !important;
    }

    .gm-item-detail-panel :where(label, h3, .text-heading) {
        color: var(--gm-app-ink) !important;
        font-weight: 560 !important;
    }

    .gm-item-detail-panel :where(select, textarea) {
        border-color: var(--gm-app-line) !important;
        background: var(--gm-app-surface-2) !important;
        box-shadow: none !important;
    }

    .gm-item-detail-panel :where(.indec-group) {
        background: var(--gm-app-soft) !important;
        box-shadow: none !important;
    }

    .gm-item-buybar {
        left: 0 !important;
        right: 0 !important;
        bottom: calc(58px + env(safe-area-inset-bottom)) !important;
        width: 100% !important;
        border-radius: 18px 18px 0 0 !important;
        border-color: var(--gm-app-line) !important;
        background: rgba(255, 255, 255, 0.97) !important;
        backdrop-filter: blur(18px) saturate(135%) !important;
    }

    .gm-storefront-content h2.gm-item-price-current.text-3xl,
    .gm-storefront-content .gm-item-detail-panel h2.gm-item-price-current {
        color: var(--gm-app-brand) !important;
        font-size: 24px !important;
        line-height: 1.12 !important;
        font-weight: 610 !important;
    }

    .gm-storefront-content .gm-item-detail-panel .gm-item-option-chip.bg-primary.text-white {
        background: var(--gm-app-brand-soft) !important;
        color: var(--gm-app-brand) !important;
        border-color: rgba(189, 36, 32, 0.28) !important;
    }
}

/* Final banner guard: the home page must have a real banner, but mobile stays compact. */
.gm-home-hero__media--has-banner {
    display: grid !important;
    grid-template-columns: minmax(0, 0.92fr) minmax(320px, 0.72fr) !important;
    align-items: center !important;
    gap: clamp(20px, 3vw, 42px) !important;
    min-height: clamp(360px, 38vw, 500px) !important;
    padding: clamp(24px, 3.6vw, 52px) !important;
    border: 1px solid rgba(232, 224, 214, 0.92) !important;
    border-radius: 14px !important;
    background: var(--gm-color-surface) !important;
    overflow: hidden !important;
}

.gm-home-hero__media--has-banner .gm-home-hero__visuals {
    display: none !important;
}

.gm-home-hero__media--has-banner .gm-home-hero__overlay {
    position: relative !important;
    z-index: 2 !important;
    max-width: 600px !important;
    min-height: 0 !important;
    padding: 0 !important;
}

.gm-home-hero__banner {
    position: relative !important;
    z-index: 1 !important;
    min-width: 0 !important;
}

.gm-home-banner-shell--inline,
.gm-home-banner-shell--inline .banner-swiper,
.gm-home-banner-shell--inline .swiper,
.gm-home-banner-shell--inline .swiper-wrapper,
.gm-home-banner-shell--inline .swiper-slide {
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
}

.gm-home-banner-shell--inline .banner-swiper {
    overflow: hidden !important;
    aspect-ratio: 2.8 / 1 !important;
    border: 1px solid rgba(232, 224, 214, 0.86) !important;
    border-radius: 12px !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

.gm-home-banner-shell--inline .banner-swiper img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    border-radius: 0 !important;
    object-fit: cover !important;
}

.gm-home-banner-shell--inline .swiper-button-prev,
.gm-home-banner-shell--inline .swiper-button-next {
    width: 34px !important;
    height: 34px !important;
    border: 1px solid rgba(232, 224, 214, 0.9) !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.88) !important;
    color: var(--gm-app-ink) !important;
    box-shadow: none !important;
}

.gm-home-banner-shell--inline .swiper-button-prev::after,
.gm-home-banner-shell--inline .swiper-button-next::after {
    font-size: 12px !important;
    font-weight: 700 !important;
}

.gm-home-banner-shell--inline .swiper-pagination-bullet {
    width: 5px !important;
    height: 5px !important;
    background: rgba(36, 32, 28, 0.28) !important;
    opacity: 1 !important;
}

.gm-home-banner-shell--inline .swiper-pagination-bullet-active {
    width: 16px !important;
    border-radius: 999px !important;
    background: var(--gm-app-brand) !important;
}

@media (max-width: 767px) {
    .gm-home-hero__media--has-banner {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
        min-height: 0 !important;
        padding: 18px 0 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
    }

    .gm-home-hero__media--has-banner .gm-home-hero__overlay {
        padding: 0 !important;
    }

    .gm-home-banner-shell--inline .banner-swiper {
        border-radius: 12px !important;
    }

    .gm-home-banner-shell--inline .banner-swiper img {
        height: 118px !important;
        object-fit: cover !important;
    }

    .gm-home-banner-shell--inline .swiper-button-prev,
    .gm-home-banner-shell--inline .swiper-button-next {
        display: none !important;
    }

    .gm-home-banner-shell--inline .swiper-pagination {
        bottom: 6px !important;
    }
}

/* Home hero product-first correction: make the first viewport a menu surface, not only a banner. */
.gm-home-hero__media--has-banner {
    grid-template-columns: minmax(0, 0.9fr) minmax(280px, 0.56fr) !important;
    gap: clamp(18px, 2.4vw, 34px) !important;
    min-height: clamp(390px, 35vw, 470px) !important;
    padding: clamp(22px, 3vw, 42px) !important;
}

.gm-home-hero__media--has-banner .gm-home-hero__overlay h1 {
    max-width: 540px !important;
    font-size: clamp(30px, 3.25vw, 44px) !important;
    line-height: 1.06 !important;
}

.gm-home-hero__media--has-banner .gm-home-hero__overlay p {
    max-width: 510px !important;
    margin-top: 12px !important;
    font-size: 16px !important;
    line-height: 1.55 !important;
}

.gm-home-hero__media--has-banner .gm-home-hero__actions {
    margin-top: 18px !important;
}

.gm-home-hero__picks {
    display: grid !important;
    gap: 10px !important;
    margin-top: 22px !important;
    max-width: 610px !important;
    text-transform: none !important;
}

.gm-home-hero__picks-title {
    display: block !important;
    color: var(--gm-app-muted) !important;
    font-size: 12px !important;
    font-weight: 650 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

.gm-home-hero__picks :where(span, strong, em, b, small) {
    letter-spacing: 0 !important;
    text-transform: none !important;
}

.gm-home-hero__media--editorial .gm-home-hero__overlay .gm-home-hero__picks,
.gm-home-hero__media--editorial .gm-home-hero__overlay .gm-home-hero__picks :where(span, strong, em, b, small) {
    letter-spacing: 0 !important;
    text-transform: none !important;
}

.gm-home-hero__media--editorial .gm-home-hero__overlay .gm-home-hero__picks-title {
    color: var(--gm-app-muted) !important;
    font-weight: 650 !important;
}

.gm-home-hero__picks-list {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 10px !important;
}

.gm-home-hero__pick {
    display: grid !important;
    grid-template-columns: 54px minmax(0, 1fr) !important;
    grid-template-areas:
        "media body"
        "media side" !important;
    gap: 6px 10px !important;
    min-width: 0 !important;
    padding: 8px !important;
    border: 1px solid rgba(232, 224, 214, 0.9) !important;
    border-radius: 12px !important;
    background: rgba(255, 255, 255, 0.78) !important;
    color: var(--gm-app-ink) !important;
    box-shadow: none !important;
    transition: border-color 180ms ease, transform 180ms ease, background 180ms ease !important;
}

.gm-home-hero__pick:hover {
    transform: translateY(-1px) !important;
    border-color: rgba(179, 38, 33, 0.28) !important;
    background: #ffffff !important;
}

.gm-home-hero__pick-media {
    grid-area: media !important;
    width: 54px !important;
    height: 54px !important;
    overflow: hidden !important;
    border-radius: 10px !important;
    background: #f7f2eb !important;
}

.gm-home-hero__pick-media img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.gm-home-hero__pick-body {
    grid-area: body !important;
    min-width: 0 !important;
}

.gm-home-hero__pick-body strong {
    display: block !important;
    overflow: hidden !important;
    color: var(--gm-app-ink) !important;
    font-size: 13px !important;
    font-weight: 680 !important;
    line-height: 1.2 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.gm-home-hero__pick-body em {
    display: -webkit-box !important;
    overflow: hidden !important;
    margin-top: 3px !important;
    color: var(--gm-app-muted) !important;
    font-size: 11.5px !important;
    font-style: normal !important;
    line-height: 1.3 !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
}

.gm-home-hero__pick-side {
    grid-area: side !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 6px !important;
    min-width: 0 !important;
}

.gm-home-hero__pick-side b {
    color: var(--gm-app-brand) !important;
    font-size: 13px !important;
    font-weight: 720 !important;
    line-height: 1 !important;
}

.gm-home-hero__pick-side small {
    color: var(--gm-app-muted) !important;
    font-size: 10.5px !important;
    font-weight: 620 !important;
    line-height: 1 !important;
}

.gm-home-banner-shell--inline .banner-swiper {
    aspect-ratio: 2.45 / 1 !important;
}

@media (max-width: 1023px) {
    .gm-home-hero__picks-list {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 767px) {
    .gm-home-hero__media--has-banner {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
        padding: 10px 0 0 !important;
    }

    .gm-home-hero__media--has-banner .gm-home-hero__overlay,
    .gm-home-hero__picks,
    .gm-home-hero__picks-list {
        width: 100% !important;
        max-width: none !important;
    }

    .gm-home-hero__media--has-banner .gm-home-hero__overlay h1 {
        max-width: 100% !important;
        font-size: 28px !important;
        line-height: 1.08 !important;
    }

    .gm-home-hero__media--has-banner .gm-home-hero__overlay p {
        max-width: 100% !important;
        margin-top: 10px !important;
        font-size: 13px !important;
        line-height: 1.48 !important;
    }

    .gm-home-hero__media--has-banner .gm-home-hero__actions {
        margin-top: 14px !important;
    }

    .gm-home-hero__picks {
        margin-top: 16px !important;
    }

    .gm-home-hero__pick {
        grid-template-columns: 58px minmax(0, 1fr) auto !important;
        grid-template-areas: "media body side" !important;
        align-items: center !important;
        padding: 8px !important;
    }

    .gm-home-hero__pick-media {
        width: 58px !important;
        height: 58px !important;
    }

    .gm-home-hero__pick-side {
        flex-direction: column !important;
        align-items: flex-end !important;
        justify-content: center !important;
    }

    .gm-home-banner-shell--inline .banner-swiper img {
        height: 96px !important;
    }
}

/* Final home minimal guard: the first screen is a compact menu section, not a marketing hero. */
.gm-home-hero {
    padding: 10px 0 0 !important;
}

.gm-home-hero__media--has-banner {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    min-height: 0 !important;
    padding: 0 0 16px !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(232, 224, 214, 0.86) !important;
    border-radius: 0 !important;
    background: transparent !important;
}

.gm-home-hero__media--has-banner .gm-home-hero__overlay {
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
}

.gm-home-hero__media--has-banner .gm-home-hero__overlay > span,
.gm-home-hero__media--has-banner .gm-home-hero__overlay > h1,
.gm-home-hero__media--has-banner .gm-home-hero__overlay > p,
.gm-home-hero__media--has-banner .gm-home-hero__actions {
    display: none !important;
}

.gm-home-hero__picks {
    gap: 10px !important;
    margin-top: 0 !important;
    max-width: none !important;
}

.gm-home-hero__media--editorial .gm-home-hero__overlay .gm-home-hero__picks-title {
    color: var(--gm-app-ink) !important;
    font-size: 22px !important;
    line-height: 1.18 !important;
    font-weight: 620 !important;
}

.gm-home-hero__picks-list {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 10px !important;
}

.gm-home-hero__pick {
    grid-template-columns: 50px minmax(0, 1fr) auto !important;
    grid-template-areas: "media body side" !important;
    align-items: center !important;
    min-height: 68px !important;
    padding: 8px !important;
    border-color: rgba(232, 224, 214, 0.9) !important;
    border-radius: 8px !important;
    background: #ffffff !important;
}

.gm-home-hero__pick-media {
    width: 50px !important;
    height: 50px !important;
    border-radius: 7px !important;
}

.gm-home-hero__pick-body strong {
    font-size: 14px !important;
    font-weight: 620 !important;
    line-height: 1.16 !important;
}

.gm-home-hero__pick-body em {
    margin-top: 3px !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
    -webkit-line-clamp: 1 !important;
}

.gm-home-hero__pick-side {
    flex-direction: column !important;
    align-items: flex-end !important;
    justify-content: center !important;
    gap: 4px !important;
}

.gm-home-hero__pick-side b {
    font-size: 14px !important;
    font-weight: 650 !important;
}

.gm-home-hero__pick-side small {
    color: var(--gm-app-muted) !important;
    font-size: 11px !important;
    font-weight: 520 !important;
}

.gm-home-banner-shell--inline .banner-swiper {
    height: clamp(88px, 9vw, 118px) !important;
    aspect-ratio: auto !important;
    border-radius: 8px !important;
}

.gm-home-banner-shell--inline .banner-swiper img {
    height: 100% !important;
    object-fit: cover !important;
}

@media (max-width: 767px) {
    .gm-home-hero {
        padding-top: 8px !important;
    }

    .gm-home-hero__media--has-banner {
        gap: 10px !important;
        padding-bottom: 12px !important;
    }

    .gm-home-hero__media--editorial .gm-home-hero__overlay .gm-home-hero__picks-title {
        font-size: 17px !important;
        line-height: 1.2 !important;
    }

    .gm-home-hero__picks-list {
        grid-template-columns: 1fr !important;
        gap: 8px !important;
    }

    .gm-home-hero__pick {
        grid-template-columns: 48px minmax(0, 1fr) auto !important;
        min-height: 64px !important;
        padding: 7px !important;
    }

    .gm-home-hero__pick-media {
        width: 48px !important;
        height: 48px !important;
    }

    .gm-home-hero__pick-body strong {
        font-size: 13px !important;
    }

    .gm-home-hero__pick-body em {
        font-size: 11px !important;
    }

    .gm-home-hero__pick-side b {
        font-size: 12.5px !important;
    }

    .gm-home-hero__pick-side small {
        font-size: 10px !important;
    }

    .gm-home-banner-shell--inline .banner-swiper {
        height: 84px !important;
    }
}

.gm-home-hero--banner-only {
    padding: 18px 0 0 !important;
}

.gm-home-hero--banner-only .gm-home-hero__container {
    display: block !important;
    width: min(1400px, calc(100% - 16px)) !important;
    padding-inline: 0 !important;
}

.gm-home-hero--banner-only .gm-home-banner-shell--home-only,
.gm-home-hero--banner-only .gm-home-banner-shell--home-only .banner-swiper,
.gm-home-hero--banner-only .gm-home-banner-shell--home-only .swiper,
.gm-home-hero--banner-only .gm-home-banner-shell--home-only .swiper-wrapper,
.gm-home-hero--banner-only .gm-home-banner-shell--home-only .swiper-slide {
    width: 100% !important;
}

.gm-home-hero--banner-only .gm-home-banner-shell--home-only .banner-swiper {
    aspect-ratio: auto !important;
    height: clamp(360px, 38vw, 460px) !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 16px !important;
    background: #171411 !important;
    box-shadow: 0 14px 36px rgba(34, 24, 18, 0.1) !important;
    overflow: hidden !important;
}

.gm-home-hero--banner-only .gm-home-banner-shell--home-only img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    object-fit: contain !important;
    border-radius: 16px !important;
}

@media (max-width: 767px) {
    .gm-storefront-shell[data-surface="home-banner"] .gm-premium-header {
        padding-bottom: 0 !important;
        border-bottom: 0 !important;
        box-shadow: none !important;
    }

    .gm-storefront-shell[data-surface="home-banner"] .storefront-header-container,
    .gm-storefront-shell[data-surface="home-banner"] .gm-premium-header.ff-header .storefront-header-container {
        min-height: 0 !important;
        padding-bottom: 0 !important;
    }

    .gm-home-hero--banner-only {
        padding-top: 8px !important;
    }

    .gm-home-hero--banner-only .gm-home-banner-shell--home-only .banner-swiper {
        aspect-ratio: auto !important;
        height: clamp(150px, 42vw, 190px) !important;
        border-radius: 12px !important;
        box-shadow: 0 10px 28px rgba(34, 24, 18, 0.1) !important;
    }

    .gm-home-hero--banner-only .gm-home-banner-shell--home-only img {
        border-radius: 12px !important;
    }
}

/* Final home rhythm guard: compact sections, no category card backplates. */
.gm-home-menu-section {
    margin-top: 12px !important;
    margin-bottom: 24px !important;
}

.gm-storefront-content .gm-home-menu-section {
    margin-bottom: 18px !important;
}

.gm-home-products-section,
.gm-home-popular-section {
    margin-bottom: 28px !important;
}

.gm-home-menu-section .gm-section-heading,
.gm-home-products-section .gm-section-heading,
.gm-home-popular-section .gm-section-heading {
    margin-top: 0 !important;
    margin-bottom: 14px !important;
}

.gm-home-menu-section .gm-section-heading h2,
.gm-home-products-section .gm-section-heading h2,
.gm-home-popular-section .gm-section-heading h2 {
    color: var(--gm-app-ink) !important;
    font-size: clamp(22px, 2.3vw, 28px) !important;
    line-height: 1.12 !important;
    font-weight: 620 !important;
    text-transform: none !important;
}

.gm-home-menu-section .gm-soft-link {
    padding: 0 !important;
    background: transparent !important;
    color: var(--gm-app-brand) !important;
    font-size: 15px !important;
    line-height: 1.2 !important;
    font-weight: 520 !important;
}

.gm-home-menu-section .menu-swiper {
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
}

.gm-home-menu-section .menu-slides {
    overflow: visible !important;
}

.gm-home-menu-section .menu-slides .swiper-wrapper {
    align-items: flex-start !important;
}

.gm-home-menu-section .gm-category-slide {
    width: auto !important;
    height: auto !important;
}

.gm-home-menu-section .menu-slides .gm-category-slide a {
    width: 128px !important;
    height: 72px !important;
    min-height: 66px !important;
    gap: 7px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    color: var(--gm-app-ink) !important;
}

.gm-home-menu-section .menu-slides .gm-category-slide a:hover {
    transform: none !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--gm-app-brand) !important;
}

.gm-home-menu-section .menu-slides .gm-category-slide img {
    height: 34px !important;
    max-width: 56px !important;
    object-fit: contain !important;
    filter: none !important;
}

.gm-home-menu-section .menu-slides .gm-category-slide .gm-category-name {
    max-width: 118px !important;
    color: inherit !important;
    font-size: 14px !important;
    line-height: 1.14 !important;
    font-weight: 540 !important;
    letter-spacing: 0 !important;
}

@media (max-width: 767px) {
    .gm-home-menu-section {
        margin-top: 10px !important;
        margin-bottom: 22px !important;
    }

    .gm-storefront-content .gm-home-menu-section {
        margin-bottom: 16px !important;
    }

    .gm-home-products-section,
    .gm-home-popular-section {
        margin-bottom: 24px !important;
    }

    .gm-home-menu-section .gm-section-heading,
    .gm-home-products-section .gm-section-heading,
    .gm-home-popular-section .gm-section-heading {
        margin-bottom: 11px !important;
    }

    .gm-home-menu-section .gm-section-heading h2,
    .gm-home-products-section .gm-section-heading h2,
    .gm-home-popular-section .gm-section-heading h2 {
        font-size: 20px !important;
        line-height: 1.15 !important;
    }

    .gm-home-menu-section .gm-soft-link {
        font-size: 12.5px !important;
        font-weight: 520 !important;
    }

    .gm-home-menu-section .menu-slides .gm-category-slide a {
        width: 72px !important;
        height: 58px !important;
        min-height: 58px !important;
        gap: 5px !important;
    }

    .gm-home-menu-section .menu-slides .gm-category-slide img {
        height: 26px !important;
        max-width: 42px !important;
    }

    .gm-home-menu-section .menu-slides .gm-category-slide .gm-category-name {
        max-width: 70px !important;
        font-size: 10.5px !important;
        line-height: 1.1 !important;
        font-weight: 520 !important;
    }
}

/* Final home menu bar: premium navigation, not category tiles. */
.gm-home-menu-section {
    position: relative !important;
    z-index: 2 !important;
    margin-top: 14px !important;
    margin-bottom: 28px !important;
}

.gm-storefront-content .gm-home-menu-section {
    margin-bottom: 28px !important;
}

.gm-home-menu-bar {
    display: block !important;
    padding: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.gm-home-menu-categories {
    min-width: 0 !important;
    overflow: hidden !important;
}

.gm-home-menu-categories .menu-slides,
.gm-menu-experience .menu-swiper .menu-slides {
    padding: 0 !important;
    overflow: visible !important;
}

.gm-home-menu-categories .menu-slides .swiper-wrapper,
.gm-menu-experience .menu-swiper .menu-slides .swiper-wrapper {
    align-items: flex-start !important;
}

.gm-home-menu-categories .gm-category-slide,
.gm-menu-experience .menu-swiper .gm-category-slide {
    width: 6.5rem !important;
    min-width: 0 !important;
    max-width: 6.5rem !important;
    flex: 0 0 6.5rem !important;
    height: auto !important;
}

.gm-home-menu-categories .menu-slides .gm-category-slide a,
.gm-menu-experience .menu-swiper .menu-slides .gm-category-slide a {
    display: inline-flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 6rem !important;
    gap: var(--gm-space-2) !important;
    padding: var(--gm-space-1) var(--gm-space-1) var(--gm-space-2) !important;
    border: 0 !important;
    border-radius: var(--gm-radius-control) !important;
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    color: var(--gm-app-ink) !important;
    text-align: center !important;
}

.gm-home-menu-categories .menu-slides .gm-category-slide a:hover,
.gm-menu-experience .menu-swiper .menu-slides .gm-category-slide a:hover {
    color: var(--gm-app-brand) !important;
    transform: none !important;
    background: transparent !important;
    box-shadow: none !important;
}

.gm-home-menu-categories .menu-slides .gm-category-slide a:focus-visible,
.gm-menu-experience .menu-swiper .menu-slides .gm-category-slide a:focus-visible {
    outline: 3px solid var(--gm-focus-ring) !important;
    outline-offset: -3px !important;
}

.gm-home-menu-categories .menu-slides .gm-category-slide .gm-category-artwork,
.gm-menu-experience .menu-swiper .menu-slides .gm-category-slide .gm-category-artwork {
    width: 3.5rem !important;
    height: 3.5rem !important;
}

.gm-home-menu-categories .menu-slides .gm-category-slide img:not(.gm-category-artwork__image),
.gm-menu-experience .menu-swiper .menu-slides .gm-category-slide img:not(.gm-category-artwork__image) {
    flex: 0 0 auto !important;
    width: min(100%, 92px) !important;
    height: 66px !important;
    max-width: 92px !important;
    object-fit: contain !important;
    filter: none !important;
}

.gm-home-menu-categories .menu-slides .gm-category-slide .gm-category-name,
.gm-menu-experience .menu-swiper .menu-slides .gm-category-slide .gm-category-name {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    color: inherit !important;
    font-size: 14px !important;
    line-height: 1.15 !important;
    font-weight: 590 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
    hyphens: none !important;
    text-wrap: balance;
}

.gm-home-menu-categories .menu-slides,
.gm-menu-experience .menu-swiper .menu-slides {
    padding: 2px !important;
}

.gm-home-menu-categories .gm-category-native-rail,
.gm-menu-experience .menu-swiper .gm-category-native-rail {
    display: flex !important;
    gap: 16px !important;
    width: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-padding-inline: 2px !important;
    scroll-snap-type: inline mandatory !important;
    overscroll-behavior-inline: contain !important;
    -webkit-overflow-scrolling: touch !important;
}

.gm-home-menu-categories .gm-category-native-rail:focus-visible,
.gm-menu-experience .menu-swiper .gm-category-native-rail:focus-visible {
    outline: 3px solid var(--gm-focus-ring) !important;
    outline-offset: 3px !important;
    border-radius: 12px !important;
}

.gm-home-menu-categories .gm-category-native-rail > .gm-category-slide,
.gm-menu-experience .menu-swiper .gm-category-native-rail > .gm-category-slide {
    scroll-snap-align: start !important;
}

.gm-home-menu-categories .gm-category-slide {
    width: 6.5rem !important;
    max-width: 6.5rem !important;
    flex: 0 0 6.5rem !important;
}

.gm-home-menu-categories .menu-slides .gm-category-slide a {
    height: auto !important;
    min-width: 0 !important;
    min-height: 6rem !important;
    gap: var(--gm-space-2) !important;
    padding: var(--gm-space-1) var(--gm-space-1) var(--gm-space-2) !important;
    border: 0 !important;
    border-radius: var(--gm-radius-control) !important;
    background: transparent !important;
    transition: color 180ms ease !important;
}

.gm-home-menu-categories .menu-slides .gm-category-slide a:hover {
    transform: none !important;
    background: transparent !important;
}

.gm-home-menu-categories .menu-slides .gm-category-slide .gm-category-artwork {
    width: 3.5rem !important;
    height: 3.5rem !important;
}

.gm-home-menu-categories .menu-slides .gm-category-slide .gm-category-name {
    font-size: 14px !important;
    line-height: 1.15 !important;
    font-weight: 590 !important;
    overflow-wrap: break-word !important;
    hyphens: none !important;
}

.gm-home-menu-categories .menu-slides .gm-category-slide img:not(.gm-category-artwork__image) {
    width: min(100%, 104px) !important;
    height: 72px !important;
    max-width: 104px !important;
    transition: transform 220ms var(--gm-ease-emphasized) !important;
}

.gm-home-menu-categories .menu-slides .gm-category-slide a:hover img:not(.gm-category-artwork__image) {
    transform: translateY(-3px) scale(1.035) !important;
}

.gm-menu-experience .menu-swiper {
    margin-bottom: 14px !important;
    padding: 0 !important;
}

.gm-menu-experience .menu-swiper .menu-slides .gm-category-slide .menu-category-active {
    color: var(--gm-app-brand) !important;
    background: transparent !important;
}

.gm-menu-experience .menu-swiper .menu-slides .gm-category-slide .menu-category-active .gm-category-name {
    color: var(--gm-app-brand) !important;
}

.gm-menu-experience .menu-swiper .menu-category-active img {
    filter: none !important;
}

@media (max-width: 767px) {
    .gm-home-menu-section,
    .gm-storefront-content .gm-home-menu-section {
        margin-top: var(--gm-space-2) !important;
        margin-bottom: var(--gm-space-4) !important;
    }

    .gm-home-menu-bar {
        padding: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    .gm-home-menu-categories .gm-category-slide,
    .gm-menu-experience .menu-swiper .gm-category-slide {
        width: 6rem !important;
        max-width: 6rem !important;
        flex-basis: 6rem !important;
    }

    .gm-home-menu-categories .menu-slides .gm-category-slide a,
    .gm-menu-experience .menu-swiper .menu-slides .gm-category-slide a {
        min-width: 0 !important;
        height: auto !important;
        min-height: 5.5rem !important;
        gap: 6px !important;
        padding: var(--gm-space-1) 2px 6px !important;
    }

    .gm-home-menu-categories .menu-slides .gm-category-slide .gm-category-artwork,
    .gm-menu-experience .menu-swiper .menu-slides .gm-category-slide .gm-category-artwork {
        width: 3rem !important;
        height: 3rem !important;
    }

    .gm-home-menu-categories .menu-slides .gm-category-slide img:not(.gm-category-artwork__image),
    .gm-menu-experience .menu-swiper .menu-slides .gm-category-slide img:not(.gm-category-artwork__image) {
        width: min(100%, 78px) !important;
        height: 56px !important;
        max-width: 78px !important;
    }

    .gm-home-menu-categories .menu-slides .gm-category-slide .gm-category-name,
    .gm-menu-experience .menu-swiper .menu-slides .gm-category-slide .gm-category-name {
        font-size: 13px !important;
        line-height: 1.15 !important;
        font-weight: 590 !important;
    }

    .gm-home-menu-categories .gm-category-slide {
        width: 6rem !important;
        max-width: 6rem !important;
        flex-basis: 6rem !important;
    }

    .gm-home-menu-categories .menu-slides .gm-category-slide a {
        min-width: 0 !important;
        height: auto !important;
        min-height: 5.5rem !important;
        gap: 6px !important;
        padding: var(--gm-space-1) 2px 6px !important;
        border: 0 !important;
        background: transparent !important;
    }

    .gm-home-menu-categories .menu-slides .gm-category-slide .gm-category-artwork {
        width: 3rem !important;
        height: 3rem !important;
    }

    .gm-home-menu-categories .menu-slides .gm-category-slide .gm-category-name {
        font-size: 13px !important;
        line-height: 1.15 !important;
        font-weight: 590 !important;
    }

    .gm-home-menu-categories .menu-slides.gm-category-native-rail,
    .gm-menu-experience .menu-swiper .gm-category-native-rail {
        gap: 12px !important;
        padding-inline-start: 2px !important;
        padding-inline-end: 2px !important;
        scroll-padding-inline-start: 2px !important;
        scroll-padding-inline-end: 2px !important;
    }
}

@media (min-width: 768px) and (max-width: 899px) {
    .gm-home-menu-categories .gm-category-slide,
    .gm-menu-experience .menu-swiper .gm-category-slide {
        width: 6.5rem !important;
        max-width: 6.5rem !important;
        flex-basis: 6.5rem !important;
    }
}

@media (min-width: 900px) and (max-width: 1199px) {
    .gm-home-menu-categories .gm-category-slide,
    .gm-menu-experience .menu-swiper .gm-category-slide {
        width: 6.5rem !important;
        max-width: 6.5rem !important;
        flex-basis: 6.5rem !important;
    }
}

.gm-home-menu-categories {
    width: 100% !important;
}

/* Home product rails use native touch scrolling and preserve grids elsewhere. */
.gm-home-products-section .gm-product-carousel {
    display: flex !important;
    grid-template-columns: none !important;
    gap: clamp(14px, 2vw, 22px) !important;
    width: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 2px 2px 16px !important;
    scroll-padding-inline: 2px !important;
    scroll-snap-type: inline mandatory !important;
    overscroll-behavior-inline: contain !important;
    -webkit-overflow-scrolling: touch !important;
}

.gm-home-products-section .gm-product-carousel:focus-visible {
    outline: 3px solid var(--gm-focus-ring) !important;
    outline-offset: 4px !important;
    border-radius: 12px !important;
}

.gm-home-products-section .gm-product-carousel > .gm-menu-card {
    width: clamp(238px, 26vw, 292px) !important;
    min-width: clamp(238px, 26vw, 292px) !important;
    flex: 0 0 clamp(238px, 26vw, 292px) !important;
    scroll-snap-align: start !important;
    scroll-snap-stop: normal !important;
}

@media (max-width: 767px) {
    .gm-home-products-section .gm-product-carousel {
        width: calc(100% + 12px) !important;
        padding-inline-end: 18px !important;
    }

    .gm-home-products-section .gm-product-carousel > .gm-menu-card {
        width: min(74vw, 280px) !important;
        min-width: min(74vw, 280px) !important;
        flex-basis: min(74vw, 280px) !important;
    }
}

/* Final offers guard: offers is an app section, not a giant landing hero. */
.gm-offers-page {
    margin-top: 0 !important;
    margin-bottom: 40px !important;
}

.gm-offers-hero {
    display: block !important;
    margin: 0 0 16px !important;
    padding: 14px 0 12px !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(232, 224, 214, 0.86) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.gm-offers-hero__eyebrow,
.gm-offers-hero p,
.gm-offers-hero__cta {
    display: none !important;
}

.gm-offers-hero__eyebrow {
    margin-bottom: 9px !important;
    color: var(--gm-app-brand) !important;
    font-size: 11px !important;
    line-height: 1.1 !important;
    font-weight: 560 !important;
    letter-spacing: 0.08em !important;
    opacity: 0.9 !important;
}

.gm-offers-hero h1 {
    max-width: 640px !important;
    color: var(--gm-app-ink) !important;
    font-size: clamp(24px, 2.1vw, 30px) !important;
    line-height: 1.15 !important;
    font-weight: 620 !important;
    letter-spacing: 0 !important;
}

.gm-offers-hero p {
    max-width: 560px !important;
    margin-top: 10px !important;
    color: var(--gm-app-muted) !important;
    font-size: 15px !important;
    line-height: 1.45 !important;
    font-weight: 400 !important;
}

.gm-offers-hero__cta {
    min-height: 40px !important;
    padding: 0 16px !important;
    border: 1px solid var(--gm-app-line) !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    color: var(--gm-app-ink) !important;
    font-size: 13px !important;
    font-weight: 560 !important;
    box-shadow: none !important;
}

.gm-offer-grid {
    gap: 14px !important;
}

.gm-offer-grid .gm-offer-card {
    border-radius: 10px !important;
    box-shadow: none !important;
}

@media (max-width: 767px) {
    .gm-offers-page {
        margin-top: 0 !important;
    }

    .gm-offers-hero {
        margin-bottom: 14px !important;
        padding: 12px 0 10px !important;
    }

    .gm-offers-hero__eyebrow {
        margin-bottom: 8px !important;
        font-size: 10px !important;
        letter-spacing: 0.075em !important;
    }

    .gm-offers-hero h1 {
        font-size: 24px !important;
        line-height: 1.12 !important;
        font-weight: 620 !important;
    }

    .gm-offers-hero p {
        max-width: 320px !important;
        margin-top: 9px !important;
        font-size: 13px !important;
        line-height: 1.5 !important;
    }

    .gm-offers-hero__cta {
        width: fit-content !important;
        min-height: 36px !important;
        padding: 0 14px !important;
        font-size: 12px !important;
    }
}

/* Final quantity stepper guard: precise, quiet, aligned storefront controls. */
.gm-storefront-content .indec-group,
.gm-cart-surface .gm-cart-quantity.indec-group,
.gm-quantity-stepper {
    display: grid !important;
    grid-template-columns: 30px 34px 30px !important;
    align-items: center !important;
    justify-items: center !important;
    gap: 0 !important;
    width: 100px !important;
    min-width: 100px !important;
    height: 34px !important;
    min-height: 34px !important;
    overflow: hidden !important;
    padding: 2px !important;
    border: 1px solid var(--gm-app-line, #e8e0d6) !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

.gm-storefront-content .indec-group .indec-minus,
.gm-storefront-content .indec-group .indec-plus,
.gm-cart-surface .gm-cart-quantity.indec-group .indec-minus,
.gm-cart-surface .gm-cart-quantity.indec-group .indec-plus,
.gm-quantity-stepper > button {
    display: grid !important;
    width: 28px !important;
    min-width: 28px !important;
    height: 28px !important;
    min-height: 28px !important;
    place-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: var(--gm-app-brand-soft, #fbefed) !important;
    color: var(--gm-app-brand, #bd2420) !important;
    -webkit-text-fill-color: var(--gm-app-brand, #bd2420) !important;
    box-shadow: none !important;
    font-size: 17px !important;
    font-weight: 520 !important;
    line-height: 1 !important;
    transform: none !important;
}

.gm-storefront-content .indec-group .indec-minus:hover,
.gm-storefront-content .indec-group .indec-plus:hover,
.gm-cart-surface .gm-cart-quantity.indec-group .indec-minus:hover,
.gm-cart-surface .gm-cart-quantity.indec-group .indec-plus:hover,
.gm-quantity-stepper > button:hover {
    background: var(--gm-app-brand, #bd2420) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    transform: none !important;
}

.gm-storefront-content .indec-group .indec-minus :where(i, span), .gm-storefront-content .indec-group .indec-plus :where(i, span), .gm-cart-surface .gm-cart-quantity.indec-group .indec-minus :where(i, span), .gm-cart-surface .gm-cart-quantity.indec-group .indec-plus :where(i, span), .gm-quantity-stepper > button :where(i, span) {
    display: block !important;
    color: currentColor !important;
    -webkit-text-fill-color: currentColor !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    line-height: 1 !important;
    transform: translateY(-0.5px) !important;
}

.gm-storefront-content .indec-group .indec-value,
.gm-cart-surface .gm-cart-quantity.indec-group .indec-value,
.gm-quantity-stepper > :not(button) {
    display: grid !important;
    width: 34px !important;
    min-width: 34px !important;
    height: 30px !important;
    min-height: 30px !important;
    place-items: center !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--gm-app-ink, #24201c) !important;
    box-shadow: none !important;
    font-size: 15px !important;
    font-weight: 560 !important;
    line-height: 30px !important;
    text-align: center !important;
}

/* Final category rail rhythm guard. */
.gm-storefront-shell .gm-storefront-content .gm-menu-experience .gm-menu-hero {
    margin-bottom: 16px !important;
}

.gm-storefront-shell .gm-storefront-content .gm-menu-experience .menu-swiper,
.gm-storefront-shell .gm-storefront-content .gm-menu-experience .menu-swiper.mb-8 {
    margin-bottom: 16px !important;
}

.gm-storefront-shell .gm-storefront-content .gm-menu-experience .gm-menu-toolbar {
    margin-top: 0 !important;
}

/* Final storefront search guard: quiet neutral surface with the action on the right. */
.gm-storefront-shell .storefront-search-shell.header-search-group {
    overflow: visible !important;
    padding-inline: 18px 6px !important;
    border-color: #e3ded6 !important;
    background: #ffffff !important;
    box-shadow: 0 2px 10px rgba(36, 32, 28, 0.035) !important;
}

.gm-storefront-shell .storefront-search-shell.header-search-group:focus-within {
    border-color: #aaa39a !important;
    background: #ffffff !important;
    box-shadow: 0 4px 16px rgba(36, 32, 28, 0.08) !important;
    transform: none !important;
}

.gm-storefront-shell .storefront-search-shell.header-search-group :where(input, button):focus,
.gm-storefront-shell .storefront-search-shell.header-search-group :where(input, button):focus-visible {
    outline: 0 !important;
    box-shadow: none !important;
}

.gm-storefront-shell .storefront-search-shell.header-search-group .header-search-field {
    border: 0 !important;
    box-shadow: none !important;
}

.gm-storefront-shell .storefront-search-shell.header-search-group .header-search-submit {
    flex: 0 0 auto !important;
    color: var(--gm-app-ink) !important;
}

/* Final desktop header alignment guard. */
@media (min-width: 1024px) {
    .gm-premium-header .storefront-header-actions {
        width: auto !important;
        min-width: max-content !important;
        height: auto !important;
        flex: 0 0 auto !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 10px !important;
        margin-inline-start: auto !important;
        margin-top: 0 !important;
    }

    .gm-premium-header .storefront-brand-wrap {
        width: fit-content !important;
        flex: 0 0 auto !important;
    }

    .gm-premium-header .storefront-brand-link,
    .gm-premium-header .storefront-brand-logo {
        flex-shrink: 0 !important;
    }

    .gm-premium-header .storefront-action-row {
        order: 2 !important;
        width: auto !important;
        min-width: max-content !important;
        flex: 0 0 auto !important;
        align-items: center !important;
        gap: 10px !important;
    }

    .gm-premium-header .storefront-language-corner {
        position: relative !important;
        top: auto !important;
        inset-inline-end: auto !important;
        order: 0 !important;
        align-items: center !important;
        height: 44px !important;
    }

    .gm-premium-header .storefront-language-corner .dropdown-btn {
        height: 44px !important;
        min-height: 44px !important;
        min-width: 72px !important;
        padding: 0 14px !important;
    }

    .gm-premium-header .webcart,
    .gm-premium-header .dropdown-group > .dropdown-btn,
    .gm-premium-header a.bg-primary,
    .gm-premium-header span.bg-primary {
        height: 44px !important;
        min-height: 44px !important;
        padding-inline: 18px !important;
    }

    .gm-premium-header .storefront-search-shell.header-search-group {
        --gm-header-search-expanded: 168px;
        width: 52px !important;
        min-width: 52px !important;
        max-width: 52px !important;
        flex: 0 0 52px !important;
        height: 44px !important;
        justify-content: center !important;
        gap: 0 !important;
        overflow: hidden !important;
        padding: 0 !important;
        background: #ffffff !important;
        transition: background var(--gm-duration-fast) var(--gm-ease-standard), border-color var(--gm-duration-fast) var(--gm-ease-standard), box-shadow var(--gm-duration-fast) var(--gm-ease-standard) !important;
    }

    .gm-premium-header .storefront-search-shell.header-search-group:hover,
    .gm-premium-header .storefront-search-shell.header-search-group:focus-within {
        width: var(--gm-header-search-expanded) !important;
        max-width: var(--gm-header-search-expanded) !important;
        flex-basis: var(--gm-header-search-expanded) !important;
        justify-content: flex-start !important;
        gap: 8px !important;
        padding: 0 14px !important;
    }

    @media (min-width: 1200px) {
        .gm-premium-header .storefront-search-shell.header-search-group {
            --gm-header-search-expanded: 260px;
        }
    }

    @media (min-width: 1280px) {
        .gm-premium-header .storefront-search-shell.header-search-group {
            --gm-header-search-expanded: 340px;
        }
    }

    .gm-premium-header .storefront-search-shell .header-search-submit {
        width: 42px !important;
        height: 42px !important;
        flex: 0 0 42px !important;
    }

    .gm-premium-header .storefront-search-shell .header-search-field {
        width: 0 !important;
        min-width: 0 !important;
        flex: 0 0 0 !important;
        opacity: 0 !important;
        pointer-events: none !important;
        transition: opacity 160ms ease !important;
    }

    .gm-premium-header .storefront-search-shell:hover .header-search-field,
    .gm-premium-header .storefront-search-shell:focus-within .header-search-field {
        width: auto !important;
        flex: 1 1 auto !important;
        opacity: 1 !important;
        pointer-events: auto !important;
    }

    .gm-premium-header .storefront-account-trigger,
    .gm-premium-header .dropdown-group > .storefront-account-trigger.dropdown-btn {
        min-width: 78px !important;
        height: 44px !important;
        min-height: 44px !important;
        gap: 10px !important;
        border: 1px solid rgba(23, 18, 15, 0.08) !important;
        border-radius: var(--gm-radius-shape) !important;
        background: #ffffff !important;
        color: var(--gm-app-ink, #24201c) !important;
        box-shadow: none !important;
        padding: 0 15px !important;
    }

    .gm-premium-header .storefront-account-trigger:hover,
    .gm-premium-header .dropdown-group > .storefront-account-trigger.dropdown-btn:hover {
        border-color: rgba(189, 36, 32, 0.24) !important;
        background: #fffaf6 !important;
    }

    .gm-premium-header .storefront-cart-trigger.webcart {
        min-width: 118px !important;
        height: 44px !important;
        min-height: 44px !important;
        gap: 10px !important;
        border: 1px solid rgba(23, 18, 15, 0.08) !important;
        border-radius: var(--gm-radius-shape) !important;
        background: #ffffff !important;
        color: var(--gm-app-ink, #24201c) !important;
        box-shadow: none !important;
        padding: 0 16px !important;
    }

    .gm-premium-header .storefront-cart-trigger.webcart:hover {
        border-color: rgba(189, 36, 32, 0.24) !important;
        background: #fffaf6 !important;
        transform: none !important;
    }

    .gm-premium-header .storefront-cart-trigger.webcart > .gm-ui-icon {
        color: currentColor !important;
        font-size: 18px !important;
    }

    .gm-premium-header .storefront-account-trigger > .gm-ui-icon {
        color: currentColor !important;
        font-size: 20px !important;
    }

    .storefront-account-dots {
        display: inline-grid !important;
        grid-template-columns: repeat(3, 4px) !important;
        gap: 4px !important;
        align-items: center !important;
    }

    .storefront-account-dots span {
        width: 4px !important;
        height: 4px !important;
        border-radius: 999px !important;
        background: currentColor !important;
    }
}

/* Final storefront mobile header rhythm guard. */
@media (max-width: 1023px) {
    .gm-storefront-shell .gm-premium-header,
    .gm-storefront-shell .gm-premium-header.ff-header {
        border-bottom: 0 !important;
        box-shadow: none !important;
        padding-bottom: 0 !important;
    }
}

@media (max-width: 767px) {
    .gm-storefront-shell .gm-premium-header .storefront-header-container,
    .gm-storefront-shell .gm-premium-header.ff-header .storefront-header-container {
        min-height: 0 !important;
        padding-bottom: 0 !important;
    }

    .gm-storefront-shell .storefront-header-actions {
        margin-top: 8px !important;
    }

    .gm-storefront-shell .storefront-search-shell.header-search-group {
        height: 44px !important;
        margin-bottom: 0 !important;
    }

    .gm-storefront-shell .gm-storefront-content > :first-child {
        margin-top: 0 !important;
    }

    .gm-storefront-shell .gm-storefront-content > section.mb-16.mt-8:first-child,
    .gm-storefront-shell .gm-storefront-content > section.gm-menu-experience:first-child,
    .gm-storefront-shell .gm-storefront-content > section.gm-search-experience:first-child {
        margin-top: 0 !important;
    }
}

/* Final checkout payment and promo summary guard. */
.gm-checkout-summary-section {
    display: grid !important;
    gap: 10px !important;
}

.gm-checkout-summary-section > h3 {
    margin: 0 !important;
    color: var(--gm-app-ink, #171717) !important;
    font-size: 15px !important;
    font-weight: 680 !important;
    line-height: 1.2 !important;
}

.gm-checkout-promo-form {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 46px !important;
    min-height: 52px !important;
    overflow: hidden !important;
    border: 1px solid var(--gm-app-line, #e8e4dd) !important;
    border-radius: 8px !important;
    background: #ffffff !important;
}

.gm-checkout-promo-form:focus-within {
    border-color: var(--gm-focus-ring) !important;
    box-shadow: 0 0 0 3px var(--gm-focus-ring) !important;
}

.gm-checkout-promo-form.is-invalid {
    border-color: rgba(198, 40, 40, 0.42) !important;
}

.gm-checkout-promo-form input {
    min-width: 0 !important;
    width: 100% !important;
    height: 100% !important;
    padding: 0 16px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--gm-app-ink, #171717) !important;
    font-size: 14px !important;
    font-weight: 520 !important;
    outline: 0 !important;
}

.gm-checkout-promo-form input::placeholder {
    color: #6f675e !important;
}

.gm-checkout-promo-form button {
    display: grid !important;
    place-items: center !important;
    width: 46px !important;
    height: 100% !important;
    color: #77726a !important;
    background: transparent !important;
    font-size: 18px !important;
}

.gm-checkout-promo-form button:not(:disabled):hover {
    color: var(--gm-app-brand, #c52922) !important;
}

.gm-checkout-promo-form button:disabled {
    cursor: not-allowed !important;
    opacity: 0.42 !important;
}

.gm-checkout-promo-error {
    color: var(--gm-danger, #c62828) !important;
    font-size: 12px !important;
    font-weight: 560 !important;
    line-height: 1.35 !important;
}

.gm-checkout-promo-catalog {
    width: fit-content !important;
    color: var(--gm-app-brand, #c52922) !important;
    background: transparent !important;
    font-size: 12px !important;
    font-weight: 650 !important;
    line-height: 1.3 !important;
}

.gm-checkout-payment-list {
    display: grid !important;
    gap: 0 !important;
    padding: 10px !important;
    border: 1px solid var(--gm-app-line, #e8e4dd) !important;
    border-radius: 8px !important;
    background: var(--gm-color-surface) !important;
}

.gm-checkout-payment-option {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 28px 32px minmax(0, 1fr) !important;
    min-height: 50px !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 6px 8px !important;
    border-radius: 8px !important;
    color: var(--gm-app-ink, #171717) !important;
    cursor: pointer !important;
    transition: background 160ms ease, opacity 160ms ease !important;
}

.gm-checkout-payment-option:hover,
.gm-checkout-payment-option.active,
.gm-storefront-content .gm-checkout-payment-option.active,
.gm-storefront-content .gm-checkout-payment-option.active {
    background: #fff6f2 !important;
    background-color: #fff6f2 !important;
}

.gm-checkout-payment-option.is-disabled {
    cursor: not-allowed !important;
    opacity: 0.42 !important;
}

.gm-checkout-payment-option input {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.gm-checkout-payment-radio {
    display: grid !important;
    width: 22px !important;
    height: 22px !important;
    place-items: center !important;
    border: 2px solid #d8cec3 !important;
    border-radius: 999px !important;
}

.gm-checkout-payment-option.active .gm-checkout-payment-radio {
    border-color: var(--gm-app-brand, #c52922) !important;
}

.gm-checkout-payment-option.active .gm-checkout-payment-radio::after {
    content: "" !important;
    display: block !important;
    width: 10px !important;
    height: 10px !important;
    border-radius: 999px !important;
    background: var(--gm-app-brand, #c52922) !important;
}

.gm-checkout-payment-icon,
.gm-checkout-payment-sbp-mark {
    display: grid !important;
    width: 32px !important;
    height: 32px !important;
    place-items: center !important;
    font-size: 23px !important;
}

.gm-checkout-payment-icon--cash {
    color: var(--gm-app-brand, #c52922) !important;
}

.gm-checkout-payment-icon--card {
    color: #77726a !important;
}

.gm-checkout-payment-sbp-mark {
    overflow: visible !important;
}

.gm-checkout-payment-sbp-mark svg {
    display: block !important;
    width: 24px !important;
    height: 30px !important;
}

.gm-checkout-payment-option > span:last-child {
    min-width: 0 !important;
    color: var(--gm-app-ink, #171717) !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.24 !important;
}

@media (max-width: 767px) {
    .gm-checkout-summary-section > h3 {
        font-size: 17px !important;
    }

    .gm-checkout-promo-form {
        min-height: 54px !important;
    }

    .gm-checkout-payment-list {
        padding: 12px !important;
    }

    .gm-checkout-payment-option {
        min-height: 52px !important;
    }
}

/* Final checkout mobile bottom rhythm guard. */
@media (max-width: 767px) {
    .gm-storefront-shell[data-surface="checkout"] {
        padding-bottom: calc(50px + env(safe-area-inset-bottom)) !important;
    }

    .gm-storefront-shell[data-surface="checkout"] .gm-storefront-content {
        min-height: auto !important;
        padding-bottom: 0 !important;
    }

    .gm-storefront-shell[data-surface="checkout"] .gm-checkout-page {
        padding-bottom: 0 !important;
    }

    .gm-storefront-shell[data-surface="checkout"] .gm-checkout-summary-actions {
        position: static !important;
        margin: 4px 0 0 !important;
        padding-top: 0 !important;
        background: transparent !important;
    }

    .gm-mobile-cart-icon,
    .gm-mobile-cart-tab .gm-ui-icon {
        display: inline-grid !important;
        width: 20px !important;
        height: 20px !important;
        place-items: center !important;
        line-height: 1 !important;
    }

    .gm-storefront-cart-footer {
        padding: 12px 32px 16px !important;
    }

    .gm-cart-surface > div.gm-storefront-cart-panel,
    .gm-storefront-cart-panel {
        padding-bottom: calc(52px + env(safe-area-inset-bottom)) !important;
    }
}

/* Account summary edit profile links: keep the existing visual design intact. */
.storefront-account-avatar-link,
.storefront-account-summary-text {
    color: inherit !important;
    text-decoration: none !important;
}

.storefront-account-name,
.storefront-account-email {
    overflow-wrap: anywhere;
}

/* Mobile menu screen header. */
.gm-menu-mobile-header {
    display: block;
}

@media (min-width: 768px) {
    .gm-menu-mobile-header {
        margin: 0 0 24px;
        padding: 8px 0 18px;
        border-bottom: 1px solid var(--gm-border);
    }

    .gm-menu-mobile-header .gm-mobile-section-header__title {
        max-width: var(--gm-measure-form);
        color: var(--gm-text);
        font-size: clamp(28px, 4vw, 44px);
        font-weight: 800;
        line-height: 1.06;
    }
}

@media (max-width: 767px) {
    .gm-menu-experience {
        margin-top: 0 !important;
    }

    .gm-menu-mobile-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 16px;
        margin: 2px 0 14px;
        padding: 4px 0;
    }

    .gm-menu-mobile-header span {
        display: block;
        margin-bottom: 3px;
        color: var(--gm-app-muted, #6d6861);
        font-size: 12px;
        font-weight: 700;
        line-height: 1.2;
    }

    .gm-menu-mobile-header h1 {
        margin: 0;
        color: var(--gm-app-ink, #171412);
        font-size: 26px !important;
        font-weight: 760 !important;
        line-height: 1.05 !important;
        letter-spacing: 0 !important;
    }

    .gm-menu-mobile-header p {
        margin: 4px 0 0;
        color: var(--gm-app-muted, #6d6861);
        font-size: 13px;
        font-weight: 650;
        line-height: 1.25;
    }

    .gm-menu-mobile-header a {
        display: inline-flex;
        width: 46px;
        height: 46px;
        flex: 0 0 46px;
        align-items: center;
        justify-content: center;
        border: 1px solid rgba(23, 18, 15, 0.08);
        border-radius: 999px;
        background: #ffffff;
        color: var(--gm-app-ink, #171412);
    }

    .gm-menu-mobile-header a .gm-ui-icon {
        font-size: 22px;
    }

    .gm-menu-experience .gm-menu-hero {
        display: none !important;
    }
}

/* Override: round black add-to-cart button */
.product-card-grid-cart-btn {
    min-width: 34px !important;
    width: 34px !important;
    height: 34px !important;
    border-radius: 50% !important;
    background: #000 !important;
    border: none !important;
    box-shadow: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
}
.product-card-grid-cart-btn .gm-ui-icon {
    color: #fff !important;
}
.product-card-grid-cart-btn:hover {
    background: #333 !important;
    color: #fff !important;
    transform: none !important;
}

.gm-favorites-page .product-card-grid-cart-btn {
    min-width: 44px !important;
    width: 44px !important;
    height: 44px !important;
    flex: 0 0 44px;
}

/* Phase 1 cart: accessible controls and readable financial status text. */
.gm-cart-surface .gm-cart-quantity.indec-group {
    grid-template-columns: 44px 44px 44px !important;
    width: 132px !important;
    min-width: 132px !important;
    height: 44px !important;
    min-height: 44px !important;
}

.gm-cart-surface .gm-cart-quantity.indec-group .indec-minus,
.gm-cart-surface .gm-cart-quantity.indec-group .indec-plus,
.gm-cart-surface .gm-cart-quantity.indec-group .indec-value {
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
}

.gm-cart-surface .gm-cart-quantity.indec-group .indec-value {
    line-height: 44px !important;
}

.gm-cart-surface .gm-cart-money-positive {
    color: #16803c !important;
}

.gm-cart-surface .gm-cart-order-type-switch .cart-switch:focus-visible + .gm-cart-order-type-option {
    outline: 3px solid #171717 !important;
    outline-offset: 3px !important;
}

.gm-cart-surface .gm-cart-order-type-option {
    min-height: 44px !important;
}

.gm-cart-surface .gm-storefront-cart-back,
.gm-cart-surface .gm-storefront-cart-close,
.gm-cart-surface .gm-table-cart-panel .xmark-btn {
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
}

.gm-cart-surface .gm-cart-quantity button:disabled {
    cursor: not-allowed !important;
    opacity: 0.45 !important;
}

.gm-cart-empty-action {
    display: inline-flex !important;
    min-height: 44px !important;
    align-items: center !important;
    justify-content: center !important;
    margin-top: 18px !important;
    padding: 0 20px !important;
    border-radius: 999px !important;
    background: #17120f !important;
    color: #ffffff !important;
    font-size: 14px !important;
    font-weight: 750 !important;
}

.gm-cart-surface .gm-storefront-cart-header h3:focus {
    outline: none !important;
}

:root {
    --gm-mobile-tabbar-space: calc(82px + max(10px, env(safe-area-inset-bottom)));
}

@media (min-width: 768px) {
    .gm-cart-surface .gm-storefront-cart-back {
        display: none !important;
    }
}

@media (max-width: 1023px) {
    body.gm-cart-drawer-open .gm-mobile-tabbar {
        display: grid !important;
        z-index: 280 !important;
    }

    .gm-mobile-tabbar {
        position: fixed !important;
        left: 50% !important;
        right: auto !important;
        bottom: max(10px, env(safe-area-inset-bottom)) !important;
        z-index: var(--gm-layer-app-navigation, 280) !important;
        display: grid !important;
        width: min(420px, calc(100% - 20px)) !important;
        max-width: 420px !important;
        min-width: 0 !important;
        min-height: 72px !important;
        height: auto !important;
        grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
        align-items: center !important;
        gap: 1px !important;
        margin: 0 !important;
        padding: 6px 5px !important;
        overflow: visible !important;
        border: 1px solid rgba(222, 210, 195, 0.88) !important;
        border-radius: 28px !important;
        background: rgb(255 255 255 / 98%) !important;
        box-shadow: 0 14px 38px rgb(23 18 15 / 14%) !important;
        backdrop-filter: blur(24px) saturate(145%) !important;
        box-sizing: border-box !important;
        isolation: isolate !important;
        transform: translateX(-50%) !important;
    }

    .gm-mobile-tabbar .gm-mobile-tab,
    .gm-mobile-tabbar .gm-mobile-cart-tab {
        position: relative !important;
        display: flex !important;
        width: 100% !important;
        min-width: 0 !important;
        min-height: 58px !important;
        height: 58px !important;
        flex-direction: column !important;
        gap: 2px !important;
        align-items: center !important;
        justify-content: center !important;
        justify-self: stretch !important;
        margin: 0 !important;
        padding: 3px 1px 2px !important;
        border: 0 !important;
        background: transparent !important;
        color: var(--gm-color-text-muted) !important;
        font: inherit !important;
        text-decoration: none !important;
        appearance: none !important;
        cursor: pointer !important;
        -webkit-tap-highlight-color: transparent;
    }

    .gm-mobile-tabbar .gm-mobile-tab-icon-shell {
        position: relative !important;
        display: grid !important;
        width: 42px !important;
        height: 29px !important;
        flex: 0 0 29px !important;
        place-items: center !important;
        border-radius: 999px !important;
        color: currentColor !important;
        background: transparent !important;
    }

    .gm-mobile-tabbar :where(.gm-mobile-tab, .gm-mobile-cart-tab)[aria-current="page"] {
        color: var(--gm-color-brand) !important;
    }

    .gm-mobile-tabbar :where(.gm-mobile-tab, .gm-mobile-cart-tab)[aria-current="page"] .gm-mobile-tab-icon-shell {
        background: color-mix(in srgb, var(--gm-color-brand) 12%, transparent) !important;
        color: var(--gm-color-brand-strong) !important;
    }

    .gm-mobile-tabbar :where(.gm-mobile-tab, .gm-mobile-cart-tab):focus-visible {
        outline: 3px solid #171717 !important;
        outline-offset: -3px !important;
    }

    .gm-cart-surface > div.gm-storefront-cart-panel {
        padding-bottom: var(--gm-mobile-tabbar-space) !important;
    }
}

@media (max-width: 767px) {
    .gm-cart-surface .gm-storefront-cart-close {
        display: none !important;
    }
}

/* Mobile app-shell contract: shared header -> route stage -> persistent tab bar. */
:root {
    --gm-layer-app-stage: 240;
    --gm-layer-app-header: 260;
    --gm-layer-app-navigation: 280;
}

.gm-storefront-cart-header-layout {
    display: contents;
}

.gm-cart-surface .gm-storefront-cart-heading {
    min-width: 0;
    flex: 1 1 auto;
}

.gm-cart-surface .gm-storefront-cart-heading > .gm-mobile-section-header__title {
    margin: 0 !important;
    color: #171717 !important;
    font-size: 21px !important;
    font-weight: 600 !important;
    line-height: 1.1 !important;
    letter-spacing: 0 !important;
}

.gm-cart-surface .gm-storefront-cart-heading > .gm-mobile-section-header__summary {
    margin: 4px 0 0 !important;
    color: #77726a !important;
    font-size: 13px !important;
    font-weight: 450 !important;
    line-height: 1.25 !important;
}

.gm-cart-surface .gm-mobile-section-header__title:focus,
.gm-cart-surface .gm-mobile-section-header__title:focus-visible {
    outline: none !important;
    box-shadow: none !important;
}

.gm-cart-surface .gm-cart-order-type-switch--header {
    display: none !important;
}

.gm-cart-surface .gm-cart-order-type-switch--body {
    margin: 0 auto 24px !important;
}

@media (max-width: 1023px) {
    .gm-premium-header .gm-storefront-header-search:not(.gm-storefront-header-search--mobile-visible),
    body.gm-cart-drawer-open .gm-premium-header .gm-storefront-header-search {
        display: none !important;
    }

    .gm-menu-experience {
        margin-top: 0 !important;
    }

    body.gm-cart-drawer-open .gm-premium-header {
        position: fixed !important;
        top: 0 !important;
        right: 0 !important;
        left: 0 !important;
        z-index: var(--gm-layer-app-header) !important;
        width: 100% !important;
        pointer-events: auto !important;
    }

    .gm-premium-header .storefront-header-container {
        padding-top: calc(10px + env(safe-area-inset-top)) !important;
        padding-right: max(12px, env(safe-area-inset-right)) !important;
        padding-left: max(12px, env(safe-area-inset-left)) !important;
    }

    .gm-premium-header .storefront-brand-link {
        display: inline-flex !important;
        min-width: 44px !important;
        min-height: 44px !important;
        align-items: center !important;
    }

    .gm-premium-header .storefront-language-corner .dropdown-btn {
        min-width: 44px !important;
        height: 44px !important;
        min-height: 44px !important;
    }

    .gm-premium-header .storefront-search-shell.header-search-group {
        height: 44px !important;
        min-height: 44px !important;
    }

    .gm-premium-header .storefront-search-shell .header-search-submit {
        width: 44px !important;
        min-width: 44px !important;
        height: 44px !important;
        min-height: 44px !important;
    }

    .gm-mobile-section-header {
        display: flex !important;
        min-width: 0 !important;
        min-height: 0 !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        justify-content: center !important;
        gap: 0 !important;
        margin: 0 0 14px !important;
        padding: 10px 0 8px !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    .gm-mobile-section-header > .gm-mobile-section-header__title {
        max-width: 100% !important;
        margin: 0 !important;
        color: var(--gm-app-ink, #171412) !important;
        font-size: 26px !important;
        font-weight: 600 !important;
        line-height: 1.05 !important;
        letter-spacing: 0 !important;
        overflow-wrap: anywhere !important;
        text-wrap: balance;
    }

    .gm-mobile-section-header > .gm-mobile-section-header__summary {
        margin: 4px 0 0 !important;
        color: var(--gm-app-muted, #6d6861) !important;
        font-size: 13px !important;
        font-weight: 500 !important;
        line-height: 1.3 !important;
        text-wrap: pretty;
    }

    .gm-storefront-cart-screen {
        --gm-app-bg: var(--gm-color-surface);
        --gm-app-surface-2: #ffffff;
        --gm-app-ink: #171412;
        --gm-app-muted: #6d6861;
        --gm-app-line: #e8e0d6;
        top: var(--gm-mobile-app-header-height, 0px) !important;
        right: 0 !important;
        bottom: 0 !important;
        left: 0 !important;
        z-index: var(--gm-layer-app-stage) !important;
        width: 100vw !important;
        height: calc(100dvh - var(--gm-mobile-app-header-height, 0px)) !important;
        background: var(--gm-app-bg) !important;
        backdrop-filter: none !important;
    }

    .gm-cart-surface > div.gm-storefront-cart-panel {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        max-width: none !important;
        height: 100% !important;
        max-height: none !important;
        padding-bottom: var(--gm-mobile-tabbar-space) !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: var(--gm-app-bg) !important;
        box-shadow: none !important;
        box-sizing: border-box !important;
    }

    .gm-cart-surface .gm-storefront-cart-header {
        display: block !important;
        flex-shrink: 0 !important;
        width: 100% !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        background: var(--gm-app-bg) !important;
        backdrop-filter: none !important;
    }

    .gm-cart-surface .gm-storefront-cart-header-layout {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        align-items: start !important;
        column-gap: 12px !important;
        width: min(1188px, calc(100% - 32px)) !important;
        max-width: none !important;
        margin-inline: auto !important;
        padding-inline: 10px !important;
        box-sizing: border-box !important;
    }

    .gm-cart-surface .gm-storefront-cart-heading {
        min-width: 0 !important;
        margin-bottom: 0 !important;
    }

    .gm-cart-surface .gm-cart-order-type-switch--header {
        display: inline-flex !important;
        align-self: start !important;
        justify-self: end !important;
        margin: 10px 0 0 !important;
        white-space: nowrap !important;
    }

    .gm-cart-surface .gm-cart-order-type-switch--header .gm-cart-order-type-option {
        padding-inline: 8px !important;
    }

    .gm-cart-surface .gm-cart-order-type-switch--body {
        display: none !important;
    }

    .gm-cart-surface .gm-storefront-cart-heading > .gm-mobile-section-header__title {
        color: var(--gm-app-ink, #171412) !important;
        font-size: 26px !important;
        font-weight: 600 !important;
        line-height: 1.05 !important;
    }

    .gm-cart-surface .gm-storefront-cart-heading > .gm-mobile-section-header__summary {
        color: var(--gm-app-muted, #6d6861) !important;
        font-size: 13px !important;
        font-weight: 500 !important;
        line-height: 1.3 !important;
    }

    .gm-cart-surface .gm-storefront-cart-back,
    .gm-cart-surface .gm-storefront-cart-close {
        display: none !important;
    }

    .gm-cart-surface .gm-storefront-cart-body {
        width: min(1188px, calc(100% - 32px)) !important;
        min-height: 0 !important;
        margin-inline: auto !important;
        padding: 0 clamp(10px, 3.5vw, 16px) 16px !important;
        background: var(--gm-app-bg) !important;
        overscroll-behavior: contain !important;
        box-sizing: border-box !important;
    }

    .gm-cart-surface .gm-cart-line-drawer-copy {
        width: auto !important;
        min-width: 0 !important;
        flex: 1 1 auto !important;
    }

    .gm-cart-surface .gm-storefront-cart-body--empty {
        align-items: stretch !important;
        justify-content: flex-start !important;
    }

    .gm-cart-surface .gm-storefront-cart-empty-content {
        min-height: min-content !important;
        margin-block: auto !important;
        padding-block: 16px !important;
        overflow: visible !important;
    }

    .gm-cart-surface .gm-storefront-cart-footer {
        flex-shrink: 0 !important;
        width: min(720px, calc(100% - 24px)) !important;
        margin-inline: auto !important;
        padding: 10px clamp(10px, 3.5vw, 16px) 12px !important;
        border-top: 1px solid var(--gm-app-line) !important;
        background: var(--gm-app-bg) !important;
        box-shadow: none !important;
        box-sizing: border-box !important;
    }

    body.gm-cart-drawer-open .gm-mobile-tabbar {
        z-index: var(--gm-layer-app-navigation) !important;
    }
}

@media (max-width: 767px) {
    .gm-cart-surface .gm-storefront-cart-header-layout {
        width: min(100% - 24px, 1188px) !important;
        padding-top: 4px !important;
        padding-inline: 0.85rem !important;
    }

    .gm-cart-surface .gm-storefront-cart-body {
        width: min(100% - 24px, 1188px) !important;
        padding-right: 0.85rem !important;
        padding-left: 0.85rem !important;
    }

    .gm-cart-surface .gm-storefront-cart-footer {
        padding-right: 0.85rem !important;
        padding-left: 0.85rem !important;
    }

}

@media (max-width: 359px) {
    .gm-cart-surface .gm-storefront-cart-header-layout {
        column-gap: 8px !important;
    }

    .gm-cart-surface .gm-cart-order-type-switch--header .gm-cart-order-type-option {
        padding-inline: 5px !important;
        font-size: 11px !important;
    }

    .gm-cart-surface .gm-cart-line-drawer-copy > .flex {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        align-items: start !important;
        gap: 4px !important;
    }

    .gm-cart-surface .gm-cart-line-drawer-copy > .flex .gm-cart-quantity {
        justify-self: end !important;
    }
}

/* Slice 4 checkout cascade guards: keep touch targets safe and table review ordered. */
.coupon-modal.coupon-modal {
    z-index: 1200 !important;
}

.gm-address-delete-confirm.confirm-order {
    z-index: 1300 !important;
}

.gm-address-delete-confirm .modal-close,
.gm-address-delete-confirm .modal-body button {
    min-width: 44px !important;
    min-height: 44px !important;
}

.gm-address-modern-modal .gm-address-modal-close {
    display: inline-flex !important;
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    align-items: center;
    justify-content: center;
}

.gm-address-modern-modal .gm-map-search-button {
    height: 44px !important;
    min-height: 44px !important;
}

.gm-address-modern-modal .gm-address-search-input.gm-address-search-input,
.gm-address-modern-modal .gm-address-mode-tabs button,
.gm-address-modern-modal .gm-address-label-option {
    min-height: 44px !important;
}

.gm-address-modern-modal .gm-address-search-input.gm-address-search-input {
    height: 44px !important;
}
.gm-table-checkout-back {
    min-height: 44px;
    padding-inline: 2px;
}

.gm-table-checkout-layout {
    display: grid;
    width: 100%;
    min-width: 0;
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
}

.gm-table-checkout-main,
.gm-table-checkout-summary {
    width: 100%;
    min-width: 0;
}

@media (min-width: 768px) {
    .gm-table-checkout-layout {
        grid-template-columns: minmax(0, 7fr) minmax(280px, 5fr);
        align-items: start;
    }
}

@media (max-width: 1023px) {
    .gm-table-checkout-page .gm-mobile-tabbar {
        display: none !important;
    }
}

/* WCAG 2.2 AA semantic colors. Values are defined once in src/styles/globals.css. */
.text-\[\#2AC769\],
.text-\[\#1AB759\],
.\!text-\[\#1AB759\],
.text-green-600 {
    color: var(--gm-semantic-success-fg) !important;
}

.\!border-\[\#1AB759\] {
    border-color: var(--gm-semantic-success-fg) !important;
}

.bg-\[\#CBFFE0\],
.bg-green-100 {
    background-color: var(--gm-semantic-success-bg) !important;
}

.bg-\[\#2AC769\],
.bg-\[\#1AB759\],
.bg-\[\#4caf50\],
.storefront-toast--success {
    background-color: var(--gm-semantic-success-solid) !important;
}

.text-\[\#F6A609\],
.text-\[\#E89806\],
.text-yellow-600 {
    color: var(--gm-semantic-warning-fg) !important;
}

.bg-\[\#FFEEC6\],
.bg-\[\#FFF5DE\],
.bg-yellow-100 {
    background-color: var(--gm-semantic-warning-bg) !important;
}

.bg-\[\#F6A609\] {
    background-color: var(--gm-semantic-warning-solid) !important;
}

.text-\[\#A953FF\] {
    color: var(--gm-semantic-purple-fg) !important;
}

.bg-\[\#F5EAFF\] {
    background-color: var(--gm-semantic-purple-bg) !important;
}

.bg-\[\#A953FF\],
.bg-\[\#8262FE\] {
    background-color: var(--gm-semantic-purple-solid) !important;
}

.text-\[\#008BBA\],
.text-\[\#00749B\],
.text-blue-600,
.text-blue-700 {
    color: var(--gm-semantic-info-fg) !important;
}

.bg-\[\#BDEFFF\],
.bg-\[\#D6F5FF\],
.bg-blue-100 {
    background-color: var(--gm-semantic-info-bg) !important;
}

.bg-\[\#008BBA\],
.bg-\[\#00749B\],
.bg-\[\#567DFF\] {
    background-color: var(--gm-semantic-info-solid) !important;
}

.text-\[\#FB4E4E\],
.\!text-\[\#FB4E4E\],
.text-red-500,
.text-red-600,
.text-red-700 {
    color: var(--gm-semantic-danger-fg) !important;
}

.\!border-\[\#FB4E4E\] {
    border-color: var(--gm-semantic-danger-fg) !important;
}

.bg-\[\#FFDADA\],
.bg-red-100 {
    background-color: var(--gm-semantic-danger-bg) !important;
}

.bg-\[\#FB4E4E\],
.bg-\[\#ff5252\],
.bg-\[\#DC2626\],
.storefront-toast--error {
    background-color: var(--gm-semantic-danger-solid) !important;
}

.storefront-toast--success,
.storefront-toast--error {
    color: var(--gm-semantic-surface) !important;
}

.gm-checkout-message-success {
    color: var(--gm-semantic-success-fg) !important;
    background-color: var(--gm-semantic-success-bg) !important;
}

.gm-checkout-message-error {
    color: var(--gm-semantic-danger-fg) !important;
    background-color: var(--gm-semantic-danger-bg) !important;
}

/* Storefront chat composer: compact, accessible, and isolated from admin chat. */
.gm-storefront-shell .chat-item,
.gm-storefront-shell .chat-group,
.gm-storefront-shell .chat-group-text {
    min-width: 0;
    max-width: 100%;
}

.gm-storefront-shell .chat-text {
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.gm-item-addon-controls {
    margin-inline-start: auto;
}

.gm-storefront-shell .gm-chat-container {
    width: min(760px, calc(100% - 32px)) !important;
    max-width: 760px !important;
    margin-inline: auto !important;
}

.gm-storefront-shell .gm-chat-panel {
    overflow: hidden;
    border: 1px solid var(--gm-app-line, #e3dbcf);
    border-radius: 16px !important;
    background: var(--gm-app-surface-raised, #ffffff) !important;
    box-shadow: none !important;
}

.gm-storefront-shell .chat-list.frontend {
    flex-direction: column !important;
}

.gm-storefront-shell .gm-chat-log {
    position: relative;
}

.gm-storefront-shell .gm-chat-empty-state {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    margin: 0;
    pointer-events: none;
}

.gm-storefront-shell .gm-chat-composer-form {
    border-top: 1px solid var(--gm-app-line, #e3dbcf);
    background: var(--gm-app-surface-raised, #ffffff);
}

.gm-storefront-shell .chat-footer.gm-chat-composer {
    position: static !important;
    box-sizing: border-box !important;
    width: 100% !important;
    align-items: flex-end !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 12px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.gm-storefront-shell .gm-chat-composer__field {
    display: flex !important;
    box-sizing: border-box !important;
    min-width: 0 !important;
    min-height: 52px !important;
    align-items: flex-end !important;
    overflow: visible !important;
    padding: 4px !important;
    padding-inline-start: 16px !important;
    border: 1px solid #9b8f83 !important;
    border-radius: 14px !important;
    background: #ffffff !important;
    box-shadow: none !important;
    transition:
        border-color 180ms cubic-bezier(0.22, 1, 0.36, 1),
        box-shadow 180ms cubic-bezier(0.22, 1, 0.36, 1) !important;
}

.gm-storefront-shell .gm-chat-composer__field:focus-within {
    border-color: var(--gm-app-brand, #b3231e) !important;
    box-shadow: inset 0 0 0 1px var(--gm-app-brand, #b3231e) !important;
}

.gm-storefront-shell textarea.gm-chat-composer__input {
    display: block !important;
    box-sizing: border-box !important;
    width: 100% !important;
    min-height: 42px !important;
    max-height: 112px !important;
    resize: none !important;
    overflow-y: auto !important;
    margin: 0 !important;
    padding: 10px 10px 10px 0 !important;
    padding-inline-end: 10px !important;
    padding-inline-start: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--gm-app-ink, #171412) !important;
    font-family: inherit !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    line-height: 22px !important;
}

.gm-storefront-shell textarea.gm-chat-composer__input::placeholder {
    color: var(--gm-app-muted, #6d6861) !important;
    opacity: 1 !important;
}

.gm-storefront-shell textarea.gm-chat-composer__input:focus,
.gm-storefront-shell textarea.gm-chat-composer__input:focus-visible {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
}

.gm-storefront-shell textarea.gm-chat-composer__input:disabled {
    color: var(--gm-app-muted, #6d6861) !important;
    cursor: not-allowed !important;
}

.gm-storefront-shell .gm-chat-composer__field[data-disabled="true"] {
    background: #f5f1eb !important;
}

.gm-storefront-shell .chat-footer-sent.gm-chat-composer__send {
    display: inline-grid !important;
    box-sizing: border-box !important;
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    flex: 0 0 44px !important;
    place-items: center !important;
    margin: 4px 0 !important;
    padding: 0 !important;
    border: 1px solid var(--gm-app-brand, #b3231e) !important;
    border-radius: 12px !important;
    background: var(--gm-app-brand, #b3231e) !important;
    box-shadow: none !important;
    color: #ffffff !important;
    -webkit-text-fill-color: currentColor !important;
    cursor: pointer !important;
    transition:
        background-color 180ms cubic-bezier(0.22, 1, 0.36, 1),
        border-color 180ms cubic-bezier(0.22, 1, 0.36, 1),
        transform 120ms ease-out !important;
}

.gm-storefront-shell .gm-chat-composer__send > .gm-ui-icon {
    color: currentColor !important;
    -webkit-text-fill-color: currentColor !important;
    font-size: 21px !important;
    line-height: 1 !important;
}

[dir="rtl"] .gm-storefront-shell .gm-chat-composer__send > .gm-ui-icon {
    transform: rotate(-90deg) !important;
}

.gm-storefront-shell .gm-chat-composer__send:not(:disabled):hover {
    border-color: var(--gm-app-brand-strong, #7f1d1a) !important;
    background: var(--gm-app-brand-strong, #7f1d1a) !important;
}

.gm-storefront-shell .gm-chat-composer__send:not(:disabled):active {
    transform: scale(0.96) !important;
}

.gm-storefront-shell .gm-chat-composer__send:focus-visible {
    outline: 3px solid var(--gm-app-ink, #171412) !important;
    outline-offset: 2px !important;
    box-shadow: none !important;
}

.gm-storefront-shell .gm-chat-composer__send:disabled {
    border-color: #ded8d0 !important;
    background: #eeeae4 !important;
    color: #746d65 !important;
    -webkit-text-fill-color: currentColor !important;
    opacity: 1 !important;
    transform: none !important;
    cursor: not-allowed !important;
}

@media (max-width: 1023px) {
    .gm-storefront-shell[data-surface="chat"] .gm-chat-composer-form {
        position: fixed !important;
        right: 0 !important;
        bottom: var(--gm-mobile-tabbar-space) !important;
        left: 0 !important;
        z-index: 270 !important;
        border-top: 1px solid var(--gm-app-line, #e3dbcf) !important;
        background: var(--gm-app-surface-raised, #ffffff) !important;
    }

    .gm-storefront-shell[data-surface="chat"] .chat-footer.gm-chat-composer {
        position: static !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;
        width: min(760px, 100%) !important;
        margin-inline: auto !important;
        padding: 10px 12px !important;
    }

    .gm-storefront-shell[data-surface="chat"] .chat-list.frontend {
        padding-bottom: calc(var(--gm-chat-composer-height, 73px) + 16px) !important;
    }
}

@media (max-width: 639px) {
    .gm-storefront-shell .gm-chat-container {
        width: 100% !important;
        max-width: none !important;
    }

    .gm-storefront-shell .gm-chat-panel {
        border: 0 !important;
        border-radius: 0 !important;
    }

    .gm-storefront-shell .gm-chat-section-header {
        width: calc(100% - 32px) !important;
        margin-inline: auto !important;
    }
}

@media (max-width: 767px) {
    .gm-storefront-shell .gm-chat-page {
        padding-top: 4px !important;
    }

    .gm-storefront-shell .gm-chat-section-header {
        min-height: 44px !important;
        margin: 0 auto 4px !important;
        padding: 0 !important;
    }

    .gm-storefront-shell .gm-chat-section-header .gm-mobile-section-header__back {
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    .gm-storefront-shell .gm-chat-panel {
        border: 0 !important;
        border-radius: 0 !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .gm-storefront-shell .gm-chat-composer__field,
    .gm-storefront-shell .gm-chat-composer__send {
        transition: none !important;
    }
}

@media (forced-colors: active) {
    .gm-storefront-shell .gm-chat-composer__field:focus-within {
        outline: 2px solid CanvasText !important;
        outline-offset: 1px !important;
        box-shadow: none !important;
    }

    .gm-storefront-shell .gm-chat-composer__send:focus-visible {
        outline-color: CanvasText !important;
    }
}

/* Storefront quantity control: one compact, accessible pattern across cart,
   checkout, item details, and item-choice modals. */

input.indec-value[type="number"] {
    appearance: textfield !important;
    -moz-appearance: textfield !important;
    -webkit-appearance: textfield !important;
}

input.indec-value[type="number"]::-webkit-inner-spin-button,
input.indec-value[type="number"]::-webkit-outer-spin-button {
    margin: 0 !important;
    -webkit-appearance: none !important;
}

/* A short mobile viewport uses one native-style scroll stage. Keeping the
   summary as a flex sibling would collapse the title/items under its height. */
@media (max-width: 1023px) and (max-height: 560px) {
    .gm-cart-surface > div.gm-storefront-cart-panel {
        display: block !important;
        overflow-y: auto !important;
        overscroll-behavior-y: contain !important;
        -webkit-overflow-scrolling: touch;
    }

    .gm-cart-surface .gm-storefront-cart-header,
    .gm-cart-surface .gm-storefront-cart-footer {
        position: static !important;
    }

    .gm-cart-surface .gm-storefront-cart-body {
        height: auto !important;
        min-height: 0 !important;
        flex: none !important;
        overflow: visible !important;
    }

    .gm-cart-surface .gm-storefront-cart-empty-content {
        margin-block: 0 !important;
    }
}

/* Unified storefront app-bar: back action + current screen title. */
.gm-mobile-section-header__row {
    display: flex;
    min-width: 0;
    width: 100%;
    align-items: center;
    gap: 10px;
}

.gm-mobile-section-header__copy {
    min-width: 0;
    flex: 1 1 auto;
}

.gm-mobile-section-header__title {
    margin: 0;
}

.gm-mobile-section-header__summary {
    margin: 4px 0 0;
}

.gm-mobile-section-header__back {
    display: none;
}

.gm-mobile-section-header__trailing {
    display: inline-flex;
    min-width: 0;
    flex: 0 0 auto;
    align-items: center;
    justify-content: flex-end;
}

.gm-item-detail-mobile-header,
.gm-account-mobile-header,
.gm-profile-mobile-header,
.gm-auth-mobile-header {
    display: none;
}

.gm-cart-surface .gm-storefront-cart-heading .gm-mobile-section-header__title {
    margin: 0 !important;
    color: #171717 !important;
    font-size: 21px !important;
    font-weight: 600 !important;
    line-height: 1.1 !important;
    letter-spacing: 0 !important;
}

.gm-cart-surface .gm-storefront-cart-heading .gm-mobile-section-header__summary {
    margin: 4px 0 0 !important;
    color: #77726a !important;
    font-size: 13px !important;
    font-weight: 450 !important;
    line-height: 1.25 !important;
}

.gm-favorites-header {
    margin-bottom: 24px;
}

.gm-favorites-header .gm-mobile-section-header__title,
.gm-orders-section-header .gm-mobile-section-header__title,
.gm-order-details-section-header .gm-mobile-section-header__title,
.gm-checkout-section-header .gm-mobile-section-header__title,
.gm-static-page-section-header .gm-mobile-section-header__title,
.gm-chat-section-header .gm-mobile-section-header__title,
.gm-payment-section-header .gm-mobile-section-header__title {
    color: var(--gm-app-ink, #171412);
    font-size: 24px;
    font-weight: 600;
    line-height: 1.12;
}

.gm-checkout-section-header {
    margin-bottom: 18px;
}

.gm-checkout-empty-card h2 {
    margin: 0;
    color: var(--gm-app-ink, #171412);
    font-size: clamp(24px, 3vw, 34px);
    font-weight: 760;
    line-height: 1.1;
}

@media (max-width: 1023px) {
    .gm-mobile-section-header {
        display: block !important;
        min-width: 0 !important;
        min-height: 0 !important;
        width: 100% !important;
        margin: 0 0 8px !important;
        padding: 4px 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    .gm-mobile-section-header__row {
        display: grid !important;
        min-width: 0 !important;
        width: 100% !important;
        grid-template-columns: 44px minmax(0, 1fr) !important;
        align-items: center !important;
        gap: 8px !important;
    }

    .gm-mobile-section-header__row--with-trailing {
        grid-template-columns: 44px minmax(0, 1fr) auto !important;
    }

    .gm-mobile-section-header__row--without-back {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .gm-mobile-section-header__row--without-back.gm-mobile-section-header__row--with-trailing {
        grid-template-columns: minmax(0, 1fr) auto !important;
    }

    .gm-mobile-section-header__copy {
        min-width: 0 !important;
        width: 100% !important;
    }

    .gm-mobile-section-header__back {
        display: inline-flex !important;
        width: 44px !important;
        min-width: 44px !important;
        height: 44px !important;
        min-height: 44px !important;
        align-items: center !important;
        justify-content: center !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        color: var(--gm-app-ink, #171412) !important;
        box-shadow: none !important;
        text-decoration: none !important;
        -webkit-tap-highlight-color: transparent;
    }

    .gm-mobile-section-header__back svg {
        display: block !important;
        width: 24px !important;
        height: 24px !important;
        pointer-events: none !important;
    }

    [dir="rtl"] .gm-mobile-section-header__back svg {
        transform: scaleX(-1);
    }

    .gm-mobile-section-header__back:focus-visible {
        outline: 3px solid #171717 !important;
        outline-offset: 2px !important;
    }

    .gm-mobile-section-header .gm-mobile-section-header__title {
        display: block !important;
        min-width: 0 !important;
        max-width: 100% !important;
        margin: 0 !important;
        overflow: hidden !important;
        color: var(--gm-app-ink, #171412) !important;
        font-size: 23px !important;
        font-weight: 600 !important;
        line-height: 1.08 !important;
        letter-spacing: 0 !important;
        overflow-wrap: normal !important;
        text-overflow: ellipsis !important;
        text-wrap: nowrap !important;
        white-space: nowrap !important;
    }

    .gm-mobile-section-header .gm-mobile-section-header__summary {
        display: block !important;
        margin: 4px 0 0 !important;
        color: var(--gm-app-muted, #6d6861) !important;
        font-size: 13px !important;
        font-weight: 500 !important;
        line-height: 1.25 !important;
        text-wrap: pretty;
    }

    .gm-mobile-section-header__trailing {
        min-width: 0 !important;
        align-self: center !important;
    }

    .gm-mobile-section-header__count {
        display: inline-flex !important;
        min-width: 28px !important;
        height: 28px !important;
        align-items: center !important;
        justify-content: center !important;
        border-radius: 999px !important;
        background: #eee7de !important;
        color: var(--gm-app-muted, #6d6861) !important;
        font-size: 12px !important;
        font-weight: 700 !important;
    }

    .gm-item-detail-mobile-header,
    .gm-account-mobile-header,
    .gm-profile-mobile-header,
    .gm-auth-mobile-header {
        display: block !important;
    }

    .gm-auth-desktop-title {
        display: none !important;
    }

    .gm-item-detail-body-title,
    .gm-account-mobile-duplicate-title,
    .gm-profile-mobile-duplicate-title {
        display: none !important;
    }

    .gm-menu-mobile-header,
    .gm-offers-hero,
    .gm-favorites-header,
    .gm-search-section-header,
    .gm-profile-mobile-header,
    .gm-account-mobile-header,
    .gm-orders-section-header,
    .gm-order-details-section-header,
    .gm-checkout-section-header,
    .gm-item-detail-mobile-header,
    .gm-offer-detail-header,
    .gm-chat-section-header,
    .gm-static-page-section-header,
    .gm-auth-mobile-header,
    .gm-payment-section-header {
        margin-bottom: 14px !important;
        padding: 8px 0 !important;
        border: 0 !important;
        background: transparent !important;
    }

    .gm-search-experience,
    .gm-item-detail-page,
    .gm-offer-items {
        margin-top: 0 !important;
    }

    .gm-search-hero {
        display: block !important;
        margin-bottom: 16px !important;
        padding: 0 !important;
        border: 0 !important;
    }

    .gm-search-hero__form {
        width: 100% !important;
    }

    .gm-account-page,
    .gm-storefront-profile-page {
        padding-top: 8px !important;
    }

    .gm-chat-section-header {
        width: calc(100% - 32px) !important;
        margin-inline: auto !important;
    }

    .gm-payment-page {
        align-items: stretch !important;
        justify-content: flex-start !important;
        padding-top: 8px !important;
        padding-bottom: calc(var(--gm-mobile-tabbar-space) + 20px) !important;
    }

    .gm-checkout-section-header {
        width: 100% !important;
    }

    .gm-cart-surface .gm-storefront-cart-header-layout {
        display: block !important;
        width: min(100% - 16px, 1188px) !important;
        margin-inline: auto !important;
        padding: 4px 4px 0 !important;
    }

    .gm-cart-surface .gm-storefront-cart-heading {
        width: 100% !important;
        margin: 0 !important;
        padding: 4px 0 6px !important;
    }

    .gm-cart-surface .gm-storefront-cart-heading .gm-mobile-section-header__row {
        gap: 6px !important;
    }

    .gm-cart-surface .gm-storefront-cart-heading .gm-mobile-section-header__title {
        font-size: 23px !important;
        font-weight: 600 !important;
        line-height: 1.08 !important;
    }

    .gm-cart-surface .gm-storefront-cart-heading .gm-mobile-section-header__summary {
        margin-top: 3px !important;
        font-size: 12px !important;
        line-height: 1.2 !important;
    }

    .gm-cart-surface .gm-storefront-cart-back {
        display: inline-flex !important;
    }

    .gm-cart-surface .gm-mobile-section-header__trailing .gm-cart-order-type-switch--header {
        display: inline-flex !important;
        align-self: center !important;
        justify-self: end !important;
        margin: 0 !important;
        white-space: nowrap !important;
    }

    .gm-cart-surface .gm-cart-order-type-switch--body {
        display: none !important;
    }
}

@media (max-width: 359px) {
    .gm-mobile-section-header__row,
    .gm-cart-surface .gm-storefront-cart-heading .gm-mobile-section-header__row {
        gap: 4px !important;
    }

    .gm-cart-surface .gm-storefront-cart-heading .gm-mobile-section-header__title {
        font-size: 23px !important;
    }

    .gm-cart-surface .gm-cart-order-type-switch--header .gm-cart-order-type-option {
        min-width: 44px !important;
        padding-inline: 4px !important;
        font-size: 10.5px !important;
    }
}

/* Final checkout interaction guards must win over legacy runtime layers. */
.gm-checkout-coupon--applied button {
    display: inline-flex !important;
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    flex: 0 0 44px;
    align-items: center;
    justify-content: center;
    margin-inline-start: auto;
    border-radius: 12px;
    }

.gm-checkout-coupon--applied button:focus-visible {
    outline: 3px solid var(--gm-focus-ring);
    outline-offset: 2px;
}

.coupon-modal .modal-body button {
    min-height: 44px !important;
}

.gm-address-submit:disabled,
.gm-address-submit:disabled:hover {
    background: #eeeae4 !important;
    color: #746d65 !important;
    cursor: not-allowed !important;
    opacity: 1 !important;
    transform: none !important;
}

@media (max-width: 767px) {
    .gm-address-modern-modal .gm-address-modal-close {
        top: calc(env(safe-area-inset-top) + 16px) !important;
        inset-inline-end: 12px !important;
    }

    .gm-address-modern-modal .gm-address-searchbar {
        top: calc(env(safe-area-inset-top) + 12px) !important;
        left: auto !important;
        right: auto !important;
        inset-inline-start: 12px !important;
        inset-inline-end: 68px !important;
        min-height: 52px !important;
        padding: 4px 8px !important;
    }

    .gm-address-modern-modal .gm-address-map-picker {
        height: 100% !important;
        min-height: 0 !important;
    }

    .gm-address-modern-modal .gm-map-search-results,
    .gm-address-modern-modal .gm-map-message {
        top: calc(env(safe-area-inset-top) + 76px) !important;
    }

    .gm-address-modern-modal .gm-map-message {
        max-height: calc(
            100% - 194px - env(safe-area-inset-top)
        ) !important;
        overflow-y: auto;
        padding: 0.55rem 0.75rem;
        font-size: 0.875rem;
        line-height: 1.35;
        overscroll-behavior: contain;
        pointer-events: none;
    }

    .gm-address-modern-modal .gm-map-message button {
        pointer-events: auto;
    }

    .gm-address-modern-modal .gm-address-map-control,
    .gm-address-modern-modal .gm-address-map-back,
    .gm-address-modern-modal .gm-address-location-button {
        bottom: 12px !important;
    }
}

@media (max-width: 1023px) {
    .gm-storefront-shell[data-surface="checkout"] {
        padding-bottom: calc(
            var(--gm-mobile-tabbar-space, 78px) + 16px
        ) !important;
    }
}

/* FE-059: shared operational actions keep a WCAG 2.2 target floor. */

@media (min-width: 768px) and (max-width: 1023px) {
    .gm-storefront-shell[data-surface="checkout"] .gm-checkout-summary-actions {
        bottom: calc(var(--gm-mobile-tabbar-space, 78px) + 12px) !important;
    }
}

/* Final mobile app-bar contract. It intentionally follows the legacy
   page-specific blocks so every storefront section matches the Menu screen. */
@media (max-width: 767px) {
    .gm-storefront-shell
        .gm-storefront-content
        .gm-mobile-section-header {
        width: calc(100vw - 32px) !important;
        margin: 0 calc(50% - 50vw + 16px) 6px !important;
        padding: 4px 0 !important;
    }

    .gm-storefront-shell
        .gm-storefront-content
        .gm-mobile-section-header__row {
        grid-template-columns: 44px minmax(0, 1fr) !important;
        gap: 8px !important;
    }

    .gm-storefront-shell
        .gm-storefront-content
        .gm-mobile-section-header__row--with-trailing {
        grid-template-columns: 44px minmax(0, 1fr) auto !important;
    }

    .gm-storefront-shell
        .gm-storefront-content
        .gm-mobile-section-header__row--without-back {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .gm-storefront-shell
        .gm-storefront-content
        .gm-mobile-section-header__row--without-back.gm-mobile-section-header__row--with-trailing {
        grid-template-columns: minmax(0, 1fr) auto !important;
    }

    .gm-storefront-shell
        .gm-storefront-content
        .gm-mobile-section-header
        .gm-mobile-section-header__title {
        color: var(--gm-app-ink, #171412) !important;
        font-size: 22px !important;
        font-weight: 560 !important;
        line-height: 1.2 !important;
        letter-spacing: -0.015em !important;
    }
}

/* Final storefront language control: compact, explicit and visually calm. */
.gm-premium-header .storefront-language-corner .gm-language-trigger {
    width: auto !important;
    min-width: 82px !important;
    height: 44px !important;
    min-height: 44px !important;
    gap: 8px !important;
    padding: 0 12px !important;
    border: var(--gm-stroke-control) solid var(--gm-border) !important;
    border-radius: var(--gm-radius-control) !important;
    background: #ffffff !important;
    color: var(--gm-app-ink) !important;
    box-shadow: none !important;
    font-size: 12px !important;
    font-weight: 650 !important;
    transition: border-color var(--gm-duration-fast) var(--gm-ease-standard), background-color var(--gm-duration-fast) var(--gm-ease-standard), color var(--gm-duration-fast) var(--gm-ease-standard) !important;
}

.gm-premium-header .storefront-language-corner .gm-language-trigger:hover,
.gm-premium-header .storefront-language-corner .gm-language-trigger[aria-expanded="true"] {
    border-color: rgba(179, 38, 33, 0.24) !important;
    background: #f8f6f2 !important;
    color: var(--gm-app-brand) !important;
}

.gm-premium-header .storefront-language-corner .gm-language-trigger:focus-visible {
    border-color: var(--gm-border) !important;
    outline: none !important;
    box-shadow:var(--gm-elevation-none) !important;
}

.gm-premium-header .storefront-language-corner .gm-language-trigger img {
    width: 18px !important;
    height: 18px !important;
}

.gm-language-trigger__chevron {
    flex: 0 0 auto !important;
    transition: transform var(--gm-duration-standard) var(--gm-ease-emphasized) !important;
}

.gm-language-trigger[aria-expanded="true"] .gm-language-trigger__chevron {
    transform: rotate(180deg) !important;
}

.storefront-language-corner .gm-language-menu {
    top: 54px !important;
    min-width: 210px !important;
    padding: 6px !important;
    border: var(--gm-stroke-control) solid var(--gm-border) !important;
    border-radius: var(--gm-radius-panel) !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

.storefront-language-corner .gm-language-option {
    gap: 10px !important;
    border: var(--gm-stroke-control) solid transparent !important;
    border-radius: var(--gm-radius-control) !important;
    color: var(--gm-app-ink) !important;
}

.storefront-language-corner .gm-language-option:hover,
.storefront-language-corner .gm-language-option:focus-visible,
.storefront-language-corner .gm-language-option[aria-checked="true"] {
    background: #f8f6f2 !important;
}

.gm-language-option__check {
    margin-inline-start: auto !important;
    color: var(--gm-app-brand) !important;
}

@media (max-width: 767px) {
    .gm-premium-header .storefront-language-corner .gm-language-trigger {
        min-width: 76px !important;
        padding-inline: 10px !important;
    }

    .gm-premium-header .storefront-language-corner .gm-language-trigger span {
        display: block !important;
        overflow: visible !important;
    }

    .gm-home-products-section .gm-product-carousel .product-card-grid-image {
        height: 100% !important;
    }
}

/* Storefront scroll remains functional, but native scrollbar chrome is never shown. */
html,
body[data-surface="storefront"],
body[data-surface="storefront"] * {
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
}

html::-webkit-scrollbar,
body[data-surface="storefront"]::-webkit-scrollbar,
body[data-surface="storefront"] *::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
}

/* Product pricing: the payable amount leads, the former price stays secondary. */
.gm-menu-card__price {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: baseline !important;
    gap: 5px 8px !important;
}

.gm-menu-card__price :where(.product-card-grid-price-current, .product-card-list-price-current) {
    margin: 0 !important;
    color: var(--gm-app-ink) !important;
    font-size: 18px !important;
    font-weight: 720 !important;
    line-height: 1.05 !important;
    font-variant-numeric: tabular-nums !important;
}

.gm-menu-card__price .product-card-grid-price-previous {
    margin: 0 !important;
    color: var(--gm-app-muted) !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 1.1 !important;
    text-decoration-color: currentColor !important;
    text-decoration-thickness: 1px !important;
    font-variant-numeric: tabular-nums !important;
}

/* One contour contract for every legacy dropdown surface and option. */
:where(.dropdown-list) {
    border: var(--gm-stroke-control) solid var(--gm-border) !important;
    border-radius:var(--gm-radius-panel) !important;
    box-shadow: none !important;
}

:where(.dropdown-list) :where([role="menuitem"], [role="menuitemradio"], [role="menuitemcheckbox"]) {
    border: var(--gm-stroke-control) solid transparent !important;
    border-radius:var(--gm-radius-control) !important;
}

:where(.dropdown-list) :where([role="menuitem"], [role="menuitemradio"], [role="menuitemcheckbox"]):focus-visible {
    border-color: transparent !important;
    outline: none !important;
    box-shadow:var(--gm-elevation-none) !important;
}

/* Forms keep the same calm neutral contour used by the home search. */
body .gm-composite-control:focus-within {
    border-color: var(--gm-app-line, var(--gm-border)) !important;
    outline: none !important;
    box-shadow:var(--gm-elevation-none) !important;
}

body .gm-composite-control :where(input, select, textarea, button):focus-visible {
    outline: none !important;
    box-shadow:var(--gm-elevation-none) !important;
}

body[data-surface] :where(input, select, textarea):focus-visible {
    border-color: var(--gm-app-line, var(--gm-border)) !important;
    outline: none !important;
    box-shadow:var(--gm-elevation-none) !important;
}

@media (max-width: 767px) {
    .gm-menu-card__price :where(.product-card-grid-price-current, .product-card-list-price-current) {
        font-size: 17px !important;
    }
}

/* Compact item-choice and unified checkout overrides. */
body .gm-option-control:focus-within .gm-option-control__indicator { outline: 3px solid var(--gm-app-brand, var(--gm-color-brand)); outline-offset: 2px; }
.gm-checkout-preferences { padding-block: 16px !important; }
.gm-checkout-recommendations .gm-product-carousel { display: flex !important; grid-template-columns: none !important; gap: 10px !important; width: 100% !important; overflow-x: auto !important; overflow-y: hidden !important; padding: 2px 2px 10px !important; scroll-snap-type: inline mandatory !important; overscroll-behavior-inline: contain !important; }
.gm-checkout-recommendations .gm-product-carousel > .gm-menu-card { width: 188px !important; min-width: 188px !important; flex: 0 0 188px !important; scroll-snap-align: start !important; }
.gm-checkout-recommendations :where(.gm-menu-card__description, .gm-menu-card__meta) { display: none !important; }

@media (max-width: 767px) {
    .gm-storefront-shell[data-surface="checkout"] { padding-bottom: calc(var(--gm-mobile-tabbar-space, 78px) + 60px) !important; }
    .gm-storefront-shell[data-surface="checkout"] .gm-checkout-page { padding-bottom: 20px !important; }
    .gm-checkout-primary { gap: 10px !important; }
    .gm-checkout-time-block { margin-inline: 0 !important; }
    .gm-checkout-time-block .gm-checkout-time-heading { margin-bottom: 10px !important; }
    .gm-storefront-content .gm-checkout-time-options .gm-checkout-choice.active { box-shadow: 0 1px 3px rgb(23 23 23 / 10%) !important; }
    .gm-checkout-preferences { padding: 14px !important; }
    .gm-checkout-preferences .gm-checkout-card-head { margin-bottom: 8px !important; }
    .gm-checkout-persons { min-height: 68px !important; padding-block: 12px !important; }
    .gm-checkout-payment-section { padding-top: 0 !important; }
    .gm-checkout-recommendations .gm-product-carousel { width: calc(100% + 8px) !important; padding-inline-end: 12px !important; }
    .gm-checkout-recommendations .gm-product-carousel > .gm-menu-card { width: min(48vw, 184px) !important; min-width: min(48vw, 184px) !important; flex-basis: min(48vw, 184px) !important; }
    .gm-storefront-shell[data-surface="checkout"] .gm-checkout-summary-actions.gm-mobile-action-surface,
    .gm-item-buybar.gm-mobile-action-surface { position: fixed !important; z-index: var(--gm-layer-app-header, 260) !important; inset-inline: var(--gm-space-3) !important; bottom: calc(var(--gm-mobile-tabbar-space, 78px) - 10px) !important; width: auto !important; align-items: center !important; gap: var(--gm-space-3) !important; min-height: 64px !important; margin: 0 !important; padding: var(--gm-space-2) !important; border: 1px solid var(--gm-color-border) !important; border-radius: calc(var(--gm-radius-panel) + var(--gm-space-1)) !important; background: var(--gm-color-surface, #ffffff) !important; box-shadow: none !important; backdrop-filter: none !important; box-sizing: border-box !important; }
    .gm-storefront-shell[data-surface="checkout"] .gm-checkout-summary-actions { display: grid !important; grid-template-columns: minmax(0, 1fr) auto !important; }
    .gm-item-detail-page { padding-bottom: calc(var(--gm-mobile-tabbar-space, 78px) + 80px) !important; }
    .gm-item-buybar.gm-mobile-action-surface { display: flex !important; justify-content: space-between !important; }
    .gm-item-buybar.gm-mobile-action-surface p { display: block !important; margin: 0 0 2px !important; color: var(--gm-color-text-muted) !important; font-size: 12px !important; line-height: 1.2 !important; }
    .gm-item-buybar.gm-mobile-action-surface h3 { margin: 0 !important; color: var(--gm-color-text) !important; font-size: 18px !important; font-variant-numeric: tabular-nums !important; }
    .gm-checkout-summary-actions .gm-checkout-sticky-total { min-width: 0 !important; gap: 1px !important; }
    .gm-checkout-summary-actions .gm-checkout-sticky-total strong { font-size: 18px !important; font-variant-numeric: tabular-nums !important; }
    .gm-checkout-summary-actions .gm-checkout-submit { --gm-checkout-button-radius: var(--gm-radius-control); width: min(58vw, 210px) !important; min-height: 44px !important; justify-self: end !important; padding-inline: clamp(12px, 4vw, 16px) !important; background: var(--gm-color-brand, #c52922) !important; font-size: clamp(13px, 3.7vw, 14px) !important; font-weight: 600 !important; letter-spacing: -0.01em !important; }
    .gm-checkout-summary-actions .gm-checkout-submit:hover:not(:disabled) { background: var(--gm-color-brand-strong, #a91f1a) !important; }
    .gm-checkout-summary-actions .gm-checkout-submit:active:not(:disabled) { transform: scale(0.985) !important; }
}

@media (max-width: 340px) {
    .gm-checkout-block-head.gm-checkout-time-heading { grid-template-columns: 22px minmax(0, 1fr) 18px !important; gap: var(--gm-space-2) !important; }
    .gm-checkout-time-heading h3 { font-size: 16px !important; white-space: nowrap !important; }
    .gm-checkout-time-options .gm-checkout-choice { padding-inline: var(--gm-space-2) !important; }
    .gm-checkout-time-options .gm-checkout-choice strong { font-size: 13px !important; letter-spacing: -0.01em !important; }
    .gm-checkout-time-options .gm-checkout-choice em { font-size: 12px !important; }
}

.modal.ff-modal.gm-time-schedule-modal {
    top: 0 !important;
    z-index: 1300 !important;
    display: flex !important;
    border: 0 !important;
    background: rgb(17 17 17 / 46%) !important;
    backdrop-filter: none !important;
    box-shadow: none !important;
}

.modal.ff-modal.gm-time-schedule-modal .gm-schedule-sheet {
    width: 100% !important;
    max-width: 100% !important;
    height: calc(100dvh - 54px) !important;
    max-height: calc(100dvh - 54px) !important;
    margin: 0 !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 28px 28px 0 0 !important;
    background: #fff !important;
    box-shadow: none !important;
}

@media (min-width: 768px) {
    .modal.ff-modal.gm-time-schedule-modal .gm-schedule-sheet {
        width: min(560px, 100%) !important;
        max-width: 560px !important;
        height: min(720px, calc(100dvh - 78px)) !important;
        max-height: min(720px, calc(100dvh - 78px)) !important;
        border-radius: 28px !important;
    }
}

@media (min-width: 560px) and (max-width: 1023px) and (orientation: landscape) and (max-height: 560px) {
    body:not(.gm-cart-drawer-open) .gm-mobile-tabbar {
        left: calc(50% + 22px) !important;
        top: max(5px, env(safe-area-inset-top)) !important;
        bottom: auto !important;
        width: clamp(264px, 42vw, 340px) !important;
        min-height: 50px !important;
        padding: 2px !important;
        border-radius: 18px !important;
        box-shadow: 0 4px 16px rgb(23 18 15 / 10%) !important;
        backdrop-filter: blur(14px) saturate(135%) !important;
    }

    body:not(.gm-cart-drawer-open) .gm-mobile-tabbar :is(.gm-mobile-tab, .gm-mobile-cart-tab) {
        height: 44px !important;
        min-height: 44px !important;
        border-radius: 12px !important;
    }

    .gm-storefront-shell[data-surface="checkout"] .gm-checkout-summary-actions.gm-mobile-action-surface,
    .gm-item-buybar.gm-mobile-action-surface {
        bottom: max(12px, env(safe-area-inset-bottom)) !important;
    }
}

}

@layer legacy {
.storefront-account-link--logout:disabled {
    cursor: wait !important;
    opacity: 0.58 !important;
}

.storefront-account-link-icon-shell,
.storefront-account-summary-edit {
    display: grid;
    flex: 0 0 auto;
    place-items: center;
}

.storefront-account-link-chevron {
    width: 18px;
    height: 18px;
    flex: 0 0 auto;
    margin-inline-start: auto;
    color: var(--gm-app-muted);
}

[dir="rtl"] .storefront-account-link-chevron {
    transform: rotate(180deg);
}

.storefront-account-dropdown .storefront-account-link-icon-shell {
    width: 20px;
    height: 20px;
}

.storefront-account-dropdown .storefront-account-link-chevron {
    display: none;
}

.gm-profile-mobile-appbar,
.gm-profile-page-actions { display: none; }

@media (max-width: 767px) {
    :root { --gm-mobile-tabbar-space: calc(82px + env(safe-area-inset-bottom)); }
    .gm-storefront-shell[data-surface="profile"] { min-height: 100dvh !important; padding-bottom: var(--gm-mobile-tabbar-space) !important; background: var(--gm-app-bg) !important; }
    .gm-storefront-shell[data-surface="profile"] .footer-part { display: none !important; }
    .gm-storefront-shell[data-surface="profile"] .gm-storefront-content { min-height: calc(100dvh - var(--gm-mobile-tabbar-space)) !important; padding-bottom: 0 !important; background: var(--gm-app-bg) !important; }
    .gm-storefront-profile-page { min-height: calc(100dvh - var(--gm-mobile-tabbar-space)) !important; box-sizing: border-box !important; padding-top: 8px !important; padding-bottom: 22px !important; }
    .gm-storefront-profile-container { width: 100% !important; max-width: 520px !important; padding-inline: clamp(16px, 4.5vw, 22px) !important; }

    .gm-profile-mobile-appbar { display: block !important; }

    .gm-profile-page-actions { display: block !important; }
    .gm-profile-page-desktop-actions { display: none !important; }
    body .gm-storefront-profile-card .storefront-account-summary { display: grid !important; grid-template-columns: 64px minmax(0, 1fr) 18px !important; align-items: center !important; gap: 14px !important; min-width: 0 !important; min-height: 92px !important; margin: 0 0 12px !important; padding: 14px !important; border: 0 !important; border-radius: 16px !important; background: var(--gm-color-surface-subtle) !important; color: var(--gm-app-ink) !important; box-shadow: none !important; }
    body .gm-storefront-profile-card .storefront-account-summary:hover { border-color: transparent !important; background: var(--gm-color-surface-subtle) !important; }
    .gm-storefront-profile-card .storefront-account-avatar { width: 64px !important; height: 64px !important; margin: 0 !important; }
    .gm-storefront-profile-card .storefront-account-avatar-frame { border: 0 !important; background: #fff6e9 !important; box-shadow: inset 0 0 0 1px var(--gm-app-line) !important; }
    .gm-storefront-profile-card .storefront-account-avatar-initial { color: var(--gm-app-ink) !important; font-size: 27px !important; font-weight: 580 !important; }
    .gm-storefront-profile-card .storefront-account-summary-text { display: flex !important; min-width: 0; flex-direction: column; }
    .gm-storefront-profile-card .storefront-account-name { color: var(--gm-app-ink) !important; font-size: 18px !important; font-weight: 620 !important; letter-spacing: -0.01em !important; line-height: 1.18 !important; }
    .gm-storefront-profile-card .storefront-account-email { margin-top: 2px !important; color: var(--gm-app-muted) !important; font-size: 13px !important; line-height: 1.25 !important; }
    .gm-storefront-profile-card .storefront-account-balance { margin-top: 4px !important; padding: 0 !important; background: transparent !important; color: var(--gm-color-brand) !important; font-size: 16px !important; font-weight: 680 !important; font-variant-numeric: tabular-nums !important; }
    body .gm-storefront-profile-card .storefront-account-summary-edit { display: grid !important; width: 20px !important; height: 32px !important; place-items: center; background: transparent !important; }
    .gm-storefront-profile-card .storefront-account-summary-chevron { width: 20px !important; height: 20px !important; color: var(--gm-app-muted) !important; }

    .gm-profile-actions { display: grid; gap: 10px; }
    .gm-profile-action { position: relative; display: grid; min-width: 0; align-items: center; color: var(--gm-app-ink); text-decoration: none; -webkit-tap-highlight-color: transparent; touch-action: manipulation; transition: background-color 160ms ease, transform 160ms ease; }
    .gm-profile-action-icon { grid-area: icon; display: grid; width: 32px; height: 32px; place-items: center; color: var(--gm-app-ink); }
    .gm-profile-action-icon .storefront-account-link-icon { width: 28px !important; height: 28px !important; color: currentColor !important; stroke-width: 1.7 !important; }
    .gm-profile-action-copy { grid-area: copy; display: flex; min-width: 0; flex-direction: column; gap: 2px; }
    .gm-profile-action-copy strong { overflow-wrap: anywhere; font-size: 15px; font-weight: 620; line-height: 1.25; letter-spacing: -0.01em; }
    .gm-profile-action-copy span { overflow-wrap: anywhere; color: var(--gm-app-muted); font-size: 12px; font-weight: 450; line-height: 1.3; }
    .gm-profile-action-chevron { grid-area: chevron; width: 18px !important; height: 18px !important; color: var(--gm-app-muted); }
    [dir="rtl"] .gm-profile-action-chevron { transform: rotate(180deg); }

    .gm-profile-action--admin { min-height: 68px; grid-template-columns: 32px minmax(0, 1fr) 18px; grid-template-areas: "icon copy chevron"; gap: 13px; padding: 10px 15px; border-radius: 15px; background: var(--gm-app-ink); color: var(--gm-color-text-inverse); }
    .gm-profile-action--admin .gm-profile-action-icon, .gm-profile-action--admin .gm-profile-action-chevron { color: var(--gm-color-text-inverse); }
    .gm-profile-action--admin .gm-profile-action-copy strong { display: block; color: var(--gm-color-text-inverse); font-size: 16px; font-weight: 650; opacity: 1; }
    .gm-profile-action--admin .gm-profile-action-copy span { color: rgb(255 255 255 / 68%); }
    .gm-profile-priority-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .gm-profile-action--priority { min-height: 110px; grid-template-columns: minmax(0, 1fr) 18px; grid-template-rows: 30px 1fr; grid-template-areas: "icon chevron" "copy copy"; align-content: space-between; gap: 10px 8px; padding: 14px; border-radius: 14px; background: color-mix(in srgb, var(--gm-color-brand) 4%, var(--gm-color-surface)); }
    .gm-profile-action--priority .gm-profile-action-icon { color: var(--gm-color-brand); }
    .gm-profile-action--priority .gm-profile-action-copy { align-self: end; }
    .gm-profile-action--priority .gm-profile-action-copy strong { font-size: 16px; }
    .gm-profile-secondary-group { overflow: hidden; border: 1px solid var(--gm-app-line); border-radius: 14px; background: var(--gm-color-surface); }
    .gm-profile-action--secondary { min-height: 66px; grid-template-columns: 32px minmax(0, 1fr) 18px; grid-template-areas: "icon copy chevron"; gap: 13px; padding: 9px 14px; }
    .gm-profile-action--secondary + .gm-profile-action--secondary::before { content: ""; position: absolute; inset-block-start: 0; inset-inline: 64px 16px; height: 1px; background: var(--gm-app-line); }
    .gm-profile-logout { display: flex; min-height: 48px; align-items: center; gap: 13px; padding: 0 13px; border: 0; border-radius: 13px; background: transparent; color: var(--gm-color-brand-strong); font: inherit; font-size: 15px; font-weight: 600; text-align: start; cursor: pointer; }
    .gm-profile-logout .storefront-account-link-icon { width: 25px !important; height: 25px !important; color: var(--gm-app-muted) !important; }
    .gm-profile-logout:disabled { cursor: wait; opacity: .58; }
    .gm-profile-action:hover, .gm-profile-logout:hover { background-color: color-mix(in srgb, var(--gm-color-brand) 7%, var(--gm-color-surface)); }
    .gm-profile-action:focus-visible, .gm-profile-logout:focus-visible { outline: var(--gm-stroke-focus) solid var(--gm-color-focus-ring); outline-offset: -3px; }

    .gm-mobile-tabbar { left: 50% !important; right: auto !important; bottom: max(10px, env(safe-area-inset-bottom)) !important; width: min(344px, calc(100% - 32px)) !important; max-width: 344px !important; min-height: 64px !important; grid-template-columns: repeat(5, minmax(0, 1fr)) !important; gap: 2px !important; padding: 6px !important; overflow: visible !important; border: 1px solid var(--gm-app-line) !important; border-radius: 22px !important; background: var(--gm-color-surface) !important; box-shadow: 0 12px 32px rgb(23 18 15 / 12%) !important; backdrop-filter: none !important; transform: translateX(-50%) !important; }
    .gm-mobile-tabbar .gm-mobile-tab, .gm-mobile-tabbar .gm-mobile-cart-tab { min-height: 50px !important; height: 50px !important; flex-direction: row !important; gap: 0 !important; padding: 0 !important; border-radius: 14px !important; color: #6f6b66 !important; background: transparent !important; box-shadow: none !important; touch-action: manipulation; }
    .gm-mobile-tabbar .gm-mobile-tab-icon-shell { position: relative !important; z-index: 0 !important; display: grid !important; width: 38px !important; height: 38px !important; flex: 0 0 38px !important; place-items: center !important; border-radius: 13px !important; background: transparent !important; color: currentColor !important; transition: background-color 160ms ease, color 160ms ease; }
    .gm-mobile-tabbar :is(.gm-mobile-tab.active, .gm-mobile-cart-tab.active, [aria-current="page"]) { color: var(--gm-color-brand-strong) !important; background: transparent !important; box-shadow: none !important; }
    .gm-mobile-tabbar :is(.gm-mobile-tab.active, .gm-mobile-cart-tab.active, [aria-current="page"]) .gm-mobile-tab-icon-shell { background: transparent !important; color: var(--gm-color-brand) !important; transform: none !important; }
    .gm-mobile-tabbar .gm-mobile-cart-tab.has-items:not(.active) { color: #6f6b66 !important; }
    .gm-mobile-tabbar .gm-mobile-tab::before, .gm-mobile-tabbar .gm-mobile-cart-tab::before, .gm-mobile-tabbar .gm-mobile-tab::after, .gm-mobile-tabbar .gm-mobile-cart-tab::after { display: none !important; }
    .gm-mobile-tabbar .gm-mobile-tab-icon, .gm-mobile-tabbar .gm-mobile-cart-icon { width: 24px !important; height: 24px !important; color: currentColor !important; stroke-width: 1.8 !important; }
    .gm-mobile-tabbar .gm-mobile-cart-dot { top: 2px !important; right: 2px !important; left: auto !important; width: 6px !important; height: 6px !important; border: 1px solid var(--gm-color-surface) !important; border-radius: 999px !important; background: var(--gm-color-brand) !important; box-shadow: none !important; transform: none !important; }
    .gm-mobile-tabbar :where(.gm-mobile-tab, .gm-mobile-cart-tab):focus-visible { outline: var(--gm-stroke-focus) solid var(--gm-color-focus-ring) !important; outline-offset: -3px !important; }
}

@media (max-width: 767px) and (hover: none) {
    .gm-storefront-profile-card .storefront-account-summary:active {
        transform: scale(0.99) !important;
        border-radius: 10px !important;
        background: rgb(179 38 33 / 5%) !important;
    }

    .gm-profile-action:active,
    .gm-profile-logout:active {
        transform: scale(0.985);
    }
}

@media (max-width: 767px) and (orientation: landscape) and (max-height: 560px) {
    .gm-storefront-profile-page {
        padding-top: max(4px, env(safe-area-inset-top)) !important;
    }

}

@media (max-width: 359px) {
    .gm-storefront-profile-container {
        padding-inline: 12px !important;
    }

    body .gm-storefront-profile-card .storefront-account-summary {
        grid-template-columns: 56px minmax(0, 1fr) 18px !important;
        gap: 12px !important;
        min-height: 92px !important;
        padding: 2px 0 10px !important;
    }

    .gm-storefront-profile-card .storefront-account-avatar {
        width: 56px !important;
        height: 56px !important;
    }

    .gm-storefront-profile-card .storefront-account-name {
        font-size: 18px !important;
    }

}

body.gm-product-modal-open .gm-mobile-tabbar {
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

@media (prefers-reduced-motion: reduce) {
    .storefront-account-summary,
    .storefront-account-link,
    .gm-mobile-tab,
    .gm-mobile-cart-tab {
        transition-duration: 0.01ms !important;
    }
}
}

/* Keep the component contract last so legacy route-specific image rules cannot crop it. */
@layer legacy {
    .gm-category-artwork {
        display: grid !important;
        flex: 0 0 auto !important;
        width: 64px !important;
        height: 64px !important;
        place-items: center !important;
        overflow: visible !important;
    }

    .gm-category-artwork.gm-category-artwork > img.gm-category-artwork__image {
        display: block !important;
        width: 100% !important;
        height: 100% !important;
        max-width: 100% !important;
        object-fit: contain !important;
        transform: translate3d(var(--gm-category-optical-x, 0), var(--gm-category-optical-y, 0), 0) scale(var(--gm-category-optical-scale, 1)) !important;
        transform-origin: center !important;
    }

    .gm-category-artwork.gm-category-artwork > img.gm-category-artwork__image[data-media-fallback="true"] {
        transform: none !important;
    }

    .gm-item-detail-image[data-media-fallback="true"] {
        object-fit: contain !important;
        object-position: center !important;
    }

    /* UiIcon owns its rendered box; legacy route styles may only control color. */
    .gm-ui-icon.gm-ui-icon[data-icon-size="micro"] {
        box-sizing: border-box !important;
        width: 12px !important;
        min-width: 12px !important;
        max-width: 12px !important;
        height: 12px !important;
        min-height: 12px !important;
        max-height: 12px !important;
        padding: 0 !important;
    }

    .gm-ui-icon.gm-ui-icon[data-icon-size="compact"] {
        box-sizing: border-box !important;
        width: 16px !important;
        min-width: 16px !important;
        max-width: 16px !important;
        height: 16px !important;
        min-height: 16px !important;
        max-height: 16px !important;
        padding: 0 !important;
    }

    .gm-ui-icon.gm-ui-icon[data-icon-size="standard"] {
        box-sizing: border-box !important;
        width: 20px !important;
        min-width: 20px !important;
        max-width: 20px !important;
        height: 20px !important;
        min-height: 20px !important;
        max-height: 20px !important;
        padding: 0 !important;
    }

    .gm-ui-icon.gm-ui-icon[data-icon-size="prominent"] {
        box-sizing: border-box !important;
        width: 24px !important;
        min-width: 24px !important;
        max-width: 24px !important;
        height: 24px !important;
        min-height: 24px !important;
        max-height: 24px !important;
        padding: 0 !important;
    }

    /* Final storefront accessibility guards: runtime.css is the last legacy
       layer and therefore owns the rendered touch-target dimensions. */
    .gm-checkout-order-type > div,
    .gm-checkout-order-type label {
        min-height: 44px !important;
    }

    .gm-checkout-order-type label {
        padding-block: 7px !important;
    }

    .gm-table-cart-screen .gm-quantity-stepper.indec-group {
        width: 132px !important;
        height: 44px !important;
        grid-template-columns: repeat(3, 44px) !important;
    }

    .gm-table-cart-screen .gm-quantity-stepper.indec-group > :is(button, input) {
        width: 44px !important;
        height: 44px !important;
    }
}
