/* MBC Paymenter theme v1.0.0 — presentation only; no billing overrides. */
:root {
    color-scheme: dark;
}
body.mbc-paymenter,
body.fi-body {
    font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    background: #08160f;
    color: #dcfce7;
    isolation: isolate;
    min-width: 0;
}
body.mbc-paymenter::before,
body.fi-body::before {
    content: '';
    position: fixed;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background: linear-gradient(#08160f4d, #08160f80), url('./block-world.svg') center bottom / cover no-repeat;
}
.mbc-paymenter *,
.fi-body * {
    box-sizing: border-box;
}
.mbc-shell,
.mbc-content,
.mbc-paymenter main,
.mbc-paymenter fieldset,
.mbc-paymenter .grid > *,
.mbc-paymenter .flex > * {
    min-width: 0;
}
.mbc-content {
    width: 0;
    overflow: visible;
}
.mbc-paymenter main {
    padding-block: 24px 48px;
    overflow-wrap: anywhere;
}
.mbc-paymenter main > .container {
    margin-top: 24px;
}
.mbc-header {
    background: #08160fee;
    backdrop-filter: blur(14px);
    border-color: #395b3d;
}
.mbc-header > div {
    min-width: 0;
}
.mbc-header a > span {
    overflow-wrap: anywhere;
}
.mbc-sidebar {
    top: 64px;
    margin-top: 0;
    height: calc(100dvh - 64px);
    overflow-y: auto;
    overscroll-behavior: contain;
    background: #102519e8;
    backdrop-filter: blur(12px);
}
.mbc-footer {
    margin-top: 0;
    background: #08160fc9;
    backdrop-filter: blur(14px);
}
.mbc-footer > .container {
    margin-block: 24px;
}
.mbc-footer a {
    flex-shrink: 0;
}
.mbc-footer-wrap {
    margin-top: auto;
}
.mbc-menu-open {
    overflow: hidden;
}
#mbc-mobile-menu > div {
    background: #102519f5;
    backdrop-filter: blur(16px);
}
#mbc-mobile-menu [aria-modal='true'] {
    max-height: calc(100dvh - 64px);
    overflow-y: auto;
}
.mbc-paymenter :is(h1, h2, h3) {
    color: #f0fdf4;
    letter-spacing: -0.025em;
}
.mbc-paymenter :is(a, button, input, select, textarea):focus-visible {
    outline: 2px solid #a3e67b;
    outline-offset: 3px;
}
.mbc-paymenter main :is(div, section, article).bg-background-secondary:is(.rounded-md, .rounded-lg, .rounded-xl) {
    background-color: #0d2016f5;
    border: 1px solid #395b3d;
    border-top: 4px solid #70c644;
    border-radius: 6px;
    box-shadow: 0 4px 0 #04100966;
}
.mbc-paymenter main .bg-background-secondary.p-14 {
    padding: clamp(24px, 5vw, 56px);
    background: #0d2016e8;
    border-bottom: 1px solid #395b3d;
}
.mbc-paymenter main :is(input:not([type='checkbox']):not([type='radio']):not([type='color']), select, textarea) {
    background-color: #162e20;
    color: #dcfce7;
    border-color: #527458;
    border-radius: 4px;
    max-width: 100%;
}
.mbc-paymenter main input::placeholder,
.mbc-paymenter main textarea::placeholder {
    color: #9bb3a1;
    opacity: 1;
}
.mbc-paymenter input:is([type='checkbox'], [type='radio']) {
    accent-color: #70c644;
    flex-shrink: 0;
}
.mbc-paymenter .mbc-button {
    min-height: 44px;
    border-radius: 4px;
    transition: background-color 160ms, transform 160ms, box-shadow 160ms;
    white-space: normal;
}
.mbc-paymenter .mbc-button-primary {
    color: #071508;
    background: #65a832;
    border: 2px solid #8acb55;
    border-bottom-color: #396623;
    box-shadow: 0 4px #274e1a;
    font-weight: 750;
}
.mbc-paymenter .mbc-button-secondary {
    color: #dcfce7;
    background: #142b1c;
    border: 2px solid #47674b;
    box-shadow: 0 3px #09180e;
}
.mbc-paymenter .mbc-button-danger {
    color: #fee2e2;
    background: #642626;
    border-color: #a55454;
    box-shadow: 0 3px #381717;
}
.mbc-paymenter .mbc-button:active:not(:disabled) {
    transform: translateY(3px);
    box-shadow: none;
}
.mbc-paymenter main form:is(#login, #register, #reset),
.mbc-paymenter main form[wire\:submit='verify'] {
    width: min(500px, calc(100% - 32px));
    max-width: 500px;
    margin: 32px auto 0;
    padding: 28px;
    gap: 16px;
    background: #0d2016f5;
    border: 1px solid #395b3d;
    border-top: 5px solid #70c644;
    border-radius: 6px;
    box-shadow: 0 16px 48px #0004;
}
.mbc-paymenter main form#register {
    width: min(720px, calc(100% - 32px));
    max-width: 720px;
}
.mbc-paymenter main form:is(#login, #register, #reset) > .items-center:first-child {
    margin-block: 8px 20px;
}
.mbc-paymenter main form#login > .flex-row {
    flex-wrap: wrap;
    gap: 10px;
}
.mbc-paymenter main table {
    width: 100%;
}
.mbc-paymenter main :is(td, th) {
    overflow-wrap: anywhere;
}
.mbc-paymenter main pre {
    max-width: 100%;
    overflow-x: auto;
}
.mbc-paymenter main img {
    max-width: 100%;
}
/* Teleported dialogs stay above the header, with their own scroll area. */
.mbc-paymenter [x-show='open'].fixed.inset-0 {
    backdrop-filter: blur(6px);
    padding: 12px;
}
.mbc-paymenter [x-show='open'].fixed.inset-0 > div {
    max-height: calc(100dvh - 24px);
    margin-block: 0;
    border: 1px solid #395b3d;
    border-top: 4px solid #70c644;
}
/* Filament uses its own components. Keep state/danger colors intact. */
.fi-body .fi-layout,
.fi-body .fi-main-ctn {
    background: transparent;
}
.fi-body .fi-topbar,
.fi-body .fi-sidebar {
    background: #102519ee;
    backdrop-filter: blur(14px);
    border-color: #395b3d;
}
.fi-body :is(.fi-section, .fi-ta-ctn, .fi-modal-window, .fi-dropdown-panel) {
    background: #0d2016f5;
    border: 1px solid #395b3d;
    border-radius: 6px;
}
.fi-body .fi-section {
    border-top: 4px solid #70c644;
}
.fi-body .fi-btn.fi-color-primary {
    background: #65a832;
    color: #071508;
    border: 2px solid #8acb55;
    border-bottom-color: #396623;
    box-shadow: 0 3px #274e1a;
    border-radius: 4px;
}
.fi-body .fi-sidebar-item-active > a {
    background: #284b23;
    color: #a3e67b;
}
.fi-body .fi-input-wrp {
    background: #162e20;
}
.fi-body {
    --primary-50: #f4fbe9;
    --primary-100: #e6f6cd;
    --primary-200: #c9eba2;
    --primary-300: #a3e67b;
    --primary-400: #8acb55;
    --primary-500: #70b33e;
    --primary-600: #65a832;
    --primary-700: #4d8028;
    --primary-800: #396623;
    --primary-900: #274e1a;
    --primary-950: #142b1c;
}
@media (hover: hover) and (pointer: fine) {
    .mbc-paymenter .mbc-button:hover:not(:disabled) {
        transform: translateY(-2px);
        filter: brightness(1.07);
    }
    .mbc-paymenter .mbc-button:active:not(:disabled) {
        transform: translateY(3px);
    }
    .mbc-paymenter main .grid > .bg-background-secondary {
        transition: border-color 180ms, box-shadow 180ms;
    }
    .mbc-paymenter main .grid > .bg-background-secondary:hover {
        border-color: #70a75b;
        box-shadow: 0 10px 24px #0003;
    }
}
@media (max-width: 1023px) {
    /* One mobile navigation avoids duplicated desktop links on tablets. */
    .mbc-header .md\:flex,
    .mbc-header .hidden.md\:flex {
        display: none;
    }
    #mbc-mobile-menu .md\:hidden {
        display: flex;
    }
    .mbc-header a > span {
        font-size: 1rem;
    }
    .mbc-header a img {
        max-width: 132px;
        object-fit: contain;
    }
}
@media (max-width: 767px) {
    .mbc-paymenter main {
        padding-block: 16px 32px;
    }
    .mbc-paymenter main form:is(#login, #register, #reset),
    .mbc-paymenter main form[wire\:submit='verify'] {
        padding: 22px 18px;
        margin-top: 20px;
    }
    .mbc-paymenter main :is(input:not([type='checkbox']):not([type='radio']), select, textarea) {
        font-size: 16px;
    }
    .mbc-paymenter main .grid {
        grid-template-columns: minmax(0, 1fr);
    }
    .mbc-paymenter main .grid > * {
        grid-column: auto;
    }
    .mbc-paymenter main .flex-row.justify-between {
        flex-wrap: wrap;
        gap: 12px;
    }
    .mbc-footer > .container {
        padding-inline: 0;
    }
    .mbc-footer .items-center {
        align-items: flex-start;
    }
    .mbc-paymenter main table {
        font-size: 0.85rem;
    }
}
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation: none !important;
        transition: none !important;
        scroll-behavior: auto !important;
    }
}
@media print {
    body.mbc-paymenter {
        background: #fff;
        color: #111;
    }
    body.mbc-paymenter::before,
    .mbc-header,
    .mbc-sidebar,
    .mbc-footer {
        display: none !important;
    }
    .mbc-content {
        margin: 0 !important;
        width: 100%;
    }
}
.mbc-menu-close {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    align-self: flex-end;
    min-height: 44px;
    padding: 8px 14px;
    margin-bottom: 12px;
    color: #dcfce7;
    background: #142b1c;
    border: 1px solid #527458;
    border-radius: 4px;
}
.mbc-header-brand {
    flex: 1;
    min-width: 0;
}
.mbc-header-brand > a {
    flex-shrink: 0;
}
.mbc-primary-links {
    min-width: 0;
    max-width: 46vw;
    gap: 4px;
    overflow-x: auto;
    scrollbar-width: thin;
    align-items: center;
}
.mbc-primary-link {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    min-height: 44px;
    padding: 8px 12px;
    border-radius: 4px;
    white-space: nowrap;
}
.mbc-primary-link:hover {
    background: #284b2366;
    color: #a3e67b;
}
#mbc-mobile-menu .mbc-mobile-primary {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 6px;
}
#mbc-mobile-menu .mbc-primary-link {
    background: #162e20;
    border: 1px solid #395b3d;
    white-space: normal;
    overflow-wrap: anywhere;
    max-width: 100%;
}

/* v1.0.2 — compact storefront catalog and shared footer. */
.mbc-paymenter main > .mbc-catalog {
    margin-top: 20px;
    padding-bottom: 12px;
}
.mbc-catalog-heading {
    max-width: 800px;
    margin-bottom: 22px;
}
.mbc-catalog-heading h1 {
    margin: 0 0 12px;
    font-size: clamp(1.7rem, 3vw, 2.35rem);
    font-weight: 800;
    line-height: 1.15;
}
.mbc-catalog-description {
    max-width: 72ch;
    color: #a2bba8;
    font-size: 0.95rem;
}
.mbc-catalog-description > :last-child {
    margin-bottom: 0;
}
.mbc-category-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 28px;
}
.mbc-category-links a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 8px 14px;
    color: #b9d1be;
    background: #102519dd;
    border: 1px solid #395b3d;
    border-radius: 4px;
    font-size: 0.85rem;
    font-weight: 600;
}
.mbc-category-links a[aria-current='page'] {
    color: #dcfce7;
    background: #284b23;
    border-color: #70a75b;
}
.mbc-catalog-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
    align-items: start;
    margin-bottom: 24px;
}
.mbc-product-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 232px;
    padding: 22px;
    border: 1px solid #395b3d;
    border-top: 4px solid #70c644;
    border-radius: 6px;
    background: #0d2016f5;
    box-shadow: 0 4px 0 #04100966;
    transition: transform 200ms ease, border-color 200ms ease, box-shadow 200ms ease;
}
.mbc-product-heading {
    display: flex;
    align-items: center;
    gap: 16px;
    min-height: 72px;
    margin-bottom: 18px;
}
.mbc-product-heading h2 {
    margin: 0;
    font-size: 1.15rem;
    font-weight: 750;
    line-height: 1.3;
    overflow-wrap: anywhere;
}
.mbc-product-image {
    display: block;
    flex: 0 0 72px;
    width: 72px;
    height: 72px;
    object-fit: contain;
    border-radius: 4px;
}
.mbc-product-price {
    margin-bottom: 20px;
    font-size: 1.35rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: #a3e67b;
    overflow-wrap: anywhere;
}
.mbc-product-action {
    display: block;
    margin-top: auto;
    padding-top: 6px;
}
.mbc-product-action > a {
    display: block;
}
.mbc-product-description {
    max-width: 100%;
    color: #b9d1be;
    font-size: 0.9rem;
    overflow-wrap: anywhere;
}
.mbc-product-description :is(img, video, iframe) {
    max-width: 100%;
}
.mbc-product-description table {
    display: block;
    overflow-x: auto;
}
.mbc-product-details {
    margin-bottom: 18px;
    border-top: 1px solid #395b3d88;
}
.mbc-product-details summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 44px;
    cursor: pointer;
    color: #b9d1be;
    font-size: 0.85rem;
    font-weight: 600;
    list-style: none;
}
.mbc-product-details summary::-webkit-details-marker {
    display: none;
}
.mbc-product-details summary span {
    transition: transform 160ms ease;
    font-size: 1.15rem;
}
.mbc-product-details[open] summary span {
    transform: rotate(45deg);
}
.mbc-product-card:focus-within {
    border-color: #a3e67b;
}
.mbc-category-card {
    min-height: 208px;
}
.mbc-category-card .mbc-product-description {
    margin-bottom: 18px;
}
.mbc-footer-compact {
    width: 100%;
    padding: 10px 0;
    border-top: 1px solid #395b3d;
}
.mbc-footer-compact > .mbc-footer-inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 6px 20px;
    margin-block: 0;
}
.mbc-footer-copyright {
    margin: 0;
    color: #a2bba8;
    font-size: 0.75rem;
    line-height: 1.6;
}
.mbc-footer .mbc-paymenter-credit {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 32px;
    padding: 4px 0;
    color: #93ad9a;
    font-size: 0.65rem;
    line-height: 1.4;
    border: 0;
    border-radius: 0;
    background: transparent;
}
.mbc-footer .mbc-paymenter-credit:hover {
    color: #dcfce7;
}
.mbc-paymenter-credit .mbc-paymenter-mark {
    display: block;
    width: 60px;
    height: auto;
    max-height: 12px;
}
@media (hover: hover) and (pointer: fine) {
    .mbc-product-card:hover {
        transform: translateY(-4px);
        border-color: #70a75b;
        box-shadow: 0 12px 28px #0004;
    }
    .mbc-category-links a:hover {
        background: #284b23;
        color: #dcfce7;
    }
}
@media (max-width: 1099px) {
    .mbc-catalog-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 639px) {
    .mbc-catalog-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 16px;
    }
    .mbc-product-card {
        min-height: 216px;
        padding: 20px;
    }
    .mbc-product-heading {
        gap: 14px;
    }
    .mbc-product-image {
        width: 64px;
        height: 64px;
        flex-basis: 64px;
    }
    .mbc-catalog-heading {
        margin-bottom: 18px;
    }
    .mbc-category-links {
        gap: 6px;
        margin-bottom: 22px;
    }
    .mbc-category-links a {
        padding-inline: 10px;
        font-size: 0.8rem;
    }
    .mbc-footer-compact > .mbc-footer-inner {
        padding-inline: 16px;
        align-items: center;
    }
    .mbc-footer-copyright {
        font-size: 0.7rem;
    }
}
@media (prefers-reduced-motion: reduce) {
    .mbc-product-card,
    .mbc-product-details summary span {
        transition: none;
    }
}
/* Home uses the same compact cards, with two balanced entry points. */
.mbc-paymenter main > .mbc-home {
    margin-top: 12px;
    max-width: 1248px;
}
.mbc-home-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
    gap: clamp(24px, 5vw, 72px);
    align-items: center;
    padding-block: 36px 52px;
}
.mbc-home-eyebrow {
    margin: 0 0 14px;
    color: #a3e67b;
    font-size: 0.7rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.12em;
}
.mbc-home-copy h1 {
    margin: 0 0 24px;
    font-weight: 850;
    font-size: clamp(2.2rem, 4.2vw, 3.7rem);
    line-height: 1.05;
}
.mbc-home-copy h1 span {
    color: #a3e67b;
}
.mbc-home-intro {
    max-width: 46ch;
    margin: 0 0 28px;
    color: #b9d1be;
    font-size: 1rem;
    line-height: 1.8;
}
.mbc-home-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}
.mbc-home-actions a {
    display: block;
}
.mbc-home-guide {
    padding: 28px;
    border: 1px solid #395b3d;
    border-top: 4px solid #70c644;
    border-radius: 6px;
    background: #0d2016ed;
    box-shadow: 0 8px 30px #0003;
}
.mbc-home-guide h2 {
    margin: 0 0 24px;
    font-size: 1.4rem;
    font-weight: 750;
    line-height: 1.25;
}
.mbc-home-guide ol {
    display: grid;
    gap: 20px;
    list-style: none;
    margin: 0;
    padding: 0;
}
.mbc-home-guide li {
    display: flex;
    gap: 14px;
    align-items: flex-start;
}
.mbc-home-guide li > span {
    display: grid;
    place-items: center;
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    font-size: 0.75rem;
    font-weight: 800;
    color: #a3e67b;
    background: #284b2366;
    border: 1px solid #395b3d;
    border-radius: 4px;
}
.mbc-home-guide h3 {
    margin: 0 0 4px;
    font-size: 0.9rem;
    font-weight: 700;
}
.mbc-home-guide li p {
    margin: 0;
    color: #a2bba8;
    font-size: 0.8rem;
    line-height: 1.6;
}
.mbc-home-services {
    scroll-margin-top: 88px;
}
.mbc-home-section-heading {
    margin-bottom: 22px;
}
.mbc-home-section-heading .mbc-home-eyebrow {
    margin-bottom: 8px;
}
.mbc-home-section-heading h2 {
    margin: 0 0 8px;
    font-size: clamp(1.6rem, 3vw, 2rem);
    font-weight: 800;
}
.mbc-home-section-heading > p:last-child {
    margin: 0;
    color: #a2bba8;
    font-size: 0.9rem;
}
.mbc-home-service-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
    gap: 22px;
}
.mbc-home-service-card {
    min-height: 250px;
    padding: 26px;
}
.mbc-home-service-card .mbc-product-heading {
    gap: 20px;
    margin-bottom: 16px;
}
.mbc-home-service-card .mbc-product-heading h3 {
    margin: 0;
    font-size: clamp(1.2rem, 2vw, 1.5rem);
    font-weight: 750;
    line-height: 1.25;
}
.mbc-home-service-card .mbc-product-image {
    width: 80px;
    height: 80px;
    flex-basis: 80px;
}
.mbc-home-service-card .mbc-product-description {
    margin-bottom: 20px;
}
.mbc-home-service-card .mbc-product-description > :last-child {
    margin-bottom: 0;
}
@media (max-width: 850px) {
    .mbc-home-hero {
        grid-template-columns: minmax(0, 1fr);
        padding-block: 20px 36px;
        gap: 28px;
    }
    .mbc-home-copy {
        max-width: 620px;
    }
    .mbc-home-copy h1 {
        font-size: clamp(2.1rem, 7vw, 3.5rem);
    }
}
@media (max-width: 639px) {
    .mbc-home-guide {
        padding: 22px;
    }
    .mbc-home-service-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 16px;
    }
    .mbc-home-service-card {
        min-height: 232px;
        padding: 22px;
    }
    .mbc-home-service-card .mbc-product-heading {
        gap: 16px;
    }
    .mbc-home-service-card .mbc-product-image {
        width: 64px;
        height: 64px;
        flex-basis: 64px;
    }
    .mbc-home-actions {
        gap: 10px;
    }
    .mbc-home-actions a {
        flex: 1 1 auto;
    }
}
.mbc-home-copy h1 {
    font-size: clamp(2.5rem, 5vw, 4.6rem);
    letter-spacing: -0.04em;
}
@media (max-width: 850px) {
    .mbc-home-copy h1 {
        font-size: clamp(2.25rem, 8vw, 3.6rem);
    }
}
