.catalog-page .inabi-header-main{padding-block:8px;gap:8px}
.catalog-page .inabi-header{position:sticky;top:0;padding-top:env(safe-area-inset-top);z-index:1030}
.catalog-page .inabi-header-main{transition:padding .18s ease,grid-template-columns .18s ease}
.catalog-page.catalog-scrolled .inabi-header-main{padding-block:4px}
.catalog-page.catalog-scrolled .inabi-logo{width:76px;padding:3px 6px}
.catalog-page.catalog-scrolled .inabi-logo img{max-height:30px}
.catalog-page.catalog-scrolled .inabi-navigation{display:none}
.catalog-page .inabi-search{scroll-margin-top:env(safe-area-inset-top)}
.catalog-page #pwaBanner{display:none!important}
.catalog-page .inabi-bottom-nav a{min-width:0}
.catalog-page .inabi-bottom-nav a span{max-width:100%;overflow-wrap:anywhere}
.catalog-page .shop-footer{overflow-wrap:anywhere}
.catalog{padding-top:20px;padding-bottom:24px}
.catalog-heading{display:flex;align-items:start;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap}
.catalog-heading h1{font-size:1.35rem;font-weight:700;margin:0 0 4px}
.catalog-heading p{font-size:.78rem;color:#686868;margin:0}
.catalog-level{font-size:.72rem;color:#8b0000;background:#fff0f0;border:1px solid #f1cece;border-radius:20px;padding:5px 12px;font-weight:600}
.catalog-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:16px}
.catalog-filters label{display:block;font-size:.7rem;color:#666;margin-bottom:4px}
.catalog-filters select{font-size:.78rem;padding-left:10px}
.catalog-filter-state{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:.78rem;margin-bottom:16px;overflow-wrap:anywhere}
.catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.catalog-card{min-width:0;border:1px solid #e7e7e7;border-radius:12px;background:#fff;display:flex;flex-direction:column;overflow:hidden}
.catalog-photo{aspect-ratio:1;position:relative;display:grid;place-items:center;background:#fff;padding:10px;flex-shrink:0}
.catalog-photo img{width:100%;height:100%;object-fit:contain;min-height:0;position:absolute;inset:0;padding:10px}
.catalog-placeholder{display:grid;place-items:center;font-size:2.5rem;color:#b8b8b8;background:#fafafa;width:100%;height:100%}
.catalog-placeholder[hidden],.catalog-photo img[hidden]{display:none}
.catalog-card-body{display:flex;flex-direction:column;flex:1;min-width:0;padding:10px;gap:8px}
.storefront .catalog-title{font-size:.82rem;line-height:1.45;font-weight:600;margin:0;min-height:2.9em}
.catalog-title a{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;color:#151515;text-decoration:none;overflow-wrap:anywhere}
.catalog-title a:hover{text-decoration:underline}
.catalog-pricing{margin-top:auto;min-width:0;line-height:1.3}
.catalog-comparison{display:block;color:#777;font-size:.75rem;font-weight:400;margin-bottom:3px;text-decoration-thickness:1px;white-space:nowrap}
.catalog-price{display:flex;align-items:baseline;gap:3px;color:#b00000;flex-wrap:wrap;line-height:1.2}
.catalog-rp{font-size:.75rem;font-weight:500}
.catalog-price strong{font-size:clamp(1.125rem,5.5vw,1.5rem);font-weight:800;letter-spacing:-.045em;white-space:nowrap;font-variant-numeric:tabular-nums}
.catalog-price.price-long strong{font-size:clamp(1rem,4.7vw,1.375rem)}
.catalog-unit{display:block;color:#777;font-size:.7rem;margin-top:3px;overflow-wrap:anywhere}
.catalog-login,.catalog-unpriced{font-size:.78rem}
.catalog-stock{display:flex;align-items:baseline;gap:5px;font-size:.68rem;font-weight:500;line-height:1.45;color:#167442;overflow-wrap:anywhere}
.catalog-stock span{min-width:0}
.catalog-stock[data-status=terbatas],.catalog-stock[data-status=unknown]{color:#8a5b08}
.catalog-stock[data-status=habis]{color:#a33333}
.catalog-min{font-size:.7rem;color:#717171;line-height:1.4;margin:0;overflow-wrap:anywhere}
.catalog-add{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px;min-height:44px;border:1px solid #b00000;border-radius:8px;background:#b00000;color:#fff;font:inherit;font-size:.8rem;font-weight:600;text-decoration:none;padding:9px 6px;width:100%;line-height:1.35;overflow-wrap:anywhere}
.catalog-add:hover{background:#8b0000;color:#fff}
.catalog-add:disabled{background:#eee;border-color:#e3e3e3;color:#767676;cursor:not-allowed}
.catalog-pagination{display:flex;justify-content:center;margin:24px 0 12px;overflow-wrap:anywhere}
.catalog-pagination ul{display:flex;flex-wrap:wrap;list-style:none;padding:0;gap:6px;justify-content:center}
.catalog-pagination li a{display:flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:6px 10px;border:1px solid #eee;border-radius:8px;text-decoration:none}
.catalog-pagination .active a{background:#b00000;color:white}
.catalog-page-size{font-size:.75rem;color:#666}
.catalog-page-size summary{padding:10px 0;min-height:44px}
.catalog-page-size form{display:flex;gap:12px;align-items:center;margin-top:8px}
.catalog-page-size select{width:90px}
.catalog-stock-retry{margin-top:20px;font-size:.78rem;color:#666}
.catalog-stock-retry p{margin:0 0 8px}
.catalog-stock-retry [role=status]{display:block;margin-top:8px}
.catalog-help{display:flex;justify-content:center;padding:16px;font-size:.85rem}
.catalog-sheet{border:0;border-radius:20px 20px 0 0;width:100%;max-width:560px;max-height:90vh;max-height:90dvh;margin:auto auto 0;padding:20px 20px calc(20px + env(safe-area-inset-bottom));box-shadow:0 -8px 40px #0003;overflow:auto;color:#222}
.catalog-sheet::backdrop{background:#0008}
body.catalog-sheet-open{overflow:hidden}
.catalog-sheet-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.catalog-sheet-header h2{font-size:1.1rem;margin:0;font-weight:700}
.catalog-sheet-header button{border:0;background:transparent;min-width:44px;min-height:44px}
.catalog-sheet h3{font-size:1rem;line-height:1.5;overflow-wrap:anywhere;margin:0 0 8px}
.catalog-sheet-price{color:#b00000;font-weight:700;margin:0 0 8px;overflow-wrap:anywhere}
.catalog-sheet label{display:block;font-size:.85rem;margin-bottom:8px}
.catalog-quantity{display:flex;align-items:center;gap:8px}
.catalog-quantity button{min-width:48px;height:48px;border:1px solid #ccc;background:#fff;border-radius:8px;font-size:1.25rem}
.catalog-quantity input{width:100px;min-height:48px;border:1px solid #ccc;border-radius:8px;text-align:center;font-size:1rem}
.catalog-sheet-subtotal{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:20px 0;font-size:.9rem}
.catalog-sheet-subtotal strong{color:#b00000;white-space:nowrap}
.catalog-sheet-error{color:#a00000;background:#fff3f3;padding:10px;border-radius:8px;font-size:.8rem;margin:12px 0}
.catalog-sheet-detail{display:block;text-align:center;margin-top:12px;padding:10px;font-size:.8rem}
.catalog-notice{position:fixed;top:12px;left:12px;right:12px;margin:auto;max-width:440px;z-index:1050;background:#fff;border:1px solid #e5e5e5;border-left:4px solid #167442;border-radius:12px;box-shadow:0 4px 24px #0002;padding:16px;font-size:.85rem;pointer-events:none}
@media(min-width:768px){.catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.catalog-filters{max-width:560px}.catalog-sheet{margin:auto;border-radius:20px}.catalog-card-body{padding:14px}}
@media(min-width:992px){.catalog-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.catalog{padding-top:28px}.catalog-heading h1{font-size:1.7rem}}
@media(min-width:1200px){.catalog-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:359px){.catalog-grid{gap:10px}.catalog-card-body{padding:9px}.catalog-page .inabi-logo{width:108px}.catalog-heading p{font-size:.72rem}.catalog-stock{font-size:.65rem}}
