/* Square, medium, translucent image cards site-wide */

:root {
    --image-card-glass: rgba(42, 42, 42, 0.52);
    --image-card-border: rgba(255, 255, 255, 0.08);
}

/* ─── Shared image treatment ─── */
.mophyz-card-image,
.menu-item img,
.glass-card .relative.overflow-hidden img,
section .group.relative.overflow-hidden.rounded-lg > img[class*="object-cover"],
section .bg-dark.rounded-lg .relative.overflow-hidden img[class*="object-cover"],
section img.h-64.object-cover,
section img.h-80.object-cover {
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
    border-radius: 10px;
    opacity: 0.88;
    border: 1px solid rgba(255, 255, 255, 0.07);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.03);
    transition: opacity 0.3s ease, transform 0.35s ease;
}

.mophyz-card-image:hover,
.menu-item:hover img,
.glass-card:hover img,
section .group:hover > img[class*="object-cover"],
section .bg-dark.rounded-lg .group:hover img {
    opacity: 0.96;
}

/* ─── Menu item cards ─── */
.menu-item {
    background: var(--image-card-glass) !important;
    backdrop-filter: blur(14px) saturate(150%);
    -webkit-backdrop-filter: blur(14px) saturate(150%);
    border: 1px solid var(--image-card-border) !important;
    box-shadow: 0 8px 22px rgba(0, 0, 0, 0.16);
}

section .menu-item img,
.menu-item img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 auto 0.85rem !important;
    display: block;
}

/* ─── Glass cards (starters, side dishes, etc.) ─── */
.glass-card {
    background: var(--image-card-glass) !important;
    backdrop-filter: blur(14px) saturate(150%);
    -webkit-backdrop-filter: blur(14px) saturate(150%);
    border: 1px solid var(--image-card-border) !important;
}

.glass-card > .relative.overflow-hidden,
.glass-card > div.relative[class*="overflow-hidden"] {
    aspect-ratio: 1 / 1 !important;
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 !important;
    border-radius: 0;
    overflow: hidden;
}

.glass-card > .relative.overflow-hidden img,
.glass-card > div.relative[class*="overflow-hidden"] img {
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    border-radius: 0;
}

/* ─── Home overlay cards (SILVER / GOLD / PLATINUM) ─── */
section .group.relative.overflow-hidden.rounded-lg.shadow-xl,
section .group.relative.overflow-hidden.rounded-lg:not(.aspect-square) {
    aspect-ratio: 1 / 1;
    width: 100%;
    max-width: 100%;
    margin-inline: auto;
    background: rgba(30, 30, 30, 0.48);
    backdrop-filter: blur(12px) saturate(140%);
    -webkit-backdrop-filter: blur(12px) saturate(140%);
    border: 1px solid var(--image-card-border);
}

section .group.relative.overflow-hidden.rounded-lg > img[class*="object-cover"] {
    position: absolute;
    inset: 0;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    border-radius: 0;
}

/* ─── Promo / offer cards ─── */
section .bg-dark.rounded-lg.overflow-hidden.shadow-lg,
section .bg-dark.rounded-lg.overflow-hidden.shadow-2xl {
    background: rgba(30, 30, 30, 0.55) !important;
    backdrop-filter: blur(12px) saturate(140%);
    -webkit-backdrop-filter: blur(12px) saturate(140%);
    border: 1px solid var(--image-card-border);
}

section .bg-dark.rounded-lg .relative.overflow-hidden.group {
    aspect-ratio: 1 / 1;
    width: 100%;
    max-width: 100%;
    margin: 0;
    border-radius: 0;
    overflow: hidden;
}

section .bg-dark.rounded-lg .relative.overflow-hidden.group img {
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    margin: 0 !important;
    border-radius: 0;
}

/* ─── Signature cuts & teaser cards (full-width banner fit) ─── */
section .backdrop-blur-sm.bg-dark-gray img.h-48,
section .backdrop-blur-sm.bg-opacity-60 img.h-48,
#menu-teaser img.h-48 {
    aspect-ratio: unset !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 12rem !important;
    min-height: 12rem;
    margin: 0 0 1rem !important;
    display: block;
    object-fit: cover !important;
    border-radius: 10px;
    opacity: 0.88;
    border: 1px solid rgba(255, 255, 255, 0.07);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.03);
    transition: opacity 0.3s ease, transform 0.35s ease;
}

section .backdrop-blur-sm.bg-dark-gray img.h-48:hover,
section .backdrop-blur-sm.bg-opacity-60 img.h-48:hover,
#menu-teaser img.h-48:hover {
    opacity: 0.96;
}

/* ─── Other grid card images (square) ─── */
section img.h-48.object-cover.rounded-lg:not(#menu-teaser img),
section img.h-64.object-cover,
section img.h-80.object-cover {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin-inline: auto !important;
    display: block;
}

/* ─── Instagram / square gallery cards ─── */
section .aspect-square.rounded-lg,
section .aspect-square.group {
    width: 100%;
    max-width: 100%;
    margin-inline: auto;
    background: rgba(30, 30, 30, 0.46);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid var(--image-card-border);
}

section .aspect-square.rounded-lg img,
section .aspect-square.group img {
    opacity: 0.86;
}

/* ─── Exclude non-card images ─── */
.modern-hero img,
.modern-hero-frame img,
header img,
footer img,
.fixed.inset-0 img,
.fixed img,
.preloader img,
[class*="h-screen"] > img,
[class*="h-screen"] img,
#video img,
iframe,
img[alt="Background"],
img[alt="background"],
img[alt=""] {
    aspect-ratio: unset !important;
    opacity: 1 !important;
    max-width: none !important;
    border: none !important;
    box-shadow: none !important;
}
