/* Isolated catalogue presentation. The existing theme and product detail assets remain intact. */
.catalog-order-dialog { box-sizing:border-box; width:min(820px,calc(100vw - 32px)); max-width:none; height:min(920px,calc(100dvh - 32px)); max-height:calc(100dvh - 32px); margin:auto; padding:0; border:0; border-radius:24px; background:#fff; color:#22252d; overflow:hidden; box-shadow:0 24px 80px rgba(0,0,0,.18); font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif; }
.catalog-order-dialog[open] { display:flex; flex-direction:column; }
.catalog-order-dialog::backdrop { background:rgba(25,29,35,.57); }
.catalog-order-dialog [hidden] { display:none!important; }
.catalog-order-header { position:relative; display:flex; align-items:center; justify-content:center; flex:0 0 auto; min-height:72px; padding:16px 120px; border:0; background:#fff; }
.catalog-order-header h2 { margin:0; color:#22252d; font-family:inherit; font-size:22px; font-weight:600; line-height:1.4; }
.catalog-order-controls { position:absolute; right:20px; top:14px; display:flex; gap:4px; }
.catalog-order-controls button { border:0; min-height:44px; padding:0 10px; border-radius:8px; background:transparent; color:#515a68; font:inherit; font-size:13px; cursor:pointer; }
.catalog-order-controls button:hover { background:#f1f3f6; color:#1b5cff; }
.catalog-order-controls button:focus-visible,.catalog-order-retry:focus-visible { outline:2px solid #1b5cff; outline-offset:-3px; }
.catalog-order-frame { display:block; flex:1 1 auto; min-height:0; width:100%; border:0; background:#fff; }
.catalog-order-status { flex:0 0 auto; margin:0; padding:24px; text-align:center; color:#7a8494; font-size:15px; line-height:1.6; }
.catalog-order-retry { flex:0 0 auto; align-self:center; margin:0 0 24px; min-height:44px; padding:8px 24px; border:1px solid #dbe5ff; background:#f1f5ff; color:#1b5cff; border-radius:8px; cursor:pointer; }
.catalog-order-dialog.is-expanded { width:calc(100vw - 16px); height:calc(100dvh - 16px); max-height:calc(100dvh - 16px); border-radius:16px; }
@media(max-width:600px) {
    .catalog-order-dialog { width:calc(100vw - 12px); height:calc(100dvh - 16px); max-height:calc(100dvh - 16px); border-radius:20px; }
    .catalog-order-header { min-height:60px; padding:12px 96px; }
    .catalog-order-header h2 { font-size:18px; }
    .catalog-order-controls { right:8px; top:8px; }
    .catalog-order-controls button { padding:0 8px; font-size:12px; }
}
.catalog-store .catalog-panel { overflow: hidden; }
.catalog-panel [hidden] { display: none !important; }
.catalog-panel .panel-header { flex-wrap: wrap; row-gap: 12px; }
.catalog-panel .panel-title { flex: 1 1 auto; }
.catalog-panel .panel-body { padding-top: 20px; }
.catalog-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.catalog-view { display: inline-flex; gap: 3px; padding: 3px; border: 1px solid var(--glass-border-soft, #dfe5ed); border-radius: 12px; background: var(--uc-field-bg, #f3f5f9); }
.catalog-view-button { display: inline-flex; align-items: center; justify-content: center; gap: 5px; min-height: 36px; padding: 0 12px; border: 0; border-radius: 9px; background: transparent; color: var(--uc-ink-med, #586779); font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; }
.catalog-view-button .material-icons-outlined { font-size: 19px; }
.catalog-view-button.is-active { background: var(--glass-bg-strong, #fff); color: var(--uc-primary-deep, #355dd4); box-shadow: 0 1px 5px rgba(30,45,70,.1); }
.catalog-tools { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-bottom: 18px; }
.catalog-search { display: flex; align-items: center; gap: 10px; flex: 1 1 300px; min-width: 0; max-width: 650px; min-height: 44px; margin: 0; padding: 4px 4px 4px 13px; border: 1px solid var(--glass-border-soft, #dfe5ed); border-radius: 13px; background: var(--uc-field-bg, #f7f9fc); }
.catalog-search:focus-within { border-color: var(--uc-focus, #537aef); box-shadow: 0 0 0 3px rgba(var(--uc-focus-rgb, 83,122,239), .12); }
.catalog-search > .material-icons-outlined { font-size: 21px; flex: 0 0 auto; color: var(--uc-ink-dis, #718092); }
.catalog-search input { flex: 1 1 auto; min-width: 0; width: 100%; padding: 5px 0; border: 0; outline: 0; background: transparent; color: var(--uc-ink, #233148); font: inherit; font-size: 14px; line-height: 1.5; }
.catalog-search input::placeholder { color: var(--uc-ink-dis, #718092); }
.catalog-search button { flex: 0 0 auto; min-height: 36px; padding: 0 18px; border: 0; border-radius: 9px; color: var(--md-on-primary, #fff); background: var(--md-primary, #5075e8); font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; }
.catalog-clear, .catalog-retry { border: 1px solid var(--glass-border-soft, #dfe5ed); border-radius: 10px; background: var(--uc-field-bg, #f6f8fc); color: var(--uc-primary-deep, #355dd4); font: inherit; font-size: 13px; padding: 8px 13px; cursor: pointer; }
.catalog-categories .chip-list { margin: 0; gap: 8px; }
.catalog-categories .chip { min-height: 38px; height: auto; max-width: 100%; padding: 8px 13px; line-height: 1.45; text-align: left; white-space: normal; overflow-wrap: anywhere; }
.catalog-categories .chip-icon { width: 18px; height: 18px; object-fit: cover; border-radius: 5px; }
.catalog-categories .chip:disabled { opacity: .5; cursor: not-allowed; }
.catalog-result-bar { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-top: 22px; padding: 0 0 12px; }
.catalog-result-label { min-width: 0; margin: 0; color: var(--uc-ink, #233148); font-size: 14px; font-weight: 600; line-height: 1.5; overflow-wrap: anywhere; }
.catalog-result-count { flex: 0 0 auto; font-size: 12px; color: var(--uc-ink-med, #586779); }
.catalog-message { padding: 32px 16px; color: var(--uc-ink-med, #586779); text-align: center; font-size: 14px; line-height: 1.7; }
.catalog-retry { display: block; margin: 0 auto 20px; }
.catalog-results { display: grid; grid-template-columns: minmax(0,1fr); gap: 10px; list-style: none; margin: 0; padding: 0; }
.catalog-result { min-width: 0; list-style: none; margin: 0; padding: 0; }
.catalog-product { display: flex; align-items: center; gap: 22px; min-width: 0; width: 100%; padding: 18px 20px; border: 1px solid var(--glass-border-soft, #dfe5ed); border-radius: 14px; background: var(--glass-bg-soft, rgba(255,255,255,.72)); color: var(--uc-ink, #233148); box-shadow: 0 2px 8px rgba(31,45,70,.025); text-decoration: none; transition: border-color .15s, background .15s, box-shadow .15s; }
a.catalog-product:hover { color: var(--uc-ink, #233148); border-color: var(--uc-focus, #537aef); background: var(--glass-bg-strong, rgba(255,255,255,.9)); box-shadow: 0 3px 14px rgba(31,45,70,.06); }
.catalog-product-main { flex: 1 1 auto; min-width: 0; }
.catalog-product-title { display: block; margin: 0; color: var(--uc-ink, #233148); font-size: 15px; font-weight: 600; line-height: 1.65; white-space: normal; overflow: visible; overflow-wrap: anywhere; word-break: normal; -webkit-line-clamp: unset; max-height: none; }
.catalog-tags { display: flex; align-items: center; flex-wrap: wrap; gap: 5px; margin-top: 9px; }
.catalog-tags .acg-tag, .catalog-tags .badge-soft { max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
.catalog-product-side { display: flex; align-items: center; justify-content: flex-end; flex: 0 0 auto; gap: 22px; }
.catalog-product-details { text-align: right; min-width: 125px; }
.catalog-price { display: flex; align-items: baseline; justify-content: flex-end; flex-wrap: wrap; min-width: 0; gap: 3px; color: #e74360; font-size: 21px; font-weight: 700; line-height: 1.25; font-variant-numeric: tabular-nums; }
.catalog-price-value { min-width: 0; overflow-wrap: anywhere; }
.catalog-currency { font-size: 13px; font-weight: 600; }
.catalog-stock { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 3px 10px; margin-top: 7px; color: var(--uc-ink-med, #586779); font-size: 12px; line-height: 1.5; }
.catalog-stock-value, .catalog-sold { white-space: nowrap; }
.catalog-action { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; gap: 6px; min-height: 38px; padding: 8px 12px; border: 1px solid rgba(var(--md-primary-rgb,80,117,232), .18); border-radius: 10px; background: rgba(var(--md-primary-rgb,80,117,232), .07); color: var(--uc-primary-deep, #355dd4); font-size: 13px; font-weight: 600; line-height: 1.4; white-space: nowrap; }
.catalog-action .material-icons-outlined { font-size: 16px; }
.catalog-product.is-soldout { background: var(--uc-field-bg, #f7f8fa); }
.catalog-product.is-soldout .catalog-price { color: var(--uc-ink-med, #586779); }
.catalog-action.is-disabled { color: var(--uc-ink-med, #6e7785); background: rgba(125,125,135,.07); border-color: var(--glass-border-soft, #dfe5ed); }
.catalog-panel[data-view="list"] .catalog-cover { display: none; }
.catalog-panel[data-view="cards"] .catalog-results { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; align-items: stretch; }
.catalog-panel[data-view="cards"] .catalog-product { height: 100%; display: flex; flex-direction: column; align-items: stretch; gap: 0; padding: 0; overflow: hidden; }
.catalog-panel[data-view="cards"] .catalog-cover { width: 100%; max-width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 0; background: var(--uc-field-bg, #f5f7fb); }
.catalog-panel[data-view="cards"] .catalog-product-main { padding: 17px 17px 14px; }
.catalog-panel[data-view="cards"] .catalog-product-title { font-size: 14px; line-height: 1.65; }
.catalog-panel[data-view="cards"] .catalog-product-side { justify-content: space-between; align-items: flex-end; gap: 8px; padding: 0 17px 17px; margin-top: auto; }
.catalog-panel[data-view="cards"] .catalog-product-details { min-width: 0; text-align: left; }
.catalog-panel[data-view="cards"] .catalog-price, .catalog-panel[data-view="cards"] .catalog-stock { justify-content: flex-start; }
.catalog-panel[data-view="cards"] .catalog-price { font-size: 20px; }
.catalog-panel[data-view="cards"] .catalog-stock { display: grid; gap: 2px; }
.catalog-panel[data-view="cards"] .catalog-action { padding: 8px 10px; font-size: 12px; }
.catalog-panel :is(button, a.catalog-product):focus-visible { outline: 2px solid var(--uc-focus, #537aef); outline-offset: 3px; }
:root[data-theme="dark"] .catalog-price { color: #ff8ca0; }
@media(min-width:1200px) { .catalog-panel[data-view="cards"] .catalog-results { grid-template-columns: repeat(4,minmax(0,1fr)); } }
@media(max-width:900px) { .catalog-product { gap: 16px; } .catalog-product-side { gap: 14px; } .catalog-panel[data-view="cards"] .catalog-results { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width:640px) {
    .catalog-panel .panel-header { padding: 16px 16px 0; gap: 8px; }
    .catalog-panel .panel-body { padding: 16px; }
    .catalog-panel .panel-header > .icon { width: 26px; height: 26px; }
    .catalog-view { margin-left: auto; }
    .catalog-view-button { padding: 0 9px; min-height: 38px; font-size: 12px; }
    .catalog-tools { gap: 8px; margin-bottom: 16px; }
    .catalog-search { max-width: none; min-height: 46px; }
    .catalog-search input { font-size: 16px; }
    .catalog-search button { min-height: 38px; padding: 0 14px; }
    .catalog-clear { min-height: 40px; }
    .catalog-categories .chip { min-height: 40px; padding: 8px 12px; font-size: 12px; }
    .catalog-result-bar { margin-top: 19px; gap: 8px; }
    .catalog-result-count { font-size: 11px; }
    .catalog-results { gap: 10px; }
    .catalog-product { flex-direction: column; align-items: stretch; gap: 15px; padding: 16px; }
    .catalog-product-title { font-size: 14px; line-height: 1.75; }
    .catalog-tags { margin-top: 9px; }
    .catalog-product-side { width: 100%; justify-content: space-between; align-items: flex-end; gap: 12px; }
    .catalog-product-details { min-width: 0; text-align: left; }
    .catalog-price, .catalog-stock { justify-content: flex-start; }
    .catalog-price { font-size: 22px; }
    .catalog-stock { gap: 3px 8px; font-size: 11px; }
    .catalog-action { min-height: 40px; padding: 9px 12px; }
    .catalog-panel[data-view="cards"] .catalog-results { gap: 10px; }
    .catalog-panel[data-view="cards"] .catalog-product-main { padding: 13px 12px 12px; }
    .catalog-panel[data-view="cards"] .catalog-product-title { font-size: 13px; }
    .catalog-panel[data-view="cards"] .catalog-product-side { flex-direction: column; align-items: stretch; gap: 10px; padding: 0 12px 13px; }
    .catalog-panel[data-view="cards"] .catalog-price { font-size: 19px; }
    .catalog-panel[data-view="cards"] .catalog-stock { display: flex; }
    .catalog-panel[data-view="cards"] .catalog-action { width: 100%; min-height: 36px; }
    .catalog-panel[data-view="cards"] .catalog-action .material-icons-outlined { display: none; }
}
@media(prefers-reduced-motion:reduce) { .catalog-product { transition: none; } }
@media(max-width:379px) {
    .catalog-panel[data-view="cards"] .catalog-results { grid-template-columns: minmax(0,1fr); }
    .catalog-panel[data-view="cards"] .catalog-product-side { flex-direction: row; align-items: flex-end; }
    .catalog-panel[data-view="cards"] .catalog-action { width: auto; }
    .catalog-stock-value, .catalog-sold { white-space: normal; overflow-wrap: anywhere; }
}
