/* Shared */
html:has(.mpl-catalog-page),
html:has(body.mpl-catalog-body) {
    overflow-x: clip;
    max-width: 100%;
}
body.mpl-catalog-body,
body:has(.mpl-catalog-page) {
    margin: 0;
    overflow-x: clip;
    max-width: 100%;
    background: #fff !important;
}
.mpl-catalog-page {
    overflow-x: hidden;
    max-width: 100%;
    width: 100%;
    background: var(--mpl-catalog-bg, #fff);
    color: var(--mpl-catalog-ink, inherit);
}
.mpl-catalog-page[data-mpl-catalog-ink="1"] h1,
.mpl-catalog-page[data-mpl-catalog-ink="1"] h2,
.mpl-catalog-page[data-mpl-catalog-ink="1"] h3,
.mpl-catalog-page[data-mpl-catalog-ink="1"] h4,
.mpl-catalog-page[data-mpl-catalog-ink="1"] h5,
.mpl-catalog-page[data-mpl-catalog-ink="1"] h6,
.mpl-catalog-page[data-mpl-catalog-ink="1"] p,
.mpl-catalog-page[data-mpl-catalog-ink="1"] td,
.mpl-catalog-page[data-mpl-catalog-ink="1"] th,
.mpl-catalog-page[data-mpl-catalog-ink="1"] .mpl-catalog-powered {
    color: inherit;
}
.mpl-catalog-page .container-xxl {
    max-width: 100%;
    padding-left: max(0.75rem, env(safe-area-inset-left));
    padding-right: max(0.75rem, env(safe-area-inset-right));
}
.mpl-catalog-page .mpl-sale-week-card,
.mpl-catalog-page .mpl-hoy-card,
.mpl-catalog-page .mpl-mtl-card,
.mpl-catalog-page .mpl-promo-grid-card,
.mpl-catalog-page .mpl-tools-sale-card,
.mpl-catalog-page .mpl-flyer-banner-card,
.mpl-catalog-page .mpl-industrial-card {
    position: relative;
}
.mpl-preview-banner {
    position: sticky;
    top: 0;
    z-index: 1020;
}

/* Customer-adjustable product grid */
.mpl-customer-product-grid {
    --mpl-grid-cols: 4;
    --mpl-grid-cols-effective: var(--mpl-grid-cols, 4);
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(var(--mpl-grid-cols-effective), minmax(0, 1fr));
    width: 100%;
    max-width: 100%;
}
.mpl-catalog-page .mpl-customer-product-grid {
    --mpl-grid-cols-effective: var(--mpl-grid-cols, 4);
}
.mpl-flyer-more-grid {
    --mpl-grid-cols: 3;
}
.mpl-customer-grid-item {
    min-width: 0;
    max-width: 100%;
}
.mpl-customer-grid-empty {
    grid-column: 1 / -1;
}

/* Card Matrix (hoy-grid) */
.mpl-design-hoy {
    background: #fff;
}
.mpl-hoy-header {
    background: #fff;
    color: #212529;
    border-bottom: 1px solid #e9ecef;
}
.mpl-hoy-logo {
    max-height: 56px;
    max-width: 120px;
    object-fit: contain;
    border-radius: 6px;
    padding: 4px;
}
.mpl-hoy-brand {
    font-size: 0.8rem;
    color: #6c757d;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}
.mpl-hoy-title {
    font-size: 1.5rem;
    font-weight: 700;
    color: #212529;
}
.mpl-hoy-effective {
    background: #f8f9fa;
    color: #495057;
    border: 1px solid #dee2e6;
    border-radius: 999px;
    padding: 0.35rem 0.9rem;
    font-size: 0.85rem;
}
.mpl-hoy-desc {
    color: #6c757d;
    font-size: 0.95rem;
}
.mpl-hoy-card {
    background: #fff;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
    border: 1px solid #e8ecf0;
}
.mpl-hoy-card-img {
    position: relative;
    aspect-ratio: 4/3;
    background: #eef1f4;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 4px;
    box-sizing: border-box;
}
.mpl-hoy-card-img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
}
.mpl-hoy-card-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #9aa5b1;
    font-size: 2rem;
}
.mpl-hoy-sku {
    position: absolute;
    top: 8px;
    left: 8px;
    background: #0064cd;
    color: #fff;
    font-size: 0.7rem;
    font-family: ui-monospace, monospace;
    padding: 0.15rem 0.45rem;
    border-radius: 4px;
}
.mpl-hoy-card-body {
    padding: 0.85rem;
}
.mpl-hoy-product {
    font-size: 0.95rem;
    font-weight: 600;
    margin-bottom: 0.2rem;
    line-height: 1.3;
}
.mpl-hoy-variant {
    font-size: 0.78rem;
    color: #6c757d;
    margin-bottom: 0.5rem;
}
.mpl-hoy-prices {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.35rem 0.6rem;
}
.mpl-hoy-price-main {
    font-size: 1.1rem;
    font-weight: 700;
    color: #0064cd;
}
.mpl-hoy-price-old {
    font-size: 0.85rem;
    color: #adb5bd;
    text-decoration: line-through;
}
.mpl-hoy-price-tier {
    font-size: 0.75rem;
    color: #6c757d;
}
.mpl-hoy-note {
    font-size: 0.75rem;
    color: #6c757d;
    margin: 0.4rem 0 0;
}

/* Category Ledger (khodiyar-list) */
.mpl-design-khodiyar {
    background: #fff;
}
.mpl-khodiyar-header {
    background: #fff;
    border-bottom: 1px solid #e9ecef;
}
.mpl-khodiyar-logo {
    max-height: 64px;
    max-width: 140px;
    object-fit: contain;
}
.mpl-khodiyar-company {
    color: #0064cd;
    font-size: 1.35rem;
    font-weight: 800;
    text-transform: uppercase;
}
.mpl-khodiyar-title {
    font-size: 1.1rem;
    font-weight: 600;
    color: #333;
}
.mpl-khodiyar-date {
    font-size: 0.9rem;
    color: #666;
}
.mpl-khodiyar-category {
    background: #f8f9fa;
    color: #212529;
    font-size: 1rem;
    font-weight: 600;
    padding: 0.5rem 1rem;
    margin: 0 0 0;
    border-radius: 6px 6px 0 0;
    border: 1px solid #dee2e6;
    border-bottom: 0;
    border-left: 3px solid var(--mpl-primary, #0064cd);
}
.mpl-khodiyar-table {
    border: 1px solid #dee2e6;
    border-top: 0;
}
.mpl-khodiyar-table thead th {
    background: #fff;
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    border-bottom: 2px solid #dee2e6;
}
.mpl-khodiyar-table tbody tr:nth-child(even) {
    background: #fafbfc;
}

/* Showcase Catalog (mtl-catalog) */
.mpl-design-mtl {
    background: #fff;
    color: #212529;
}
.mpl-mtl-hero {
    background: #fff;
    border-bottom: 1px solid #e9ecef;
}
.mpl-mtl-logo {
    max-height: 48px;
}
.mpl-mtl-kicker {
    text-transform: uppercase;
    letter-spacing: 0.2em;
    font-size: 0.75rem;
    color: #6c757d;
}
.mpl-mtl-headline {
    font-size: clamp(1.75rem, 4vw, 2.75rem);
    font-weight: 600;
    letter-spacing: -0.02em;
    color: #212529;
}
.mpl-mtl-lead {
    color: #6c757d;
    max-width: 36rem;
}
.mpl-mtl-meta {
    display: inline-block;
    text-align: left;
    background: #f8f9fa;
    border: 1px solid #e9ecef;
    border-radius: 12px;
    padding: 1rem 1.25rem;
    font-size: 0.9rem;
    color: #495057;
}
.mpl-mtl-meta span {
    color: #6c757d;
    display: inline-block;
    min-width: 5rem;
}
.mpl-mtl-section-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
    border-bottom: 1px solid #e9ecef;
    padding-bottom: 0.75rem;
    margin-bottom: 1.25rem;
}
.mpl-mtl-section-head h2 {
    font-size: 1.35rem;
    font-weight: 600;
    margin: 0;
    color: #212529;
}
.mpl-mtl-section-head span {
    color: #6c757d;
    font-size: 0.85rem;
}
.mpl-mtl-card {
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid #e9ecef;
    box-shadow: 0 1px 6px rgba(0, 0, 0, 0.04);
}
.mpl-mtl-card-media {
    aspect-ratio: 1;
    background: #f8f9fa;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 4px;
    box-sizing: border-box;
}
.mpl-mtl-card-media img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
}
.mpl-mtl-card-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2.5rem;
    color: #adb5bd;
}
.mpl-mtl-card-body {
    padding: 1rem;
}
.mpl-mtl-code {
    font-family: ui-monospace, monospace;
    font-size: 0.72rem;
    color: #6c757d;
    letter-spacing: 0.05em;
}
.mpl-mtl-card-body h3 {
    font-size: 1rem;
    font-weight: 600;
    margin: 0.35rem 0 0.2rem;
    color: #212529;
}
.mpl-mtl-variant {
    font-size: 0.8rem;
    color: #6c757d;
    margin-bottom: 0.5rem;
}
.mpl-mtl-price-row {
    display: flex;
    align-items: baseline;
    gap: 0.5rem;
}
.mpl-mtl-price {
    font-size: 1.15rem;
    font-weight: 600;
    color: var(--mpl-primary, #0064cd);
}
.mpl-mtl-price-old {
    font-size: 0.85rem;
    color: #adb5bd;
    text-decoration: line-through;
}
.mpl-mtl-note {
    font-size: 0.75rem;
    color: #6c757d;
    margin: 0.5rem 0 0;
}
.mpl-design-mtl .mpl-company-details-shell {
    background: #fff;
    border-top-color: #e9ecef;
}
.mpl-design-mtl .mpl-company-details {
    color: #212529;
}

/* Admin design picker */
.mpl-design-picker {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 0.75rem;
}
.mpl-design-picker--cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
}
@media (max-width: 1199.98px) {
    .mpl-design-picker--cols-4 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}
@media (max-width: 991.98px) {
    .mpl-design-picker--cols-4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 575.98px) {
    .mpl-design-picker--cols-4 {
        grid-template-columns: 1fr;
    }
}
.mpl-design-option {
    position: relative;
}
.mpl-design-option-inner {
    display: flex;
    flex-direction: column;
    height: 100%;
    border: 2px solid #e6e6e8;
    border-radius: 10px;
    padding: 0.75rem;
    background: #fff;
}
.mpl-design-option input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}
.mpl-design-option label {
    display: block;
    border: 2px solid #e6e6e8;
    border-radius: 10px;
    padding: 0.75rem;
    cursor: pointer;
    height: 100%;
    transition: border-color 0.15s, box-shadow 0.15s;
}
.mpl-design-option input:checked + label {
    border-color: var(--mpl-primary, #0064cd);
    box-shadow: 0 0 0 3px rgba(0, 100, 205, 0.15);
}
.mpl-design-thumb {
    aspect-ratio: 4/3;
    border-radius: 6px;
    background: #f4f6f8;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0.5rem;
    overflow: hidden;
}
.mpl-design-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.mpl-design-thumb-fallback {
    font-size: 1.75rem;
    color: #adb5bd;
}
.mpl-design-label {
    font-weight: 600;
    font-size: 0.85rem;
    display: block;
}
.mpl-design-desc {
    font-size: 0.72rem;
    color: #6c757d;
    margin: 0.2rem 0 0;
    line-height: 1.35;
}

/* Public design gallery index */
.mpl-design-gallery-filters {
    margin-bottom: 1.5rem;
}
.mpl-design-gallery-empty {
    margin-top: 0.5rem;
    margin-bottom: 1rem;
}
.mpl-design-gallery-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 1rem;
}
.mpl-design-gallery-card {
    transition: transform 0.15s, box-shadow 0.15s;
}
.mpl-design-gallery-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08) !important;
}
.mpl-design-gallery-thumb {
    aspect-ratio: 4/3;
    background: #f4f6f8;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-bottom: 1px solid #e9ecef;
}
.mpl-design-gallery-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Custom catalog offer card */
.mpl-custom-catalog-offer {
    border: 2px solid var(--bs-primary, #696cff) !important;
    background: linear-gradient(180deg, rgba(105, 108, 255, 0.06) 0%, #fff 48%);
}
.mpl-custom-catalog-offer-thumb {
    position: relative;
    background: linear-gradient(135deg, #eef0ff 0%, #f8f9fa 100%);
}
.mpl-custom-catalog-offer-badge {
    position: absolute;
    top: 0.65rem;
    left: 0.65rem;
    z-index: 1;
}
.mpl-custom-catalog-offer--picker .mpl-design-option-inner {
    border: 2px solid var(--bs-primary, #696cff);
    border-radius: 0.5rem;
    background: linear-gradient(180deg, rgba(105, 108, 255, 0.06) 0%, #fff 48%);
}
.mpl-custom-catalog-offer--admin {
    box-shadow: 0 4px 16px rgba(105, 108, 255, 0.12);
}
.mpl-custom-catalog-offer--company {
    border-width: 2px !important;
}
.mpl-custom-catalog-offer--company .card-body {
    padding: 1.25rem 1.5rem;
}
/* Toolbar */
.mpl-catalog-chrome {
    position: sticky;
    top: 0;
    z-index: 1015;
    max-width: 100%;
}
.mpl-catalog-company-nav {
    background: #f8f9fa;
    border-bottom: 1px solid #e6e6e8;
}
.mpl-catalog-company-nav-inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem 1.25rem;
    padding: 0.625rem 0;
    min-height: 2.75rem;
}
.mpl-catalog-company-back {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.875rem;
    font-weight: 600;
    color: #384551;
    text-decoration: none;
    white-space: nowrap;
}
.mpl-catalog-company-back:hover {
    color: #111;
}
.mpl-catalog-company-others {
    display: flex;
    align-items: center;
    gap: 0.5rem 0.75rem;
    min-width: 0;
    flex: 1 1 auto;
}
.mpl-catalog-company-others-label {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #8a8a96;
    white-space: nowrap;
}
.mpl-catalog-company-others-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    min-width: 0;
}
.mpl-catalog-company-other-link {
    display: inline-flex;
    align-items: center;
    padding: 0.2rem 0.65rem;
    border: 1px solid #d9dee3;
    border-radius: 999px;
    background: #fff;
    color: #384551;
    font-size: 0.8125rem;
    text-decoration: none;
    max-width: 100%;
}
.mpl-catalog-company-other-link:hover {
    border-color: #b4b9be;
    color: #111;
    background: #fff;
}
.mpl-design-toolbar {
    background: #fff;
    border-bottom: 1px solid #e6e6e8;
    max-width: 100%;
    box-shadow: 0 1px 0 rgba(67, 89, 113, 0.04);
}
.mpl-toolbar-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem 1rem;
    padding: 0.625rem 0;
    min-height: 3rem;
}
.mpl-toolbar-groups {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.75rem 1rem;
    min-width: 0;
}
.mpl-toolbar-group {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    flex-shrink: 0;
}
.mpl-toolbar-label {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.8125rem;
    font-weight: 500;
    color: #6d6b77;
    white-space: nowrap;
    margin: 0;
}
.mpl-toolbar-label .ti {
    font-size: 1rem;
    opacity: 0.85;
}
.mpl-toolbar-divider {
    width: 1px;
    height: 1.5rem;
    background: #e6e6e8;
    flex-shrink: 0;
}
.mpl-toolbar-layout-badge {
    font-size: 0.75rem;
    font-weight: 600;
}
.mpl-layout-switcher {
    width: 11.5rem;
    min-width: 9.5rem;
    max-width: 14rem;
    flex-shrink: 0;
    height: 2rem;
    padding: 0 2rem 0 0.75rem;
    font-size: 0.8125rem;
    font-weight: 500;
    color: #2f3349;
    border: 1px solid #d8d6de;
    border-radius: 0.375rem;
    background-color: #fff;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236d6b77' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.55rem center;
    background-size: 0.95rem;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    cursor: pointer;
    line-height: 1.5;
}
.mpl-layout-switcher:hover {
    border-color: #b4b2bc;
}
.mpl-layout-switcher:focus {
    border-color: var(--mpl-primary, #0064cd);
    box-shadow: 0 0 0 0.2rem rgba(0, 100, 205, 0.15);
    outline: 0;
}
/* Hide Select2 if it was ever initialized on layout switcher */
.mpl-toolbar-group .select2-container {
    display: none !important;
}
.mpl-toolbar-group select.mpl-layout-switcher {
    display: block !important;
}
.mpl-grid-col-picker {
    flex-wrap: wrap;
    max-width: 100%;
}
.mpl-toolbar-group .mpl-layout-switcher {
    max-width: 100%;
}
.mpl-toolbar-print {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    white-space: nowrap;
    flex-shrink: 0;
    font-weight: 500;
}
@media (max-width: 575.98px) {
    .mpl-toolbar-inner {
        flex-wrap: wrap;
        align-items: stretch;
    }
    .mpl-toolbar-groups {
        flex: 1 1 100%;
    }
    .mpl-toolbar-print {
        flex: 1 1 100%;
        justify-content: center;
    }
    .mpl-layout-switcher {
        width: 100%;
        max-width: none;
        flex: 1 1 auto;
        min-width: 0;
    }
    .mpl-toolbar-group:first-child {
        flex: 1 1 100%;
    }
}
.mpl-price-old {
    text-decoration: line-through;
    color: #adb5bd;
    font-size: 0.85em;
    margin-right: 0.35rem;
}
.mpl-price-final {
    font-weight: 600;
    color: #0064cd;
}

/* Print catalog (PDF default) */
body:has(.mpl-design-print) {
    background: linear-gradient(180deg, #eef1f6 0%, #f8f9fb 40%, #fff 100%) !important;
}
.mpl-catalog-page:has(.mpl-design-print) {
    background: transparent;
}
.mpl-catalog-page:has(.mpl-design-print) .mpl-catalog-powered {
    color: #8b909a !important;
    font-size: 0.75rem;
    letter-spacing: 0.02em;
    padding-bottom: 1.5rem !important;
}
.mpl-design-print {
    padding: 1.25rem 0 0.5rem;
}
.mpl-print-sheet {
    --mpl-print-accent: var(--mpl-primary, #0064cd);
    max-width: 210mm;
    margin: 0 auto;
    background: #fff;
    border-radius: 12px;
    border: 1px solid rgba(67, 89, 113, 0.08);
    box-shadow:
        0 1px 2px rgba(67, 89, 113, 0.04),
        0 8px 24px rgba(67, 89, 113, 0.08),
        0 24px 48px rgba(67, 89, 113, 0.04);
    overflow: hidden;
}
.mpl-print-header {
    position: relative;
    background: linear-gradient(180deg, #fafbfc 0%, #fff 100%);
}
.mpl-print-header-accent {
    height: 4px;
    background: linear-gradient(90deg, var(--mpl-print-accent) 0%, #4d9fff 55%, #7eb8ff 100%);
}
.mpl-print-header-body {
    padding: 1.75rem 1.75rem 1.25rem;
}
.mpl-print-header-main {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    text-align: left;
}
.mpl-print-logo-wrap {
    flex-shrink: 0;
    width: 88px;
    height: 88px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border: 1px solid #e8eaef;
    border-radius: 12px;
    padding: 0.5rem;
    box-shadow: 0 2px 8px rgba(67, 89, 113, 0.06);
}
.mpl-print-logo {
    max-height: 72px;
    max-width: 100%;
    object-fit: contain;
}
.mpl-print-header-text {
    min-width: 0;
    flex: 1 1 auto;
}
.mpl-print-eyebrow {
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--mpl-print-accent);
    margin: 0 0 0.35rem;
}
.mpl-print-title {
    font-size: clamp(1.35rem, 2.5vw, 1.75rem);
    font-weight: 800;
    color: #2f3349;
    line-height: 1.2;
    margin: 0 0 0.35rem;
    letter-spacing: -0.02em;
}
.mpl-print-desc {
    color: #6d6b77;
    font-size: 0.9rem;
    line-height: 1.5;
    margin: 0;
    max-width: 42rem;
}
.mpl-print-meta-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 1.25rem;
    padding-top: 1rem;
    border-top: 1px solid #eceef2;
}
.mpl-print-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.35rem 0.75rem;
    font-size: 0.75rem;
    font-weight: 500;
    color: #5d596c;
    background: #f4f5f7;
    border: 1px solid #e8eaef;
    border-radius: 999px;
    white-space: nowrap;
}
.mpl-print-chip .ti {
    font-size: 0.95rem;
    color: var(--mpl-print-accent);
    opacity: 0.9;
}
.mpl-print-chip--count {
    background: rgba(0, 100, 205, 0.06);
    border-color: rgba(0, 100, 205, 0.12);
    color: var(--mpl-print-accent);
    font-weight: 600;
}
.mpl-print-body {
    padding: 0 1.75rem 1.5rem;
}
.mpl-print-section {
    margin-top: 1.5rem;
    break-inside: avoid;
}
.mpl-print-section:first-child {
    margin-top: 0.25rem;
}
.mpl-print-category {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #2f3349;
    background: linear-gradient(90deg, rgba(0, 100, 205, 0.08) 0%, rgba(0, 100, 205, 0.02) 100%);
    padding: 0.55rem 0.85rem;
    margin: 0;
    border-radius: 8px 8px 0 0;
    border: 1px solid #e8eaef;
    border-bottom: 0;
}
.mpl-print-category-count {
    font-size: 0.7rem;
    font-weight: 600;
    color: var(--mpl-print-accent);
    background: #fff;
    border: 1px solid rgba(0, 100, 205, 0.15);
    border-radius: 999px;
    padding: 0.1rem 0.5rem;
    letter-spacing: 0;
    text-transform: none;
}
.mpl-print-table-wrap {
    border: 1px solid #e8eaef;
    border-radius: 0 0 8px 8px;
    overflow: hidden;
}
.mpl-print-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.8rem;
    margin: 0;
}
.mpl-print-table th,
.mpl-print-table td {
    border-bottom: 1px solid #eceef2;
    padding: 0.5rem 0.65rem;
    vertical-align: top;
}
.mpl-print-table thead th {
    background: #f8f9fb;
    color: #5d596c;
    font-weight: 600;
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    border-bottom: 1px solid #e0e3e8;
}
.mpl-print-table tbody tr:last-child td {
    border-bottom: 0;
}
.mpl-print-table tbody tr:nth-child(even) {
    background: #fafbfc;
}
.mpl-print-table tbody tr:hover {
    background: rgba(0, 100, 205, 0.03);
}
.mpl-print-col-num {
    width: 2.25rem;
    color: #a8aaae;
    font-variant-numeric: tabular-nums;
}
.mpl-print-item-name {
    display: block;
    color: #2f3349;
    font-weight: 600;
}
.mpl-print-item-variant {
    display: block;
    font-size: 0.75rem;
    color: #8b909a;
    margin-top: 0.1rem;
}
.mpl-print-mono {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: 0.78rem;
    color: #6d6b77;
}
.mpl-print-notes {
    color: #8b909a;
    max-width: 10rem;
}
.mpl-print-empty {
    text-align: center;
    padding: 3rem 1.5rem;
    margin: 0.5rem 0 0;
    background: linear-gradient(180deg, #f8f9fb 0%, #fff 100%);
    border: 1px dashed #d8dbe3;
    border-radius: 12px;
}
.mpl-print-empty-icon {
    width: 4rem;
    height: 4rem;
    margin: 0 auto 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(0, 100, 205, 0.08);
    color: var(--mpl-print-accent);
    font-size: 1.75rem;
}
.mpl-print-empty-title {
    font-size: 1rem;
    font-weight: 700;
    color: #2f3349;
    margin: 0 0 0.35rem;
}
.mpl-print-empty-hint {
    font-size: 0.85rem;
    color: #8b909a;
    margin: 0;
    max-width: 22rem;
    margin-inline: auto;
    line-height: 1.5;
}
.mpl-print-footer {
    margin: 0;
    padding: 1.25rem 1.75rem 1.5rem;
    background: linear-gradient(180deg, #f8f9fb 0%, #f4f5f7 100%);
    border-top: 1px solid #e8eaef;
}
.mpl-print-footer-head {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #5d596c;
    margin-bottom: 1rem;
}
.mpl-print-footer-head--contact {
    margin-top: 0.25rem;
}
.mpl-print-footer .mpl-company-verified-badge {
    margin-bottom: 0.25rem;
}
.mpl-print-footer-head .ti {
    font-size: 1.1rem;
    color: var(--mpl-print-accent);
}
.mpl-print-contact-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(9.5rem, 1fr));
    gap: 0.65rem;
}
.mpl-print-contact-card {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    padding: 0.75rem 0.85rem;
    background: #fff;
    border: 1px solid #e8eaef;
    border-radius: 10px;
    min-width: 0;
    box-shadow: 0 1px 3px rgba(67, 89, 113, 0.04);
}
.mpl-print-contact-card--wide {
    grid-column: 1 / -1;
}
.mpl-print-contact-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 8px;
    background: rgba(0, 100, 205, 0.08);
    color: var(--mpl-print-accent);
    font-size: 0.95rem;
    margin-bottom: 0.15rem;
}
.mpl-print-contact-label {
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #a8aaae;
}
.mpl-print-contact-value {
    font-size: 0.82rem;
    font-weight: 600;
    color: #2f3349;
    line-height: 1.35;
}
.mpl-print-contact-link {
    color: var(--mpl-print-accent);
    text-decoration: none;
}
.mpl-print-contact-link:hover {
    text-decoration: underline;
}
.mpl-print-powered {
    font-size: 0.7rem;
    color: #a8aaae;
    text-align: center;
    margin: 1rem 0 0;
    letter-spacing: 0.03em;
}
@media (max-width: 575.98px) {
    .mpl-print-header-body,
    .mpl-print-body,
    .mpl-print-footer {
        padding-left: 1rem;
        padding-right: 1rem;
    }
    .mpl-print-header-main {
        flex-direction: column;
        text-align: center;
    }
    .mpl-print-meta-bar {
        justify-content: center;
    }
    .mpl-print-table-wrap {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    .mpl-print-table {
        min-width: 36rem;
    }
}

/* Compact brochure */
.mpl-design-brochure {
    background: #fff;
}
.mpl-brochure-item {
    border: 1px solid #e9ecef;
    border-radius: 8px;
    padding: 0.85rem;
    background: #fff;
}
.mpl-brochure-thumb {
    width: 56px;
    height: 56px;
    object-fit: cover;
    border-radius: 6px;
    flex-shrink: 0;
}

/* Image gallery */
.mpl-design-gallery {
    background: #fff;
}
.mpl-gallery-title {
    font-weight: 700;
}
.mpl-gallery-card {
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid #e9ecef;
    box-shadow: 0 1px 6px rgba(0, 0, 0, 0.04);
}
.mpl-gallery-media {
    aspect-ratio: 1;
    background: #f1f3f5;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 4px;
    box-sizing: border-box;
}
.mpl-gallery-media img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
}
.mpl-gallery-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #adb5bd;
    font-size: 2rem;
}
.mpl-gallery-price .mpl-price-final {
    font-size: 1.05rem;
}

/* Wholesale board */
.mpl-design-wholesale {
    background: #fff;
}
.mpl-wholesale-bar {
    background: #fff;
    border-bottom: 1px solid #e9ecef;
}
.mpl-wholesale-bar .h4,
.mpl-wholesale-bar .mpl-wholesale-label {
    color: #212529;
}
.mpl-wholesale-bar .text-white-50 {
    color: #6c757d !important;
}
.mpl-wholesale-label {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: #6c757d;
}
.mpl-wholesale-table thead th {
    background: #f8f9fa;
    color: #212529;
    border-bottom: 2px solid #dee2e6;
}
.mpl-wholesale-rate {
    font-size: 1.1rem;
    font-weight: 800;
    color: #0064cd;
}

/* Elegant folio */
.mpl-design-folio {
    font-family: Georgia, 'Times New Roman', serif;
    max-width: 720px;
    background: #fff;
}
.mpl-folio-eyebrow {
    text-transform: uppercase;
    letter-spacing: 0.2em;
    font-size: 0.75rem;
    color: #6c757d;
}
.mpl-folio-title {
    font-size: 2rem;
    font-weight: 400;
}
.mpl-folio-lead {
    color: #555;
}
.mpl-folio-section-title {
    font-size: 1rem;
    border-bottom: 1px solid #212529;
    padding-bottom: 0.35rem;
    margin-bottom: 0.75rem;
}
.mpl-folio-row {
    padding: 0.65rem 0;
    border-bottom: 1px dotted #ced4da;
}
.mpl-folio-thumb {
    width: 40px;
    height: 40px;
    object-fit: cover;
    border-radius: 4px;
}
.mpl-folio-sku {
    font-size: 0.75rem;
    color: #888;
    font-family: ui-monospace, monospace;
}

/* Flyer Banner Sale */
.mpl-design-flyer-banner {
    --mpl-flyer-red: var(--mpl-catalog-primary, #e53935);
    --mpl-flyer-black: var(--mpl-catalog-secondary, #1a1a1a);
    background: #f0f0f0;
    font-family: system-ui, -apple-system, 'Segoe UI', sans-serif;
}
.mpl-flyer-banner-top {
    background: var(--mpl-flyer-black);
    color: #fff;
    padding: 0.75rem 1rem;
}
.mpl-flyer-banner-top-inner {
    max-width: 72rem;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}
.mpl-flyer-banner-shop-name {
    color: var(--mpl-flyer-red);
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
.mpl-flyer-banner-dates {
    display: block;
    font-size: 0.8rem;
    color: #ccc;
    margin-top: 0.15rem;
}
.mpl-flyer-banner-logo {
    width: 56px;
    height: 56px;
    background: #fff;
    border: 2px solid var(--mpl-flyer-black);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 4px;
}
.mpl-flyer-banner-logo img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}
.mpl-flyer-banner-stage {
    max-width: 72rem;
    margin: 0 auto;
    padding: 1.25rem 1rem 0;
    display: grid;
    grid-template-columns: 1fr minmax(14rem, 22rem) 1fr;
    gap: 1rem;
    align-items: start;
}
.mpl-flyer-banner-col {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}
.mpl-flyer-banner-hero {
    background: var(--mpl-flyer-black);
    color: #fff;
    border-radius: 0 0 2rem 0;
    clip-path: polygon(0 0, 100% 0, 100% 88%, 88% 100%, 0 100%);
    min-height: 18rem;
    position: relative;
}
.mpl-flyer-banner-hero-inner {
    padding: 1.5rem 1.25rem;
}
.mpl-flyer-banner-badge {
    position: absolute;
    top: 0.75rem;
    right: 0.75rem;
    background: var(--mpl-flyer-red);
    color: #fff;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    padding: 0.35rem 0.65rem;
    transform: rotate(3deg);
}
.mpl-flyer-banner-headline {
    font-size: clamp(1.25rem, 3vw, 1.75rem);
    font-weight: 900;
    line-height: 1.1;
    text-transform: uppercase;
    margin: 2rem 0 0.75rem;
}
.mpl-flyer-banner-headline-accent {
    display: block;
    color: var(--mpl-flyer-red);
}
.mpl-flyer-banner-headline-main {
    display: block;
    color: #fff;
}
.mpl-flyer-banner-lead,
.mpl-flyer-banner-offer {
    font-size: 0.85rem;
    color: #ccc;
    margin: 0 0 0.5rem;
}
.mpl-flyer-banner-offer {
    background: var(--mpl-flyer-red);
    color: #fff;
    display: inline-block;
    padding: 0.35rem 0.65rem;
    font-weight: 600;
    margin-top: 0.5rem;
}
.mpl-flyer-banner-card {
    background: #fff;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.65rem;
    padding: 0.65rem;
    position: relative;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}
.mpl-flyer-banner-card-accent {
    position: absolute;
    left: 0;
    top: 0.65rem;
    bottom: 0.65rem;
    width: 4px;
    background: var(--mpl-flyer-red);
}
.mpl-flyer-banner-card-media {
    width: 72px;
    height: 72px;
    flex-shrink: 0;
    margin-left: 0.5rem;
}
.mpl-flyer-banner-card-media img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.mpl-flyer-banner-card-placeholder {
    width: 100%;
    height: 100%;
    background: #eee;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #aaa;
    font-size: 1.5rem;
}
.mpl-flyer-banner-card-body h3 {
    font-size: 0.85rem;
    font-weight: 800;
    margin: 0 0 0.2rem;
    line-height: 1.2;
}
.mpl-flyer-banner-variant {
    font-size: 0.72rem;
    color: #666;
    margin: 0 0 0.25rem;
}
.mpl-flyer-banner-price .mpl-price-final {
    font-weight: 800;
    color: var(--mpl-flyer-red);
}
.mpl-flyer-banner-brand {
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    margin: 0.25rem 0 0;
    color: #333;
}
.mpl-flyer-banner-more {
    max-width: 72rem;
    margin: 1.5rem auto 0;
    padding: 0 1rem;
}
.mpl-flyer-banner-more-title {
    font-size: 1rem;
    font-weight: 800;
    text-transform: uppercase;
    margin-bottom: 0.75rem;
    color: var(--mpl-flyer-black);
}
.mpl-flyer-banner-footer {
    max-width: 72rem;
    margin: 1.5rem auto 0;
    padding: 1rem;
    background: var(--mpl-flyer-red);
    color: #fff;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}
.mpl-flyer-banner-cta {
    color: #fff;
    text-decoration: none;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}
.mpl-flyer-banner-order {
    background: var(--mpl-flyer-black);
    color: #fff;
    padding: 0.4rem 1rem;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    margin-left: 0.75rem;
}
.mpl-flyer-banner-footer-right {
    font-size: 0.8rem;
    opacity: 0.95;
}

/* Sale Week Board */
.mpl-design-sale-week {
    --mpl-sale-yellow: var(--mpl-catalog-primary, #ffd200);
    --mpl-sale-black: var(--mpl-catalog-secondary, #111);
    background: var(--mpl-sale-black);
    font-family: system-ui, -apple-system, 'Segoe UI', sans-serif;
}
.mpl-sale-week-header {
    background: var(--mpl-sale-yellow);
    padding: 1.5rem 1rem;
}
.mpl-sale-week-header-inner {
    max-width: 72rem;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1.5rem;
}
.mpl-sale-week-logo {
    max-height: 48px;
    max-width: 120px;
    object-fit: contain;
    margin-bottom: 0.5rem;
}
.mpl-sale-week-kicker {
    font-size: 0.8rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin: 0 0 0.25rem;
}
.mpl-sale-week-title {
    font-size: clamp(1.75rem, 5vw, 2.75rem);
    font-weight: 900;
    text-transform: uppercase;
    line-height: 1;
    margin: 0 0 0.5rem;
    color: var(--mpl-sale-black);
}
.mpl-sale-week-desc {
    font-size: 0.9rem;
    max-width: 28rem;
    margin: 0;
    color: #333;
}
.mpl-sale-week-sale-card {
    background: #fff;
    border-radius: 1rem;
    padding: 1.25rem 1.5rem;
    text-align: center;
    min-width: 10rem;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
}
.mpl-sale-week-sale-label {
    display: block;
    font-weight: 900;
    text-transform: uppercase;
    font-size: 1rem;
}
.mpl-sale-week-sale-sub {
    display: block;
    font-size: 0.8rem;
    color: #555;
    margin-top: 0.25rem;
}
.mpl-sale-week-sale-pct {
    display: block;
    font-size: 3rem;
    font-weight: 900;
    line-height: 1.1;
    color: var(--mpl-sale-black);
}
.mpl-sale-week-effective {
    display: block;
    font-size: 0.75rem;
    color: #666;
    margin-top: 0.35rem;
}
.mpl-sale-week-body {
    max-width: 72rem;
    margin: 0 auto;
    padding: 1.5rem 1rem;
}
.mpl-sale-week-card {
    background: #fff;
    border-radius: 0.75rem;
    overflow: hidden;
    position: relative;
}
.mpl-sale-week-price-tag {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    background: var(--mpl-sale-yellow);
    color: var(--mpl-sale-black);
    font-weight: 800;
    font-size: 0.85rem;
    padding: 0.4rem 1.25rem 0.4rem 0.65rem;
    clip-path: polygon(0 0, 100% 0, 85% 100%, 0 100%);
}
.mpl-sale-week-card-media {
    aspect-ratio: 4/3;
    background: #f5f5f5;
    padding: 1.5rem 0.75rem 0.5rem;
}
.mpl-sale-week-card-media img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.mpl-sale-week-card-placeholder {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #bbb;
    font-size: 2rem;
}
.mpl-sale-week-card-body {
    padding: 0.75rem 1rem 1rem;
}
.mpl-sale-week-card-body h3 {
    font-size: 0.85rem;
    font-weight: 800;
    text-transform: uppercase;
    margin: 0 0 0.25rem;
}
.mpl-sale-week-variant,
.mpl-sale-week-note {
    font-size: 0.75rem;
    color: #666;
    margin: 0;
}
.mpl-sale-week-footer {
    background: var(--mpl-sale-yellow);
    padding: 1rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    font-weight: 600;
    color: var(--mpl-sale-black);
}
.mpl-sale-week-footer-contact a {
    color: inherit;
    font-weight: 800;
    text-decoration: none;
    margin-left: 0.35rem;
}
.mpl-sale-week-footer-web {
    font-size: 0.9rem;
}

/* Promo Grid Sale */
.mpl-design-promo-grid {
    --mpl-promo-red: var(--mpl-catalog-primary, #d32f2f);
    --mpl-promo-dark: var(--mpl-catalog-secondary, #2d2d2d);
    background: #f5f5f5;
    font-family: system-ui, -apple-system, 'Segoe UI', sans-serif;
}
.mpl-promo-grid-header {
    background: var(--mpl-promo-red);
    background-image: repeating-linear-gradient(
        -45deg,
        transparent,
        transparent 8px,
        rgba(0, 0, 0, 0.06) 8px,
        rgba(0, 0, 0, 0.06) 10px
    );
    color: #fff;
    padding: 1.25rem 1rem 0;
}
.mpl-promo-grid-header-inner {
    max-width: 72rem;
    margin: 0 auto;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}
.mpl-promo-grid-title {
    font-size: clamp(1.5rem, 4vw, 2.25rem);
    font-weight: 900;
    text-transform: uppercase;
    line-height: 1.05;
    margin: 0;
}
.mpl-promo-grid-title-light {
    color: #fff;
}
.mpl-promo-grid-title-accent {
    color: #4a1515;
}
.mpl-promo-grid-discount-badge {
    display: inline-block;
    background: #fff;
    color: var(--mpl-promo-red);
    font-size: 0.75rem;
    font-weight: 800;
    padding: 0.35rem 0.65rem;
    border-radius: 0.35rem;
    margin-top: 0.5rem;
}
.mpl-promo-grid-logo {
    background: var(--mpl-promo-dark);
    border-radius: 0.5rem;
    padding: 0.5rem;
    min-width: 72px;
    min-height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.mpl-promo-grid-logo img {
    max-height: 48px;
    max-width: 100px;
    object-fit: contain;
}
.mpl-promo-grid-subbar {
    max-width: 72rem;
    margin: 0.75rem auto 0;
    background: var(--mpl-promo-dark);
    color: #fff;
    font-size: 0.8rem;
    padding: 0.5rem 1rem;
}
.mpl-promo-grid-body {
    max-width: 72rem;
    margin: 0 auto;
    padding: 1.25rem 1rem;
}
.mpl-promo-grid-card {
    background: #fff;
    border: 1px solid #ddd;
    position: relative;
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 12px), calc(100% - 12px) 100%, 0 100%);
}
.mpl-promo-grid-card-accent {
    position: absolute;
    right: 0;
    top: 1rem;
    bottom: 1rem;
    width: 5px;
    background: var(--mpl-promo-red);
}
.mpl-promo-grid-card-top h3 {
    font-size: 0.8rem;
    font-weight: 800;
    padding: 0.65rem 0.75rem 0.25rem;
    margin: 0;
}
.mpl-promo-grid-card-media {
    aspect-ratio: 1;
    padding: 0.5rem 1rem;
}
.mpl-promo-grid-card-media img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.mpl-promo-grid-card-placeholder {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ccc;
    font-size: 2rem;
}
.mpl-promo-grid-card-bottom {
    padding: 0 0.75rem 0.75rem;
}
.mpl-promo-grid-brand {
    font-size: 0.75rem;
    font-weight: 800;
    text-transform: uppercase;
    margin: 0 0 0.15rem;
}
.mpl-promo-grid-variant {
    font-size: 0.72rem;
    color: #666;
    margin: 0 0 0.25rem;
}
.mpl-promo-grid-price .mpl-price-final {
    font-weight: 800;
    color: var(--mpl-promo-red);
}
.mpl-promo-grid-footer {
    background: var(--mpl-promo-dark);
    color: #fff;
    padding: 1rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1rem;
}
.mpl-promo-grid-order {
    background: #fff;
    color: var(--mpl-promo-red);
    font-weight: 800;
    font-size: 0.75rem;
    text-transform: uppercase;
    padding: 0.45rem 1rem;
    border-radius: 999px;
}
.mpl-promo-grid-phone {
    color: #fff;
    text-decoration: none;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}
.mpl-promo-grid-address {
    margin: 0 0 0 auto;
    font-size: 0.75rem;
    background: var(--mpl-promo-red);
    padding: 0.5rem 0.75rem;
    clip-path: polygon(8px 0, 100% 0, 100% 100%, 0 100%);
    max-width: 100%;
}

/* Tools Sale Promo */
.mpl-design-tools-sale {
    --mpl-tools-primary: var(--mpl-catalog-primary, #e84c3d);
    --mpl-tools-secondary: var(--mpl-catalog-secondary, #1a1a1a);
    background: #ececec;
    font-family: system-ui, -apple-system, 'Segoe UI', sans-serif;
}
.mpl-tools-sale-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
    min-height: 9rem;
    position: relative;
    overflow: hidden;
}
.mpl-tools-sale-hero-primary {
    background: var(--mpl-tools-primary);
    color: #fff;
    padding: 1.5rem 1.25rem 1.5rem 6.25rem;
    position: relative;
    clip-path: polygon(0 0, 100% 0, calc(100% - 2rem) 100%, 0 100%);
}
.mpl-tools-sale-logo-ring {
    position: absolute;
    left: 1rem;
    top: 50%;
    transform: translateY(-50%);
    width: 76px;
    height: 76px;
    border-radius: 50%;
    background: #fff;
    border: 4px solid var(--mpl-tools-primary);
    box-shadow: 0 0 0 4px #fff, 0 0 0 9px color-mix(in srgb, var(--mpl-tools-primary) 55%, #fff);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px;
    z-index: 2;
}
.mpl-tools-sale-logo-ring img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}
.mpl-tools-sale-kicker {
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    opacity: 0.9;
    margin: 0 0 0.35rem;
}
.mpl-tools-sale-title {
    font-size: clamp(1.35rem, 3.8vw, 2.35rem);
    font-weight: 900;
    text-transform: uppercase;
    line-height: 1.05;
    margin: 0 0 0.5rem;
}
.mpl-tools-sale-lead {
    font-size: 0.88rem;
    line-height: 1.45;
    margin: 0;
    max-width: 34rem;
    opacity: 0.92;
}
.mpl-tools-sale-hero-secondary {
    background: var(--mpl-tools-secondary);
    color: #fff;
    padding: 1.25rem 4.5rem 1.25rem 2rem;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.mpl-tools-sale-hero-meta {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    font-size: 0.82rem;
}
.mpl-tools-sale-hero-meta span {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
}
.mpl-tools-sale-meta-highlight {
    display: inline-block;
    background: var(--mpl-tools-primary);
    color: #fff;
    font-weight: 800;
    text-transform: uppercase;
    font-size: 0.72rem;
    letter-spacing: 0.06em;
    padding: 0.35rem 0.65rem;
    border-radius: 0.25rem;
    width: fit-content;
}
.mpl-tools-sale-stamp {
    position: absolute;
    right: 0.65rem;
    top: 50%;
    transform: translateY(-50%) rotate(90deg);
    color: var(--mpl-tools-primary);
    font-weight: 900;
    font-size: 1.35rem;
    text-transform: uppercase;
    letter-spacing: 0.16em;
}
.mpl-tools-sale-body {
    max-width: 72rem;
    margin: 0 auto;
    padding: 1.35rem 1rem 1rem;
}
.mpl-tools-sale-card {
    background: #fff;
    border-radius: 0.65rem;
    box-shadow: 0 2px 14px rgba(0, 0, 0, 0.07);
    position: relative;
    padding-bottom: 2.75rem;
    overflow: hidden;
    border: 1px solid rgba(0, 0, 0, 0.05);
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.mpl-tools-sale-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.1);
}
.mpl-tools-sale-card::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    background: var(--mpl-tools-primary);
}
.mpl-tools-sale-discount {
    position: absolute;
    top: 0.55rem;
    left: 0.75rem;
    z-index: 2;
    background: var(--mpl-tools-primary);
    color: #fff;
    font-size: 0.68rem;
    font-weight: 800;
    padding: 0.28rem 0.55rem;
    border-radius: 0.2rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
.mpl-tools-sale-card-media {
    aspect-ratio: 1;
    padding: 1.65rem 0.85rem 0.35rem;
    background: linear-gradient(180deg, #f8f8f8 0%, #fff 100%);
}
.mpl-tools-sale-card-media img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.mpl-tools-sale-card-placeholder {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #c5c5c5;
    font-size: 2rem;
}
.mpl-tools-sale-card-body {
    padding: 0.35rem 0.85rem 0;
}
.mpl-tools-sale-brand {
    display: inline-block;
    font-size: 0.65rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--mpl-tools-primary);
    margin-bottom: 0.2rem;
}
.mpl-tools-sale-card-body h3 {
    font-size: 0.88rem;
    font-weight: 800;
    line-height: 1.25;
    margin: 0 0 0.2rem;
    color: var(--mpl-tools-secondary);
}
.mpl-tools-sale-variant {
    font-size: 0.74rem;
    color: #666;
    margin: 0 0 0.25rem;
}
.mpl-tools-sale-sku {
    display: inline-block;
    font-size: 0.68rem;
    font-family: ui-monospace, monospace;
    color: #888;
    background: #f3f3f3;
    padding: 0.12rem 0.4rem;
    border-radius: 0.2rem;
}
.mpl-tools-sale-price-badge {
    position: absolute;
    bottom: 0.65rem;
    right: 0.65rem;
    background: var(--mpl-tools-secondary);
    color: #fff;
    font-weight: 800;
    font-size: 0.88rem;
    padding: 0.4rem 0.7rem;
    border-radius: 0.45rem;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}
.mpl-tools-sale-price-badge .mpl-price-old {
    opacity: 0.65;
    font-size: 0.72rem;
    text-decoration: line-through;
    margin-right: 0.25rem;
}
.mpl-tools-sale-footer {
    background: var(--mpl-tools-secondary);
    color: #fff;
    padding: 1rem 1.25rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}
.mpl-tools-sale-footer-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}
.mpl-tools-sale-pill {
    background: #fff;
    color: var(--mpl-tools-secondary);
    border-radius: 0.55rem;
    padding: 0.55rem 0.9rem;
    font-size: 0.74rem;
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    text-decoration: none;
    line-height: 1.35;
}
.mpl-tools-sale-pill strong {
    font-size: 0.82rem;
}
.mpl-tools-sale-pill--muted {
    background: color-mix(in srgb, var(--mpl-tools-secondary) 72%, #fff);
    color: #fff;
}
.mpl-tools-sale-web {
    font-size: 0.82rem;
    font-weight: 600;
    opacity: 0.9;
}

/* Catalog color pickers (admin + preview toolbar) */
.mpl-color-input-group .mpl-color-swatch {
    width: 3rem;
    min-width: 3rem;
    padding: 0.2rem;
    border-right: 0;
}
.mpl-color-input-group .mpl-color-hex {
    font-family: ui-monospace, monospace;
    text-transform: uppercase;
}
.mpl-color-preview-chip {
    --preview-bg: #ffffff;
    --preview-text: #122033;
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-radius: 0.5rem;
    overflow: hidden;
    min-height: 4.5rem;
    border: 1px solid #dee2e6;
}
.mpl-color-preview-primary,
.mpl-color-preview-secondary,
.mpl-color-preview-bg,
.mpl-color-preview-text {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #fff;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
}
.mpl-color-preview-bg {
    background: var(--preview-bg, #ffffff);
    color: var(--preview-text, #122033);
    text-shadow: none;
}
.mpl-color-preview-text {
    background: var(--preview-text, #122033);
    color: #fff;
}
.mpl-color-preview-primary {
    background: var(--preview-primary, #e84c3d);
}
.mpl-color-preview-secondary {
    background: var(--preview-secondary, #1a1a1a);
}
.mpl-toolbar-colors .mpl-toolbar-color-inputs {
    display: flex;
    gap: 0.35rem;
    align-items: center;
}
.mpl-toolbar-color-field input[type='color'] {
    width: 2rem;
    height: 2rem;
    padding: 0;
    border: 1px solid #dee2e6;
    border-radius: 0.35rem;
    cursor: pointer;
    background: #fff;
}

@media (max-width: 991.98px) {
    .mpl-catalog-page .mpl-customer-product-grid,
    .mpl-customer-product-grid {
        --mpl-grid-cols-effective: min(var(--mpl-grid-cols, 4), 3);
    }
    .mpl-flyer-banner-stage {
        grid-template-columns: 1fr;
        padding-left: 0.75rem;
        padding-right: 0.75rem;
    }
    .mpl-flyer-banner-hero {
        order: -1;
        min-height: auto;
    }
    .mpl-flyer-banner-col--left,
    .mpl-flyer-banner-col--right {
        display: grid;
        grid-template-columns: 1fr;
        gap: 0.75rem;
    }
    .mpl-tools-sale-hero {
        grid-template-columns: 1fr;
    }
    .mpl-tools-sale-hero-primary {
        clip-path: none;
        padding-left: 6.25rem;
    }
    .mpl-tools-sale-stamp {
        right: 1rem;
        top: auto;
        bottom: 0.75rem;
        transform: rotate(90deg);
    }
}

@media (max-width: 767.98px) {
    .mpl-catalog-page .mpl-customer-product-grid,
    .mpl-customer-product-grid {
        --mpl-grid-cols-effective: min(var(--mpl-grid-cols, 4), 2);
    }
    .mpl-flyer-banner-more {
        padding-left: 0.75rem;
        padding-right: 0.75rem;
    }
    .mpl-sale-week-body,
    .mpl-sale-week-header,
    .mpl-promo-grid-body,
    .mpl-tools-sale-body,
    .mpl-hoy-header .container-xxl {
        padding-left: 0.75rem;
        padding-right: 0.75rem;
    }
    .mpl-grid-col-picker {
        flex-wrap: wrap;
    }
}

@media (max-width: 479.98px) {
    .mpl-catalog-page .mpl-customer-product-grid,
    .mpl-customer-product-grid {
        --mpl-grid-cols-effective: 1;
    }
    .mpl-flyer-banner-card {
        grid-template-columns: 64px 1fr;
        gap: 0.5rem;
        padding: 0.5rem;
        min-width: 0;
    }
    .mpl-flyer-banner-card-media {
        width: 64px;
        height: 64px;
        margin-left: 0.35rem;
    }
    .mpl-flyer-banner-card-body {
        min-width: 0;
    }
    .mpl-flyer-banner-card-body h3 {
        font-size: 0.8rem;
        word-break: break-word;
    }
    .mpl-flyer-banner-headline {
        margin-top: 1.5rem;
        font-size: 1.15rem;
    }
    .mpl-flyer-banner-footer {
        flex-direction: column;
        align-items: flex-start;
        text-align: left;
    }
    .mpl-flyer-banner-order {
        margin-left: 0;
        margin-top: 0.5rem;
    }
}

@media print {
    .no-print,
    .mpl-preview-banner,
    .mpl-design-toolbar,
    .mpl-grid-col-picker,
    .mpl-whatsapp-float,
    .mpl-back-to-top,
    .mpl-catalog-float-actions,
    .mpl-catalog-powered {
        display: none !important;
    }
    body,
    body:has(.mpl-design-print) {
        background: #fff !important;
    }
    .mpl-design-print {
        padding: 0;
    }
    .mpl-print-sheet {
        box-shadow: none;
        border: 0;
        border-radius: 0;
        max-width: 100%;
    }
    .mpl-print-table tbody tr:hover {
        background: inherit;
    }
    .mpl-print-section {
        break-inside: avoid-page;
    }
}

/* Product variant, specs & custom fields on catalog items */
.mpl-product-extra {
    margin-top: 0.35rem;
    width: 100%;
}
.mpl-product-extra-variant {
    color: #6c757d;
    font-size: 0.8125rem;
    line-height: 1.35;
    margin-bottom: 0.35rem;
}
.mpl-product-extra-kv {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    font-size: 0.75rem;
    line-height: 1.35;
    color: #6c757d;
    width: 100%;
}
.mpl-product-extra-row {
    display: flex;
    align-items: baseline;
    width: 100%;
    gap: 0.5rem;
}
.mpl-product-extra-key {
    flex: 0 0 50%;
    max-width: 50%;
    font-weight: 700;
    color: var(--mpl-primary, #122033);
    text-transform: uppercase;
    letter-spacing: 0.03em;
    font-size: 0.68rem;
    word-break: break-word;
}
.mpl-product-extra-value {
    flex: 0 0 calc(50% - 0.5rem);
    max-width: calc(50% - 0.5rem);
    margin-left: 0;
    color: #212529;
    font-weight: 600;
    word-break: break-word;
}
.mpl-product-extra--compact .mpl-product-extra-variant {
    font-size: 0.7rem;
}
.mpl-product-extra--compact .mpl-product-extra-key {
    font-size: 0.62rem;
}
.mpl-product-extra--compact .mpl-product-extra-value {
    font-size: 0.7rem;
}

/* Keep price / CTA at card bottom when middle content is short */
.mpl-hoy-card,
.mpl-mtl-card,
.mpl-tools-sale-card,
.mpl-sale-week-card,
.mpl-flyer-banner-card,
.mpl-promo-grid-card {
    display: flex;
    flex-direction: column;
    height: 100%;
}
.mpl-hoy-card-body,
.mpl-mtl-card-body,
.mpl-tools-sale-card-body,
.mpl-sale-week-card-body,
.mpl-flyer-banner-card-body,
.mpl-promo-grid-card-bottom {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}
.mpl-hoy-prices,
.mpl-mtl-price-row,
.mpl-tools-sale-price-badge,
.mpl-sale-week-price-tag,
.mpl-flyer-banner-price,
.mpl-promo-grid-price {
    margin-top: auto;
    padding-top: 0.65rem;
}
/* Image-first grouped catalog */
.mpl-design-image-group {
    background:
        radial-gradient(circle at top right, rgba(22, 184, 212, 0.10), transparent 26%),
        linear-gradient(180deg, #f6fbff 0%, #ffffff 34%, #f7fafc 100%);
    color: #123047;
}
.mpl-catalog-page:has(.mpl-design-image-group) .mpl-catalog-powered {
    display: none;
}
.mpl-image-group-hero {
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(12, 74, 110, 0.08);
    border-radius: 28px;
    padding: 1.5rem;
    box-shadow: 0 18px 45px rgba(18, 48, 71, 0.08);
}
.mpl-image-group-logo {
    max-height: 52px;
    max-width: 180px;
    object-fit: contain;
}
.mpl-image-group-kicker {
    color: var(--mpl-catalog-secondary, #16B8D4);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}
.mpl-image-group-title {
    color: var(--mpl-catalog-primary, #0C4A6E);
    font-size: clamp(1.8rem, 3vw, 2.8rem);
    font-weight: 800;
    letter-spacing: -0.02em;
}
.mpl-image-group-description {
    max-width: 58rem;
    color: #5b6b7b;
    font-size: 1rem;
}
.mpl-image-group-meta {
    min-width: 220px;
    display: grid;
    gap: 0.85rem;
    padding: 1rem 1.1rem;
    border-radius: 20px;
    background: linear-gradient(180deg, rgba(12, 74, 110, 0.06), rgba(22, 184, 212, 0.08));
}
.mpl-image-group-meta div {
    color: #24445d;
    font-size: 0.95rem;
    font-weight: 600;
}
.mpl-image-group-meta span {
    display: block;
    color: #6d8397;
    font-size: 0.72rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-bottom: 0.15rem;
}
.mpl-image-group-section-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1rem;
}
.mpl-image-group-section-head h2 {
    margin: 0;
    color: var(--mpl-catalog-primary, #0C4A6E);
    font-size: clamp(1.2rem, 2vw, 1.65rem);
    font-weight: 800;
}
.mpl-image-group-section-head span {
    color: #6f8396;
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}
.mpl-image-group-card {
    display: grid;
    grid-template-columns: minmax(260px, 35%) minmax(0, 1fr);
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid rgba(12, 74, 110, 0.10);
    border-radius: 32px;
    overflow: hidden;
    box-shadow: 0 16px 40px rgba(18, 48, 71, 0.10);
}
.mpl-image-group-card--single .mpl-image-group-body {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.mpl-image-group-media {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.4rem;
    min-height: 320px;
    background:
        radial-gradient(circle at top left, rgba(22, 184, 212, 0.16), transparent 24%),
        linear-gradient(180deg, #ffffff 0%, #eef6fb 100%);
    border-right: 1px solid rgba(12, 74, 110, 0.08);
}
.mpl-image-group-product-image {
    width: 100%;
    max-height: 280px;
    object-fit: contain;
    filter: drop-shadow(0 14px 26px rgba(18, 48, 71, 0.12));
}
.mpl-image-group-placeholder {
    width: 100%;
    min-height: 260px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 24px;
    border: 2px dashed rgba(12, 74, 110, 0.18);
    background: rgba(255, 255, 255, 0.74);
    color: rgba(12, 74, 110, 0.38);
    font-size: 3rem;
}
.mpl-image-group-body {
    padding: 1.35rem 1.35rem 1.15rem;
    min-width: 0;
}
.mpl-image-group-body .table-responsive {
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
}
.mpl-image-group-body-head {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: flex-start;
    margin-bottom: 1rem;
}
.mpl-image-group-product-title {
    color: var(--mpl-catalog-primary, #0C4A6E);
    font-size: clamp(1.35rem, 2.1vw, 2rem);
    font-weight: 800;
    letter-spacing: -0.02em;
}
.mpl-image-group-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}
.mpl-image-group-chip {
    display: inline-flex;
    align-items: center;
    padding: 0.38rem 0.72rem;
    border-radius: 999px;
    background: rgba(12, 74, 110, 0.07);
    color: var(--mpl-catalog-primary, #0C4A6E);
    font-size: 0.76rem;
    font-weight: 700;
}
.mpl-image-group-info-grid {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    margin-bottom: 1rem;
    width: 100%;
}
.mpl-image-group-info-item {
    display: flex;
    align-items: baseline;
    width: 100%;
    gap: 0.5rem;
    padding: 0.45rem 0;
    border-radius: 0;
    background: transparent;
    border: 0;
    border-bottom: 1px solid rgba(12, 74, 110, 0.08);
}
.mpl-image-group-info-item span {
    flex: 0 0 50%;
    max-width: 50%;
    display: block;
    color: #718499;
    font-size: 0.74rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-bottom: 0;
    word-break: break-word;
}
.mpl-image-group-info-item strong {
    flex: 0 0 calc(50% - 0.5rem);
    max-width: calc(50% - 0.5rem);
    color: #19384f;
    font-size: 0.95rem;
    word-break: break-word;
}
.mpl-image-group-table {
    margin-top: 0.35rem;
    border-collapse: separate;
    border-spacing: 0;
}
.mpl-image-group-table thead th {
    background: var(--mpl-catalog-primary, #0C4A6E);
    color: #fff;
    font-size: 0.82rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    border: 0;
    padding: 0.85rem 0.9rem;
}
.mpl-image-group-table thead th:first-child {
    border-top-left-radius: 14px;
}
.mpl-image-group-table thead th:last-child {
    border-top-right-radius: 14px;
}
.mpl-image-group-table tbody td {
    padding: 0.95rem 0.9rem;
    font-size: 0.98rem;
    border-color: rgba(12, 74, 110, 0.08);
    color: #203a4e;
    background: rgba(255, 255, 255, 0.88);
}
.mpl-image-group-table tbody tr:nth-child(even) td {
    background: rgba(12, 74, 110, 0.02);
}
.mpl-image-group-table tbody tr:last-child td:first-child {
    border-bottom-left-radius: 14px;
}
.mpl-image-group-table tbody tr:last-child td:last-child {
    border-bottom-right-radius: 14px;
}
.mpl-image-group-rate {
    white-space: nowrap;
}
.mpl-image-group-rate .mpl-price-old {
    display: block;
    margin-right: 0;
    margin-bottom: 0.15rem;
    font-size: 0.8rem;
}
.mpl-image-group-rate .mpl-price-final {
    color: var(--mpl-catalog-secondary, #16B8D4);
    font-size: 1.1rem;
    font-weight: 800;
}
.mpl-image-group-single-rate .mpl-price-old {
    display: inline-block;
    margin-right: 0.4rem;
}
.mpl-image-group-single-rate .mpl-price-final {
    color: var(--mpl-catalog-secondary, #16B8D4);
    font-size: 1.35rem;
    font-weight: 800;
}
.mpl-image-group-single-note {
    color: #6a7d8f;
    font-size: 0.92rem;
}
.mpl-image-group-footer {
    background: linear-gradient(180deg, rgba(12, 74, 110, 0.96), rgba(9, 43, 64, 0.98));
    color: #f4fbff;
    border-radius: 28px;
    padding: 1.35rem 1.35rem 1.1rem;
    box-shadow: 0 18px 44px rgba(18, 48, 71, 0.16);
}
.mpl-image-group-footer-head {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding-bottom: 1rem;
    margin-bottom: 1rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}
.mpl-image-group-footer-powered {
    color: rgba(244, 251, 255, 0.78);
    font-size: 0.84rem;
}
.mpl-image-group-footer-body {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1.4fr);
    gap: 1rem 1.5rem;
    align-items: start;
}
.mpl-image-group-footer-title {
    margin: 0 0 0.35rem;
    font-size: 1.35rem;
    font-weight: 800;
    color: #fff;
}
.mpl-image-group-footer-copy {
    color: rgba(244, 251, 255, 0.8);
    font-size: 0.95rem;
}
.mpl-image-group-footer-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.8rem;
}
.mpl-image-group-footer-item {
    padding: 0.75rem 0.9rem;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.07);
}
.mpl-image-group-footer-item span {
    display: block;
    color: rgba(244, 251, 255, 0.72);
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 0.18rem;
}
.mpl-image-group-footer-item a,
.mpl-image-group-footer-item strong {
    color: #fff;
    font-size: 0.94rem;
    font-weight: 700;
    text-decoration: none;
    word-break: break-word;
}
.mpl-image-group-footer-item a:hover,
.mpl-image-group-footer-item a:focus-visible {
    color: #b8f2ff;
}
@media (max-width: 991.98px) {
    .mpl-image-group-card {
        grid-template-columns: 1fr;
    }
    .mpl-image-group-media {
        min-height: 260px;
        border-right: 0;
        border-bottom: 1px solid rgba(12, 74, 110, 0.08);
    }
    .mpl-image-group-product-image {
        max-height: 220px;
    }
    .mpl-image-group-footer-body {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 767.98px) {
    .mpl-image-group-hero {
        padding: 1rem;
        border-radius: 20px;
    }
    .mpl-image-group-meta {
        width: 100%;
        min-width: 0;
    }
    .mpl-image-group-section-head {
        flex-direction: column;
        align-items: flex-start;
    }
    .mpl-image-group-body {
        padding: 1rem;
    }
    .mpl-image-group-info-grid {
        width: 100%;
    }
    .mpl-image-group-body .table-responsive {
        overflow-x: auto;
    }
    .mpl-image-group-table {
        min-width: 34rem;
    }
    .mpl-image-group-table thead th,
    .mpl-image-group-table tbody td {
        padding: 0.75rem 0.65rem;
        font-size: 0.84rem;
    }
    .mpl-image-group-rate .mpl-price-final {
        font-size: 0.95rem;
    }
    .mpl-image-group-footer {
        border-radius: 22px;
        padding: 1rem;
    }
    .mpl-image-group-footer-grid {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 575.98px) {
    .mpl-image-group-card {
        border-radius: 22px;
    }
    .mpl-image-group-media {
        min-height: 200px;
        padding: 0.85rem;
    }
    .mpl-image-group-product-image {
        max-height: 160px;
    }
    .mpl-image-group-placeholder {
        min-height: 160px;
        font-size: 2rem;
    }
    .mpl-image-group-product-title {
        font-size: 1.05rem;
        word-break: break-word;
        margin-bottom: 0.35rem !important;
    }
    .mpl-image-group-chips {
        gap: 0.3rem;
    }
    .mpl-image-group-chip {
        padding: 0.25rem 0.55rem;
        font-size: 0.68rem;
    }
    .mpl-image-group-body-head {
        margin-bottom: 0.65rem;
    }
    .mpl-image-group-body .table-responsive {
        overflow-x: visible;
    }
    .mpl-image-group-table.table {
        min-width: 0;
    }
    .mpl-image-group-table.table thead {
        display: none !important;
    }
    .mpl-image-group-table.table tbody {
        display: block;
    }
    .mpl-image-group-table.table tbody tr {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 0.15rem 0.5rem;
        padding: 0.4rem 0.5rem;
        margin-bottom: 0.35rem;
        border: 1px solid rgba(12, 74, 110, 0.1);
        border-radius: 10px;
        overflow: hidden;
        background: #fff;
        align-items: center;
    }
    .mpl-image-group-table.table tbody tr:nth-child(even) td {
        background: transparent;
    }
    .mpl-image-group-table.table tbody td[data-label='CODE'],
    .mpl-image-group-table.table tbody td[data-label='Code'],
    .mpl-image-group-table.table tbody td.font-monospace {
        grid-column: 1;
        grid-row: 1;
        display: block !important;
        padding: 0 !important;
        border: 0 !important;
        font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
        font-weight: 700;
        font-size: 0.78rem;
        text-align: left !important;
        color: var(--mpl-catalog-primary, #0c4a6e);
    }
    .mpl-image-group-table.table tbody td[data-label='CODE']::before,
    .mpl-image-group-table.table tbody td[data-label='Code']::before,
    .mpl-image-group-table.table tbody td.font-monospace::before {
        display: none;
    }
    .mpl-image-group-table.table tbody td.mpl-image-group-rate {
        grid-column: 2;
        grid-row: 1;
        display: block !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        text-align: right !important;
        white-space: nowrap;
    }
    .mpl-image-group-table.table tbody td.mpl-image-group-rate::before {
        display: none;
    }
    .mpl-image-group-table.table tbody td:not([data-label='CODE']):not([data-label='Code']):not(.font-monospace):not(.mpl-image-group-rate) {
        display: block !important;
        padding: 0.1rem 0 !important;
        border: 0 !important;
        font-size: 0.72rem;
        line-height: 1.25;
        text-align: left !important;
        width: auto;
        min-width: 0;
        color: #2a4052;
    }
    .mpl-image-group-table.table tbody td:not([data-label='CODE']):not([data-label='Code']):not(.font-monospace):not(.mpl-image-group-rate)::before {
        display: inline;
        content: attr(data-label) ': ';
        font-size: 0.62rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.02em;
        color: #8a9bab;
    }
    .mpl-image-group-table.table tbody td[data-label='Notes'] {
        grid-column: 1 / -1;
        font-size: 0.68rem;
        color: #6d8397;
        padding-top: 0.15rem !important;
        border-top: 1px dashed rgba(12, 74, 110, 0.08) !important;
        margin-top: 0.1rem;
    }
    .mpl-image-group-rate .mpl-price-old {
        display: inline;
        margin-right: 0.25rem;
        margin-bottom: 0;
        font-size: 0.68rem;
    }
    .mpl-image-group-rate .mpl-price-final {
        font-size: 0.92rem;
        font-weight: 800;
    }
}
@media print {
    .mpl-design-image-group {
        background: #fff !important;
    }
    .mpl-image-group-hero,
    .mpl-image-group-card {
        box-shadow: none;
        break-inside: avoid-page;
    }
    .mpl-image-group-card {
        border-color: rgba(0, 0, 0, 0.12);
    }
    .mpl-image-group-media {
        background: #fff;
    }
    .mpl-image-group-table tbody tr:nth-child(even) td {
        background: #fafafa;
    }
}

/* Industrial Premium Catalog */
.mpl-design-industrial-premium {
    --mpl-ind-primary: var(--mpl-catalog-primary, #D4AF37);
    --mpl-ind-secondary: var(--mpl-catalog-secondary, #0A0A0A);
    --mpl-ind-gold: var(--mpl-ind-primary);
    --mpl-ind-bg: var(--mpl-catalog-bg, var(--mpl-ind-secondary));
    background: var(--mpl-ind-bg);
    color: var(--mpl-catalog-ink, var(--mpl-ind-text));
}
.mpl-catalog-page[data-mpl-catalog-bg="1"]:has(.mpl-design-industrial-premium) {
    background: var(--mpl-catalog-bg);
}
/* Dark secondary (default luxury) */
.mpl-design-industrial-premium,
.mpl-design-industrial-premium[data-mpl-ind-surface="dark"] {
    --mpl-ind-text: color-mix(in srgb, var(--mpl-ind-primary) 15%, #f0f0f0);
    --mpl-ind-muted: color-mix(in srgb, var(--mpl-ind-primary) 12%, #a8a8a8);
    --mpl-ind-surface: color-mix(in srgb, var(--mpl-ind-secondary) 50%, #000000);
    --mpl-ind-surface-soft: color-mix(in srgb, var(--mpl-ind-secondary) 38%, #000000);
    --mpl-ind-on-accent: var(--mpl-ind-secondary);
    --mpl-ind-header-bg: transparent;
    --mpl-ind-card-bg: transparent;
    --mpl-ind-ribbon-bg: transparent;
    --mpl-ind-logo-bg: transparent;
    --mpl-ind-rate-bg: transparent;
    --mpl-ind-icon-bg: transparent;
    --mpl-ind-footer-bg: transparent;
    --mpl-ind-glow: color-mix(in srgb, var(--mpl-ind-primary) 14%, transparent);
    --mpl-ind-primary-shadow: color-mix(in srgb, var(--mpl-ind-primary) 22%, transparent);
    --mpl-ind-secondary-shadow: color-mix(in srgb, var(--mpl-ind-secondary) 65%, #000000);
    --mpl-ind-img-shadow: color-mix(in srgb, var(--mpl-ind-secondary) 55%, #000000);
}
/* Light secondary — primary + secondary combination */
.mpl-design-industrial-premium[data-mpl-ind-surface="light"] {
    --mpl-ind-text: color-mix(in srgb, var(--mpl-ind-primary) 48%, #1c1c1c);
    --mpl-ind-muted: color-mix(in srgb, var(--mpl-ind-primary) 28%, #5a5a5a);
    --mpl-ind-surface: color-mix(in srgb, var(--mpl-ind-secondary) 93%, var(--mpl-ind-primary));
    --mpl-ind-surface-soft: color-mix(in srgb, var(--mpl-ind-secondary) 86%, var(--mpl-ind-primary));
    --mpl-ind-on-accent: var(--mpl-ind-secondary);
    --mpl-ind-header-bg: transparent;
    --mpl-ind-card-bg: transparent;
    --mpl-ind-ribbon-bg: transparent;
    --mpl-ind-logo-bg: transparent;
    --mpl-ind-rate-bg: transparent;
    --mpl-ind-icon-bg: transparent;
    --mpl-ind-footer-bg: transparent;
    --mpl-ind-glow: color-mix(in srgb, var(--mpl-ind-primary) 12%, transparent);
    --mpl-ind-primary-shadow: color-mix(in srgb, var(--mpl-ind-primary) 18%, transparent);
    --mpl-ind-secondary-shadow: color-mix(in srgb, var(--mpl-ind-secondary) 35%, #000000);
    --mpl-ind-img-shadow: color-mix(in srgb, var(--mpl-ind-primary) 25%, #000000);
}
.mpl-catalog-page:has(.mpl-design-industrial-premium) {
    background: var(--mpl-ind-bg);
}
.mpl-catalog-page:has(.mpl-design-industrial-premium) .mpl-catalog-powered {
    color: var(--mpl-ind-muted) !important;
}
body:has(.mpl-design-industrial-premium),
body.mpl-catalog-body:has(.mpl-design-industrial-premium) {
    background: var(--mpl-ind-bg) !important;
}
.mpl-design-industrial-premium .mpl-customer-product-grid {
    --mpl-grid-cols: 3;
    gap: 1.25rem;
}
.mpl-industrial-header {
    border-bottom: 1px solid color-mix(in srgb, var(--mpl-ind-gold) 45%, transparent);
    background: transparent;
}
.mpl-industrial-header-row {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 1.25rem;
    align-items: center;
}
.mpl-industrial-logo {
    width: 72px;
    height: 72px;
    object-fit: contain;
    border-radius: 50%;
    border: 2px solid var(--mpl-ind-gold);
    padding: 0.35rem;
    background: var(--mpl-ind-logo-bg);
    box-shadow:
        0 4px 12px var(--mpl-ind-secondary-shadow),
        0 0 10px var(--mpl-ind-primary-shadow);
}
.mpl-industrial-logo-fallback {
    width: 72px;
    height: 72px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.15rem;
    border-radius: 50%;
    border: 2px solid var(--mpl-ind-gold);
    background: var(--mpl-ind-logo-bg);
    color: var(--mpl-ind-gold);
    font-weight: 800;
    font-size: 1rem;
    letter-spacing: 0.08em;
    box-shadow:
        0 4px 12px var(--mpl-ind-secondary-shadow),
        0 0 10px var(--mpl-ind-primary-shadow);
}
.mpl-industrial-logo-fallback i {
    font-size: 0.75rem;
}
.mpl-industrial-header-center {
    text-align: center;
}
.mpl-industrial-company {
    margin: 0;
    color: var(--mpl-ind-gold);
    font-size: clamp(1.35rem, 3vw, 2.35rem);
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    text-shadow: 0 1px 3px var(--mpl-ind-secondary-shadow);
}
.mpl-industrial-ribbon {
    display: inline-flex;
    margin-top: 0.65rem;
    padding: 0.45rem 1.1rem;
    border: 1px solid color-mix(in srgb, var(--mpl-ind-gold) 70%, transparent);
    border-radius: 999px;
    background: var(--mpl-ind-ribbon-bg);
    color: var(--mpl-ind-text);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}
.mpl-industrial-header-right {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.75rem;
    min-width: 180px;
}
.mpl-industrial-seal {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 92px;
    height: 92px;
    border-radius: 50%;
    border: 2px solid var(--mpl-ind-gold);
    color: var(--mpl-ind-gold);
    background: var(--mpl-ind-logo-bg);
    text-align: center;
    font-size: 0.58rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    line-height: 1.2;
    padding: 0.35rem;
    box-shadow:
        0 4px 12px var(--mpl-ind-secondary-shadow),
        0 0 8px var(--mpl-ind-primary-shadow);
}
.mpl-industrial-seal i {
    font-size: 0.95rem;
    margin-bottom: 0.2rem;
}
.mpl-industrial-contact {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.2rem;
    text-align: right;
}
.mpl-industrial-contact-name {
    color: var(--mpl-ind-text);
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}
.mpl-industrial-contact-phone {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    color: var(--mpl-ind-gold);
    font-size: 0.9rem;
    font-weight: 700;
    text-decoration: none;
}
.mpl-industrial-contact-phone:hover,
.mpl-industrial-contact-phone:focus-visible {
    color: color-mix(in srgb, var(--mpl-ind-gold) 75%, var(--mpl-ind-text));
}
.mpl-industrial-effective {
    margin-top: 0.85rem;
    text-align: center;
    color: var(--mpl-ind-muted);
    font-size: 0.78rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}
.mpl-industrial-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 100%;
    padding: 0.85rem;
    border: 1px solid var(--mpl-ind-gold);
    background: var(--mpl-ind-card-bg);
    box-shadow:
        inset 0 0 0 1px color-mix(in srgb, var(--mpl-ind-gold) 18%, transparent),
        0 4px 14px var(--mpl-ind-secondary-shadow),
        0 0 10px var(--mpl-ind-primary-shadow);
}
.mpl-industrial-index {
    position: absolute;
    top: 0.55rem;
    left: 0.55rem;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2rem;
    height: 1.65rem;
    padding: 0 0.45rem;
    border: 1px solid var(--mpl-ind-gold);
    background: transparent;
    color: var(--mpl-ind-gold);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.06em;
}
.mpl-design-industrial-premium[data-mpl-ind-surface="light"] .mpl-industrial-index {
    background: var(--mpl-ind-gold);
    color: var(--mpl-ind-on-accent);
}
.mpl-industrial-card-inner {
    display: grid;
    grid-template-columns: minmax(96px, 38%) minmax(0, 1fr);
    gap: 0.75rem;
    flex: 1 1 auto;
}
.mpl-industrial-card-media {
    position: relative;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    min-height: 120px;
    padding-top: 1.35rem;
}
.mpl-industrial-pedestal {
    display: none;
}
.mpl-industrial-product-image {
    position: relative;
    z-index: 1;
    width: 100%;
    max-height: 110px;
    object-fit: contain;
    filter: drop-shadow(0 10px 18px var(--mpl-ind-img-shadow));
}
.mpl-industrial-product-placeholder {
    position: relative;
    z-index: 1;
    width: 100%;
    min-height: 96px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: color-mix(in srgb, var(--mpl-ind-gold) 55%, transparent);
    font-size: 2rem;
}
.mpl-industrial-card-body {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    gap: 0.55rem;
    min-width: 0;
    min-height: 0;
}
.mpl-industrial-variant-table-wrap,
.mpl-industrial-price {
    margin-top: auto;
    padding-top: 0.5rem;
}
.mpl-industrial-product-title {
    margin: 0;
    color: var(--mpl-ind-gold);
    font-size: 0.92rem;
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}
.mpl-industrial-specs {
    display: grid;
    gap: 0.28rem;
}
.mpl-industrial-specs li {
    display: grid;
    grid-template-columns: auto auto minmax(0, 1fr);
    gap: 0.25rem;
    align-items: start;
    color: var(--mpl-ind-muted);
    font-size: 0.68rem;
    line-height: 1.35;
}
.mpl-industrial-spec-bullet {
    width: 0;
    height: 0;
    margin-top: 0.28rem;
    border-top: 0.22rem solid transparent;
    border-bottom: 0.22rem solid transparent;
    border-left: 0.38rem solid var(--mpl-ind-gold);
}
.mpl-industrial-spec-key {
    color: var(--mpl-ind-text);
    font-weight: 700;
    white-space: nowrap;
}
.mpl-industrial-spec-value {
    word-break: break-word;
}
.mpl-industrial-rate-box {
    margin-top: auto;
    padding: 0.45rem 0.55rem;
    border: 1px solid var(--mpl-ind-gold);
    background: transparent;
    text-align: center;
    box-shadow: none;
}
.mpl-industrial-rate-label {
    display: block;
    color: var(--mpl-ind-muted);
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}
.mpl-industrial-rate-price {
    margin-top: 0.1rem;
}
.mpl-industrial-rate-price .mpl-price-final {
    color: var(--mpl-ind-gold);
    font-size: 1.15rem;
    font-weight: 800;
    line-height: 1.1;
}
.mpl-industrial-rate-price .mpl-price-old {
    display: block;
    margin-right: 0;
    margin-bottom: 0.1rem;
    color: var(--mpl-ind-muted);
    font-size: 0.72rem;
    text-decoration: line-through;
}
.mpl-industrial-rate-unit {
    display: block;
    margin-top: 0.15rem;
    color: var(--mpl-ind-muted);
    font-size: 0.58rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}
.mpl-industrial-guarantee {
    position: absolute;
    right: 0.55rem;
    bottom: 0.55rem;
    z-index: 2;
    width: 58px;
    height: 58px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    border: 2px solid var(--mpl-ind-gold);
    background: transparent;
    color: var(--mpl-ind-gold);
    text-align: center;
    box-shadow:
        0 3px 10px var(--mpl-ind-secondary-shadow),
        0 0 8px var(--mpl-ind-primary-shadow);
}
.mpl-industrial-guarantee-years {
    font-size: 1rem;
    font-weight: 800;
    line-height: 1;
}
.mpl-industrial-guarantee-text {
    font-size: 0.48rem;
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}
.mpl-industrial-footer {
    border-top: 1px solid color-mix(in srgb, var(--mpl-ind-gold) 35%, transparent);
    background: transparent;
}
.mpl-industrial-why-title {
    margin: 0 0 1rem;
    text-align: center;
    color: var(--mpl-ind-gold);
    font-size: clamp(1rem, 2vw, 1.35rem);
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}
.mpl-industrial-why-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.85rem;
}
.mpl-industrial-why-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.45rem;
    text-align: center;
}
.mpl-industrial-why-icon {
    width: 2.5rem;
    height: 2.5rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    border: 1px solid color-mix(in srgb, var(--mpl-ind-gold) 55%, transparent);
    color: var(--mpl-ind-gold);
    background: transparent;
    font-size: 1.1rem;
}
.mpl-industrial-why-label {
    color: var(--mpl-ind-muted);
    font-size: 0.72rem;
    font-weight: 700;
    line-height: 1.3;
}
.mpl-industrial-footer-bottom {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
    gap: 1.25rem;
    align-items: center;
    margin-top: 1.5rem;
}
.mpl-industrial-trust-badge {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    width: min(100%, 220px);
    margin: 0 auto;
    padding: 1rem 1.25rem;
    border: 2px solid var(--mpl-ind-gold);
    border-radius: 18px;
    color: var(--mpl-ind-gold);
    background: transparent;
    font-size: 0.95rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    text-align: center;
    box-shadow:
        0 4px 14px var(--mpl-ind-secondary-shadow),
        0 0 10px var(--mpl-ind-primary-shadow);
}
.mpl-industrial-trust-badge i {
    font-size: 1.5rem;
}
.mpl-industrial-footer-contact .mpl-company-details-shell,
.mpl-industrial-footer-contact .mpl-company-details {
    background: transparent !important;
    border: 0 !important;
    padding: 0 !important;
}
.mpl-industrial-footer-contact .mpl-company-details-overview,
.mpl-industrial-footer-contact .mpl-company-details-intro {
    display: none !important;
}
.mpl-industrial-footer-contact .mpl-company-verified-badge {
    margin-bottom: 0.85rem;
}
.mpl-industrial-footer-contact .mpl-company-verified-badge--on-dark,
.mpl-design-industrial-premium .mpl-company-verified-badge {
    border-color: color-mix(in srgb, var(--mpl-ind-gold) 45%, transparent);
    background: transparent;
}
.mpl-design-industrial-premium .mpl-company-verified-badge__label {
    color: var(--mpl-ind-gold);
}
.mpl-industrial-footer-contact .mpl-company-details-title {
    color: var(--mpl-ind-gold);
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}
.mpl-industrial-footer-contact .mpl-company-detail-card {
    background: transparent;
    border-color: color-mix(in srgb, var(--mpl-ind-gold) 25%, transparent);
    color: var(--mpl-ind-text);
}
.mpl-industrial-footer-contact .mpl-company-detail-label {
    color: var(--mpl-ind-muted);
}
.mpl-industrial-footer-contact .mpl-company-detail-value,
.mpl-industrial-footer-contact .mpl-company-detail-icon {
    color: var(--mpl-ind-gold);
}
.mpl-design-industrial-premium .mpl-customer-grid-empty {
    color: var(--mpl-ind-muted);
}
.mpl-industrial-grid--grouped {
    --mpl-grid-cols: 2;
}
.mpl-industrial-card--grouped .mpl-industrial-card-inner,
.mpl-industrial-card--variant .mpl-industrial-card-inner {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
}
.mpl-industrial-card--grouped .mpl-industrial-card-media,
.mpl-industrial-card--variant .mpl-industrial-card-media {
    min-height: 110px;
    padding-top: 0.75rem;
}
.mpl-industrial-card--grouped .mpl-industrial-product-image,
.mpl-industrial-card--variant .mpl-industrial-product-image {
    max-height: 100px;
}
.mpl-industrial-meta-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}
.mpl-industrial-meta-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    padding: 0.15rem 0.45rem;
    border: 1px solid color-mix(in srgb, var(--mpl-ind-gold) 40%, transparent);
    border-radius: 4px;
    background: transparent;
    color: var(--mpl-ind-muted);
    font-size: 0.62rem;
    font-weight: 600;
    line-height: 1.3;
}
.mpl-industrial-meta-chip strong {
    color: var(--mpl-ind-text);
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-weight: 700;
}
.mpl-industrial-attr-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}
.mpl-industrial-attr-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.2rem 0.5rem;
    border: 1px solid color-mix(in srgb, var(--mpl-ind-gold) 55%, transparent);
    border-radius: 4px;
    background: transparent;
    font-size: 0.65rem;
    line-height: 1.3;
}
.mpl-industrial-attr-chip-label {
    color: var(--mpl-ind-gold);
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
.mpl-industrial-attr-chip-value {
    color: var(--mpl-ind-ink, #f5f5f5);
    font-weight: 600;
}
.mpl-industrial-info-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.35rem 0.5rem;
    align-items: baseline;
    width: 100%;
}
.mpl-industrial-info-grid dt {
    margin: 0;
    color: var(--mpl-ind-muted);
    font-size: 0.65rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    word-break: break-word;
    white-space: normal;
}
.mpl-industrial-info-grid dd {
    margin: 0;
    color: var(--mpl-ind-text);
    font-size: 0.68rem;
    font-weight: 600;
    word-break: break-word;
}
.mpl-industrial-variant-table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin-top: 0.25rem;
}
.mpl-industrial-variant-table {
    width: 100%;
    min-width: 220px;
    border-collapse: collapse;
    font-size: 0.68rem;
    line-height: 1.35;
}
.mpl-industrial-variant-table thead th {
    padding: 0.35rem 0.45rem;
    border-bottom: 1px solid color-mix(in srgb, var(--mpl-ind-gold) 35%, transparent);
    color: var(--mpl-ind-muted);
    font-size: 0.6rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    text-align: left;
    white-space: nowrap;
}
.mpl-industrial-variant-table thead th.mpl-industrial-variant-table-rate {
    text-align: right;
}
.mpl-industrial-variant-table tbody td {
    padding: 0.3rem 0.45rem;
    border-bottom: 1px solid color-mix(in srgb, var(--mpl-ind-gold) 12%, transparent);
    color: var(--mpl-ind-text);
    vertical-align: middle;
}
.mpl-industrial-variant-table tbody tr:nth-child(even) td {
    background: transparent;
}
.mpl-industrial-variant-table-index {
    width: 2rem;
    color: var(--mpl-ind-gold);
    font-weight: 800;
    text-align: center;
}
.mpl-industrial-variant-table-rate {
    text-align: right;
    white-space: nowrap;
}
.mpl-industrial-variant-table-rate .mpl-price-final {
    color: var(--mpl-ind-gold);
    font-weight: 800;
}
.mpl-industrial-variant-table-rate .mpl-price-old {
    display: block;
    color: var(--mpl-ind-muted);
    font-size: 0.62rem;
    text-decoration: line-through;
}
.mpl-industrial-variant-table .font-monospace {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: 0.64rem;
}
.mpl-industrial-notes {
    margin: 0;
    color: var(--mpl-ind-muted);
    font-size: 0.65rem;
    font-style: italic;
    line-height: 1.35;
}
@media (max-width: 1199.98px) {
    .mpl-industrial-header-row {
        grid-template-columns: 1fr;
        text-align: center;
    }
    .mpl-industrial-header-logo,
    .mpl-industrial-header-right {
        justify-self: center;
        align-items: center;
    }
    .mpl-industrial-contact {
        align-items: center;
        text-align: center;
    }
    .mpl-industrial-why-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}
@media (max-width: 991.98px) {
    .mpl-industrial-card--grouped .mpl-industrial-card-media,
    .mpl-industrial-card--variant .mpl-industrial-card-media {
        min-height: 120px;
    }
    .mpl-industrial-product-image {
        max-height: 130px;
    }
    .mpl-industrial-footer-bottom {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 767.98px) {
    .mpl-industrial-why-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .mpl-industrial-seal {
        width: 78px;
        height: 78px;
        font-size: 0.52rem;
    }
}
@media (max-width: 479.98px) {
    .mpl-industrial-why-grid {
        grid-template-columns: 1fr;
    }
}
@media print {
    body:has(.mpl-design-industrial-premium),
    .mpl-catalog-page:has(.mpl-design-industrial-premium) {
        background: var(--mpl-ind-bg) !important;
    }
    .mpl-design-industrial-premium {
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .mpl-industrial-card {
        break-inside: avoid-page;
        page-break-inside: avoid;
    }
    .mpl-industrial-header,
    .mpl-industrial-footer {
        break-inside: avoid-page;
    }
}

/* Category Browse */
.mpl-design-category-browse {
    --mpl-cb-primary: var(--mpl-catalog-primary, #0B3A6E);
    --mpl-cb-ink: var(--mpl-catalog-ink, #122033);
    --mpl-cb-muted: #66788f;
    --mpl-cb-line: #d9e2ef;
    --mpl-cb-surface: #f5f8fc;
    color: var(--mpl-cb-ink);
    background: var(--mpl-catalog-bg, #fff);
    min-height: 70vh;
}
.mpl-cb-header {
    border-bottom: 1px solid var(--mpl-cb-line);
    padding: 1.25rem 1.25rem 1rem;
}
.mpl-cb-header-inner {
    max-width: 1100px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 1rem;
    align-items: flex-start;
}
.mpl-cb-brand {
    display: flex;
    gap: 0.85rem;
    align-items: center;
}
.mpl-cb-logo {
    width: 56px;
    height: 56px;
    object-fit: contain;
    border-radius: 10px;
    border: 1px solid var(--mpl-cb-line);
    background: #fff;
}
.mpl-cb-brand-label {
    font-size: 1.35rem;
    font-weight: 800;
    color: var(--mpl-cb-primary);
    letter-spacing: -0.02em;
    line-height: 1.1;
}
.mpl-cb-company-name {
    font-size: 0.95rem;
    font-weight: 600;
    margin: 0.15rem 0 0;
}
.mpl-cb-list-title {
    color: var(--mpl-cb-muted);
    font-size: 0.85rem;
}
.mpl-cb-stats {
    display: flex;
    gap: 0.75rem;
    background: #eaf0f8;
    border-radius: 10px;
    padding: 0.65rem 0.9rem;
}
.mpl-cb-stats div {
    min-width: 72px;
}
.mpl-cb-stats span {
    display: block;
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--mpl-cb-muted);
}
.mpl-cb-stats strong {
    font-size: 1rem;
}
.mpl-cb-lead {
    max-width: 1100px;
    margin: 0.85rem auto 0;
    color: var(--mpl-cb-muted);
    font-size: 0.95rem;
}
.mpl-cb-main {
    max-width: 1100px;
    margin: 0 auto;
    padding: 1.75rem 1.25rem 2.5rem;
    min-height: 42vh;
}
.mpl-cb-section-title {
    font-size: 1.35rem;
    font-weight: 700;
    margin: 0;
}
.mpl-cb-muted { color: var(--mpl-cb-muted); font-size: 0.9rem; }
.mpl-cb-category-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 1.5rem 1rem;
    justify-items: center;
}
.mpl-cb-category-tile {
    text-align: center;
    text-decoration: none;
    color: inherit;
    width: 100%;
    max-width: 160px;
    transition: transform 0.15s ease;
}
.mpl-cb-category-tile:hover {
    transform: translateY(-2px);
    color: inherit;
}
.mpl-cb-category-icon {
    width: 96px;
    height: 96px;
    margin: 0 auto 0.65rem;
    border-radius: 16px;
    background: var(--mpl-cb-surface);
    border: 1px solid var(--mpl-cb-line);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}
.mpl-cb-category-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 0.5rem;
}
.mpl-cb-category-icon i {
    font-size: 2rem;
    color: var(--mpl-cb-primary);
}
.mpl-cb-category-icon--lg {
    width: 72px;
    height: 72px;
    margin: 0;
    flex-shrink: 0;
}
.mpl-cb-category-name {
    display: block;
    font-weight: 600;
    font-size: 0.95rem;
}
.mpl-cb-category-meta {
    display: block;
    font-size: 0.78rem;
    color: var(--mpl-cb-muted);
    margin-top: 0.2rem;
}
.mpl-cb-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    align-items: center;
    font-size: 0.88rem;
    margin-bottom: 1.25rem;
    color: var(--mpl-cb-muted);
}
.mpl-cb-breadcrumb a {
    color: var(--mpl-cb-primary);
    text-decoration: none;
    font-weight: 600;
}
.mpl-cb-category-head {
    display: flex;
    gap: 1rem;
    align-items: center;
    margin-bottom: 1.5rem;
}
.mpl-cb-product-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 1.1rem;
}
.mpl-cb-product-card {
    display: flex;
    flex-direction: column;
    text-decoration: none;
    color: inherit;
    border: 1px solid var(--mpl-cb-line);
    border-radius: 14px;
    overflow: hidden;
    background: #fff;
    transition: box-shadow 0.15s ease, border-color 0.15s ease;
}
.mpl-cb-product-card:hover {
    color: inherit;
    border-color: color-mix(in srgb, var(--mpl-cb-primary) 35%, var(--mpl-cb-line));
    box-shadow: 0 8px 24px rgba(11, 58, 110, 0.08);
}
.mpl-cb-product-media {
    aspect-ratio: 4 / 3;
    background: var(--mpl-cb-surface);
}
.mpl-cb-product-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.mpl-cb-product-placeholder {
    width: 100%;
    height: 100%;
    min-height: 140px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--mpl-cb-muted);
    font-size: 2rem;
    background: var(--mpl-cb-surface);
}
.mpl-cb-product-placeholder--lg { min-height: 260px; border-radius: 14px; }
.mpl-cb-product-body { padding: 0.9rem 1rem 1.1rem; }
.mpl-cb-product-body h3 {
    font-size: 1rem;
    font-weight: 700;
    margin: 0 0 0.35rem;
}
.mpl-cb-product-price {
    font-weight: 700;
    color: var(--mpl-cb-primary);
    margin-bottom: 0.45rem !important;
}
.mpl-cb-chip {
    display: inline-block;
    font-size: 0.72rem;
    padding: 0.18rem 0.5rem;
    border-radius: 999px;
    background: #eaf0f8;
    color: var(--mpl-cb-primary);
    font-weight: 600;
}
.mpl-cb-chips { display: flex; flex-wrap: wrap; gap: 0.4rem; }
.mpl-cb-product-detail {
    display: grid;
    grid-template-columns: minmax(220px, 360px) 1fr;
    gap: 1.5rem;
    align-items: start;
}
.mpl-cb-product-detail-media {
    border: 1px solid var(--mpl-cb-line);
    border-radius: 14px;
    overflow: hidden;
    background: var(--mpl-cb-surface);
}
.mpl-cb-product-detail-media img {
    width: 100%;
    display: block;
    object-fit: cover;
}
.mpl-cb-product-desc {
    color: var(--mpl-cb-muted);
    margin-bottom: 1rem;
}
.mpl-cb-info-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 0.65rem;
    margin-bottom: 1rem;
}
.mpl-cb-info-grid span {
    display: block;
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--mpl-cb-muted);
}
.mpl-cb-info-grid strong { font-size: 0.92rem; }
.mpl-cb-variant-table thead th {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: var(--mpl-cb-muted);
    border-bottom-color: var(--mpl-cb-line);
}
.mpl-cb-footer {
    background:
        radial-gradient(circle at top right, color-mix(in srgb, #fff 18%, transparent), transparent 42%),
        linear-gradient(145deg, color-mix(in srgb, var(--mpl-cb-primary) 88%, #061428), var(--mpl-cb-primary));
    color: #fff;
    margin-top: auto;
}
.mpl-cb-footer-inner {
    max-width: 1100px;
    margin: 0 auto;
    padding: 1.75rem 1.25rem 1.5rem;
    display: grid;
    gap: 1.35rem;
}
.mpl-cb-footer-top {
    display: flex;
    flex-wrap: wrap;
    gap: 1.25rem 1.75rem;
    justify-content: space-between;
    align-items: flex-start;
}
.mpl-cb-footer-brand {
    display: flex;
    gap: 0.9rem;
    align-items: flex-start;
    min-width: min(100%, 280px);
    flex: 1 1 320px;
}
.mpl-cb-footer-eyebrow {
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    opacity: 0.78;
}
.mpl-cb-footer-title {
    margin: 0.2rem 0 0.35rem;
    font-size: clamp(1.15rem, 2.4vw, 1.55rem);
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1.2;
}
.mpl-cb-footer-lead {
    max-width: 36rem;
    color: rgba(255, 255, 255, 0.82);
    font-size: 0.9rem;
    line-height: 1.45;
}
.mpl-cb-footer-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    align-items: center;
}
.mpl-cb-footer-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.55rem 0.95rem;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.28);
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
    font-size: 0.88rem;
    font-weight: 700;
    text-decoration: none;
    transition: background 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
}
.mpl-cb-footer-btn:hover,
.mpl-cb-footer-btn:focus-visible {
    color: #fff;
    background: rgba(255, 255, 255, 0.16);
    border-color: rgba(255, 255, 255, 0.45);
    transform: translateY(-1px);
}
.mpl-cb-footer-btn--solid {
    background: #fff;
    border-color: #fff;
    color: var(--mpl-cb-primary);
}
.mpl-cb-footer-btn--solid:hover,
.mpl-cb-footer-btn--solid:focus-visible {
    color: var(--mpl-cb-primary);
    background: #f3f7fc;
    border-color: #f3f7fc;
}
.mpl-cb-footer-btn--whatsapp {
    background: #1f9d55;
    border-color: #1f9d55;
}
.mpl-cb-footer-btn--whatsapp:hover,
.mpl-cb-footer-btn--whatsapp:focus-visible {
    background: #188a49;
    border-color: #188a49;
}
.mpl-cb-footer-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.75rem;
}
.mpl-cb-footer-card {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    min-height: 100%;
    padding: 0.9rem 0.95rem;
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    background: rgba(255, 255, 255, 0.08);
    color: inherit;
    text-decoration: none;
    transition: background 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
}
a.mpl-cb-footer-card:hover,
a.mpl-cb-footer-card:focus-visible {
    color: #fff;
    background: rgba(255, 255, 255, 0.14);
    border-color: rgba(255, 255, 255, 0.32);
    transform: translateY(-1px);
}
.mpl-cb-footer-card-icon {
    width: 2.25rem;
    height: 2.25rem;
    flex: 0 0 2.25rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.14);
    font-size: 1.05rem;
}
.mpl-cb-footer-card-copy {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}
.mpl-cb-footer-card-label {
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    opacity: 0.72;
}
.mpl-cb-footer-card-value {
    font-size: 0.92rem;
    font-weight: 700;
    line-height: 1.35;
    word-break: break-word;
}
@media (max-width: 991.98px) {
    .mpl-cb-footer-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 767.98px) {
    .mpl-cb-product-detail {
        grid-template-columns: 1fr;
    }
    .mpl-cb-stats { width: 100%; justify-content: space-around; }
    .mpl-cb-footer-inner {
        padding: 1.35rem 1rem 1.25rem;
    }
    .mpl-cb-footer-grid {
        grid-template-columns: 1fr;
    }
    .mpl-cb-footer-actions {
        width: 100%;
    }
    .mpl-cb-footer-btn {
        flex: 1 1 auto;
        justify-content: center;
    }
}

.mpl-cb-back-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    margin-bottom: 1rem;
    padding: 0.45rem 0.85rem;
    border-radius: 999px;
    border: 1px solid var(--mpl-cb-line, #d9e2ef);
    background: #fff;
    color: var(--mpl-cb-primary, #0B3A6E);
    font-weight: 600;
    font-size: 0.9rem;
    text-decoration: none;
    transition: background 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
}
.mpl-cb-back-btn:hover {
    color: var(--mpl-cb-primary, #0B3A6E);
    background: #eaf0f8;
    border-color: color-mix(in srgb, var(--mpl-cb-primary, #0B3A6E) 35%, #d9e2ef);
    transform: translateX(-1px);
}
.mpl-cb-back-btn--solid {
    background: var(--mpl-cb-primary, #0B3A6E);
    border-color: var(--mpl-cb-primary, #0B3A6E);
    color: #fff;
}
.mpl-cb-back-btn--solid:hover {
    color: #fff;
    filter: brightness(0.95);
    background: var(--mpl-cb-primary, #0B3A6E);
}
.mpl-cb-back-btn--ghost {
    background: transparent;
}
.mpl-cb-detail-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 1.5rem;
    padding-top: 1rem;
    border-top: 1px solid var(--mpl-cb-line, #d9e2ef);
}
.mpl-cb-product-body h2.h3 {
    font-size: 1rem;
    font-weight: 700;
    margin: 0 0 0.35rem;
}

/* Category Browse Detail (premium) */
.mpl-cbd-media {
    position: relative;
}
.mpl-cbd-sku-badge {
    position: absolute;
    top: 0.65rem;
    left: 0.65rem;
    z-index: 2;
    max-width: calc(100% - 1.3rem);
    padding: 0.28rem 0.55rem;
    border-radius: 8px;
    background: color-mix(in srgb, var(--mpl-cb-primary, #0B3A6E) 92%, #000);
    color: #fff;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    box-shadow: 0 4px 12px rgba(11, 58, 110, 0.25);
}
.mpl-cbd-media--detail {
    overflow: hidden;
}
.mpl-cbd-gallery {
    width: 100%;
}
.mpl-cbd-gallery-track {
    display: flex;
    gap: 0;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
}
.mpl-cbd-gallery-slide {
    flex: 0 0 100%;
    margin: 0;
    padding: 0;
    scroll-snap-align: start;
    background: var(--mpl-cb-surface, #f5f8fc);
    line-height: 0;
}
.mpl-cbd-gallery-slide img {
    width: 100%;
    height: 100%;
    display: block;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    object-position: top center;
    vertical-align: top;
}
.mpl-cbd-product-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.25rem;
    align-items: stretch;
}
.mpl-design-category-browse .mpl-cb-header-inner,
.mpl-design-category-browse .mpl-cb-main,
.mpl-design-category-browse .mpl-cb-footer-inner,
.mpl-design-category-browse .mpl-cb-lead,
.mpl-design-category-browse-detail .mpl-cb-header-inner,
.mpl-design-category-browse-detail .mpl-cb-main,
.mpl-design-category-browse-detail .mpl-cb-footer-inner,
.mpl-design-category-browse-detail .mpl-cb-lead {
    max-width: 1400px;
}
.mpl-cbd-product-block {
    display: grid;
    grid-template-columns: minmax(220px, 360px) 1fr;
    gap: 1.5rem;
    align-items: start;
    padding: 1.15rem;
    border: 1px solid var(--mpl-cb-line, #d9e2ef);
    border-radius: 16px;
    background: #fff;
    min-width: 0;
}
.mpl-cbd-product-list .mpl-cbd-product-block {
    display: flex;
    flex-direction: column;
    gap: 0;
    height: 100%;
    padding: 0;
    overflow: hidden;
}
.mpl-cbd-product-list .mpl-cbd-media--detail,
.mpl-cbd-product-list .mpl-cb-product-detail-media {
    width: 100%;
    border: 0;
    border-radius: 0;
    background: var(--mpl-cb-surface, #f5f8fc);
}
.mpl-cbd-product-list .mpl-cb-product-detail-body {
    padding: 0.85rem 1rem 1.05rem;
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}
.mpl-cbd-product-list .mpl-cb-section-title {
    font-size: 1.05rem;
}
.mpl-cbd-product-list .mpl-cb-chips {
    margin-bottom: 0.65rem !important;
}
.mpl-cbd-product-footer {
    margin-top: auto;
    padding-top: 0.65rem;
}
.mpl-cbd-kv-list {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    margin-bottom: 0.75rem;
}
.mpl-cbd-kv-row {
    display: flex;
    align-items: baseline;
    width: 100%;
    gap: 0.5rem;
}
.mpl-cbd-kv-key {
    flex: 0 0 50%;
    max-width: 50%;
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--mpl-cb-muted, #66788f);
    line-height: 1.35;
}
.mpl-cbd-kv-value {
    flex: 0 0 calc(50% - 0.5rem);
    max-width: calc(50% - 0.5rem);
    font-size: 0.92rem;
    font-weight: 700;
    color: var(--mpl-cb-ink, #122033);
    line-height: 1.35;
    word-break: break-word;
}
.mpl-cbd-single-rate {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.75rem;
    border-top: 1px solid var(--mpl-cb-line, #d9e2ef);
}
.mpl-cbd-single-rate-label {
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--mpl-cb-muted, #66788f);
    font-weight: 600;
}
.mpl-cbd-single-rate-value {
    font-weight: 700;
    color: var(--mpl-cb-primary, #0B3A6E);
    text-align: right;
}
.mpl-cbd-product-block .mpl-cb-product-detail-media {
    margin: 0;
}
.mpl-cbd-product-block .mpl-cb-product-detail-body {
    min-width: 0;
    width: 100%;
}
.mpl-cbd-product-block .table-responsive {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    max-width: 100%;
    overscroll-behavior-x: contain;
}
.mpl-cbd-product-block .mpl-cb-variant-table {
    width: max-content;
    min-width: 100%;
    margin-bottom: 0;
}
.mpl-cbd-product-block .mpl-cb-variant-table th,
.mpl-cbd-product-block .mpl-cb-variant-table td {
    white-space: nowrap;
}
.mpl-cbd-product-block:not(.is-expanded) .mpl-cbd-variant-extra {
    display: none;
}
.mpl-cbd-product-block.is-expanded .mpl-cbd-view-more-row {
    display: none;
}
.mpl-cbd-view-more-row td {
    border-bottom: 0;
    padding-top: 0.85rem;
    padding-bottom: 0.35rem;
    text-align: center;
    white-space: normal !important;
}
.mpl-cbd-view-more {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.45rem 1rem;
    border-radius: 999px;
    border: 1px solid color-mix(in srgb, var(--mpl-cb-primary, #0B3A6E) 35%, #d9e2ef);
    background: #eaf0f8;
    color: var(--mpl-cb-primary, #0B3A6E);
    font-size: 0.88rem;
    font-weight: 700;
    cursor: pointer;
    transition: background 0.15s ease, transform 0.15s ease;
}
.mpl-cbd-view-more:hover {
    background: color-mix(in srgb, var(--mpl-cb-primary, #0B3A6E) 12%, #eaf0f8);
    transform: translateY(-1px);
}
.mpl-cbd-view-more-count {
    font-weight: 600;
    opacity: 0.75;
    font-size: 0.8rem;
}
@media (min-width: 768px) {
    .mpl-cbd-product-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (min-width: 1200px) {
    .mpl-cbd-product-list {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}
@media (max-width: 767.98px) {
    .mpl-design-category-browse-detail .mpl-cb-product-detail,
    .mpl-cbd-product-block {
        grid-template-columns: 1fr;
    }
}
