/* Magiclogs product catalogue – compact list layout inspired by the supplied reference.
   Scoped to the catalogue pages; does not change other pages or checkout logic. */
.ml-catalog-shell {--ml-catalog-red: #c8102e; --ml-catalog-red-deep: #a80b26; --ml-catalog-line: #e8ebf0; --ml-catalog-muted: #848b98; background: #f5f7fb;}
.ml-catalog-shell .ml-dashboard-header {background: #fff; box-shadow: 0 2px 8px rgba(20,31,55,.035); border-bottom-color: #edf0f5;}
.ml-catalog-shell .ml-dashboard-header__inner {min-height: 64px;}
.ml-catalog-shell .ml-dashboard-main {padding: 28px 18px 40px;}
.ml-catalog-shell .ml-dashboard-brand {display: inline-flex;}
.ml-catalog-brand-mark {width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center; color: #fff; border-radius: 9px; background: var(--ml-catalog-red); font-size: 16px; box-shadow: 0 2px 7px rgba(200,16,46,.16);}
.ml-catalog-shell .ml-dashboard-balance {color: var(--ml-catalog-red); background: #fff4f6; border: 1px solid #f7d4dc;}
.ml-catalog-header-login {display: inline-flex; align-items: center; gap: 8px; border-radius: 8px; border: 1px solid #f3cdd6; padding: 8px 13px; background: #fff4f6; color: var(--ml-catalog-red) !important; font-size: 12px; font-weight: 800;}
.ml-catalog-header-login:hover {background: var(--ml-catalog-red); color: #fff !important;}
.ml-catalog-shell .ml-dashboard-sidebar__group a.is-active {background: #fff0f3; color: #b40c2d;}
.ml-catalog-shell .ml-dashboard-sidebar__group a.is-active i {color: #b40c2d;}
.ml-catalog-container {width: min(100%, 990px); margin: 0 auto;}
.ml-catalog-page-head {margin: 1px 0 19px;}
.ml-catalog-page-head h1 {margin: 0; font-weight: 900; font-size: clamp(22px,2.2vw,26px); line-height: 1.3; letter-spacing: -.04em; color: #192131;}
.ml-catalog-page-head--category {margin-bottom: 17px;}
.ml-catalog-back {display: inline-flex; align-items: center; gap: 7px; margin-bottom: 10px; color: var(--ml-catalog-red) !important; font-size: 12px; font-weight: 750;}
.ml-catalog-back:hover {color: var(--ml-catalog-red-deep) !important;}
.ml-catalog-search {min-height: 48px; display: flex; align-items: center; gap: 12px; padding: 5px 5px 5px 15px; border: 1px solid #e4e8ed; border-radius: 12px; background: #fff; margin: 0 0 15px;}
.ml-catalog-search > i {font-size: 15px; color: #9098a6; flex-shrink: 0;}
.ml-catalog-search input {width: 100%; min-width: 0; flex: 1; border: 0 !important; background: transparent !important; box-shadow: none !important; outline: 0 !important; padding: 6px 0; color: #202838; font-size: 14px; height: auto !important;}
.ml-catalog-search input::placeholder {color: #a6acb7;}
.ml-catalog-search button {height: 35px; width: 35px; border: none; border-radius: 8px; background: #fff1f4; color: var(--ml-catalog-red); cursor: pointer; flex-shrink: 0; font-size: 12px;}
.ml-catalog-search button:hover {background: var(--ml-catalog-red); color: #fff;}
.ml-catalog-categories {display: flex; align-items: center; flex-wrap: nowrap; gap: 9px; width: 100%; padding: 1px 0 9px; margin: 0 0 12px; overflow-x: auto; scrollbar-width: thin; scrollbar-color: #d5b7bf transparent; overscroll-behavior-x: contain;}
.ml-catalog-pill {display: inline-flex; align-items: center; gap: 7px; flex-shrink: 0; white-space: nowrap; background: #fff; color: #535b6a !important; padding: 9px 13px; min-height: 36px; border: 1px solid #e4e8ed; border-radius: 99px; font-size: 12px; font-weight: 780; line-height: 1;}
.ml-catalog-pill i {font-size: 14px; color: var(--ml-catalog-red);}
.ml-catalog-pill:hover {background: #fff7f9; border-color: #efc2cd; color: var(--ml-catalog-red) !important;}
.ml-catalog-pill.is-active {background: var(--ml-catalog-red); border-color: var(--ml-catalog-red); color: #fff !important; box-shadow: 0 2px 6px rgba(200,16,46,.12);}
.ml-catalog-pill.is-active i {color: #fff;}
.ml-catalog-category {margin: 16px 0 26px; scroll-margin-top: 82px;}
.ml-catalog-category-head {min-height: 36px; margin: 0 1px 9px; display: flex; justify-content: space-between; align-items: center; gap: 12px;}
.ml-catalog-category-head h2 {display: flex; align-items: center; gap: 10px; margin: 0; min-width: 0; color: #202636; font-size: 15px; font-weight: 900; text-transform: uppercase; line-height: 1.25; overflow-wrap: anywhere;}
.ml-catalog-category-symbol {width: 30px; height: 30px; flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; background: var(--ml-catalog-red); color: #fff; border-radius: 8px; font-size: 16px;}
.ml-catalog-category-head > a {white-space: nowrap; color: var(--ml-catalog-red) !important; font-size: 12px; font-weight: 780;}
.ml-catalog-category-head > a:hover {color: var(--ml-catalog-red-deep) !important;}
.ml-catalog-product-list {background: #fff; border: 1px solid #e3e7ec; border-radius: 14px; overflow: hidden; box-shadow: 0 2px 9px rgba(21,35,53,.035);}
.ml-catalog-product-row {display: flex; align-items: center; min-height: 80px; gap: 14px; padding: 11px 18px; background: #fff;}
.ml-catalog-product-row + .ml-catalog-product-row {border-top: 1px solid #edf0f3;}
.ml-catalog-product-thumb {width: 50px; height: 50px; flex-shrink: 0; display: grid; place-items: center; background: #f8f3f4; border-radius: 10px; overflow: hidden;}
.ml-catalog-product-thumb img {display: block; width: 100%; height: 100%; object-fit: contain; padding: 4px;}
.ml-catalog-product-info {min-width: 0; flex: 1;}
.ml-catalog-product-info h3 {font-size: 14px; font-weight: 790; line-height: 1.34; margin: 0 0 5px; overflow-wrap: anywhere;}
.ml-catalog-product-info h3 a {color: #222b3b !important;}
.ml-catalog-product-info h3 a:hover {color: var(--ml-catalog-red) !important;}
.ml-catalog-product-stock {display: flex; align-items: center; gap: 6px; margin: 0; color: #777f8d; font-size: 11px; font-weight: 580;}
.ml-catalog-product-stock > span {height: 7px; width: 7px; border-radius: 50%; flex-shrink: 0; background: #ecae35;}
.ml-catalog-product-stock.is-unavailable > span {background: #e9a2b3;}
.ml-catalog-product-action {display: flex; flex-direction: column; align-items: flex-end; justify-content: center; flex-shrink: 0; gap: 6px; min-width: 103px;}
.ml-catalog-product-action strong {color: var(--ml-catalog-red); font-size: 14px; font-weight: 900; white-space: nowrap; line-height: 1.15;}
.ml-catalog-buy {border: 0; border-radius: 6px; padding: 6px 16px; min-width: 54px; background: var(--ml-catalog-red); color: #fff; cursor: pointer; font-weight: 830; line-height: 1.1; font-size: 12px; text-align: center;}
.ml-catalog-buy:hover {background: var(--ml-catalog-red-deep); color: #fff;}
.ml-catalog-product-row.is-soldout .ml-catalog-product-info h3 a {color: #989fac !important;}
.ml-catalog-product-row.is-soldout .ml-catalog-product-action strong {color: #b7a2a7;}
.ml-catalog-soldout {font-size: 11px; font-weight: 770; color: #a7aeb9;}
.ml-catalog-empty {text-align: center; background: #fff; border: 1px solid #e4e8ed; border-radius: 14px; padding: 55px 20px;}
.ml-catalog-product-list .ml-catalog-empty {border: 0;}
.ml-catalog-empty > i {font-size: 37px; color: #e0a8b5; margin-bottom: 14px;}
.ml-catalog-empty h2 {margin: 0 0 7px; font-size: 19px; font-weight: 860; color: #202838;}
.ml-catalog-empty p {margin: 0 auto 20px; color: #858c98; font-size: 13px;}
.ml-catalog-empty a {display: inline-flex; padding: 10px 18px; color: #fff !important; background: var(--ml-catalog-red); border-radius: 8px; font-weight: 780; font-size: 12px;}
.ml-catalog-empty a:hover {background: var(--ml-catalog-red-deep);}
.ml-catalog-pagination {margin: 24px 0 32px; display: flex; justify-content: center;}
.ml-catalog-pagination .pagination {gap: 4px; flex-wrap: wrap;}
.ml-catalog-pagination .page-link {color: var(--ml-catalog-red); border-radius: 7px;}
.ml-catalog-pagination .page-item.active .page-link {background: var(--ml-catalog-red); border-color: var(--ml-catalog-red); color: #fff;}
.ml-catalog-shell #purchaseModal .modal-dialog {max-width: 520px;}
.ml-catalog-shell #purchaseModal .modal-content {background: #fff; border-radius: 14px; overflow: hidden; color: #252b38;}
.ml-catalog-shell #purchaseModal .btn--base {background: var(--ml-catalog-red) !important; border-color: var(--ml-catalog-red) !important; color: #fff !important;}
@media (max-width: 680px) {
    .ml-catalog-shell .ml-dashboard-header__inner {min-height: 59px;}
    .ml-catalog-shell .ml-dashboard-main {padding: 20px 12px 28px;}
    .ml-catalog-page-head {margin-bottom: 14px;}
    .ml-catalog-page-head h1 {font-size: 22px;}
    .ml-catalog-categories {gap: 7px; padding-bottom: 12px;}
    .ml-catalog-pill {font-size: 11px; padding: 8px 11px;}
    .ml-catalog-category {margin-top: 13px; margin-bottom: 20px;}
    .ml-catalog-category-head h2 {font-size: 13px;}
    .ml-catalog-category-head > a {font-size: 11px;}
    .ml-catalog-product-row {padding: 10px 11px; gap: 10px; min-height: 70px;}
    .ml-catalog-product-thumb {width: 41px; height: 41px; border-radius: 9px;}
    .ml-catalog-product-info h3 {font-size: 12px;}
    .ml-catalog-product-action {min-width: 80px; gap: 5px;}
    .ml-catalog-product-action strong {font-size: 12px;}
    .ml-catalog-buy {padding: 6px 12px; font-size: 11px;}
    .ml-catalog-product-stock {font-size: 10px;}
}
@media (max-width: 360px) {
    .ml-catalog-product-info h3 {font-size: 11px;}
    .ml-catalog-product-action {min-width: 68px;}
    .ml-catalog-product-action strong {font-size: 11px;}
    .ml-catalog-buy {min-width: 49px;}
}
