.menu-smash-pass {
    width: 100%;
    max-width: 100%;
}

.menu-smash-pass__error,
.menu-smash-pass__empty {
    text-align: center;
    font-size: 0.88rem;
    color: color-mix(in srgb, var(--main-text, #fff) 78%, transparent);
    margin: 0.5rem 0;
}

.menu-smash-pass__error {
    color: #fca5a5;
}

.menu-smash-pass__reel.hidden,
.menu-smash-pass__error.hidden,
.menu-smash-pass__empty.hidden,
.menu-smash-pass__empty-state.hidden,
.menu-smash-pass__vote-hint.hidden,
.menu-smash-pass__actions.hidden {
    display: none;
}

.menu-smash-pass__empty-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    box-sizing: border-box;
    border-radius: 1rem;
    background: rgba(0, 0, 0, 0.35);
    border: 1px dashed rgba(255, 255, 255, 0.22);
    text-align: center;
    padding: 1rem;
}

.menu-smash-pass__empty-hint {
    margin: 0;
    max-width: 14em;
    font-size: 0.78rem;
    line-height: 1.35;
    color: rgba(255, 255, 255, 0.55);
}

.menu-smash-pass__empty-state .menu-image-actions--standalone {
    position: static;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0;
    pointer-events: auto;
    border: none;
}

.menu-smash-pass__empty-state .menu-image-add-btn {
    width: auto;
    height: auto;
    min-height: 2.25rem;
    padding: 0.5em 1em;
    gap: 0.5em;
    font-size: 0.85rem;
    line-height: 1.2;
    border-radius: 999px;
    background: rgba(102, 126, 234, 0.45);
    border: 1px solid rgba(255, 255, 255, 0.25);
    color: rgba(255, 255, 255, 0.95);
}

.menu-smash-pass__empty-state .menu-image-add-btn:hover {
    background: rgba(102, 126, 234, 0.65);
    color: #fff;
    transform: none;
}

.menu-smash-pass__empty-state .menu-image-add-btn .fa {
    font-size: 0.95rem;
}

.menu-smash-pass__empty-state .menu-image-add-btn__label {
    position: static;
    width: auto;
    height: auto;
    margin: 0;
    padding: 0;
    overflow: visible;
    clip: auto;
    white-space: nowrap;
}

.menu-smash-pass__progress {
    text-align: center;
    margin: 0 0 0.45rem;
    font-size: 0.75rem !important;
    color: color-mix(in srgb, var(--main-text, #fff) 65%, transparent);
}

.menu-smash-pass__vote-hint {
    text-align: center;
    margin: 0 0 0.35rem;
    font-size: 0.72rem;
    line-height: 1.3;
    color: color-mix(in srgb, var(--main-text, #fff) 52%, transparent);
    flex-shrink: 0;
}

.menu-smash-pass__stack {
    position: relative;
    width: 100%;
    max-width: 18rem;
    margin-inline: auto;
    aspect-ratio: 3 / 4;
    min-height: 0;
    max-height: 100%;
    touch-action: pan-y;
    user-select: none;
}

.menu-smash-pass-card {
    position: absolute;
    inset: 0;
    border-radius: 1rem;
    max-width: calc(100vw - 1em);
    margin: auto;
    overflow: hidden;
    background: #0f172a;
    box-shadow: 0 12px 36px rgba(0, 0, 0, 0.38);
    border: 3px solid rgba(255, 255, 255, 0.14);
    cursor: grab;
    touch-action: pan-y;
    will-change: transform;
    transition: transform 0.28s ease, opacity 0.28s ease;
    display: flex;
    flex-direction: column;
}

.menu-smash-pass-card.is-unrated {
    border-color: rgba(196, 181, 253, 0.45);
}

.menu-smash-pass-card.is-rated-smash {
    border-color: rgba(74, 222, 128, 0.55);
}

.menu-smash-pass-card.is-rated-pass {
    border-color: rgba(248, 113, 113, 0.55);
}

.menu-smash-pass-card.is-behind {
    transform: scale(0.94) translateY(8px);
    opacity: 0.55;
    z-index: 1;
    pointer-events: none;
}

.menu-smash-pass-card.is-top {
    z-index: 2;
}

.menu-smash-pass-card.is-dragging {
    cursor: grabbing;
    transition: none;
}

.menu-smash-pass-card.is-snapping-back {
    transition: transform 0.28s cubic-bezier(0.34, 1.4, 0.64, 1);
}

.menu-smash-pass-card.is-exiting {
    pointer-events: none;
    transition: transform 0.32s ease-out, opacity 0.32s ease-out;
}

.menu-smash-pass-card.is-exit-smash {
    transform: translate(115%, -6%) rotate(14deg) !important;
    opacity: 0;
}

.menu-smash-pass-card.is-exit-pass {
    transform: translate(-115%, -6%) rotate(-14deg) !important;
    opacity: 0;
}

.menu-smash-pass-card__stamp {
    position: absolute;
    top: 1rem;
    z-index: 4;
    padding: 0.3rem 0.6rem;
    border-radius: 8px;
    font-size: large;
    font-weight: 800;
    letter-spacing: 0.08em;
    border: 3px solid currentColor;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.12s ease;
}

.menu-smash-pass-card__stamp--smash {
    left: 0.85rem;
    background: #4ade80;
    color: #fff;
    border-color: #4ade80;
    transform: rotate(-12deg);
    opacity: var(--smash-stamp-opacity, 0);
}

.menu-smash-pass-card__stamp--pass {
    right: 0.85rem;
    color: #fff;
    background: #f87171;
    border-color: #f87171;
    transform: rotate(12deg);
    opacity: var(--pass-stamp-opacity, 0);
}

.menu-smash-pass-card__media {
    position: relative;
    flex: 1 1 auto;
    min-height: 0;
    width: 100%;
    background: #111827;
    cursor: grab;
}

.menu-smash-pass-card__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    pointer-events: none;
}

.menu-smash-pass-card__info {
    flex-shrink: 0;
    position: relative;
    pointer-events: none;
    z-index: 3;
    padding: 0.55rem 3rem 0.6rem;
    background: linear-gradient(transparent, rgba(0, 0, 0, 0.82));
    color: #fff;
}

.menu-smash-pass-card__title {
    margin: 0 0 0.1rem;
    font-size: 0.92rem;
    font-weight: 700;
    text-transform: capitalize;
}

.menu-smash-pass-card__title-link {
    color: inherit;
    text-decoration: none;
    position: relative;
    z-index: 2;
}

.menu-smash-pass-card__title-link:hover,
.menu-smash-pass-card__title-link:focus-visible {
    color: #c4b5fd;
    text-decoration: underline;
    outline: none;
}

.menu-smash-pass-card__counts {
    display: flex;
    gap: .25em;
    text-wrap-mode: nowrap;
    position: absolute;
    bottom: 0em;
    right: 0em;
    background: #111111dd;
    padding: .2em 0.5em;
    width: -webkit-fill-available;
    font-size: medium;
    justify-content: space-between;
    flex-direction: row-reverse;
}

.menu-smash-pass-card__counts span {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    width: max-content;
}

button.menu-smash-pass-card__dislikes {
    border: none;
    background: transparent;
    color: #ef4444;
    text-shadow: -1px -1px #000000aa, 1px 1px #000000aa,1px -1px #000000aa, -1px 1px #000000aa;
    font: inherit;
    font-size: inherit;
    font-weight: bolder;
    line-height: inherit;
    pointer-events: all;
    cursor: pointer;
    padding: 0;
    -webkit-tap-highlight-color: transparent;
}

button.menu-smash-pass-card__dislikes:hover,
button.menu-smash-pass-card__dislikes:focus-visible {
    color: #ff8a80;
    outline: none;
    text-decoration: underline;
}

button.menu-smash-pass-card__dislikes:disabled {
    opacity: 0.55;
    cursor: wait;
}

.menu-smash-pass__actions {
    display: flex;
    justify-content: center;
    gap: 0.75rem;
    margin-top: 0.65rem;
    flex-shrink: 0;
}

.menu-smash-pass__btn {
    min-width: 6.5rem;
    justify-content: center;
    gap: 0.45em;
    padding: 0.55em 0.9em;
    color: #fff;
    border-color: rgba(255, 255, 255, 0.28);
}

.menu-smash-pass__btn .contact-cta__icon {
    width: 2rem;
    height: 2rem;
    background: rgba(255, 255, 255, 0.2);
    color: #fff;
}

.menu-smash-pass__btn .contact-cta__title {
    color: #fff;
}

.menu-smash-pass__btn:disabled {
    opacity: 0.45;
    cursor: not-allowed;
    transform: none;
}

.hero-content .menu-smash-pass__btn--pass,
.menu-smash-pass__btn--pass {
    background: linear-gradient(135deg, #991b1b 0%, #ef4444 100%);
    border-color: #fca5a5;
    color: #fff;
    box-shadow: 0 4px 16px rgba(239, 68, 68, 0.35), 0 0 0 1px rgba(255, 255, 255, 0.12) inset;
}

.hero-content .menu-smash-pass__btn--pass:hover,
.hero-content .menu-smash-pass__btn--pass:focus-visible,
.menu-smash-pass__btn--pass:hover,
.menu-smash-pass__btn--pass:focus-visible {
    background: linear-gradient(135deg, #b91c1c 0%, #f87171 100%);
    border-color: #fecaca;
    color: #fff;
    box-shadow: 0 6px 20px rgba(239, 68, 68, 0.45), 0 0 0 1px rgba(255, 255, 255, 0.2) inset;
}

.hero-content .menu-smash-pass__btn--smash,
.menu-smash-pass__btn--smash {
    background: linear-gradient(135deg, #166534 0%, #22c55e 100%);
    border-color: #86efac;
    color: #fff;
    box-shadow: 0 4px 16px rgba(34, 197, 94, 0.35), 0 0 0 1px rgba(255, 255, 255, 0.12) inset;
}

.hero-content .menu-smash-pass__btn--smash:hover,
.hero-content .menu-smash-pass__btn--smash:focus-visible,
.menu-smash-pass__btn--smash:hover,
.menu-smash-pass__btn--smash:focus-visible {
    background: linear-gradient(135deg, #15803d 0%, #4ade80 100%);
    border-color: #bbf7d0;
    color: #fff;
    box-shadow: 0 6px 20px rgba(34, 197, 94, 0.45), 0 0 0 1px rgba(255, 255, 255, 0.2) inset;
}

.hero-content .menu-smash-pass__btn--pass .contact-cta__icon,
.hero-content .menu-smash-pass__btn--smash .contact-cta__icon,
.menu-smash-pass__btn--pass .contact-cta__icon,
.menu-smash-pass__btn--smash .contact-cta__icon {
    background: rgba(255, 255, 255, 0.22);
    color: #fff;
}

.hero-content .menu-smash-pass__btn--pass .contact-cta__title,
.hero-content .menu-smash-pass__btn--smash .contact-cta__title,
.menu-smash-pass__btn--pass .contact-cta__title,
.menu-smash-pass__btn--smash .contact-cta__title {
    color: #fff;
}

/* Intro reel slide — stack + actions + share in one viewport */
.hero-content.menu-reels-slide--intro .menu-smash-pass__reel:not(.hidden) {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.hero-content.menu-reels-slide--intro .menu-smash-pass__progress {
    flex-shrink: 0;
    margin: 0 0 0.25rem;
    font-size: 0.68rem !important;
}

.hero-content.menu-reels-slide--intro .menu-smash-pass__vote-hint {
    margin: 0 0 0.2rem;
    font-size: 0.66rem;
}

.hero-content.menu-reels-slide--intro .menu-smash-pass__stack {
    flex: 1 1 auto;
    min-height: 0;
    width: min(90vw, 20rem);
    max-width: 20rem;
    height: 100%;
    max-height: 100%;
    aspect-ratio: unset;
}

.hero-content.menu-reels-slide--intro .menu-smash-pass-card__title {
    font-size: 0.82rem;
}

.hero-content.menu-reels-slide--intro .menu-smash-pass-card__title-link:hover,
.hero-content.menu-reels-slide--intro .menu-smash-pass-card__title-link:focus-visible {
    color: #ddd6fe;
}

.hero-content.menu-reels-slide--intro .menu-smash-pass__actions {
    margin-top: 0.45rem;
}

.hero-content.menu-reels-slide--intro .menu-smash-pass__btn {
    min-width: 5.75rem;
    padding: 0.45em 0.8em;
}

.hero-content.menu-reels-slide--intro .social-share-btn-container .contact-cta--share {
}

.hero-content.menu-reels-slide--intro .social-share-btn-container .contact-cta__hint {
    display: none;
}

/* Per-item empty photo placeholder — same footprint as smash stack */
.menu-item-card.menu-reels-slide .menu-item-smash-pass .menu-smash-pass__empty-state:not(.hidden) {
    flex: 0 0 auto;
    width: min(78vw, 16rem, 100cqw, 100cqh);
    max-width: 100%;
    max-height: 100%;
    margin: 0 auto;
    aspect-ratio: 1 / 1;
    height: auto;
}

/* Per-item smash pass on menu reel cards — largest 1:1 square that fits slide height */
.menu-item-card.menu-reels-slide .menu-item-smash-pass .menu-smash-pass__reel:not(.hidden) {
    flex: 1 1 0;
    min-height: 0;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    padding-inline: 0.5rem;
}

.menu-item-card.menu-reels-slide .menu-item-smash-pass .menu-smash-pass__stack {
    flex: 0 0 auto;
    max-width: 100%;
    max-height: 100%;
    margin: 0 auto;
    aspect-ratio: 1 / 1;
    height: auto;
}

.menu-item-card.menu-reels-slide .menu-item-smash-pass .menu-smash-pass-card {
    overflow: hidden;
}

.menu-item-card.menu-reels-slide .menu-item-smash-pass .menu-smash-pass-card__media {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    align-items: stretch;
    justify-content: center;
    overflow: hidden;
}

.menu-item-card.menu-reels-slide .menu-item-smash-pass .menu-smash-pass-card__img-stage {
    position: relative;
    flex: 1 1 auto;
    min-height: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.menu-item-card.menu-reels-slide .menu-item-smash-pass .menu-smash-pass-card__img--backdrop {
    position: absolute;
    inset: -10%;
    width: 120%;
    height: 120%;
    object-fit: cover;
    object-position: center;
    filter: blur(20px) saturate(1.12);
    transform: scale(1.06);
    opacity: 0.78;
    pointer-events: none;
}

.menu-item-card.menu-reels-slide .menu-item-smash-pass .menu-smash-pass-card__img--front {
    position: relative;
    z-index: 1;
    object-fit: contain;
    object-position: center;
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    pointer-events: none;
}

.menu-item-card.menu-reels-slide .menu-item-smash-pass .menu-smash-pass-card.is-behind .menu-smash-pass-card__img--front {
    object-fit: contain;
}

.menu-item-card.menu-reels-slide .menu-item-smash-pass .menu-smash-pass-card__stamp {
    top: 1.65rem;
    padding: 0.2rem 0.45rem;
    border-width: 2px;
}

.menu-item-card.menu-reels-slide .menu-item-smash-pass .menu-smash-pass-card__info--compact {
    padding: 0.25rem 0.4rem 0.35rem;
    position: absolute;
    bottom: 0px;
    right: 0;
    width: -webkit-fill-available;
}

.menu-item-card.menu-reels-slide .menu-item-smash-pass .menu-smash-pass-card__counts {
    font-size: large;
    font-weight: bolder;
    text-shadow: -1px -1px #000000aa, 1px 1px #000000aa, 1px -1px #000000aa, -1px 1px #000000aa;
    gap: 0.45rem;
}

.menu-smash-pass-card.is-local .menu-smash-pass-card__stamp {
    display: none;
}

/* Add-photo card — styled like smash/pass stack card, inserted as 3rd swipe */
.menu-smash-pass-card--add-photo {
    border-color: rgba(129, 140, 248, 0.55);
    background: linear-gradient(165deg, #1e1b4b 0%, #312e81 42%, #0f172a 100%);
    cursor: grab;
}

.menu-smash-pass-card--add-photo.is-dragging {
    cursor: grabbing;
}

.menu-smash-pass-card__add-photo-media {
    position: relative;
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.menu-smash-pass-card__add-photo-bg {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 20% 18%, rgba(167, 139, 250, 0.35), transparent 42%),
        radial-gradient(circle at 82% 78%, rgba(96, 165, 250, 0.28), transparent 46%),
        linear-gradient(145deg, rgba(255, 255, 255, 0.06), transparent 55%);
    pointer-events: none;
}

.menu-smash-pass-card__add-photo-body {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.55rem;
    padding: 1.25rem 1rem 1rem;
    text-align: center;
    width: 100%;
    box-sizing: border-box;
}

.menu-smash-pass-card__add-photo-ring {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 4.25rem;
    height: 4.25rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    border: 2px solid rgba(196, 181, 253, 0.55);
    box-shadow: 0 0 0 6px rgba(129, 140, 248, 0.12), 0 10px 28px rgba(0, 0, 0, 0.35);
    color: #e9d5ff;
    font-size: 1.65rem;
}

.menu-smash-pass-card__add-photo-title {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 700;
    letter-spacing: 0.01em;
    color: #f8fafc !important;
}

.menu-smash-pass-card__add-photo-hint {
    margin: 0;
    max-width: 13em;
    font-size: 0.78rem;
    line-height: 1.35;
    color: rgba(226, 232, 240, 0.72) !important;
}

.menu-smash-pass-card__add-photo-swipe {
    margin: 0;
    font-size: 0.72rem;
    line-height: 1.3;
    color: rgba(226, 232, 240, 0.62);
}

.menu-smash-pass-card--add-photo .menu-image-actions--standalone {
    position: static;
    display: flex;
    justify-content: center;
    margin: 0.15rem 0 0;
    padding: 0;
    pointer-events: auto;
}

.menu-smash-pass-card--add-photo .menu-image-add-btn {
    min-height: 2.35rem;
    padding: 0.55em 1.15em;
    gap: 0.45em;
    font-size: 0.82rem;
    font-weight: 600;
    border-radius: 999px;
    background: linear-gradient(135deg, rgba(129, 140, 248, 0.95), rgba(99, 102, 241, 0.92));
    border: 1px solid rgba(255, 255, 255, 0.28);
    color: #fff;
    box-shadow: 0 8px 22px rgba(79, 70, 229, 0.35);
}

.menu-smash-pass-card--add-photo .menu-image-add-btn:hover,
.menu-smash-pass-card--add-photo .menu-image-add-btn:focus-visible {
    background: linear-gradient(135deg, rgba(165, 180, 252, 1), rgba(129, 140, 248, 1));
    color: #fff;
    transform: translateY(-1px);
}

.menu-smash-pass-card--add-photo .menu-image-add-btn .fa {
    font-size: 0.95rem;
}

.menu-smash-pass-card__info--add-photo {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 0.45rem 0.65rem 0.55rem;
    background: linear-gradient(to top, rgba(15, 23, 42, 0.88), transparent);
}

.menu-item-card.menu-reels-slide .menu-item-smash-pass .menu-smash-pass-card--add-photo .menu-smash-pass-card__add-photo-media {
    min-height: 0;
}

.menu-item-card.menu-reels-slide .menu-item-smash-pass .menu-smash-pass-card--add-photo .menu-smash-pass-card__info--add-photo {
    width: 100%;
}

.menu-reels-item-modal__data .menu-smash-pass--modal .menu-smash-pass-card--add-photo,
.single-page-item-card .menu-smash-pass--single-page .menu-smash-pass-card--add-photo,
.menu-item-card.expanded .menu-smash-pass--single-page .menu-smash-pass-card--add-photo {
    border-color: rgba(129, 140, 248, 0.55);
}

/* Smash-or-pass in reels item modal */
.menu-reels-item-modal__data .menu-smash-pass--modal .menu-smash-pass__empty-state:not(.hidden) {
    flex: 0 0 auto;
    width: min(68vw, 14rem);
    max-width: 14rem;
    margin: 0 auto;
    aspect-ratio: 1 / 1;
    height: auto;
    max-height: min(68vw, 14rem);
}

.menu-reels-item-modal__data .menu-smash-pass--modal .menu-smash-pass__reel:not(.hidden) {
    flex: 0 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    width: 100%;
}

.menu-reels-item-modal__data .menu-smash-pass--modal .menu-smash-pass__stack {
    flex: 0 0 auto;
    max-width: 100%;
    margin: 0 auto;
    aspect-ratio: 1 / 1;
    height: auto;
    max-height: min(68vw, 14rem);
}

.menu-reels-item-modal__data .menu-smash-pass--modal .menu-smash-pass-card {
    overflow: hidden;
}

.menu-reels-item-modal__data .menu-smash-pass--modal .menu-smash-pass-card__media {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    align-items: stretch;
    justify-content: center;
    overflow: hidden;
}

.menu-reels-item-modal__data .menu-smash-pass--modal .menu-smash-pass-card__img-stage {
    position: relative;
    flex: 1 1 auto;
    min-height: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.menu-reels-item-modal__data .menu-smash-pass--modal .menu-smash-pass-card__img--backdrop {
    position: absolute;
    inset: -10%;
    width: 120%;
    height: 120%;
    object-fit: cover;
    object-position: center;
    filter: blur(20px) saturate(1.12);
    transform: scale(1.06);
    opacity: 0.78;
    pointer-events: none;
}

.menu-reels-item-modal__data .menu-smash-pass--modal .menu-smash-pass-card__img--front {
    position: relative;
    z-index: 1;
    object-fit: contain;
    object-position: center;
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    pointer-events: none;
}

.menu-reels-item-modal__data .menu-smash-pass--modal .menu-smash-pass-card.is-behind .menu-smash-pass-card__img--front {
    object-fit: contain;
}

.menu-reels-item-modal__data .menu-smash-pass--modal .menu-smash-pass-card__info--compact {
    padding: 0.35rem 0.5rem 0.45rem;
}

.menu-reels-item-modal__data .menu-smash-pass--modal .menu-smash-pass-card__counts {
}

.menu-reels-item-modal__data .menu-smash-pass--modal .menu-smash-pass__vote-hint {
    margin: 0.35rem 0 0;
    font-size: 0.72rem;
    text-align: center;
    opacity: 0.75;
}

.menu-reels-item-modal__data .menu-smash-pass--modal .menu-smash-pass__actions {
    margin-top: 0.45rem;
    width: 100%;
    max-width: 18rem;
}

.menu-reels-item-modal__data .menu-smash-pass--modal .menu-smash-pass__btn {
    min-width: 5.75rem;
    padding: 0.45em 0.8em;
}

.main--home .menu-smash-pass-card__counts {
    bottom: .6em;
    background: none;
    pointer-events: none;
}

/* Card-level add photo button — left of favorite, same look as heart control */
.menu-add-photo-btn {
    --add-photo-outline: rgba(255, 255, 255, 0.45);
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.65rem;
    height: 1.65rem;
    margin: 0;
    padding: 0;
    border: none;
    border-radius: 0;
    background: transparent;
    color: var(--add-photo-outline);
    cursor: pointer;
    box-shadow: none;
    transition:
        transform 0.2s cubic-bezier(0.4, 0, 0.2, 1),
        color 0.2s ease;
}

.menu-add-photo-btn:hover {
    transform: scale(1.08);
    color: rgba(255, 255, 255, 0.7);
}

.menu-add-photo-btn:active {
    transform: scale(0.94);
}

.menu-add-photo-btn:focus-visible {
    outline: 2px solid rgba(255, 255, 255, 0.6);
    outline-offset: 2px;
}

.menu-add-photo-btn__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 0;
    pointer-events: none;
}

.menu-add-photo-btn__svg {
    width: 1.35rem;
    height: 1.35rem;
    display: block;
}

.menu-add-photo-btn__svg path,
.menu-add-photo-btn__svg circle {
    fill: none;
    stroke: currentColor;
}

.menu-item-card > .menu-add-photo-btn {
    position: absolute;
    top: 0.7em;
    right: 0.35em;
    z-index: var(--ttms-z-card-controls, 8);
}

.menu-item-card > .menu-add-photo-btn:has(+ .menu-favorite-btn) {
    right: calc(0.35em + 1.65rem + 0.35rem);
}

/* Item detail (single page + inline expanded card) — smash-or-pass replaces carousel */
:is(.single-page-item-card .single-page-content, .menu-item-card.expanded .expanded-item-details)
    > .menu-item-smash-pass.menu-smash-pass--single-page {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 0.75rem 0 1rem;
    position: relative;
}

:is(.single-page-item-card, .menu-item-card.expanded) .menu-smash-pass--single-page .menu-smash-pass__empty-state:not(.hidden) {
    flex: 0 0 auto;
    width: min(100%, 28rem);
    max-width: 100%;
    margin: 0 auto;
    aspect-ratio: 1 / 1;
    height: auto;
    max-height: min(72dvh, calc(100dvh - 8em));
    min-height: 280px;
}

:is(.single-page-item-card, .menu-item-card.expanded) .menu-smash-pass--single-page .menu-smash-pass__reel:not(.hidden) {
    flex: 0 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    width: 100%;
}

:is(.single-page-item-card, .menu-item-card.expanded) .menu-smash-pass--single-page .menu-smash-pass__stack {
    flex: 0 0 auto;
    width: min(100%, 28rem);
    max-width: 100%;
    margin: 0 auto;
    aspect-ratio: 1 / 1;
    height: auto;
    max-height: min(72dvh, calc(100dvh - 8em));
    min-height: 280px;
}

:is(.single-page-item-card, .menu-item-card.expanded) .menu-smash-pass--single-page .menu-smash-pass-card {
    overflow: hidden;
}

:is(.single-page-item-card, .menu-item-card.expanded) .menu-smash-pass--single-page .menu-smash-pass-card__media {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    align-items: stretch;
    justify-content: center;
    overflow: hidden;
}

:is(.single-page-item-card, .menu-item-card.expanded) .menu-smash-pass--single-page .menu-smash-pass-card__img-stage {
    position: relative;
    flex: 1 1 auto;
    min-height: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

:is(.single-page-item-card, .menu-item-card.expanded) .menu-smash-pass--single-page .menu-smash-pass-card__img--backdrop {
    position: absolute;
    inset: -10%;
    width: 120%;
    height: 120%;
    object-fit: cover;
    object-position: center;
    filter: blur(20px) saturate(1.12);
    transform: scale(1.06);
    opacity: 0.78;
    pointer-events: none;
}

:is(.single-page-item-card, .menu-item-card.expanded) .menu-smash-pass--single-page .menu-smash-pass-card__img--front {
    position: relative;
    z-index: 1;
    object-fit: contain;
    object-position: center;
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    pointer-events: none;
}

:is(.single-page-item-card, .menu-item-card.expanded) .menu-smash-pass--single-page .menu-smash-pass-card.is-behind .menu-smash-pass-card__img--front {
    object-fit: contain;
}

:is(.single-page-item-card, .menu-item-card.expanded) .menu-smash-pass--single-page .menu-smash-pass-card__info--compact {
    padding: 0.35rem 0.5rem 0.45rem;
}

.single-page-item-card .single-page-content > .menu-favorite-btn {
    display: none;
}
