/* DigitalWares — storefront design system */

:root {
    /* DigitalWares brand tokens */
    --mbs-orange: #F97316;
    --mbs-orange-dark: #EA580C;
    --mbs-orange-light: #FFF7ED;
    --mbs-charcoal: #0F172A;
    --mbs-charcoal-soft: #1E293B;
    --mbs-success: #16A34A;
    --mbs-success-dark: #15803D;
    --mbs-success-soft: #DCFCE7;
    /* Legacy token names kept for compatibility */
    --mbs-blue: var(--mbs-orange);
    --mbs-blue-dark: var(--mbs-orange-dark);
    --mbs-navy: var(--mbs-charcoal);
    --mbs-green: var(--mbs-orange);
    --mbs-green-dark: var(--mbs-orange-dark);
    --mbs-light-blue: var(--mbs-orange-light);
    --mbs-border: #FED7AA;
    --mbs-text: #111827;
    --mbs-muted: #64748B;
    --mbs-white: #FFFFFF;
    --mbs-green-soft: var(--mbs-orange-light);
    --mbs-accent-border-soft: color-mix(in srgb, var(--primary) 12%, var(--mbs-border));
    --mbs-accent-border-hover: color-mix(in srgb, var(--primary) 22%, var(--mbs-border));
    --mbs-text-on-dark: #F8FAFC;

    /* Semantic aliases used across the site */
    --background: var(--mbs-white);
    --foreground: var(--mbs-text);
    --primary: var(--mbs-orange);
    --primary-hover: var(--mbs-orange-dark);
    --primary-light: var(--mbs-orange-light);
    --accent: var(--mbs-orange);
    --accent-light: var(--mbs-orange-light);
    --secondary: #FFFBF7;
    --card: var(--mbs-white);
    --muted: var(--mbs-muted);
    --border: var(--mbs-border);
    --navy: var(--mbs-charcoal);
    --card-border: color-mix(in srgb, var(--primary) 22%, var(--border));
    --shadow-sm: 0 2px 6px rgb(15 23 42 / 0.03), 0 1px 2px rgb(15 23 42 / 0.02);
    --shadow-md: 0 6px 16px -6px rgb(15 23 42 / 0.05), 0 3px 6px -4px rgb(15 23 42 / 0.025);
    --shadow-lg: 0 14px 28px -10px rgb(15 23 42 / 0.07);
    --shadow-card: 0 2px 10px rgb(249 115 22 / 0.05);

    /* Corner radius — premium ecommerce scale */
    --radius-sm: 0.5rem;              /* 8px — inner media, small surfaces */
    --radius-md: 0.5625rem;           /* 9px — buttons & icon buttons */
    --radius-lg: 0.6875rem;           /* 11px — cards, inputs, panels */
    --radius-xl: 1.125rem;            /* 18px — hero & offer banners */
    --radius-2xl: 1.5rem;             /* 24px — modals & large promos */
    --radius-modal: 1.5rem;           /* 24px — search & newsletter popups */
    --radius-btn: var(--radius-md);
    --radius-icon-btn: var(--radius-md);
    --radius-card: var(--radius-lg);
    --radius-banner: var(--radius-xl);

    /* Homepage rhythm — shared section & tile tokens */
    --mbs-section-y: 3rem;
    --mbs-section-y-lg: 4rem;
    --mbs-section-header-gap: 2rem;
    --mbs-section-header-gap-lg: 2.5rem;
    --mbs-tile-radius: var(--radius-card);
    --mbs-product-image-pad: 0.75rem;
    --mbs-product-media-h: 220px;
    --mbs-product-media-h-md: 230px;
    --mbs-tile-image-h: 220px;
    --mbs-tile-image-h-md: 230px;
    --mbs-tile-image-h-lg: 240px;
    --mbs-gradient-brand-section: linear-gradient(135deg, #0F172A 0%, #1E293B 48%, #EA580C 100%);
}

[x-cloak] {
    display: none !important;
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    overflow-x: clip;
}

body {
    margin: 0;
    background-color: var(--background);
    color: var(--foreground);
    font-family: "Plus Jakarta Sans", system-ui, sans-serif;
    -webkit-font-smoothing: antialiased;
    overflow-x: clip;
}

main {
    overflow-x: clip;
}

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

button,
input,
select,
textarea {
    font: inherit;
}

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

/* Layout */
.mbs-container {
    margin-left: auto;
    margin-right: auto;
    max-width: 80rem;
    min-width: 0;
    padding-left: 1rem;
    padding-right: 1rem;
}

@media (min-width: 1024px) {
    .mbs-container {
        padding-left: 1.5rem;
        padding-right: 1.5rem;
    }
}

.mbs-page-section {
    padding-top: var(--mbs-section-y);
    padding-bottom: var(--mbs-section-y);
}

@media (min-width: 1024px) {
    .mbs-page-section {
        padding-top: var(--mbs-section-y-lg);
        padding-bottom: var(--mbs-section-y-lg);
    }
}

.mbs-page-section--muted {
    background-color: var(--secondary);
}

/* Homepage sections */
.home-section {
    padding-top: var(--mbs-section-y);
    padding-bottom: var(--mbs-section-y);
}

@media (min-width: 1024px) {
    .home-section {
        padding-top: var(--mbs-section-y-lg);
        padding-bottom: var(--mbs-section-y-lg);
    }
}

.home-section-inner {
    margin-top: var(--mbs-section-header-gap);
}

@media (min-width: 1024px) {
    .home-section-inner {
        margin-top: var(--mbs-section-header-gap-lg);
    }
}

/* Section headers */
.mbs-section-header {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
}

.mbs-section-header--center {
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.mbs-section-title {
    margin: 0;
    font-size: 1.625rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--navy);
    line-height: 1.2;
}

@media (min-width: 1024px) {
    .mbs-section-title {
        font-size: 2rem;
    }
}

.mbs-section-subtitle {
    margin: 0.5rem 0 0;
    font-size: 0.875rem;
    color: var(--muted);
    line-height: 1.6;
}

@media (min-width: 1024px) {
    .mbs-section-subtitle {
        font-size: 1rem;
    }
}

.mbs-section-link {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--primary);
    transition: color 0.2s ease;
}

.mbs-section-link:hover {
    color: var(--primary-hover);
}

/* Header */
.site-header,
.mbs-header {
    position: sticky;
    top: 0;
    z-index: 50;
    background: #fff;
}

.mbs-topbar {
    border-bottom: none;
    background: linear-gradient(90deg, var(--mbs-charcoal) 0%, var(--mbs-charcoal-soft) 100%);
    color: #fff;
    font-size: 0.75rem;
}

.mbs-header-separator,
.mbs-section-separator {
    height: 3px;
    background: var(--primary);
}

.mbs-topbar-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}

.mbs-header-main {
    position: relative;
    border-bottom: 1px solid var(--border);
    background: rgba(255, 255, 255, 0.97);
    backdrop-filter: blur(10px);
    box-shadow: var(--shadow-sm);
}

.mbs-header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding-top: 0.875rem;
    padding-bottom: 0.875rem;
}

@media (min-width: 1024px) {
    .mbs-header-inner {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
        align-items: center;
        gap: 1.5rem;
        min-height: 4.25rem;
        padding-top: 0.75rem;
        padding-bottom: 0.75rem;
    }
}

.mbs-header-brand {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    min-width: 0;
}

@media (min-width: 1024px) {
    .mbs-header-brand {
        justify-self: start;
    }
}

.mbs-logo-link {
    display: inline-flex;
    align-items: center;
    gap: 0.625rem;
}

.mbs-logo-img {
    display: block;
    height: 2.5rem;
    width: auto;
    max-width: 10.5rem;
    aspect-ratio: auto;
    object-fit: contain;
    object-position: left center;
}

.mbs-logo-text {
    font-size: 1.25rem;
    font-weight: 800;
    letter-spacing: -0.03em;
    color: var(--primary);
    line-height: 1;
}

.mbs-logo-text span {
    color: var(--navy);
}

.mbs-nav {
    display: none;
    align-items: center;
    gap: 0.125rem;
}

@media (min-width: 1024px) {
    .mbs-nav {
        display: flex;
        justify-self: center;
        grid-column: 2;
    }
}

.mbs-nav-link {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.625rem 0.875rem;
    border-radius: 0;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--foreground);
    transition: color 0.2s ease;
    border: none;
    background: transparent;
    cursor: pointer;
    text-decoration: none;
}

.mbs-nav-link:hover {
    background: transparent;
    color: var(--primary);
}

.mbs-nav-link.is-active {
    background: transparent;
    color: var(--primary);
    box-shadow: none;
}

.mbs-header-actions {
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

@media (min-width: 1024px) {
    .mbs-header-actions {
        justify-self: end;
        grid-column: 3;
        gap: 0.375rem;
    }
}

.mbs-mega-menu,
.shop-mega-menu {
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    z-index: 40;
    display: none;
    border-top: 1px solid var(--border);
    background: #ffffff;
    box-shadow: 0 18px 40px rgb(15 23 42 / 0.12);
}

@media (min-width: 1024px) {
    .mbs-mega-menu,
    .shop-mega-menu {
        display: block;
    }
}

.mbs-mega-menu-inner {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.5rem;
    padding: 1.75rem 0 2rem;
}

@media (min-width: 768px) {
    .mbs-mega-menu-inner {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 1.75rem;
    }
}

@media (min-width: 1280px) {
    .mbs-mega-menu-inner {
        grid-template-columns: repeat(5, minmax(0, 1fr));
        gap: 1.5rem;
    }
}

.mbs-mega-title {
    margin: 0;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--navy);
}

.mbs-mega-links {
    margin: 1rem 0 0;
    padding: 0;
    list-style: none;
}

.mbs-mega-links li + li {
    margin-top: 0.375rem;
}

.mbs-mega-menu-item,
.mega-menu-item {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.5rem 0.625rem;
    border-radius: var(--radius-icon-btn);
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.35;
    color: var(--navy);
    text-decoration: none;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.mbs-mega-menu-item:hover,
.mega-menu-item:hover {
    background: var(--primary-light);
    color: var(--primary);
    text-decoration: none;
}

.mbs-mega-menu-thumb,
.mega-menu-thumb {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    padding: 0.25rem;
    border: 1px solid var(--mbs-light-blue);
    border-radius: var(--radius-icon-btn);
    background: var(--secondary);
    overflow: hidden;
}

.mbs-mega-menu-thumb-img,
.mega-menu-thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
}

.mbs-mega-menu-label {
    min-width: 0;
}

/* Icon buttons */
.mbs-icon-btn,
.header-icon-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 2.375rem;
    width: 2.375rem;
    border: none;
    border-radius: var(--radius-icon-btn);
    color: var(--navy);
    background: transparent;
    transition: background-color 0.2s ease, color 0.2s ease;
    cursor: pointer;
}

.mbs-icon-btn:hover,
.header-icon-btn:hover {
    background: transparent;
    color: var(--primary);
}

.mbs-cart-badge,
.cart-count {
    position: absolute;
    right: 0.125rem;
    top: 0.125rem;
    display: flex;
    min-width: 1rem;
    height: 1rem;
    align-items: center;
    justify-content: center;
    padding: 0 0.1875rem;
    border-radius: 999px;
    background: var(--primary);
    font-size: 0.625rem;
    font-weight: 700;
    line-height: 1;
    color: #fff;
    box-shadow: 0 0 0 2px #fff;
}

/* Header — small mobile (iPhone SE / iPhone 5) */
@media (max-width: 1023px) {
    .mbs-header-main {
        overflow-x: clip;
    }

    .mbs-header-brand {
        flex: 1 1 auto;
        min-width: 0;
    }

    .mbs-header-actions {
        flex: 0 0 auto;
    }

    .mbs-logo-link {
        min-width: 0;
        max-width: 100%;
    }
}

@media (max-width: 480px) {
    .mbs-header-main .mbs-header-inner.mbs-container {
        gap: 0.625rem;
        padding-left: 0.875rem;
        padding-right: 0.875rem;
        padding-top: 0.75rem;
        padding-bottom: 0.75rem;
    }

    .mbs-header-brand {
        gap: 0.5rem;
    }

    .mbs-logo-img {
        height: auto;
        max-height: 2.25rem;
        max-width: 8.4375rem;
        object-fit: contain;
        object-position: left center;
    }

    .mbs-icon-btn,
    .header-icon-btn {
        width: 2.125rem;
        height: 2.125rem;
        flex-shrink: 0;
    }

    .mbs-header-actions {
        gap: 0.5rem;
    }
}

@media (max-width: 380px) {
    .mbs-topbar {
        font-size: 0.75rem;
        line-height: 1.3;
    }

    .mbs-topbar-inner {
        justify-content: center;
        padding-top: 0.5rem;
        padding-bottom: 0.5rem;
        text-align: center;
    }

    .mbs-topbar-inner p {
        margin: 0;
        line-height: 1.3;
    }

    .mbs-header-main .mbs-header-inner.mbs-container {
        gap: 0.375rem;
        padding-left: 0.625rem;
        padding-right: 0.625rem;
    }

    .mbs-header-brand {
        gap: 0.375rem;
    }

    .mbs-icon-btn--menu {
        width: 1.875rem;
        height: 1.875rem;
        flex: 0 0 1.875rem;
    }

    .mbs-logo-img {
        max-width: 7.1875rem;
        max-height: 2rem;
    }

    .mbs-header-actions {
        gap: 0.3125rem;
    }

    .mbs-header .mbs-icon-btn,
    .mbs-header .header-icon-btn {
        width: 1.75rem;
        height: 1.75rem;
    }

    .mbs-header .mbs-icon-btn svg,
    .mbs-header .header-icon-btn svg {
        width: 1.0625rem;
        height: 1.0625rem;
    }

    .mbs-header .mbs-cart-badge,
    .mbs-header .cart-count {
        min-width: 0.9375rem;
        height: 0.9375rem;
        padding: 0 0.125rem;
        font-size: 0.625rem;
        top: -0.125rem;
        right: -0.125rem;
    }
}

/* Header scoped aliases */
.nav-link.active,
.mbs-nav-link.is-active {
    background: transparent;
    color: var(--accent);
}

/* Hero — homepage full-width showcase (resources/views/components/hero-grid.blade.php) */
.hero-showcase {
    width: 100%;
    max-width: 100%;
    padding: 0.75rem 1rem 0;
    background: var(--background);
    box-sizing: border-box;
}

@media (min-width: 1024px) {
    .hero-showcase {
        padding: 0.875rem 1.5rem 0;
    }
}

.hero-showcase-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    width: 100%;
}

@media (min-width: 1024px) {
    .hero-showcase-grid {
        grid-template-columns: 65fr 35fr;
        gap: 14px;
        align-items: stretch;
        min-height: 580px;
    }
}

.hero-main-carousel,
.hero-side-card {
    position: relative;
    display: block;
    overflow: hidden;
    border: 2px solid color-mix(in srgb, var(--primary) 38%, var(--mbs-border));
    border-radius: var(--radius-xl);
    color: #ffffff;
    text-decoration: none;
    box-shadow: var(--shadow-sm);
    transition: border-color 0.2s ease, box-shadow 0.25s ease, transform 0.25s ease;
}

.hero-side-card:hover,
.hero-main-carousel:hover {
    border-color: color-mix(in srgb, var(--primary) 58%, var(--mbs-border));
    box-shadow: 0 8px 24px rgb(249 115 22 / 0.08);
    transform: translateY(-1px);
}

.hero-main-carousel {
    min-height: 22rem;
    height: 22rem;
}

@media (min-width: 640px) {
    .hero-main-carousel {
        min-height: 26rem;
        height: 26rem;
    }
}

@media (min-width: 1024px) {
    .hero-main-carousel {
        min-height: 580px;
        height: 580px;
    }
}

.hero-main-carousel-track {
    position: relative;
    width: 100%;
    height: 100%;
}

.hero-main-carousel .hero-slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    background: linear-gradient(135deg, #ffffff 0%, #fffbf7 48%, #fff7ed 100%);
    transition: opacity 0.65s ease, visibility 0.65s ease;
}

.hero-main-carousel .hero-slide.active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    z-index: 1;
}

.hero-slide-bg,
.hero-side-card-bg {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: min(62%, 30rem);
    height: 100%;
    object-fit: contain;
    object-position: center right;
    transform: scale(1);
    transition: transform 0.45s ease;
}

.hero-slide-bg--banner {
    width: min(68%, 34rem);
    object-position: center right;
}

.hero-side-card-bg {
    object-position: center right;
}

.hero-side-card:hover .hero-side-card-bg {
    transform: scale(1.03);
}

.hero-overlay--main,
.hero-overlay--side {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    display: none;
}

.hero-overlay--main {
    background: none;
}

.hero-overlay--side {
    background: none;
}

.hero-side-column {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
}

@media (min-width: 1024px) {
    .hero-side-column {
        grid-template-rows: 1fr 1fr;
        gap: 14px;
        min-height: 580px;
        height: 100%;
    }
}

.hero-side-card {
    min-height: 14rem;
    height: 14rem;
    background: linear-gradient(180deg, #ffffff 0%, #fffbf7 100%);
}

@media (min-width: 640px) {
    .hero-side-card {
        min-height: 16rem;
        height: 16rem;
    }
}

@media (min-width: 1024px) {
    .hero-side-card {
        min-height: 0;
        height: auto;
    }
}

.hero-content {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    height: 100%;
    padding: 1.5rem;
    text-shadow: 0 1px 8px rgba(0, 0, 0, 0.22);
}

@media (min-width: 640px) {
    .hero-content {
        padding: 2rem 2.25rem;
    }
}

@media (min-width: 1024px) {
    .hero-content--main {
        justify-content: center;
        max-width: 38rem;
        padding: 2rem 2.5rem;
    }

    .hero-content--main::before {
        content: "";
        position: absolute;
        inset: 0 auto 0 0;
        width: 52%;
        background: linear-gradient(90deg, rgb(255 255 255 / 0.96) 0%, rgb(255 251 247 / 0.88) 72%, transparent 100%);
        pointer-events: none;
        z-index: -1;
    }

    .hero-content--side {
        padding: 1.5rem 1.5rem;
        text-shadow: none;
    }
}

.hero-label {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    margin: 0;
    padding: 0.375rem 0.75rem;
    font-size: 0.625rem;
    font-weight: 700;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--primary);
    background: rgb(249 115 22 / 0.1);
    border: 1px solid rgb(249 115 22 / 0.2);
    border-radius: 9999px;
}

.hero-label--accent {
    color: var(--primary);
}

.hero-title {
    margin: 0.875rem 0 0;
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -0.02em;
    color: #ffffff;
}

.hero-content--main .hero-title {
    font-size: clamp(1.875rem, 4.2vw, 3.25rem);
    text-transform: uppercase;
}

.hero-main-carousel .hero-content--main .hero-title {
    color: var(--navy);
    text-shadow: none;
    line-height: 1.12;
}

.hero-main-carousel .hero-content--main .hero-subtitle {
    color: rgb(71 85 105 / 0.95);
    text-shadow: none;
    line-height: 1.65;
}

.hero-content--side .hero-title {
    font-size: clamp(1.25rem, 2.4vw, 1.625rem);
    text-transform: uppercase;
    color: var(--navy);
    text-shadow: none;
}

.hero-content--side {
    text-shadow: none;
}

.hero-subtitle {
    margin: 1rem 0 0;
    max-width: 30rem;
    font-size: 0.9375rem;
    line-height: 1.65;
    color: rgb(255 255 255 / 0.92);
}

@media (min-width: 1024px) {
    .hero-subtitle {
        margin-top: 1.125rem;
        font-size: 1rem;
    }
}

.hero-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-self: flex-start;
    margin-top: 1.625rem;
    min-width: 9.5rem;
    padding: 0.875rem 1.75rem;
    border: 1px solid var(--primary);
    border-radius: var(--radius-btn);
    background-color: var(--primary);
    color: #ffffff !important;
    font-size: 0.8125rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    box-shadow: 0 4px 14px rgb(249 115 22 / 0.22);
    transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.hero-main-carousel .hero-btn:hover {
    background-color: var(--primary-hover);
    border-color: var(--primary-hover);
    transform: translateY(-1px);
    box-shadow: 0 6px 18px rgb(249 115 22 / 0.28);
}

.hero-btn--link {
    min-width: 0;
    margin-top: 1rem;
    padding: 0;
    border: none;
    border-radius: 0;
    background: transparent;
    color: var(--navy) !important;
    font-size: 0.8125rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: none;
}

.hero-btn--link::after {
    content: " →";
}

.hero-side-card:hover .hero-btn--link {
    color: var(--primary) !important;
}

.hero-carousel-controls {
    position: absolute;
    left: 50%;
    bottom: 1.5rem;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    gap: 0.625rem;
    padding: 0.5rem 0.875rem;
    border-radius: 999px;
    background: rgba(0, 0, 0, 0.28);
    backdrop-filter: blur(8px);
    transform: translateX(-50%);
}

@media (min-width: 1024px) {
    .hero-carousel-controls {
        bottom: 2rem;
    }
}

.hero-prev,
.hero-next {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    padding: 0;
    border: none;
    border-radius: 999px;
    background: transparent;
    color: rgba(255, 255, 255, 0.9);
    cursor: pointer;
    transition: color 0.2s ease, background-color 0.2s ease;
}

.hero-prev:hover,
.hero-next:hover {
    color: #ffffff;
    background: rgba(255, 255, 255, 0.12);
}

.hero-prev svg,
.hero-next svg {
    width: 1rem;
    height: 1rem;
}

.hero-dot {
    width: 0.5rem;
    height: 0.5rem;
    padding: 0;
    border: none;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.45);
    cursor: pointer;
    transition: width 0.25s ease, background-color 0.25s ease;
}

.hero-dot.active {
    width: 1.75rem;
    background: var(--accent);
}

@media (max-width: 768px) {
    .hero-main-carousel {
        min-height: 24rem;
        height: 26rem;
    }

    .hero-slide-bg,
    .hero-slide-bg--banner {
        object-position: center center;
    }

    .hero-side-card-bg {
        object-position: center center;
    }

    .hero-content--main {
        padding: 1.5rem;
        padding-bottom: 5.625rem;
    }

    .hero-content--main .hero-label {
        font-size: 0.625rem;
        letter-spacing: 0.18em;
    }

    .hero-content--main .hero-title {
        margin-top: 0.625rem;
        font-size: 2rem;
        line-height: 1.05;
    }

    .hero-content--main .hero-subtitle {
        margin-top: 0.75rem;
        font-size: 0.9375rem;
        line-height: 1.5;
    }

    .hero-main-carousel .hero-btn {
        margin-top: 1.125rem;
        position: relative;
        z-index: 3;
        min-width: 8.5rem;
        padding: 0.8125rem 1.5rem;
    }

    .hero-carousel-controls {
        bottom: 1.375rem;
        left: 50%;
        z-index: 4;
        transform: translateX(-50%);
    }

    .hero-showcase-grid {
        gap: 0.875rem;
    }

    .hero-side-column {
        gap: 0.875rem;
    }

    .hero-side-card {
        min-height: 12rem;
        height: 12rem;
    }

    .hero-content--side {
        padding: 1.25rem 1.5rem;
    }

    .hero-content--side .hero-title {
        margin-top: 0.5rem;
        font-size: 1.125rem;
    }

    .hero-content--side .hero-btn--link {
        margin-top: 0.625rem;
    }
}

/* Legacy hero grid aliases */
.hero-grid-section,
.hero-grid,
.hero-main-banner,
.hero-side-banners,
.hero-side-banner,
.hero-main-banner-bg,
.hero-side-banner-bg,
.hero-main-banner-overlay,
.hero-side-banner-overlay {
    display: none;
}

/* Legacy hero slider aliases (keep if cached HTML references old classes) */
.mbs-hero-slide { display: none; }
.mbs-hero-image { display: none; }
.mbs-hero-media { display: none; }
.mbs-hero-content { display: none; }
.mbs-hero-btn-primary { display: none; }
.mbs-hero-btn-secondary { display: none; }

/* Premium feature strip — product carousel (resources/views/components/category-strip.blade.php) */
.mbs-feature-strip {
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    background: linear-gradient(
        180deg,
        var(--mbs-light-blue) 0%,
        var(--secondary) 55%,
        var(--background) 100%
    );
    padding: var(--mbs-section-y) 0;
}

@media (min-width: 1024px) {
    .mbs-feature-strip {
        padding: var(--mbs-section-y-lg) 0;
    }
}

.mbs-feature-carousel {
    position: relative;
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

@media (min-width: 768px) {
    .mbs-feature-carousel {
        gap: 1rem;
    }
}

.mbs-feature-carousel-viewport {
    flex: 1;
    min-width: 0;
    overflow: hidden;
}

.mbs-feature-carousel-track {
    display: flex;
    gap: 1.25rem;
    transition: transform 0.45s ease;
    will-change: transform;
}

@media (min-width: 768px) {
    .mbs-feature-carousel-track {
        gap: 1.75rem;
    }
}

@media (min-width: 1024px) {
    .mbs-feature-carousel-track {
        gap: 2rem;
    }
}

.mbs-feature-carousel-item {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.875rem;
    text-decoration: none;
    color: inherit;
}

.mbs-feature-carousel-thumb {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 7.5rem;
    height: 7.5rem;
    margin: 0 auto;
    padding: 1rem;
    border-radius: var(--radius-card);
    background: #ffffff;
    box-shadow: 0 4px 18px rgb(15 23 42 / 0.08);
    overflow: hidden;
    transition: transform 0.28s ease, box-shadow 0.28s ease;
    flex-shrink: 0;
}

@media (min-width: 768px) {
    .mbs-feature-carousel-thumb {
        width: 8.75rem;
        height: 8.75rem;
        padding: 1.125rem;
    }
}

@media (min-width: 1024px) {
    .mbs-feature-carousel-thumb {
        width: 10rem;
        height: 10rem;
        padding: 1.25rem;
    }
}

.mbs-feature-carousel-item:hover .mbs-feature-carousel-thumb {
    transform: translateY(-4px);
    box-shadow: 0 8px 20px rgb(249 115 22 / 0.07);
}

.mbs-feature-carousel-image {
    display: block;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    object-position: center;
    border-radius: 0;
    filter: none;
    transition: transform 0.28s ease;
}

.mbs-feature-carousel-item:hover .mbs-feature-carousel-image {
    transform: scale(1.05);
    filter: none;
}

.mbs-feature-carousel-label {
    display: -webkit-box;
    max-width: 10.5rem;
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1.35;
    text-align: center;
    color: var(--navy);
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

@media (min-width: 768px) {
    .mbs-feature-carousel-label {
        font-size: 0.875rem;
    }
}

.mbs-feature-carousel-nav {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    padding: 0;
    border: none;
    border-radius: var(--radius-icon-btn);
    background: #ffffff;
    color: var(--muted);
    box-shadow: 0 2px 10px rgb(15 23 42 / 0.1);
    cursor: pointer;
    transition: color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

@media (min-width: 768px) {
    .mbs-feature-carousel-nav {
        width: 2.75rem;
        height: 2.75rem;
    }
}

.mbs-feature-carousel-nav svg {
    width: 1.125rem;
    height: 1.125rem;
}

.mbs-feature-carousel-nav:hover:not(:disabled) {
    color: var(--primary);
    box-shadow: 0 4px 12px rgb(249 115 22 / 0.08);
    transform: translateY(-1px);
}

.mbs-feature-carousel-nav:disabled {
    opacity: 0.4;
    cursor: not-allowed;
}

/* Legacy marquee aliases */
.mbs-feature-strip-track,
.mbs-feature-strip-marquee,
.mbs-feature-strip-group,
.mbs-feature-item,
.mbs-feature-label,
.mbs-feature-icon {
    display: none;
}

/* Legacy category strip (unused on homepage) */
.mbs-category-strip {
    border-bottom: 1px solid var(--border);
    background: var(--mbs-light-blue);
    padding: 1rem 0;
}

.mbs-category-strip-scroll {
    display: flex;
    gap: 0.75rem;
    overflow-x: auto;
    padding-bottom: 0.25rem;
    scrollbar-width: none;
}

.mbs-category-strip-scroll::-webkit-scrollbar {
    display: none;
}

.mbs-category-pill {
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    gap: 0.5rem;
    padding: 0.625rem 1rem;
    border-radius: 999px;
    border: 1px solid var(--border);
    background: #fff;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--foreground);
    box-shadow: var(--shadow-sm);
    transition: border-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.mbs-category-pill:hover {
    border-color: var(--primary);
    color: var(--primary);
    transform: translateY(-1px);
}

/* Special Offers — large promo banners (homepage) */
.mbs-promo-banners {
    display: grid;
    gap: 1.25rem;
    grid-template-columns: 1fr;
    align-items: stretch;
}

@media (min-width: 768px) {
    .mbs-promo-banners {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.5rem;
    }
}

.mbs-promo-banner {
    position: relative;
    display: flex;
    overflow: hidden;
    aspect-ratio: 2 / 1;
    min-height: 0;
    border-radius: var(--radius-banner);
    border: 1px solid var(--border);
    background: var(--mbs-light-blue);
    text-decoration: none;
    transition: box-shadow 0.25s ease;
}

@media (min-width: 768px) {
    .mbs-promo-banner {
        aspect-ratio: 2 / 1;
        min-height: 0;
    }
}

@media (min-width: 1024px) {
    .mbs-promo-banner {
        aspect-ratio: 2 / 1;
        min-height: 0;
    }
}

.mbs-promo-banner:hover {
    box-shadow: var(--shadow-md);
}

.mbs-promo-banner-bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    opacity: 1;
    transform: translateZ(0);
    backface-visibility: hidden;
    transition: transform 0.5s ease;
}

.mbs-promo-banner:hover .mbs-promo-banner-bg {
    transform: scale(1.03);
}

.mbs-promo-banner-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        90deg,
        transparent 0%,
        transparent 48%,
        rgba(8, 43, 79, 0.18) 68%,
        rgba(8, 43, 79, 0.45) 100%
    );
    pointer-events: none;
}

.mbs-promo-banner-content {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: center;
    height: 100%;
    min-height: inherit;
    padding: 2rem 1.75rem;
    text-align: right;
}

@media (min-width: 768px) {
    .mbs-promo-banner-content {
        padding: 2.5rem 2rem;
    }
}

.mbs-promo-banner-label {
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--accent);
}

.mbs-promo-banner-title {
    margin: 0.5rem 0 0;
    max-width: 14rem;
    font-size: 1.375rem;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: -0.02em;
    color: #ffffff;
}

@media (min-width: 768px) {
    .mbs-promo-banner-title {
        max-width: 16rem;
        font-size: 1.625rem;
    }
}

@media (min-width: 1024px) {
    .mbs-promo-banner-title {
        font-size: 1.75rem;
    }
}

.mbs-promo-banner-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 1.25rem;
    padding: 0.6875rem 1.5rem;
    border-radius: var(--radius-btn);
    background-color: var(--primary);
    font-size: 0.875rem;
    font-weight: 700;
    color: #ffffff !important;
    transition: background-color 0.2s ease;
}

.mbs-promo-banner:hover .mbs-promo-banner-btn {
    background-color: var(--accent);
}

/* Legacy promo cards */
.mbs-promo-card {
    position: relative;
    overflow: hidden;
    border-radius: var(--radius-banner);
    border: 1px solid var(--card-border);
    box-shadow: var(--shadow-sm);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.mbs-promo-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-md);
}

.mbs-promo-card img {
    height: 13rem;
    width: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.mbs-promo-card:hover img {
    transform: scale(1.05);
}

.mbs-promo-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgb(15 23 42 / 0.92) 0%, rgb(15 23 42 / 0.35) 55%, transparent 100%);
}

.mbs-promo-content {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    padding: 1.25rem;
    color: #fff;
}

.mbs-promo-title {
    margin: 0;
    font-size: 1.25rem;
    font-weight: 700;
}

.mbs-promo-subtitle {
    margin: 0.25rem 0 0;
    font-size: 0.875rem;
    color: var(--mbs-light-blue);
}

.mbs-promo-cta {
    display: inline-flex;
    margin-top: 0.75rem;
    font-size: 0.875rem;
    font-weight: 700;
    color: #fff;
}

/* Cards shared */
.mbs-shop-card,
.shop-sidebar-card,
.shop-filter-panel {
    border-radius: var(--radius-lg);
    border: 1px solid var(--card-border);
    background-color: var(--card);
    box-shadow: var(--shadow-sm);
}

.shop-filter-panel {
    overflow: hidden;
}

.product-shadow {
    box-shadow: var(--shadow-sm);
}

.product-shadow-hover {
    transition: box-shadow 0.25s ease, transform 0.25s ease, border-color 0.25s ease;
}

.product-shadow-hover:hover {
    box-shadow: var(--shadow-md);
}

/* Category cards */
.mbs-category-card {
    overflow: hidden;
    border-radius: var(--mbs-tile-radius);
    border: 1px solid var(--card-border);
    background: #fff;
    box-shadow: var(--shadow-sm);
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.mbs-category-card:hover {
    transform: translateY(-3px);
    border-color: color-mix(in srgb, var(--primary) 35%, transparent);
    box-shadow: var(--shadow-md);
}

.mbs-category-card-media {
    position: relative;
    overflow: hidden;
    background: var(--secondary);
}

.mbs-category-card-media--large {
    height: 14rem;
}

@media (min-width: 640px) {
    .mbs-category-card-media--large {
        height: 15rem;
    }
}

.mbs-category-card-media img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.mbs-category-card:hover .mbs-category-card-media img {
    transform: scale(1.06);
}

.mbs-category-card-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgb(15 23 42 / 0.75) 0%, transparent 60%);
}

.mbs-category-card-body {
    padding: 1rem 1.25rem 1.25rem;
}

/* Shop By Category tiles — shared (resources/views/components/shop-category-tile.blade.php) */
.mbs-shop-category-section {
    background: var(--secondary);
}

.mbs-shop-category-section .home-section-inner {
    margin-top: var(--mbs-section-header-gap);
}

@media (min-width: 1024px) {
    .mbs-shop-category-section .home-section-inner {
        margin-top: var(--mbs-section-header-gap-lg);
    }
}

.mbs-shop-category-grid {
    display: grid;
    align-items: stretch;
    gap: 1.25rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    min-width: 0;
}

@media (min-width: 768px) {
    .mbs-shop-category-grid {
        gap: 1.5rem;
    }
}

@media (min-width: 1024px) {
    .mbs-shop-category-grid {
        grid-template-columns: repeat(4, 1fr);
        gap: 1.75rem;
    }

    .mbs-shop-category-grid--premium {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }
}

.mbs-shop-category-tile.category-card {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
    border: 1px solid var(--mbs-border);
    border-radius: var(--mbs-tile-radius);
    background: #ffffff;
    box-shadow: 0 2px 10px rgb(15 23 42 / 0.05);
    transition: box-shadow 0.3s ease, border-color 0.3s ease, transform 0.3s ease;
}

.mbs-shop-category-tile.category-card:hover {
    border-color: color-mix(in srgb, var(--primary) 30%, var(--mbs-border));
    box-shadow: 0 8px 22px -8px rgb(249 115 22 / 0.07);
    transform: translateY(-2px);
}

.mbs-shop-category-tile .category-image-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    height: var(--mbs-tile-image-h);
    padding: 1.25rem;
    background: #ffffff;
    border-bottom: 1px solid var(--mbs-light-blue);
}

@media (min-width: 640px) {
    .mbs-shop-category-tile .category-image-wrap {
        height: var(--mbs-tile-image-h-md);
        padding: 1.5rem;
    }
}

@media (min-width: 1024px) {
    .mbs-shop-category-tile .category-image-wrap {
        height: var(--mbs-tile-image-h-lg);
        padding: 1.5rem;
    }
}

.mbs-shop-category-tile .category-image-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}

.mbs-shop-category-tile .category-image {
    display: block;
    width: auto;
    height: auto;
    max-width: 85%;
    max-height: 85%;
    object-fit: contain;
    object-position: center;
    transition: transform 0.35s ease;
}

.mbs-shop-category-tile.category-card:hover .category-image {
    transform: scale(1.04);
}

.mbs-shop-category-tile .category-card-body {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-top: auto;
    padding: 1rem 1.125rem;
    min-height: 4.5rem;
}

@media (min-width: 768px) {
    .mbs-shop-category-tile .category-card-body {
        padding: 1.125rem 1.25rem;
    }
}

.mbs-shop-category-tile .category-title {
    margin: 0;
    flex: 1;
    min-width: 0;
    font-size: 0.9375rem;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.01em;
    color: var(--navy);
}

@media (min-width: 768px) {
    .mbs-shop-category-tile .category-title {
        font-size: 1rem;
    }
}

.mbs-shop-category-tile .category-arrow {
    position: static;
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    min-width: 44px;
    min-height: 44px;
    border-radius: var(--radius-icon-btn);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    line-height: 1;
    background: var(--mbs-light-blue);
    color: var(--primary);
    text-decoration: none;
    transition: background-color 0.25s ease, color 0.25s ease, transform 0.25s ease;
    box-shadow: 0 3px 10px rgb(249 115 22 / 0.06);
}

.mbs-shop-category-tile.category-card:hover .category-arrow {
    background: var(--accent);
    color: #ffffff;
    transform: translateX(2px);
}

.mbs-shop-category-tile .category-arrow-icon {
    display: block;
    width: 18px;
    height: 18px;
    flex-shrink: 0;
}

@media (max-width: 768px) {
    .mbs-container:has(> .mbs-shop-category-grid),
    .mbs-container:has(> .home-section-inner.mbs-shop-category-grid) {
        overflow: hidden;
    }

    .mbs-shop-category-grid {
        display: flex;
        align-items: stretch;
        gap: 1rem;
        overflow-x: auto;
        overscroll-behavior-x: contain;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        margin-inline: -1rem;
        padding-inline: 1rem;
        padding-bottom: 0.625rem;
    }

    .mbs-shop-category-grid::-webkit-scrollbar {
        display: none;
    }

    .mbs-shop-category-grid > .mbs-shop-category-tile.category-card {
        flex: 0 0 78%;
        min-width: 78%;
        max-width: 78%;
        scroll-snap-align: start;
    }
}

/* Product cards — standardized (resources/views/components/product-card.blade.php) */
.product-card,
.mbs-product-card {
    position: relative;
    display: flex;
    height: 100%;
    flex-direction: column;
    overflow: hidden;
    border-radius: var(--mbs-tile-radius);
    border: 1px solid var(--mbs-light-blue);
    background: #ffffff;
    box-shadow: 0 3px 12px rgb(15 23 42 / 0.04);
    transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
}

.product-card:hover,
.mbs-product-card:hover {
    transform: translateY(-4px);
    border-color: color-mix(in srgb, var(--primary) 38%, var(--mbs-border));
    box-shadow: 0 10px 24px rgb(15 23 42 / 0.06);
}

.product-image-wrap,
.product-card-media {
    position: relative;
    flex-shrink: 0;
    height: var(--mbs-product-media-h);
    overflow: visible;
    padding: var(--mbs-product-image-pad);
    background: #ffffff;
    border-radius: var(--mbs-tile-radius) var(--mbs-tile-radius) 0 0;
}

@media (min-width: 640px) {
    .product-image-wrap,
    .product-card-media {
        height: var(--mbs-product-media-h-md);
    }
}

.product-image-inner {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    overflow: hidden;
    border-radius: var(--radius-sm);
    background: #ffffff;
    border: none;
}

.product-card:hover .product-image-inner,
.mbs-product-card:hover .product-image-inner {
    border: none;
}

.product-image-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    min-height: 100%;
    padding: 0;
}

.product-image {
    display: block;
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    margin: 0 auto;
    object-fit: contain;
    object-position: center center;
    transition: transform 0.35s ease;
}

.product-card:hover .product-image,
.mbs-product-card:hover .product-image {
    transform: scale(1.04);
}

.product-badge,
.mbs-product-badge {
    position: absolute;
    top: 1rem;
    left: 1rem;
    z-index: 5;
    padding: 0.3125rem 0.75rem;
    border-radius: 9999px;
    font-size: 0.625rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #ffffff;
    background: var(--navy);
    box-shadow: 0 4px 10px rgb(15 23 42 / 0.18);
}

.product-badge--sale,
.mbs-product-badge--sale {
    background: var(--accent);
}

.product-badge--new,
.mbs-product-badge--new {
    background: var(--primary);
}

.product-badge--featured,
.mbs-product-badge--featured {
    background: var(--mbs-blue-dark);
}

.product-actions,
.mbs-product-actions {
    position: absolute;
    top: 1.125rem;
    right: 1rem;
    z-index: 10;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    opacity: 0;
    transform: translateX(8px);
    pointer-events: none;
    transition: opacity 0.25s ease, transform 0.25s ease;
}

.product-action-item {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.product-action-label {
    position: absolute;
    right: calc(100% + 0.625rem);
    top: 50%;
    z-index: 12;
    display: inline-flex;
    align-items: center;
    min-height: 2rem;
    padding: 0.375rem 0.75rem;
    border-radius: 0.25rem;
    background: var(--primary);
    color: #ffffff;
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1.2;
    white-space: nowrap;
    box-shadow: 0 8px 20px rgb(15 23 42 / 0.14);
    opacity: 0;
    visibility: hidden;
    transform: translate(6px, -50%);
    transition: opacity 0.2s ease, visibility 0.2s ease, transform 0.2s ease, background-color 0.2s ease;
    pointer-events: none;
}

.product-action-label::after {
    content: '';
    position: absolute;
    top: 50%;
    right: -0.375rem;
    width: 0;
    height: 0;
    border-top: 0.375rem solid transparent;
    border-bottom: 0.375rem solid transparent;
    border-left: 0.375rem solid var(--primary);
    transform: translateY(-50%);
    transition: border-left-color 0.2s ease;
}

.product-action-label.is-visible,
.product-action-item:hover .product-action-label,
.product-action-item:focus-within .product-action-label {
    opacity: 1;
    visibility: visible;
    transform: translate(0, -50%);
}

.product-action-label--active {
    background: var(--accent);
}

.product-action-label--active::after {
    border-left-color: var(--accent);
}

.product-card:hover .product-actions,
.mbs-product-card:hover .product-actions,
.product-card:hover .mbs-product-actions,
.mbs-product-card:hover .mbs-product-actions {
    opacity: 1;
    transform: translateX(0);
    pointer-events: auto;
}

.product-action-form {
    margin: 0;
    display: flex;
}

.product-action-btn,
.mbs-quick-btn {
    width: 42px;
    height: 42px;
    min-width: 42px;
    min-height: 42px;
    padding: 0;
    border-radius: var(--radius-icon-btn);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    color: var(--navy);
    border: 1px solid var(--mbs-light-blue);
    box-shadow: 0 6px 16px rgb(15 23 42 / 0.1);
    cursor: pointer;
    text-decoration: none;
    transition: background-color 0.22s ease, color 0.22s ease, border-color 0.22s ease, transform 0.22s ease;
}

.product-action-btn svg,
.mbs-quick-btn svg {
    width: 1.125rem;
    height: 1.125rem;
    flex-shrink: 0;
}

.product-action-btn:hover,
.mbs-quick-btn:hover {
    background: var(--primary);
    color: #ffffff;
    border-color: var(--primary);
    transform: translateX(-2px);
}

.product-action-btn.is-active,
.product-action-btn.wishlist-active,
.product-action-btn--wishlist.is-active {
    background: var(--accent);
    color: #ffffff;
    border-color: var(--accent);
}

.product-card-body,
.mbs-product-card-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 0.625rem;
    padding: 1.375rem 1.25rem 1.25rem;
    overflow: hidden;
    border-radius: 0 0 var(--mbs-tile-radius) var(--mbs-tile-radius);
    background: #ffffff;
}

@media (min-width: 640px) {
    .product-card-body,
    .mbs-product-card-body {
        padding: 1.375rem 1.5rem 1.5rem;
    }
}

.product-title,
.mbs-product-title {
    margin: 0;
    min-height: 2.75rem;
    font-size: 0.9375rem;
    font-weight: 600;
    line-height: 1.4;
    color: var(--navy);
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

.product-title a {
    color: inherit;
    text-decoration: none;
    transition: color 0.2s ease;
}

.product-title a:hover {
    color: var(--primary);
}

.product-rating,
.mbs-product-rating {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    margin-top: 0;
    min-height: 1.125rem;
    font-size: 16px;
    line-height: 1;
}

.product-stars {
    display: inline-flex;
    align-items: center;
    gap: 0.125rem;
    font-size: 16px;
    line-height: 1;
}

.product-star {
    font-size: 16px;
    line-height: 1;
}

.product-star--full {
    color: #f59e0b;
}

.product-star--empty {
    color: #d1d5db;
}

.product-star--half {
    position: relative;
    display: inline-flex;
    width: 1rem;
    height: 1rem;
    font-size: 16px;
    line-height: 1;
}

.product-star-half-fill,
.product-star-half-empty {
    position: absolute;
    top: 0;
    left: 0;
    width: 1rem;
    height: 1rem;
    overflow: hidden;
    line-height: 1;
}

.product-star-half-fill {
    z-index: 2;
    width: 50%;
    color: #f59e0b;
}

.product-star-half-empty {
    color: #d1d5db;
}

.product-review-count {
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--muted);
    line-height: 1;
}

.product-price-row {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.5rem;
    margin-top: 0;
    margin-bottom: 0;
}

.product-price,
.mbs-product-price {
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.2;
    color: var(--primary);
}

.product-price-old,
.product-old-price,
.mbs-product-price-old {
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--muted);
    text-decoration: line-through;
}

.product-cart-form {
    margin: 0;
    margin-top: auto;
    width: 100%;
}

.product-cart-btn,
.mbs-product-card-body .mbs-btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    margin-top: auto;
    margin-bottom: 0;
    margin-left: 0;
    margin-right: 0;
    min-height: 52px;
    padding: 0.75rem 1rem;
    border: none;
    border-radius: var(--radius-btn);
    background: var(--primary);
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1;
    text-align: center;
    text-decoration: none;
    color: #ffffff !important;
    cursor: pointer;
    transition: background-color 0.2s ease, transform 0.15s ease;
}

.product-cart-btn svg,
.product-cart-btn i {
    width: 1.25rem;
    height: 1.25rem;
    flex-shrink: 0;
    display: block;
}

.product-cart-btn:hover,
.mbs-product-card-body .mbs-btn-primary:hover {
    background: var(--primary-hover);
    border-color: var(--primary-hover);
}

.product-cart-btn:active {
    transform: scale(0.98);
}

.mbs-product-card-body .mbs-btn {
    margin-top: auto;
}

.mbs-product-grid {
    display: grid;
    align-items: stretch;
    gap: 1.25rem;
    grid-template-columns: minmax(0, 1fr);
    min-width: 0;
}

@media (min-width: 640px) {
    .mbs-product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 1024px) {
    .mbs-product-grid--4 {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 1.5rem;
    }

    .mbs-product-grid--2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1.5rem;
    }
}

.mbs-product-grid > .product-card,
.mbs-product-grid > .mbs-product-card {
    height: 100%;
    min-height: 100%;
}

.product-price--contact,
.mbs-product-detail-price.product-price--contact {
    font-size: 0.9375rem;
    font-weight: 700;
    color: var(--primary);
    letter-spacing: 0.01em;
}

/* Trust strip — homepage service cards (matches Our Core Values) */
.trust-strip {
    padding: var(--mbs-section-y) 0;
    background: var(--secondary);
}

@media (min-width: 1024px) {
    .trust-strip {
        padding: var(--mbs-section-y-lg) 0;
    }
}

.trust-strip-grid {
    display: grid;
    gap: 1.25rem;
}

@media (min-width: 640px) {
    .trust-strip-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 1024px) {
    .trust-strip-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

.trust-strip-card {
    padding: 1.5rem 1.25rem;
    border: 1px solid var(--card-border);
    border-radius: var(--radius-lg);
    background: #fff;
    box-shadow: var(--shadow-sm);
    text-align: center;
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.trust-strip-card:hover {
    transform: translateY(-4px);
    border-color: color-mix(in srgb, var(--primary) 35%, var(--border));
    box-shadow: var(--shadow-md);
}

.trust-strip-card:nth-child(even):hover {
    border-color: color-mix(in srgb, var(--accent) 45%, var(--border));
}

.trust-strip-card-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    margin-bottom: 1rem;
    border-radius: 50%;
    background: var(--primary-light);
    color: var(--primary);
}

.trust-strip-card:nth-child(even) .trust-strip-card-icon {
    background: var(--accent-light);
    color: var(--mbs-green-dark);
}

.trust-strip-card-icon svg {
    width: 1.3rem;
    height: 1.3rem;
}

.trust-strip-card-title {
    margin: 0 0 0.5rem;
    font-size: 1rem;
    font-weight: 700;
    color: var(--navy);
}

.trust-strip-card-desc {
    margin: 0;
    font-size: 0.875rem;
    line-height: 1.6;
    color: var(--muted);
}

/* Trust / Why shop — contact page support block */
.mbs-trust-section {
    background: linear-gradient(180deg, var(--mbs-charcoal) 0%, var(--mbs-charcoal-soft) 100%);
    color: #ffffff;
}

.mbs-trust-section .mbs-section-title {
    color: #ffffff;
}

.mbs-trust-section .mbs-section-subtitle {
    color: var(--mbs-text-on-dark);
}

.mbs-trust-card {
    padding: 1.5rem 1.25rem;
    text-align: center;
    border-radius: var(--radius-lg);
    border: 1px solid rgba(255, 255, 255, 0.22);
    background: rgba(255, 255, 255, 0.08);
    box-shadow: none;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

.mbs-trust-card:hover {
    background: rgba(255, 255, 255, 0.12);
    border-color: rgba(255, 255, 255, 0.35);
    transform: none;
    box-shadow: none;
}

.mbs-trust-card h3 {
    color: #ffffff !important;
}

.mbs-trust-card p {
    color: var(--mbs-text-on-dark) !important;
}

.mbs-trust-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3.25rem;
    height: 3.25rem;
    margin: 0 auto;
    border-radius: var(--radius-sm);
    border: 1px solid rgba(255, 255, 255, 0.35);
    background: rgba(255, 255, 255, 0.06);
    font-size: 1.25rem;
}

/* AI section */
.mbs-ai-section {
    background: linear-gradient(135deg, #0F172A 0%, #1E293B 55%, #0F172A 100%);
    color: #fff;
}

.mbs-ai-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    height: 100%;
    padding: 1.75rem 1.5rem;
    border-radius: var(--mbs-tile-radius);
    border: 1px solid rgba(255, 255, 255, 0.15);
    background: rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(8px);
    text-align: center;
}

.mbs-ai-card-icon {
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 3.25rem;
    height: 3.25rem;
    margin: 0 auto 1.25rem;
    border-radius: var(--radius-sm);
    background: var(--primary);
    color: #ffffff;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2);
}

.mbs-ai-card-icon svg {
    width: 26px;
    height: 26px;
    flex-shrink: 0;
}

.mbs-ai-card-title {
    margin: 0;
    width: 100%;
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.35;
    color: #ffffff;
}

.mbs-ai-card-desc {
    margin: 0.625rem 0 0;
    flex: 1;
    width: 100%;
    max-width: 22rem;
    font-size: 0.875rem;
    line-height: 1.6;
    color: var(--mbs-text-on-dark);
}

/* Blog cards */
.mbs-blog-card {
    display: flex;
    height: 100%;
    flex-direction: column;
    overflow: hidden;
    border-radius: var(--mbs-tile-radius);
    border: 1px solid var(--mbs-accent-border-soft);
    background: #fff;
    box-shadow: var(--shadow-sm);
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.mbs-blog-card:hover {
    transform: translateY(-3px);
    border-color: var(--mbs-accent-border-hover);
    box-shadow: var(--shadow-md);
}

.mbs-blog-card-media {
    position: relative;
    display: block;
    height: 12rem;
    overflow: hidden;
    background: var(--secondary);
    text-decoration: none;
}

@media (min-width: 640px) {
    .mbs-blog-card-media {
        height: 13rem;
    }
}

.mbs-blog-card-media img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.mbs-blog-card:hover .mbs-blog-card-media img {
    transform: scale(1.05);
}

.mbs-blog-card-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 1.25rem;
}

/* Shop page */
.mbs-shop-layout {
    display: grid;
    gap: 2rem;
}

.shop-active-filters {
    margin: 0 0 1.25rem;
    padding: 0.875rem 1rem;
    border: 1px solid var(--mbs-border, #fed7aa);
    background: #fff7ed;
}

.shop-active-filters__hint {
    margin: 0 0 0.5rem;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--muted, #64748b);
}

.shop-active-filters__list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
}

.shop-active-filters__chip {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.35rem 0.65rem;
    border: 1px solid var(--mbs-border, #fed7aa);
    background: #ffffff;
    color: var(--mbs-navy, #0f172a);
    font-size: 0.8125rem;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.shop-active-filters__chip:hover {
    background: var(--primary, #f97316);
    border-color: var(--primary, #f97316);
    color: #ffffff;
}

.shop-active-filters__clear {
    margin-left: 0.25rem;
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--primary, #f97316);
    text-decoration: underline;
}

@media (min-width: 1024px) {
    .mbs-shop-layout {
        grid-template-columns: 280px 1fr;
    }
}

.shop-filter-host {
    position: relative;
}

.shop-filter-drawer-backdrop {
    position: fixed;
    inset: 0;
    z-index: 49;
    background: rgb(15 23 42 / 0.5);
}

@media (min-width: 1024px) {
    .shop-filter-drawer-backdrop {
        display: none !important;
    }
}

.shop-filter-panel-wrapper {
    position: fixed;
    inset: 0 0 0 auto;
    z-index: 50;
    width: min(100%, 22rem);
    max-width: 100%;
    transform: translateX(100%);
    transition: transform 0.25s ease;
    pointer-events: none;
}

.shop-filter-panel-wrapper.is-open {
    transform: translateX(0);
    pointer-events: auto;
}

@media (min-width: 1024px) {
    .shop-filter-panel-wrapper {
        position: static;
        inset: auto;
        z-index: auto;
        width: auto;
        transform: none;
        pointer-events: auto;
    }
}

.shop-filter-panel-wrapper .shop-sidebar-card {
    height: 100%;
    max-height: 100vh;
    overflow-y: auto;
    border-radius: 0;
}

@media (min-width: 1024px) {
    .shop-filter-panel-wrapper .shop-sidebar-card {
        height: auto;
        max-height: none;
        overflow: visible;
        border-radius: var(--radius-lg);
    }
}

.shop-filter-mobile-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid var(--border);
    padding: 1rem 1.25rem;
}

@media (min-width: 1024px) {
    .shop-filter-mobile-header {
        display: none;
    }
}

.shop-catalog-main {
    min-width: 0;
}

/* Shop page product grid — 3 columns with sidebar (homepage stays 4 via mbs-product-grid--4) */
.shop-page .shop-products-grid {
    display: grid;
    align-items: stretch;
    gap: 1.25rem;
}

.shop-page .shop-products-grid--grid {
    grid-template-columns: 1fr;
}

@media (min-width: 640px) {
    .shop-page .shop-products-grid--grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1.5rem;
    }
}

@media (min-width: 1024px) {
    .shop-page .shop-products-grid--grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 1.75rem;
    }
}

.shop-page .shop-products-grid--list {
    grid-template-columns: 1fr;
    gap: 1rem;
}

.shop-page .shop-products-grid--list .product-card {
    flex-direction: row;
    align-items: stretch;
}

.shop-page .shop-products-grid--list .product-image-wrap {
    flex-shrink: 0;
    width: 9.5rem;
    height: 9.5rem;
    min-height: 9.5rem;
    border-radius: var(--radius-card) 0 0 var(--radius-card);
}

@media (min-width: 640px) {
    .shop-page .shop-products-grid--list .product-image-wrap {
        width: 11rem;
        height: 11rem;
        min-height: 11rem;
    }
}

.shop-page .shop-products-grid--list .product-image-inner,
.shop-page .shop-products-grid--list .product-image-link {
    height: 100%;
    min-height: 0;
}

.shop-page .shop-products-grid--list .product-card-body {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    border-radius: 0 0.75rem 0.75rem 0;
}

.shop-page .shop-products-grid--list .product-cart-form {
    max-width: 14rem;
}

.shop-page .shop-products-grid > .product-card {
    height: 100%;
}

.mbs-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.5rem;
    padding: 1rem 1.25rem;
    border-radius: var(--radius-xl);
    border: 1px solid var(--card-border);
    background: #fff;
    box-shadow: var(--shadow-sm);
}

.mbs-toolbar-meta {
    font-size: 0.875rem;
    color: var(--muted);
}

.mbs-toolbar-meta strong {
    color: var(--navy);
}

.mbs-toolbar-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
}

.mbs-view-toggle {
    display: none;
    align-items: center;
    gap: 0.25rem;
    padding: 0.25rem;
    border-radius: var(--radius-lg);
    border: 1px solid var(--border);
}

@media (min-width: 640px) {
    .mbs-view-toggle {
        display: flex;
    }
}

.mbs-view-toggle button {
    padding: 0.375rem 0.75rem;
    border: none;
    border-radius: var(--radius-btn);
    font-size: 0.75rem;
    font-weight: 600;
    background: transparent;
    color: var(--muted);
    cursor: pointer;
}

.mbs-view-toggle button.is-active {
    background: var(--primary);
    color: #fff;
    font-weight: 700;
}

/* Filter sidebar */
.mbs-filter-help {
    padding: 1rem;
    border-bottom: 1px solid var(--border);
    background: linear-gradient(135deg, var(--primary-light) 0%, #fff 100%);
}

.mbs-filter-help-title {
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--primary);
}

.mbs-filter-title {
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--navy);
}

.mbs-filter-scroll,
.mbs-filter-scroll {
    max-height: calc(100vh - 220px);
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: color-mix(in srgb, var(--primary) 40%, var(--mbs-muted)) transparent;
}

/* Page hero */
.mbs-page-hero {
    border-bottom: 1px solid var(--border);
    background: linear-gradient(135deg, var(--mbs-light-blue) 0%, #fff 50%, var(--secondary) 100%);
}

.mbs-page-hero-inner {
    padding-top: 2rem;
    padding-bottom: 2.5rem;
}

.mbs-breadcrumb {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    margin-bottom: 1rem;
    font-size: 0.875rem;
    color: var(--muted);
}

.mbs-breadcrumb a:hover {
    color: var(--accent);
}

.mbs-page-title {
    margin: 0;
    font-size: 1.75rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--navy);
}

/* Static content pages */
.mbs-static-content {
    max-width: 52rem;
    margin: 0 auto;
    padding: 2rem 1.75rem;
    border: 1px solid var(--card-border);
    border-radius: var(--radius-lg);
    background: #fff;
    box-shadow: var(--shadow-sm);
}

@media (min-width: 768px) {
    .mbs-static-content {
        padding: 2.5rem 2.75rem;
    }
}

.mbs-static-content > p:first-child {
    margin-top: 0;
}

.mbs-static-content h2 {
    margin: 2rem 0 0.75rem;
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--primary);
}

.mbs-static-content h2:first-child {
    margin-top: 0;
}

.mbs-static-content p,
.mbs-static-content li {
    margin: 0 0 1rem;
    font-size: 0.96875rem;
    line-height: 1.75;
    color: var(--muted);
}

.mbs-static-content ul,
.mbs-static-content ol {
    margin: 0 0 1.25rem;
    padding-left: 1.25rem;
}

.mbs-static-content a {
    color: var(--primary);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.mbs-static-content a:hover {
    color: var(--navy);
}

.mbs-static-faq {
    margin: 1.5rem 0 2rem;
    border: 1px solid var(--mbs-border);
    border-radius: var(--radius-lg);
    overflow: hidden;
    background: var(--secondary);
}

.mbs-static-faq-item + .mbs-static-faq-item {
    border-top: 1px solid var(--mbs-border);
}

.mbs-static-faq-question {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    width: 100%;
    padding: 1rem 1.25rem;
    border: none;
    background: transparent;
    font: inherit;
    font-size: 0.96875rem;
    font-weight: 700;
    text-align: left;
    color: var(--navy);
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.mbs-static-faq-question svg {
    flex-shrink: 0;
    width: 1.125rem;
    height: 1.125rem;
    color: var(--primary);
    transition: transform 0.2s ease;
}

.mbs-static-faq-question.is-open svg {
    transform: rotate(180deg);
}

.mbs-static-faq-question:hover,
.mbs-static-faq-question.is-open {
    background: rgb(255 255 255 / 0.65);
    color: var(--primary);
}

.mbs-static-faq-answer {
    padding: 0 1.25rem 1rem;
}

.mbs-static-faq-answer-wrap {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.28s ease;
}

.mbs-static-faq-item.is-open .mbs-static-faq-answer-wrap {
    grid-template-rows: 1fr;
}

.mbs-static-faq-answer-wrap > .mbs-static-faq-answer {
    overflow: hidden;
    min-height: 0;
    padding-top: 0;
    padding-bottom: 0;
}

.mbs-static-faq-item.is-open .mbs-static-faq-answer-wrap > .mbs-static-faq-answer {
    padding-bottom: 1rem;
}

.mbs-static-faq-answer p {
    margin: 0;
}

@media (min-width: 1024px) {
    .mbs-page-title {
        font-size: 2.25rem;
    }
}

/* Contact */
.mbs-contact-grid {
    display: grid;
    gap: 2rem;
}

@media (min-width: 1024px) {
    .mbs-contact-grid {
        grid-template-columns: 1fr 1fr;
        align-items: start;
    }
}

.mbs-contact-details {
    display: grid;
    gap: 1rem;
    padding: 1.25rem 1.5rem;
    border-radius: var(--radius-xl);
    border: 1px solid var(--card-border);
    background: #fff;
    box-shadow: var(--shadow-sm);
}

@media (min-width: 768px) {
    .mbs-contact-details {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 1.5rem;
    }
}

.mbs-contact-details-label {
    display: block;
    margin-bottom: 0.375rem;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--muted);
}

.mbs-contact-details-item p {
    margin: 0;
    font-size: 0.9375rem;
    line-height: 1.55;
    color: var(--navy);
}

.mbs-contact-details-item a {
    color: var(--primary);
    text-decoration: none;
}

.mbs-contact-details-item a:hover {
    text-decoration: underline;
}

.mbs-contact-form {
    padding: 1.5rem;
    border-radius: var(--radius-xl);
    border: 1px solid var(--card-border);
    background: #fff;
    box-shadow: var(--shadow-sm);
}

@media (min-width: 1024px) {
    .mbs-contact-form {
        padding: 2rem;
    }
}

.mbs-contact-image {
    overflow: hidden;
    border-radius: var(--radius-xl);
    border: 1px solid var(--card-border);
    background: var(--secondary);
    box-shadow: var(--shadow-sm);
}

.mbs-contact-image img {
    width: 100%;
    height: 100%;
    min-height: 22rem;
    max-height: 28rem;
    object-fit: cover;
}

.mbs-form-grid {
    display: grid;
    gap: 1rem;
}

@media (min-width: 640px) {
    .mbs-form-grid--2 {
        grid-template-columns: 1fr 1fr;
    }
}

.mbs-support-card {
    padding: 1.5rem;
    border-radius: var(--radius-lg);
    border: 1px solid var(--mbs-border);
    background: #fff;
    box-shadow: 0 4px 14px rgb(249 115 22 / 0.04);
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.mbs-support-card:hover {
    transform: translateY(-2px);
    border-color: color-mix(in srgb, var(--primary) 35%, var(--mbs-border));
    box-shadow: 0 8px 20px rgb(249 115 22 / 0.07);
}

.mbs-map-card {
    overflow: hidden;
    border-radius: var(--radius-xl);
    border: 1px solid var(--mbs-border);
    background: var(--secondary);
    box-shadow: 0 8px 22px rgb(249 115 22 / 0.08);
}

.mbs-map-embed {
    display: block;
    width: 100%;
    height: 18rem;
    border: 0;
}

@media (min-width: 768px) {
    .mbs-map-embed {
        height: 28rem;
    }
}

.mbs-map-footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem 1.5rem;
    margin-top: 1rem;
}

.mbs-map-address {
    margin: 0;
    font-size: 0.9375rem;
    font-weight: 500;
    color: var(--navy);
}

.mbs-map-link {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--primary);
    text-decoration: none;
    transition: color 0.2s ease;
}

.mbs-map-link:hover {
    color: var(--primary-hover);
}

.mbs-map-placeholder {
    display: flex;
    height: 18rem;
    align-items: center;
    justify-content: center;
    font-size: 0.875rem;
    color: var(--muted);
}

/* Footer — resources/views/components/footer.blade.php */
.site-footer {
    margin-top: 0;
    background: linear-gradient(180deg, var(--mbs-charcoal) 0%, var(--mbs-charcoal-soft) 100%);
    color: #ffffff;
    border-top: 4px solid var(--primary);
}

.site-footer-inner {
    padding-top: var(--mbs-section-y-lg);
    padding-bottom: 2rem;
}

.footer-main {
    display: grid;
    gap: 2.5rem;
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
}

@media (min-width: 768px) {
    .site-footer-inner {
        padding-top: var(--mbs-section-y-lg);
        padding-bottom: 2.25rem;
    }

    .footer-main {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 2.5rem 2rem;
    }
}

@media (min-width: 1024px) {
    .footer-main {
        grid-template-columns: minmax(0, 1.35fr) repeat(3, minmax(0, 1fr));
        gap: 2.5rem 3rem;
        align-items: start;
    }
}

.footer-brand {
    min-width: 0;
}

.footer-logo {
    display: inline-flex;
    align-items: center;
    gap: 0.625rem;
    background: transparent;
    text-decoration: none;
}

.footer-logo-icon {
    display: block;
    flex-shrink: 0;
    width: auto;
    height: 2.5rem;
    max-width: 2.5rem;
    object-fit: contain;
    object-position: left center;
    border-radius: 9999px;
}

.footer-contact {
    display: grid;
    gap: 0.5rem;
    margin-top: 1.25rem;
    max-width: 22rem;
}

.footer-contact-item {
    margin: 0;
    font-size: 0.8125rem;
    line-height: 1.55;
    color: rgb(248 250 252 / 0.82);
}

.footer-contact-label {
    font-weight: 600;
    color: #ffffff;
}

.footer-contact-item a {
    color: var(--primary);
    text-decoration: none;
}

.footer-contact-item a:hover {
    text-decoration: underline;
}

.footer-logo-text {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
    min-width: 0;
}

.footer-logo-name {
    font-size: 1.25rem;
    font-weight: 800;
    letter-spacing: -0.03em;
    line-height: 1;
    color: #ffffff;
    text-transform: lowercase;
}

.footer-logo-mark {
    font-size: 0.5em;
    font-weight: 600;
    vertical-align: super;
    line-height: 0;
    margin-left: 0.05em;
}

.footer-logo-tagline {
    font-size: 0.625rem;
    font-weight: 500;
    letter-spacing: 0.01em;
    line-height: 1.2;
    color: rgba(255, 255, 255, 0.78);
    text-transform: lowercase;
}

.footer-brand-heading {
    margin: 1.5rem 0 0;
    max-width: 22rem;
    font-size: clamp(1.25rem, 2.2vw, 1.75rem);
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: -0.02em;
    color: #ffffff;
}

.footer-brand-heading-accent {
    color: color-mix(in srgb, var(--primary) 72%, #ffffff);
}

.footer-newsletter {
    display: flex;
    align-items: stretch;
    margin-top: 1.5rem;
    max-width: 28rem;
    width: 100%;
    border: 1px solid rgb(255 255 255 / 0.45);
    background: rgb(255 255 255 / 0.06);
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

.footer-newsletter:focus-within {
    border-color: #ffffff;
    background: rgb(255 255 255 / 0.1);
    box-shadow: 0 0 0 1px rgb(255 255 255 / 0.35);
}

.footer-newsletter-input {
    flex: 1;
    min-width: 0;
    padding: 0.95rem 1rem;
    border: none;
    border-radius: 0;
    background: transparent;
    font: inherit;
    font-size: 0.9375rem;
    color: #ffffff;
}

.footer-newsletter-input::placeholder {
    color: rgb(255 255 255 / 0.55);
}

.footer-newsletter-input:focus {
    outline: none;
}

.footer-newsletter-submit {
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    align-self: stretch;
    width: 3rem;
    min-height: 100%;
    padding: 0;
    border: none;
    border-left: 1px solid rgb(255 255 255 / 0.2);
    background: transparent;
    color: #ffffff;
    cursor: pointer;
    transition: color 0.2s ease, background-color 0.2s ease;
}

.footer-newsletter-submit svg {
    width: 1.125rem;
    height: 1.125rem;
}

.footer-newsletter-submit:hover {
    color: var(--primary);
    background: rgb(255 255 255 / 0.06);
}

.footer-social {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.625rem;
    margin-top: 1.75rem;
}

.footer-social-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.375rem;
    height: 2.375rem;
    border-radius: 50%;
    background: rgb(255 255 255 / 0.08);
    border: 1px solid rgb(255 255 255 / 0.22);
    color: #ffffff;
    text-decoration: none;
    transition: transform 0.2s ease, background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.footer-social-link svg {
    width: 1rem;
    height: 1rem;
}

.footer-social-link:hover {
    background: var(--primary);
    border-color: var(--primary);
    color: #ffffff;
    transform: translateY(-2px);
}

.footer-column {
    min-width: 0;
}

.footer-column-title {
    margin: 0;
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.3;
    color: #ffffff;
}

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

.footer-links li + li {
    margin-top: 0.8rem;
}

.footer-links a,
.footer-links button {
    padding: 0;
    border: none;
    background: transparent;
    font: inherit;
    font-size: 0.9375rem;
    line-height: 1.5;
    color: #ffffff;
    text-align: left;
    text-decoration: none;
    cursor: pointer;
    transition: opacity 0.2s ease;
}

.footer-links a:hover,
.footer-links button:hover {
    color: var(--primary);
    opacity: 1;
}

.footer-bottom {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.25rem;
    margin-top: 2.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid rgb(255 255 255 / 0.12);
}

@media (min-width: 768px) {
    .footer-bottom {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        gap: 1.5rem;
    }
}

.footer-payments {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 0.5rem;
}

@media (min-width: 768px) {
    .footer-payments {
        justify-content: flex-end;
    }
}

.footer-copyright {
    margin: 0;
    font-size: 0.875rem;
    line-height: 1.5;
    color: #ffffff;
}

.footer-payment-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 1.75rem;
    padding: 0.25rem 0.625rem;
    border-radius: 0.25rem;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    line-height: 1;
    white-space: nowrap;
}

/* Payment method badges — resources/views/components/payment-method-badge.blade.php */
.mbs-payment-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    min-width: 2.75rem;
    min-height: 1.75rem;
    padding: 0.1875rem 0.4375rem;
    border-radius: 0.25rem;
    background: #ffffff;
    border: 1px solid rgb(255 255 255 / 0.18);
    line-height: 1;
}

.mbs-payment-badge img {
    display: block;
    width: auto;
    height: 1.125rem;
    max-width: 3.25rem;
    object-fit: contain;
}

.mbs-payment-badge--footer {
    background: rgb(255 255 255 / 0.96);
    border-color: rgb(255 255 255 / 0.22);
}

.mbs-payment-badge--footer img {
    height: 1.25rem;
    max-width: 3.5rem;
}

.mbs-payment-badge--footer.mbs-payment-badge--cod {
    background: rgb(255 255 255 / 0.12);
    color: #ffffff;
    border: 1px solid rgb(255 255 255 / 0.18);
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.04em;
}

.mbs-payment-badge--product {
    background: #ffffff;
    border: 1px solid var(--border);
}

.mbs-payment-badge--product img {
    height: 1.375rem;
    max-width: 3.75rem;
}

.mbs-payment-badge--product.mbs-payment-badge--cod {
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    color: var(--primary);
    background: var(--primary-light);
    border-color: color-mix(in srgb, var(--primary) 25%, var(--border));
}

.mbs-payment-badge--checkout {
    min-width: 2.5rem;
    min-height: 1.375rem;
    padding: 0.125rem 0.3125rem;
    background: #ffffff;
    border: 1px solid var(--border);
}

.mbs-payment-badge--checkout img {
    height: 1rem;
    max-width: 2.75rem;
}

.mbs-payment-badge--checkout.mbs-payment-badge--cod {
    padding: 0.125rem 0.45rem;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    color: var(--primary);
    background: var(--primary-light);
    border-color: color-mix(in srgb, var(--primary) 25%, var(--border));
}

.mbs-payment-badge--checkout.mbs-payment-badge--bank {
    padding: 0.125rem 0.45rem;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    color: var(--navy);
    background: #eef2f6;
    border-color: #d5dde7;
}

.mbs-payment-badge--jazzcash {
    background: transparent;
    border: none;
    padding: 0;
    min-width: auto;
    min-height: auto;
}

.mbs-payment-badge--footer.mbs-payment-badge--jazzcash {
    background: transparent;
    border: none;
}

.mbs-payment-badge--jazzcash img {
    height: 1.625rem;
    max-width: 5rem;
}

.mbs-payment-badge--checkout.mbs-payment-badge--jazzcash img {
    height: 1.375rem;
    max-width: 4.25rem;
}

.mbs-payment-badge--product.mbs-payment-badge--jazzcash img {
    height: 1.75rem;
    max-width: 5.25rem;
}

.footer-payment-badge--visa {
    background: #ffffff;
    color: #1a1f71;
}

.footer-payment-badge--mastercard {
    background: #ffffff;
    color: #eb001b;
}

.footer-payment-badge--jazzcash {
    background: #d20a11;
    color: #ffffff;
}

.footer-payment-badge--easypaisa {
    background: #00a651;
    color: #ffffff;
}

.footer-payment-badge--cod {
    background: rgb(255 255 255 / 0.12);
    color: #ffffff;
    border: 1px solid rgb(255 255 255 / 0.18);
}

@media (max-width: 767px) {
    .footer-newsletter,
    .footer-brand-heading {
        max-width: none;
    }

    .footer-payments {
        width: 100%;
    }
}

/* Pagination */
.mbs-pagination {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 0.5rem;
    margin-top: 2.5rem;
}

.mbs-pagination a,
.mbs-pagination span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.5rem;
    padding: 0.5rem 0.875rem;
    border-radius: var(--radius-lg);
    font-size: 0.875rem;
    font-weight: 600;
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.mbs-pagination a {
    border: 1px solid var(--border);
    color: var(--muted);
    background: #fff;
}

.mbs-pagination a:hover {
    border-color: var(--primary);
    color: var(--primary);
    background: var(--primary-light);
}

.mbs-pagination .is-active {
    border: 1px solid var(--primary);
    background: var(--primary);
    color: #fff !important;
    font-weight: 700;
}

.mbs-pagination .is-disabled {
    opacity: 0.45;
    pointer-events: none;
}

/* Buttons */
.mbs-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--radius-btn);
    padding: 0.625rem 1.25rem;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.25rem;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.15s ease;
    cursor: pointer;
    border: none;
}

.mbs-btn:active {
    transform: scale(0.98);
}

.mbs-btn-primary {
    border: 1px solid transparent;
    background-color: var(--primary);
    color: #ffffff !important;
    font-weight: 700;
}

.mbs-btn-primary:hover:not(:disabled) {
    background-color: var(--primary-hover);
    color: #ffffff !important;
}

.mbs-btn-secondary {
    border: 1px solid var(--primary);
    background-color: #ffffff;
    color: var(--primary) !important;
}

.mbs-btn-secondary:hover:not(:disabled) {
    background-color: var(--primary);
    color: #ffffff !important;
}

.mbs-btn-outline {
    border: 1px solid color-mix(in srgb, var(--primary) 30%, transparent);
    background-color: #ffffff;
    color: var(--primary) !important;
}

.mbs-btn-outline:hover:not(:disabled) {
    border-color: var(--primary);
    background-color: var(--primary);
    color: #ffffff !important;
}

.mbs-btn-on-dark {
    border: 1px solid rgba(255, 255, 255, 0.35);
    background-color: #ffffff;
    color: var(--primary) !important;
}

.mbs-btn-on-dark:hover:not(:disabled) {
    border-color: var(--primary);
    background-color: var(--primary);
    color: #ffffff !important;
}

.mbs-btn-white {
    background: #fff;
    color: var(--primary) !important;
}

.mbs-btn-white:hover:not(:disabled) {
    background: var(--primary-light);
}

.mbs-btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.mbs-btn.w-full {
    width: 100%;
}

/* Form inputs */
.mbs-input {
    width: 100%;
    border-radius: var(--radius-lg);
    border: 1px solid var(--border);
    background-color: #ffffff;
    padding: 0.625rem 0.875rem;
    color: var(--foreground);
    outline: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.mbs-input:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary) 15%, transparent);
}

.mbs-input.w-auto {
    width: auto;
}

/* Utilities */
.line-clamp-1,
.line-clamp-2 {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.line-clamp-1 { -webkit-line-clamp: 1; }
.line-clamp-2 { -webkit-line-clamp: 2; }

/* Exclusive Electronics Deals — premium promo showcase */
.deals-showcase-header {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

@media (min-width: 768px) {
    .deals-showcase-header {
        gap: 1.25rem;
        margin-bottom: 1.75rem;
    }
}

.deals-icon-badge,
.deals-brand-badge {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3.5rem;
    height: 3.5rem;
    border-radius: var(--radius-icon-btn);
    background: var(--primary);
    box-shadow: 0 6px 18px rgb(249 115 22 / 0.28);
}

@media (min-width: 768px) {
    .deals-icon-badge,
    .deals-brand-badge {
        width: 4rem;
        height: 4rem;
    }
}

.deals-icon-badge-svg {
    width: 1.625rem;
    height: 1.625rem;
    color: #ffffff;
}

@media (min-width: 768px) {
    .deals-icon-badge-svg {
        width: 1.875rem;
        height: 1.875rem;
    }
}

.deals-carousel {
    overflow: hidden;
    border-radius: var(--radius-xl);
}

.deals-carousel-track {
    display: flex;
    transition: transform 0.55s cubic-bezier(0.4, 0, 0.2, 1);
    will-change: transform;
}

.deals-slide {
    flex: 0 0 100%;
    min-width: 100%;
}

.deals-showcase-heading {
    flex: 1;
    min-width: 0;
}

.deals-showcase-title {
    margin: 0;
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.3;
    color: var(--navy);
}

@media (min-width: 640px) {
    .deals-showcase-title {
        font-size: 1.375rem;
    }
}

@media (min-width: 1024px) {
    .deals-showcase-title {
        font-size: 1.5rem;
    }
}

.deals-showcase-subtitle {
    margin: 0.375rem 0 0;
    font-size: 0.8125rem;
    line-height: 1.5;
    color: var(--muted);
}

@media (min-width: 640px) {
    .deals-showcase-subtitle {
        font-size: 0.875rem;
    }
}

.deals-showcase-nav {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.deals-nav-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    padding: 0;
    border: 1px solid var(--accent);
    border-radius: var(--radius-icon-btn);
    background: transparent;
    color: var(--navy);
    cursor: pointer;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, opacity 0.2s ease;
}

.deals-nav-btn svg {
    width: 1rem;
    height: 1rem;
}

.deals-nav-btn:hover {
    background: transparent;
    border-color: var(--accent);
    color: var(--navy);
    opacity: 0.7;
}

.deals-banner-grid {
    display: grid;
    gap: 1.25rem;
    grid-template-columns: 1fr;
}

@media (min-width: 1024px) {
    .deals-banner-grid {
        grid-template-columns: 35% 65%;
        gap: 1.5rem;
    }
}

.deals-banner {
    position: relative;
    display: block;
    overflow: hidden;
    min-height: 260px;
    border-radius: var(--radius-xl);
    border: 1px solid var(--card-border);
    box-shadow: var(--shadow-sm);
    transition: box-shadow 0.3s ease, transform 0.3s ease;
}

@media (min-width: 640px) {
    .deals-banner {
        min-height: 300px;
    }
}

@media (min-width: 1024px) {
    .deals-banner {
        min-height: 380px;
    }
}

.deals-banner:hover {
    box-shadow: var(--shadow-md);
    transform: translateY(-2px);
}

.deals-banner-bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    transform: translateZ(0);
    backface-visibility: hidden;
    transition: transform 0.45s ease;
}

.deals-banner:hover .deals-banner-bg {
    transform: scale(1.04);
}

.deals-banner-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to top,
        rgb(15 23 42 / 0.78) 0%,
        rgb(15 23 42 / 0.42) 38%,
        transparent 72%
    );
    pointer-events: none;
}

.deals-banner-large .deals-banner-overlay {
    background: linear-gradient(
        to top,
        rgb(15 23 42 / 0.82) 0%,
        rgb(15 23 42 / 0.45) 40%,
        transparent 74%
    );
}

.deals-banner-content {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
    padding: 1.5rem 1.25rem;
}

@media (min-width: 640px) {
    .deals-banner-content {
        padding: 2rem 1.75rem;
    }
}

@media (min-width: 1024px) {
    .deals-banner-content {
        padding: 2.25rem 2rem;
    }

    .deals-banner-large .deals-banner-content {
        padding: 2.5rem 2.25rem;
        max-width: 28rem;
    }
}

.deals-banner-title {
    margin: 0;
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.25;
    color: #ffffff;
}

@media (min-width: 640px) {
    .deals-banner-title {
        font-size: 1.5rem;
    }
}

.deals-banner-large .deals-banner-title {
    font-size: 1.375rem;
}

@media (min-width: 640px) {
    .deals-banner-large .deals-banner-title {
        font-size: 1.75rem;
    }
}

.deals-banner-prices {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.625rem;
    margin-top: 0.75rem;
}

.deals-banner-price {
    font-size: 1.125rem;
    font-weight: 700;
    color: #ffffff;
}

@media (min-width: 640px) {
    .deals-banner-price {
        font-size: 1.25rem;
    }
}

.deals-banner-price-old {
    font-size: 0.9375rem;
    font-weight: 500;
    color: rgb(255 255 255 / 0.65);
    text-decoration: line-through;
}

.deals-banner-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 1.25rem;
    padding: 0.625rem 1.375rem;
    border-radius: var(--radius-lg);
    background: var(--primary);
    font-size: 0.875rem;
    font-weight: 600;
    color: #ffffff;
    transition: background-color 0.2s ease;
}

.deals-banner:hover .deals-banner-btn {
    background: var(--accent);
}

/* Special Offers — scoped polish (homepage only) */
.special-offers .deals-icon-badge,
.special-offers-icon {
    background: var(--primary);
    box-shadow: 0 4px 12px rgb(249 115 22 / 0.1);
    border: 1px solid color-mix(in srgb, var(--primary) 22%, #ffffff);
}

.special-offers .deals-carousel {
    box-shadow: none;
}

.special-offers .deals-banner,
.special-offers .offer-banner {
    box-shadow: none;
    border: 1px solid var(--border);
    transition: border-color 0.25s ease;
}

.special-offers .deals-banner:hover,
.special-offers .offer-banner:hover {
    box-shadow: none;
    transform: none;
    border-color: color-mix(in srgb, var(--primary) 35%, var(--border));
}

.special-offers .deals-banner:hover .deals-banner-bg,
.special-offers .offer-banner:hover .offer-banner-image {
    transform: scale(1.02);
}

.special-offers .deals-banner-overlay,
.special-offers .offer-banner-overlay {
    background: linear-gradient(
        to top,
        rgb(0 0 0 / 0.38) 0%,
        rgb(0 0 0 / 0.16) 34%,
        transparent 68%
    );
}

.special-offers .deals-banner-large .deals-banner-overlay,
.special-offers .offer-banner--large .offer-banner-overlay {
    background: linear-gradient(
        to top,
        rgb(0 0 0 / 0.42) 0%,
        rgb(0 0 0 / 0.18) 36%,
        transparent 70%
    );
}

.special-offers .deals-banner-bg,
.special-offers .offer-banner-image {
    object-fit: cover;
    object-position: center center;
}

.special-offers .deals-banner-title,
.special-offers .offer-banner-content .deals-banner-title {
    color: #ffffff;
    text-shadow: 0 1px 6px rgb(0 0 0 / 0.18);
}

.special-offers .deals-banner-price {
    color: #ffffff;
    text-shadow: 0 1px 4px rgb(0 0 0 / 0.15);
}

.special-offers .deals-banner-price-old {
    color: rgb(255 255 255 / 0.72);
    text-shadow: 0 1px 4px rgb(0 0 0 / 0.12);
}

/* Featured product showcase */
.featured-showcase {
    padding: var(--mbs-section-y) 0;
    background: var(--secondary);
}

@media (min-width: 1024px) {
    .featured-showcase {
        padding: var(--mbs-section-y-lg) 0;
    }
}

.featured-showcase-card {
    background: #ffffff;
    border: 1px solid var(--border);
    border-radius: var(--mbs-tile-radius);
    box-shadow: var(--shadow-sm);
    padding: 1.25rem;
}

@media (min-width: 768px) {
    .featured-showcase-card {
        padding: 1.75rem;
    }
}

@media (min-width: 1024px) {
    .featured-showcase-card {
        padding: 2.25rem 2.5rem;
    }
}

.featured-showcase-grid {
    display: grid;
    gap: 2rem;
    grid-template-columns: 1fr;
}

@media (min-width: 1024px) {
    .featured-showcase-grid {
        grid-template-columns: 1fr 1fr;
        gap: 2.5rem 3rem;
        align-items: center;
    }
}

.featured-gallery {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.featured-main-image-wrap {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 280px;
    padding: 0 2.75rem;
    border-radius: var(--radius-xl);
    background: linear-gradient(180deg, var(--mbs-light-blue) 0%, var(--secondary) 100%);
    border: 1px solid var(--mbs-light-blue);
}

@media (min-width: 768px) {
    .featured-main-image-wrap {
        min-height: 340px;
    }
}

@media (min-width: 1024px) {
    .featured-main-image-wrap {
        min-height: 380px;
        padding: 0 3rem;
    }
}

.featured-main-image {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    min-height: inherit;
}

.featured-main-image-img {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 340px;
    object-fit: contain;
    object-position: center;
}

@media (min-width: 1024px) {
    .featured-main-image-img {
        max-height: 380px;
    }
}

.featured-gallery-arrow {
    position: absolute;
    top: 50%;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    padding: 0;
    border: 1px solid var(--border);
    border-radius: 50%;
    background: #ffffff;
    color: var(--navy);
    cursor: pointer;
    transform: translateY(-50%);
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
    box-shadow: var(--shadow-sm);
}

.featured-gallery-arrow svg {
    width: 1rem;
    height: 1rem;
}

.featured-gallery-arrow:hover {
    background: var(--primary-light);
    border-color: color-mix(in srgb, var(--primary) 25%, var(--border));
    color: var(--primary);
}

.featured-gallery-arrow--prev {
    left: 0;
}

.featured-gallery-arrow--next {
    right: 0;
}

.featured-thumbnails {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
}

.featured-thumbnail {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 4.5rem;
    height: 4.5rem;
    padding: 0.375rem;
    border: 2px solid transparent;
    border-radius: var(--radius-sm);
    background: #ffffff;
    cursor: pointer;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.featured-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    border-radius: 0.25rem;
}

.featured-thumbnail.is-active {
    border-color: var(--primary);
    box-shadow: 0 0 0 1px color-mix(in srgb, var(--primary) 20%, transparent);
}

.featured-thumbnail:hover:not(.is-active) {
    border-color: color-mix(in srgb, var(--primary) 35%, var(--border));
}

.featured-details {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
}

.featured-details-title {
    margin: 0;
    font-size: 1.375rem;
    font-weight: 700;
    line-height: 1.35;
    color: var(--navy);
}

@media (min-width: 768px) {
    .featured-details-title {
        font-size: 1.625rem;
    }
}

@media (min-width: 1024px) {
    .featured-details-title {
        font-size: 1.75rem;
    }
}

.featured-details-desc {
    margin: 0.875rem 0 0;
    font-size: 0.875rem;
    line-height: 1.65;
    color: var(--muted);
}

.featured-details-price {
    margin: 1.25rem 0 0;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.2;
    color: var(--navy);
}

@media (min-width: 768px) {
    .featured-details-price {
        font-size: 1.625rem;
    }
}

.featured-options {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    margin-top: 1.75rem;
    padding-top: 1.75rem;
    border-top: 1px solid var(--border);
}

.featured-option-group {
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
}

.featured-option-label {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--muted);
}

.featured-option-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.featured-option-chip {
    padding: 0.4375rem 0.875rem;
    border: 1px solid var(--border);
    border-radius: 9999px;
    background: #ffffff;
    font-size: 0.8125rem;
    font-weight: 500;
    line-height: 1.2;
    color: var(--navy);
    cursor: pointer;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.featured-option-chip:hover:not(.is-active) {
    border-color: color-mix(in srgb, var(--primary) 30%, var(--border));
    background: var(--primary-light);
}

.featured-option-chip.is-active {
    border-color: var(--primary);
    background: var(--primary);
    color: #ffffff;
}

.featured-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
    margin-top: 1.75rem;
    padding-top: 1.75rem;
    border-top: 1px solid var(--border);
}

.featured-qty {
    display: inline-flex;
    align-items: center;
    gap: 0.625rem;
    padding: 0.25rem 0.5rem;
    border: 1px solid var(--border);
    border-radius: 9999px;
    background: #ffffff;
}

.featured-qty-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    padding: 0;
    border: none;
    border-radius: 50%;
    background: var(--primary-light);
    font-size: 1.125rem;
    font-weight: 600;
    line-height: 1;
    color: var(--primary);
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.featured-qty-btn:hover {
    background: var(--primary);
    color: #ffffff;
}

.featured-qty-value {
    min-width: 1.5rem;
    text-align: center;
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--navy);
}

.featured-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.75rem;
    padding: 0.75rem 1.5rem;
    border-radius: var(--radius-lg);
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
    border: none;
}

.featured-btn--cart {
    flex: 1;
    min-width: 8rem;
    background: var(--primary);
    color: #ffffff;
}

.featured-btn--cart:hover {
    background: var(--primary-hover);
}

.featured-btn--buy {
    flex: 1;
    min-width: 8rem;
    background: var(--navy);
    color: #ffffff;
}

.featured-btn--buy:hover {
    background: color-mix(in srgb, var(--navy) 85%, #000);
}

@media (min-width: 640px) {
    .featured-actions {
        flex-wrap: nowrap;
    }

    .featured-btn--cart,
    .featured-btn--buy {
        flex: 1 1 0;
    }
}

.featured-footer-links {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 1.25rem;
}

.featured-share-link {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0;
    border: none;
    background: transparent;
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--muted);
    cursor: pointer;
    transition: color 0.2s ease;
}

.featured-share-link svg {
    width: 1rem;
    height: 1rem;
}

.featured-share-link:hover {
    color: var(--primary);
}

.featured-details-link {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--navy);
    transition: color 0.2s ease;
}

.featured-details-link:hover {
    color: var(--primary);
}

.mbs-faq-item {
    padding: 1.25rem;
    border-radius: var(--radius-lg);
    border: 1px solid var(--card-border);
    background: #fff;
    box-shadow: var(--shadow-sm);
}

.mbs-faq-item summary {
    cursor: pointer;
    list-style: none;
    font-weight: 700;
    color: var(--navy);
}

.mbs-faq-item summary::-webkit-details-marker {
    display: none;
}

/* FAQ section — homepage only */
.faq-section {
    background: linear-gradient(180deg, var(--secondary) 0%, #ffffff 100%);
}

.faq-header {
    max-width: 40rem;
    margin: 0 auto var(--mbs-section-header-gap);
    text-align: center;
}

@media (min-width: 1024px) {
    .faq-header {
        margin-bottom: var(--mbs-section-header-gap-lg);
    }
}

.faq-header-title {
    margin: 0;
    font-size: clamp(1.625rem, 3vw, 2.125rem);
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: -0.02em;
    color: var(--navy);
}

.faq-header-subtitle {
    margin: 0.875rem 0 0;
    font-size: 1rem;
    line-height: 1.65;
    color: var(--muted);
}

.faq-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(0, 1fr);
    max-width: 56rem;
    margin: 0 auto;
}

@media (min-width: 768px) {
    .faq-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1rem 1.25rem;
    }
}

.faq-item {
    border: 1px solid var(--mbs-border);
    border-radius: var(--radius-lg);
    background: #ffffff;
    box-shadow: var(--shadow-sm);
    overflow: hidden;
}

.faq-item.is-open {
    border-color: color-mix(in srgb, var(--primary) 22%, var(--mbs-border));
}

.faq-question {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    width: 100%;
    padding: 1.125rem 1.25rem;
    border: none;
    background: transparent;
    cursor: pointer;
    list-style: none;
    font: inherit;
    font-size: 0.9375rem;
    font-weight: 600;
    line-height: 1.45;
    color: var(--navy);
    user-select: none;
    text-align: left;
}

.faq-question::-webkit-details-marker {
    display: none;
}

.faq-question-text {
    flex: 1;
    min-width: 0;
    text-align: left;
}

.faq-chevron {
    flex-shrink: 0;
    width: 1.125rem;
    height: 1.125rem;
    color: var(--muted);
    transition: transform 0.25s ease, color 0.25s ease;
}

.faq-item.is-open .faq-chevron {
    transform: rotate(180deg);
    color: var(--primary);
}

.faq-answer-wrap {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.28s ease;
}

.faq-item.is-open .faq-answer-wrap {
    grid-template-rows: 1fr;
}

.faq-answer {
    overflow: hidden;
    min-height: 0;
    padding: 0 1.25rem;
    border-top: 1px solid transparent;
    transition: border-color 0.28s ease;
}

.faq-item.is-open .faq-answer {
    padding-bottom: 1.125rem;
    border-top-color: var(--mbs-light-blue);
}

.faq-answer p {
    margin: 0.875rem 0 0;
    font-size: 0.875rem;
    line-height: 1.65;
    color: var(--muted);
}

.mbs-review-card {
    padding: 1.5rem;
    border-radius: var(--radius-lg);
    border: 1px solid var(--card-border);
    background: #fff;
    box-shadow: var(--shadow-sm);
}

/* Testimonials — What Customers Say (homepage only) */
.testimonials-section {
    background: transparent;
}

.testimonials-header {
    max-width: 40rem;
    margin: 0 auto var(--mbs-section-header-gap);
    text-align: center;
}

@media (min-width: 1024px) {
    .testimonials-header {
        margin-bottom: var(--mbs-section-header-gap-lg);
    }
}

.testimonials-header-title {
    margin: 0;
    font-size: clamp(1.75rem, 3vw, 2.25rem);
    font-weight: 800;
    letter-spacing: -0.02em;
    color: var(--navy);
}

.testimonials-header-subtitle {
    margin: 0.75rem 0 0;
    font-size: 1rem;
    line-height: 1.6;
    color: var(--muted);
}

.testimonials-slider {
    position: relative;
    padding: 0 0.25rem;
}

@media (min-width: 768px) {
    .testimonials-slider {
        padding: 0 2rem;
    }
}

.testimonials-slider-controls {
    display: none;
}

@media (min-width: 768px) {
    .testimonials-slider-controls {
        display: block;
    }
}

.testimonials-arrow {
    position: absolute;
    top: 50%;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    padding: 0;
    border: 1px solid var(--mbs-light-blue);
    border-radius: var(--radius-icon-btn);
    background: #ffffff;
    color: var(--primary);
    box-shadow: 0 6px 18px rgb(15 23 42 / 0.1);
    cursor: pointer;
    transform: translateY(-50%);
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.testimonials-arrow svg {
    width: 1.125rem;
    height: 1.125rem;
}

.testimonials-arrow:hover:not(:disabled) {
    background: var(--primary);
    border-color: var(--primary);
    color: #ffffff;
}

.testimonials-arrow:disabled {
    opacity: 0.35;
    cursor: not-allowed;
}

.testimonials-arrow--prev {
    left: 0.25rem;
}

.testimonials-arrow--next {
    right: 0.25rem;
}

@media (min-width: 768px) {
    .testimonials-arrow--prev {
        left: 0;
    }

    .testimonials-arrow--next {
        right: 0;
    }
}

@media (min-width: 1280px) {
    .testimonials-arrow--prev {
        left: -0.75rem;
    }

    .testimonials-arrow--next {
        right: -0.75rem;
    }
}

.testimonials-viewport {
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.testimonials-viewport::-webkit-scrollbar {
    display: none;
}

.testimonials-grid {
    display: flex;
    gap: 1.25rem;
    align-items: stretch;
}

.testimonial-card {
    display: flex;
    flex: 0 0 100%;
    flex-direction: column;
    min-width: 0;
    min-height: 18.5rem;
    scroll-snap-align: start;
    padding: 1.75rem 1.5rem 1.5rem;
    border: 1px solid var(--mbs-accent-border-soft);
    border-radius: var(--mbs-tile-radius);
    background: #ffffff;
    box-shadow: 0 6px 18px rgb(15 23 42 / 0.04);
    transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
}

@media (min-width: 640px) {
    .testimonial-card {
        flex: 0 0 calc(50% - 0.625rem);
    }
}

@media (min-width: 1024px) {
    .testimonial-card {
        flex: 0 0 calc(33.3333% - 0.833rem);
    }
}

.testimonial-card:hover {
    transform: translateY(-4px);
    border-color: var(--mbs-accent-border-hover);
    box-shadow: 0 10px 24px rgb(15 23 42 / 0.05);
}

.testimonial-quote-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    margin-bottom: 1rem;
    border-radius: var(--radius-icon-btn);
    background: var(--primary-light);
    color: var(--primary);
}

.testimonial-quote-icon svg {
    width: 1.25rem;
    height: 1.25rem;
}

.testimonial-stars {
    margin-bottom: 0.875rem;
    font-size: 16px;
    line-height: 1;
}

.testimonial-stars .product-stars {
    font-size: 16px;
}

.testimonial-text {
    flex: 1;
    margin: 0;
    font-size: 0.9375rem;
    line-height: 1.7;
    color: var(--foreground);
}

.testimonial-author {
    display: flex;
    align-items: center;
    gap: 0.875rem;
    margin-top: 1.5rem;
    padding-top: 1.25rem;
    border-top: 1px solid var(--mbs-light-blue);
}

.testimonial-avatar {
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--primary-light) 0%, var(--mbs-light-blue) 100%);
    border: 1px solid var(--mbs-border);
    font-size: 0.8125rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    color: var(--primary);
}

.testimonial-avatar--photo {
    display: block;
    object-fit: cover;
    background: var(--mbs-light-blue);
    padding: 0;
}

.testimonial-author-meta {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    min-width: 0;
}

.testimonial-author-name {
    margin: 0;
    font-size: 0.9375rem;
    font-weight: 700;
    color: var(--navy);
}

.testimonial-badge {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    padding: 0.1875rem 0.5rem;
    border-radius: 9999px;
    background: var(--accent-light);
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: var(--mbs-green-dark);
}

.testimonial-purchase {
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--muted);
}

.testimonials-dots {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    margin-top: 1.75rem;
}

.testimonials-dot {
    width: 0.5rem;
    height: 0.5rem;
    padding: 0;
    border: none;
    border-radius: 9999px;
    background: var(--mbs-border);
    cursor: pointer;
    transition: width 0.25s ease, background-color 0.25s ease;
}

.testimonials-dot.is-active {
    width: 1.5rem;
    background: var(--primary);
}

.testimonials-dot:hover:not(.is-active) {
    background: color-mix(in srgb, var(--primary) 45%, var(--mbs-border));
}

.mbs-brand-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 1.5rem 1.25rem;
    text-align: center;
    border-radius: var(--radius-lg);
    border: 1px solid var(--card-border);
    background: #fff;
    box-shadow: var(--shadow-sm);
    transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.mbs-brand-card:hover {
    transform: translateY(-2px);
    border-color: color-mix(in srgb, var(--primary) 40%, transparent);
    box-shadow: var(--shadow-md);
}

.mbs-brand-card-logo {
    display: block;
    width: auto;
    max-width: 100%;
    height: 3.25rem;
    object-fit: contain;
}

.mbs-brand-card-logo--lg {
    height: 4.75rem;
}

.mbs-scroll-top {
    position: fixed;
    right: 1.25rem;
    bottom: 1.25rem;
    z-index: 60;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    border: none;
    border-radius: 999px;
    background: var(--primary);
    color: #fff;
    box-shadow: 0 8px 24px color-mix(in srgb, var(--primary) 35%, transparent);
    cursor: pointer;
    transition: transform 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}

.mbs-scroll-top:hover {
    transform: translateY(-2px);
    background: var(--primary-hover);
    box-shadow: 0 8px 20px color-mix(in srgb, var(--primary) 28%, transparent);
}

.mbs-scroll-top:focus-visible {
    outline: 2px solid var(--primary);
    outline-offset: 3px;
}

.mbs-collection-card {
    position: relative;
    overflow: hidden;
    border-radius: var(--mbs-tile-radius);
    border: 1px solid var(--card-border);
    box-shadow: var(--shadow-sm);
}

.mbs-collection-card img {
    height: 16rem;
    width: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

@media (min-width: 768px) {
    .mbs-collection-card img {
        height: 18rem;
    }
}

.mbs-collection-card:hover img {
    transform: scale(1.05);
}

/* Featured Collections strip — promo panel + image tiles (homepage only) */
.featured-collections-strip {
    background: var(--secondary);
}

.featured-collections-strip-inner {
    display: grid;
    gap: 1.25rem;
    align-items: stretch;
    min-width: 0;
}

@media (min-width: 1024px) {
    .featured-collections-strip-inner {
        grid-template-columns: minmax(220px, 26%) minmax(0, 1fr);
        gap: 1.5rem;
    }
}

.featured-collections-promo-panel {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 14rem;
    padding: 2rem 1.75rem;
    border-radius: var(--radius-xl);
    background: linear-gradient(145deg, var(--navy) 0%, var(--mbs-charcoal-soft) 100%);
    border: 1px solid var(--mbs-charcoal-soft);
    border-left: 4px solid var(--primary);
    box-shadow: var(--shadow-md);
    color: #ffffff;
}

@media (min-width: 1024px) {
    .featured-collections-promo-panel {
        min-height: 100%;
        padding: 2.5rem 2rem;
    }
}

.featured-collections-promo-title {
    margin: 0;
    font-size: clamp(1.5rem, 2.5vw, 2rem);
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: -0.02em;
    color: #ffffff;
}

.featured-collections-promo-desc {
    margin: 1rem 0 0;
    font-size: 0.9375rem;
    line-height: 1.65;
    color: rgb(255 255 255 / 0.9);
}

.featured-collections-promo-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    margin-top: 1.75rem;
    padding: 0.75rem 1.625rem;
    border-radius: var(--radius-btn);
    background: var(--primary);
    font-size: 0.875rem;
    font-weight: 700;
    color: #ffffff;
    text-decoration: none;
    transition: background-color 0.2s ease, transform 0.15s ease;
}

.featured-collections-promo-btn:hover {
    background: var(--primary-hover);
    color: #ffffff;
    transform: translateY(-1px);
}

.featured-collections-items {
    display: grid;
    gap: 1rem;
    grid-template-columns: 1fr;
    align-items: stretch;
    min-width: 0;
}

@media (min-width: 640px) {
    .featured-collections-items {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1.125rem;
    }
}

@media (min-width: 1024px) {
    .featured-collections-items {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 1.25rem;
    }
}

@media (min-width: 1280px) {
    .featured-collections-items {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 1.375rem;
    }
}

.featured-collection-tile {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    background: #ffffff;
    border: 1px solid var(--mbs-border);
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-sm);
    transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.featured-collection-tile:hover {
    transform: translateY(-3px);
    border-color: color-mix(in srgb, var(--primary) 45%, var(--mbs-border));
    box-shadow: 0 10px 28px rgb(249 115 22 / 0.1);
}

.featured-collection-image-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    height: var(--mbs-tile-image-h);
    padding: 1.25rem;
    background: linear-gradient(180deg, #ffffff 0%, var(--secondary) 100%);
    border-bottom: 1px solid var(--mbs-light-blue);
}

@media (min-width: 640px) {
    .featured-collection-image-wrap {
        height: var(--mbs-tile-image-h-md);
        padding: 1.5rem;
    }
}

@media (min-width: 1024px) {
    .featured-collection-image-wrap {
        height: var(--mbs-tile-image-h-lg);
    }
}

.featured-collection-image {
    display: block;
    width: auto;
    height: auto;
    max-width: 85%;
    max-height: 85%;
    object-fit: contain;
    object-position: center;
    transition: transform 0.35s ease;
}

.featured-collection-tile:hover .featured-collection-image {
    transform: scale(1.03);
}

.featured-collection-info {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    flex-shrink: 0;
    min-height: 4.5rem;
    padding: 1rem 1.125rem;
    background: var(--secondary);
}

@media (min-width: 768px) {
    .featured-collection-info {
        padding: 1.125rem 1.25rem;
    }
}

.featured-collection-name {
    margin: 0;
    font-size: 0.9375rem;
    font-weight: 700;
    line-height: 1.35;
    letter-spacing: -0.01em;
    color: var(--navy);
    transition: color 0.2s ease;
}

.featured-collection-tile:hover .featured-collection-name {
    color: var(--primary);
}

.featured-collection-price {
    margin: 0.375rem 0 0;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--primary);
}

.mbs-page-hero .mbs-section-subtitle {
    max-width: 42rem;
}

.mbs-contact-form .mbs-form-grid + .mbs-form-grid,
.mbs-contact-form .mbs-form-grid + .mbs-input,
.mbs-contact-form textarea.mbs-input {
    margin-top: 1rem;
}

.mbs-contact-form .mbs-form-grid:first-of-type {
    margin-top: 1.5rem;
}

.mbs-contact-form textarea.mbs-input {
    min-height: 150px;
}

.mbs-contact-form .mbs-btn-primary {
    margin-top: 1.25rem;
}

.mbs-category-card-body .mbs-section-link {
    font-size: 0.875rem;
}

.mbs-blog-card-body .mbs-section-link {
    margin-top: 1rem;
    font-size: 0.875rem;
}

.mbs-empty-state {
    grid-column: 1 / -1;
    padding: 2rem;
    border-radius: var(--radius-2xl);
    border: 1px solid var(--border);
    background: #fff;
    text-align: center;
    color: var(--muted);
}

.mbs-filter-help .mbs-btn {
    margin-top: 0.75rem;
    width: 100%;
}

.shop-filter-panel .border-t .mbs-btn-outline {
    margin-top: 0.5rem;
    width: 100%;
}

.mbs-ai-section .mbs-section-title,
.mbs-ai-section .mbs-section-subtitle {
    color: #fff;
}

.mbs-ai-section .mbs-section-subtitle {
    color: var(--mbs-text-on-dark);
}

/* Ecommerce flow */
.mbs-flash {
    position: fixed;
    top: 5.5rem;
    right: 1rem;
    z-index: 60;
    max-width: 24rem;
    padding: 0.875rem 1rem;
    border-radius: var(--radius-lg);
    font-size: 0.875rem;
    font-weight: 600;
    box-shadow: var(--shadow-md);
}

.mbs-flash--success {
    background: var(--mbs-success-soft);
    color: var(--mbs-success-dark);
    border: 1px solid color-mix(in srgb, var(--mbs-success) 35%, #ffffff);
}

.mbs-flash--error {
    background: #fef2f2;
    color: #991b1b;
    border: 1px solid #fecaca;
}

.product-action-form,
.product-cart-form,
.featured-action-form {
    margin: 0;
}

.product-action-form {
    display: inline-flex;
}

.product-cart-form,
.featured-action-form {
    display: flex;
    flex: 1;
    min-width: 0;
}

.product-cart-form .product-cart-btn,
.featured-action-form .featured-btn {
    width: 100%;
}

.mbs-btn-navy,
.featured-btn--buy,
.mbs-product-detail-btn.mbs-btn-navy {
    background: var(--navy);
    color: #ffffff;
    border: none;
}

.mbs-btn-navy:hover,
.featured-btn--buy:hover,
.mbs-product-detail-btn.mbs-btn-navy:hover {
    background: color-mix(in srgb, var(--navy) 85%, #000);
}

.mbs-label {
    display: block;
    margin-bottom: 0.375rem;
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--navy);
}

.mbs-product-detail {
    background: #ffffff;
    border: 1px solid var(--border);
    border-radius: var(--mbs-tile-radius);
    box-shadow: var(--shadow-sm);
    padding: 1.25rem;
}

@media (min-width: 1024px) {
    .mbs-product-detail {
        padding: 2rem;
    }
}

.mbs-product-detail-grid {
    display: grid;
    gap: 2rem;
    grid-template-columns: 1fr;
}

@media (min-width: 1024px) {
    .mbs-product-detail-grid {
        grid-template-columns: 1fr 1fr;
        gap: 2.5rem;
    }
}

.mbs-product-detail-main-wrap {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 280px;
    padding: 0 2.75rem;
}

.mbs-product-detail-main-img {
    max-width: 100%;
    max-height: 360px;
    object-fit: contain;
}

.mbs-product-detail-arrow {
    position: absolute;
    top: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    border: 1px solid var(--border);
    border-radius: 50%;
    background: #fff;
    color: var(--navy);
    transform: translateY(-50%);
    cursor: pointer;
}

.mbs-product-detail-arrow--prev { left: 0; }
.mbs-product-detail-arrow--next { right: 0; }

.mbs-product-detail-thumbs {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.75rem;
    margin-top: 1rem;
}

.mbs-product-detail-thumb {
    width: 4.5rem;
    height: 4.5rem;
    padding: 0.25rem;
    border: 2px solid transparent;
    border-radius: var(--radius-sm);
    background: #fff;
    cursor: pointer;
}

.mbs-product-detail-thumb.is-active {
    border-color: var(--primary);
}

.mbs-product-detail-thumb img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.mbs-product-detail-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--primary);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.mbs-product-detail-title {
    margin: 0.75rem 0 0;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.35;
    color: var(--navy);
}

.mbs-product-detail-rating {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-top: 0.75rem;
    font-size: 0.875rem;
    color: var(--muted);
}

.mbs-product-detail-rating-value {
    font-weight: 700;
    color: var(--navy);
}

.mbs-product-detail-price-row {
    display: flex;
    align-items: baseline;
    gap: 0.75rem;
    margin-top: 1rem;
}

.mbs-product-detail-price {
    font-size: 1.75rem;
    font-weight: 700;
    color: var(--primary);
}

.mbs-product-detail-price-old {
    font-size: 1rem;
    color: var(--muted);
    text-decoration: line-through;
}

.mbs-product-detail-stock {
    margin: 0.75rem 0 0;
    font-size: 0.875rem;
    font-weight: 600;
}

.mbs-product-detail-stock.is-in-stock { color: #15803d; }
.mbs-product-detail-stock.is-out-stock { color: #b91c1c; }

.mbs-product-detail-short {
    margin: 1rem 0 0;
    font-size: 0.9375rem;
    line-height: 1.65;
    color: var(--muted);
}

.mbs-product-purchase {
    margin-top: 1.5rem;
    padding-top: 1.25rem;
    border-top: 1px solid var(--border);
}

.mbs-product-utility {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 1.25rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--border);
}

.mbs-product-utility-link {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0;
    border: none;
    background: transparent;
    font: inherit;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--navy);
    cursor: pointer;
    transition: color 0.2s ease;
}

.mbs-product-utility-link svg {
    width: 1.125rem;
    height: 1.125rem;
    flex-shrink: 0;
}

.mbs-product-utility-link:hover,
.mbs-product-utility-link.is-active {
    color: var(--primary);
}

.mbs-product-utility-link.is-active {
    color: var(--accent);
}

.mbs-product-purchase-row {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.75rem;
    margin-top: 1.25rem;
}

@media (min-width: 640px) {
    .mbs-product-purchase-row {
        grid-template-columns: auto 1fr 1fr;
        align-items: stretch;
    }
}

.mbs-product-detail-qty {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    min-height: 3.25rem;
    padding: 0.375rem 0.75rem;
    border: 1px solid var(--border);
    border-radius: var(--radius-btn);
    background: #ffffff;
}

.mbs-product-detail-qty button {
    width: 2rem;
    height: 2rem;
    border: none;
    border-radius: 50%;
    background: var(--primary);
    color: #ffffff;
    font-size: 1.125rem;
    line-height: 1;
    cursor: pointer;
    transition: background-color 0.2s ease;
}

.mbs-product-detail-qty button:hover {
    background: var(--primary-hover);
}

.mbs-product-detail-qty span {
    min-width: 1.5rem;
    font-size: 1rem;
    font-weight: 700;
    text-align: center;
    color: var(--navy);
}

.mbs-product-detail-form {
    margin: 0;
    min-width: 0;
}

.mbs-product-detail-form--cart,
.mbs-product-detail-form--buy {
    grid-column: auto;
}

@media (min-width: 640px) {
    .mbs-product-detail-form--cart,
    .mbs-product-detail-form--buy {
        grid-column: auto;
    }
}

.mbs-product-detail-btn {
    width: 100%;
    min-height: 3.25rem;
    padding: 0.875rem 1.25rem;
    font-size: 0.9375rem;
    font-weight: 700;
    letter-spacing: 0.01em;
}

.mbs-product-detail-btn--cart {
    background: var(--primary);
    border-color: var(--primary);
}

.mbs-product-detail-btn--cart:hover {
    background: var(--primary-hover);
    border-color: var(--primary-hover);
}

.mbs-product-detail-btn--buy {
    background: var(--navy);
}

.mbs-product-detail-btn--buy:hover {
    background: color-mix(in srgb, var(--navy) 85%, #000);
}

.mbs-product-delivery {
    list-style: none;
    margin: 1.25rem 0 0;
    padding: 1rem 0 0;
    border-top: 1px solid var(--border);
    display: grid;
    gap: 0.875rem;
}

.mbs-product-delivery li {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    font-size: 0.875rem;
    line-height: 1.55;
    color: var(--muted);
}

.mbs-product-delivery li svg {
    width: 1.25rem;
    height: 1.25rem;
    flex-shrink: 0;
    margin-top: 0.125rem;
    color: var(--primary);
}

.mbs-product-delivery li strong {
    color: var(--navy);
    font-weight: 600;
}

.mbs-product-payments {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 1.25rem;
    padding-top: 1rem;
    border-top: 1px solid var(--border);
}

.mbs-product-contact {
    margin-top: 1.25rem;
    padding: 1.125rem 1rem;
    border-radius: var(--radius-card);
    background: linear-gradient(135deg, var(--primary-light) 0%, var(--secondary) 100%);
    border: 1px solid color-mix(in srgb, var(--primary) 18%, var(--border));
}

.mbs-product-contact-title {
    margin: 0;
    font-size: 1rem;
    font-weight: 700;
    color: var(--navy);
}

.mbs-product-contact-link {
    display: inline-block;
    margin-top: 0.5rem;
    font-size: 0.8125rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-decoration: underline;
    text-underline-offset: 3px;
    color: var(--primary);
    transition: color 0.2s ease;
}

.mbs-product-contact-link:hover {
    color: var(--primary-hover);
}

.mbs-product-detail-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 1.5rem;
}

.mbs-product-detail-form {
    flex: 1;
    min-width: 8rem;
    margin: 0;
}

.mbs-product-detail-wishlist {
    width: 2.75rem;
    min-width: 2.75rem;
    padding: 0;
}

.mbs-product-detail-tabs {
    margin-top: 2rem;
    padding-top: 2rem;
    border-top: 1px solid var(--border);
}

.mbs-product-detail-tab-nav {
    display: flex;
    gap: 0.5rem;
    margin-bottom: 1rem;
}

.mbs-product-detail-tab-nav button {
    padding: 0.625rem 1rem;
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    background: #fff;
    font-weight: 600;
    color: var(--navy);
    cursor: pointer;
}

.mbs-product-detail-tab-nav button.is-active {
    background: var(--primary);
    border-color: var(--primary);
    color: #fff;
}

.mbs-product-detail-tab-panel {
    max-width: 48rem;
}

.mbs-product-description {
    font-size: 0.9375rem;
    line-height: 1.75;
    color: var(--foreground);
}

.mbs-product-description p {
    margin: 0 0 1rem;
}

.mbs-product-description p:last-child {
    margin-bottom: 0;
}

.mbs-product-description ul,
.mbs-product-description ol {
    margin: 0 0 1rem;
    padding-left: 1.25rem;
}

.mbs-product-description li {
    margin-bottom: 0.5rem;
}

.mbs-product-description li:last-child {
    margin-bottom: 0;
}

.mbs-product-description strong,
.mbs-product-description b {
    font-weight: 700;
    color: var(--navy);
}

.mbs-product-description-empty {
    margin: 0;
    font-size: 0.9375rem;
    line-height: 1.65;
    color: var(--muted);
}

.mbs-product-reviews-summary {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem 1.5rem;
    margin-bottom: 1.5rem;
    padding: 1.25rem 1.5rem;
    border: 1px solid var(--border);
    border-radius: var(--radius-xl);
    background: linear-gradient(135deg, var(--primary-light) 0%, #ffffff 100%);
}

.mbs-product-reviews-score {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
}

.mbs-product-reviews-average {
    font-size: 2rem;
    line-height: 1;
    color: var(--navy);
}

.mbs-product-reviews-count {
    margin: 0;
    font-size: 0.875rem;
    color: var(--muted);
}

.mbs-product-reviews-note {
    margin: 0;
    max-width: 28rem;
    font-size: 0.9375rem;
    line-height: 1.6;
    color: var(--muted);
}

.mbs-product-reviews-layout {
    display: grid;
    gap: 1.5rem;
    grid-template-columns: 1fr;
}

@media (min-width: 992px) {
    .mbs-product-reviews-layout {
        grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
        align-items: start;
    }
}

.mbs-product-reviews-heading {
    margin: 0 0 1rem;
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--navy);
}

.mbs-product-review-form-wrap,
.mbs-product-review-list-wrap {
    padding: 1.25rem;
    border: 1px solid var(--border);
    border-radius: var(--radius-xl);
    background: #ffffff;
}

.mbs-product-review-form {
    display: grid;
    gap: 1rem;
}

.mbs-product-review-field label {
    display: block;
    margin-bottom: 0.375rem;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--navy);
}

.mbs-product-review-textarea {
    min-height: 8rem;
    resize: vertical;
}

.product-star-input-stars {
    display: inline-flex;
    gap: 0.25rem;
}

.product-star-input-btn {
    padding: 0;
    border: none;
    background: transparent;
    font-size: 1.75rem;
    line-height: 1;
    color: #d1d5db;
    cursor: pointer;
    transition: color 0.15s ease, transform 0.15s ease;
}

.product-star-input-btn.is-active,
.product-star-input-btn:hover {
    color: #f59e0b;
    transform: scale(1.05);
}

.product-star-input-label {
    margin: 0.375rem 0 0;
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--muted);
}

.mbs-product-review-submit {
    justify-self: start;
    min-width: 10rem;
}

.mbs-product-review-error {
    margin: 0;
    font-size: 0.875rem;
    font-weight: 600;
    color: #dc2626;
}

.mbs-product-review-success {
    margin: 0;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--accent);
}

.mbs-product-review-empty {
    padding: 1.5rem 1rem;
    border: 1px dashed var(--border);
    border-radius: var(--radius-lg);
    text-align: center;
    color: var(--muted);
    background: var(--secondary);
}

.mbs-product-review-empty p {
    margin: 0;
}

.mbs-product-review-list {
    display: grid;
    gap: 1rem;
}

.mbs-product-review-item {
    padding: 1rem 0;
    border-bottom: 1px solid var(--border);
}

.mbs-product-review-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.mbs-product-review-item-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.625rem;
}

.mbs-product-review-author-wrap {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    min-width: 0;
}

.mbs-product-review-avatar {
    flex-shrink: 0;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 999px;
    overflow: hidden;
    background: var(--primary-light);
    color: var(--primary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 0.9375rem;
}

.mbs-product-review-avatar-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.mbs-product-review-optional {
    font-weight: 400;
    color: var(--muted);
    font-size: 0.875rem;
}

.mbs-product-review-photo-upload {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
}

.mbs-product-review-photo-input {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.mbs-product-review-photo-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.625rem 1rem;
    border-radius: 999px;
    border: 1px solid var(--border);
    background: #fff;
    color: var(--navy);
    font-size: 0.875rem;
    font-weight: 600;
    cursor: pointer;
    transition: border-color 0.2s ease, background 0.2s ease;
}

.mbs-product-review-photo-btn:hover {
    border-color: var(--primary);
    background: var(--primary-light);
}

.mbs-product-review-photo-name {
    font-size: 0.8125rem;
    color: var(--muted);
}

.mbs-product-review-photo-preview {
    margin-top: 0.75rem;
}

.mbs-product-review-photo-preview-img {
    width: 4.5rem;
    height: 4.5rem;
    border-radius: 999px;
    object-fit: cover;
    border: 2px solid var(--border);
}

.mbs-product-review-author {
    display: block;
    font-size: 0.9375rem;
    color: var(--navy);
}

.mbs-product-review-date {
    margin: 0.125rem 0 0;
    font-size: 0.8125rem;
    color: var(--muted);
}

.mbs-product-review-item-stars {
    display: inline-flex;
    gap: 0.125rem;
    flex-shrink: 0;
}

.mbs-product-review-text {
    margin: 0;
    font-size: 0.9375rem;
    line-height: 1.65;
    color: var(--foreground);
}

.mbs-product-detail-specs {
    list-style: none;
    margin: 0;
    padding: 0;
}

.mbs-product-detail-specs li {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.75rem 0;
    border-bottom: 1px solid var(--border);
}

/* Cart page — scoped to .cart-page (resources/views/pages/cart.blade.php) */
.cart-page .cart-hero,
.cart-hero {
    background:
        linear-gradient(135deg, var(--primary) 0%, #FB923C 52%, var(--primary-hover) 100%),
        repeating-linear-gradient(60deg, rgb(255 255 255 / 0.08) 0 2px, transparent 2px 20px);
    padding: 3.75rem 0;
    border-bottom: 4px solid color-mix(in srgb, #ffffff 35%, var(--accent));
}

.cart-page .cart-hero-inner,
.cart-hero-inner {
    text-align: center;
}

.cart-page .cart-hero-title,
.cart-hero-title {
    margin: 0;
    font-size: clamp(1.875rem, 4vw, 2.625rem);
    font-weight: 800;
    letter-spacing: -0.02em;
    color: #ffffff;
}

.cart-page .cart-hero-breadcrumb,
.cart-hero-breadcrumb {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.5rem;
    margin-top: 0.875rem;
    font-size: 0.875rem;
    color: rgb(255 255 255 / 0.82);
}

.cart-page .cart-hero-breadcrumb a,
.cart-hero-breadcrumb a {
    color: #ffffff;
    font-weight: 600;
    text-decoration: none;
    transition: opacity 0.2s ease;
}

.cart-page .cart-hero-breadcrumb a:hover,
.cart-hero-breadcrumb a:hover {
    color: var(--accent);
    opacity: 1;
}

.cart-page {
    padding: 2.75rem 0 4rem;
    background: linear-gradient(180deg, var(--mbs-light-blue) 0%, var(--secondary) 100%);
}

.cart-page .cart-shell {
    width: 100%;
}

.cart-page .cart-page-layout {
    display: grid;
    gap: 1.75rem;
    align-items: start;
}

@media (min-width: 1024px) {
    .cart-page .cart-page-layout {
        grid-template-columns: minmax(0, 1fr) 22.5rem;
        gap: 2rem;
    }
}

.cart-page .cart-page-main {
    background: #ffffff;
    border: 1px solid var(--mbs-light-blue);
    border-radius: 1rem;
    box-shadow: 0 10px 30px rgb(15 23 42 / 0.08);
    padding: 1.25rem;
    overflow: hidden;
}

@media (min-width: 768px) {
    .cart-page .cart-page-main {
        padding: 1.75rem 2rem 2rem;
    }
}

.cart-page .cart-table {
    width: 100%;
}

.cart-page .cart-table-head,
.cart-page .cart-row {
    display: grid;
    gap: 1rem;
    align-items: center;
}

.cart-page .cart-table-head {
    display: none;
    padding: 0 0 1rem;
    margin-bottom: 0.25rem;
    border-bottom: 2px solid var(--mbs-border);
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--navy);
}

@media (min-width: 900px) {
    .cart-page .cart-table-head,
    .cart-page .cart-row {
        grid-template-columns: minmax(0, 1.65fr) 11rem 9rem;
    }

    .cart-page .cart-table-head {
        display: grid;
    }
}

.cart-page .cart-row {
    padding: 1.375rem 0;
    border-bottom: 1px solid #e8edf3;
}

.cart-page .cart-row:last-child {
    border-bottom: none;
}

.cart-page .cart-mobile-label {
    display: block;
    margin-bottom: 0.5rem;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--muted);
}

@media (min-width: 900px) {
    .cart-page .cart-mobile-label {
        display: none;
    }
}

@media (max-width: 899px) {
    .cart-page .cart-row {
        gap: 0.875rem;
    }
}

.cart-page .cart-table-col--product {
    display: flex;
    align-items: flex-start;
    gap: 1.125rem;
    min-width: 0;
}

.cart-page .cart-row-image {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 6rem;
    height: 6rem;
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: 0.625rem;
    background: #ffffff;
}

.cart-page .cart-row-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 0.375rem;
}

.cart-page .cart-product-info {
    min-width: 0;
    flex: 1;
}

.cart-page .cart-row-title {
    display: block;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.45;
    color: var(--navy);
    text-decoration: none;
}

.cart-page .cart-row-title:hover {
    color: var(--primary);
}

.cart-page .cart-row-price {
    margin: 0.375rem 0 0;
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--primary);
}

.cart-page .cart-row-remove-form {
    margin: 0;
}

.cart-page .cart-row-remove {
    margin-top: 0.5rem;
    padding: 0;
    border: none;
    background: transparent;
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--muted);
    text-decoration: underline;
    text-underline-offset: 2px;
    cursor: pointer;
}

.cart-page .cart-row-remove:hover {
    color: #b91c1c;
}

.cart-page .cart-table-col--qty {
    display: flex;
    justify-content: flex-start;
}

@media (min-width: 900px) {
    .cart-page .cart-table-col--qty {
        justify-content: center;
    }
}

.cart-page .cart-qty-control {
    display: inline-flex;
    align-items: center;
    gap: 0.625rem;
    padding: 0.25rem;
    border: 1px solid var(--mbs-light-blue);
    border-radius: 9999px;
    background: var(--secondary);
}

.cart-page .cart-qty-control form {
    margin: 0;
}

.cart-page .cart-qty-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.375rem;
    height: 2.375rem;
    padding: 0;
    border: 1px solid color-mix(in srgb, var(--primary) 30%, var(--mbs-light-blue));
    border-radius: 50%;
    background: #ffffff;
    color: var(--primary);
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.cart-page .cart-qty-btn:hover:not(:disabled) {
    background: var(--primary);
    border-color: var(--primary);
    color: #ffffff;
}

.cart-page .cart-qty-btn:disabled {
    opacity: 0.4;
    cursor: not-allowed;
}

.cart-page .cart-qty-value {
    min-width: 1.5rem;
    text-align: center;
    font-size: 0.9375rem;
    font-weight: 700;
    color: var(--navy);
}

.cart-page .cart-table-col--total {
    text-align: left;
}

@media (min-width: 900px) {
    .cart-page .cart-table-col--total {
        text-align: right;
    }
}

.cart-page .cart-row-total {
    font-size: 1.0625rem;
    font-weight: 700;
    color: var(--navy);
}

.cart-page .cart-page-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 1.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid #e8edf3;
}

.cart-page .cart-continue-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.75rem;
    padding: 0.625rem 1.5rem;
    border: 1px solid var(--primary);
    border-radius: 0.625rem;
    background: #ffffff;
    font-size: 0.875rem;
    font-weight: 700;
    color: var(--primary);
    text-decoration: none;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.cart-page .cart-continue-btn:hover {
    background: var(--primary-light);
}

.cart-page .cart-clear-link {
    border: none;
    background: transparent;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--muted);
    cursor: pointer;
}

.cart-page .cart-clear-link:hover {
    color: #b91c1c;
}

.cart-page .cart-note-panel {
    margin-top: 1.75rem;
    padding-top: 1.75rem;
    border-top: 1px solid #e8edf3;
}

.cart-page .cart-note-label {
    display: block;
    margin-bottom: 0.625rem;
    font-size: 0.875rem;
    font-weight: 700;
    color: var(--navy);
}

.cart-page .cart-note-input {
    width: 100%;
    min-height: 6.5rem;
    padding: 0.875rem 1rem;
    border: 1px solid var(--mbs-light-blue);
    border-radius: 0.625rem;
    background: var(--secondary);
    font: inherit;
    color: var(--navy);
    resize: vertical;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.cart-page .cart-note-input:focus {
    outline: none;
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgb(249 115 22 / 0.12);
    background: #ffffff;
}

.cart-page .cart-discount-row {
    margin-top: 1.25rem;
}

.mbs-discount-code-label {
    display: block;
    margin-bottom: 0.5rem;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--navy);
}

.mbs-discount-code-box {
    display: flex;
    gap: 0.625rem;
}

.mbs-discount-code-input {
    flex: 1;
    min-width: 0;
    padding: 0.75rem 0.875rem;
    border: 1px solid var(--mbs-light-blue);
    border-radius: 0.625rem;
    background: #ffffff;
    font: inherit;
    color: var(--navy);
}

.mbs-discount-code-input:focus {
    outline: none;
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgb(249 115 22 / 0.12);
}

.mbs-discount-code-apply {
    flex-shrink: 0;
    min-width: 5.75rem;
    min-height: 2.75rem;
    padding: 0 1rem;
    border: 1px solid var(--primary);
    border-radius: 0.625rem;
    background: #ffffff;
    font-size: 0.875rem;
    font-weight: 700;
    color: var(--primary);
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.mbs-discount-code-apply:hover {
    background: var(--primary-light);
}

.mbs-discount-code-applied {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.75rem 0.875rem;
    border: 1px solid var(--mbs-light-blue);
    border-radius: 0.625rem;
    background: var(--primary-light);
}

.mbs-discount-code-badge {
    font-size: 0.875rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    color: var(--primary);
}

.mbs-discount-code-remove {
    border: 0;
    background: transparent;
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--muted);
    cursor: pointer;
    text-decoration: underline;
}

.mbs-discount-code-remove:hover {
    color: var(--navy);
}

.cart-page .cart-discount-box {
    display: flex;
    gap: 0.625rem;
}

.cart-page .cart-discount-input {
    flex: 1;
    min-width: 0;
    padding: 0.75rem 0.875rem;
    border: 1px solid var(--mbs-light-blue);
    border-radius: 0.625rem;
    background: #ffffff;
    font: inherit;
    color: var(--navy);
}

.cart-page .cart-discount-input:focus {
    outline: none;
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgb(249 115 22 / 0.12);
}

.cart-page .cart-discount-apply {
    flex-shrink: 0;
    min-width: 5.75rem;
    min-height: 2.75rem;
    padding: 0 1rem;
    border: 1px solid var(--primary);
    border-radius: 0.625rem;
    background: #ffffff;
    font-size: 0.875rem;
    font-weight: 700;
    color: var(--primary);
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.cart-page .cart-discount-apply:hover {
    background: var(--primary-light);
}

.cart-page .cart-summary-panel {
    position: sticky;
    top: 1.5rem;
    background: #ffffff;
    border: 1px solid var(--mbs-light-blue);
    border-radius: 1rem;
    box-shadow: 0 12px 32px rgb(15 23 42 / 0.1);
    padding: 1.5rem;
}

.cart-page .cart-summary-heading {
    margin: 0 0 1.25rem;
    font-size: 1.25rem;
    font-weight: 800;
    color: var(--navy);
}

.cart-page .cart-summary-rows {
    display: grid;
    gap: 0.875rem;
}

.cart-page .cart-summary-row {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    font-size: 0.9375rem;
    color: var(--navy);
}

.cart-page .cart-summary-row--total {
    padding-top: 0.875rem;
    margin-top: 0.25rem;
    border-top: 2px solid var(--mbs-border);
    font-size: 1.125rem;
    font-weight: 800;
}

.cart-page .cart-summary-note {
    margin: 1rem 0 0;
    font-size: 0.8125rem;
    line-height: 1.5;
    color: var(--muted);
}

.cart-page .cart-checkout-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 3.125rem;
    margin-top: 1.25rem;
    padding: 0.875rem 1.25rem;
    border: none;
    border-radius: 0.625rem;
    background: var(--primary) !important;
    font-size: 0.9375rem;
    font-weight: 700;
    color: #ffffff !important;
    text-decoration: none;
    cursor: pointer;
    box-shadow: 0 8px 20px rgb(249 115 22 / 0.28);
    transition: background-color 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease;
}

.cart-page .cart-checkout-btn:hover {
    background: var(--primary-hover) !important;
    color: #ffffff !important;
    transform: translateY(-1px);
    box-shadow: 0 12px 24px rgb(249 115 22 / 0.32);
}

.cart-page .cart-checkout-btn--inline {
    display: inline-flex;
    width: auto;
    min-width: 12rem;
    margin-top: 1.5rem;
}

.cart-page .cart-empty {
    padding: 4rem 1.5rem;
    border-radius: 1rem;
    border: 1px dashed var(--mbs-light-blue);
    background: #ffffff;
    text-align: center;
    box-shadow: 0 8px 24px rgb(15 23 42 / 0.06);
}

.cart-page .cart-empty h2 {
    margin: 0;
    font-size: 1.5rem;
    font-weight: 800;
    color: var(--navy);
}

.cart-page .cart-empty p {
    margin: 0.75rem 0 0;
    color: var(--muted);
}

/* Checkout page */
.checkout-shell {
    padding: 0;
    background: #ffffff;
}

.checkout-toolbar {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 1rem;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid var(--border);
    background: #ffffff;
}

@media (min-width: 1024px) {
    .checkout-toolbar {
        padding: 1.125rem 2.5rem;
    }
}

.checkout-toolbar-brand {
    display: inline-flex;
    align-items: center;
}

.checkout-toolbar-logo {
    height: 2rem;
    width: auto;
    object-fit: contain;
}

.checkout-toolbar-cart {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    border: 1px solid var(--border);
    border-radius: 50%;
    color: var(--navy);
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.checkout-toolbar-cart:hover {
    background: var(--primary-light);
    border-color: color-mix(in srgb, var(--primary) 30%, var(--border));
    color: var(--primary);
}

.checkout-toolbar-cart svg {
    width: 1.125rem;
    height: 1.125rem;
}

.checkout-toolbar-cart-count {
    position: absolute;
    top: -0.3rem;
    right: -0.3rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.125rem;
    height: 1.125rem;
    padding: 0 0.25rem;
    border-radius: 9999px;
    background: var(--accent);
    font-size: 0.625rem;
    font-weight: 700;
    color: #ffffff;
}

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

@media (min-width: 1024px) {
    .checkout-layout {
        grid-template-columns: minmax(0, 1.05fr) minmax(22rem, 0.95fr);
        align-items: stretch;
        min-height: calc(100vh - 4.25rem);
    }
}

.checkout-main {
    padding: 1.5rem 1.25rem 2.5rem;
    background: #ffffff;
}

@media (min-width: 1024px) {
    .checkout-main {
        padding: 2.5rem clamp(2rem, 5vw, 4.5rem);
        max-width: 40rem;
        margin-left: auto;
        width: 100%;
    }
}

.checkout-form-section {
    padding-bottom: 1.75rem;
    margin-bottom: 1.75rem;
    border-bottom: 1px solid var(--border);
}

.checkout-form-section:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

.checkout-form-section h2,
.checkout-section-head h2 {
    margin: 0 0 1rem;
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--navy);
}

.checkout-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.checkout-section-head h2 {
    margin: 0;
}

.checkout-signin-link {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--primary);
}

.checkout-field {
    margin-bottom: 0.875rem;
}

.checkout-field-grid {
    display: grid;
    gap: 0.875rem;
}

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

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

@media (min-width: 640px) {
    .checkout-field-grid--2 {
        grid-template-columns: repeat(2, 1fr);
    }

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

.checkout-label {
    display: block;
    margin-bottom: 0.375rem;
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--navy);
}

.checkout-input,
.checkout-select,
.checkout-textarea {
    width: 100%;
    padding: 0.8125rem 0.875rem;
    border: 1px solid var(--mbs-border);
    border-radius: 0.375rem;
    background: #ffffff;
    font: inherit;
    color: var(--foreground);
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.checkout-input:focus,
.checkout-select:focus,
.checkout-textarea:focus {
    outline: none;
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgb(249 115 22 / 0.12);
}

.checkout-select {
    appearance: auto;
    cursor: pointer;
    pointer-events: auto;
}

.checkout-input-wrap {
    position: relative;
}

.checkout-input-wrap .checkout-input {
    padding-right: 2.5rem;
}

.checkout-input-lock {
    position: absolute;
    top: 50%;
    right: 0.875rem;
    width: 1rem;
    height: 1rem;
    color: var(--muted);
    transform: translateY(-50%);
}

.checkout-checkbox {
    display: flex;
    align-items: flex-start;
    gap: 0.625rem;
    margin-top: 0.75rem;
    font-size: 0.875rem;
    color: var(--foreground);
    cursor: pointer;
}

.checkout-checkbox--compact {
    margin-top: 0.5rem;
}

.checkout-checkbox input {
    margin-top: 0.2rem;
}

.checkout-shipping-placeholder {
    padding: 1rem 1.125rem;
    border-radius: 0.375rem;
    background: #eef1f4;
    font-size: 0.875rem;
    color: var(--muted);
}

.checkout-shipping-error {
    padding: 1rem 1.125rem;
    border-radius: 0.375rem;
    background: #fef2f2;
    border: 1px solid #fecaca;
    font-size: 0.875rem;
    color: #b91c1c;
}

.checkout-shipping-options {
    display: grid;
    gap: 0.75rem;
}

.checkout-shipping-option-card {
    display: block;
    cursor: pointer;
}

.checkout-shipping-option-card input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.checkout-shipping-option-box {
    overflow: hidden;
    border: 1px solid var(--mbs-border);
    border-radius: 0.5rem;
    background: #ffffff;
    transition: border-color 0.2s ease, background-color 0.2s ease;
}

.checkout-shipping-option-card.is-active .checkout-shipping-option-box,
.checkout-shipping-option-card input:checked + .checkout-shipping-option-box {
    border-color: var(--primary);
    background: var(--primary-light);
}

.checkout-shipping-option-top {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 0.75rem;
    align-items: start;
    padding: 0.95rem 1rem;
}

.checkout-shipping-option-copy strong {
    display: block;
    font-size: 0.9375rem;
    font-weight: 700;
    color: var(--navy);
}

.checkout-shipping-option-copy small {
    display: block;
    margin-top: 0.25rem;
    font-size: 0.75rem;
    line-height: 1.45;
    color: var(--muted);
}

.checkout-shipping-option-price {
    font-size: 0.9375rem;
    font-weight: 700;
    color: var(--navy);
    white-space: nowrap;
}

.checkout-shipping-selected {
    border: 1px solid var(--border);
    border-radius: 0.375rem;
    overflow: hidden;
}

.checkout-shipping-option {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.875rem 1rem;
    background: #ffffff;
}

.checkout-shipping-option.is-selected {
    background: var(--primary-light);
    border-color: var(--primary);
}

.checkout-payment-note {
    margin: -0.5rem 0 1rem;
    font-size: 0.8125rem;
    color: var(--muted);
}

.checkout-payment-options {
    display: grid;
    gap: 0.75rem;
}

.checkout-payment-option {
    display: block;
    cursor: pointer;
}

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

.checkout-payment-option-box {
    overflow: hidden;
    border: 1px solid var(--mbs-border);
    border-radius: 0.5rem;
    background: #ffffff;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

.checkout-payment-option.is-active .checkout-payment-option-box,
.checkout-payment-option input:checked + .checkout-payment-option-box {
    border-color: var(--primary);
    background: var(--primary-light);
    box-shadow: none;
}

.checkout-payment-panel {
    padding: 0 1rem 1rem;
    border-top: 1px solid color-mix(in srgb, var(--primary) 14%, var(--mbs-border));
    background: rgb(255 255 255 / 0.72);
}

.checkout-payment-panel .checkout-field:first-child {
    margin-top: 1rem;
}

.checkout-payment-panel-message {
    margin: 0;
    padding: 1rem 0 0.25rem;
    font-size: 0.875rem;
    line-height: 1.55;
    color: var(--navy);
}

.checkout-payment-panel-hint {
    margin: 0.25rem 0 0;
    padding: 0.75rem 0.875rem;
    border-radius: var(--radius-sm);
    background: color-mix(in srgb, var(--accent) 8%, #ffffff);
    border: 1px solid color-mix(in srgb, var(--accent) 18%, var(--mbs-border));
    font-size: 0.8125rem;
    line-height: 1.5;
    color: var(--mbs-green-dark);
}

.checkout-file-input {
    padding: 0.625rem 0.875rem;
    background: #ffffff;
    cursor: pointer;
}

.checkout-file-input:disabled {
    cursor: not-allowed;
    opacity: 0.65;
}

.checkout-payment-option-top {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 0.75rem;
    align-items: start;
    padding: 0.95rem 1rem;
}

.checkout-payment-radio {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.125rem;
    height: 1.125rem;
    margin-top: 0.15rem;
    border: 2px solid var(--mbs-border);
    border-radius: 50%;
    background: #ffffff;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.checkout-payment-option.is-active .checkout-payment-radio,
.checkout-payment-option input:checked + .checkout-payment-option-box .checkout-payment-radio {
    border-color: var(--primary);
    box-shadow: inset 0 0 0 3px #ffffff, inset 0 0 0 1.125rem var(--primary);
}

.checkout-payment-copy strong {
    display: block;
    font-size: 0.9375rem;
    font-weight: 700;
    color: var(--navy);
}

.checkout-payment-copy small {
    display: block;
    margin-top: 0.25rem;
    font-size: 0.75rem;
    line-height: 1.45;
    color: var(--muted);
}

.checkout-payment-icon {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.35rem;
    max-width: 8.5rem;
}

.checkout-pay-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 1.375rem;
    padding: 0.125rem 0.45rem;
    border: 1px solid var(--border);
    border-radius: 0.25rem;
    background: #ffffff;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    line-height: 1;
    color: var(--navy);
    white-space: nowrap;
}

.checkout-pay-chip--cod {
    background: var(--primary-light);
    border-color: color-mix(in srgb, var(--primary) 25%, var(--border));
    color: var(--primary);
}

.checkout-pay-chip--jazzcash {
    background: #fce8ef;
    border-color: #f4c2d3;
    color: #b4235a;
}

.checkout-pay-chip--easypaisa {
    background: #e8f8ee;
    border-color: #bfe8cd;
    color: #1f7a3f;
}

.checkout-pay-chip--bank {
    background: #eef2f6;
    border-color: #d5dde7;
    color: var(--navy);
}

.checkout-pay-chip--visa {
    background: #eef3fb;
    border-color: #c8d8f2;
    color: #1a3f8b;
}

.checkout-pay-chip--mc {
    background: #fff4eb;
    border-color: #f2d4bf;
    color: #9a3f12;
}

.checkout-pay-chip--paypak {
    background: #edf8f1;
    border-color: #c6e6d0;
    color: #17653a;
}

.checkout-card-fields {
    padding: 0 1rem 1rem;
    border-top: 1px solid color-mix(in srgb, var(--primary) 12%, var(--border));
    background: #fafcff;
}

.checkout-card-fields .checkout-field:first-child {
    margin-top: 1rem;
}

.checkout-place-order {
    width: 100%;
    min-height: 3.25rem;
    margin-top: 0.5rem;
    font-size: 1rem;
    font-weight: 700;
}

.checkout-summary {
    order: -1;
    background: #f5f6f8;
    border-top: 1px solid var(--border);
}

@media (min-width: 1024px) {
    .checkout-summary {
        order: 0;
        border-top: none;
        border-left: 1px solid var(--border);
    }
}

.checkout-summary-sticky {
    padding: 1.5rem 1.25rem 2rem;
}

@media (min-width: 1024px) {
    .checkout-summary-sticky {
        position: sticky;
        top: 0;
        max-height: 100vh;
        overflow-y: auto;
        padding: 2.5rem clamp(1.5rem, 4vw, 3rem);
    }
}

.checkout-summary-list,
.checkout-summary-items {
    display: grid;
    gap: 1rem;
    margin-bottom: 1.25rem;
    padding-bottom: 1.25rem;
    border-bottom: 1px solid var(--mbs-border);
}

.checkout-summary-item {
    display: grid;
    grid-template-columns: 4.25rem minmax(0, 1fr) auto;
    gap: 0.875rem;
    align-items: start;
}

.checkout-summary-thumb {
    position: relative;
    width: 4.25rem;
    height: 4.25rem;
    overflow: visible;
    border: 1px solid var(--mbs-border);
    border-radius: 0.625rem;
    background: #ffffff;
}

.checkout-summary-thumb img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    border-radius: inherit;
}

.checkout-qty-badge,
.checkout-summary-qty {
    position: absolute;
    top: -0.45rem;
    right: -0.45rem;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.25rem;
    height: 1.25rem;
    padding: 0 0.3rem;
    border: 2px solid #f5f6f8;
    border-radius: 9999px;
    background: var(--navy);
    font-size: 0.6875rem;
    font-weight: 700;
    line-height: 1;
    color: #ffffff;
}

.checkout-summary-item-title {
    margin: 0;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.45;
    color: var(--navy);
}

.checkout-summary-item-meta {
    margin: 0.3rem 0 0;
    font-size: 0.75rem;
    color: var(--muted);
}

.checkout-summary-item-price {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--navy);
    white-space: nowrap;
}

.checkout-discount {
    margin: 1.25rem 0;
    padding-top: 1.25rem;
    border-top: 1px solid var(--mbs-border);
}

.checkout-total-rows {
    display: grid;
    gap: 0.7rem;
}

.checkout-total-row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
    font-size: 0.875rem;
    color: var(--navy);
}

.checkout-total-muted {
    color: var(--muted);
    font-weight: 500;
}

.checkout-total-row--grand {
    align-items: center;
    padding-top: 0.875rem;
    margin-top: 0.35rem;
    border-top: 1px solid var(--mbs-border);
    font-size: 1.125rem;
    font-weight: 700;
}

.checkout-total-amount {
    display: inline-flex;
    align-items: baseline;
    gap: 0.35rem;
    font-size: 1.25rem;
    font-weight: 800;
    color: var(--primary);
}

.checkout-total-currency {
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    color: var(--muted);
}

/* Cart drawer */
.cart-drawer-overlay {
    position: fixed;
    inset: 0;
    z-index: 70;
}

.cart-drawer-backdrop {
    position: absolute;
    inset: 0;
    background: rgb(15 23 42 / 0.5);
    backdrop-filter: blur(2px);
}

.cart-drawer {
    position: absolute;
    top: 0;
    right: 0;
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 28rem;
    height: 100%;
    background: #ffffff;
    border-left: 1px solid var(--border);
    box-shadow: var(--shadow-lg);
}

.cart-drawer-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.125rem 1.25rem;
    border-bottom: 1px solid var(--border);
}

.cart-drawer-title {
    margin: 0;
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--navy);
}

.cart-drawer-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border: 1px solid var(--border);
    border-radius: 50%;
    background: #ffffff;
    color: var(--muted);
    cursor: pointer;
}

.cart-drawer-shipping {
    padding: 1rem 1.25rem 0.75rem;
    border-bottom: 1px solid var(--border);
}

.cart-drawer-shipping-text {
    margin: 0 0 0.625rem;
    font-size: 0.8125rem;
    text-align: center;
    color: var(--navy);
}

.cart-drawer-progress {
    height: 0.35rem;
    overflow: hidden;
    border-radius: 9999px;
    background: var(--mbs-light-blue);
}

.cart-drawer-progress-bar {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--primary) 0%, var(--accent) 100%);
}

.cart-drawer-body {
    flex: 1;
    overflow-y: auto;
    padding: 1rem 1.25rem;
}

.cart-drawer-empty {
    padding: 2rem 1rem;
    text-align: center;
}

.cart-drawer-empty-sub {
    margin: 0.375rem 0 1rem;
    font-size: 0.8125rem;
    color: var(--muted);
}

.cart-drawer-items {
    display: grid;
    gap: 1rem;
}

.cart-drawer-row {
    display: flex;
    gap: 0.875rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--border);
}

.cart-drawer-row:last-child {
    padding-bottom: 0;
    border-bottom: none;
}

.cart-drawer-row-image {
    flex-shrink: 0;
    width: 4.75rem;
    height: 4.75rem;
    border: 1px solid var(--border);
    border-radius: 0.5rem;
    overflow: hidden;
    background: #ffffff;
}

.cart-drawer-row-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.cart-drawer-row-content {
    flex: 1;
    min-width: 0;
}

.cart-drawer-row-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.5rem;
}

.cart-drawer-row-title {
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.4;
    color: var(--navy);
}

.cart-drawer-row-price {
    margin: 0.375rem 0 0;
    font-size: 0.9375rem;
    font-weight: 700;
    color: var(--navy);
}

.cart-drawer-row-meta {
    margin: 0.25rem 0 0;
    font-size: 0.75rem;
    color: var(--muted);
}

.cart-drawer-remove {
    padding: 0;
    border: none;
    background: transparent;
    font-size: 1.125rem;
    line-height: 1;
    color: var(--muted);
    cursor: pointer;
}

.cart-drawer-remove:hover {
    color: #b91c1c;
}

.cart-drawer-footer {
    padding: 1.25rem;
    border-top: 1px solid var(--border);
    background: #ffffff;
}

.cart-drawer-subtotal {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    font-size: 1rem;
    color: var(--navy);
}

.cart-drawer-footer-note {
    margin: 0.375rem 0 0;
    font-size: 0.75rem;
    color: var(--muted);
}

.cart-drawer-checkout,
.cart-drawer-view {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 2.875rem;
    margin-top: 0.875rem;
}

/* Legacy cart summary component (drawer/other — not cart page) */
.mbs-cart-summary-rows {
    display: grid;
    gap: 0.75rem;
}

.mbs-cart-summary-row {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    font-size: 0.9375rem;
}

.mbs-cart-summary-row--total {
    padding-top: 0.75rem;
    border-top: 1px solid var(--border);
    font-size: 1.0625rem;
    font-weight: 700;
}

.mbs-order-success-card {
    max-width: 42rem;
    margin: 0 auto;
    padding: 1.5rem;
    border: 1px solid var(--border);
    border-radius: var(--radius-2xl);
    background: #ffffff;
    box-shadow: var(--shadow-sm);
    text-align: center;
}

/* Order success — resources/views/pages/order-success.blade.php */
.order-success-page {
    background: linear-gradient(180deg, var(--primary-light) 0%, #ffffff 100%);
    padding: 2rem 0 3rem;
}

.order-success-shell {
    max-width: 52rem;
}

.order-success-card {
    background: #ffffff;
    border: 1px solid var(--mbs-border);
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-sm);
    overflow: hidden;
}

.order-success-hero {
    padding: 2rem 1.5rem 1.25rem;
    text-align: center;
    border-bottom: 1px solid var(--mbs-border);
    background: #ffffff;
}

.order-success-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 4.5rem;
    height: 4.5rem;
    margin-bottom: 1rem;
    border-radius: 50%;
    background: var(--accent-light);
    color: var(--mbs-green-dark);
}

.order-success-icon svg {
    width: 2rem;
    height: 2rem;
}

.order-success-title {
    margin: 0 0 0.5rem;
    font-size: clamp(1.5rem, 3vw, 1.875rem);
    font-weight: 800;
    color: var(--navy);
}

.order-success-subtitle {
    margin: 0 auto;
    max-width: 34rem;
    font-size: 0.9375rem;
    line-height: 1.6;
    color: var(--muted);
}

.order-success-badge {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.375rem;
    margin: 1.25rem 1.5rem 0;
    padding: 1rem 1.25rem;
    border: 1px solid color-mix(in srgb, var(--primary) 28%, var(--mbs-border));
    border-radius: var(--radius-lg);
    background: var(--primary-light);
    text-align: center;
}

.order-success-badge-label {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--muted);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.order-success-badge-value {
    font-size: 1.25rem;
    font-weight: 800;
    color: var(--primary);
}

.order-success-meta-grid {
    display: grid;
    gap: 0.75rem;
    margin: 1.25rem 1.5rem 0;
    grid-template-columns: 1fr;
}

@media (min-width: 640px) {
    .order-success-meta-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.order-success-meta-item {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    padding: 0.875rem 1rem;
    border: 1px solid var(--mbs-border);
    border-radius: var(--radius-lg);
    background: #ffffff;
}

.order-success-meta-item span {
    font-size: 0.8125rem;
    color: var(--muted);
}

.order-success-meta-item strong {
    font-size: 0.9375rem;
    color: var(--navy);
}

.order-success-meta-item--total {
    grid-column: 1 / -1;
    background: var(--secondary);
}

.order-success-total {
    font-size: 1.125rem;
    color: var(--primary) !important;
}

.order-success-status--payment,
.order-success-status--order {
    color: var(--mbs-green-dark);
}

.order-success-timeline,
.order-tracking-timeline-block {
    margin: 1.25rem 1.5rem 0;
    padding: 1rem 1.125rem;
    border: 1px solid var(--mbs-border);
    border-radius: var(--radius-lg);
    background: var(--secondary);
}

.order-tracking-timeline {
    margin: 0;
}

.order-tracking-steps {
    display: grid;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

.order-tracking-step {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.875rem;
    align-items: start;
    padding: 0.75rem 0;
    position: relative;
}

.order-tracking-step:not(:last-child)::after {
    content: "";
    position: absolute;
    left: 0.5625rem;
    top: 1.75rem;
    bottom: -0.25rem;
    width: 2px;
    background: var(--mbs-border);
}

.order-tracking-step--completed:not(:last-child)::after,
.order-tracking-step--current:not(:last-child)::after {
    background: var(--primary);
}

.order-tracking-step-marker {
    width: 1.125rem;
    height: 1.125rem;
    margin-top: 0.125rem;
    border-radius: 50%;
    border: 2px solid var(--mbs-border);
    background: #fff;
}

.order-tracking-step--completed .order-tracking-step-marker {
    border-color: var(--primary);
    background: var(--primary);
    box-shadow: inset 0 0 0 3px #fff;
}

.order-tracking-step--current .order-tracking-step-marker {
    border-color: var(--primary);
    box-shadow: 0 0 0 4px rgb(249 115 22 / 0.15);
}

.order-tracking-step-body strong {
    display: block;
    font-size: 0.9375rem;
    color: var(--navy);
}

.order-tracking-step--upcoming .order-tracking-step-body strong {
    color: var(--muted);
}

.order-tracking-step-current {
    display: block;
    margin-top: 0.2rem;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--primary);
}

.track-order-page,
.order-tracking-page {
    padding: 2.5rem 0 3rem;
    background: var(--secondary);
}

.track-order-shell,
.order-tracking-shell {
    max-width: 34rem;
}

.track-order-card,
.order-tracking-card {
    padding: 1.75rem;
    background: #fff;
    border: 1px solid var(--mbs-border);
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-sm);
}

.track-order-head h1,
.order-tracking-head h1 {
    margin: 0 0 0.5rem;
    font-size: 1.5rem;
    color: var(--navy);
}

.track-order-head p,
.order-tracking-head p {
    margin: 0;
    color: var(--muted);
}

.track-order-form {
    margin-top: 1.5rem;
    display: grid;
    gap: 1rem;
}

.track-order-field label {
    display: block;
    margin-bottom: 0.375rem;
    font-size: 0.875rem;
    font-weight: 600;
}

.track-order-divider {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    color: var(--muted);
    font-size: 0.8125rem;
}

.track-order-divider::before,
.track-order-divider::after {
    content: "";
    flex: 1;
    height: 1px;
    background: var(--mbs-border);
}

.track-order-alert {
    margin-top: 1rem;
    padding: 0.75rem 1rem;
    border-radius: var(--radius-lg);
    font-size: 0.875rem;
}

.track-order-alert--error {
    background: #fef2f2;
    border: 1px solid #fecaca;
    color: #b91c1c;
}

.order-tracking-meta {
    display: grid;
    gap: 0.75rem;
    margin: 1.25rem 0 1.5rem;
    padding-top: 1.25rem;
    border-top: 1px solid var(--mbs-border);
}

.order-tracking-meta div {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    font-size: 0.875rem;
}

.order-tracking-meta span {
    color: var(--muted);
}

.order-tracking-meta strong {
    color: var(--navy);
    text-align: right;
}

.order-tracking-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.cms-order-barcode.order-barcode-block--compact {
    margin-left: 0;
    margin-bottom: 1rem;
}

.cms-order-barcode.order-barcode-block--compact .order-barcode-grid {
    justify-content: flex-start;
}

.cms-order-barcode.order-barcode-block--compact .order-barcode-code {
    text-align: left;
}

.cms-order-barcode--dispatch {
    margin: 1rem 0;
}

.order-success-section {
    margin: 1.5rem 1.5rem 0;
    padding-top: 1.25rem;
    border-top: 1px solid var(--mbs-border);
}

.order-success-section h2 {
    margin: 0 0 1rem;
    font-size: 1.0625rem;
    font-weight: 700;
    color: var(--navy);
}

.order-success-items {
    display: flex;
    flex-direction: column;
    gap: 0.875rem;
}

.order-success-item {
    display: grid;
    grid-template-columns: 4rem minmax(0, 1fr) auto;
    gap: 0.875rem;
    align-items: center;
    padding: 0.875rem;
    border: 1px solid var(--mbs-border);
    border-radius: var(--radius-lg);
    background: var(--secondary);
}

.order-success-item-image {
    display: block;
    width: 4rem;
    height: 4rem;
    border-radius: var(--radius-lg);
    overflow: hidden;
    border: 1px solid var(--mbs-border);
    background: #ffffff;
}

.order-success-item-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.order-success-item-name {
    display: block;
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--navy);
    text-decoration: none;
}

.order-success-item-name:hover {
    color: var(--primary);
}

.order-success-item-meta {
    margin: 0.25rem 0 0;
    font-size: 0.8125rem;
    color: var(--muted);
}

.order-success-item-total {
    font-size: 0.9375rem;
    color: var(--navy);
    white-space: nowrap;
}

.order-success-totals {
    margin-top: 1rem;
    padding-top: 0.75rem;
    border-top: 1px solid var(--mbs-border);
}

.order-success-totals div {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.375rem 0;
    font-size: 0.875rem;
    color: var(--muted);
}

.order-success-totals strong {
    color: var(--navy);
}

.order-success-totals-grand {
    margin-top: 0.5rem;
    padding-top: 0.75rem;
    border-top: 1px solid var(--mbs-border);
    font-size: 1rem !important;
    font-weight: 700;
}

.order-success-totals-grand strong {
    color: var(--primary);
}

.order-success-details-grid {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: 1fr;
}

@media (min-width: 640px) {
    .order-success-details-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.order-success-details-grid div {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    padding: 0.75rem 0.875rem;
    border: 1px solid var(--mbs-border);
    border-radius: var(--radius-lg);
    background: #ffffff;
}

.order-success-details-grid span {
    font-size: 0.8125rem;
    color: var(--muted);
}

.order-success-details-grid strong {
    font-size: 0.875rem;
    color: var(--navy);
    word-break: break-word;
}

.order-success-bank {
    margin: 1.5rem 1.5rem 0;
    padding: 1rem 1.125rem;
    border: 1px solid var(--mbs-border);
    border-radius: var(--radius-lg);
    background: var(--secondary);
    text-align: left;
}

.order-success-bank h2 {
    margin: 0 0 0.75rem;
    font-size: 1rem;
    color: var(--navy);
}

.order-success-bank p {
    margin: 0 0 0.5rem;
    font-size: 0.875rem;
    color: var(--foreground);
}

.order-success-bank-note {
    margin-top: 0.75rem !important;
    color: var(--muted) !important;
}

.order-success-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.75rem;
    padding: 1.5rem;
}

.order-success-invoice-btn {
    border-color: var(--primary);
    color: var(--primary);
}

/* Invoice page — resources/views/orders/invoice.blade.php */
.order-invoice-page {
    margin: 0;
    background: linear-gradient(180deg, var(--primary-light) 0%, var(--secondary) 100%);
    color: var(--foreground);
    font-family: "Plus Jakarta Sans", system-ui, sans-serif;
    min-height: 100vh;
}

.order-invoice-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    justify-content: center;
    padding: 1rem 1.25rem;
    background: #ffffff;
    border-bottom: 1px solid var(--mbs-border);
    position: sticky;
    top: 0;
    z-index: 10;
}

.order-invoice-print-btn,
.order-invoice-back-btn {
    border-color: var(--primary);
    color: var(--primary);
}

.order-invoice-alert {
    max-width: 56rem;
    margin: 1rem auto 0;
    padding: 0.75rem 1rem;
    border: 1px solid #fecaca;
    border-radius: var(--radius-lg);
    background: #fef2f2;
    color: #b91c1c;
    font-size: 0.875rem;
    line-height: 1.5;
}

.order-invoice-sheet {
    max-width: 56rem;
    margin: 1.5rem auto 2rem;
    padding: 2rem;
    background: #ffffff;
    border: 1px solid var(--mbs-border);
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-sm);
}

.order-invoice-header {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 1.5rem;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid var(--mbs-border);
}

.order-invoice-logo {
    max-width: 11rem;
    height: auto;
}

.order-invoice-header-meta {
    text-align: right;
}

.order-invoice-kicker {
    margin: 0 0 0.375rem;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    color: var(--primary);
}

.order-invoice-heading {
    margin: 0 0 0.375rem;
    font-size: 1.375rem;
    font-weight: 800;
    color: var(--navy);
}

.order-invoice-date {
    margin: 0 0 0.75rem;
    font-size: 0.875rem;
    color: var(--muted);
}

.order-invoice-badges {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.5rem;
}

.order-invoice-badge {
    display: inline-flex;
    align-items: center;
    padding: 0.3125rem 0.75rem;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 700;
}

.order-invoice-badge--payment {
    background: var(--accent-light);
    color: var(--mbs-green-dark);
}

.order-invoice-badge--order {
    background: var(--primary-light);
    color: var(--primary);
}

.order-invoice-badge--shipping {
    background: var(--primary-light);
    color: var(--primary-hover);
}

.order-invoice-barcode-compact {
    margin-top: 0.875rem;
    margin-left: auto;
}

.order-barcode-block {
    display: grid;
    gap: 0.35rem;
}

.order-barcode-block--compact {
    width: fit-content;
    margin-left: auto;
}

.order-barcode-block--compact .order-barcode-grid {
    justify-content: flex-end;
    gap: 0.5rem;
}

.order-barcode-block--compact .order-barcode-qr {
    width: 80px;
    height: 80px;
}

.order-barcode-block--compact .order-barcode-image {
    max-width: 180px;
    width: 180px;
    height: auto;
    max-height: 44px;
    object-fit: contain;
}

.order-barcode-block--compact .order-barcode-code {
    font-size: 0.6875rem;
    text-align: right;
}

.order-barcode-block--large .order-barcode-grid {
    gap: 1.25rem;
    align-items: center;
}

.order-barcode-block--large .order-barcode-qr {
    width: 160px;
    height: 160px;
}

.order-barcode-block--large .order-barcode-image {
    max-width: 320px;
    width: 100%;
    height: auto;
}

.order-barcode-block--large .order-barcode-code {
    font-size: 1rem;
    text-align: center;
}

.order-barcode-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    align-items: center;
}

.order-barcode-image {
    max-width: 100%;
    height: auto;
    display: block;
}

.order-barcode-qr {
    width: 120px;
    height: 120px;
    display: block;
}

.order-barcode-code {
    margin: 0;
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
    font-weight: 700;
    letter-spacing: 0.04em;
    color: var(--navy);
}

.packing-slip-page {
    margin: 0;
    background: #f5faff;
    color: var(--navy);
}

.packing-slip-sheet {
    max-width: 52rem;
    margin: 1.5rem auto 2rem;
    padding: 2rem;
    background: #ffffff;
    border: 1px solid var(--mbs-border);
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-sm);
}

.packing-slip-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-bottom: 1.5rem;
}

.packing-slip-header {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 1.5rem;
    align-items: flex-start;
    padding-bottom: 1.25rem;
    margin-bottom: 1.25rem;
    border-bottom: 1px solid var(--mbs-border);
}

.packing-slip-kicker {
    margin: 0 0 0.35rem;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    color: var(--primary);
}

.packing-slip-title {
    margin: 0;
    font-size: 1.5rem;
    font-weight: 800;
    color: var(--navy);
}

.packing-slip-barcode {
    margin-left: auto;
}

.packing-slip-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.packing-slip-card {
    padding: 1rem;
    border: 1px solid var(--mbs-border);
    border-radius: var(--radius-lg);
    background: var(--secondary);
}

.packing-slip-card h2 {
    margin: 0 0 0.75rem;
    font-size: 0.8125rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--primary);
}

.packing-slip-card dl {
    margin: 0;
}

.packing-slip-card dl div {
    margin-bottom: 0.5rem;
}

.packing-slip-card dt {
    font-size: 0.75rem;
    color: var(--muted);
    margin-bottom: 0.125rem;
}

.packing-slip-card dd {
    margin: 0;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--navy);
}

.packing-slip-table-wrap {
    overflow-x: auto;
}

.packing-slip-table {
    width: 100%;
    border-collapse: collapse;
}

.packing-slip-table th,
.packing-slip-table td {
    padding: 0.75rem;
    border-bottom: 1px solid var(--mbs-border);
    text-align: left;
    font-size: 0.875rem;
}

.packing-slip-table th {
    background: var(--primary-light);
    color: var(--navy);
    font-weight: 700;
}

.order-invoice-info-grid {
    display: grid;
    gap: 1rem;
    margin-top: 1.5rem;
    grid-template-columns: 1fr;
}

@media (min-width: 900px) {
    .order-invoice-info-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.order-invoice-info-card {
    padding: 1rem 1.125rem;
    border: 1px solid var(--mbs-border);
    border-radius: var(--radius-lg);
    background: var(--secondary);
}

.order-invoice-info-card h2 {
    margin: 0 0 0.75rem;
    font-size: 0.8125rem;
    font-weight: 700;
    color: var(--primary);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.order-invoice-info-card dl {
    margin: 0;
}

.order-invoice-info-card dl div {
    margin-bottom: 0.5rem;
}

.order-invoice-info-card dl div:last-child {
    margin-bottom: 0;
}

.order-invoice-info-card dt {
    margin: 0 0 0.125rem;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--muted);
}

.order-invoice-info-card dd {
    margin: 0;
    font-size: 0.875rem;
    line-height: 1.45;
    color: var(--navy);
    word-break: break-word;
}

.order-invoice-table-wrap {
    margin-top: 1.5rem;
    overflow-x: auto;
    border: 1px solid var(--mbs-border);
    border-radius: var(--radius-lg);
}

.order-invoice-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.875rem;
}

.order-invoice-table th,
.order-invoice-table td {
    padding: 0.875rem 0.75rem;
    border-bottom: 1px solid var(--mbs-border);
    text-align: left;
    vertical-align: top;
}

.order-invoice-table th {
    background: var(--primary-light);
    color: var(--navy);
    font-weight: 700;
    font-size: 0.8125rem;
}

.order-invoice-table tbody tr:last-child td {
    border-bottom: none;
}

.order-invoice-product {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    min-width: 12rem;
}

.order-invoice-product img {
    width: 3rem;
    height: 3rem;
    object-fit: cover;
    border-radius: var(--radius-icon-btn);
    border: 1px solid var(--mbs-border);
    background: #ffffff;
    flex-shrink: 0;
}

.order-invoice-product span {
    font-weight: 600;
    color: var(--navy);
}

.order-invoice-summary {
    margin-top: 1.25rem;
    margin-left: auto;
    max-width: 20rem;
    padding: 1rem 1.125rem;
    border: 1px solid var(--mbs-border);
    border-radius: var(--radius-lg);
    background: #ffffff;
}

.order-invoice-summary-row {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.375rem 0;
    font-size: 0.875rem;
    color: var(--muted);
}

.order-invoice-summary-row strong {
    color: var(--navy);
}

.order-invoice-summary-grand {
    margin-top: 0.5rem;
    padding-top: 0.75rem;
    border-top: 1px solid var(--mbs-border);
    font-size: 1.0625rem;
    font-weight: 700;
}

.order-invoice-summary-grand strong {
    color: var(--primary);
    font-size: 1.125rem;
}

.order-invoice-footer {
    margin-top: 2rem;
    padding-top: 1.25rem;
    border-top: 1px solid var(--mbs-border);
    text-align: center;
    font-size: 0.875rem;
    color: var(--muted);
}

.order-invoice-footer p {
    margin: 0 0 0.375rem;
}

@media print {
    .no-print,
    .order-invoice-toolbar,
    .order-invoice-alert,
    .packing-slip-toolbar {
        display: none !important;
    }

    .order-invoice-page,
    .packing-slip-page {
        background: #ffffff;
    }

    .order-invoice-sheet,
    .packing-slip-sheet {
        margin: 0;
        padding: 0;
        border: none;
        border-radius: 0;
        box-shadow: none;
        max-width: none;
    }

    .order-invoice-info-card,
    .order-invoice-table-wrap,
    .order-invoice-summary,
    .packing-slip-grid,
    .packing-slip-table-wrap {
        break-inside: avoid;
    }

    .order-barcode-block--compact .order-barcode-qr {
        width: 70px;
        height: 70px;
    }

    .order-barcode-block--compact .order-barcode-image {
        max-width: 160px;
        width: 160px;
    }

    @page {
        size: A4;
        margin: 12mm;
    }
}

@media (max-width: 767px) {
    .order-invoice-header-meta {
        text-align: left;
    }

    .order-invoice-badges {
        justify-content: flex-start;
    }

    .order-invoice-barcode-compact,
    .order-barcode-block--compact {
        margin-left: 0;
    }

    .order-barcode-block--compact .order-barcode-grid {
        justify-content: flex-start;
    }

    .order-barcode-block--compact .order-barcode-code {
        text-align: left;
    }

    .packing-slip-grid {
        grid-template-columns: 1fr;
    }

    .packing-slip-barcode {
        margin-left: 0;
        width: 100%;
    }

    .order-invoice-sheet,
    .packing-slip-sheet {
        margin: 1rem;
        padding: 1.25rem;
    }
}

.mbs-order-success-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 4rem;
    height: 4rem;
    border-radius: 50%;
    background: var(--accent-light);
    color: var(--mbs-green-dark);
    font-size: 1.5rem;
    font-weight: 700;
}

.mbs-order-success-details {
    display: grid;
    gap: 0.75rem;
    margin: 1.5rem 0;
    text-align: left;
}

.mbs-order-success-details div {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.75rem 0;
    border-bottom: 1px solid var(--border);
}

.mbs-order-bank-details {
    margin: 1.5rem 0;
    padding: 1rem;
    border-radius: var(--radius-lg);
    background: var(--secondary);
    text-align: left;
}

.mbs-order-success-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.75rem;
}

/* Search modal — resources/views/components/search-modal.blade.php */
.search-modal-overlay {
    position: fixed;
    inset: 0;
    z-index: 70;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.5rem 1rem;
    overflow-y: auto;
    background: rgb(15 23 42 / 0.72);
    backdrop-filter: blur(4px);
}

.search-modal {
    position: relative;
    width: 100%;
    max-width: 900px;
    max-height: min(88vh, 520px);
    margin: auto;
    background: var(--secondary);
    border: 1px solid var(--mbs-border);
    border-radius: var(--radius-modal);
    box-shadow: 0 24px 48px rgb(15 23 42 / 0.22);
    overflow: hidden;
}

.search-modal-close {
    position: absolute;
    top: 1rem;
    right: 1rem;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    padding: 0;
    border: none;
    border-radius: 9999px;
    background: rgb(15 23 42 / 0.06);
    color: #111827;
    cursor: pointer;
    transition: background-color 0.2s ease, opacity 0.2s ease;
}

.search-modal-close svg {
    width: 1.25rem;
    height: 1.25rem;
}

.search-modal-close:hover {
    background: rgb(15 23 42 / 0.12);
    opacity: 1;
}

.search-modal-body {
    padding: 1.5rem 1.25rem 1.25rem;
    overflow-y: auto;
    max-height: min(88vh, 520px);
}

@media (min-width: 768px) {
    .search-modal-body {
        padding: 1.75rem 2rem 1.5rem;
    }
}

.search-modal-input-wrap {
    position: relative;
    max-width: 42rem;
    margin: 0 auto;
}

.search-modal-input {
    width: 100%;
    padding: 0.875rem 3rem 0.875rem 1rem;
    border: 1px solid #d1d5db;
    border-radius: var(--radius-lg);
    background: #ffffff;
    font: inherit;
    font-size: 1rem;
    color: var(--navy);
}

.search-modal-input:focus {
    outline: none;
    border-color: var(--primary);
    box-shadow: 0 0 0 2px rgb(249 115 22 / 0.12);
}

.search-modal-input-icon {
    position: absolute;
    top: 50%;
    right: 1rem;
    width: 1.125rem;
    height: 1.125rem;
    color: #6b7280;
    transform: translateY(-50%);
    pointer-events: none;
}

.search-popular-inline {
    margin: 0.75rem 0 0;
    text-align: center;
    font-size: 0.875rem;
    line-height: 1.5;
    color: #374151;
}

.search-popular-label {
    margin-right: 0.375rem;
}

.search-popular-link {
    margin: 0 0.5rem;
    padding: 0;
    border: none;
    background: transparent;
    font: inherit;
    font-size: inherit;
    color: var(--navy);
    text-decoration: underline;
    text-underline-offset: 2px;
    cursor: pointer;
    transition: color 0.2s ease;
}

.search-popular-link:hover {
    color: var(--primary);
}

.search-featured-title {
    margin: 1rem 0 0.75rem;
    text-align: center;
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.3;
    color: var(--navy);
}

.search-modal-status {
    margin: 1rem 0 0;
    text-align: center;
    font-size: 0.9375rem;
    color: var(--muted);
}

.search-modal-empty {
    margin: 1.5rem 0 0;
    padding: 2rem 1rem;
    text-align: center;
    font-size: 1rem;
    font-weight: 600;
    color: var(--navy);
    background: #ffffff;
    border: 1px solid var(--mbs-border);
    border-radius: 0.5rem;
}

.search-modal-results {
    margin-top: 0.5rem;
}

.search-modal-product-grid {
    margin-top: 0;
    grid-template-columns: 1fr;
    gap: 0.875rem;
}

@media (min-width: 640px) {
    .search-modal-product-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 768px) {
    .search-modal-product-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 1rem;
    }
}

.search-modal-product-grid .product-card,
.search-modal-product-grid .mbs-product-card {
    height: 100%;
}

.search-modal-product-grid .product-image-wrap,
.search-modal-product-grid .product-card-media {
    height: var(--mbs-product-media-h);
}

@media (min-width: 640px) {
    .search-modal-product-grid .product-image-wrap,
    .search-modal-product-grid .product-card-media {
        height: var(--mbs-product-media-h-md);
    }
}

.search-modal-product-grid .product-card-body,
.search-modal-product-grid .mbs-product-card-body {
    padding: 1rem 1rem 1.125rem;
}

.search-modal-product-grid .product-title,
.search-modal-product-grid .mbs-product-title {
    min-height: 2.25rem;
    font-size: 0.875rem;
}

.search-modal-product-grid .product-cart-btn {
    padding: 0.625rem 0.75rem;
    font-size: 0.8125rem;
}

.product-action-btn--wishlist.is-active {
    background: var(--accent);
    color: #ffffff;
    border-color: var(--accent);
}

.product-action-btn--wishlist.is-active svg {
    fill: currentColor;
}

.product-action-btn--wishlist.is-active:hover {
    background: var(--mbs-green-dark);
    border-color: var(--mbs-green-dark);
    color: #ffffff;
}

.product-action-btn--compare.is-active {
    background: var(--accent);
    color: #ffffff;
    border-color: var(--accent);
}

.product-action-btn--compare.is-active:hover {
    background: var(--mbs-green-dark);
    border-color: var(--mbs-green-dark);
    color: #ffffff;
}

.mbs-product-detail-wishlist.is-active {
    background: var(--accent);
    border-color: var(--accent);
    color: #ffffff;
}

.mbs-product-detail-wishlist.is-active svg {
    fill: currentColor;
}

.mbs-toast {
    position: fixed;
    bottom: 1.5rem;
    left: 1.5rem;
    z-index: 90;
    max-width: min(22rem, calc(100vw - 2rem));
    padding: 0.875rem 1.25rem;
    border-radius: 0.5rem;
    background: var(--navy);
    color: #ffffff;
    font-size: 0.9375rem;
    font-weight: 600;
    line-height: 1.4;
    box-shadow: 0 12px 32px rgb(15 23 42 / 0.28);
}

.wishlist-empty {
    max-width: 32rem;
    margin: 0 auto;
    padding: 3rem 1.5rem;
    text-align: center;
    background: #ffffff;
    border: 1px solid var(--mbs-border);
    border-radius: 0.75rem;
}

.wishlist-empty h2 {
    margin: 0 0 0.75rem;
    font-size: 1.375rem;
    font-weight: 700;
    color: var(--navy);
}

.wishlist-empty p {
    margin: 0 0 1.5rem;
    color: var(--muted);
}

.wishlist-item-wrap {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.wishlist-remove-btn {
    align-self: center;
    padding: 0;
    border: none;
    background: transparent;
    font: inherit;
    font-size: 0.875rem;
    font-weight: 600;
    color: #dc2626;
    text-decoration: underline;
    text-underline-offset: 2px;
    cursor: pointer;
    transition: color 0.2s ease;
}

.wishlist-remove-btn:hover {
    color: #b91c1c;
}

.compare-page .compare-empty {
    max-width: 36rem;
    margin: 0 auto;
    padding: 3rem 1.5rem;
    text-align: center;
    background: #ffffff;
    border: 1px solid var(--card-border);
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-sm);
}

.compare-page .compare-empty h2 {
    margin: 0 0 0.75rem;
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--navy);
}

.compare-page .compare-empty p {
    margin: 0 0 1.5rem;
    color: var(--muted);
}

.compare-table-wrap {
    background: #ffffff;
    border: 1px solid var(--card-border);
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-sm);
    overflow: hidden;
}

.compare-table-scroll {
    overflow-x: auto;
}

.compare-table {
    width: 100%;
    min-width: 720px;
    border-collapse: collapse;
}

.compare-table th,
.compare-table td {
    padding: 1rem 1.25rem;
    border-bottom: 1px solid var(--card-border);
    vertical-align: top;
    text-align: left;
}

.compare-table thead th {
    background: var(--secondary);
    font-size: 0.875rem;
    font-weight: 700;
    color: var(--navy);
}

.compare-table tbody th {
    width: 11rem;
    min-width: 11rem;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--navy);
    background: #fbfdff;
}

.compare-table tbody td {
    font-size: 0.9375rem;
    color: var(--foreground);
}

.compare-product-head {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
    min-width: 10rem;
}

.compare-product-image {
    display: block;
    width: 6.5rem;
    height: 6.5rem;
    overflow: hidden;
    border-radius: 0.75rem;
    border: 1px solid var(--card-border);
    background: #ffffff;
}

.compare-product-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.compare-product-name {
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.4;
    color: var(--navy);
    text-align: center;
    text-decoration: none;
}

.compare-product-name:hover {
    color: var(--primary);
}

.compare-remove-btn,
.compare-view-btn {
    border: none;
    background: transparent;
    font: inherit;
    font-size: 0.8125rem;
    font-weight: 600;
    cursor: pointer;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.compare-remove-btn {
    color: #dc2626;
}

.compare-remove-btn:hover {
    color: #b91c1c;
}

.compare-view-btn {
    color: var(--primary);
    text-decoration: none;
}

.compare-view-btn:hover {
    color: var(--primary-hover);
}

.compare-note {
    margin: 0;
    padding: 0.875rem 1.25rem 1.125rem;
    font-size: 0.8125rem;
    color: var(--muted);
}

@media (min-width: 768px) {
    .search-modal {
        width: 62%;
    }
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* Homepage UI polish — tile & grid consistency */
.mbs-brand-card {
    min-height: 5.75rem;
}

.deals-banner-grid,
.featured-collections-items,
.mbs-promo-banners {
    min-width: 0;
}

.mbs-ai-section .home-section-inner {
    align-items: stretch;
}

@media (min-width: 1024px) {
    .testimonial-card {
        min-height: 19.5rem;
    }
}

.product-card:hover,
.mbs-product-card:hover {
    z-index: 2;
}

.product-image-wrap .product-actions,
.product-image-wrap .mbs-product-actions {
    z-index: 12;
}

/* Product cards — mobile touch & image consistency */
@media (max-width: 767px) {
    .product-image-wrap,
    .product-card-media {
        --mbs-product-image-pad: 0.625rem;
    }

    .product-actions,
    .mbs-product-actions {
        top: 0.625rem;
        right: 0.625rem;
        gap: 0.5rem;
        opacity: 1;
        transform: none;
        pointer-events: auto;
    }

    .product-action-label {
        display: none;
    }

    .product-action-btn,
    .mbs-quick-btn {
        width: 36px;
        height: 36px;
        min-width: 36px;
        min-height: 36px;
    }

    .product-badge,
    .mbs-product-badge {
        top: 0.625rem;
        left: 0.625rem;
    }

    .shop-page .shop-products-grid--list .product-card {
        flex-direction: column;
    }

    .shop-page .shop-products-grid--list .product-image-wrap {
        width: 100%;
        height: var(--mbs-product-media-h);
        min-height: var(--mbs-product-media-h);
        border-radius: var(--radius-card) var(--radius-card) 0 0;
    }

    .shop-page .shop-products-grid--list .product-card-body {
        border-radius: 0 0 var(--radius-card) var(--radius-card);
    }

    .testimonial-card {
        min-height: auto;
        padding: 1.25rem 1.125rem 1.125rem;
    }

    .testimonials-grid {
        gap: 1rem;
    }

    .testimonials-slider {
        padding: 0;
    }

    .mbs-blog-card-media {
        height: 11rem;
    }
}

/* About Us page */
.about-page {
    background: var(--secondary);
}

.about-hero {
    position: relative;
    overflow: hidden;
    background:
        linear-gradient(135deg, rgb(15 23 42 / 0.97) 0%, rgb(30 41 59 / 0.94) 52%, rgb(15 23 42 / 0.98) 100%),
        repeating-linear-gradient(
            135deg,
            rgb(255 255 255 / 0.035) 0,
            rgb(255 255 255 / 0.035) 1px,
            transparent 1px,
            transparent 14px
        );
    color: #fff;
}

.about-hero-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 12rem;
    padding-top: 3rem;
    padding-bottom: 3rem;
    text-align: center;
}

.about-hero-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
    font-size: 0.875rem;
    color: rgb(255 255 255 / 0.72);
}

.about-hero-breadcrumb a {
    color: rgb(255 255 255 / 0.85);
    text-decoration: none;
    transition: color 0.2s ease;
}

.about-hero-breadcrumb a:hover {
    color: var(--accent);
}

.about-hero-title {
    margin: 0;
    font-size: clamp(2rem, 4vw, 2.75rem);
    font-weight: 700;
    letter-spacing: -0.03em;
    color: #fff;
}

.about-intro {
    padding: 4rem 0;
    background: #fff;
}

.about-intro-grid {
    display: grid;
    gap: 2.5rem;
    align-items: center;
}

@media (min-width: 992px) {
    .about-intro-grid {
        grid-template-columns: minmax(0, 1fr) minmax(0, 0.95fr);
        gap: 3.5rem;
    }
}

.about-intro-label {
    margin: 0 0 0.75rem;
    font-size: 0.8125rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--primary);
}

.about-intro-heading {
    margin: 0 0 1.25rem;
    font-size: clamp(1.75rem, 3vw, 2.35rem);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.02em;
    color: var(--navy);
}

.about-intro-content p {
    margin: 0 0 1rem;
    font-size: 0.96875rem;
    line-height: 1.8;
    color: var(--muted);
}

.about-intro-signature {
    margin-top: 1.5rem !important;
    font-size: 1rem !important;
    font-weight: 700;
    font-style: italic;
    color: var(--navy) !important;
}

.about-intro-image {
    overflow: hidden;
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-lg);
    background: var(--primary-light);
}

.about-intro-image img {
    display: block;
    width: 100%;
    min-height: 18rem;
    object-fit: cover;
    aspect-ratio: 4 / 3;
}

.about-unique {
    position: relative;
    padding: 4.5rem 0;
    color: #fff;
    background:
        linear-gradient(135deg, rgb(15 23 42 / 0.92) 0%, rgb(30 41 59 / 0.88) 100%),
        var(--about-unique-bg) center / cover no-repeat;
}

.about-unique-grid {
    display: grid;
    gap: 2.5rem;
    align-items: center;
}

@media (min-width: 992px) {
    .about-unique-grid {
        grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
        gap: 3rem;
    }
}

.about-unique-header {
    margin-bottom: 2rem;
}

.about-unique-title {
    margin: 0 0 0.75rem;
    font-size: clamp(1.75rem, 3vw, 2.25rem);
    font-weight: 700;
    letter-spacing: -0.02em;
    color: #fff;
}

.about-unique-subtitle {
    margin: 0;
    max-width: 34rem;
    font-size: 0.96875rem;
    line-height: 1.7;
    color: rgb(255 255 255 / 0.78);
}

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

@media (min-width: 640px) {
    .about-feature-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.about-feature-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.875rem;
    min-height: 8.5rem;
    padding: 1.25rem 1rem;
    border-radius: var(--radius-lg);
    background: #fff;
    box-shadow: var(--shadow-md);
    text-align: center;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.about-feature-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-lg);
}

.about-feature-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 50%;
    background: var(--primary-light);
    color: var(--primary);
}

.about-feature-icon svg {
    width: 1.35rem;
    height: 1.35rem;
}

.about-feature-card:nth-child(even) .about-feature-icon {
    background: var(--accent-light);
    color: var(--mbs-green-dark);
}

.about-feature-title {
    margin: 0;
    font-size: 0.9375rem;
    font-weight: 700;
    line-height: 1.35;
    color: var(--navy);
}

.about-overlap-images {
    position: relative;
    min-height: 22rem;
}

.about-overlap-images-primary,
.about-overlap-images-secondary {
    position: absolute;
    display: block;
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-lg);
    object-fit: cover;
}

.about-overlap-images-primary {
    top: 0;
    left: 0;
    z-index: 1;
    width: min(72%, 18rem);
    height: 16rem;
}

.about-overlap-images-secondary {
    right: 0;
    bottom: 0;
    z-index: 2;
    width: min(58%, 14rem);
    height: 12rem;
    border: 4px solid rgb(255 255 255 / 0.15);
}

.about-testimonials {
    padding: 4.5rem 0;
    background: #fff;
}

.about-testimonials-title {
    margin: 0 0 2.5rem;
    font-size: clamp(1.75rem, 3vw, 2.25rem);
    font-weight: 700;
    text-align: center;
    letter-spacing: -0.02em;
    color: var(--navy);
}

.about-testimonials-slider {
    position: relative;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: center;
    max-width: 52rem;
    margin: 0 auto;
}

.about-testimonials-arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    border: 1px solid var(--border);
    border-radius: 50%;
    background: #fff;
    color: var(--primary);
    cursor: pointer;
    transition: border-color 0.2s ease, color 0.2s ease, background-color 0.2s ease;
}

.about-testimonials-arrow svg {
    width: 1.125rem;
    height: 1.125rem;
}

.about-testimonials-arrow:hover:not(:disabled) {
    border-color: var(--primary);
    background: var(--primary-light);
}

.about-testimonials-arrow:disabled {
    opacity: 0.35;
    cursor: not-allowed;
}

.about-testimonials-body {
    min-height: 16rem;
}

.about-testimonials-slide {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.about-testimonials-quote {
    margin-bottom: 1rem;
    color: var(--primary-light);
}

.about-testimonials-quote svg {
    width: 2.5rem;
    height: 2.5rem;
    color: color-mix(in srgb, var(--primary) 18%, var(--primary-light));
}

.about-testimonials-text {
    margin: 0 0 1.75rem;
    max-width: 40rem;
    font-size: 1.0625rem;
    font-style: italic;
    line-height: 1.8;
    color: var(--muted);
}

.about-testimonials-author {
    display: flex;
    align-items: center;
    gap: 0.875rem;
}

.about-testimonials-avatar {
    width: 3.25rem;
    height: 3.25rem;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid var(--primary-light);
}

.about-testimonials-avatar--initials {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--primary-light);
    font-size: 0.875rem;
    font-weight: 800;
    color: var(--primary);
}

.about-testimonials-name {
    margin: 0;
    font-size: 1rem;
    font-weight: 700;
    color: var(--navy);
    text-align: left;
}

.about-testimonials-label {
    margin: 0.125rem 0 0;
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--accent);
    text-align: left;
}

.about-news {
    padding: 4.5rem 0;
    background: var(--secondary);
}

.about-news-header {
    margin-bottom: 2rem;
}

.about-news-title {
    margin: 0 0 0.5rem;
    font-size: clamp(1.75rem, 3vw, 2.25rem);
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--navy);
}

.about-news-subtitle {
    margin: 0;
    max-width: 36rem;
    font-size: 0.96875rem;
    line-height: 1.7;
    color: var(--muted);
}

.about-news-grid {
    display: grid;
    gap: 1.5rem;
}

@media (min-width: 768px) {
    .about-news-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.about-news-card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid var(--card-border);
    border-radius: var(--radius-lg);
    background: #fff;
    box-shadow: var(--shadow-sm);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.about-news-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-md);
}

.about-news-card-media {
    display: block;
    overflow: hidden;
    aspect-ratio: 16 / 10;
    background: var(--primary-light);
}

.about-news-card-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.about-news-card:hover .about-news-card-media img {
    transform: scale(1.04);
}

.about-news-card-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 1.25rem 1.25rem 1.5rem;
}

.about-news-date {
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--primary);
}

.about-news-card-title {
    margin: 0.625rem 0 0.75rem;
    font-size: 1.0625rem;
    font-weight: 700;
    line-height: 1.4;
}

.about-news-card-title a {
    color: var(--navy);
    text-decoration: none;
    transition: color 0.2s ease;
}

.about-news-card-title a:hover {
    color: var(--primary);
}

.about-news-excerpt {
    flex: 1;
    margin: 0 0 1rem;
    font-size: 0.875rem;
    line-height: 1.65;
    color: var(--muted);
}

.about-news-link {
    font-size: 0.875rem;
    font-weight: 700;
    color: var(--primary);
    text-decoration: none;
}

.about-news-link:hover {
    color: var(--mbs-green-dark);
}

.about-news-action {
    display: flex;
    justify-content: center;
    margin-top: 2.5rem;
}

.about-news-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 10rem;
    padding: 0.875rem 2rem;
    border-radius: var(--radius-lg);
    background: var(--primary);
    font-size: 0.9375rem;
    font-weight: 700;
    color: #fff;
    text-decoration: none;
    transition: background-color 0.2s ease, transform 0.2s ease;
}

.about-news-btn:hover {
    background: var(--primary-hover);
    transform: translateY(-1px);
}

.about-trust-strip {
    padding: 2.5rem 0;
    background: #fff;
    border-top: 1px solid var(--border);
}

.about-trust-strip-inner {
    display: grid;
    gap: 1.5rem;
}

@media (min-width: 768px) {
    .about-trust-strip-inner {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 1024px) {
    .about-trust-strip-inner {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

.about-trust-item {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
}

.about-trust-icon {
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    border-radius: 50%;
    background: var(--primary-light);
    color: var(--primary);
}

.about-trust-item:nth-child(even) .about-trust-icon {
    background: var(--accent-light);
    color: var(--mbs-green-dark);
}

.about-trust-icon svg {
    width: 1.35rem;
    height: 1.35rem;
}

.about-trust-title {
    margin: 0 0 0.25rem;
    font-size: 0.96875rem;
    font-weight: 700;
    color: var(--navy);
}

.about-trust-desc {
    margin: 0;
    font-size: 0.8125rem;
    line-height: 1.55;
    color: var(--muted);
}

@media (max-width: 767px) {
    .about-hero-inner {
        min-height: 10rem;
        padding-top: 2.5rem;
        padding-bottom: 2.5rem;
    }

    .about-intro,
    .about-unique,
    .about-testimonials,
    .about-news {
        padding: 3rem 0;
    }

    .about-overlap-images {
        min-height: 18rem;
        margin-top: 1rem;
    }

    .about-testimonials-slider {
        grid-template-columns: 1fr;
        gap: 1.25rem;
    }

    .about-testimonials-arrow {
        display: none;
    }

    .about-testimonials-body {
        min-height: auto;
    }
}

/* Our Story page */
.story-page {
    background: var(--secondary);
}

.story-hero {
    position: relative;
    overflow: hidden;
    background:
        linear-gradient(120deg, rgb(15 23 42 / 0.98) 0%, rgb(249 115 22 / 0.92) 48%, rgb(15 23 42 / 0.98) 100%),
        repeating-linear-gradient(
            -45deg,
            rgb(255 255 255 / 0.03) 0,
            rgb(255 255 255 / 0.03) 1px,
            transparent 1px,
            transparent 12px
        );
    color: #fff;
}

.story-hero-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 11rem;
    padding-top: 3rem;
    padding-bottom: 3rem;
    text-align: center;
}

.story-hero-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
    font-size: 0.875rem;
    color: rgb(255 255 255 / 0.72);
}

.story-hero-breadcrumb a {
    color: rgb(255 255 255 / 0.88);
    text-decoration: none;
    transition: color 0.2s ease;
}

.story-hero-breadcrumb a:hover {
    color: var(--accent);
}

.story-hero-title {
    margin: 0;
    font-size: clamp(2rem, 4vw, 2.75rem);
    font-weight: 700;
    letter-spacing: -0.03em;
    color: #fff;
}

.story-intro {
    padding: 4rem 0;
    background: #fff;
}

.story-intro-grid {
    display: grid;
    gap: 2.5rem;
    align-items: center;
}

@media (min-width: 992px) {
    .story-intro-grid {
        grid-template-columns: minmax(0, 0.95fr) minmax(0, 1fr);
        gap: 3.5rem;
    }
}

.story-intro-image {
    overflow: hidden;
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-lg);
    background: var(--primary-light);
}

.story-intro-image img {
    display: block;
    width: 100%;
    min-height: 18rem;
    object-fit: cover;
    aspect-ratio: 5 / 4;
}

.story-intro-label {
    margin: 0 0 0.75rem;
    font-size: 0.8125rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--accent);
}

.story-intro-heading {
    margin: 0 0 1.25rem;
    font-size: clamp(1.75rem, 3vw, 2.35rem);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.02em;
    color: var(--navy);
}

.story-intro-content p {
    margin: 0 0 1rem;
    font-size: 0.96875rem;
    line-height: 1.8;
    color: var(--muted);
}

.story-section-header {
    margin-bottom: 2.5rem;
}

.story-section-header--center {
    text-align: center;
}

.story-section-label {
    margin: 0 0 0.5rem;
    font-size: 0.8125rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--primary);
}

.story-section-header--center .story-section-label {
    color: var(--accent);
}

.story-section-title {
    margin: 0;
    font-size: clamp(1.75rem, 3vw, 2.25rem);
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--navy);
}

.story-timeline {
    padding: 4rem 0;
    background: var(--primary-light);
}

.story-timeline-list {
    position: relative;
    display: grid;
    gap: 1.5rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

@media (min-width: 768px) {
    .story-timeline-list {
        gap: 2rem;
        padding-left: 2rem;
    }

    .story-timeline-list::before {
        content: "";
        position: absolute;
        top: 0.75rem;
        bottom: 0.75rem;
        left: 2.65rem;
        width: 3px;
        border-radius: 9999px;
        background: linear-gradient(180deg, var(--primary) 0%, var(--accent) 100%);
    }
}

.story-timeline-item {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 1.25rem;
    align-items: flex-start;
}

@media (min-width: 768px) {
    .story-timeline-item {
        gap: 1.75rem;
    }
}

.story-timeline-marker {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}

.story-timeline-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3.25rem;
    height: 3.25rem;
    border: 3px solid var(--primary-light);
    border-radius: 50%;
    background: #fff;
    color: var(--primary);
    box-shadow: var(--shadow-sm);
}

.story-timeline-item:nth-child(even) .story-timeline-icon {
    color: var(--mbs-green-dark);
}

.story-timeline-icon svg {
    width: 1.35rem;
    height: 1.35rem;
}

.story-timeline-card {
    padding: 1.35rem 1.5rem;
    border: 1px solid var(--card-border);
    border-radius: var(--radius-lg);
    background: #fff;
    box-shadow: var(--shadow-sm);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.story-timeline-card:hover {
    transform: translateX(4px);
    box-shadow: var(--shadow-md);
}

.story-timeline-year {
    display: inline-flex;
    margin-bottom: 0.5rem;
    padding: 0.2rem 0.65rem;
    border-radius: 9999px;
    background: var(--primary-light);
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    color: var(--primary);
}

.story-timeline-item:nth-child(even) .story-timeline-year {
    background: var(--accent-light);
    color: var(--mbs-green-dark);
}

.story-timeline-title {
    margin: 0 0 0.5rem;
    font-size: 1.0625rem;
    font-weight: 700;
    color: var(--navy);
}

.story-timeline-text {
    margin: 0;
    font-size: 0.9375rem;
    line-height: 1.65;
    color: var(--muted);
}

.story-mission-vision {
    padding: 4rem 0;
    background: #fff;
}

.story-mission-vision-grid {
    display: grid;
    gap: 1.5rem;
}

@media (min-width: 768px) {
    .story-mission-vision-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 2rem;
    }
}

.story-mv-card {
    padding: 2rem 1.75rem;
    border: 1px solid var(--card-border);
    border-radius: var(--radius-lg);
    background: var(--secondary);
    box-shadow: var(--shadow-sm);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.story-mv-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--shadow-md);
}

.story-mv-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    margin-bottom: 1.25rem;
    border-radius: 50%;
}

.story-mv-icon svg {
    width: 1.4rem;
    height: 1.4rem;
}

.story-mv-icon--blue {
    background: var(--primary-light);
    color: var(--primary);
}

.story-mv-icon--green {
    background: var(--accent-light);
    color: var(--mbs-green-dark);
}

.story-mv-title {
    margin: 0 0 0.75rem;
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--navy);
}

.story-mv-text {
    margin: 0;
    font-size: 0.96875rem;
    line-height: 1.75;
    color: var(--muted);
}

.story-values {
    padding: 4rem 0;
    background: var(--secondary);
}

.story-value-grid {
    display: grid;
    gap: 1.25rem;
}

@media (min-width: 640px) {
    .story-value-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 1024px) {
    .story-value-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

.story-value-card {
    padding: 1.5rem 1.25rem;
    border: 1px solid var(--card-border);
    border-radius: var(--radius-lg);
    background: #fff;
    box-shadow: var(--shadow-sm);
    text-align: center;
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.story-value-card:hover {
    transform: translateY(-4px);
    border-color: color-mix(in srgb, var(--primary) 35%, var(--border));
    box-shadow: var(--shadow-md);
}

.story-value-card:nth-child(even):hover {
    border-color: color-mix(in srgb, var(--accent) 45%, var(--border));
}

.story-value-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    margin-bottom: 1rem;
    border-radius: 50%;
    background: var(--primary-light);
    color: var(--primary);
}

.story-value-card:nth-child(even) .story-value-icon {
    background: var(--accent-light);
    color: var(--mbs-green-dark);
}

.story-value-icon svg {
    width: 1.3rem;
    height: 1.3rem;
}

.story-value-title {
    margin: 0 0 0.5rem;
    font-size: 1rem;
    font-weight: 700;
    color: var(--navy);
}

.story-value-desc {
    margin: 0;
    font-size: 0.875rem;
    line-height: 1.6;
    color: var(--muted);
}

.story-cta {
    padding: 4rem 0;
    background: var(--mbs-gradient-brand-section);
    color: #fff;
}

.story-cta-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.story-cta-title {
    margin: 0 0 0.75rem;
    max-width: 36rem;
    font-size: clamp(1.75rem, 3vw, 2.35rem);
    font-weight: 700;
    letter-spacing: -0.02em;
    color: #fff;
}

.story-cta-text {
    margin: 0 0 1.75rem;
    max-width: 32rem;
    font-size: 1rem;
    line-height: 1.7;
    color: rgb(255 255 255 / 0.82);
}

.story-cta-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.875rem;
    justify-content: center;
}

.story-cta-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 9.5rem;
    padding: 0.875rem 1.75rem;
    border-radius: var(--radius-lg);
    font-size: 0.9375rem;
    font-weight: 700;
    text-decoration: none;
    transition: transform 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
}

.story-cta-btn--primary {
    background: var(--accent);
    color: #fff;
}

.story-cta-btn--primary:hover {
    background: var(--mbs-green-dark);
    transform: translateY(-1px);
}

.story-cta-btn--outline {
    border: 1px solid rgb(255 255 255 / 0.55);
    background: transparent;
    color: #fff;
}

.story-cta-btn--outline:hover {
    border-color: #fff;
    background: rgb(255 255 255 / 0.08);
    transform: translateY(-1px);
}

@media (max-width: 767px) {
    .story-hero-inner {
        min-height: 9.5rem;
        padding-top: 2.5rem;
        padding-bottom: 2.5rem;
    }

    .story-intro,
    .story-timeline,
    .story-mission-vision,
    .story-values,
    .story-cta {
        padding: 3rem 0;
    }

    .story-timeline-list::before {
        display: none;
    }

    .story-timeline-icon {
        width: 2.75rem;
        height: 2.75rem;
    }
}

/* Featured Category Banners — categories page */
.mbs-category-banners-section {
    padding: var(--mbs-section-y) 0;
    background: var(--secondary);
}

.mbs-category-banner-grid {
    display: grid;
    gap: 1.25rem;
}

@media (min-width: 768px) {
    .mbs-category-banner-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 1.5rem;
    }
}

.mbs-category-banner-card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid var(--card-border);
    border-radius: var(--mbs-tile-radius);
    background: #fff;
    box-shadow: var(--shadow-sm);
    text-decoration: none;
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.mbs-category-banner-card:hover {
    transform: translateY(-4px);
    border-color: color-mix(in srgb, var(--primary) 35%, var(--border));
    box-shadow: var(--shadow-md);
}

.mbs-category-banner-media {
    overflow: hidden;
    background: var(--primary-light);
    aspect-ratio: 16 / 10;
}

.mbs-category-banner-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform 0.45s ease;
}

.mbs-category-banner-card:hover .mbs-category-banner-image {
    transform: scale(1.05);
}

.mbs-category-banner-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 0.375rem;
    padding: 1.25rem 1.35rem 1.35rem;
}

.mbs-category-banner-title {
    margin: 0;
    font-size: 1.125rem;
    font-weight: 700;
    letter-spacing: -0.01em;
    color: var(--navy);
    transition: color 0.2s ease;
}

.mbs-category-banner-card:hover .mbs-category-banner-title {
    color: var(--primary);
}

.mbs-category-banner-subtitle {
    margin: 0;
    flex: 1;
    font-size: 0.875rem;
    line-height: 1.55;
    color: var(--muted);
}

.mbs-category-banner-cta {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    margin-top: 0.625rem;
    font-size: 0.875rem;
    font-weight: 700;
    color: var(--accent);
    transition: gap 0.2s ease, color 0.2s ease;
}

.mbs-category-banner-card:hover .mbs-category-banner-cta {
    gap: 0.5rem;
    color: var(--mbs-green-dark);
}

/* Auth modal — resources/views/components/sign-in-modal.blade.php */
.auth-modal-overlay {
    position: fixed;
    inset: 0;
    z-index: 70;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    overflow-y: auto;
    background: rgb(15 23 42 / 0.72);
}

.auth-modal {
    position: relative;
    width: 100%;
    max-width: 28rem;
    margin: auto;
    background: #ffffff;
    border: 1px solid var(--mbs-border);
    border-radius: var(--radius-xl);
    box-shadow: 0 16px 40px rgb(15 23 42 / 0.12);
}

.auth-modal-close {
    position: absolute;
    top: 0.875rem;
    right: 0.875rem;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    padding: 0;
    border: none;
    border-radius: var(--radius-lg);
    background: transparent;
    color: var(--muted);
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.auth-modal-close:hover {
    background: var(--primary-light);
    color: var(--primary);
}

.auth-modal-close svg {
    width: 1.125rem;
    height: 1.125rem;
}

.auth-modal-body {
    padding: 1.5rem 1.5rem 1.25rem;
}

.auth-modal-panel {
    min-width: 0;
}

.auth-modal-head {
    margin-bottom: 1.25rem;
}

.auth-modal-title {
    margin: 0;
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--navy);
}

.auth-modal-subtitle {
    margin: 0.375rem 0 0;
    font-size: 0.875rem;
    line-height: 1.5;
    color: var(--muted);
}

.auth-modal-note {
    margin: 0.75rem 0 0;
    font-size: 0.8125rem;
    line-height: 1.5;
    color: var(--muted);
}

.auth-modal-form {
    display: flex;
    flex-direction: column;
    gap: 0.875rem;
}

.auth-modal-field label {
    display: block;
    margin-bottom: 0.375rem;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--foreground);
}

.auth-modal-field-label-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.375rem;
}

.auth-modal-field-label-row label {
    margin-bottom: 0;
}

.auth-modal-password-wrap {
    position: relative;
}

.auth-modal-password-input {
    padding-right: 2.75rem;
}

.auth-modal-password-toggle {
    position: absolute;
    top: 50%;
    right: 0.5rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    padding: 0;
    border: none;
    border-radius: var(--radius-lg);
    background: transparent;
    color: var(--muted);
    cursor: pointer;
    transform: translateY(-50%);
    transition: color 0.2s ease, background-color 0.2s ease;
}

.auth-modal-password-toggle:hover {
    color: var(--primary);
    background: var(--primary-light);
}

.auth-modal-password-toggle svg {
    width: 1.125rem;
    height: 1.125rem;
}

.auth-modal-checkbox {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.875rem;
    color: var(--muted);
    cursor: pointer;
}

.auth-modal-checkbox input {
    width: 1rem;
    height: 1rem;
    border: 1px solid var(--mbs-border);
    border-radius: 0.25rem;
    accent-color: var(--primary);
}

.auth-modal-btn {
    width: 100%;
    margin-top: 0.25rem;
}

.auth-modal-actions {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    margin-top: 1rem;
}

.auth-modal-footer-links {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.375rem 0.5rem;
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid var(--mbs-border);
}

.auth-modal-footer-sep {
    color: var(--mbs-border);
    font-size: 0.75rem;
}

.auth-modal-switch {
    margin: 1rem 0 0;
    text-align: center;
    font-size: 0.875rem;
    color: var(--muted);
}

.auth-modal-link-btn,
.auth-modal-text-btn {
    padding: 0;
    border: none;
    background: none;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--primary);
    cursor: pointer;
    transition: color 0.2s ease;
}

.auth-modal-link-btn:hover,
.auth-modal-text-btn:hover {
    color: var(--primary-hover);
}

.auth-modal-message {
    margin: 0 0 1rem;
    padding: 0.625rem 0.75rem;
    border-radius: var(--radius-lg);
    font-size: 0.875rem;
    line-height: 1.45;
}

.auth-modal-message--error {
    border: 1px solid color-mix(in srgb, #dc2626 35%, var(--mbs-border));
    background: #fef2f2;
    color: #b91c1c;
}

.auth-modal-message--success {
    border: 1px solid color-mix(in srgb, var(--accent) 35%, var(--mbs-border));
    background: var(--accent-light);
    color: var(--mbs-green-dark);
}

/* Newsletter popup — resources/views/components/newsletter-popup.blade.php */
.newsletter-popup-overlay {
    position: fixed;
    inset: 0;
    z-index: 80;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    background: rgb(15 23 42 / 0.78);
    backdrop-filter: blur(4px);
}

.newsletter-popup {
    position: relative;
    width: 100%;
    max-width: 56rem;
    overflow: hidden;
    background: #ffffff;
    border-radius: var(--radius-modal);
    box-shadow: 0 24px 56px rgb(15 23 42 / 0.28);
}

.newsletter-popup-grid {
    display: grid;
    grid-template-columns: 1fr;
}

@media (min-width: 768px) {
    .newsletter-popup-grid {
        grid-template-columns: 1fr 1fr;
        min-height: 26rem;
    }
}

.newsletter-popup-media {
    min-height: 14rem;
    background: var(--mbs-navy);
}

@media (min-width: 768px) {
    .newsletter-popup-media {
        min-height: 100%;
    }
}

.newsletter-popup-media img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 14rem;
    object-fit: cover;
}

@media (min-width: 768px) {
    .newsletter-popup-media img {
        min-height: 26rem;
    }
}

.newsletter-popup-content {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 2.5rem 1.75rem 1.75rem;
    background: #ffffff;
}

@media (min-width: 768px) {
    .newsletter-popup-content {
        padding: 3rem 2.5rem 2rem;
    }
}

.newsletter-popup-close {
    position: absolute;
    top: 1rem;
    right: 1rem;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    padding: 0;
    border: none;
    border-radius: 9999px;
    background: rgb(15 23 42 / 0.06);
    color: var(--mbs-navy);
    cursor: pointer;
    opacity: 0.55;
    transition: opacity 0.2s ease, color 0.2s ease;
}

@media (min-width: 768px) {
    .newsletter-popup-close {
        top: 1.25rem;
        right: 1.25rem;
    }
}

.newsletter-popup-close:hover {
    background: rgb(15 23 42 / 0.12);
    opacity: 1;
    color: var(--primary);
}

.newsletter-popup-close svg {
    width: 1.375rem;
    height: 1.375rem;
}

.newsletter-popup-body {
    max-width: 22rem;
    margin: 0 auto;
    width: 100%;
}

@media (min-width: 768px) {
    .newsletter-popup-body {
        margin: 0;
        max-width: none;
    }
}

.newsletter-popup-title {
    margin: 0 0 1rem;
    font-size: clamp(1.5rem, 2.8vw, 2rem);
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--mbs-navy);
}

.newsletter-popup-subtitle {
    margin: 0 0 2rem;
    font-size: 0.9375rem;
    line-height: 1.65;
    color: var(--muted);
}

.newsletter-popup-form {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.newsletter-popup-input-wrap {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding-bottom: 0.625rem;
    border-bottom: 1px solid var(--mbs-navy);
}

.newsletter-popup-input-icon {
    flex-shrink: 0;
    width: 1.125rem;
    height: 1.125rem;
    color: var(--mbs-navy);
    opacity: 0.7;
}

.newsletter-popup-input {
    width: 100%;
    padding: 0.375rem 0;
    border: none;
    background: transparent;
    font: inherit;
    font-size: 0.9375rem;
    color: var(--foreground);
}

.newsletter-popup-input:focus {
    outline: none;
}

.newsletter-popup-input::placeholder {
    color: var(--muted);
}

.newsletter-popup-submit {
    width: 100%;
    padding: 0.9375rem 1.25rem;
    border: none;
    border-radius: 0.75rem;
    background: var(--accent);
    color: #ffffff;
    font: inherit;
    font-size: 0.9375rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    cursor: pointer;
    transition: background-color 0.2s ease, transform 0.15s ease;
}

.newsletter-popup-submit:hover:not(:disabled) {
    background: var(--mbs-green-dark);
}

.newsletter-popup-submit:disabled {
    opacity: 0.7;
    cursor: not-allowed;
}

.newsletter-popup-error {
    margin: -0.5rem 0 0;
    font-size: 0.8125rem;
    color: #b91c1c;
}

.newsletter-popup-success {
    margin: 0 0 1rem;
    padding: 0.75rem 0;
    border-top: 1px solid var(--mbs-border);
    border-bottom: 1px solid var(--mbs-border);
    color: var(--mbs-green-dark);
    font-size: 0.9375rem;
    font-weight: 600;
    line-height: 1.5;
}

.newsletter-popup-note {
    margin: 1.25rem 0 0;
    font-size: 0.8125rem;
    line-height: 1.5;
    color: var(--muted);
}

.newsletter-popup-social {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    margin-top: 1.75rem;
}

.newsletter-popup-social-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 50%;
    background: var(--secondary);
    border: 1px solid var(--mbs-border);
    color: var(--mbs-navy);
    transition: transform 0.2s ease, background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.newsletter-popup-social-link:hover {
    background: var(--primary);
    border-color: var(--primary);
    color: #ffffff;
    transform: translateY(-1px);
}

.newsletter-popup-social-link svg {
    width: 1rem;
    height: 1rem;
}
