
:root {--shop-red:#F591A5;--shop-red-dark:#dd748c;--shop-green:#7b3d50;--shop-blue:#fff;--shop-text:#482c35;--primary:#F591A5;--accent:#F591A5}
.milat-header-band { width: 100%; background: var(--shop-blue, #fff); }
.shop-body{background:#fff9fa;color:#482c35}.shop-redbar,.shop-redbar-inner{background:#F591A5!important;color:#482c35!important}.shop-redbar a,.shop-redbar button{color:#482c35!important}
.shop-main .brand-tabs{display:flex;gap:10px;padding:12px 0;overflow-x:auto;align-items:stretch}
.shop-main .brand-tabs a,.shop-main .brand-tabs a.brand-tab-logo{display:flex!important;flex-direction:row!important;align-items:center!important;gap:8px!important;width:auto!important;min-width:max-content!important;height:auto!important;min-height:60px!important;padding:10px 15px!important;border:1px solid #efd8df!important;border-radius:12px!important;background:#fff!important;color:#512b36!important;font-size:13px!important;font-weight:700!important;white-space:nowrap}
.shop-main .brand-tabs a.active{background:#F591A5!important;border-color:#F591A5!important}.shop-main .brand-tabs .brand-logo-box{width:32px!important;height:36px!important;background:transparent!important;display:inline-flex!important;flex:none!important;padding:0!important}.shop-main .brand-tabs .brand-logo-box img{width:32px!important;height:36px!important;max-width:32px!important;object-fit:contain!important}
.shop-main .brand-tabs a:hover{background:#ffe6ec!important}.shop-main .add-cart-row button,.shop-main .plus-icon{background:#F591A5!important;color:#482c35!important}.milat-demo-note{font-size:12px;padding:10px 14px;background:#fff0f3;border:1px solid #f5d4dc;border-radius:8px;margin:12px 0;color:#70404f}.milat-product-link{color:inherit;text-decoration:none}.milat-product-link:hover{text-decoration:underline}.shop-main .product-content h2{min-height:42px}.shop-logo img{object-fit:contain!important}.new-product-corner-badge{display:none!important}
.milat-detail{max-width:1120px;margin:30px auto;padding:24px;background:white;border-radius:18px;border:1px solid #f3dce2}.milat-detail-top{display:grid;grid-template-columns:1fr 1fr;gap:32px}.milat-detail h1{font-size:26px;line-height:1.35}.milat-detail-main-image{width:100%;height:350px;object-fit:contain}.milat-gallery{display:flex;gap:10px;flex-wrap:wrap}.milat-gallery img{width:90px;height:90px;object-fit:contain;border:1px solid #efd8df;border-radius:10px}.milat-source-content{line-height:1.7;overflow-wrap:anywhere;margin-top:28px}.milat-source-content img{max-width:100%;height:auto}.milat-source-content table{max-width:100%;border-collapse:collapse}.milat-source-content td{border:1px solid #edd6dd;padding:6px}.milat-detail-price{font-size:30px;font-weight:800;color:#7b3d50}.milat-back{display:inline-block;color:#512b36;margin-bottom:20px}.milat-variant-link{display:inline-block;padding:9px 12px;margin:5px;border:1px solid #efd8df;border-radius:8px;color:#512b36}.milat-variant-link.active{background:#F591A5}.milat-detail form{display:flex;gap:10px;margin:20px 0}.milat-detail input{width:80px;padding:12px;border:1px solid #efd8df;border-radius:8px}.milat-detail button{background:#F591A5;border:0;border-radius:8px;padding:12px 20px;color:#482c35;font-weight:700;cursor:pointer}
@media(max-width:700px){.milat-detail{margin:12px;padding:18px}.milat-detail-top{grid-template-columns:1fr}.milat-detail-main-image{height:260px}.milat-detail h1{font-size:22px}.milat-source-content{overflow-x:auto}.shop-main .brand-tabs a{font-size:12px!important;padding:8px 12px!important}}

.customer-login-body{background:#fff0f3!important}.customer-login-form button{background:#F591A5!important;color:#482c35!important}.customer-login-card{border:1px solid #efced8}
.premium-shop-header .shop-logo img{width:170px!important;height:100px!important;max-height:100px!important;object-fit:contain!important}.premium-shop-header .shop-search button{background:#F591A5!important;color:#482c35!important}.ticker{color:#7b3d50!important}.announcement-row,.announcement-row-inner,.announcement-row-left,.announcement-row .ticker{height:48px!important;min-height:48px!important}.announcement-row{border-bottom:1px solid #f4dce3!important}.shop-product-card .product-image-box img{object-fit:contain!important}
@media(max-width:700px){.premium-shop-header .shop-logo img{width:120px!important;height:64px!important;max-height:64px!important}.announcement-row,.announcement-row-inner,.announcement-row-left,.announcement-row .ticker{height:40px!important;min-height:40px!important}}
.shop-main .product-grid.is-table .product-meta-price-row{grid-template-columns:minmax(0,1fr);gap:6px}.shop-main .product-grid.is-table .product-code-row span{background:#fff0f3;padding:0 7px}.shop-main .product-grid.is-table .product-code-row small{flex-shrink:0}.shop-main .product-grid.is-table .product-price-cell{display:flex;align-items:center;justify-content:space-between;min-height:48px;background:#fff5f7}.shop-main .product-grid.is-table .product-price-cell .price-label{max-width:65px;text-align:left;white-space:normal}

/* Match the card row to the actual image box at every breakpoint. */
.shop-main .product-grid.is-table .shop-product-card {
    grid-template-rows: auto auto auto auto;
    align-content: start;
}
.shop-main .product-grid.is-table .product-image-box {
    width: 100%;
    height: clamp(180px, 18vw, 240px) !important;
    min-height: 0 !important;
    padding: 6px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.shop-main .product-grid.is-table .product-image-box > img {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
}
.shop-main .product-grid.is-table .product-content h2 { min-height: 2lh; }
@media (max-width: 720px) {
    .shop-main .product-grid.is-table .product-image-box {
        height: clamp(240px, 64vw, 280px) !important;
    }
}

/* Responsive catalog: let content fit the viewport instead of shrinking a desktop grid. */
.shop-main .product-grid.is-table { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.shop-main .product-grid.is-table .shop-product-card { min-width: 0; }
.shop-main .shop-product-card .add-cart-row button {
    font-family: inherit !important;
    font-weight: 500 !important;
    font-size: 13px !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}
.premium-shop-header .quick-tile, .premium-shop-header .cart-summary-button {
    border: 1px solid #efd6de; border-radius: 12px; box-shadow: none;
    transition: background .15s ease, border-color .15s ease;
}
.premium-shop-header .logout-tile { background: #fff; }
.premium-shop-header .orders-tile { background: #fff7f9; }
.premium-shop-header .cart-summary-button { background: #f591a5; border-color: #f591a5; }
.premium-shop-header .quick-tile:hover { background: #fce9ef; border-color: #e5b4c3; }
.premium-shop-header .cart-summary-button:hover { background: #f7a5b7; }
.premium-shop-header .quick-tile b, .premium-shop-header .quick-tile small,
.premium-shop-header .cart-summary-button b, .premium-shop-header .cart-summary-button small,
.premium-shop-header .cart-summary-button strong { color: #633344; font-weight: 500; }
.premium-shop-header .cart-summary-button strong { font-weight: 600; }
.premium-shop-header .tile-img { width: 23px; height: 23px; filter: none; opacity: 1; }
.premium-shop-header .cart-img { width: 30px; height: 30px; flex-basis: 30px; filter: none; opacity: 1; }
@media (min-width: 641px) and (max-width: 1399px) {
    .shop-body .premium-shop-header {
        width: 100%; max-width: 100% !important;
        grid-template-columns: 140px minmax(0, 1fr) !important;
        gap: 12px 24px !important; padding: 14px 20px !important;
    }
    .premium-shop-header .shop-mobile-brand { display: flex; min-width: 0; }
    .premium-shop-header .shop-logo img { width: 130px !important; height: 78px !important; max-height: 78px !important; }
    .premium-shop-header .shop-mobile-actions, .premium-shop-header .mobile-header-menu { display: none !important; }
    .premium-shop-header .shop-search-wrap { width: 100%; max-width: none; min-width: 0; }
    .premium-shop-header .shop-search { width: 100%; height: 46px; grid-template-columns: minmax(0, 1fr) 80px; }
    .premium-shop-header .shop-search input { min-width: 0; padding: 0 16px; font-size: 15px; }
    .premium-shop-header .shop-user-nav { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1fr) 90px 90px minmax(160px, 1fr); gap: 10px; }
    .premium-shop-header .shop-user-nav > a { width: 100%; min-width: 0; height: 60px; }
    .premium-shop-header .account-pill span { min-width: 0; overflow-wrap: anywhere; }
    .shop-body .shop-redbar { display: block; padding: 0; }
    .shop-body .shop-redbar-inner { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; padding: 8px 20px; min-height: 56px; width: 100%; }
    .shop-redbar-inner > a, .shop-redbar-inner > button, .shop-redbar-inner .redbar-dropdown-button { min-height: 42px; height: auto !important; padding: 8px 0; font-size: 12px; }
    .shop-redbar-inner .redbar-layout-switch { margin-left: auto !important; margin-right: 0 !important; }
    .shop-redbar-inner .catalog-view-switch a { min-height: 40px; }
    .shop-redbar-inner .whatsapp-support-button { min-height: 40px; font-size: 12px; }
    .shop-body .shop-main { padding: 0 16px 60px; min-width: 0; }
    .shop-main .brand-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; overflow: visible; padding: 10px; }
    .shop-main .brand-tabs a, .shop-main .brand-tabs a.brand-tab-logo { min-width: 0 !important; width: 100% !important; white-space: normal; justify-content: center; padding: 10px 8px !important; min-height: 56px !important; font-size: 13px !important; }
    .shop-main .product-grid.is-table { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
    .shop-main .product-grid.is-table .shop-product-card { border-radius: 10px; padding: 8px 8px 12px; min-height: 0; grid-template-rows: auto minmax(72px, 1fr) auto auto; }
    .shop-main .product-grid.is-table .product-image-box { height: 210px !important; padding: 4px !important; }
    .shop-main .product-grid.is-table .product-content { padding: 12px 4px; }
    .shop-main .product-grid.is-table .product-content h2 { font-size: 15px !important; line-height: 1.35; font-weight: 500; }
    .shop-main .product-grid.is-table .add-cart-row { grid-template-columns: 52px minmax(0, 1fr); gap: 8px; }
    .shop-main .product-grid.is-table .add-cart-row input, .shop-main .product-grid.is-table .add-cart-row button { height: 44px; min-height: 44px; width: 100%; }
    .shop-main .product-grid.is-list .product-list-head { display: none !important; }
    .shop-main .product-grid.is-list .shop-product-card { grid-template-columns: 100px minmax(0, 1fr) 160px !important; gap: 10px 16px; padding: 16px; }
    .shop-main .product-grid.is-list .product-image-box { grid-column: 1; grid-row: 1 / 5; width: 100px !important; height: 130px !important; }
    .shop-main .product-grid.is-list .product-name-col { grid-column: 2; grid-row: 1; }
    .shop-main .product-grid.is-list .product-code-col { grid-column: 2; grid-row: 2; }
    .shop-main .product-grid.is-list .product-oem-col { grid-column: 2; grid-row: 3; }
    .shop-main .product-grid.is-list .product-compatible-col { grid-column: 2; grid-row: 4; }
    .shop-main .product-grid.is-list .product-price-cell { grid-column: 3 !important; grid-row: 1 / 3; }
    .shop-main .product-grid.is-list .product-price-cell .price-popover { left: auto !important; right: 0 !important; transform: none !important; }
    .shop-main .product-grid.is-list .shop-product-card .add-cart-row { display: grid !important; grid-column: 3 !important; grid-row: 3 / 5; grid-template-columns: 48px minmax(0, 1fr) !important; }
    .shop-main .product-grid.is-list .shop-product-card .add-cart-row input, .shop-main .product-grid.is-list .shop-product-card .add-cart-row button { grid-column: auto !important; width: 100% !important; min-height: 44px; height: 44px; }
}
@media (min-width: 641px) and (max-width: 900px) {
    .shop-main .product-grid.is-table { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .shop-redbar-inner .redbar-layout-switch { margin-left: 0 !important; }
}
@media (min-width: 641px) and (max-width: 740px) {
    .shop-main .product-grid.is-table { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
    .shop-main .product-grid.is-table { grid-template-columns: minmax(0, 1fr); }
}
/* Product gallery: arrows and touch navigation share the same image index. */
.shop-body .shop-main { padding-inline: 16px; }
.shop-main .brand-tabs {
    position: sticky;
    top: 0;
    z-index: 400;
    padding: 12px;
    background: #fff;
    box-shadow: 0 4px 12px rgba(81, 43, 54, .06);
    scroll-padding-inline: 12px;
}
.shop-main .product-grid.is-list .product-list-head {
    top: var(--catalog-category-height, 86px);
}
@media (max-width: 640px) {
    .shop-body .shop-main { padding-inline: 12px; }
    .shop-main .brand-tabs { padding: 8px; }
}

.catalog-lightbox-stage { position: relative; min-height: 0; touch-action: pan-y pinch-zoom; }
.catalog-lightbox-stage img { display: block; height: min(62vh, 620px); user-select: none; }
.catalog-lightbox .catalog-lightbox-arrow { position: absolute; top: 50%; transform: translateY(-50%); display: grid; place-items: center; width: 44px; height: 44px; padding: 10px; border: 1px solid #efc4cf; border-radius: 50%; background: #fff5f8; color: #633344; cursor: pointer; }
.catalog-lightbox .catalog-lightbox-arrow[hidden], .catalog-lightbox-counter[hidden] { display: none; }
.catalog-lightbox-arrow.is-prev { left: 4px; }
.catalog-lightbox-arrow.is-next { right: 4px; }
.catalog-lightbox-arrow svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.catalog-lightbox .catalog-lightbox-arrow:hover { background: #f591a5; }
.catalog-lightbox button:focus-visible { outline: 3px solid #b94765; outline-offset: 3px; }
.catalog-lightbox-counter { justify-self: center; font-size: 13px; color: #7b3d50; background: #fff0f4; border-radius: 20px; padding: 4px 12px; }
.catalog-lightbox .catalog-lightbox-close { z-index: 2; }

/* Share extra row height through the name area so all purchase fields line up. */
.shop-main .product-grid.is-table .shop-product-card {
    grid-template-rows: auto 1fr auto auto;
    align-content: stretch;
}
