/**general**/
.text-left {
    text-align: left !important;
}
.text-right {
    text-align: right !important;
}

.price-currency {
    font-size: 30px;
    font-weight: bold;
}

.price {
    font-size: 30px;
    font-weight: bold;
}
.no-round-top{
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}
@media (max-width:992px) {
    .header-search {
        width: 100% !important;
    }
}

html {
    scroll-padding-bottom: calc(var(--gm-bottom-action-height, 76px) + var(--gm-safe-area-bottom, 0px));
}

body {
    background: var(--gm-page-bg, var(--bs-body-bg));
    color: var(--gm-text, var(--bs-body-color));
    overflow-x: hidden;
}

.storefront-shell {
    padding-left: var(--gm-page-gutter, 1rem);
    padding-right: var(--gm-page-gutter, 1rem);
    padding-bottom: var(--gm-safe-area-bottom, 0px);
}

.storefront-navbar {
    position: sticky;
    top: 0;
    z-index: 1030;
    box-shadow: 0 8px 24px rgba(var(--gm-brand-rgb, 61, 52, 139), 0.08);
}

.storefront-header--brand_forward .storefront-navbar {
    box-shadow: none;
    min-height: 5rem;
}

.storefront-header--brand_forward .storefront-navbar__inner {
    gap: 0.85rem;
}

.storefront-header--brand_forward .navbar-brand,
.storefront-header--hospitality .navbar-brand {
    align-items: center;
    display: inline-flex;
    font-family: var(--gm-font-heading, serif);
    gap: 0.65rem;
    line-height: 1;
}

.storefront-header--brand_forward .navbar-brand {
    font-size: 1.25rem;
    font-weight: var(--gm-heading-weight, 750);
}

.storefront-header--hospitality .navbar-brand {
    font-size: 1.35rem;
    font-weight: 600;
}

.storefront-header--brand_forward .storefront-navbar__search {
    flex-basis: 14rem;
    max-width: 20rem;
}

.storefront-header--hospitality .storefront-navbar {
    box-shadow: none;
    border-bottom: 1px solid rgba(var(--gm-white-rgb, 255, 255, 255), 0.24);
    min-height: 4.5rem;
}

.storefront-header--hospitality .storefront-navbar__inner {
    max-width: 90rem;
    margin: 0 auto;
}

.storefront-header--hospitality .storefront-navbar__search {
    max-width: 18rem;
}

.storefront-navbar__inner {
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.storefront-navbar__menu {
    min-width: 0;
}

.storefront-navbar__search {
    flex: 1 1 18rem;
    min-width: min(18rem, 100%);
}

.storefront-navbar__search .header-search {
    width: 100% !important;
}

.storefront-navbar__cart {
    align-items: center;
    display: inline-flex;
    margin-left: auto;
}

.storefront-navbar__account {
    align-items: center;
    display: inline-flex;
}

.storefront-navbar__language {
    align-items: center;
    display: inline-flex;
}

.storefront-navbar .navbar-brand {
    display: inline-flex;
    align-items: center;
    min-width: 0;
    line-height: 1;
}

.storefront-navbar__logo {
    display: inline-block;
    height: 44px;
    max-width: min(12rem, 55vw);
    object-fit: contain;
    vertical-align: middle;
    width: auto;
}

.storefront-navbar__brand-name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.storefront-navbar .nav-link {
    font-size: 0.82rem;
    font-weight: 750;
}

.storefront-header--hospitality .storefront-navbar .nav-link {
    font-weight: 600;
}

.storefront-navbar__search .form-control {
    background: rgba(var(--gm-white-rgb, 255, 255, 255), 0.12);
    border-color: rgba(var(--gm-white-rgb, 255, 255, 255), 0.34);
    color: inherit;
}

.storefront-navbar__search .form-control::placeholder {
    color: currentColor;
    opacity: 0.72;
}

.storefront-account-button {
    background: rgba(var(--bs-light-rgb, 255, 255, 255), 0.12);
    border: 1px solid rgba(var(--bs-light-rgb, 255, 255, 255), 0.24);
    text-decoration: none;
}

.storefront-language-button {
    background: rgba(var(--bs-light-rgb, 255, 255, 255), 0.12);
    border: 1px solid rgba(var(--bs-light-rgb, 255, 255, 255), 0.24);
}

.storefront-language-button img,
.storefront-language-menu img {
    border-radius: 50%;
    object-fit: cover;
}

.storefront-language-menu .dropdown-item {
    align-items: center;
    display: flex;
    gap: 0.55rem;
}

.storefront-nav-action-button {
    background: transparent;
    border: 0;
    text-align: left;
    width: 100%;
}

.storefront-cart-button {
    align-items: center;
    display: inline-flex;
    gap: 0.45rem;
    justify-content: center;
    margin: 0;
    padding: 0.45rem 0.75rem;
    position: relative;
    border-radius: var(--gm-radius-sm, 0.375rem);
    white-space: nowrap;
}

.storefront-cart-button__icon {
    font-size: 1rem;
}

.storefront-cart-button__total {
    font-size: 0.88rem;
    font-weight: 800;
    line-height: 1;
}

.storefront-icon-button {
    border-color: rgba(var(--bs-light-rgb, 255, 255, 255), 0.35);
    border-radius: var(--gm-radius-sm, 0.375rem);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.5rem;
}

.storefront-mobile-brand {
    align-items: center;
    display: inline-flex;
    flex: 1 1 auto;
    font-size: 0.95rem;
    font-weight: 700;
    min-width: 0;
    overflow: hidden;
    text-decoration: none;
}

.storefront-mobile-brand__logo {
    flex: 0 0 auto;
    height: 30px;
    max-width: 4rem;
    object-fit: contain;
    width: auto;
}

.storefront-mobile-brand__name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.storefront-service-selector .alert {
    border-left: 0;
    border-radius: 0;
    border-right: 0;
}

.storefront-service-selector {
    background: var(--gm-surface, #ffffff);
    border-bottom: 1px solid var(--gm-border, #dee2e6);
    position: relative;
    z-index: 8;
}

.storefront-hero__logo {
    display: block;
    height: auto;
    margin: 0 auto 1rem;
    max-height: 12.5rem;
    max-width: 100%;
    object-fit: contain;
    width: auto;
}

.storefront-hero {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    display: grid;
    min-height: var(--gm-hero-height, 62vh);
    position: relative;
}

.storefront-hero__overlay,
.storefront-hero__inner {
    min-height: inherit;
    width: 100%;
}

.storefront-hero__inner {
    margin: 0 auto;
    max-width: 90rem;
    padding: 4.5rem max(var(--gm-page-gutter, 1rem), 4vw);
}

.storefront-hero__content {
    max-width: 48rem;
}

.storefront-hero__eyebrow,
.storefront-section-eyebrow {
    font-family: var(--gm-font-body, sans-serif);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: var(--gm-label-tracking, 0);
    margin: 0 0 1rem;
    text-transform: uppercase;
}

.storefront-hero__title {
    color: inherit;
    font-size: 4.75rem;
    margin: 0;
    max-width: 20ch;
    overflow-wrap: anywhere;
}

.storefront-hero__subtitle {
    color: inherit;
    font-family: var(--gm-font-body, sans-serif);
    font-size: 1.15rem;
    line-height: 1.55;
    margin: 1.25rem 0 0;
    max-width: 38rem;
}

.storefront-hero__cta-group {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 1.75rem;
}

.storefront-hero__cta-group .btn {
    font-family: var(--gm-font-body, sans-serif);
    font-weight: var(--gm-button-weight, 700);
    min-height: var(--gm-tap-target, 44px);
}

.storefront-hero__secondary-action {
    background: rgba(var(--gm-black-rgb, 0, 0, 0), 0.18);
}

.storefront-hero__meta {
    border-left: 2px solid currentColor;
    font-size: 0.84rem;
    font-weight: 700;
    margin: 1.5rem 0 0;
    max-width: 32rem;
    opacity: 0.92;
    padding-left: 0.75rem;
}

.storefront-hero--bold_poster {
    background-position: center right;
}

.storefront-hero--bold_poster .storefront-hero__content {
    max-width: 52rem;
}

.storefront-hero--bold_poster .storefront-hero__logo {
    margin-left: 0;
    max-height: 8rem;
}

.storefront-hero--bold_poster .storefront-hero__title {
    font-size: 5.5rem;
    max-width: 18ch;
}

.storefront-hero--bold_poster .btn {
    border-width: 2px;
    font-weight: 900;
    padding: 0.85rem 1.2rem;
    text-transform: uppercase;
}

.storefront-hero--cinematic .storefront-hero__content {
    margin: 0 auto;
    max-width: 54rem;
    text-align: center;
}

.storefront-hero--cinematic .storefront-hero__title,
.storefront-hero--cinematic .storefront-hero__subtitle {
    margin-left: auto;
    margin-right: auto;
}

.storefront-hero--cinematic .storefront-hero__cta-group {
    justify-content: center;
}

.storefront-hero--service_portal {
    background-position: center 58%;
}

.storefront-hero--service_portal .storefront-hero__content {
    max-width: 46rem;
}

.storefront-hero--service_portal .storefront-hero__logo {
    margin-left: 0;
    max-height: 9rem;
}

.storefront-hero--service_portal .storefront-hero__title {
    font-size: 4.25rem;
}

.storefront-hero[data-hero-display="service_context"] .storefront-hero__meta {
    border: 1px solid currentColor;
    display: inline-block;
    padding: 0.65rem 0.8rem;
}

.storefront-service-banner {
    margin: 0 auto;
    max-width: var(--gm-content-max-width, 1180px);
    padding: 1rem var(--gm-page-gutter, 1rem);
}

.storefront-service-banner--prompt {
    align-items: center;
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(15rem, 0.75fr) minmax(20rem, 1.25fr);
}

.storefront-service-banner--selected {
    padding-bottom: 0.85rem;
    padding-top: 0.85rem;
}

.storefront-service-banner__intro {
    align-items: flex-start;
    display: flex;
    gap: 0.8rem;
}

.storefront-service-banner__intro h2,
.storefront-service-selected h2 {
    color: var(--gm-text, #212529);
    font-size: 1.05rem;
    font-weight: 850;
    letter-spacing: 0;
    line-height: 1.25;
    margin: 0;
}

.storefront-service-banner__intro p {
    color: var(--gm-text-muted, #6c757d);
    font-size: 0.9rem;
    line-height: 1.4;
    margin: 0.25rem 0 0;
}

.storefront-service-methods {
    display: grid;
    gap: 0.65rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.storefront-service-method {
    align-items: center;
    background: rgba(var(--bs-primary-rgb, 13, 110, 253), 0.06);
    border: 1px solid rgba(var(--bs-primary-rgb, 13, 110, 253), 0.18);
    border-radius: 14px;
    color: var(--gm-text, #212529);
    display: flex;
    gap: 0.65rem;
    padding: 0.75rem;
    text-align: left;
    transition: background-color 160ms ease, border-color 160ms ease, transform 160ms ease;
    width: 100%;
}

.storefront-service-method:hover,
.storefront-service-method:focus {
    background: rgba(var(--bs-primary-rgb, 13, 110, 253), 0.1);
    border-color: rgba(var(--bs-primary-rgb, 13, 110, 253), 0.36);
    transform: translateY(-1px);
}

.storefront-service-method--warning {
    background: rgba(var(--bs-warning-rgb, 255, 193, 7), 0.12);
    border-color: rgba(var(--bs-warning-rgb, 255, 193, 7), 0.28);
}

.storefront-service-method--info {
    background: rgba(var(--bs-info-rgb, 13, 202, 240), 0.1);
    border-color: rgba(var(--bs-info-rgb, 13, 202, 240), 0.24);
}

.storefront-service-method--danger {
    background: rgba(var(--bs-danger-rgb, 220, 53, 69), 0.08);
    border-color: rgba(var(--bs-danger-rgb, 220, 53, 69), 0.22);
}

.storefront-service-method__icon,
.storefront-service-selected__icon {
    align-items: center;
    background: var(--gm-surface, #ffffff);
    border: 1px solid var(--gm-border, #dee2e6);
    border-radius: 12px;
    color: var(--gm-primary, var(--bs-primary, #0d6efd));
    display: inline-flex;
    flex: 0 0 42px;
    height: 42px;
    justify-content: center;
    width: 42px;
}

.storefront-service-method__body {
    display: grid;
    gap: 0.15rem;
    min-width: 0;
}

.storefront-service-method__body strong {
    font-size: 0.92rem;
    font-weight: 850;
    line-height: 1.2;
}

.storefront-service-method__body small {
    color: var(--gm-text-muted, #6c757d);
    font-size: 0.76rem;
    line-height: 1.25;
}

.storefront-service-method__chevron {
    color: var(--gm-text-muted, #6c757d);
    font-size: 0.75rem;
    margin-left: auto;
}

.storefront-service-selected {
    align-items: center;
    background: linear-gradient(135deg, rgba(var(--bs-primary-rgb, 13, 110, 253), 0.08), rgba(var(--bs-success-rgb, 25, 135, 84), 0.08));
    border: 1px solid rgba(var(--bs-primary-rgb, 13, 110, 253), 0.2);
    border-radius: 16px;
    display: flex;
    gap: 0.8rem;
    padding: 0.8rem;
}

.storefront-service-selected__body {
    flex: 1 1 auto;
    min-width: 0;
}

.storefront-service-selected__details {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin-top: 0.45rem;
}

.storefront-service-selected__details span,
.storefront-service-selected__details a,
.storefront-service-selected__details button {
    align-items: center;
    background: var(--gm-surface, #ffffff);
    border: 1px solid var(--gm-border, #dee2e6);
    border-radius: 999px;
    color: var(--gm-text, #212529);
    display: inline-flex;
    font-size: 0.82rem;
    font-weight: 750;
    gap: 0.35rem;
    line-height: 1.25;
    max-width: 100%;
    min-height: 34px;
    padding: 0.35rem 0.65rem;
    text-decoration: none;
}

.storefront-service-selected__details button {
    cursor: pointer;
    text-align: left;
}

.storefront-service-selected__warning {
    border-color: rgba(var(--bs-danger-rgb, 220, 53, 69), 0.32) !important;
    color: var(--bs-danger, #dc3545) !important;
}

.storefront-service-selected__change {
    align-items: center;
    background: var(--gm-primary, var(--bs-primary, #0d6efd));
    border-radius: 999px;
    color: #ffffff;
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 0.86rem;
    font-weight: 850;
    justify-content: center;
    padding: 0.45rem 0.85rem;
    text-decoration: none;
}

.storefront-service-selected__change:hover,
.storefront-service-selected__change:focus {
    color: #ffffff;
    filter: brightness(0.95);
}

@media (max-width: 991.98px) {
    .storefront-header--brand_forward .storefront-navbar,
    .storefront-header--hospitality .storefront-navbar {
        min-height: 0;
    }

    .storefront-navbar {
        padding-bottom: 0.4rem;
        padding-top: 0.4rem;
    }

    .storefront-navbar__inner {
        gap: 0.5rem;
    }

    .storefront-navbar__menu {
        flex-basis: 100%;
        order: 4;
    }

    .storefront-navbar__search {
        flex-basis: 100%;
        order: 3;
    }

    .storefront-navbar__search .form-control {
        min-height: 2.5rem;
    }

    .storefront-navbar__cart {
        margin-left: 0;
        order: 2;
    }

    .storefront-navbar__account {
        order: 2;
    }

    .storefront-navbar__language {
        order: 2;
    }

    .storefront-navbar__menu-toggle {
        order: 0;
    }

    .storefront-mobile-brand {
        flex: 1 1 0;
        gap: 0.375rem;
        margin-right: 0;
        order: 1;
    }

    .storefront-mobile-brand__logo {
        background: var(--gm-surface, #ffffff);
        border-radius: 0.25rem;
        max-width: 2rem;
        padding: 0.125rem;
    }

    .storefront-hero__logo {
        max-height: 8.75rem;
        width: min(100%, 20rem);
    }

    .storefront-service-selector .alert {
        font-size: 0.92rem;
        padding: 0.75rem var(--gm-page-gutter, 1rem);
    }

    .storefront-service-banner--prompt {
        grid-template-columns: 1fr;
    }

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

    .storefront-service-method {
        align-items: flex-start;
    }

    .storefront-service-method__chevron {
        display: none;
    }
}

@media (max-width: 575.98px) {
    .storefront-service-banner {
        padding: 0.75rem var(--gm-page-gutter, 1rem);
    }

    .storefront-service-banner__intro {
        display: grid;
        gap: 0.25rem;
    }

    .storefront-service-banner__intro h2,
    .storefront-service-selected h2 {
        font-size: 0.98rem;
    }

    .storefront-service-banner__intro p {
        font-size: 0.82rem;
    }

    .storefront-service-methods {
        gap: 0.5rem;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .storefront-service-method {
        border-radius: 12px;
        gap: 0.5rem;
        padding: 0.55rem;
    }

    .storefront-service-method__icon,
    .storefront-service-selected__icon {
        border-radius: 10px;
        flex-basis: 36px;
        height: 36px;
        width: 36px;
    }

    .storefront-service-method__body strong {
        font-size: 0.86rem;
    }

    .storefront-service-method__body small {
        display: none;
    }

    .storefront-service-selected {
        align-items: flex-start;
        display: grid;
        gap: 0.55rem;
        grid-template-columns: 36px minmax(0, 1fr) auto;
        padding: 0.65rem;
    }

    .storefront-service-selected__change {
        align-self: flex-start;
        font-size: 0.78rem;
        min-height: 36px;
        min-width: 68px;
        padding: 0.35rem 0.65rem;
        width: auto;
    }

    .storefront-service-selected__details {
        gap: 0.35rem;
    }

    .storefront-service-selected__details span,
    .storefront-service-selected__details a,
    .storefront-service-selected__details button {
        font-size: 0.76rem;
        min-height: 30px;
        padding: 0.25rem 0.5rem;
    }
}

.storefront-service-banner {
    padding-bottom: 0.45rem;
    padding-top: 0.45rem;
}

.storefront-service-banner--prompt {
    align-items: center;
    display: flex;
    gap: 0.6rem;
    justify-content: center;
    text-align: center;
}

.storefront-service-banner__intro {
    align-items: center;
    flex: 0 0 auto;
    gap: 0.5rem;
    justify-content: center;
    min-width: 10rem;
    text-align: center;
}

.storefront-service-banner__intro .storefront-content-eyebrow {
    display: none;
}

.storefront-service-banner__intro h2,
.storefront-service-selected h2 {
    font-size: 0.9rem;
    line-height: 1.2;
}

.storefront-service-banner__intro p,
.storefront-service-method__body small,
.storefront-service-method__chevron {
    display: none;
}

.storefront-service-methods {
    display: flex;
    flex: 0 1 auto;
    gap: 0.4rem;
    justify-content: center;
    min-width: 0;
    overflow-x: auto;
    scrollbar-width: none;
}

.storefront-service-methods::-webkit-scrollbar {
    display: none;
}

.storefront-service-method {
    border-radius: 999px;
    flex: 0 0 auto;
    gap: 0.4rem;
    min-height: 40px;
    padding: 0.32rem 0.55rem;
    width: auto;
}

.storefront-service-method__icon,
.storefront-service-selected__icon {
    border-radius: 999px;
    flex-basis: 30px;
    height: 30px;
    width: 30px;
}

.storefront-service-method__body strong {
    font-size: 0.82rem;
    white-space: nowrap;
}

.storefront-service-selected {
    border-radius: 14px;
    gap: 0.5rem;
    padding: 0.5rem 0.55rem;
}

.storefront-service-selected .storefront-content-eyebrow {
    display: none;
}

.storefront-service-selected__body {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 0.5rem;
}

.storefront-service-selected__details {
    flex: 1 1 auto;
    gap: 0.3rem;
    margin-top: 0;
    min-width: 0;
}

.storefront-service-selected__details span,
.storefront-service-selected__details a,
.storefront-service-selected__details button {
    font-size: 0.74rem;
    min-height: 28px;
    padding: 0.2rem 0.45rem;
}

.storefront-service-selected__change {
    font-size: 0.78rem;
    min-height: 36px;
    min-width: 64px;
    padding: 0.3rem 0.65rem;
}

.storefront-service-modal {
    background: transparent;
}

.storefront-service-modal .modal-dialog {
    margin-bottom: 0.75rem;
    margin-top: 0.75rem;
}

.storefront-service-modal .modal-content {
    border: 1px solid var(--gm-border, #dee2e6);
    border-radius: 18px;
    box-shadow: 0 16px 42px rgba(15, 23, 42, 0.18);
    overflow: hidden;
}

.storefront-service-modal .modal-header {
    align-items: flex-start;
    background: var(--gm-surface, #ffffff);
    border-bottom: 1px solid var(--gm-border, #dee2e6);
    padding: 0.85rem 1rem;
}

.storefront-service-modal .modal-title {
    font-size: 1rem;
    font-weight: 850;
    letter-spacing: 0;
}

.storefront-service-modal .modal-body {
    background: var(--gm-body-bg, #f8f9fa);
    padding: 1rem;
    text-align: left;
}

.storefront-service-modal__intro {
    align-items: flex-start;
    background: var(--gm-surface, #ffffff);
    border: 1px solid var(--gm-border, #dee2e6);
    border-radius: 14px;
    display: flex;
    gap: 0.75rem;
    margin-bottom: 0.85rem;
    padding: 0.8rem;
}

.storefront-service-modal__intro i {
    align-items: center;
    background: rgba(var(--bs-primary-rgb, 13, 110, 253), 0.1);
    border-radius: 12px;
    color: var(--gm-primary, var(--bs-primary, #0d6efd));
    display: inline-flex;
    flex: 0 0 38px;
    height: 38px;
    justify-content: center;
    width: 38px;
}

.storefront-service-modal__intro strong {
    display: block;
    font-size: 0.95rem;
    font-weight: 850;
    line-height: 1.25;
}

.storefront-service-modal__intro p {
    color: var(--gm-text-muted, #6c757d);
    font-size: 0.84rem;
    line-height: 1.35;
    margin: 0.25rem 0 0;
}

.storefront-service-modal__panel {
    background: var(--gm-surface, #ffffff);
    border: 1px solid var(--gm-border, #dee2e6);
    border-radius: 14px;
    padding: 0.85rem;
}

.storefront-service-modal__action-grid {
    display: grid;
    gap: 0.55rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.storefront-service-modal__form-grid {
    display: grid;
    gap: 0.65rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.storefront-service-modal__form-grid .form-group {
    margin: 0;
}

.storefront-service-modal__form-grid label {
    color: var(--gm-text-muted, #6c757d);
    font-size: 0.76rem;
    font-weight: 800;
    margin-bottom: 0.25rem;
}

.storefront-service-modal__form-grid .form-control {
    min-height: 42px;
}

.storefront-service-modal__form-grid .storefront-service-modal__wide {
    grid-column: span 2;
}

.storefront-service-modal__map {
    border-radius: 14px;
    min-height: 280px;
    overflow: hidden;
}

.storefront-service-reservation__header {
    align-items: center;
    display: flex;
    gap: 0.75rem;
    justify-content: space-between;
    margin-bottom: 0.75rem;
}

.storefront-service-reservation__header h5 {
    font-size: 0.95rem;
    font-weight: 850;
    letter-spacing: 0;
    margin: 0;
}

.storefront-service-reservation__item {
    align-items: center;
    background: var(--gm-surface, #ffffff);
    border: 1px solid var(--gm-border, #dee2e6);
    border-radius: 12px;
    display: flex;
    gap: 0.75rem;
    justify-content: space-between;
    padding: 0.7rem;
}

.storefront-service-reservation__item + .storefront-service-reservation__item {
    margin-top: 0.55rem;
}

.storefront-service-reservation__item strong,
.storefront-service-reservation__item span {
    display: block;
}

.storefront-service-reservation__item span {
    color: var(--gm-text-muted, #6c757d);
    font-size: 0.82rem;
}

@media (max-width: 575.98px) {
    .storefront-service-banner--prompt {
        align-items: flex-start;
        display: grid;
        gap: 0.4rem;
        grid-template-columns: 1fr;
        justify-items: center;
    }

    .storefront-service-banner__intro {
        justify-content: center;
        min-width: 0;
        width: 100%;
    }

    .storefront-service-methods {
        justify-content: flex-start;
        margin-left: calc(var(--gm-page-gutter, 1rem) * -1);
        margin-right: calc(var(--gm-page-gutter, 1rem) * -1);
        max-width: calc(100% + (var(--gm-page-gutter, 1rem) * 2));
        padding: 0 var(--gm-page-gutter, 1rem);
        width: calc(100% + (var(--gm-page-gutter, 1rem) * 2));
    }

    .storefront-service-selected {
        display: flex;
        min-height: 56px;
    }

    .storefront-service-selected__icon {
        display: none;
    }

    .storefront-service-selected__details {
        flex-wrap: nowrap;
        overflow-x: auto;
        scrollbar-width: none;
    }

    .storefront-service-selected__details::-webkit-scrollbar {
        display: none;
    }

    .storefront-service-modal .modal-dialog {
        align-items: flex-end;
        display: flex;
        margin: 0;
        min-height: 100%;
    }

    .storefront-service-modal .modal-content {
        border-bottom-left-radius: 0;
        border-bottom-right-radius: 0;
        max-height: calc(100vh - 1rem);
    }

    .storefront-service-modal .modal-body {
        max-height: calc(100vh - 5rem);
        overflow-y: auto;
    }

    .storefront-service-modal__action-grid,
    .storefront-service-modal__form-grid {
        grid-template-columns: 1fr;
    }

    .storefront-service-modal__form-grid .storefront-service-modal__wide {
        grid-column: auto;
    }
}

.gm-tap-target {
    min-height: var(--gm-tap-target, 44px);
    min-width: var(--gm-tap-target, 44px);
}

.gm-surface {
    background: var(--gm-surface, #ffffff);
    border-color: var(--gm-border, #dee2e6);
}

.storefront-home {
    display: flex;
    flex-direction: column;
    gap: var(--gm-section-gap, 2rem);
    padding: var(--gm-section-gap, 2rem) 0;
}

.storefront-home--table_service .storefront-home-promotions {
    order: -1;
}

.storefront-category-section,
.storefront-home-promotions {
    min-width: 0;
}

.storefront-section-heading {
    margin-bottom: 1.5rem;
    max-width: 48rem;
}

.storefront-section-heading h2 {
    font-size: 2.65rem;
    margin: 0;
}

.storefront-section-heading > p:last-child:not(.storefront-section-eyebrow) {
    color: var(--gm-text-muted, #6c757d);
    margin: 0.75rem 0 0;
    max-width: 42rem;
}

.storefront-section-eyebrow {
    color: var(--gm-primary, #3d348b);
    margin-bottom: 0.6rem;
}

.storefront-category-chips {
    display: flex;
    gap: 0.5rem;
    margin: var(--gm-section-gap, 1.25rem) 0;
    overflow-x: auto;
    padding: 0.25rem 0 0.75rem;
    position: sticky;
    scrollbar-width: none;
    top: var(--gm-header-height, 64px);
    z-index: 1020;
}

.storefront-category-chips::-webkit-scrollbar {
    display: none;
}

.storefront-category-chip {
    border-radius: var(--gm-radius-pill, 999px);
    flex: 0 0 auto;
    font-weight: 700;
    white-space: nowrap;
}

.storefront-category-card,
.storefront-product-card {
    border-color: var(--gm-border, #dee2e6);
    border-radius: var(--gm-radius-md, 0.75rem);
    overflow: hidden;
}

.storefront-category-col {
    margin-bottom: var(--gm-card-gap, 0.85rem);
    margin-top: var(--gm-card-gap, 0.85rem);
}

.storefront-category-card {
    background: var(--gm-primary, #3d348b);
    border: 0;
    box-shadow: 0 18px 44px rgba(var(--gm-black-rgb, 0, 0, 0), 0.08);
    position: relative;
}

.storefront-category-card__copy {
    align-items: center;
    display: grid;
    gap: 0.5rem;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: 1rem;
}

.storefront-category-card__copy h3 {
    color: inherit;
    font-size: 1.35rem;
    margin: 0;
}

.storefront-category-card__copy p {
    grid-column: 1 / -1;
    margin: 0;
    opacity: 0.82;
}

.storefront-category-card__copy > span {
    font-size: 1.4rem;
}

.storefront-category-grid--editorial_mosaic {
    display: grid;
    gap: var(--gm-card-gap, 1.25rem);
    grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.75fr);
    margin: 0;
}

.storefront-category-grid--editorial_mosaic > .storefront-category-col {
    margin: 0;
    min-width: 0;
    padding: 0;
    width: auto;
}

.storefront-category-grid--editorial_mosaic > .storefront-category-col:first-child {
    grid-row: span 2;
}

.storefront-category-grid--editorial_mosaic > .storefront-category-col:first-child .storefront-category-media {
    min-height: 100%;
}

.storefront-category-grid--editorial_mosaic > .storefront-category-col:nth-child(5n) {
    grid-column: 1 / -1;
}

.storefront-category-grid--horizontal_snap {
    display: flex;
    flex-wrap: nowrap;
    gap: var(--gm-card-gap, 0.85rem);
    justify-content: flex-start !important;
    margin: 0;
    overflow-x: auto;
    padding: 0 0 1rem;
    scroll-snap-type: x mandatory;
    scrollbar-width: thin;
}

.storefront-category-grid--horizontal_snap > .storefront-category-col {
    flex: 0 0 19rem;
    margin: 0;
    padding: 0;
    scroll-snap-align: start;
    width: 19rem;
}

.storefront-category-grid--horizontal_snap .storefront-category-card {
    box-shadow: none;
}

.storefront-category-grid--horizontal_snap .storefront-category-media {
    aspect-ratio: var(--gm-category-image-ratio, 3 / 4);
}

.storefront-category-index {
    border-top: 1px solid var(--gm-border, #dee2e6);
}

.storefront-category-index__item {
    align-items: center;
    border-bottom: 1px solid var(--gm-border, #dee2e6);
    color: var(--gm-text, #212529);
    display: grid;
    gap: 1rem;
    grid-template-columns: 2rem 7.5rem minmax(0, 1fr) auto;
    min-height: 8.5rem;
    padding: 0.75rem 0;
    text-decoration: none;
}

.storefront-category-index__number {
    color: var(--gm-primary, #3d348b);
    font-size: 0.72rem;
    font-weight: 800;
}

.storefront-category-index__media {
    display: block;
    height: 6.5rem;
    overflow: hidden;
}

.storefront-category-index__media .carousel,
.storefront-category-index__media .carousel-inner,
.storefront-category-index__media .carousel-item,
.storefront-category-index__media img {
    height: 100% !important;
    object-fit: cover;
    width: 100%;
}

.storefront-category-index__copy {
    display: grid;
    gap: 0.3rem;
}

.storefront-category-index__copy strong {
    font-family: var(--gm-font-heading, serif);
    font-size: 1.65rem;
    font-weight: var(--gm-heading-weight, 650);
    line-height: 1;
}

.storefront-category-index__copy small {
    color: var(--gm-text-muted, #6c757d);
    line-height: 1.45;
}

.storefront-category-index__arrow {
    font-size: 1.5rem;
}

.storefront-home-promotions__grid {
    display: grid;
    gap: var(--gm-card-gap, 0.85rem);
}

.storefront-home-promotion {
    background: var(--gm-surface, #ffffff);
    border: 1px solid var(--gm-border, #dee2e6);
    display: grid;
    grid-template-columns: minmax(15rem, 0.9fr) minmax(0, 1.1fr);
    min-height: 19rem;
    overflow: hidden;
}

.storefront-home-promotion__media {
    display: block;
    min-height: 100%;
    overflow: hidden;
}

.storefront-home-promotion__media .carousel,
.storefront-home-promotion__media .carousel-inner,
.storefront-home-promotion__media .carousel-item,
.storefront-home-promotion__media img {
    height: 100% !important;
    object-fit: cover;
    width: 100%;
}

.storefront-home-promotion__copy {
    align-content: center;
    display: grid;
    gap: 0.85rem;
    padding: 2.5rem;
}

.storefront-home-promotion__copy h3 {
    font-size: 2.35rem;
    margin: 0;
}

.storefront-home-promotion__copy h3 a,
.storefront-home-promotion__action {
    color: inherit;
    text-decoration: none;
}

.storefront-home-promotion__copy p {
    color: var(--gm-text-muted, #6c757d);
    line-height: 1.55;
    margin: 0;
}

.storefront-home-promotion__code {
    color: var(--gm-primary, #3d348b);
    font-size: 0.72rem;
    font-weight: 900;
    text-transform: uppercase;
}

.storefront-home-promotion__action {
    font-weight: 800;
    margin-top: 0.35rem;
}

.storefront-home-promotions--editorial_feature .storefront-home-promotion {
    border: 0;
    border-radius: var(--gm-radius-lg, 0.5rem);
    box-shadow: 0 22px 60px rgba(var(--gm-black-rgb, 0, 0, 0), 0.08);
}

.storefront-home-promotions--event_feature {
    background: var(--gm-primary, #3d348b);
    color: var(--gm-primary-contrast, #ffffff);
    margin-left: calc(var(--gm-page-gutter, 1rem) * -1);
    margin-right: calc(var(--gm-page-gutter, 1rem) * -1);
    padding: 2.5rem var(--gm-page-gutter, 1rem);
}

.storefront-home-promotions--event_feature .storefront-home-promotions__heading,
.storefront-home-promotions--event_feature .storefront-section-eyebrow {
    color: inherit;
}

.storefront-home-promotions--event_feature .storefront-home-promotion {
    background: transparent;
    border-color: currentColor;
    color: inherit;
}

.storefront-home-promotions--event_feature .storefront-home-promotion__copy p,
.storefront-home-promotions--event_feature .storefront-home-promotion__code {
    color: inherit;
}

.storefront-home-promotions--concierge_panel .storefront-home-promotions__heading {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
}

.storefront-home-promotions--concierge_panel .storefront-home-promotion {
    border-left: 0;
    border-right: 0;
    grid-template-columns: minmax(12rem, 0.65fr) minmax(0, 1.35fr);
}

.storefront-home-promotions--concierge_panel .storefront-home-promotion__copy {
    padding: 3.5rem;
}

@media (max-width: 767.98px) {
    .storefront-hero__inner {
        align-items: flex-end !important;
        padding: 3rem var(--gm-page-gutter, 1rem);
    }

    .storefront-hero__title,
    .storefront-hero--bold_poster .storefront-hero__title,
    .storefront-hero--service_portal .storefront-hero__title {
        font-size: 2.8rem;
        max-width: 20ch;
    }

    .storefront-hero__subtitle {
        font-size: 1rem;
    }

    .storefront-hero__logo,
    .storefront-hero--bold_poster .storefront-hero__logo,
    .storefront-hero--service_portal .storefront-hero__logo {
        margin-left: 0;
        max-height: 6.5rem;
        max-width: 75%;
    }

    .storefront-section-heading h2 {
        font-size: 2rem;
    }

    .storefront-category-grid--editorial_mosaic {
        grid-template-columns: minmax(0, 1fr);
    }

    .storefront-category-grid--editorial_mosaic > .storefront-category-col:first-child,
    .storefront-category-grid--editorial_mosaic > .storefront-category-col:nth-child(5n) {
        grid-column: auto;
        grid-row: auto;
    }

    .storefront-category-grid--horizontal_snap > .storefront-category-col {
        flex-basis: 76vw;
        width: 76vw;
    }

    .storefront-category-index__item {
        gap: 0.7rem;
        grid-template-columns: 1.5rem 5rem minmax(0, 1fr) auto;
        min-height: 6.5rem;
    }

    .storefront-category-index__media {
        height: 4.75rem;
    }

    .storefront-category-index__copy strong {
        font-size: 1.25rem;
    }

    .storefront-category-index__copy small {
        display: none;
    }

    .storefront-home-promotion,
    .storefront-home-promotions--concierge_panel .storefront-home-promotion {
        grid-template-columns: 1fr;
    }

    .storefront-home-promotion__media {
        aspect-ratio: 16 / 10;
        min-height: 0;
    }

    .storefront-home-promotion__copy,
    .storefront-home-promotions--concierge_panel .storefront-home-promotion__copy {
        padding: 1.5rem;
    }

    .storefront-home-promotion__copy h3 {
        font-size: 1.8rem;
    }
}

.storefront-category-media,
.storefront-product-media {
    aspect-ratio: var(--gm-category-image-ratio, 16 / 10);
    background: var(--gm-light, #e5e5e5);
    overflow: hidden;
}

.storefront-product-media {
    aspect-ratio: var(--gm-product-image-ratio, 1 / 1);
}

.storefront-category-media img,
.storefront-category-media video,
.storefront-category-media .carousel,
.storefront-category-media .carousel-inner,
.storefront-category-media .carousel-item,
.storefront-product-media img,
.storefront-product-media video,
.storefront-product-media .carousel,
.storefront-product-media .carousel-inner,
.storefront-product-media .carousel-item {
    height: 100% !important;
    width: 100%;
}

.storefront-category-media img,
.storefront-product-media img {
    object-fit: cover;
}

.storefront-product-body {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
}

.storefront-product-main {
    min-width: 0;
}

.storefront-product-name {
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.2;
    margin: 0 0 0.25rem;
}

.storefront-product-price {
    font-weight: 800;
    white-space: nowrap;
}

.storefront-product-meta {
    align-items: center;
    display: flex;
    gap: 0.75rem;
    justify-content: space-between;
    margin-top: auto;
}

.storefront-product-action .btn,
.storefront-product-meta .btn {
    margin-bottom: 0 !important;
    min-height: var(--gm-tap-target, 44px);
}

.storefront-product-grid--premium_card .storefront-product-card {
    border: 0;
    box-shadow: 0 18px 44px rgba(var(--gm-black-rgb, 0, 0, 0), 0.09);
}

.storefront-product-body.bg-primary .text-light {
    color: var(--gm-primary-contrast) !important;
}

.storefront-product-grid--premium_card .storefront-product-body {
    background: var(--gm-surface, #ffffff) !important;
    color: var(--gm-text, #212529);
    padding: 1.25rem;
    text-align: left;
}

.storefront-product-grid--premium_card .storefront-product-body .text-light {
    color: var(--gm-text, #212529) !important;
}

.storefront-product-grid--media_card .storefront-product-card {
    background: var(--gm-surface, #ffffff);
    border: 0;
}

.storefront-product-grid--media_card .storefront-product-body {
    background: transparent !important;
    color: var(--gm-text, #212529);
    padding-left: 0;
    padding-right: 0;
    text-align: left;
}

.storefront-product-grid--media_card .storefront-product-body .text-light {
    color: var(--gm-text, #212529) !important;
}

.storefront-product-grid--table_minimal {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0;
}

.storefront-dynamic-products__grid {
    margin-left: 0;
    margin-right: 0;
    max-width: 100%;
    min-width: 0;
    width: 100%;
}

.storefront-dynamic-products__grid > .storefront-product-col {
    max-width: 100%;
    min-width: 0;
}

.storefront-product-grid--table_minimal > .storefront-product-col {
    margin: 0;
    padding: 0;
    width: auto;
}

.storefront-product-grid--table_minimal .storefront-product-card {
    border: 0;
    border-bottom: 1px solid var(--gm-border, #dee2e6);
    border-radius: 0;
    box-shadow: none;
    flex-direction: row;
    min-height: 7.5rem;
}

.storefront-product-grid--table_minimal .storefront-product-media-link {
    flex: 0 0 7.5rem;
}

.storefront-product-grid--table_minimal .storefront-product-media {
    height: 100%;
}

.storefront-product-grid--table_minimal .storefront-product-body {
    background: transparent !important;
    color: var(--gm-text, #212529);
    justify-content: center;
    min-width: 0;
    padding: 1rem;
    text-align: left;
}

.storefront-product-grid--table_minimal .storefront-product-body .text-light {
    color: var(--gm-text, #212529) !important;
}

.storefront-product-grid--vibrant_order_row,
.storefront-product-grid--service_menu_row {
    display: grid;
    gap: var(--gm-card-gap, 0.85rem);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0;
}

.storefront-product-grid--vibrant_order_row > .storefront-product-col,
.storefront-product-grid--service_menu_row > .storefront-product-col {
    margin: 0 !important;
    padding: 0;
    width: auto;
}

.storefront-product-grid--vibrant_order_row .storefront-product-card,
.storefront-product-grid--service_menu_row .storefront-product-card {
    flex-direction: row;
    min-height: 9.5rem;
}

.storefront-product-grid--vibrant_order_row .storefront-product-media-link,
.storefront-product-grid--service_menu_row .storefront-product-media-link {
    align-self: stretch;
    flex: 0 0 9.5rem;
}

.storefront-product-grid--vibrant_order_row .storefront-product-media,
.storefront-product-grid--service_menu_row .storefront-product-media {
    height: 100%;
}

.storefront-product-grid--vibrant_order_row .storefront-product-card {
    background: var(--gm-primary, #3d348b);
    border: 0;
    box-shadow: 0.45rem 0.45rem 0 var(--gm-secondary, #7678ed);
    color: var(--gm-primary-contrast, #ffffff);
}

.storefront-product-grid--vibrant_order_row .storefront-product-body {
    background: transparent !important;
    color: inherit;
    justify-content: center;
    min-width: 0;
    padding: 1.15rem;
    text-align: left;
}

.storefront-product-grid--vibrant_order_row .storefront-product-body .text-light {
    color: inherit !important;
}

.storefront-product-grid--vibrant_order_row .storefront-product-name {
    font-family: var(--gm-font-heading, sans-serif);
    font-size: 1.2rem;
    font-weight: 900;
    text-transform: var(--gm-heading-case, none);
}

.storefront-product-grid--vibrant_order_row .card-text {
    display: -webkit-box;
    line-height: 1.4;
    opacity: 0.82;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.storefront-product-grid--vibrant_order_row .storefront-product-price {
    font-size: 1.2rem;
}

.storefront-product-grid--vibrant_order_row .btn-primary {
    --bs-btn-bg: var(--gm-secondary);
    --bs-btn-border-color: var(--gm-secondary);
    --bs-btn-color: var(--gm-secondary-contrast);
}

.storefront-product-grid--service_menu_row {
    gap: 0 2rem;
}

.storefront-product-grid--service_menu_row .storefront-product-card {
    background: transparent;
    border: 0;
    border-bottom: 1px solid var(--gm-border, #dee2e6);
    border-radius: 0;
    box-shadow: none;
}

.storefront-product-grid--service_menu_row .storefront-product-media-link {
    flex-basis: 8rem;
    padding: 0.8rem 0;
}

.storefront-product-grid--service_menu_row .storefront-product-media {
    border-radius: var(--gm-radius-sm, 0.125rem);
}

.storefront-product-grid--service_menu_row .storefront-product-body {
    background: transparent !important;
    color: var(--gm-text, #212529);
    justify-content: center;
    min-width: 0;
    padding: 1rem 0 1rem 1.25rem;
    text-align: left;
}

.storefront-product-grid--service_menu_row .storefront-product-body .text-light {
    color: var(--gm-text, #212529) !important;
}

.storefront-product-grid--service_menu_row .storefront-product-name {
    font-family: var(--gm-font-heading, serif);
    font-size: 1.45rem;
    font-weight: var(--gm-heading-weight, 600);
}

.storefront-product-grid--service_menu_row .card-text {
    color: var(--gm-text-muted, #6c757d) !important;
    line-height: 1.5;
}

.storefront-product-grid--service_menu_row .storefront-product-price {
    color: var(--gm-primary, #3d348b) !important;
    font-family: var(--gm-font-heading, serif);
    font-size: 1.2rem;
}

@media (max-width: 575.98px) {
    .storefront-product-grid--vibrant_order_row,
    .storefront-product-grid--service_menu_row {
        grid-template-columns: minmax(0, 1fr);
    }

    .storefront-product-grid--table_minimal {
        grid-template-columns: minmax(0, 1fr);
    }

    .storefront-product-grid--fast_order_row .storefront-product-card,
    .storefront-product-grid--vibrant_order_row .storefront-product-card,
    .storefront-product-grid--service_menu_row .storefront-product-card,
    .storefront-product-grid--table_minimal .storefront-product-card,
    .storefront-product-grid--split_row .storefront-product-card {
        flex-direction: row;
        min-height: var(--gm-list-row-min-height, 4.5rem);
    }

    .storefront-product-grid--fast_order_row .storefront-product-media,
    .storefront-product-grid--vibrant_order_row .storefront-product-media,
    .storefront-product-grid--service_menu_row .storefront-product-media,
    .storefront-product-grid--table_minimal .storefront-product-media,
    .storefront-product-grid--split_row .storefront-product-media {
        align-self: stretch;
        min-height: var(--gm-list-row-min-height, 4.5rem);
    }

    .storefront-product-grid--fast_order_row .storefront-product-media-link,
    .storefront-product-grid--vibrant_order_row .storefront-product-media-link,
    .storefront-product-grid--service_menu_row .storefront-product-media-link,
    .storefront-product-grid--table_minimal .storefront-product-media-link,
    .storefront-product-grid--split_row .storefront-product-media-link {
        align-self: stretch;
        flex: 0 0 6rem;
        min-width: 0;
        overflow: hidden;
        width: 6rem;
    }

    .storefront-product-grid--fast_order_row .storefront-product-body,
    .storefront-product-grid--vibrant_order_row .storefront-product-body,
    .storefront-product-grid--service_menu_row .storefront-product-body,
    .storefront-product-grid--table_minimal .storefront-product-body,
    .storefront-product-grid--split_row .storefront-product-body {
        border-left: 1px solid var(--gm-border, #dee2e6);
        flex: 1 1 auto;
        justify-content: center;
        min-width: 0;
    }

    .storefront-product-grid--fast_order_row .storefront-product-action,
    .storefront-product-grid--vibrant_order_row .storefront-product-action,
    .storefront-product-grid--service_menu_row .storefront-product-action,
    .storefront-product-grid--table_minimal .storefront-product-action,
    .storefront-product-grid--split_row .storefront-product-action {
        min-width: 6.5rem;
    }

    .storefront-product-grid--vibrant_order_row .storefront-product-card {
        box-shadow: 0.3rem 0.3rem 0 var(--gm-secondary, #7678ed);
    }

    .storefront-product-grid--service_menu_row .storefront-product-media-link {
        padding: 0.6rem 0;
    }

    .storefront-product-grid--service_menu_row .storefront-product-body {
        padding-left: 0.9rem;
    }

    .storefront-product-grid--vibrant_order_row .storefront-product-meta,
    .storefront-product-grid--service_menu_row .storefront-product-meta {
        flex-wrap: wrap;
    }

    .storefront-product-grid--vibrant_order_row .storefront-product-action,
    .storefront-product-grid--service_menu_row .storefront-product-action {
        flex: 1 1 100%;
        min-width: 0;
    }
}

.storefront-product-add {
    width: 100%;
}

.storefront-dynamic-products {
    display: grid;
    gap: 0.85rem;
    margin: var(--gm-section-gap, 1.25rem) 0;
}

.storefront-dynamic-products__heading {
    padding: 0 0.25rem;
}

.storefront-dynamic-products__heading h2 {
    font-size: clamp(1.2rem, 2.5vw, 1.65rem);
    font-weight: 900;
}

.storefront-dynamic-products__carousel {
    margin-left: -0.35rem;
    margin-right: -0.35rem;
    max-width: 100%;
    min-width: 0;
    width: 100%;
}

.storefront-dynamic-products__carousel .slick-list {
    min-width: 0;
    width: 100%;
}

.storefront-dynamic-products__carousel .slick-track {
    display: flex;
}

.storefront-dynamic-products__carousel .slick-slide {
    height: auto;
    padding: 0 0.35rem;
}

.storefront-dynamic-products__carousel .slick-slide > div,
.storefront-dynamic-products__carousel .storefront-dynamic-products__item,
.storefront-dynamic-products__carousel .storefront-product-card {
    height: 100%;
}

.storefront-product-card--dynamic {
    background: var(--gm-surface, #ffffff);
    box-shadow: 0 0.4rem 1.25rem rgba(var(--gm-black-rgb, 0, 0, 0), 0.06);
}

.storefront-add-button {
    border-radius: var(--gm-radius-md, 0.75rem);
    font-weight: 800;
}

.storefront-product-detail {
    margin: var(--gm-section-gap, 1.25rem) 0;
}

.storefront-product-detail__media {
    background: var(--gm-light, #e5e5e5);
    border-radius: var(--gm-radius-lg, 1rem);
    overflow: hidden;
}

.storefront-product-detail__media .carousel,
.storefront-product-detail__media .carousel-inner,
.storefront-product-detail__media .carousel-item,
.storefront-product-detail__media img,
.storefront-product-detail__media video {
    width: 100%;
}

.storefront-product-detail__media img,
.storefront-product-detail__media video {
    aspect-ratio: var(--gm-product-image-ratio, 1 / 1);
    object-fit: cover;
}

.storefront-product-overview {
    background: var(--gm-surface, #ffffff);
    border: 1px solid var(--gm-border, #dee2e6);
    border-radius: var(--gm-radius-lg, 1rem);
    display: grid;
    gap: 0.85rem;
    margin-top: 0;
    padding: 1rem;
}

.storefront-product-detail__media + .storefront-product-overview { margin-top: 1rem; }

.storefront-product-overview__top {
    align-items: flex-start;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
}

.storefront-product-overview__title {
    min-width: 0;
}

.storefront-product-overview__title h1 {
    color: var(--gm-text, #4f4f4f);
    font-size: clamp(1.6rem, 5vw, 2.35rem);
    font-weight: 800;
    letter-spacing: 0;
    line-height: 1.08;
    margin: 0;
}

.storefront-product-price-block {
    align-items: flex-end;
    background: rgba(var(--gm-primary-rgb, 61, 52, 139), 0.08);
    border: 1px solid rgba(var(--gm-primary-rgb, 61, 52, 139), 0.18);
    border-radius: var(--gm-radius-md, 0.75rem);
    color: var(--gm-primary, #3d348b);
    display: flex;
    flex: 0 0 auto;
    flex-direction: column;
    gap: 0.1rem;
    padding: 0.55rem 0.7rem;
}

.storefront-product-price-block span {
    color: var(--gm-text-muted, #6c757d);
    font-size: 0.72rem;
    font-weight: 800;
    text-transform: uppercase;
}

.storefront-product-price-block strong {
    font-size: 1.1rem;
    font-weight: 900;
    white-space: nowrap;
}

.storefront-product-detail__summary {
    color: var(--gm-text, #4f4f4f);
    font-size: 1rem;
    line-height: 1.55;
    margin: 0.5rem 0 0;
}

.storefront-product-overview__share {
    border-top: 1px solid var(--gm-border, #dee2e6);
    padding-top: 0.75rem;
}

.storefront-product-detail__badges {
    align-content: flex-start;
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    justify-content: flex-start;
}

.storefront-token-badge {
    align-items: center;
    background: rgba(var(--gm-primary-rgb, 61, 52, 139), 0.1);
    border: 1px solid rgba(var(--gm-primary-rgb, 61, 52, 139), 0.24);
    border-radius: var(--gm-radius-pill, 999px);
    color: var(--gm-text, #4f4f4f);
    display: inline-flex;
    font-size: 0.75rem;
    font-weight: 800;
    gap: 0.25rem;
    letter-spacing: 0;
    line-height: 1.2;
    padding: 0.38rem 0.62rem;
    white-space: normal;
}

.storefront-token-badge--service {
    background: rgba(var(--gm-success-rgb, 25, 135, 84), 0.12);
    border-color: rgba(var(--gm-success-rgb, 25, 135, 84), 0.3);
}

.storefront-token-badge--tag {
    background: rgba(var(--gm-primary-rgb, 61, 52, 139), 0.1);
    border-color: rgba(var(--gm-primary-rgb, 61, 52, 139), 0.28);
}

.storefront-token-badge--allergen {
    background: rgba(var(--gm-warning-rgb, 255, 193, 7), 0.16);
    border-color: rgba(var(--gm-warning-rgb, 255, 193, 7), 0.34);
}

.storefront-token-badge--ingredient {
    background: rgba(var(--gm-info-rgb, 13, 202, 240), 0.12);
    border-color: rgba(var(--gm-info-rgb, 13, 202, 240), 0.3);
}

.storefront-product-info {
    background: var(--gm-surface, #ffffff);
    border: 1px solid var(--gm-border, #dee2e6);
    border-radius: var(--gm-radius-md, 0.75rem);
    display: grid;
    gap: 0.9rem;
    padding: 1rem;
}

.storefront-product-chip-group {
    display: grid;
    gap: 0.45rem;
}

.storefront-product-chip-group strong {
    color: var(--gm-text, #4f4f4f);
    font-size: 0.9rem;
}

.storefront-product-chip-group > div {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.storefront-product-rating {
    align-items: center;
    display: flex;
    gap: 0.75rem;
}

.storefront-product-detail__rating {
    margin-top: 0.75rem;
}

.storefront-product-long-copy {
    background: var(--gm-surface, #ffffff);
    border: 1px solid var(--gm-border, #dee2e6);
    border-radius: var(--gm-radius-md, 0.75rem);
    margin: var(--gm-section-gap, 1.25rem) 0;
    padding: 1rem;
}

.storefront-product-long-copy h2 {
    color: var(--gm-text, #4f4f4f);
    font-size: 1.1rem;
    font-weight: 800;
    margin-bottom: 0.65rem;
}

.storefront-product-long-copy p {
    line-height: 1.6;
    margin-bottom: 0;
}

.storefront-add-panel {
    background: var(--gm-surface-raised, #ffffff);
    border: 1px solid var(--gm-border, #dee2e6);
    border-radius: var(--gm-radius-lg, 1rem);
    box-shadow: 0 10px 28px rgba(var(--gm-black-rgb, 0, 0, 0), 0.06);
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding: 0.9rem;
    position: sticky;
    top: calc(var(--gm-header-height, 64px) + 1rem);
}

.storefront-add-panel__header,
.storefront-add-sheet__header,
.storefront-add-panel__action,
.storefront-add-sheet__footer,
.storefront-add-panel__summary,
.storefront-add-sheet__total {
    align-items: center;
    display: flex;
    gap: 0.6rem;
    justify-content: space-between;
}

.storefront-add-panel__eyebrow,
.storefront-add-sheet__eyebrow {
    color: var(--gm-text-muted, #6c757d);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0;
    margin: 0 0 0.15rem;
    text-transform: uppercase;
}

.storefront-add-panel__hint {
    color: var(--gm-text-muted, #6c757d);
    font-size: 0.86rem;
    line-height: 1.35;
    margin: 0.25rem 0 0;
}

.storefront-add-panel__title,
.storefront-add-sheet__header .modal-title {
    color: var(--gm-text, #4f4f4f);
    font-size: 1.1rem;
    font-weight: 900;
    line-height: 1.15;
    margin: 0;
}

.storefront-add-panel__price,
.storefront-add-panel__summary strong,
.storefront-add-sheet__total strong {
    color: var(--gm-primary, #3d348b);
    font-size: 1.1rem;
    font-weight: 900;
    white-space: nowrap;
}

.storefront-add-panel__price {
    align-items: center;
    background: rgba(var(--gm-primary-rgb, 61, 52, 139), 0.08);
    border-radius: var(--gm-radius-pill, 999px);
    display: flex;
    padding: 0.4rem 0.65rem;
}

.storefront-add-panel__action {
    background: linear-gradient(180deg, rgba(var(--gm-surface-rgb, 255, 255, 255), 0.86), var(--gm-surface, #ffffff));
    border-top: 1px solid var(--gm-border, #dee2e6);
    bottom: var(--gm-safe-area-bottom, 0);
    margin: 0 -0.9rem -0.9rem;
    padding: 0.65rem 0.9rem calc(0.65rem + var(--gm-safe-area-bottom, 0));
    position: sticky;
    z-index: 3;
}

.storefront-add-panel__summary,
.storefront-add-sheet__total {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.1rem;
}

.storefront-add-panel__summary > span,
.storefront-add-sheet__total > span {
    color: var(--gm-text-muted, #6c757d);
    font-size: 0.8rem;
    font-weight: 700;
}

.storefront-add-panel__submit,
.storefront-add-sheet__submit {
    border-radius: var(--gm-radius-md, 0.75rem);
    flex: 1 1 auto;
    font-weight: 900;
    min-width: 10rem;
}

.storefront-option-list {
    display: grid;
    gap: 0.65rem;
}

.storefront-option-group {
    border: 1px solid var(--gm-border, #dee2e6);
    border-radius: var(--gm-radius-md, 0.75rem);
    display: grid;
    gap: 0.55rem;
    margin: 0;
    padding: 0.75rem;
}

.storefront-option-group--single {
    grid-template-columns: auto minmax(0, 1fr) auto;
}

.storefront-option-title {
    align-items: flex-start;
    color: var(--gm-text, #4f4f4f);
    display: flex;
    float: none;
    font-size: 1rem;
    font-weight: 900;
    gap: 0.75rem;
    justify-content: space-between;
    line-height: 1.2;
    margin: 0;
    padding: 0;
    width: 100%;
}

.storefront-option-badges {
    display: flex;
    flex: 0 0 auto;
    flex-wrap: wrap;
    gap: 0.3rem;
    justify-content: flex-end;
}

.storefront-option-choices {
    display: grid;
    gap: 0.5rem;
}

.storefront-choice-row {
    align-items: center;
    background: var(--gm-surface, #ffffff);
    border: 1px solid var(--gm-border, #dee2e6);
    border-radius: var(--gm-radius-md, 0.75rem);
    cursor: pointer;
    display: flex;
    gap: 0.6rem;
    min-height: var(--gm-tap-target, 44px);
    padding: 0.6rem 0.65rem;
    transition: border-color var(--gm-motion-fast, 120ms) var(--gm-motion-ease, ease-out), box-shadow var(--gm-motion-fast, 120ms) var(--gm-motion-ease, ease-out);
}

.storefront-choice-row:has(input:checked) {
    border-color: var(--gm-primary, #3d348b);
    box-shadow: 0 0 0 3px rgba(var(--gm-primary-rgb, 61, 52, 139), 0.12);
}

.storefront-choice-input {
    flex: 0 0 auto;
    height: 1.2rem;
    margin: 0 !important;
    width: 1.2rem;
}

.storefront-choice-copy {
    display: grid;
    flex: 1 1 auto;
    gap: 0.15rem;
    min-width: 0;
}

.storefront-choice-name {
    color: var(--gm-text, #4f4f4f);
    font-weight: 650;
    line-height: 1.4;
    overflow-wrap: anywhere;
}

.storefront-choice-hint,
.storefront-select-label {
    color: var(--gm-text-muted, #6c757d);
    font-size: 0.86rem;
}

.storefront-choice-price {
    color: var(--gm-primary, #3d348b);
    flex: 0 0 auto;
    font-weight: 900;
    white-space: nowrap;
}

.storefront-option-select {
    border-radius: var(--gm-radius-md, 0.75rem);
}

.storefront-option-notes {
    display: grid;
    gap: 0.35rem;
    margin-top: 0.65rem;
}

.storefront-option-notes textarea {
    border-radius: var(--gm-radius-md, 0.75rem);
    min-height: 5rem;
    resize: vertical;
}

.storefront-add-sheet .modal-dialog {
    margin: 0 auto;
    max-width: 34rem;
}

.storefront-add-sheet .modal-content {
    border: 0;
    border-radius: var(--gm-radius-lg, 1rem);
    overflow: hidden;
}

.storefront-add-sheet__header {
    align-items: flex-start;
    border-bottom-color: var(--gm-border, #dee2e6);
}

.storefront-add-sheet__title-block {
    display: grid;
    gap: 0.2rem;
    min-width: 0;
}

.storefront-add-sheet__description {
    color: var(--gm-text-muted, #6c757d);
    display: -webkit-box;
    font-size: 0.9rem;
    line-height: 1.35;
    margin: 0.2rem 0 0;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.storefront-add-sheet__body {
    background: var(--gm-page-bg, #ffffff);
}

.storefront-add-sheet__footer {
    background: var(--gm-surface, #ffffff);
    border-top-color: var(--gm-border, #dee2e6);
    padding-bottom: calc(0.75rem + var(--gm-safe-area-bottom, 0));
}

@media (max-width: 767.98px) {
    .storefront-product-detail {
        margin-top: 0;
        padding-bottom: 0;
    }

    .storefront-product-detail > .row {
        --bs-gutter-x: 0;
        --bs-gutter-y: 1rem;
    }

    .storefront-product-detail__media {
        border-radius: 0 0 var(--gm-radius-lg, 1rem) var(--gm-radius-lg, 1rem);
        margin-left: calc(var(--gm-page-gutter, 1rem) * -1);
        margin-right: calc(var(--gm-page-gutter, 1rem) * -1);
    }

    .storefront-product-detail__media img,
    .storefront-product-detail__media video {
        max-height: 46vh;
    }

    .storefront-product-overview {
        background: transparent;
        border: 0;
        border-radius: 0;
        gap: 0.75rem;
        margin-top: 0.25rem;
        padding: 0;
    }

    .storefront-product-overview__top {
        align-items: flex-start;
        flex-direction: row;
    }

    .storefront-product-price-block {
        align-items: flex-end;
        background: transparent;
        border: 0;
        flex-direction: column;
        padding: 0;
    }

    .storefront-product-detail__badges {
        justify-content: flex-start;
    }

    .storefront-product-info {
        background: transparent;
        border: 0;
        border-top: 1px solid var(--gm-border, #dee2e6);
        border-radius: 0;
        gap: 0.7rem;
        margin-top: 0.35rem;
        padding: 0.85rem 0 0;
    }

    .storefront-product-chip-group {
        grid-template-columns: 5.5rem minmax(0, 1fr);
        gap: 0.65rem;
    }

    .storefront-product-chip-group strong {
        color: var(--gm-text-muted, #6c757d);
    }

    .storefront-product-long-copy {
        background: transparent;
        border: 0;
        border-top: 1px solid var(--gm-border, #dee2e6);
        border-radius: 0;
        padding: 1rem 0;
    }

    .storefront-add-panel {
        background: transparent;
        border: 0;
        border-radius: 0;
        box-shadow: none;
        margin-top: 0.5rem;
        padding: 0.9rem;
        position: static;
    }

    .storefront-add-panel__header {
        align-items: flex-start;
        border-top: 1px solid var(--gm-border, #dee2e6);
        padding-top: 1rem;
    }

    .storefront-add-panel__price {
        display: none;
    }

    .storefront-add-panel__action {
        background: var(--gm-surface, #ffffff);
        border: 1px solid var(--gm-border, #dee2e6);
        border-radius: var(--gm-radius-lg, 1rem) var(--gm-radius-lg, 1rem) 0 0;
        bottom: 0;
        box-shadow: 0 -10px 28px rgba(var(--gm-black-rgb, 0, 0, 0), 0.12);
        left: 0;
        margin: 0;
        padding: 0.5rem 0.75rem calc(0.5rem + var(--gm-safe-area-bottom, 0px));
        position: fixed;
        right: 0;
        z-index: 1040;
    }

    .storefront-add-panel__summary > span {
        display: none;
    }

    .storefront-add-panel__summary strong {
        font-size: 1.08rem;
    }

    .storefront-add-panel__submit {
        min-height: 48px;
    }

    .storefront-option-group {
        background: var(--gm-surface, #ffffff);
    }

    .storefront-add-sheet .modal-dialog {
        align-items: flex-end;
        bottom: 0;
        display: flex;
        left: 0;
        margin: 0;
        max-width: none;
        pointer-events: none;
        position: fixed;
        right: 0;
        width: 100%;
    }

    .storefront-add-sheet.fade .modal-dialog {
        transform: translateY(100%);
    }

    .storefront-add-sheet.show .modal-dialog {
        transform: none;
    }

    .storefront-add-sheet .modal-content {
        border-radius: var(--gm-radius-lg, 1rem) var(--gm-radius-lg, 1rem) 0 0;
        max-height: min(92dvh, 42rem);
        pointer-events: auto;
    }

    .storefront-add-sheet__body {
        overflow-y: auto;
    }

    .storefront-add-sheet__footer {
        bottom: 0;
        position: sticky;
        z-index: 2;
    }
}

.storefront-cart-route {
    margin: 1.25rem auto 2rem;
    max-width: 72rem;
}

.storefront-cart-page {
    color: var(--gm-text, var(--bs-body-color));
}

.storefront-cart-hero {
    align-items: center;
    background: linear-gradient(135deg, rgba(var(--gm-brand-rgb, 61, 52, 139), 0.08), rgba(var(--gm-accent-rgb, 255, 193, 7), 0.14));
    border: 1px solid var(--gm-border, #dee2e6);
    border-radius: var(--gm-radius-lg, 1rem);
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    margin-bottom: 1rem;
    padding: 1rem;
}

.storefront-cart-eyebrow {
    color: var(--gm-primary, #3d348b);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0;
    margin: 0 0 0.15rem;
    text-transform: uppercase;
}

.storefront-cart-hero h1,
.storefront-checkout-section h2,
.storefront-checkout-summary h2,
.storefront-cart-empty h2 {
    color: var(--gm-text, var(--bs-body-color));
    letter-spacing: 0;
    margin: 0;
}

.storefront-cart-hero h1 {
    font-size: clamp(1.6rem, 4vw, 2.35rem);
    font-weight: 900;
}

.storefront-cart-hero p:last-child {
    color: var(--gm-text-muted, #6c757d);
    margin: 0.2rem 0 0;
}

.storefront-cart-hero__action {
    flex: 0 0 auto;
}

.storefront-cart-empty {
    align-items: center;
    background: var(--gm-surface, #ffffff);
    border: 1px solid var(--gm-border, #dee2e6);
    border-radius: var(--gm-radius-lg, 1rem);
    display: grid;
    gap: 0.75rem;
    justify-items: center;
    padding: 2.5rem 1rem;
    text-align: center;
}

.storefront-cart-empty__icon {
    align-items: center;
    background: rgba(var(--gm-brand-rgb, 61, 52, 139), 0.1);
    border-radius: 999px;
    color: var(--gm-primary, #3d348b);
    display: inline-flex;
    font-size: 1.4rem;
    height: 3rem;
    justify-content: center;
    width: 3rem;
}

.storefront-cart-empty p {
    color: var(--gm-text-muted, #6c757d);
    margin: 0;
    max-width: 28rem;
}

.storefront-cart-layout {
    --bs-gutter-x: 1rem;
    --bs-gutter-y: 1rem;
    align-items: flex-start;
}

.storefront-checkout-flow {
    display: grid;
    gap: 0.85rem;
}

.storefront-checkout-section,
.storefront-checkout-summary {
    background: var(--gm-surface, #ffffff);
    border: 1px solid var(--gm-border, #dee2e6);
    border-radius: var(--gm-radius-lg, 1rem);
    box-shadow: 0 16px 40px rgba(var(--gm-black-rgb, 0, 0, 0), 0.06);
    padding: 1rem;
}

.storefront-checkout-section__header,
.storefront-checkout-summary__header {
    align-items: center;
    display: flex;
    gap: 0.75rem;
    justify-content: space-between;
    margin-bottom: 0.85rem;
}

.storefront-checkout-section__header > div {
    align-items: center;
    display: flex;
    gap: 0.65rem;
    min-width: 0;
}

.storefront-step-badge {
    align-items: center;
    background: rgba(var(--gm-brand-rgb, 61, 52, 139), 0.1);
    border-radius: 999px;
    color: var(--gm-primary, #3d348b);
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 0.78rem;
    font-weight: 900;
    height: 1.8rem;
    justify-content: center;
    width: 1.8rem;
}

.storefront-checkout-section h2,
.storefront-checkout-summary h2 {
    font-size: 1.05rem;
    font-weight: 900;
}

.storefront-cart-items {
    display: grid;
    gap: 0.75rem;
}

.storefront-cart-item {
    align-items: stretch;
    background: rgba(var(--gm-brand-rgb, 61, 52, 139), 0.025);
    border: 1px solid var(--gm-border, #dee2e6);
    border-radius: var(--gm-radius-md, 0.75rem);
    display: grid;
    gap: 0.75rem;
    grid-template-columns: 5.5rem minmax(0, 1fr);
    padding: 0.75rem;
}

.storefront-cart-item__media {
    align-self: start;
    aspect-ratio: 1;
    background: rgba(var(--gm-brand-rgb, 61, 52, 139), 0.08);
    border-radius: var(--gm-radius-md, 0.75rem);
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
    width: 100%;
}

.storefront-cart-item__media img {
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.storefront-cart-item__body {
    display: grid;
    gap: 0.5rem;
    min-width: 0;
}

.storefront-cart-item__title-row {
    align-items: flex-start;
    display: flex;
    gap: 0.75rem;
    justify-content: space-between;
}

.storefront-cart-item__title-row h3 {
    color: var(--gm-text, var(--bs-body-color));
    font-size: 1rem;
    font-weight: 900;
    line-height: 1.25;
    margin: 0;
    min-width: 0;
}

.storefront-cart-item__title-row strong {
    color: var(--gm-primary, #3d348b);
    flex: 0 0 auto;
    font-weight: 900;
    white-space: nowrap;
}

.storefront-cart-item__options {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.storefront-cart-item__options span,
.storefront-cart-item__note {
    background: var(--gm-surface, #ffffff);
    border: 1px solid var(--gm-border, #dee2e6);
    border-radius: 999px;
    color: var(--gm-text-muted, #6c757d);
    font-size: 0.78rem;
    line-height: 1.2;
    margin: 0;
    padding: 0.3rem 0.55rem;
}

.storefront-cart-item__note {
    border-radius: var(--gm-radius-md, 0.75rem);
}

.storefront-cart-item__actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.storefront-cart-item__actions .btn {
    min-height: 2.3rem;
}

.storefront-choice-panel,
.storefront-checkout-address {
    background: rgba(var(--gm-brand-rgb, 61, 52, 139), 0.04);
    border: 1px solid var(--gm-border, #dee2e6);
    border-radius: var(--gm-radius-md, 0.75rem);
    display: grid;
    gap: 0.45rem;
    padding: 0.85rem;
}

.storefront-choice-panel--attention {
    background: rgba(var(--bs-danger-rgb, 220, 53, 69), 0.08);
    border-color: rgba(var(--bs-danger-rgb, 220, 53, 69), 0.28);
}

.storefront-choice-panel strong {
    font-size: 0.98rem;
}

.storefront-choice-panel p,
.storefront-checkout-address p,
.storefront-section-hint {
    color: var(--gm-text-muted, #6c757d);
    font-size: 0.9rem;
    line-height: 1.4;
    margin: 0;
}

.storefront-service-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.storefront-service-actions .btn {
    flex: 1 1 8rem;
}

.storefront-checkout-summary-row {
    align-items: center;
    border-bottom: 1px solid var(--gm-border, #dee2e6);
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    padding: 0.65rem 0;
}

.storefront-checkout-summary-row span,
.storefront-checkout-address span {
    color: var(--gm-text-muted, #6c757d);
    font-size: 0.82rem;
    font-weight: 800;
}

.storefront-checkout-summary-row strong {
    text-align: right;
}

.storefront-collapse-toggle {
    align-items: center;
    background: var(--gm-surface, #ffffff);
    border: 1px solid var(--gm-border, #dee2e6);
    border-radius: var(--gm-radius-md, 0.75rem);
    color: var(--gm-text, var(--bs-body-color));
    display: flex;
    font-weight: 850;
    justify-content: space-between;
    margin-top: 0.55rem;
    min-height: 2.9rem;
    padding: 0.65rem 0.8rem;
    text-align: left;
    width: 100%;
}

.storefront-collapse-toggle i {
    color: var(--gm-text-muted, #6c757d);
    font-size: 0.8rem;
    transition: transform var(--gm-motion-base, 180ms) var(--gm-motion-ease, ease-out);
}

.storefront-collapse-toggle[aria-expanded="true"] i {
    transform: rotate(180deg);
}

.storefront-collapse-toggle--attention {
    border-color: rgba(var(--bs-danger-rgb, 220, 53, 69), 0.35);
    color: var(--bs-danger, #dc3545);
}

.storefront-collapse-toggle--active {
    border-color: rgba(var(--gm-brand-rgb, 61, 52, 139), 0.3);
    color: var(--gm-primary, #3d348b);
}

.storefront-checkout-form,
.storefront-inline-form,
.storefront-applied-list {
    display: grid;
    gap: 0.6rem;
    margin-top: 0.65rem;
}

.storefront-checkout-form .form-label {
    color: var(--gm-text-muted, #6c757d);
    font-size: 0.82rem;
    font-weight: 800;
    margin-bottom: 0.3rem;
}

.storefront-checkout-form .form-label span {
    color: var(--bs-danger, #dc3545);
    font-weight: 800;
}

.storefront-checkout-form .form-control,
.storefront-checkout-form .form-select,
.storefront-inline-form .form-control,
.storefront-inline-form .form-select {
    border-radius: var(--gm-radius-md, 0.75rem);
    min-height: 2.85rem;
}

.storefront-inline-form {
    grid-template-columns: minmax(0, 1fr) auto;
}

.storefront-field-error {
    color: var(--bs-danger, #dc3545);
    display: block;
    font-size: 0.78rem;
    margin-top: 0.25rem;
}

.storefront-applied-list small {
    color: var(--gm-text-muted, #6c757d);
    font-weight: 800;
}

.storefront-applied-row {
    align-items: center;
    background: rgba(var(--gm-brand-rgb, 61, 52, 139), 0.04);
    border-radius: var(--gm-radius-sm, 0.5rem);
    color: var(--gm-text, var(--bs-body-color));
    display: flex;
    justify-content: space-between;
    padding: 0.55rem 0.65rem;
    text-decoration: none;
}

.storefront-checkout-summary {
    margin-top: 0.85rem;
    position: sticky;
    top: calc(var(--gm-header-height, 64px) + 1rem);
}

.storefront-checkout-summary__header {
    margin-bottom: 0.65rem;
}

.storefront-checkout-summary__header span {
    color: var(--gm-text-muted, #6c757d);
    font-size: 0.82rem;
    font-weight: 800;
}

.storefront-totals-list {
    display: grid;
    gap: 0.45rem;
    margin-bottom: 0.85rem;
}

.storefront-totals-list > div {
    align-items: center;
    display: flex;
    justify-content: space-between;
}

.storefront-totals-list span {
    color: var(--gm-text-muted, #6c757d);
}

.storefront-totals-list strong {
    color: var(--gm-text, var(--bs-body-color));
    font-weight: 900;
}

.storefront-totals-list__total {
    border-top: 1px solid var(--gm-border, #dee2e6);
    margin-top: 0.25rem;
    padding-top: 0.65rem;
}

.storefront-totals-list__total span,
.storefront-totals-list__total strong {
    color: var(--gm-primary, #3d348b);
    font-size: 1.1rem;
}

.storefront-checkout-sticky-action {
    display: none;
}

.storefront-cart-mini {
    display: grid;
    gap: 0.85rem;
}

.storefront-cart-mini__header {
    align-items: flex-start;
    background: rgba(var(--gm-brand-rgb, 61, 52, 139), 0.06);
    border: 1px solid var(--gm-border, #dee2e6);
    border-radius: var(--gm-radius-md, 0.75rem);
    display: flex;
    justify-content: space-between;
    padding: 0.8rem;
}

.storefront-cart-mini__header span {
    color: var(--gm-text-muted, #6c757d);
    display: block;
    font-size: 0.78rem;
    font-weight: 800;
}

.storefront-cart-mini__header strong {
    color: var(--gm-text, var(--bs-body-color));
    font-weight: 900;
}

.storefront-cart-mini__empty {
    align-items: center;
    border: 1px dashed var(--gm-border, #dee2e6);
    border-radius: var(--gm-radius-md, 0.75rem);
    color: var(--gm-text-muted, #6c757d);
    display: grid;
    gap: 0.5rem;
    justify-items: center;
    padding: 1.5rem 0.75rem;
    text-align: center;
}

.storefront-cart-mini__empty p {
    margin: 0;
}

.storefront-cart-mini__items {
    display: grid;
    gap: 0.65rem;
}

.storefront-cart-mini__item {
    background: var(--gm-surface, #ffffff);
    border: 1px solid var(--gm-border, #dee2e6);
    border-radius: var(--gm-radius-md, 0.75rem);
    display: grid;
    gap: 0.65rem;
    grid-template-columns: 4rem minmax(0, 1fr);
    padding: 0.65rem;
}

.storefront-cart-mini__item img {
    aspect-ratio: 1;
    border-radius: var(--gm-radius-sm, 0.5rem);
    display: block;
    height: auto;
    min-width: 0;
    object-fit: cover;
    width: 100%;
}

.storefront-cart-mini__title {
    display: grid;
    gap: 0.2rem;
}

.storefront-cart-mini__title strong {
    font-size: 0.95rem;
    line-height: 1.2;
}

.storefront-cart-mini__title span {
    color: var(--gm-primary, #3d348b);
    font-weight: 900;
}

.storefront-cart-mini__options,
.storefront-cart-mini__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-top: 0.45rem;
}

.storefront-cart-mini__options span {
    background: rgba(var(--gm-brand-rgb, 61, 52, 139), 0.06);
    border-radius: 999px;
    color: var(--gm-text-muted, #6c757d);
    font-size: 0.72rem;
    padding: 0.22rem 0.45rem;
}

.storefront-cart-mini__actions .btn {
    min-height: 2rem;
}

.storefront-cart-mini__totals {
    border-top: 1px solid var(--gm-border, #dee2e6);
    display: grid;
    gap: 0.35rem;
    padding-top: 0.75rem;
}

.storefront-cart-mini__totals > div {
    align-items: center;
    display: flex;
    justify-content: space-between;
}

.storefront-cart-mini__totals span {
    color: var(--gm-text-muted, #6c757d);
}

.storefront-cart-mini__totals strong {
    font-weight: 900;
}

.storefront-cart-mini__total {
    color: var(--gm-primary, #3d348b);
    font-size: 1.05rem;
}

.storefront-content-route,
.storefront-service-route {
    margin: 1.25rem auto 2rem;
    max-width: 72rem;
}

.storefront-service-route {
    max-width: 76rem;
}

.storefront-content-page,
.storefront-service-page {
    display: grid;
    gap: 1rem;
}

.storefront-hero__actions {
    margin-top: 0.85rem;
}

.storefront-context-actions {
    align-items: center;
    display: flex;
    justify-content: flex-end;
    margin: var(--gm-section-gap, 1.25rem) 0 0;
}

.storefront-content-hero {
    align-items: center;
    background: linear-gradient(135deg, rgba(var(--gm-brand-rgb, 61, 52, 139), 0.08), rgba(var(--gm-accent-rgb, 255, 193, 7), 0.12));
    border: 1px solid var(--gm-border, #dee2e6);
    border-radius: var(--gm-radius-lg, 1rem);
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    padding: 1rem;
}

.storefront-content-hero--compact {
    align-items: flex-start;
}

.storefront-content-hero--article {
    max-width: 52rem;
    width: 100%;
}

.storefront-share {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem 0.65rem;
}

.storefront-share__label {
    align-items: center;
    color: var(--gm-text-muted, #6c757d);
    display: inline-flex;
    font-size: 0.76rem;
    font-weight: 900;
    gap: 0.35rem;
    letter-spacing: 0;
    line-height: 1.2;
    text-transform: uppercase;
}

.storefront-share__actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.storefront-share__action {
    align-items: center;
    background: rgba(var(--gm-primary-rgb, 61, 52, 139), 0.08);
    border: 1px solid rgba(var(--gm-primary-rgb, 61, 52, 139), 0.22);
    border-radius: var(--gm-radius-pill, 999px);
    color: var(--gm-text, #202b32);
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 0.9rem;
    height: 2.25rem;
    justify-content: center;
    line-height: 1;
    min-width: 2.25rem;
    padding: 0;
    text-decoration: none;
    transition: background-color var(--gm-motion-fast, 120ms) var(--gm-motion-ease, ease), border-color var(--gm-motion-fast, 120ms) var(--gm-motion-ease, ease), color var(--gm-motion-fast, 120ms) var(--gm-motion-ease, ease);
}

.storefront-share__action:hover,
.storefront-share__action:focus {
    background: var(--gm-primary, #3d348b);
    border-color: var(--gm-primary, #3d348b);
    color: var(--gm-primary-contrast, #ffffff);
    outline: none;
}

.storefront-share__action:focus-visible {
    box-shadow: 0 0 0 0.2rem rgba(var(--gm-primary-rgb, 61, 52, 139), 0.22);
}

.storefront-share--hero {
    flex: 0 0 auto;
    justify-content: flex-end;
}

.storefront-share--hero-overlay {
    color: inherit;
    justify-content: center;
}

.storefront-share--hero-overlay .storefront-share__label {
    color: currentColor;
    opacity: 0.9;
}

.storefront-share--hero-overlay .storefront-share__action {
    background: rgba(var(--gm-white-rgb, 255, 255, 255), 0.16);
    border-color: rgba(var(--gm-white-rgb, 255, 255, 255), 0.4);
    color: currentColor;
}

.storefront-share--hero-overlay .storefront-share__action:hover,
.storefront-share--hero-overlay .storefront-share__action:focus {
    background: var(--gm-primary, #3d348b);
    border-color: var(--gm-primary, #3d348b);
    color: var(--gm-primary-contrast, #ffffff);
}

.storefront-share--product,
.storefront-share--review {
    justify-content: space-between;
}

.storefront-content-eyebrow {
    color: var(--gm-primary, #3d348b);
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0;
    margin: 0 0 0.15rem;
    text-transform: uppercase;
}

.storefront-content-hero h1,
.storefront-section-heading h2,
.storefront-service-card h2 {
    color: var(--gm-text, var(--bs-body-color));
    letter-spacing: 0;
    margin: 0;
}

.storefront-content-hero h1 {
    font-size: clamp(1.55rem, 4vw, 2.4rem);
    font-weight: 900;
}

.storefront-content-hero p:last-child,
.storefront-section-heading p,
.storefront-service-card p {
    color: var(--gm-text-muted, #6c757d);
    line-height: 1.45;
    margin: 0.25rem 0 0;
}

.storefront-content-list,
.storefront-blog-grid,
.storefront-review-grid,
.storefront-staff-grid {
    display: grid;
    gap: 0.85rem;
}

.storefront-blog-grid,
.storefront-staff-grid {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr));
}

.storefront-review-grid {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 24rem), 1fr));
}

.storefront-promotion-card,
.storefront-blog-card,
.storefront-staff-card,
.storefront-review-card,
.storefront-service-card,
.storefront-detail-panel,
.storefront-detail-action-panel,
.storefront-review-summary {
    background: var(--gm-surface, #ffffff);
    border: 1px solid var(--gm-border, #dee2e6);
    border-radius: var(--gm-radius-lg, 1rem);
    box-shadow: 0 16px 40px rgba(var(--gm-black-rgb, 0, 0, 0), 0.06);
}

.storefront-promotion-card {
    display: grid;
    gap: 0.85rem;
    grid-template-columns: minmax(10rem, 14rem) minmax(0, 1fr) minmax(11rem, 13rem);
    padding: 0.85rem;
}

.storefront-promotion-card__media,
.storefront-blog-card__media,
.storefront-detail-media,
.storefront-staff-card__media,
.storefront-article-media {
    min-width: 0;
    overflow: hidden;
}

.storefront-promotion-card__media .carousel,
.storefront-promotion-card__media .carousel-inner,
.storefront-promotion-card__media .carousel-item,
.storefront-blog-card__media .carousel,
.storefront-blog-card__media .carousel-inner,
.storefront-blog-card__media .carousel-item,
.storefront-detail-media .carousel,
.storefront-detail-media .carousel-inner,
.storefront-detail-media .carousel-item,
.storefront-staff-card__media .carousel,
.storefront-staff-card__media .carousel-inner,
.storefront-staff-card__media .carousel-item,
.storefront-article-media .carousel,
.storefront-article-media .carousel-inner,
.storefront-article-media .carousel-item {
    border-radius: var(--gm-radius-md, 0.75rem);
    overflow: hidden;
}

.storefront-promotion-card__media img,
.storefront-promotion-card__media video,
.storefront-blog-card__media img,
.storefront-blog-card__media video,
.storefront-detail-media img,
.storefront-detail-media video,
.storefront-staff-card__media img,
.storefront-staff-card__media video,
.storefront-article-media img,
.storefront-article-media video {
    aspect-ratio: 4 / 3;
    display: block;
    object-fit: cover;
    width: 100%;
}

.storefront-promotion-card__media img[src$="/no-image.jpg"],
.storefront-blog-card__media img[src$="/no-image.jpg"],
.storefront-detail-media img[src$="/no-image.jpg"],
.storefront-staff-card__media img[src$="/no-image.jpg"],
.storefront-article-media img[src$="/no-image.jpg"] {
    background: rgba(var(--gm-brand-rgb, 61, 52, 139), 0.035);
    object-fit: contain !important;
    opacity: 0.68;
    padding: 1.5rem;
}

.storefront-promotion-card__body,
.storefront-blog-card__body,
.storefront-staff-card__body,
.storefront-review-card__body {
    display: grid;
    gap: 0.65rem;
    min-width: 0;
}

.storefront-promotion-card__body h2,
.storefront-blog-card h2,
.storefront-staff-card h3 {
    font-size: 1.08rem;
    font-weight: 900;
    line-height: 1.25;
    margin: 0;
}

.storefront-promotion-card__body a,
.storefront-blog-card h2 a {
    color: var(--gm-text, var(--bs-body-color));
    text-decoration: none;
}

.storefront-promotion-card__body p,
.storefront-blog-card p,
.storefront-staff-card p {
    color: var(--gm-text-muted, #6c757d);
    line-height: 1.45;
    margin: 0;
}

.storefront-promotion-card__action,
.storefront-detail-action-panel {
    align-content: start;
    display: grid;
    gap: 0.55rem;
}

.storefront-chip-list,
.storefront-service-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.storefront-chip-list span,
.storefront-service-badges span,
.storefront-status-pill {
    background: rgba(var(--gm-brand-rgb, 61, 52, 139), 0.08);
    border: 1px solid rgba(var(--gm-brand-rgb, 61, 52, 139), 0.12);
    border-radius: 999px;
    color: var(--gm-primary, #3d348b);
    font-size: 0.76rem;
    font-weight: 800;
    line-height: 1.2;
    padding: 0.3rem 0.55rem;
}

.storefront-status-pill.is-muted {
    background: rgba(var(--gm-black-rgb, 0, 0, 0), 0.045);
    border-color: var(--gm-border, #dee2e6);
    color: var(--gm-text-muted, #6c757d);
}

.storefront-code-button {
    font-weight: 900;
    letter-spacing: 0.03em;
}

.storefront-inline-warning {
    background: rgba(var(--bs-warning-rgb, 255, 193, 7), 0.14);
    border: 1px solid rgba(var(--bs-warning-rgb, 255, 193, 7), 0.3);
    border-radius: var(--gm-radius-md, 0.75rem);
    color: var(--gm-text, #7a5600);
    font-size: 0.86rem;
    line-height: 1.35;
    padding: 0.65rem 0.75rem;
}

.storefront-inline-warning--danger {
    background: rgba(var(--bs-danger-rgb, 220, 53, 69), 0.1);
    border-color: rgba(var(--bs-danger-rgb, 220, 53, 69), 0.25);
    color: var(--bs-danger, #dc3545);
}

.storefront-content-meta-list {
    display: grid;
    gap: 0.45rem;
}

.storefront-content-meta-list details,
.storefront-detail-panel section {
    background: rgba(var(--gm-brand-rgb, 61, 52, 139), 0.035);
    border: 1px solid var(--gm-border, #dee2e6);
    border-radius: var(--gm-radius-md, 0.75rem);
    padding: 0.65rem 0.75rem;
}

.storefront-content-meta-list summary,
.storefront-detail-panel h2 {
    color: var(--gm-text, var(--bs-body-color));
    cursor: pointer;
    font-size: 0.95rem;
    font-weight: 900;
}

.storefront-content-meta-list ul,
.storefront-detail-panel ul {
    margin: 0.55rem 0 0;
    padding-left: 1rem;
}

.storefront-detail-layout,
.storefront-service-layout {
    align-items: flex-start;
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(0, 1fr) minmax(18rem, 24rem);
}

.storefront-detail-layout {
    grid-template-columns: minmax(12rem, 18rem) minmax(0, 1fr) minmax(12rem, 16rem);
}

.storefront-detail-panel,
.storefront-detail-action-panel,
.storefront-service-card {
    padding: 1rem;
}

.storefront-blog-card {
    display: grid;
    overflow: hidden;
}

.storefront-blog-card__body {
    padding: 0.9rem;
}

.storefront-article-page {
    justify-items: center;
}

.storefront-article-media,
.storefront-article-content,
.storefront-article-tags {
    max-width: 52rem;
    width: 100%;
}

.storefront-article-content {
    background: var(--gm-surface, #ffffff);
    border: 1px solid var(--gm-border, #dee2e6);
    border-radius: var(--gm-radius-lg, 1rem);
    box-shadow: 0 16px 40px rgba(var(--gm-black-rgb, 0, 0, 0), 0.05);
    color: var(--gm-text, var(--bs-body-color));
    line-height: 1.65;
    padding: 1rem;
}

.storefront-article-content img,
.storefront-article-content video,
.storefront-article-content iframe {
    border-radius: var(--gm-radius-md, 0.75rem);
    height: auto;
    max-width: 100%;
}

.storefront-content-section {
    display: grid;
    gap: 0.85rem;
}

.storefront-section-heading {
    display: grid;
    gap: 0.1rem;
}

.storefront-contact-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
}

.storefront-contact-actions .btn {
    min-height: 2.75rem;
}

.storefront-staff-card {
    overflow: hidden;
}

.storefront-staff-card__body {
    padding: 0.9rem;
}

.storefront-review-summary {
    align-items: center;
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(11rem, 15rem) minmax(0, 1fr);
    padding: 1rem;
}

.storefront-review-summary__score {
    display: grid;
    gap: 0.25rem;
    justify-items: center;
    text-align: center;
}

.storefront-review-summary__score strong {
    color: var(--gm-primary, #3d348b);
    font-size: 2.2rem;
    font-weight: 900;
    line-height: 1;
}

.storefront-review-summary__score span,
.storefront-review-summary__score small,
.storefront-review-summary__score p {
    color: var(--gm-text-muted, #6c757d);
    margin: 0;
}

.storefront-review-summary__parts {
    display: grid;
    gap: 0.5rem;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr));
}

.storefront-review-summary__parts > div,
.storefront-review-metric {
    align-items: center;
    background: rgba(var(--gm-brand-rgb, 61, 52, 139), 0.035);
    border: 1px solid var(--gm-border, #dee2e6);
    border-radius: var(--gm-radius-md, 0.75rem);
    display: flex;
    gap: 0.55rem;
    justify-content: space-between;
    padding: 0.55rem 0.65rem;
}

.storefront-review-summary__parts > div,
.storefront-review-metric {
    flex-wrap: wrap;
    min-width: 0;
}

.storefront-review-summary__parts > div > span,
.storefront-review-metric > span {
    overflow-wrap: anywhere;
}

.storefront-review-summary__parts > div {
    align-items: flex-start;
    flex-direction: column;
    justify-content: space-between;
}

.storefront-review-summary--social_proof [data-star]::after {
    color: currentColor;
}

.storefront-review-summary--social_proof [data-star]::before {
    color: currentColor;
    opacity: 0.3;
}

.storefront-review-summary__quote {
    border-left: 3px solid var(--gm-primary, #3d348b);
    grid-column: 1 / -1;
    margin: 0;
    padding: 0.25rem 0 0.25rem 1rem;
}

.storefront-review-summary__quote p {
    font-family: var(--gm-font-heading, serif);
    font-size: 1.45rem;
    line-height: 1.25;
    margin: 0;
}

.storefront-review-summary__quote footer {
    color: var(--gm-text-muted, #6c757d);
    font-size: 0.76rem;
    font-weight: 800;
    margin-top: 0.65rem;
    text-transform: uppercase;
}

.storefront-review-summary__quote footer span::before {
    content: " / ";
}

.storefront-review-summary--editorial_quote {
    align-items: stretch;
    background: var(--gm-surface, #ffffff);
    border: 0;
    box-shadow: 0 20px 55px rgba(var(--gm-black-rgb, 0, 0, 0), 0.07);
    grid-template-columns: minmax(10rem, 0.55fr) minmax(0, 1.45fr);
    padding: clamp(1.25rem, 4vw, 3rem);
}

.storefront-review-summary--editorial_quote .storefront-review-summary__score {
    align-content: center;
    border-right: 1px solid var(--gm-border, #dee2e6);
}

.storefront-review-summary--editorial_quote .storefront-review-summary__score strong {
    font-family: var(--gm-font-heading, serif);
    font-size: 4.25rem;
    font-weight: var(--gm-heading-weight, 650);
}

.storefront-review-summary--editorial_quote .storefront-review-summary__parts > div {
    background: transparent;
    border: 0;
    border-bottom: 1px solid var(--gm-border, #dee2e6);
    border-radius: 0;
}

.storefront-review-summary--editorial_quote .storefront-review-summary__quote {
    margin-top: 0.75rem;
}

.storefront-review-summary--social_proof {
    background: var(--gm-primary, #3d348b);
    border: 0;
    box-shadow: 0.5rem 0.5rem 0 var(--gm-secondary, #7678ed);
    color: var(--gm-primary-contrast, #ffffff);
    padding: clamp(1.25rem, 4vw, 2.5rem);
}

.storefront-review-summary--social_proof .storefront-review-summary__score strong,
.storefront-review-summary--social_proof .storefront-review-summary__score span,
.storefront-review-summary--social_proof .storefront-review-summary__score small,
.storefront-review-summary--social_proof .storefront-review-summary__score p,
.storefront-review-summary--social_proof .storefront-review-summary__quote footer {
    color: inherit;
}

.storefront-review-summary--social_proof .storefront-review-summary__score strong {
    font-family: var(--gm-font-heading, sans-serif);
    font-size: 4rem;
}

.storefront-review-summary--social_proof .storefront-review-summary__parts > div {
    background: rgba(var(--gm-white-rgb, 255, 255, 255), 0.09);
    border-color: rgba(var(--gm-white-rgb, 255, 255, 255), 0.35);
    border-radius: 0;
}

.storefront-review-summary--social_proof .storefront-review-summary__quote {
    border-color: var(--gm-secondary, #7678ed);
}

.storefront-review-summary--service_ledger {
    border-bottom: 1px solid var(--gm-border, #dee2e6);
    border-top: 1px solid var(--gm-border, #dee2e6);
    grid-template-columns: minmax(9rem, 0.45fr) minmax(0, 1fr) minmax(16rem, 1fr);
    padding: 2rem 0;
}

.storefront-review-summary--service_ledger .storefront-review-summary__score {
    justify-items: start;
    text-align: left;
}

.storefront-review-summary--service_ledger .storefront-review-summary__score strong {
    font-family: var(--gm-font-heading, serif);
    font-size: 4.5rem;
    font-weight: 500;
}

.storefront-review-summary--service_ledger .storefront-review-summary__parts {
    border-left: 1px solid var(--gm-border, #dee2e6);
    padding-left: 1.5rem;
}

.storefront-review-summary--service_ledger .storefront-review-summary__parts > div {
    background: transparent;
    border: 0;
    border-bottom: 1px solid var(--gm-border, #dee2e6);
    border-radius: 0;
    padding-left: 0;
    padding-right: 0;
}

.storefront-review-summary--service_ledger .storefront-review-summary__quote {
    align-self: center;
    grid-column: auto;
}

.storefront-reviews-widget--social_proof .storefront-reviews-widget__action .btn {
    border-color: var(--gm-primary, #3d348b);
    color: var(--gm-primary, #3d348b);
    font-weight: 800;
}

@media (max-width: 767.98px) {
    .storefront-review-summary,
    .storefront-review-summary--editorial_quote,
    .storefront-review-summary--service_ledger {
        grid-template-columns: minmax(0, 1fr);
    }

    .storefront-review-summary--editorial_quote .storefront-review-summary__score {
        border-bottom: 1px solid var(--gm-border, #dee2e6);
        border-right: 0;
        padding-bottom: 1.25rem;
    }

    .storefront-review-summary--service_ledger .storefront-review-summary__parts {
        border-left: 0;
        grid-template-columns: minmax(0, 1fr);
        padding-left: 0;
    }

    .storefront-review-summary--editorial_quote .storefront-review-summary__parts,
    .storefront-review-summary--social_proof .storefront-review-summary__parts {
        grid-template-columns: minmax(0, 1fr);
    }

    .storefront-review-summary--service_ledger .storefront-review-summary__quote {
        grid-column: 1;
    }

    .storefront-review-summary__quote p {
        font-size: 1.2rem;
    }
}

.storefront-reviews-widget {
    display: grid;
    gap: 1rem;
}

.storefront-reviews-widget__heading {
    margin-bottom: 0;
}

.storefront-reviews-widget__action {
    display: flex;
    justify-content: flex-start;
}

.storefront-review-card {
    display: grid;
    overflow: hidden;
}

.storefront-review-card__header,
.storefront-service-card__header {
    align-items: flex-start;
    display: flex;
    gap: 0.75rem;
    justify-content: space-between;
}

.storefront-review-card__header {
    border-bottom: 1px solid var(--gm-border, #dee2e6);
    padding: 0.85rem;
}

.storefront-review-card__body {
    padding: 0.85rem;
}

.storefront-review-card__footer {
    border-top: 1px solid var(--gm-border, #dee2e6);
    padding: 0.75rem 0.85rem;
}

.storefront-review-section,
.storefront-review-subitem {
    display: grid;
    gap: 0.55rem;
}

.storefront-review-section + .storefront-review-section,
.storefront-review-subitem + .storefront-review-subitem {
    border-top: 1px solid var(--gm-border, #dee2e6);
    margin-top: 0.75rem;
    padding-top: 0.75rem;
}

.storefront-review-section__heading {
    align-items: center;
    display: flex;
    justify-content: space-between;
}

.storefront-review-quote {
    background: rgba(var(--gm-brand-rgb, 61, 52, 139), 0.06);
    border-radius: var(--gm-radius-md, 0.75rem);
    color: var(--gm-text, var(--bs-body-color));
    line-height: 1.45;
    margin: 0;
    padding: 0.65rem 0.75rem;
}

.storefront-review-product-name {
    font-weight: 900;
}

.storefront-empty-state {
    align-items: center;
    background: var(--gm-surface, #ffffff);
    border: 1px solid var(--gm-border, #dee2e6);
    border-radius: var(--gm-radius-lg, 1rem);
    display: grid;
    gap: 0.65rem;
    justify-items: center;
    padding: 2rem 1rem;
    text-align: center;
}

.storefront-empty-state__icon {
    align-items: center;
    background: rgba(var(--gm-brand-rgb, 61, 52, 139), 0.1);
    border-radius: 999px;
    color: var(--gm-primary, #3d348b);
    display: inline-flex;
    height: 3rem;
    justify-content: center;
    width: 3rem;
}

.storefront-empty-state h1,
.storefront-empty-state h2 {
    font-size: 1.35rem;
    font-weight: 900;
    margin: 0;
}

.storefront-empty-state p {
    color: var(--gm-text-muted, #6c757d);
    margin: 0;
    max-width: 32rem;
}

.storefront-cart-drawer,
.storefront-account-modal {
    color: var(--gm-text, var(--bs-body-color));
}

.storefront-cart-drawer .offcanvas-header,
.storefront-account-modal__header {
    border-bottom: 1px solid var(--gm-border, #dee2e6);
}

.storefront-account-drawer-card {
    background: rgba(var(--gm-brand-rgb, 61, 52, 139), 0.045);
    border: 1px solid var(--gm-border, #dee2e6);
    border-radius: var(--gm-radius-lg, 1rem);
    display: grid;
    gap: 0.75rem;
    padding: 0.9rem;
}

.storefront-account-drawer-card p,
.storefront-account-modal__header p {
    color: var(--gm-text-muted, #6c757d);
    margin: 0.2rem 0 0;
}

.storefront-account-drawer-actions,
.storefront-account-social,
.storefront-account-form {
    display: grid;
    gap: 0.6rem;
}

.storefront-account-modal-dialog {
    margin: 0.75rem auto;
    max-width: min(100% - 1.5rem, 34rem);
}

.storefront-account-modal {
    border: 0;
    border-radius: var(--gm-radius-lg, 1rem);
    overflow: hidden;
}

.storefront-account-modal__header {
    align-items: flex-start;
    background: linear-gradient(135deg, rgba(var(--gm-brand-rgb, 61, 52, 139), 0.08), rgba(var(--gm-accent-rgb, 255, 193, 7), 0.1));
    gap: 1rem;
}

.storefront-account-modal__header h5 {
    font-weight: 900;
}

.storefront-account-tabs {
    background: rgba(var(--gm-brand-rgb, 61, 52, 139), 0.045);
    border: 1px solid var(--gm-border, #dee2e6);
    border-radius: var(--gm-radius-pill, 999px);
    margin-bottom: 0.85rem;
    padding: 0.25rem;
}

.storefront-account-tabs .nav-link {
    border-radius: var(--gm-radius-pill, 999px);
    color: var(--gm-text-muted, #6c757d);
    font-weight: 900;
}

.storefront-account-tabs .nav-link.active {
    background: var(--gm-primary, var(--bs-primary));
    color: var(--gm-primary-contrast, #ffffff);
}

.storefront-account-social {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-bottom: 0.85rem;
}

.storefront-account-form label {
    color: var(--gm-text, var(--bs-body-color));
    font-size: 0.86rem;
    font-weight: 800;
    margin-bottom: 0.25rem;
}

.storefront-footer {
    margin-top: 2rem;
}

.storefront-footer__inner {
    display: grid;
    gap: 1rem;
    margin: 0 auto;
    max-width: 76rem;
    padding: 1.25rem var(--gm-page-gutter, 1rem);
}

.storefront-footer__brand,
.storefront-footer__bottom {
    align-items: center;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
}

.storefront-footer__brand h2,
.storefront-footer__card h3,
.storefront-footer__map-card h3 {
    font-size: 1.1rem;
    font-weight: 900;
    margin: 0;
}

.storefront-footer__brand p:not(.storefront-content-eyebrow),
.storefront-footer__map-card p {
    margin: 0.25rem 0 0;
    max-width: 42rem;
    opacity: 0.86;
}

.storefront-footer__social {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.storefront-footer__social .storefront-icon-button {
    color: inherit;
    text-decoration: none;
}

.storefront-footer__grid {
    align-items: start;
    display: grid;
    gap: 0.85rem;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr));
}

.storefront-footer__card,
.storefront-footer__map-card {
    background: rgba(var(--bs-light-rgb, 255, 255, 255), 0.1);
    border: 1px solid rgba(var(--bs-light-rgb, 255, 255, 255), 0.18);
    border-radius: var(--gm-radius-lg, 1rem);
    display: grid;
    gap: 0.65rem;
    padding: 0.9rem;
}

.storefront-footer__links,
.storefront-footer__card--contact {
    align-content: start;
    display: grid;
    gap: 0.45rem;
}

.storefront-footer__links a,
.storefront-footer__card a:not(.btn),
.storefront-footer__bottom a {
    color: inherit;
    text-decoration: none;
}

.storefront-footer__links a:hover,
.storefront-footer__card a:not(.btn):hover,
.storefront-footer__bottom a:hover {
    text-decoration: underline;
}

.storefront-footer__hours {
    display: grid;
    gap: 0.5rem;
}

.storefront-footer__hours > div {
    background: rgba(var(--bs-light-rgb, 255, 255, 255), 0.08);
    border-radius: var(--gm-radius-md, 0.75rem);
    display: grid;
    gap: 0.1rem;
    padding: 0.55rem 0.65rem;
}

.storefront-footer__hours span {
    font-size: 0.78rem;
    font-weight: 800;
    opacity: 0.78;
}

.storefront-footer__directions {
    align-self: start;
    justify-self: start;
}

.storefront-footer__map-card {
    align-items: center;
    grid-template-columns: minmax(0, 1fr) minmax(13rem, 22rem);
}

.storefront-footer__map-card iframe,
.storefront-footer__map-fallback {
    border-radius: var(--gm-radius-md, 0.75rem);
    overflow: hidden;
}

.storefront-footer__map-fallback {
    align-items: center;
    background: linear-gradient(135deg, rgba(var(--bs-light-rgb, 255, 255, 255), 0.16), rgba(var(--bs-light-rgb, 255, 255, 255), 0.06));
    color: inherit;
    display: grid;
    gap: 0.4rem;
    min-height: 13rem;
    justify-items: center;
    text-decoration: none;
}

.storefront-footer__map-fallback:hover,
.storefront-footer__map-fallback:focus-visible {
    color: inherit;
    outline: 2px solid currentColor;
    outline-offset: 2px;
}

.storefront-footer__map-fallback i {
    font-size: 2rem;
}

.storefront-footer__map-fallback span {
    font-weight: 900;
}

.storefront-footer__bottom {
    border-top: 1px solid rgba(var(--bs-light-rgb, 255, 255, 255), 0.16);
    font-size: 0.9rem;
    padding-top: 0.9rem;
}

.storefront-account-route {
    margin: 1rem auto 2rem;
    max-width: 76rem;
}

.storefront-account-page {
    display: grid;
    gap: 1rem;
}

.storefront-account-hero {
    align-items: center;
    background: linear-gradient(135deg, rgba(var(--gm-brand-rgb, 61, 52, 139), 0.08), rgba(var(--gm-accent-rgb, 255, 193, 7), 0.12));
    border: 1px solid var(--gm-border, #dee2e6);
    border-radius: var(--gm-radius-lg, 1rem);
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    padding: 1rem;
}

.storefront-account-hero h1 {
    font-size: clamp(1.45rem, 4vw, 2.25rem);
    font-weight: 900;
    letter-spacing: 0;
    margin: 0;
}

.storefront-account-hero p:last-child {
    color: var(--gm-text-muted, #6c757d);
    margin: 0.2rem 0 0;
}

.storefront-account-hero__icon {
    align-items: center;
    background: var(--gm-primary, var(--bs-primary));
    border-radius: var(--gm-radius-lg, 1rem);
    color: var(--gm-primary-contrast, #ffffff);
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 1.4rem;
    height: 3.6rem;
    justify-content: center;
    width: 3.6rem;
}

.storefront-account-layout {
    align-items: flex-start;
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(12rem, 16rem) minmax(0, 1fr);
}

.storefront-account-nav {
    background: var(--gm-surface, #ffffff);
    border: 1px solid var(--gm-border, #dee2e6);
    border-radius: var(--gm-radius-lg, 1rem);
    box-shadow: 0 16px 40px rgba(var(--gm-black-rgb, 0, 0, 0), 0.05);
    display: grid;
    gap: 0.25rem;
    padding: 0.45rem;
    position: sticky;
    top: calc(var(--gm-header-height, 64px) + 1rem);
}

.storefront-account-nav a {
    align-items: center;
    border-radius: var(--gm-radius-md, 0.75rem);
    color: var(--gm-text, var(--bs-body-color));
    display: flex;
    gap: 0.55rem;
    min-height: 2.75rem;
    padding: 0.55rem 0.65rem;
    text-decoration: none;
}

.storefront-account-nav a i {
    color: var(--gm-primary, var(--bs-primary));
    width: 1.1rem;
}

.storefront-account-nav a.active {
    background: rgba(var(--gm-brand-rgb, 61, 52, 139), 0.1);
    color: var(--gm-primary, var(--bs-primary));
    font-weight: 900;
}

.storefront-account-main,
.storefront-account-card,
.storefront-account-list {
    display: grid;
    gap: 0.85rem;
}

.storefront-account-card,
.storefront-account-item,
.storefront-account-stat {
    background: var(--gm-surface, #ffffff);
    border: 1px solid var(--gm-border, #dee2e6);
    border-radius: var(--gm-radius-lg, 1rem);
    box-shadow: 0 16px 40px rgba(var(--gm-black-rgb, 0, 0, 0), 0.05);
    padding: 0.9rem;
}

.storefront-account-card h2,
.storefront-account-item h2,
.storefront-account-item h3 {
    font-size: 1.05rem;
    font-weight: 900;
    letter-spacing: 0;
    margin: 0;
}

.storefront-account-card p,
.storefront-account-item p {
    color: var(--gm-text-muted, #6c757d);
    margin: 0.25rem 0 0;
}

.storefront-account-stats {
    display: grid;
    gap: 0.85rem;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 11rem), 1fr));
}

.storefront-account-stat {
    display: grid;
    gap: 0.25rem;
}

.storefront-account-stat span {
    color: var(--gm-text-muted, #6c757d);
    font-size: 0.78rem;
    font-weight: 800;
}

.storefront-account-stat strong {
    color: var(--gm-primary, var(--bs-primary));
    font-size: 1.25rem;
    font-weight: 900;
}

.storefront-account-item {
    display: grid;
    gap: 0.65rem;
}

.storefront-account-item__header,
.storefront-account-item__meta,
.storefront-account-item__actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    justify-content: space-between;
}

.storefront-account-item__meta {
    justify-content: flex-start;
}

.storefront-account-pill {
    background: rgba(var(--gm-brand-rgb, 61, 52, 139), 0.08);
    border: 1px solid rgba(var(--gm-brand-rgb, 61, 52, 139), 0.12);
    border-radius: var(--gm-radius-pill, 999px);
    color: var(--gm-primary, var(--bs-primary));
    font-size: 0.76rem;
    font-weight: 900;
    padding: 0.32rem 0.55rem;
}

.storefront-account-form-grid {
    display: grid;
    gap: 0.65rem;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr));
}

.storefront-account-muted-box {
    background: rgba(var(--gm-brand-rgb, 61, 52, 139), 0.045);
    border: 1px solid var(--gm-border, #dee2e6);
    border-radius: var(--gm-radius-md, 0.75rem);
    padding: 0.75rem;
}

.storefront-service-layout {
    grid-template-columns: minmax(0, 1fr) minmax(18rem, 22rem);
}

.storefront-service-side {
    display: grid;
    gap: 0.85rem;
    position: sticky;
    top: calc(var(--gm-header-height, 64px) + 1rem);
}

.storefront-service-card__header {
    margin-bottom: 0.75rem;
}

.storefront-service-card__header h2 {
    font-size: 1.05rem;
    font-weight: 900;
}

.storefront-payment-amount {
    background: var(--gm-surface, #ffffff);
    border: 1px solid var(--gm-border, #dee2e6);
    border-radius: var(--gm-radius-md, 0.75rem);
    display: grid;
    justify-items: end;
    padding: 0.85rem;
}

.storefront-payment-amount span,
.storefront-payment-amount small {
    color: var(--gm-text-muted, #6c757d);
    font-weight: 800;
}

.storefront-payment-amount strong {
    color: var(--gm-primary, #3d348b);
    font-size: 1.55rem;
    font-weight: 900;
}

.storefront-payment-lines {
    display: grid;
    gap: 0.55rem;
}

.storefront-payment-line {
    align-items: center;
    background: rgba(var(--gm-brand-rgb, 61, 52, 139), 0.035);
    border: 1px solid var(--gm-border, #dee2e6);
    border-radius: var(--gm-radius-md, 0.75rem);
    display: flex;
    gap: 0.75rem;
    justify-content: space-between;
    padding: 0.75rem;
}

.storefront-payment-line > div {
    display: grid;
    gap: 0.15rem;
    min-width: 0;
}

.storefront-payment-line a,
.storefront-payment-line span {
    color: var(--gm-text-muted, #6c757d);
    font-size: 0.86rem;
}

.storefront-payment-line > strong {
    color: var(--gm-primary, #3d348b);
    flex: 0 0 auto;
}

.storefront-linked-actions,
.storefront-action-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.storefront-action-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr));
}

.storefront-table-bill-page .accordion-item,
.storefront-table-bill-page .form-check {
    background: var(--gm-surface, #ffffff);
    border-color: var(--gm-border, #dee2e6);
    border-radius: var(--gm-radius-md, 0.75rem);
}

.storefront-table-bill-page .accordion-item {
    margin-bottom: 0.65rem;
    overflow: hidden;
}

.storefront-table-bill-page .accordion-button {
    background: rgba(var(--gm-brand-rgb, 61, 52, 139), 0.035);
    color: var(--gm-text, var(--bs-body-color));
    font-weight: 800;
}

.storefront-table-bill-orders {
    min-width: 0;
}

.storefront-table-bill-page .list-group-item img {
    border-radius: var(--gm-radius-sm, 0.5rem);
    display: block;
    object-fit: cover;
}

.storefront-order-live-status {
    display: grid;
    gap: 0.9rem;
}

.storefront-order-verification,
.storefront-order-main,
.storefront-order-side {
    display: grid;
    gap: 0.85rem;
    min-width: 0;
}

.storefront-link-button {
    justify-self: start;
    padding: 0;
}

.storefront-order-layout {
    align-items: flex-start;
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(0, 1fr) minmax(19rem, 24rem);
}

.storefront-order-side {
    position: sticky;
    top: calc(var(--gm-header-height, 64px) + 1rem);
}

.storefront-service-card .storefront-section-heading {
    align-items: center;
    display: flex;
    gap: 0.75rem;
    justify-content: space-between;
}

.storefront-service-card .storefront-section-heading h3 {
    font-size: 1.05rem;
    font-weight: 900;
    letter-spacing: 0;
    line-height: 1.2;
    margin: 0;
}

.storefront-order-context {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin-bottom: 1rem;
}

.storefront-order-context > span:last-child {
    color: var(--gm-text-muted, #6c757d);
    font-size: 0.9rem;
    min-width: 0;
}

.storefront-order-context strong {
    color: var(--gm-text, var(--bs-body-color));
}

.storefront-order-status-body {
    align-items: center;
    display: grid;
    gap: 0.9rem;
    grid-template-columns: auto minmax(0, 1fr);
}

.storefront-order-status-body h2 {
    font-size: clamp(1.45rem, 4vw, 2.2rem);
    font-weight: 900;
    letter-spacing: 0;
    line-height: 1.1;
    margin: 0;
}

.storefront-order-status-body p:last-child {
    color: var(--gm-text-muted, #6c757d);
    line-height: 1.45;
    margin: 0.3rem 0 0;
}

.storefront-order-status-icon {
    align-items: center;
    background: rgba(var(--gm-brand-rgb, 61, 52, 139), 0.06);
    border-radius: var(--gm-radius-md, 0.75rem);
    display: inline-flex;
    font-size: 2rem;
    height: 4rem;
    justify-content: center;
    width: 4rem;
}

.storefront-order-progress {
    display: grid;
    gap: 0.45rem;
    margin-top: 1rem;
}

.storefront-order-progress .progress {
    background: rgba(var(--gm-brand-rgb, 61, 52, 139), 0.08);
    border-radius: 999px;
    height: 0.8rem;
    overflow: hidden;
}

.storefront-order-progress span {
    color: var(--gm-text-muted, #6c757d);
    font-size: 0.86rem;
    font-weight: 800;
}

.storefront-order-items-card {
    display: grid;
    gap: 0.85rem;
}

.storefront-order-items {
    display: grid;
    gap: 0.65rem;
}

.storefront-order-item {
    align-items: start;
    background: rgba(var(--gm-brand-rgb, 61, 52, 139), 0.035);
    border: 1px solid var(--gm-border, #dee2e6);
    border-radius: var(--gm-radius-md, 0.75rem);
    color: var(--gm-text, var(--bs-body-color));
    display: grid;
    gap: 0.75rem;
    grid-template-columns: 4.75rem minmax(0, 1fr);
    padding: 0.65rem;
    text-decoration: none;
}

.storefront-order-item:hover {
    color: var(--gm-text, var(--bs-body-color));
    text-decoration: none;
}

.storefront-order-item-media {
    border: 2px solid var(--gm-border, #dee2e6);
    border-radius: var(--gm-radius-md, 0.75rem);
    overflow: hidden;
}

.storefront-order-item-media img,
.storefront-order-item-placeholder {
    aspect-ratio: 1;
    display: block;
    object-fit: cover;
    width: 100%;
}

.storefront-order-item-placeholder {
    align-items: center;
    background: rgba(var(--gm-brand-rgb, 61, 52, 139), 0.08);
    color: var(--gm-primary, #3d348b);
    display: flex;
    justify-content: center;
}

.storefront-order-item-body {
    display: grid;
    gap: 0.4rem;
    min-width: 0;
}

.storefront-order-item-title {
    align-items: flex-start;
    display: flex;
    gap: 0.75rem;
    justify-content: space-between;
}

.storefront-order-item-title strong {
    line-height: 1.25;
}

.storefront-order-item-title span {
    flex: 0 0 auto;
    font-weight: 900;
}

.storefront-order-note,
.storefront-muted-copy {
    color: var(--gm-text-muted, #6c757d);
    font-size: 0.86rem;
    line-height: 1.4;
    margin: 0;
}

.storefront-order-payment-card,
.storefront-order-totals-card,
.storefront-order-chat {
    display: grid;
    gap: 0.75rem;
}

.storefront-order-payment-form {
    display: grid;
    gap: 0.5rem;
}

.storefront-order-payment-form label {
    color: var(--gm-text-muted, #6c757d);
    font-size: 0.8rem;
    font-weight: 900;
    text-transform: uppercase;
}

.storefront-payment-links {
    display: grid;
    gap: 0.45rem;
}

.storefront-payment-line.is-total {
    background: rgba(var(--gm-brand-rgb, 61, 52, 139), 0.09);
}

.storefront-payment-line.is-total span,
.storefront-payment-line.is-total strong {
    color: var(--gm-primary, #3d348b);
    font-size: 1rem;
    font-weight: 900;
}

.storefront-order-review > * {
    max-width: 100%;
}

.storefront-order-chat-messages {
    display: flex;
    flex-direction: column-reverse;
    gap: 0.55rem;
    max-height: min(24rem, 55vh);
    min-height: 8rem;
    overflow-y: auto;
    padding-right: 0.1rem;
}

.storefront-order-message {
    align-items: flex-start;
    display: flex;
    gap: 0.55rem;
}

.storefront-order-message.is-client {
    flex-direction: row-reverse;
}

.storefront-order-message-avatar {
    border-radius: 999px;
    flex: 0 0 2.25rem;
    height: 2.25rem;
    overflow: hidden;
    width: 2.25rem;
}

.storefront-order-message-avatar img {
    display: block;
    width: 100%;
}

.storefront-order-message-body {
    background: rgba(var(--gm-brand-rgb, 61, 52, 139), 0.055);
    border: 1px solid var(--gm-border, #dee2e6);
    border-radius: var(--gm-radius-md, 0.75rem);
    max-width: 82%;
    padding: 0.6rem 0.7rem;
}

.storefront-order-message.is-client .storefront-order-message-body {
    background: rgba(var(--gm-accent-rgb, 255, 193, 7), 0.14);
}

.storefront-order-message-body p {
    color: var(--gm-text, var(--bs-body-color));
    margin: 0;
}

.storefront-order-message-body span {
    color: var(--gm-text-muted, #6c757d);
    display: block;
    font-size: 0.75rem;
    margin-top: 0.2rem;
}

.storefront-order-chat-input {
    gap: 0.4rem;
}

.storefront-order-chat-input .form-control,
.storefront-order-chat-input .btn {
    border-radius: var(--gm-radius-md, 0.75rem) !important;
}

@media (max-width: 991.98px) {
    .storefront-cart-route {
        margin-top: 0.75rem;
    }

    .storefront-context-actions {
        justify-content: flex-start;
        margin-top: 0.85rem;
    }

    .storefront-share,
    .storefront-share--hero,
    .storefront-share--hero-overlay,
    .storefront-share--product,
    .storefront-share--review {
        justify-content: flex-start;
        width: 100%;
    }

    .storefront-share__action {
        height: 2.5rem;
        min-width: 2.5rem;
    }

    .storefront-cart-page {
        padding-bottom: calc(var(--gm-bottom-action-height, 76px) + var(--gm-safe-area-bottom, 0px) + 1rem);
    }

    .storefront-cart-hero {
        align-items: flex-start;
        border-radius: var(--gm-radius-md, 0.75rem);
        padding: 0.85rem;
    }

    .storefront-cart-hero__action {
        display: none;
    }

    .storefront-checkout-section,
    .storefront-checkout-summary {
        border-radius: var(--gm-radius-md, 0.75rem);
        box-shadow: 0 10px 24px rgba(var(--gm-black-rgb, 0, 0, 0), 0.05);
        padding: 0.85rem;
    }

    .storefront-cart-item {
        grid-template-columns: 4.5rem minmax(0, 1fr);
        padding: 0.65rem;
    }

    .storefront-cart-item__title-row {
        flex-direction: column;
        gap: 0.25rem;
    }

    .storefront-cart-item__actions .btn {
        flex: 1 1 auto;
    }

    .storefront-checkout-summary {
        display: none;
    }

    .storefront-checkout-sticky-action {
        align-items: center;
        background: var(--gm-surface, #ffffff);
        border: 1px solid var(--gm-border, #dee2e6);
        border-radius: var(--gm-radius-lg, 1rem) var(--gm-radius-lg, 1rem) 0 0;
        bottom: 0;
        box-shadow: 0 -10px 28px rgba(var(--gm-black-rgb, 0, 0, 0), 0.12);
        display: flex;
        gap: 0.75rem;
        justify-content: space-between;
        left: 0;
        padding: 0.55rem 0.75rem calc(0.55rem + var(--gm-safe-area-bottom, 0px));
        position: fixed;
        right: 0;
        z-index: 1040;
    }

    .storefront-checkout-sticky-action span {
        color: var(--gm-text-muted, #6c757d);
        display: block;
        font-size: 0.76rem;
        font-weight: 800;
    }

    .storefront-checkout-sticky-action strong {
        color: var(--gm-primary, #3d348b);
        display: block;
        font-size: 1.1rem;
        font-weight: 900;
    }

    .storefront-checkout-sticky-action .btn {
        min-height: 48px;
        min-width: 9rem;
    }

    .storefront-content-route,
    .storefront-service-route {
        margin-top: 0.75rem;
    }

    .storefront-content-hero {
        align-items: flex-start;
        border-radius: var(--gm-radius-md, 0.75rem);
        flex-direction: column;
        padding: 0.85rem;
    }

    .storefront-promotion-card,
    .storefront-detail-layout,
    .storefront-service-layout,
    .storefront-review-summary,
    .storefront-order-layout,
    .storefront-footer__map-card,
    .storefront-account-layout {
        grid-template-columns: 1fr;
    }

    .storefront-promotion-card,
    .storefront-blog-card,
    .storefront-staff-card,
    .storefront-review-card,
    .storefront-service-card,
    .storefront-detail-panel,
    .storefront-detail-action-panel,
    .storefront-review-summary,
    .storefront-article-content,
    .storefront-empty-state,
    .storefront-footer__card,
    .storefront-footer__map-card,
    .storefront-account-hero,
    .storefront-account-card,
    .storefront-account-item,
    .storefront-account-stat {
        border-radius: var(--gm-radius-md, 0.75rem);
        box-shadow: 0 10px 24px rgba(var(--gm-black-rgb, 0, 0, 0), 0.05);
    }

    .storefront-promotion-card__media img,
    .storefront-promotion-card__media video,
    .storefront-blog-card__media img,
    .storefront-blog-card__media video,
    .storefront-detail-media img,
    .storefront-detail-media video,
    .storefront-staff-card__media img,
    .storefront-staff-card__media video,
    .storefront-article-media img,
    .storefront-article-media video {
        max-height: 14rem;
    }

    .storefront-detail-action-panel,
    .storefront-service-side,
    .storefront-order-side,
    .storefront-account-nav {
        position: static;
    }

    .storefront-footer__brand,
    .storefront-footer__bottom,
    .storefront-account-hero {
        align-items: flex-start;
        flex-direction: column;
    }

    .storefront-account-nav {
        display: flex;
        gap: 0.4rem;
        margin-left: calc(var(--gm-page-gutter, 1rem) * -1);
        margin-right: calc(var(--gm-page-gutter, 1rem) * -1);
        overflow-x: auto;
        padding: 0.45rem var(--gm-page-gutter, 1rem);
        scrollbar-width: none;
    }

    .storefront-account-nav::-webkit-scrollbar {
        display: none;
    }

    .storefront-account-nav a {
        flex: 0 0 auto;
        white-space: nowrap;
    }

    .storefront-account-item__header,
    .storefront-account-item__actions {
        align-items: flex-start;
        flex-direction: column;
    }

    .storefront-payment-amount {
        justify-items: start;
        width: 100%;
    }

    .storefront-payment-line {
        align-items: flex-start;
        flex-direction: column;
    }

    .storefront-order-totals-card .storefront-payment-line {
        align-items: center;
        flex-direction: row;
    }

    .storefront-action-grid {
        grid-template-columns: 1fr;
    }

    .storefront-table-bill-page .pay_button {
        min-height: 48px;
        width: 100%;
    }

    .storefront-order-status-body {
        align-items: flex-start;
        grid-template-columns: 3.4rem minmax(0, 1fr);
    }

    .storefront-order-status-icon {
        font-size: 1.55rem;
        height: 3.4rem;
        width: 3.4rem;
    }

    .storefront-order-item {
        grid-template-columns: 4.25rem minmax(0, 1fr);
    }

    .storefront-service-card .storefront-section-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .storefront-order-payment-card .storefront-section-heading,
    .storefront-order-totals-card .storefront-section-heading,
    .storefront-order-items-card .storefront-section-heading {
        flex-direction: row;
    }
}

@media (max-width: 420px) {
    .storefront-inline-form {
        grid-template-columns: 1fr;
    }

    .storefront-cart-item {
        grid-template-columns: 4rem minmax(0, 1fr);
    }
}

.gm-fade-in {
    animation: gm-fade-in var(--gm-motion-base, 180ms) var(--gm-motion-ease, ease-out);
}

@keyframes gm-fade-in {
    from {
        opacity: 0;
        transform: translateY(4px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

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

/** Star ratings **/
[data-star] {
    font-family: Arial, sans-serif;
    font-size: 1.15rem;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0.06em;
    white-space: nowrap;
    flex-shrink: 0;
    vertical-align: middle;
    text-align:left;
    font-style:normal;
    display:inline-block;
    position: relative;
    unicode-bidi: bidi-override;
}
[data-star]::before {
    display:block;
    content: '★★★★★';
    color: #c9ced3;
}
[data-star]::after {
    white-space:nowrap;
    position:absolute;
    top:0;
    left:0;
    content: '★★★★★';
    width: 0;
    color: #b96500;
    overflow:hidden;
    height:100%;
}

[data-star^="0.1"]::after,[data-star^=".1"]::after{width:2%}
[data-star^="0.2"]::after,[data-star^=".2"]::after{width:4%}
[data-star^="0.3"]::after,[data-star^=".3"]::after{width:6%}
[data-star^="0.4"]::after,[data-star^=".4"]::after{width:8%}
[data-star^="0.5"]::after,[data-star^=".5"]::after{width:10%}
[data-star^="0.6"]::after,[data-star^=".6"]::after{width:12%}
[data-star^="0.7"]::after,[data-star^=".7"]::after{width:14%}
[data-star^="0.8"]::after,[data-star^=".8"]::after{width:16%}
[data-star^="0.9"]::after,[data-star^=".9"]::after{width:18%}
[data-star^="1"]::after{width:20%}
[data-star^="1.1"]::after{width:22%}
[data-star^="1.2"]::after{width:24%}
[data-star^="1.3"]::after{width:26%}
[data-star^="1.4"]::after{width:28%}
[data-star^="1.5"]::after{width:30%}
[data-star^="1.6"]::after{width:32%}
[data-star^="1.7"]::after{width:34%}
[data-star^="1.8"]::after{width:36%}
[data-star^="1.9"]::after{width:38%}
[data-star^="2"]::after{width:40%}
[data-star^="2.1"]::after{width:42%}
[data-star^="2.2"]::after{width:44%}
[data-star^="2.3"]::after{width:46%}
[data-star^="2.4"]::after{width:48%}
[data-star^="2.5"]::after{width:50%}
[data-star^="2.6"]::after{width:52%}
[data-star^="2.7"]::after{width:54%}
[data-star^="2.8"]::after{width:56%}
[data-star^="2.9"]::after{width:58%}
[data-star^="3"]::after{width:60%}
[data-star^="3.1"]::after{width:62%}
[data-star^="3.2"]::after{width:64%}
[data-star^="3.3"]::after{width:66%}
[data-star^="3.4"]::after{width:68%}
[data-star^="3.5"]::after{width:70%}
[data-star^="3.6"]::after{width:72%}
[data-star^="3.7"]::after{width:74%}
[data-star^="3.8"]::after{width:76%}
[data-star^="3.9"]::after{width:78%}
[data-star^="4"]::after{width:80%}
[data-star^="4.1"]::after{width:82%}
[data-star^="4.2"]::after{width:84%}
[data-star^="4.3"]::after{width:86%}
[data-star^="4.4"]::after{width:88%}
[data-star^="4.5"]::after{width:90%}
[data-star^="4.6"]::after{width:92%}
[data-star^="4.7"]::after{width:94%}
[data-star^="4.8"]::after{width:96%}
[data-star^="4.9"]::after{width:98%}
[data-star^="5"]::after{width:100%}

/** End Star ratings **/

.iti{
    width: 100%;
}

.form-check {
    padding: 10px;
    border: 1px solid #e2e8f0;
    display: flex;
    align-items: center;
}

.form-check input {
    padding: 10px;
    margin-right: 10px !important;
    margin-left: 10px !important;
}
.card-img-top{
    overflow: hidden;
}
.storefront-legal-page {
    max-width: 880px;
}

.storefront-legal-copy {
    line-height: 1.75;
}

.storefront-legal-copy h2 {
    font-size: 1.35rem;
    letter-spacing: 0;
    margin: 2rem 0 0.75rem;
}

.storefront-legal-lead {
    font-size: 1.08rem;
}

.storefront-footer__legal {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem 1rem;
}

.storefront-footer__legal button {
    background: transparent;
    border: 0;
    color: inherit;
    cursor: pointer;
    font: inherit;
    padding: 0;
    text-decoration: underline;
}

.storefront-language-code {
    align-items: center;
    display: inline-flex;
    font-size: 0.72rem;
    font-weight: 800;
    justify-content: center;
    min-width: 24px;
}

.storefront-order-message-avatar i {
    align-items: center;
    display: flex;
    height: 100%;
    justify-content: center;
    width: 100%;
}

.storefront-demo-notice {
    align-items: center;
    background: #fff4d6;
    border-bottom: 1px solid #e7c96b;
    color: #473b18;
    display: flex;
    font-size: 0.86rem;
    font-weight: 600;
    gap: 1rem;
    justify-content: space-between;
    min-height: 2.5rem;
    padding: 0.45rem max(1rem, calc((100vw - 1200px) / 2));
}

.storefront-demo-notice a {
    color: inherit;
    flex: 0 0 auto;
    font-weight: 800;
}

.storefront-gallery-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.storefront-gallery-item {
    background: var(--gm-surface, #fff);
    border: 1px solid var(--gm-border, #dee2e6);
    border-radius: var(--gm-radius-sm, 0.375rem);
    margin: 0;
    overflow: hidden;
}

.storefront-gallery-item img {
    aspect-ratio: 4 / 3;
    display: block;
    object-fit: cover;
    width: 100%;
}

.storefront-gallery-item figcaption {
    display: grid;
    gap: 0.25rem;
    padding: 0.85rem;
}

.storefront-gallery-item figcaption span {
    color: var(--gm-text-muted, #6c757d);
}

@media (max-width: 575px) {
    .storefront-demo-notice {
        align-items: center;
        font-size: 0.74rem;
        gap: 0.65rem;
        line-height: 1.3;
        min-height: 2.25rem;
        padding: 0.35rem 0.65rem;
    }

    .storefront-demo-notice span {
        display: -webkit-box;
        min-width: 0;
        overflow: hidden;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

    .storefront-demo-notice a {
        white-space: nowrap;
    }

    .storefront-gallery-grid {
        grid-template-columns: 1fr;
    }
}

/* Venue-independent menu treatments. */
.storefront-product-grid--ticket_menu_row,
.storefront-product-grid--fine_dining_row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--gm-card-gap, 1rem); margin: 0; }
.storefront-product-grid--ticket_menu_row > .storefront-product-col,
.storefront-product-grid--fine_dining_row > .storefront-product-col { width: auto; margin: 0 !important; padding: 0; min-width: 0; }
.storefront-product-grid--ticket_menu_row .storefront-product-card { border: 2px dashed var(--gm-text); border-radius: 0; box-shadow: 4px 4px 0 var(--gm-primary); background: var(--gm-surface); }
.storefront-product-grid--fine_dining_row .storefront-product-card { border: 0; border-bottom: 1px solid var(--gm-text); border-radius: 0; box-shadow: none; background: var(--gm-surface); padding: 1.5rem .5rem; }
.storefront-product-grid--ticket_menu_row .storefront-product-body,
.storefront-product-grid--fine_dining_row .storefront-product-body { color: var(--gm-text); text-align: left; }
.storefront-product-grid--ticket_menu_row .storefront-product-body .text-light,
.storefront-product-grid--fine_dining_row .storefront-product-body .text-light { color: var(--gm-text) !important; }
.storefront-product-grid--fine_dining_row .storefront-product-name { font-family: var(--gm-font-heading); font-weight: 500; }
@media (max-width: 767.98px) {
 .storefront-product-grid--ticket_menu_row,
 .storefront-product-grid--fine_dining_row { grid-template-columns: minmax(0, 1fr); }
}

.storefront-hero.storefront-hero--text-only { min-height: 0; height: auto; background: var(--gm-primary); }
.storefront-hero--text-only .storefront-hero__overlay { position: relative; background-color: transparent !important; }
.storefront-hero--text-only .storefront-hero__inner { min-height: 0; padding-block: clamp(3rem, 9vw, 7rem); }
.storefront-product-grid--ticket_menu_row .storefront-product-card,
.storefront-product-grid--fine_dining_row .storefront-product-card { display: flex; flex-direction: row; }
.storefront-product-grid--ticket_menu_row .storefront-product-media-link { flex: 0 0 34%; min-width: 0; }
.storefront-product-grid--fine_dining_row .storefront-product-media-link { flex: 0 0 7rem; min-width: 0; }
.storefront-product-grid--ticket_menu_row .storefront-product-media,
.storefront-product-grid--fine_dining_row .storefront-product-media { height: 100%; min-height: 8rem; }
.storefront-product-grid--ticket_menu_row .storefront-product-body,
.storefront-product-grid--fine_dining_row .storefront-product-body { flex: 1; min-width: 0; padding: 1rem; }
@media (max-width: 575.98px) {
 .storefront-product-grid--ticket_menu_row .storefront-product-media-link,
 .storefront-product-grid--fine_dining_row .storefront-product-media-link { flex-basis: 5.5rem; }
 .storefront-product-grid--ticket_menu_row .storefront-product-body,
 .storefront-product-grid--fine_dining_row .storefront-product-body { padding: .75rem; }
}

.storefront-navbar__logo { background: transparent; border-radius: .25rem; padding: .25rem; box-sizing: content-box; }

/* Cross-page hospitality compositions: shared by editorial, offers and gallery. */
.storefront-footer h2, .storefront-footer h3, .storefront-footer .storefront-content-eyebrow { color: inherit; }
.storefront-category-nav { display: flex; gap: .5rem; overflow-x: auto; padding: .75rem 0; scrollbar-width: thin; }
.storefront-category-nav a { flex: 0 0 auto; display: inline-flex; align-items: center; min-height: 44px; padding: .5rem 1rem; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-pill); color: var(--gm-text); text-decoration: none; }
.storefront-category-nav a[aria-current="page"] { border-color: var(--gm-primary); box-shadow: inset 0 -3px var(--gm-primary); font-weight: 700; }
.storefront-category-nav a:focus-visible { outline: 2px solid var(--gm-primary); outline-offset: 2px; }
#category-products { scroll-margin-top: 6rem; }
[data-content-variant="minimal_journal"] .storefront-content-hero { background: none; border: 0; border-bottom: 1px solid var(--gm-border); border-radius: 0; padding: 1.5rem 0; }
[data-content-variant="minimal_journal"] :is(.storefront-blog-card, .storefront-promotion-card, .storefront-gallery-item) { border: 0; border-bottom: 1px solid var(--gm-border); border-radius: 0; box-shadow: none; }
[data-content-variant="minimal_journal"] .storefront-content-route { max-width: 62rem; }
[data-content-variant="bold_panels"] .storefront-content-hero { background: var(--gm-text); color: var(--gm-page-bg); border: 0; border-radius: 0; padding: clamp(1.5rem, 4vw, 3rem); }
[data-content-variant="bold_panels"] .storefront-content-hero :is(h1, p, .storefront-content-eyebrow) { color: inherit; }
[data-content-variant="bold_panels"] :is(.storefront-blog-card, .storefront-promotion-card, .storefront-gallery-item) { border: 2px solid var(--gm-text); border-radius: 0; box-shadow: 5px 5px 0 var(--gm-primary); }
[data-content-variant="bold_panels"] .storefront-gallery-grid { gap: 1.5rem; }
@media (min-width: 768px) {
    [data-content-variant="split_stories"] .storefront-blog-grid { grid-template-columns: 1fr; }
    [data-content-variant="split_stories"] .storefront-blog-card { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: stretch; }
    [data-content-variant="split_stories"] .storefront-blog-card__media { height: 100%; }
    [data-content-variant="split_stories"] .storefront-blog-card__media img { height: 100%; min-height: 18rem; object-fit: cover; }
    [data-content-variant="split_stories"] .storefront-blog-card__body { display: flex; flex-direction: column; justify-content: center; padding: 2rem; }
    [data-content-variant="split_stories"] .storefront-gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

[data-content-variant="split_stories"] .storefront-blog-card--text-only { grid-template-columns: 1fr; }
[data-content-variant="split_stories"] .storefront-blog-card__body > .btn { align-self: flex-start; }
.storefront-article-content { overflow-wrap: anywhere; }
.storefront-article-content > p { white-space: pre-line; }

@media (min-width: 992px) {
    .storefront-detail-layout--concise { grid-template-columns: minmax(0, 2fr) minmax(16rem, 1fr); }
    .storefront-detail-layout--text-only { grid-template-columns: minmax(0, 2fr) minmax(16rem, 1fr); }
    .storefront-detail-layout--text-only.storefront-detail-layout--concise { grid-template-columns: minmax(0, 26rem); }
}

.storefront-search-filters { border: 1px solid var(--gm-border); border-radius: var(--gm-radius-md); margin-bottom: 1rem; }
.storefront-search-filters summary { padding: .75rem; min-height: 44px; cursor: pointer; font-weight: 700; }

/* Page layouts control composition; component variants still control card styling. */
[data-page-layout="quick_order"] .storefront-product-grid { display: grid; grid-template-columns: minmax(0, 1fr); max-width: 60rem; margin-inline: auto; }
[data-page-layout="quick_order"] .storefront-product-grid > .col { width: 100%; }
[data-page-layout="quick_order"] .storefront-content-route { max-width: 60rem; }
[data-page-layout="quick_order"] .storefront-content-hero { padding-block: .75rem; }
[data-page-layout="content_rich"] .storefront-content-route { max-width: 64rem; }
[data-page-layout="content_rich"][data-storefront-page="category"] .storefront-shell { max-width: 64rem; }
[data-page-layout="content_rich"][data-storefront-page="product"] .storefront-product-detail > .row { max-width: 52rem; margin-inline: auto; }
[data-page-layout="content_rich"][data-storefront-page="product"] .storefront-product-detail > .row > div { width: 100%; }
[data-page-layout="delivery_first"] .storefront-home { max-width: 72rem; margin-inline: auto; }
[data-page-layout="delivery_first"] .storefront-hero { min-height: 22rem; }
[data-page-layout="delivery_first"] .storefront-service-selector { border-bottom: 3px solid var(--gm-primary); }
[data-page-layout="reservation_first"] .storefront-home { max-width: 62rem; margin-inline: auto; }
[data-page-layout="reservation_first"] .storefront-hero__content { max-width: 46rem; margin-inline: auto; text-align: center; }
[data-page-layout="reservation_first"] .storefront-hero__cta-group { justify-content: center; }
[data-page-layout="table_service"][data-storefront-page="category"] .storefront-product-grid { display: grid; grid-template-columns: minmax(0, 1fr); max-width: 76rem; margin-inline: auto; }
[data-page-layout="table_service"][data-storefront-page="category"] .storefront-product-grid > .col { width: 100%; }
[data-page-layout="table_service"] .storefront-cart-page { max-width: 62rem; margin-inline: auto; }
[data-page-layout="table_service"] .storefront-cart-layout > div { width: 100%; }
[data-page-layout="stepper_checkout"] .storefront-checkout-flow { border-inline-start: 2px solid var(--gm-border); padding-inline-start: 1rem; }
[data-page-layout="visual_catalogue"] .storefront-shell { max-width: 90rem; }
@media (min-width: 768px) {
    [data-page-layout="visual_catalogue"] .storefront-product-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    [data-page-layout="visual_catalogue"] .storefront-product-grid > .col { width: 100%; }
    [data-page-layout="visual_catalogue"] .storefront-blog-grid,
    [data-page-layout="visual_catalogue"] .storefront-content-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    [data-page-layout="visual_catalogue"] .storefront-blog-card { display: flex; flex-direction: column; }
    [data-page-layout="visual_catalogue"] .storefront-promotion-card { grid-template-columns: 1fr; }
    [data-page-layout="visual_catalogue"] .storefront-gallery-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    [data-page-layout="quick_order"] .storefront-product-card { display: flex; flex-direction: row; }
    [data-page-layout="quick_order"] .storefront-product-media-link { flex: 0 0 8rem; max-width: 30%; }
    [data-page-layout="quick_order"] .storefront-product-body { flex: 1; min-width: 0; }
    [data-page-layout="table_service"][data-storefront-page="category"] .storefront-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 992px) {
    [data-page-layout="guided_detail"] .storefront-product-detail > .row > div:last-child { position: sticky; top: 6rem; }
    [data-page-layout="visual_catalogue"][data-storefront-page="product"] .storefront-product-detail > .row > div:first-child { width: 66.6667%; }
    [data-page-layout="visual_catalogue"][data-storefront-page="product"] .storefront-product-detail > .row > div:last-child { width: 33.3333%; }
    [data-page-layout="visual_catalogue"] .storefront-product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* Shared branding and owner-controlled navigation. */
[data-brand-fallback][hidden] { display: none !important; }
.storefront-navbar__logo { max-width: 11rem; max-height: 3rem; width: auto; object-fit: contain; }
.storefront-navbar__brand-name { overflow-wrap: anywhere; white-space: normal; }
[data-nav-sticky="false"].storefront-header { position: relative; top: auto; }
[data-nav-style="pills"] .nav-link { border-radius: 999px; padding-inline: 1rem !important; margin: .15rem; background: rgb(255 255 255 / .12); }
[data-nav-style="underline"] .nav-link { border-bottom: 2px solid transparent; }
[data-nav-style="underline"] .nav-link:is(:hover, [aria-current="page"]) { border-bottom-color: currentColor; }
.storefront-navbar [aria-current="page"] { font-weight: 800; text-decoration: underline; text-underline-offset: .3em; }
.storefront-navbar a:focus-visible, .storefront-navbar button:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.storefront-navbar .dropdown-menu { max-height: 65vh; overflow-y: auto; }
@media(min-width:992px) {
 .storefront-navbar .navbar-nav { flex-wrap: wrap; align-items: center; width: 100%; }
 [data-nav-align="center"] .navbar-nav { justify-content: center; }
 [data-nav-align="end"] .navbar-nav { justify-content: flex-end; }
}
@media(max-width:991.98px) {
 .storefront-navbar__menu .nav-link { min-height: 44px; display: flex; align-items: center; }
 [data-nav-mobile="panel"] .storefront-navbar__menu { position: fixed; top: var(--gm-nav-panel-top, 64px); bottom: 0; left: 0; width: min(88vw, 24rem); padding: 1rem; background: var(--gm-nav-bg, var(--gm-primary)); overflow-y: auto; box-shadow: 12px 0 40px rgb(0 0 0 / .2); z-index: 1050; }
 [data-nav-mobile="panel"] .storefront-navbar__menu.collapsing { transition: none; height: auto !important; }
}

.storefront-hero { position: relative; overflow: hidden; }
.storefront-primary-video { position: relative; width: 100%; }
.storefront-primary-video video { display: block; width: 100%; max-height: 75vh; object-fit: cover; }
.storefront-primary-video--background { position: absolute; inset: 0; height: 100%; }
.storefront-primary-video--background video { height: 100%; max-height: none; object-fit: cover; }
.storefront-hero__overlay { position: relative; z-index: 1; }
.storefront-video-toggle { position: absolute; right: 1rem; bottom: 1rem; z-index: 3; min-height: 44px; padding: .6rem 1rem; border: 1px solid white; border-radius: 999px; background: #111d; color: white; font: inherit; cursor: pointer; }
.storefront-primary-video--background { pointer-events: none; }
.storefront-primary-video--background .storefront-video-toggle { pointer-events: auto; }
.storefront-primary-video--background { z-index: 0; }
.storefront-hero:has([data-primary-video]) .storefront-hero__overlay { pointer-events: none; }
.storefront-hero:has([data-primary-video]) .storefront-hero__overlay a { pointer-events: auto; }

.storefront-primary-video video { object-position: var(--gm-media-position, center); }

.storefront-nav-close { display: none; }
@media(max-width:991.98px) { [data-nav-mobile="panel"] .storefront-nav-close { display: block; margin-left: auto; min-height: 44px; } }

.storefront-category-nav--scroll_tabs { border-bottom: 1px solid var(--gm-border); gap: 0; }
.storefront-category-nav--scroll_tabs a { border: 0; border-radius: 0; }
.storefront-category-nav--compact_links { flex-wrap: wrap; gap: .25rem; }
.storefront-category-nav--compact_links a { border: 0; border-radius: .25rem; padding: .5rem .75rem; }

.storefront-primary-video--background { z-index: auto; }

.storefront-category-index__item--text-only { grid-template-columns: 2rem minmax(0, 1fr) auto; }

/* Read-only menus have no fixed order action to reserve space for. */
@media (max-width: 991.98px) {
    .storefront-add-panel--readonly { padding-bottom: .9rem; }
    .storefront-add-panel--readonly .storefront-add-panel__price { display: flex; }
}

.storefront-product-price-block strong, .storefront-add-panel__price, .storefront-add-panel__summary strong { color: var(--gm-text); }

@media(max-width:767.98px) {
    .storefront-product-detail:has(.storefront-add-panel--readonly) { padding-bottom: 0; }
}

/* Keep wide wordmark logos subordinate to the headline on smaller viewports. */
.storefront-hero__logo { max-width: min(100%, 22rem); max-height: 7rem; }
.storefront-hero.text-center .storefront-hero__content { margin-inline: auto; }
.storefront-hero.text-center .storefront-hero__logo { margin-inline: auto; }
.storefront-hero.text-center .storefront-hero__title,
.storefront-hero.text-center .storefront-hero__subtitle { margin-inline: auto; }

@media (max-width: 767.98px) {
    .storefront-hero__logo { max-width: 75%; max-height: 6.5rem; }
}

/* Product review cards remain readable without a clipped carousel. */
.storefront-product-reviews {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr));
    gap: 1rem;
}
.storefront-product-reviews > div { min-width: 0; }
.storefront-product-reviews .card { background: var(--gm-surface-raised, #fff); color: var(--gm-text, #202b32); border-color: var(--gm-border, #dce2e5); }
.storefront-product-reviews .card-header > div { flex-wrap: wrap; gap: .75rem; }
.storefront-product-reviews__title { font-size: 1.5rem; margin: 1.5rem 0 1rem; }
.storefront-product-reviews__title small { font-family: var(--gm-font-body, sans-serif); font-size: 1rem; }
.storefront-product-review__quote { padding: 1rem; margin: 0; line-height: 1.6; overflow-wrap: anywhere; }
.storefront-product-overview__title h1, .storefront-product-detail__summary { overflow-wrap: anywhere; }

@media (min-width: 992px) {
    .storefront-product-detail--catalogue .storefront-product-detail__content {
        display: grid;
        grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
        align-items: start;
        gap: 1.5rem;
    }
    .storefront-product-detail--catalogue .storefront-product-overview { margin-top: 0; }
    .storefront-product-detail--catalogue .storefront-product-detail__media img {
        height: auto !important;
        aspect-ratio: 4 / 3;
    }
}

@media (max-width: 767.98px) {
    body:has(.storefront-add-panel__action) {
        padding-bottom: calc(var(--gm-bottom-action-height, 76px) + var(--gm-safe-area-bottom, 0px));
    }
}

/* Expanded navigation and live search must remain usable with imported, long menus. */
.storefront-navbar .storefront-category-menu { width: 32rem; padding: .5rem; border: 1px solid #dce2e5; border-radius: .8rem; box-shadow: 0 12px 32px #0002; background: #fff; color: #202b32; }
.storefront-navbar .storefront-category-menu.show { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .25rem; }
.storefront-navbar .storefront-category-menu .dropdown-item { display: flex; align-items: center; min-height: 44px; padding: .65rem .8rem; white-space: normal; overflow-wrap: anywhere; font: 500 .95rem/1.35 var(--bs-font-sans-serif); color: #202b32; border-radius: .45rem; }
.storefront-navbar .storefront-category-menu .dropdown-item:hover,
.storefront-navbar .storefront-category-menu .dropdown-item:focus-visible { background: #eef2f3; color: #152028; }
.header-search { position: relative; width: 100%; }
.header-search-input { position: relative; }
.header-search-input input { padding-right: 2.75rem; }
.header-search-clear { position: absolute; inset: 0 0 0 auto; width: 44px; border: 0; background: transparent; color: #24313a; font: 1.5rem/1 sans-serif; }
.header-search-results { position: absolute; top: calc(100% + .5rem); right: 0; width: min(24rem, calc(100vw - 1.5rem)); max-height: min(65vh, 32rem); overflow-y: auto; background: #fff; color: #202b32; border: 1px solid #dce2e5; border-radius: .75rem; box-shadow: 0 12px 32px #0002; z-index: 1060; text-align: left; font: 400 .95rem/1.4 var(--bs-font-sans-serif); }
.header-search-group { padding: .7rem .9rem .3rem; font-size: .75rem; font-weight: 700; color: #52626c; }
.header-search-list { list-style: none; padding: 0; margin: 0; }
.header-search-result { display: flex; align-items: center; justify-content: space-between; gap: .8rem; min-height: 48px; padding: .65rem .9rem; color: #202b32; text-decoration: none; }
.header-search-result:hover, .header-search-result:focus-visible, .header-search-all:hover { background: #eef2f3; color: #152028; }
.header-search-result-copy { min-width: 0; overflow-wrap: anywhere; }
.header-search-result-copy strong, .header-search-result-copy small { display: block; }
.header-search-result-copy small { color: #52626c; font-size: .8rem; }
.header-search-price { flex-shrink: 0; white-space: nowrap; }
.header-search-empty { padding: 1rem; margin: 0; }
.header-search-all { display: block; padding: .8rem; text-align: center; color: #202b32; border-top: 1px solid #e6eaec; font-weight: 700; }
@media (min-width: 992px) { .storefront-navbar__menu-toggle { display: none; } }
@media (max-width: 991.98px) {
    .storefront-navbar .storefront-navbar__inner { column-gap: .5rem; }
    .storefront-navbar .storefront-navbar__search { flex: 1 0 100%; width: 100%; max-width: none; min-width: 0; }
    .storefront-navbar .storefront-mobile-brand { justify-content: center; margin: 0; padding: 0; }
    .storefront-navbar .storefront-mobile-brand .storefront-navbar__logo { max-width: 100%; height: 40px; padding: 0; box-sizing: border-box; }
    .storefront-navbar .navbar-toggler { width: 44px; height: 44px; padding: .4rem; color: inherit; }
    .storefront-navbar .storefront-category-menu { width: 100%; margin: .35rem 0 .65rem; max-height: 42vh; }
    .storefront-navbar .storefront-category-menu .dropdown-item { font-size: .9rem; }
    .header-search-results { width: 100%; }
}
@media (max-width: 359.98px) { .storefront-navbar .storefront-category-menu.show { grid-template-columns: 1fr; } }

/* Keep reviews content-sized even when neighbours contain long item breakdowns. */
.storefront-review-grid { align-items: start; }
.storefront-review-card { align-content: start; min-width: 0; }
.storefront-review-card__header { flex-wrap: wrap; align-items: center; }
.storefront-review-card__header > div { min-width: 0; overflow-wrap: anywhere; }
.storefront-review-card__body { display: grid; gap: .85rem; align-content: start; }
.storefront-review-details > summary { padding: .6rem 0; min-height: 44px; cursor: pointer; font-weight: 650; }
.storefront-review-details[open] > summary { margin-bottom: .5rem; }
.storefront-review-details .storefront-review-section { align-content: start; }
.storefront-review-section__heading { flex-wrap: wrap; gap: .5rem; }
.storefront-review-subitem .btn { white-space: normal; overflow-wrap: anywhere; text-align: left; }
.storefront-review-summary--service_ledger { padding: 1.25rem; grid-template-columns: minmax(9rem, .65fr) minmax(0, 2fr); }
.storefront-review-summary--service_ledger .storefront-review-summary__parts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.storefront-review-summary--service_ledger .storefront-review-summary__quote { grid-column: 1 / -1; margin: 0; }
.storefront-staff-grid { align-items: start; }
.storefront-staff-card { min-width: 0; }
.storefront-staff-card__body { overflow-wrap: anywhere; }
.storefront-staff-card__body p { white-space: pre-line; }
.storefront-staff-avatar { display: grid; place-items: center; width: 4rem; height: 4rem; margin: 1rem 1rem 0; border-radius: 50%; background: var(--gm-primary); color: var(--gm-primary-contrast, #fff); font: 600 1.6rem/1 var(--gm-font-heading, serif); }
@media (max-width: 575.98px) {
    .storefront-review-summary--service_ledger { grid-template-columns: minmax(0, 1fr); }
    .storefront-review-summary--service_ledger .storefront-review-summary__parts { border-left: 0; padding-left: 0; }
    .storefront-review-summary--service_ledger .storefront-review-summary__score { justify-items: center; text-align: center; }
    .storefront-review-summary__parts > div { padding: .55rem .4rem; }
}
@media (max-width: 575.98px) {
    .storefront-review-metric { flex-direction: column; align-items: flex-start; }
}
.storefront-about-page > .row { row-gap: 1.5rem; }
/* Team portraits are compact profile images, not full-width catalogue media. */
.storefront-staff-card__media,
.storefront-staff-avatar { width: 6rem; height: 6rem; margin: 1rem 1rem 0; border-radius: 50%; }
.storefront-staff-card__media img,
.storefront-staff-card__media video { width: 100% !important; height: 6rem !important; aspect-ratio: 1; object-fit: cover; }
.storefront-staff-card__media .carousel,
.storefront-staff-card__media .carousel-inner,
.storefront-staff-card__media .carousel-item { border-radius: 50%; }

.storefront-staff-feedback { margin-top: 1rem; display: grid; gap: .75rem; }
.storefront-staff-feedback h4 { font-size: 1rem; margin: 0; }
.storefront-staff-feedback__item { display: grid; gap: .6rem; border-top: 1px solid var(--gm-border, #ddd); padding-top: .8rem; min-width: 0; }
.storefront-staff-feedback__item .storefront-review-section__heading { font-size: .8rem; }
.storefront-review-details .carousel { margin-top: .75rem; overflow: hidden; border-radius: .5rem; }
.storefront-review-details .carousel img { height: auto !important; aspect-ratio: 4 / 3; object-fit: contain !important; background: rgba(0,0,0,.06); }
.storefront-review-details .carousel-control-prev-icon,
.storefront-review-details .carousel-control-next-icon { background-color: #24313a; border-radius: 50%; background-size: 65%; }
.storefront-add-sheet__total strong,
.storefront-add-panel__summary strong { display: inline-flex; align-items: baseline; white-space: nowrap; }
.storefront-add-sheet__total .price-currency,
.storefront-add-panel .price-currency { font: inherit; }

/* Basket content must stay readable with long names and missing photography. */
.storefront-cart-item.storefront-cart-item--no-image { grid-template-columns: minmax(0, 1fr); }
.storefront-cart-item__options { display: grid; gap: .35rem; }
.storefront-cart-item__options span { border: 0; border-radius: 0; background: transparent; padding: 0; font-size: .875rem; line-height: 1.45; }
.storefront-cart-item__actions .btn { min-height: 44px; }
.storefront-cart-editor { border-top: 1px solid var(--gm-border, #dee2e6); padding-top: 1rem; min-width: 0; }
.storefront-cart-editor .storefront-option-notes { margin-top: 1rem; }
@media (max-width: 767.98px) {
    .storefront-cart-item__body { grid-column: 1 / -1; }
    .storefront-cart-item__media { width: 64px; }
    .storefront-cart-item__title-row { flex-direction: row; }
    .storefront-checkout-summary { display: block; }
    .storefront-checkout-summary > button { display: none; }
}
.storefront-service-selected__details { display: grid; gap: .3rem; }
.storefront-service-selected__details > span { border-radius: .4rem; text-align: left; font-weight: 500; line-height: 1.4; white-space: normal; }
@media (max-width: 767.98px) {
    .storefront-service-selected__details { overflow: visible; }
    .storefront-service-selected__details > span { padding: .3rem .4rem; }
}
/* Service dialogs must remain above the fixed checkout action. */
body.modal-open .storefront-checkout-sticky-action { display: none; }
body.modal-open .storefront-service-selector { z-index: auto; }

/* Keep background-video controls clear of bottom-aligned hero copy. */
.storefront-hero:has(.storefront-primary-video--background) .storefront-hero__inner {
    padding-bottom: max(5rem, calc(44px + 2rem));
}

/* Give detailed hospitality emblems room without enlarging compact headers. */
.storefront-header--hospitality .storefront-navbar__logo {
    height: 72px; max-height: 72px; max-width: 11rem; padding: 0;
}
.storefront-hero--bold_poster.text-left .storefront-hero__content { margin-right: auto; }
.storefront-hero--bold_poster.text-left .storefront-hero__title { max-width: 14ch; }
@media (max-width: 991.98px) {
    .storefront-header--hospitality .storefront-navbar .storefront-mobile-brand .storefront-navbar__logo {
        height: 64px; max-height: 64px;
    }
}

/* Text-only category introductions should leave room for the actual menu. */
[data-storefront-page="category"] .storefront-hero--text-only .storefront-hero__inner {
    padding-block: clamp(1.5rem, 3vw, 2.5rem);
}
[data-storefront-page="category"] .storefront-hero--text-only .storefront-hero__title {
    font-size: clamp(2rem, 4vw, 3.5rem);
}

/* Table QR scanner: venue colours, explicit camera consent and touch targets. */
.storefront-qr__view { min-height: 160px; background: var(--gm-surface-raised, #f3f5f4); border: 1px solid var(--gm-border, #dce2e5); border-radius: 16px; overflow: hidden; text-align: center; display: grid; place-items: center; }
.storefront-qr__view [data-qr-placeholder] { padding: 24px; color: var(--gm-text, #202b32); }
.storefront-qr__view video { width: 100%; max-height: 45dvh; object-fit: cover; }
.storefront-qr [hidden] { display: none !important; }
.storefront-qr [data-qr-status] { margin: 16px 0; overflow-wrap: anywhere; }
.storefront-qr__actions { display: flex; flex-direction: column; align-items: center; gap: 4px; width: 100%; }
.storefront-qr__actions .btn { min-height: 48px; min-width: min(200px, 100%); max-width: 100%; white-space: normal; display: inline-flex; align-items: center; justify-content: center; gap: 8px; }
.storefront-qr__photo { position: relative; cursor: pointer; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; padding: 8px 12px; margin: 0; text-decoration: underline; text-underline-offset: 3px; font-size: .875rem; border-radius: 6px; }
.storefront-qr__photo input { position: absolute; inset: 0; opacity: 0; width: 100%; cursor: pointer; }
.storefront-qr__photo:focus-within, .storefront-qr button:focus-visible { outline: 3px solid currentColor; outline-offset: 3px; }
.storefront-qr__hint { font-size: .875rem; margin: 16px 0 0; }

/* Delivery: explicit location choices and a pin that stays at the map centre. */
.storefront-delivery [hidden] { display: none !important; }
.storefront-delivery__choices { display: grid; gap: .65rem; }
.storefront-delivery__alternatives { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; }
.storefront-delivery__choices .btn { white-space: normal; display: flex; justify-content: center; align-items: center; gap: .5rem; min-height: 48px; }
.storefront-delivery__privacy { font-size: .8rem; line-height: 1.5; margin: .75rem 0; color: var(--gm-text-muted, #59646b); }
.storefront-delivery [data-delivery-status] { margin: .85rem 0; overflow-wrap: anywhere; }
.storefront-delivery [data-delivery-status][data-error="true"] { border-left: 3px solid currentColor; padding-left: .75rem; font-weight: 600; }
.storefront-delivery__map-wrap { position: relative; }
.storefront-delivery__map-wrap .storefront-service-modal__map { height: clamp(240px, 36dvh, 340px); min-height: 240px; }
.storefront-delivery__pin { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -100%); pointer-events: none; color: #b42318; font-size: 32px; filter: drop-shadow(0 1px 2px white); line-height: 1; }
.storefront-delivery .form-control { min-height: 44px; font-size: 16px; }
.storefront-delivery button:focus-visible { outline: 3px solid currentColor; outline-offset: 3px; }
@media (max-width: 359.98px) {
    .storefront-delivery__alternatives { grid-template-columns: 1fr; }
    .storefront-delivery .storefront-service-modal__form-grid { grid-template-columns: 1fr; }
}

.storefront-delivery__change { background: transparent; border: 0; color: inherit; text-decoration: underline; text-underline-offset: 3px; min-height: 44px; padding: .5rem 0; }

/* Search results need compact actions even in a single-column menu theme. */
.storefront-search > .row:first-child { row-gap: .75rem; }
.storefront-search .storefront-product-meta .storefront-product-add { flex: 0 1 auto; width: auto; min-width: 88px; max-width: 65%; }
.storefront-search .storefront-product-body .card-text { margin-bottom: 0; min-height: 0; }
.storefront-search .storefront-product-body .card-title { font-size: 1.3rem; line-height: 1.3; margin-bottom: 0; overflow-wrap: anywhere; }

/* Structural compositions: independent image and copy regions, shared content controls. */
.storefront-hero:is(.storefront-hero--editorial_split, .storefront-hero--framed_poster, .storefront-hero--panoramic_caption, .storefront-hero--night_poster, .storefront-hero--taverna_postcard, .storefront-hero--festival_billboard, .storefront-hero--breakfast_counter) {
    background: var(--gm-page-bg, #faf7f0);
    color: var(--gm-text);
    min-height: 0;
    gap: clamp(1.5rem, 4vw, 5rem);
    padding: clamp(1.25rem, 4vw, 4rem);
}
.storefront-hero__media { position: relative; min-width: 0; min-height: 22rem; overflow: hidden; }
.storefront-hero__media > img { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; object-position: var(--gm-media-position, center); }
.storefront-hero__media .storefront-primary-video { isolation: isolate; }
.storefront-hero:is(.storefront-hero--editorial_split, .storefront-hero--framed_poster, .storefront-hero--panoramic_caption, .storefront-hero--night_poster, .storefront-hero--taverna_postcard, .storefront-hero--festival_billboard, .storefront-hero--breakfast_counter) .storefront-hero__inner {
    min-height: 0; padding: 0; align-items: center !important;
}
.storefront-hero:is(.storefront-hero--editorial_split, .storefront-hero--framed_poster, .storefront-hero--panoramic_caption, .storefront-hero--night_poster, .storefront-hero--taverna_postcard, .storefront-hero--festival_billboard, .storefront-hero--breakfast_counter) .storefront-hero__content { width: 100%; max-width: none; }
.storefront-hero:is(.storefront-hero--editorial_split, .storefront-hero--framed_poster, .storefront-hero--panoramic_caption, .storefront-hero--night_poster, .storefront-hero--taverna_postcard, .storefront-hero--festival_billboard, .storefront-hero--breakfast_counter) .storefront-hero__title {
    font-size: clamp(2.4rem, 5.4vw, 5.8rem); line-height: 1.04; text-wrap: balance;
}
.storefront-hero:is(.storefront-hero--editorial_split, .storefront-hero--framed_poster, .storefront-hero--panoramic_caption, .storefront-hero--night_poster, .storefront-hero--taverna_postcard, .storefront-hero--festival_billboard, .storefront-hero--breakfast_counter) .storefront-hero__secondary-action {
    color: inherit; border-color: currentColor; background: transparent;
}
.storefront-hero:is(.storefront-hero--editorial_split, .storefront-hero--framed_poster, .storefront-hero--panoramic_caption, .storefront-hero--night_poster, .storefront-hero--taverna_postcard, .storefront-hero--festival_billboard, .storefront-hero--breakfast_counter) .storefront-hero__secondary-action:hover { background: var(--gm-text); color: var(--gm-page-bg); }
.storefront-hero--editorial_split { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.storefront-hero--editorial_split .storefront-hero__media { grid-column: 2; grid-row: 1; min-height: clamp(26rem, 44vw, 40rem); border-radius: 48% 48% 1rem 1rem; }
.storefront-hero--editorial_split .storefront-hero__overlay { grid-column: 1; grid-row: 1; padding-block: 2rem; }
.storefront-hero--editorial_split .storefront-hero__eyebrow { border-top: 1px solid currentColor; padding-top: 1rem; }
.storefront-hero--framed_poster { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); align-items: center; }
.storefront-hero--framed_poster .storefront-hero__media { min-height: clamp(25rem, 45vw, 42rem); border: .7rem solid var(--gm-surface, #fff); transform: rotate(-2deg); box-shadow: 0 16px 40px #0002; margin: 1rem; }
.storefront-hero--framed_poster .storefront-hero__title { font-size: clamp(3rem, 7.2vw, 8rem) !important; text-transform: uppercase; letter-spacing: -.045em; }
.storefront-hero--framed_poster .storefront-hero__eyebrow { display: inline-block; border: 1px solid currentColor; border-radius: 100%; padding: .8rem 1.5rem; }
.storefront-hero--framed_poster .storefront-hero__meta { border: 0; border-top: 1px solid currentColor; padding: 1rem 0 0; }
.storefront-hero--panoramic_caption { grid-template-columns: minmax(0, 1fr); }
.storefront-hero--panoramic_caption .storefront-hero__media { min-height: clamp(20rem, 34vw, 34rem); }
.storefront-hero--panoramic_caption .storefront-hero__content { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 1rem 4rem; text-align: left; }
.storefront-hero--panoramic_caption .storefront-hero__eyebrow { grid-column: 1; margin: 0; }
.storefront-hero--panoramic_caption .storefront-hero__title { grid-column: 1; grid-row: 2 / span 3; }
.storefront-hero--panoramic_caption .storefront-hero__subtitle { grid-column: 2; grid-row: 2; margin: 0; }
.storefront-hero--panoramic_caption .storefront-hero__cta-group,
.storefront-hero--panoramic_caption .storefront-hero__meta,
.storefront-hero--panoramic_caption .storefront-hero__actions { grid-column: 2; margin-top: 0; }
.storefront-hero--panoramic_caption .storefront-hero__logo { grid-column: 1 / -1; }
.storefront-hero--text-only:is(.storefront-hero--editorial_split, .storefront-hero--framed_poster) { grid-template-columns: minmax(0, 1fr); }
.storefront-hero--text-only:is(.storefront-hero--editorial_split, .storefront-hero--framed_poster) .storefront-hero__overlay { grid-column: 1; }
/* Centered identity with a separate navigation line; single visible brand at all sizes. */
.storefront-header--centered_masthead .storefront-navbar { box-shadow: none; border-block: 1px solid rgb(127 127 127 / .2); }
.storefront-masthead-brand { justify-content: center; margin: 0; min-width: 0; }
.storefront-header--floating_island .storefront-navbar { margin: 1rem auto; width: calc(100% - 2rem); max-width: 90rem; border-radius: 2rem; padding: .75rem 1rem; border: 1px solid rgb(127 127 127 / .25); box-shadow: 0 10px 30px #0001; }
[data-nav-style="outlined"] .nav-link { border: 1px solid currentColor; border-radius: .25rem; margin: .2rem; padding-inline: 1rem !important; }
@media (min-width: 992px) {
    .storefront-header--centered_masthead .storefront-navbar__inner { display: grid; grid-template-columns: minmax(0, 1fr) auto auto minmax(0, 1fr); gap: .5rem 1rem; max-width: 90rem; padding-block: 1rem .25rem; }
    .storefront-masthead-brand { grid-column: 2 / 4; grid-row: 1; max-width: 24rem; }
    .storefront-masthead-brand .storefront-navbar__logo { height: 64px; max-height: 64px; max-width: 20rem; }
    .storefront-header--centered_masthead .storefront-navbar__menu { grid-column: 1 / -1; grid-row: 2; width: 100%; padding-top: .75rem; border-top: 1px solid rgb(127 127 127 / .2); }
    .storefront-header--centered_masthead .navbar-nav { justify-content: center; gap: .5rem 1.5rem; margin: 0 !important; }
    .storefront-header--centered_masthead .storefront-navbar__search { grid-column: 1; grid-row: 1; min-width: 0; max-width: 18rem; }
    .storefront-header--centered_masthead :is(.storefront-navbar__language, .storefront-navbar__account) { grid-column: 4; grid-row: 1; justify-self: end; margin-right: 7rem; }
    .storefront-header--centered_masthead .storefront-navbar__cart { grid-column: 4; grid-row: 1; justify-self: end; }
}
@media (max-width: 767.98px) {
    .storefront-hero:is(.storefront-hero--editorial_split, .storefront-hero--framed_poster) { grid-template-columns: minmax(0, 1fr); }
    .storefront-hero--editorial_split .storefront-hero__overlay { grid-column: 1; grid-row: 1; padding: 0; }
    .storefront-hero--editorial_split .storefront-hero__media { grid-column: 1; grid-row: 2; min-height: 23rem; border-radius: 45% 45% .5rem .5rem; }
    .storefront-hero--framed_poster .storefront-hero__media { min-height: 20rem; margin: .5rem; }
    .storefront-hero--framed_poster .storefront-hero__title { font-size: clamp(3rem, 13vw, 5rem) !important; }
    .storefront-hero--panoramic_caption .storefront-hero__media { min-height: 18rem; }
    .storefront-hero--panoramic_caption .storefront-hero__content { display: block; }
    .storefront-hero--panoramic_caption .storefront-hero__subtitle,
    .storefront-hero--panoramic_caption .storefront-hero__cta-group,
    .storefront-hero--panoramic_caption .storefront-hero__meta { margin-top: 1.25rem; }
}
@media (max-width: 991.98px) {
    .storefront-masthead-brand { grid-column: 2; grid-row: 1; order: 1; flex: 1 1 0; width: auto; max-width: calc(100% - 11rem); }
    .storefront-masthead-brand .storefront-navbar__logo { width: auto; max-width: 100%; height: 40px; }
    .storefront-header--floating_island .storefront-navbar { width: calc(100% - 1rem); margin: .5rem auto; border-radius: 1rem; padding: .5rem; }
}
.storefront-hero--panoramic_caption .storefront-hero__cta-group { grid-row: 3; }
.storefront-hero--panoramic_caption .storefront-hero__meta { grid-row: 4; }
.storefront-hero--panoramic_caption .storefront-hero__actions { grid-row: 5; }
.storefront-hero--panoramic_caption .storefront-hero__logo { grid-row: 1; }
.storefront-hero--panoramic_caption .storefront-hero__content:has(.storefront-hero__logo) .storefront-hero__eyebrow { grid-row: 2; }
.storefront-hero--panoramic_caption .storefront-hero__content:has(.storefront-hero__logo) .storefront-hero__title { grid-row: 3 / span 3; }
.storefront-hero--panoramic_caption .storefront-hero__content:has(.storefront-hero__logo) .storefront-hero__subtitle { grid-row: 3; }
.storefront-hero--panoramic_caption .storefront-hero__content:has(.storefront-hero__logo) .storefront-hero__cta-group { grid-row: 4; }
.storefront-hero--panoramic_caption .storefront-hero__content:has(.storefront-hero__logo) .storefront-hero__meta { grid-row: 5; }
.storefront-hero--panoramic_caption .storefront-hero__content:has(.storefront-hero__logo) .storefront-hero__actions { grid-row: 6; }

/* Hospitality directions: independent brand and navigation regions. */
.storefront-header--neon_sign .storefront-navbar { border-bottom: 2px solid var(--gm-primary); box-shadow: 0 8px 32px color-mix(in srgb, var(--gm-primary) 15%, transparent); }
.storefront-header--taverna_signboard .storefront-navbar { border-block: 5px double currentColor; margin: 1rem auto 0; width: calc(100% - 2rem); }
.storefront-header--ticket_nav .storefront-navbar { margin: 1rem; width: calc(100% - 2rem); border: 2px solid currentColor; border-radius: 0; box-shadow: 6px 6px 0 var(--gm-text); }
.storefront-header.storefront-header--bakery_awning .storefront-navbar { padding-top: 2rem; border-bottom: 1px solid currentColor; background-image: repeating-linear-gradient(90deg, transparent 0 24px, color-mix(in srgb, currentColor 20%, transparent) 24px 48px); background-size: 100% 14px; background-repeat: no-repeat; }
@media(min-width:992px) {
 .storefront-header:is(.storefront-header--neon_sign,.storefront-header--taverna_signboard,.storefront-header--ticket_nav,.storefront-header--bakery_awning) .storefront-navbar__inner { display:grid; grid-template-columns:minmax(10rem, .65fr) minmax(0,2fr) auto auto; gap:1rem; padding:1rem 2rem; }
 .storefront-header:is(.storefront-header--neon_sign,.storefront-header--taverna_signboard,.storefront-header--ticket_nav,.storefront-header--bakery_awning) .storefront-masthead-brand { grid-column:1; grid-row:1; max-width:100%; justify-content:start; }
 .storefront-header:is(.storefront-header--neon_sign,.storefront-header--taverna_signboard,.storefront-header--ticket_nav,.storefront-header--bakery_awning) .storefront-navbar__menu { grid-column:2; grid-row:1; min-width:0; }
 .storefront-header:is(.storefront-header--neon_sign,.storefront-header--taverna_signboard,.storefront-header--ticket_nav,.storefront-header--bakery_awning) .navbar-nav { flex-wrap:wrap; justify-content:center; margin:0!important; }
 .storefront-header:is(.storefront-header--neon_sign,.storefront-header--taverna_signboard,.storefront-header--ticket_nav,.storefront-header--bakery_awning) :is(.storefront-navbar__language,.storefront-navbar__account) {grid-column:3;grid-row:1;}
 .storefront-header:is(.storefront-header--neon_sign,.storefront-header--taverna_signboard,.storefront-header--ticket_nav,.storefront-header--bakery_awning) .storefront-navbar__cart {grid-column:4;grid-row:1;}
 .storefront-header:is(.storefront-header--neon_sign,.storefront-header--taverna_signboard,.storefront-header--ticket_nav,.storefront-header--bakery_awning) .storefront-navbar__search {grid-column:2 / -1;grid-row:2;width:100%;}
 .storefront-header--neon_sign .storefront-masthead-brand {border-right:1px solid currentColor;padding-right:1rem;}
 .storefront-header--taverna_signboard .storefront-navbar__inner {grid-template-columns:minmax(12rem,1fr) minmax(0,2fr) auto auto;}
 .storefront-header--taverna_signboard .storefront-masthead-brand .storefront-navbar__logo {height:80px;max-height:80px;}
 .storefront-header--ticket_nav .storefront-navbar__menu {border-left:2px dashed currentColor; padding-left:1rem;}
 .storefront-header.storefront-header--bakery_awning .storefront-navbar__inner {grid-template-columns:minmax(0,1fr) auto auto;}
 .storefront-header.storefront-header--bakery_awning .storefront-masthead-brand {grid-column:1;grid-row:1;justify-content:start;}
 .storefront-header.storefront-header--bakery_awning .storefront-navbar__menu {grid-column:1 / -1;grid-row:2; border-top:1px solid currentColor;padding-top:.75rem;}
 .storefront-header.storefront-header--bakery_awning .storefront-navbar__search {grid-column:1 / -1;grid-row:3;}
 .storefront-header.storefront-header--bakery_awning :is(.storefront-navbar__language,.storefront-navbar__account){grid-column:2;}
 .storefront-header.storefront-header--bakery_awning .storefront-navbar__cart{grid-column:3;}
}
.storefront-hero--night_poster {grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);align-items:center; background-image:radial-gradient(ellipse at top right,color-mix(in srgb,var(--gm-primary) 16%,transparent),transparent 65%)!important;}
.storefront-hero--night_poster .storefront-hero__overlay {grid-column:1;grid-row:1;}
.storefront-hero--night_poster .storefront-hero__media {grid-column:2;grid-row:1;min-height:32rem;border:1px solid var(--gm-primary);border-radius:12rem 12rem 0 0;}
.storefront-hero--night_poster .storefront-hero__title {font-size:clamp(4rem,9vw,9rem)!important;text-transform:uppercase;letter-spacing:-.045em;color:var(--gm-primary);text-shadow:0 0 28px color-mix(in srgb,var(--gm-primary) 35%,transparent);}
.storefront-hero--night_poster .storefront-hero__eyebrow {font-family:monospace;letter-spacing:.22em;}
.storefront-hero--taverna_postcard {grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center; border-bottom:6px double var(--gm-primary);}
.storefront-hero--taverna_postcard .storefront-hero__media {min-height:34rem;border:12px solid var(--gm-page-bg);outline:1px solid var(--gm-primary);box-shadow:12px 12px 0 color-mix(in srgb,var(--gm-primary) 12%,transparent);}
.storefront-hero--taverna_postcard .storefront-hero__content {padding:1.5rem;border-block:1px solid var(--gm-primary);}
.storefront-hero--taverna_postcard .storefront-hero__eyebrow {letter-spacing:.2em;}
.storefront-hero--festival_billboard {grid-template-columns:minmax(0,1fr) minmax(0,.8fr);align-items:center;border-block:10px solid var(--gm-primary);}
.storefront-hero--festival_billboard .storefront-hero__overlay {grid-column:1;grid-row:1;}
.storefront-hero--festival_billboard .storefront-hero__media {grid-column:2;grid-row:1;min-height:32rem;border-radius:50% 50% 0 0;border:2px solid currentColor;}
.storefront-hero--festival_billboard .storefront-hero__title {font-size:clamp(4rem,8.5vw,9rem)!important;text-transform:uppercase;line-height:.95;letter-spacing:-.025em;}
.storefront-hero--festival_billboard .storefront-hero__eyebrow {display:inline-block;padding:.6rem 1rem;border:2px solid currentColor;transform:rotate(-3deg);}
.storefront-hero--breakfast_counter {grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center; background-image:linear-gradient(90deg,transparent 49.8%,color-mix(in srgb,var(--gm-primary) 15%,transparent) 50%,transparent 50.2%)!important;}
.storefront-hero--breakfast_counter .storefront-hero__media {grid-column:2;grid-row:1;min-height:32rem;border-radius:50%;border:14px solid color-mix(in srgb,var(--gm-primary) 12%,var(--gm-page-bg));}
.storefront-hero--breakfast_counter .storefront-hero__overlay {grid-column:1;grid-row:1;}
.storefront-hero--breakfast_counter .storefront-hero__title {font-style:italic;}
.storefront-hero--breakfast_counter .storefront-hero__eyebrow {border-bottom:2px dotted currentColor;padding-bottom:1rem;}
.storefront-hero--text-only:is(.storefront-hero--night_poster,.storefront-hero--taverna_postcard,.storefront-hero--festival_billboard,.storefront-hero--breakfast_counter) {grid-template-columns:minmax(0,1fr);}
@media(max-width:767.98px) {
 .storefront-hero:is(.storefront-hero--night_poster,.storefront-hero--taverna_postcard,.storefront-hero--festival_billboard,.storefront-hero--breakfast_counter) {grid-template-columns:minmax(0,1fr);gap:2rem;}
 .storefront-hero:is(.storefront-hero--night_poster,.storefront-hero--festival_billboard,.storefront-hero--breakfast_counter) .storefront-hero__overlay {grid-column:1;grid-row:1;}
 .storefront-hero:is(.storefront-hero--night_poster,.storefront-hero--festival_billboard,.storefront-hero--breakfast_counter) .storefront-hero__media {grid-column:1;grid-row:2;min-height:21rem;}
 .storefront-hero--taverna_postcard .storefront-hero__media {min-height:21rem;}
 .storefront-hero--taverna_postcard .storefront-hero__content {padding:1rem 0;}
 .storefront-hero:is(.storefront-hero--night_poster,.storefront-hero--festival_billboard) .storefront-hero__title {font-size:clamp(3rem,16vw,5rem)!important;}
 .storefront-hero--breakfast_counter {background-image:none!important;}
}
@media(max-width:991.98px) {
 .storefront-header:is(.storefront-header--taverna_signboard,.storefront-header--ticket_nav) .storefront-navbar {margin:.5rem;width:calc(100% - 1rem);}
 .storefront-header:is(.storefront-header--neon_sign,.storefront-header--taverna_signboard,.storefront-header--ticket_nav,.storefront-header--bakery_awning) .storefront-masthead-brand {max-width:100%;}
}

/* Photo-led revision: unmasked venue photography and user-controlled neon lighting. */
.storefront-hero.storefront-hero--night_poster {position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr);gap:0;padding:0;background:#111318!important;color:#f8f5ef;}
.storefront-hero.storefront-hero--night_poster .storefront-hero__media {grid-area:1 / 1;min-height:clamp(38rem,55vw,48rem);border:0;border-radius:0;}
.storefront-hero.storefront-hero--night_poster .storefront-hero__overlay {grid-area:1 / 1;z-index:1;pointer-events:none;align-self:stretch;padding:clamp(2rem,6vw,6rem);display:flex;align-items:center;background:linear-gradient(90deg,rgba(8,10,13,.86),rgba(8,10,13,.55) 48%,rgba(8,10,13,.04) 80%)!important;}
.storefront-hero.storefront-hero--night_poster .storefront-hero__content {max-width:48rem;pointer-events:auto;}
.storefront-hero.storefront-hero--night_poster .storefront-hero__title {color:transparent;-webkit-text-fill-color:transparent;-webkit-text-stroke:1.2px #eaffda;font-size:clamp(4.5rem,8vw,8.5rem)!important;line-height:1;text-shadow:none;filter:drop-shadow(0 0 3px var(--gm-primary)) drop-shadow(0 0 12px color-mix(in srgb,var(--gm-primary) 65%,transparent));letter-spacing:.01em;}
.storefront-hero--night_poster .storefront-hero__subtitle {max-width:32rem;}
.storefront-hero--night_poster .storefront-hero__eyebrow {font-family:monospace!important;color:#eaffcc;}
.storefront-hero--night_poster .storefront-hero__meta {font-family:monospace;font-weight:400;letter-spacing:.025em;}
.storefront-neon-toggle {display:inline-flex;align-items:center;gap:.6rem;margin-top:1.25rem;min-height:44px;padding:.4rem .65rem;border:1px solid #ffffff66;border-radius:3px;font:13px system-ui;cursor:pointer;color:#f8f5ef;background:#11131888;}
.storefront-neon-toggle input {width:18px;height:18px;accent-color:var(--gm-primary);}
.storefront-neon-toggle:focus-within {outline:2px solid var(--gm-primary);outline-offset:4px;}
.storefront-hero--night_poster::after {content:"";pointer-events:none;z-index:0;position:absolute;inset:0;background:radial-gradient(ellipse at 20% 48%,color-mix(in srgb,var(--gm-primary) 12%,transparent),transparent 48%);}
/* One restrained dip per 11-second cycle, never a repeated rapid flash. */
@keyframes gm-neon-light {0%,83%,89%,100%{opacity:1}86%{opacity:.72}}
@media(prefers-reduced-motion:no-preference) {
 .storefront-hero--night_poster:has([data-neon-motion]:checked) .storefront-hero__title {animation:gm-neon-light 11s ease-in-out infinite;}
 .storefront-hero--night_poster:has([data-neon-motion]:checked)::after {animation:gm-neon-light 11s ease-in-out infinite;}
 .storefront-header--neon_sign .storefront-navbar__logo {filter:drop-shadow(0 0 5px color-mix(in srgb,var(--gm-primary) 60%,transparent));}
}
@media(prefers-reduced-motion:reduce) {.storefront-neon-toggle{display:none;}}
.storefront-hero.storefront-hero--festival_billboard {grid-template-columns:minmax(0,1fr);gap:0;padding:0;border:0;}
.storefront-hero.storefront-hero--festival_billboard .storefront-hero__overlay {grid-column:1;grid-row:1;padding:clamp(1.5rem,4vw,4rem);}
.storefront-hero.storefront-hero--festival_billboard .storefront-hero__media {grid-column:1;grid-row:2;min-height:clamp(26rem,43vw,42rem);border:0;border-radius:0;}
.storefront-hero.storefront-hero--festival_billboard .storefront-hero__content {display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem 2rem;}
.storefront-hero.storefront-hero--festival_billboard .storefront-hero__eyebrow {grid-column:1 / -1;grid-row:1;border:0;border-bottom:1px solid currentColor;padding:0 0 1rem;transform:none;letter-spacing:.16em;margin:0;color:var(--gm-primary);}
.storefront-hero.storefront-hero--festival_billboard .storefront-hero__title {grid-column:1 / -1;grid-row:2;font-size:clamp(3rem,6.2vw,6.5rem)!important;line-height:1.04;text-transform:none;letter-spacing:-.055em;color:var(--gm-primary);margin:0;}
.storefront-hero.storefront-hero--festival_billboard .storefront-hero__subtitle {grid-column:1;grid-row:3;max-width:42rem;margin:0;font-size:1.1rem;}
.storefront-hero.storefront-hero--festival_billboard .storefront-hero__cta-group {grid-column:2;grid-row:3;margin:0;align-self:center;}
.storefront-hero.storefront-hero--festival_billboard .storefront-hero__meta {grid-column:1 / -1;grid-row:4;border:0;margin:0;padding:0;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;}
.storefront-header--ticket_nav .storefront-navbar {box-shadow:none;border-width:1px;margin:0;width:100%;background:var(--gm-page-bg);}
.storefront-header--ticket_nav .storefront-navbar__menu {border-left:0;}
.storefront-header--ticket_nav [data-nav-style="outlined"] .nav-link {border:0;}
@media(max-width:767.98px) {
 .storefront-hero.storefront-hero--night_poster .storefront-hero__media {grid-area:1 / 1;min-height:42rem;}
 .storefront-hero.storefront-hero--night_poster .storefront-hero__media>img {object-position:62% center;}
 .storefront-hero.storefront-hero--night_poster .storefront-hero__overlay {padding:2rem 1.25rem;background:linear-gradient(180deg,rgba(8,10,13,.6),rgba(8,10,13,.82))!important;align-items:flex-end;}
 .storefront-hero.storefront-hero--night_poster .storefront-hero__title {font-size:clamp(3.5rem,17vw,5.5rem)!important;}
 .storefront-hero.storefront-hero--festival_billboard .storefront-hero__content {display:block;}
 .storefront-hero.storefront-hero--festival_billboard .storefront-hero__title {font-size:clamp(2.9rem,13vw,4.5rem)!important;margin-top:1rem;}
 .storefront-hero.storefront-hero--festival_billboard .storefront-hero__subtitle,
 .storefront-hero.storefront-hero--festival_billboard .storefront-hero__cta-group,
 .storefront-hero.storefront-hero--festival_billboard .storefront-hero__meta {margin-top:1.25rem;}
 .storefront-hero.storefront-hero--festival_billboard .storefront-hero__media {min-height:25rem;}
}
.storefront-hero--night_poster.storefront-hero--text-only .storefront-hero__overlay {min-height:30rem;}

/* Painted-market treatment: expressive type, offset ink and paper bunting. */
.storefront-hero.storefront-hero--festival_billboard .storefront-hero__overlay {padding-top:1.5rem;position:relative;}
.storefront-hero.storefront-hero--festival_billboard .storefront-hero__content {gap:1.5rem 2rem;}
.storefront-fiesta-bunting {grid-column:1 / -1;grid-row:1;display:flex;justify-content:space-around;gap:1rem;border-top:2px solid currentColor;transform:rotate(-1deg);margin:0 0 1.25rem;pointer-events:none;}
.storefront-fiesta-bunting i {display:block;width:clamp(2rem,6vw,5rem);height:clamp(1.8rem,3vw,2.7rem);background:var(--gm-primary);border-radius:0 0 45% 45%;position:relative;}
.storefront-fiesta-bunting i:nth-child(3n+2) {background:var(--gm-secondary);}
.storefront-fiesta-bunting i:nth-child(3n) {background:#b32e67;}
.storefront-fiesta-bunting i::after {content:"";position:absolute;inset:8px;background:radial-gradient(circle at center,var(--gm-page-bg) 2px,transparent 3px) 0 0 / 10px 10px;}
.storefront-hero.storefront-hero--festival_billboard .storefront-hero__eyebrow {grid-row:2;justify-self:start;background:var(--gm-secondary);color:#fff8e7;border:0;padding:.55rem .9rem;transform:rotate(-2deg);box-shadow:3px 3px 0 var(--gm-text);font-size:.75rem;letter-spacing:.13em;}
.storefront-hero.storefront-hero--festival_billboard .storefront-hero__title {grid-row:3;font-weight:400;letter-spacing:.005em;font-size:clamp(3.4rem,7.3vw,7.6rem)!important;line-height:1.08;padding:.25rem 0 .6rem;overflow:visible;}
.storefront-painted-line {display:inline-block;transform:rotate(-2deg);text-shadow:3px 3px 0 #fff7df,5px 5px 0 var(--gm-text);margin-right:.18em;}
.storefront-painted-line:nth-child(even) {transform:rotate(1.5deg);color:var(--gm-secondary);}
.storefront-hero.storefront-hero--festival_billboard .storefront-hero__subtitle {grid-row:4;font-size:1.1rem;}
.storefront-hero.storefront-hero--festival_billboard .storefront-hero__cta-group {grid-row:4;gap:1rem;}
.storefront-hero--festival_billboard .storefront-hero__cta-group .btn {border:2px solid currentColor;border-radius:2px;box-shadow:3px 3px 0 var(--gm-text);transform:rotate(-2deg);font-weight:700;}
.storefront-hero--festival_billboard .storefront-hero__cta-group .btn:nth-child(even) {transform:rotate(2deg);}
.storefront-hero--festival_billboard .storefront-hero__cta-group .btn:hover {transform:rotate(0);}
.storefront-hero.storefront-hero--festival_billboard .storefront-hero__meta {grid-row:5;justify-self:start;background:var(--gm-primary);color:#fff8e7;padding:.45rem .8rem;transform:rotate(.7deg);letter-spacing:.05em;}
.storefront-hero.storefront-hero--festival_billboard .storefront-hero__media {border-block:7px solid var(--gm-primary);}
.storefront-header.storefront-header--ticket_nav .storefront-navbar {border:0;border-bottom:3px solid var(--gm-primary);}
.storefront-header--ticket_nav .storefront-navbar__logo {transform:rotate(-3deg);}
.storefront-header--ticket_nav .nav-item:nth-child(odd)>.nav-link {transform:rotate(-2deg);}
.storefront-header--ticket_nav .nav-item:nth-child(even)>.nav-link {transform:rotate(2deg);}
.storefront-header--ticket_nav .nav-link {border-radius:1px;box-shadow:2px 2px 0 currentColor;}
@media(max-width:767.98px) {
 .storefront-hero.storefront-hero--festival_billboard .storefront-hero__overlay {padding:1.25rem 1.5rem 2rem;}
 .storefront-fiesta-bunting {gap:.6rem;margin-bottom:1.6rem;}
 .storefront-hero.storefront-hero--festival_billboard .storefront-hero__eyebrow {display:inline-block;max-width:100%;line-height:1.7;letter-spacing:.07em;}
 .storefront-hero.storefront-hero--festival_billboard .storefront-hero__title {font-size:clamp(3.1rem,14.5vw,4.4rem)!important;margin-top:1.1rem;}
 .storefront-painted-line {display:block;width:fit-content;max-width:100%;margin:0 0 .25rem;}
 .storefront-hero.storefront-hero--festival_billboard .storefront-hero__meta {display:inline-block;line-height:1.6;font-size:.7rem;max-width:100%;}
}
@media(prefers-reduced-motion:reduce) {.storefront-hero--festival_billboard .storefront-hero__cta-group .btn{transition:none;}}

/* Three independent hospitality compositions: lantern editorial, burger counter, pub almanac. */
.storefront-hero:is(.storefront-hero--lantern_editorial,.storefront-hero--burger_stack,.storefront-hero--pub_almanac) {background:var(--gm-page-bg);color:var(--gm-text);min-height:0;gap:0;padding:0;}
.storefront-hero:is(.storefront-hero--lantern_editorial,.storefront-hero--burger_stack,.storefront-hero--pub_almanac) .storefront-hero__inner {min-height:0;padding:0;max-width:none;}
.storefront-hero:is(.storefront-hero--lantern_editorial,.storefront-hero--burger_stack,.storefront-hero--pub_almanac) .storefront-hero__content {max-width:none;width:100%;}
.storefront-hero:is(.storefront-hero--lantern_editorial,.storefront-hero--burger_stack,.storefront-hero--pub_almanac) .storefront-hero__title {text-wrap:balance;line-height:1.03;}
.storefront-hero:is(.storefront-hero--lantern_editorial,.storefront-hero--burger_stack,.storefront-hero--pub_almanac) .storefront-hero__secondary-action {color:inherit;border-color:currentColor;background:transparent;}
/* Red lacquer editorial masthead, with an inset photograph and vertical rule. */
.storefront-hero--lantern_editorial {grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);border-bottom:12px solid var(--gm-primary);}
.storefront-hero--lantern_editorial .storefront-hero__overlay {grid-column:1;grid-row:1;padding:4rem 3.5rem;background:var(--gm-primary)!important;}
.storefront-hero--lantern_editorial .storefront-hero__content {color:#fff1d9!important;}
.storefront-hero--lantern_editorial .storefront-hero__title {font-size:clamp(3.6rem,5.5vw,6.4rem)!important;font-weight:500;max-width:10ch;}
.storefront-hero--lantern_editorial .storefront-hero__eyebrow {border-block:1px solid #fff1d980;padding:.8rem 0;letter-spacing:.17em;font-size:.7rem;}
.storefront-hero--lantern_editorial .storefront-hero__media {grid-column:2;grid-row:1;min-height:39rem;margin:1.4rem;border:1px solid var(--gm-primary);}
.storefront-hero--lantern_editorial .storefront-hero__subtitle {font-size:1.1rem;max-width:33rem;}
.storefront-hero--lantern_editorial .storefront-hero__meta {border-left:1px solid #fff1d9;letter-spacing:.09em;font-size:.75rem;}
.storefront-header--lantern_rail .storefront-navbar {border-bottom:3px solid var(--gm-primary);box-shadow:none;}
.storefront-header--lantern_rail .nav-link {text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;}
/* Burger billboard: giant stacked type, rectangular food photograph, checkerboard edge. */
.storefront-hero--burger_stack {grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);border-bottom:18px solid transparent;border-image:repeating-linear-gradient(90deg,var(--gm-text) 0 20px,var(--gm-page-bg) 20px 40px) 18;}
.storefront-hero--burger_stack .storefront-hero__overlay {grid-column:1;grid-row:1;padding:3rem 3.5rem;}
.storefront-hero--burger_stack .storefront-hero__title {font-size:clamp(6rem,11.5vw,12rem)!important;max-width:6ch;letter-spacing:-.025em;line-height:.84!important;transform:rotate(-3deg);color:var(--gm-primary);margin:1.5rem 0 2rem;}
.storefront-hero--burger_stack .storefront-hero__eyebrow {display:inline-block;padding:.5rem .8rem;background:var(--gm-text);color:var(--gm-page-bg);transform:rotate(-2deg);}
.storefront-hero--burger_stack .storefront-hero__media {grid-column:2;grid-row:1;min-height:42rem;}
.storefront-hero--burger_stack .storefront-hero__subtitle {font-size:1.12rem;max-width:30rem;}
.storefront-hero--burger_stack .btn {border-radius:0;font-weight:800;box-shadow:4px 4px 0 var(--gm-text);border:2px solid var(--gm-text);}
.storefront-hero--burger_stack .storefront-hero__meta {border:0;text-transform:uppercase;font-weight:800;letter-spacing:.04em;font-size:.7rem;}
.storefront-header--counter_bar .storefront-navbar {box-shadow:none;border-bottom:3px solid var(--gm-text);}
.storefront-header--counter_bar .nav-link {font-weight:800;text-transform:uppercase;}
/* Pub almanac: quiet symmetrical sign above a wide, unmasked photograph. */
.storefront-hero--pub_almanac {grid-template-columns:minmax(0,1fr);padding:0 3rem 3rem!important;}
.storefront-hero--pub_almanac .storefront-hero__overlay {grid-column:1;grid-row:1;padding:2.4rem 1rem 2.5rem;}
.storefront-hero--pub_almanac .storefront-hero__content {text-align:center;}
.storefront-hero--pub_almanac .storefront-hero__title {font-size:clamp(2.8rem,4.8vw,5rem)!important;max-width:19ch;margin:0 auto;font-weight:500;}
.storefront-hero--pub_almanac .storefront-hero__eyebrow {letter-spacing:.19em;font-size:.68rem;}
.storefront-hero--pub_almanac .storefront-hero__subtitle {max-width:42rem;margin:1.2rem auto 0;font-size:1rem;}
.storefront-hero--pub_almanac .storefront-hero__cta-group {justify-content:center;margin-top:1.3rem;}
.storefront-hero--pub_almanac .storefront-hero__meta {border:0;padding:0;margin-top:1.2rem;text-transform:uppercase;letter-spacing:.12em;font-size:.65rem;}
.storefront-hero--pub_almanac .storefront-hero__media {grid-column:1;grid-row:2;min-height:clamp(24rem,34vw,36rem);border:6px solid var(--gm-primary);outline:1px solid var(--gm-primary);outline-offset:6px;}
.storefront-header--pub_crest .storefront-navbar {box-shadow:none;border-top:6px solid var(--gm-primary);border-bottom:1px solid var(--gm-primary);}
.storefront-header--pub_crest .nav-link {font-family:var(--gm-font-heading);font-size:1rem;}
@media(min-width:992px) {
 .storefront-header:is(.storefront-header--lantern_rail,.storefront-header--counter_bar,.storefront-header--pub_crest) .storefront-navbar__inner {display:grid;grid-template-columns:minmax(12rem,1fr) minmax(0,2fr) auto auto;gap:1rem;padding:.65rem 2rem;}
 .storefront-header:is(.storefront-header--lantern_rail,.storefront-header--counter_bar,.storefront-header--pub_crest) .storefront-masthead-brand {grid-column:1;grid-row:1;max-width:100%;justify-content:start;}
 .storefront-header:is(.storefront-header--lantern_rail,.storefront-header--counter_bar,.storefront-header--pub_crest) .storefront-navbar__menu {grid-column:2;grid-row:1;min-width:0;}
 .storefront-header:is(.storefront-header--lantern_rail,.storefront-header--counter_bar,.storefront-header--pub_crest) .navbar-nav {flex-wrap:wrap;justify-content:center;margin:0!important;}
 .storefront-header:is(.storefront-header--lantern_rail,.storefront-header--counter_bar,.storefront-header--pub_crest) .storefront-navbar__account {grid-column:3;grid-row:1;}
 .storefront-header:is(.storefront-header--lantern_rail,.storefront-header--counter_bar,.storefront-header--pub_crest) .storefront-navbar__cart {grid-column:4;grid-row:1;}
 .storefront-header:is(.storefront-header--lantern_rail,.storefront-header--counter_bar,.storefront-header--pub_crest) .storefront-navbar__language {grid-column:3;grid-row:2;}
 .storefront-header:is(.storefront-header--lantern_rail,.storefront-header--counter_bar,.storefront-header--pub_crest) .storefront-navbar__search {grid-column:1 / 3;grid-row:2;width:100%;}
 .storefront-header--pub_crest .storefront-navbar__inner {padding-block:.5rem!important;}
 .storefront-header--pub_crest .storefront-masthead-brand .storefront-navbar__logo {height:74px;max-height:74px;}
}
@media(max-width:767.98px) {
 .storefront-hero:is(.storefront-hero--lantern_editorial,.storefront-hero--burger_stack) {grid-template-columns:minmax(0,1fr);}
 .storefront-hero:is(.storefront-hero--lantern_editorial,.storefront-hero--burger_stack) .storefront-hero__overlay {grid-column:1;grid-row:1;padding:2.2rem 1.5rem;}
 .storefront-hero:is(.storefront-hero--lantern_editorial,.storefront-hero--burger_stack) .storefront-hero__media {grid-column:1;grid-row:2;min-height:22rem;}
 .storefront-hero--lantern_editorial .storefront-hero__title {font-size:clamp(3.2rem,13vw,4.5rem)!important;max-width:11ch;}
 .storefront-hero--lantern_editorial .storefront-hero__media {margin:1rem;min-height:25rem!important;}
 .storefront-hero--burger_stack .storefront-hero__title {font-size:clamp(5rem,24vw,8rem)!important;max-width:7ch;margin:1rem 0 1.6rem;}
 .storefront-hero--burger_stack .storefront-hero__eyebrow {font-size:.7rem;}
 .storefront-hero--burger_stack .storefront-hero__media {min-height:24rem;}
 .storefront-hero--pub_almanac {padding:0 1rem 1.5rem!important;}
 .storefront-hero--pub_almanac .storefront-hero__overlay {padding:2rem .5rem;}
 .storefront-hero--pub_almanac .storefront-hero__title {font-size:clamp(2.5rem,11vw,3.7rem)!important;}
 .storefront-hero--pub_almanac .storefront-hero__media {min-height:22rem;outline-offset:3px;border-width:3px;}
 .storefront-hero--pub_almanac .storefront-hero__cta-group {gap:.65rem;}
}
.storefront-hero--text-only:is(.storefront-hero--lantern_editorial,.storefront-hero--burger_stack) {grid-template-columns:minmax(0,1fr);}
.storefront-hero--pub_almanac .storefront-hero__meta {width:fit-content;margin-inline:auto;text-align:center;}

/* Venue character revision: supper-club screen, burger poster, hanging pub sign. */
.storefront-hero--lantern_editorial {position:relative;isolation:isolate;grid-template-columns:1fr!important;background:#173d33!important;border-bottom:8px double #dbb66d;}
.storefront-hero--lantern_editorial .storefront-hero__media {grid-area:1/1;margin:0 0 0 27%;min-height:48rem;border:0;}
.storefront-hero--lantern_editorial .storefront-hero__overlay {grid-area:1/1;z-index:1;align-self:center;width:51%;margin:3rem 0 3rem 4%;padding:3rem!important;background:#8e201bf5!important;border:1px solid #deb875;box-shadow:inset 0 0 0 8px #8e201b,inset 0 0 0 9px #deb875,12px 12px 0 #15382e;}
.storefront-hero--lantern_editorial .storefront-hero__title {font-size:clamp(3.7rem,6vw,6.3rem)!important;font-style:italic;letter-spacing:-.065em;max-width:11ch;}
.storefront-hero--lantern_editorial .storefront-hero__eyebrow {color:#f4d89e;border:0;letter-spacing:.16em;padding:0 0 1rem;}
.storefront-hero--lantern_editorial .storefront-hero__meta {border:0;border-top:1px solid #deb875;padding:1rem 0 0;margin-top:1.8rem;}
.storefront-hero--lantern_editorial .btn-primary {background:#f4d89e!important;color:#542019!important;border-color:#f4d89e!important;border-radius:0;}
.storefront-lanterns {position:absolute;right:4%;top:0;z-index:2;display:flex;gap:2rem;pointer-events:none;}
.storefront-lanterns i {display:block;width:64px;height:100px;margin-top:52px;background:repeating-linear-gradient(90deg,transparent 0 12px,#f8c56355 13px 14px),radial-gradient(ellipse,#fb9754,#ba251d 75%);border-radius:42%;border-block:7px solid #dbb66d;box-shadow:0 0 40px #ed572862;position:relative;}
.storefront-lanterns i:nth-child(2){margin-top:112px;width:48px;height:78px;}
.storefront-lanterns i:before {content:"";position:absolute;bottom:100%;height:120px;width:1px;background:#dbb66d;left:50%;}
.storefront-lanterns i:after {content:"";position:absolute;top:100%;height:34px;width:8px;border-inline:2px solid #dbb66d;left:calc(50% - 4px);}
.storefront-header--lantern_rail .storefront-navbar {background:#f4e6cc;border-block:5px double #8e201b;}
.storefront-header--lantern_rail .nav-link {border-radius:0!important;border-bottom:1px solid #8e201b55;}
/* A huge headline spans the entire burger counter; photograph and order slip sit below. */
.storefront-hero--burger_stack {grid-template-columns:1fr!important;position:relative;background:#ffd347!important;}
.storefront-hero--burger_stack .storefront-hero__overlay {grid-area:1/1;padding:1.5rem 3rem 3rem!important;z-index:1;pointer-events:none;}
.storefront-hero--burger_stack .storefront-hero__content {display:grid;grid-template-columns:1.3fr 1fr;gap:1.2rem 3rem;}
.storefront-hero--burger_stack .storefront-hero__content>* {pointer-events:auto;}
.storefront-hero--burger_stack .storefront-hero__eyebrow {grid-column:1/-1;justify-self:start;margin:0;font-size:.75rem;letter-spacing:.14em;}
.storefront-hero--burger_stack .storefront-hero__title {grid-column:1/-1;max-width:none;white-space:normal;font-size:clamp(6rem,15.8vw,16rem)!important;margin:.2rem 0 2rem;line-height:.86!important;transform:rotate(-2deg);text-shadow:5px 5px 0 #fff3c0,8px 8px 0 #25190f;letter-spacing:-.02em;}
.storefront-hero--burger_stack .storefront-hero__subtitle {grid-column:2;grid-row:3;background:#fff5cf;border:2px solid #25190f;padding:2rem 2rem 7rem;max-width:none;min-height:18rem;margin:0;box-shadow:9px 9px 0 #a72419;transform:rotate(2deg);font-size:1.4rem;font-weight:700;align-self:start;}
.storefront-hero--burger_stack .storefront-hero__cta-group {grid-column:2;grid-row:3;align-self:end;margin:0 1.3rem 2rem;position:relative;flex-wrap:wrap;}
.storefront-hero--burger_stack .storefront-hero__meta {grid-column:1/-1;background:#25190f;color:#ffd347;margin:2rem -3rem -3rem;padding:1rem 2rem;text-align:center;letter-spacing:.17em;}
.storefront-hero--burger_stack .storefront-hero__media {grid-area:1/1;align-self:end;min-height:0;height:57%;width:53%;margin:0 0 4rem 1.7rem;border:5px solid #25190f;transform:rotate(-3deg);box-shadow:9px 9px 0 #a72419;}
.storefront-header--counter_bar .storefront-navbar {background:#ffd347;border-bottom:4px solid #25190f;}
.storefront-header--counter_bar .nav-link {border:2px solid #25190f!important;border-radius:0!important;padding:.5rem .8rem!important;box-shadow:3px 3px 0 #25190f;}
/* A hanging, double-lined pub sign sits over a generous full-width interior. */
.storefront-hero--pub_almanac {position:relative;grid-template-columns:1fr!important;padding:0!important;background:#18392e!important;border-bottom:12px double #c7a56b;}
.storefront-hero--pub_almanac .storefront-hero__media {grid-area:1/1;min-height:48rem;border:0;outline:0;}
.storefront-hero--pub_almanac .storefront-hero__media>img {object-position:70% center;}
.storefront-hero--pub_almanac .storefront-hero__overlay {position:relative;grid-area:1/1;width:44%;margin:4rem 0 4rem 5%;padding:2.8rem 2.5rem!important;background:#f3ebd8!important;border:3px solid #23483a;outline:1px solid #d8be8d;outline-offset:7px;box-shadow:inset 0 0 0 7px #f3ebd8,inset 0 0 0 8px #23483a,15px 18px 0 #132b2488;align-self:center;}
.storefront-hero--pub_almanac .storefront-hero__overlay:before,.storefront-hero--pub_almanac .storefront-hero__overlay:after {content:"";position:absolute;bottom:100%;height:5rem;width:7px;border-inline:2px solid #a48450;background:#22352a;}
.storefront-hero--pub_almanac .storefront-hero__overlay:before {left:20%;}.storefront-hero--pub_almanac .storefront-hero__overlay:after {right:20%;}
.storefront-hero--pub_almanac .storefront-hero__title {font-size:clamp(3rem,4.7vw,5rem)!important;max-width:12ch;letter-spacing:-.055em;font-style:italic;}
.storefront-hero--pub_almanac .storefront-hero__eyebrow {border-block:1px solid #23483a;padding:.7rem 0;line-height:1.8;}
.storefront-hero--pub_almanac .storefront-hero__meta {border-top:1px solid #23483a;padding-top:1rem;line-height:1.8;}
.storefront-hero--pub_almanac .btn {border-radius:2px;}
.storefront-pub-ornament {display:block;color:#9c743b;font-size:2rem;text-align:center;letter-spacing:.5rem;margin-bottom:.5rem;}
.storefront-header--pub_crest .storefront-navbar {background:#f3ebd8;border-top:8px solid #23483a;border-bottom:5px double #23483a;}
.storefront-header--pub_crest .nav-link {font-variant:small-caps;letter-spacing:.08em;}
@media(min-width:992px) {.storefront-header--pub_crest .storefront-navbar__inner {grid-template-columns:1fr auto auto!important;}.storefront-header--pub_crest .storefront-masthead-brand {grid-column:1/-1!important;justify-content:center!important;}.storefront-header--pub_crest .storefront-navbar__menu{grid-column:1!important;grid-row:2!important;}.storefront-header--pub_crest .storefront-navbar__account {grid-column:2!important;grid-row:2!important;}.storefront-header--pub_crest .storefront-navbar__cart{grid-column:3!important;grid-row:2!important;}.storefront-header--pub_crest .storefront-navbar__search{grid-row:3!important;}.storefront-header--pub_crest .storefront-navbar__language{grid-row:3!important;}}
@media(max-width:767.98px) {
 .storefront-hero--lantern_editorial .storefront-hero__media {grid-area:1/1;margin:0!important;min-height:0!important;height:20rem;align-self:start;}
 .storefront-hero--lantern_editorial .storefront-hero__overlay {width:auto;margin:14rem 1rem 1.5rem;padding:2rem 1.5rem!important;}
 .storefront-hero--lantern_editorial .storefront-hero__title {font-size:clamp(3rem,12vw,4.5rem)!important;}
 .storefront-lanterns {right:7%;gap:1rem;}.storefront-lanterns i {width:40px;height:64px;margin-top:24px;}.storefront-lanterns i:nth-child(2){width:30px;height:50px;margin-top:60px;}
 .storefront-hero--burger_stack .storefront-hero__overlay {padding:1.4rem 1.3rem 2rem!important;}
 .storefront-hero--burger_stack .storefront-hero__content {display:flex;flex-direction:column;gap:1rem;}
 .storefront-hero--burger_stack .storefront-hero__eyebrow{align-self:start;font-size:.6rem;}
 .storefront-hero--burger_stack .storefront-hero__title {font-size:clamp(5rem,26vw,8rem)!important;max-width:7ch;margin:.5rem 0 15rem;text-shadow:3px 3px 0 #fff3c0,5px 5px 0 #25190f;}
 .storefront-hero--burger_stack .storefront-hero__media {grid-area:1/1;align-self:start;top:17rem;position:relative;margin:0 5%;width:90%;height:14rem;min-height:0!important;}
 .storefront-hero--burger_stack .storefront-hero__subtitle {transform:rotate(1deg);min-height:0;padding:1.2rem;font-size:1.05rem;}
 .storefront-hero--burger_stack .storefront-hero__cta-group {margin:1rem 0 0;align-self:start;}
 .storefront-hero--burger_stack .storefront-hero__meta {margin:1rem -1.3rem -2rem;font-size:.6rem;line-height:1.8;padding:1rem;}
 .storefront-hero--pub_almanac .storefront-hero__media {grid-area:1/1;min-height:0;height:100%;}
 .storefront-hero--pub_almanac .storefront-hero__overlay {width:auto;margin:10rem 1.4rem 2rem;padding:2rem 1.2rem!important;}
 .storefront-hero--pub_almanac .storefront-hero__title {font-size:clamp(2.7rem,11vw,4rem)!important;}
 .storefront-hero--pub_almanac .storefront-hero__subtitle {font-size:.95rem;}
}
.storefront-hero--text-only:is(.storefront-hero--lantern_editorial,.storefront-hero--pub_almanac) .storefront-hero__overlay {width:auto;margin:2rem;}
.storefront-hero--burger_stack.storefront-hero--text-only .storefront-hero__content {display:block;}.storefront-hero--burger_stack.storefront-hero--text-only .storefront-hero__title{margin-bottom:2rem;}

.storefront-hero--burger_stack .storefront-hero__meta {max-width:none;width:auto;}
@media(max-width:767.98px) {
 .storefront-hero--burger_stack .storefront-hero__media {grid-area:1/1!important;}
 .storefront-hero--lantern_editorial .storefront-hero__media {grid-area:1/1!important;}
}
/* Carry the venue's print language into the menu entry cards. */
body:has(.storefront-header--lantern_rail) .storefront-category-card {border-radius:0;border:5px double var(--gm-primary);}
body:has(.storefront-header--counter_bar) .storefront-category-card {border-radius:0;border:3px solid var(--gm-text);box-shadow:6px 6px 0 var(--gm-primary);}
body:has(.storefront-header--pub_crest) .storefront-category-card {border-radius:3px;border:6px double #c7a56b;}
.storefront-hero--pub_almanac .storefront-hero__title {font-style:normal;font-weight:700;letter-spacing:-.05em;}
@media(min-width:768px) and (max-width:1100px) {
 .storefront-hero--burger_stack .storefront-hero__subtitle {padding:1.5rem 1.5rem 11rem;font-size:1.15rem;}
}
