/* Base responsive unificada de Marken.
 * Se aplica solamente a las pantallas que ya usan el flujo mobile-first. */

/* Identidad tipografica global. Se excluyen las clases de iconos para que
 * Font Awesome y Bootstrap Icons conserven sus respectivas fuentes. */
html[data-theme] body,
html[data-theme] body *:not(i):not(.fa):not(.fas):not(.far):not(.fab):not(.fa-solid):not(.fa-regular):not(.fa-brands):not(.bi) {
    font-family: "Montserrat", Arial, sans-serif !important;
}

/* Acciones del header: iconos planos, sin el contorno circular anterior. */
.tm_header .burger,
.tm_header .header-action {
    border: 0 !important;
    border-radius: 0 !important;
    background-color: transparent !important;
    font-size: 20px !important;
}

.tm_header .burger:hover,
.tm_header .header-action:hover {
    color: var(--mk-ink) !important;
    background-color: var(--mk-soft) !important;
    box-shadow: inset 0 -2px 0 currentColor;
}

html[data-theme="dark"] .tm_header .burger,
html[data-theme="dark"] .tm_header .header-action {
    color: var(--theme-text) !important;
    background-color: transparent !important;
}

html[data-theme="dark"] .tm_header .burger:hover,
html[data-theme="dark"] .tm_header .header-action:hover {
    background-color: rgba(255, 255, 255, .08) !important;
}

body.marken-responsive {
    min-width: 0;
    overflow-x: clip;
}

body.marken-responsive .container-fluid,
body.marken-responsive .side-body {
    min-width: 0;
}

body.marken-responsive-checkout #cuerpo,
body.marken-responsive-finish #cuerpo {
    width: min(760px, calc(100% - 32px)) !important;
}

body.account-page-body.marken-responsive-access #cuerpo {
    width: min(620px, calc(100% - 36px)) !important;
}

body.access-minimal-body.marken-responsive-access #cuerpo {
    width: min(620px, calc(100% - 28px)) !important;
}

body.marken-responsive-access #cuerpo {
    width: min(620px, calc(100% - 28px)) !important;
}

body.marken-responsive-content #cuerpo {
    width: min(1000px, calc(100% - 40px)) !important;
}

body.marken-responsive-consult #cuerpo {
    width: min(760px, calc(100% - 28px)) !important;
}

body.marken-responsive-categories #cuerpo.categories-page,
body.marken-responsive-brands #cuerpo,
body.marken-responsive-purchases #cuerpo,
body.marken-responsive-purchase-detail #cuerpo {
    width: min(1120px, calc(100% - 40px)) !important;
}

body.marken-responsive-finish #cuerpo {
    box-sizing: border-box;
    margin: 34px auto 70px !important;
    padding: 28px !important;
    border: 1px solid #e3e6ea;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 18px 48px rgba(17, 24, 39, .08);
}

body.marken-responsive-finish #cartFinish {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0 10px;
    color: #252932;
    font-family: "Montserrat", sans-serif;
}

body.marken-responsive-finish #cartFinish td {
    padding: 14px;
}

body.marken-responsive-finish #cartFinish .obs img {
    width: 62px;
    height: 62px;
    object-fit: contain;
}

html[data-theme="dark"] body.marken-responsive-finish #cuerpo {
    color: #edf0f4;
    border-color: #303743;
    background: #181c22;
    box-shadow: none;
}

html[data-theme="dark"] body.marken-responsive-finish #cartFinish {
    color: #edf0f4;
}

@media (min-width: 769px) {
    body.marken-responsive #cuerpo {
        width: min(1280px, calc(100% - 48px)) !important;
        margin-right: auto !important;
        margin-left: auto !important;
    }

    body.marken-responsive-home #cuerpo {
        padding-top: 14px;
    }

    body.marken-responsive-home .marken-mobile-products {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 18px;
    }

    body.marken-responsive-home .marken-mobile-carousel {
        --swiffy-slider-item-count: 4;
        --swiffy-slider-item-gap: 18px;
    }

    body.marken-responsive-home #cuerpo .marken-mobile-products li.pitem {
        height: 390px !important;
    }

    body.marken-responsive-home .marken-mobile-products li.pitem .item .marco {
        height: 220px;
    }

    body.marken-responsive-home .marken-mobile-list-heading {
        margin-top: 28px;
    }

    body.marken-responsive-products #grp_pitems {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 18px;
    }

    body.marken-responsive-products #grp_pitems li.pitem {
        height: 405px !important;
    }

    body.marken-responsive-products #grp_pitems li.pitem .marco {
        height: 225px !important;
    }

    body.marken-responsive-products .cart-container {
        right: 24px;
        bottom: 24px;
        left: auto;
        width: min(430px, calc(100% - 48px));
    }

    body.marken-responsive-cart #cuerpo {
        width: min(1000px, calc(100% - 48px)) !important;
        margin-top: 34px !important;
    }

    body.marken-responsive-cart #cartDlle .fileItem tr:nth-child(2) {
        grid-template-columns: 140px 180px minmax(180px, 1fr);
        padding: 10px 24px 20px;
    }

    body.marken-responsive-cart #cartDlle .ft {
        width: 112px;
        height: 122px;
    }

    body.marken-responsive-cart #cartDlle .cellItemInfo {
        padding: 20px 26px 12px;
    }

    body.marken-responsive-brands #cuerpo.marken-mobile-page {
        max-width: 1120px;
    }

    body.marken-responsive-brands ul.marken-brands-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 14px;
        max-height: none;
        overflow: visible;
        padding-right: 0 !important;
    }
}

@media (min-width: 1120px) {
    body.marken-responsive-products #grp_pitems {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (min-width: 769px) and (max-width: 1020px) {
    body.marken-responsive-home .marken-mobile-products {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    body.marken-responsive-home .marken-mobile-carousel {
        --swiffy-slider-item-count: 3;
    }

    body.marken-responsive-brands ul.marken-brands-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {
    body.marken-responsive-finish #cuerpo {
        margin: 20px auto 48px !important;
        padding: 20px 14px !important;
        border-radius: 17px;
    }
}
