.products-cta { display: flex; justify-content: center; padding: 32px 24px 0; }
.products-view-all { display: inline-flex; align-items: center; gap: 36px; padding: 17px 26px; border: 1px solid var(--border-hover); border-radius: 100px; background: var(--bg-card); color: var(--text-primary); font-size: 15px; font-weight: 600; transition: background .2s, transform .2s; }
.products-view-all:hover { background: var(--bg-card-hover); transform: translateY(-2px); }
.products-view-all span { color: var(--primary-light); font-size: 22px; }
.nav-brand-area { display: flex; align-items: center; gap: 14px; min-width: 0; }
.nav-back { flex-shrink: 0; }
.page-backdrop { position: fixed; inset: 0; z-index: 0; overflow: hidden; pointer-events: none; }
[data-theme="light"] .page-backdrop .aurora-layer, [data-theme="light"] .page-backdrop .hero-blur-glow { mix-blend-mode: normal; }
.product-catalog, .contact-page { position: relative; z-index: 1; }
@media (min-width: 861px) { .nav-back { display: none; } }
.product-catalog { min-height: 75vh; padding: 112px 0 64px; }
.catalog-header { margin-bottom: 24px; }
.catalog-header h1 { color: var(--text-primary); font-size: 34px; font-weight: 700; letter-spacing: -.04em; line-height: 1.2; margin: 0; }
.catalog-tabs { display: flex; align-items: center; gap: 4px; padding: 4px; width: fit-content; max-width: 100%; background: var(--bg-card-hover); border-radius: 10px; overflow-x: auto; scrollbar-width: none; }
.catalog-tabs::-webkit-scrollbar { display: none; }
.catalog-tab { flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 34px; padding: 7px 20px; border-radius: 7px; color: var(--text-secondary); font-size: 13px; font-weight: 500; line-height: 1.4; white-space: nowrap; transition: color .15s, background .15s; }
.catalog-tab:hover { color: var(--text-primary); }
.catalog-tab.active { background: var(--bg-main); color: var(--text-primary); box-shadow: 0 2px 5px rgba(0,0,0,.08), 0 0 1px rgba(0,0,0,.12); font-weight: 600; }
.catalog-tab span { color: var(--text-secondary); font-size: 11px; font-weight: 400; }
.catalog-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 64px; margin-top: 24px; }
.catalog-card { position: relative; padding: 22px 0; min-width: 0; scroll-margin-top: 104px; }
.catalog-row { display: flex; align-items: center; gap: 18px; min-width: 0; }
.catalog-grid { align-items: start; }
.catalog-qr summary { list-style: none; cursor: pointer; border-radius: 8px; }
.catalog-qr summary::-webkit-details-marker { display: none; }
.catalog-qr summary:focus-visible { outline: 2px solid #007aff; outline-offset: 6px; }
.catalog-qr-label { gap: 5px; }
.catalog-qr-label::after { display: none; }
.catalog-qr-chevron { transition: transform .2s; }
.catalog-qr[open] .catalog-qr-chevron { transform: rotate(180deg); }
.catalog-qr-panel { padding: 24px 0 4px; text-align: center; }
.catalog-qr-panel img { display: block; width: 200px; height: 200px; max-width: 100%; object-fit: contain; background: #fff; padding: 12px; border-radius: 16px; margin: 0 auto 12px; box-sizing: content-box; }
.catalog-qr-panel p { display: block; overflow: visible; }
.catalog-card::after { content: ''; position: absolute; bottom: 0; left: 90px; right: 0; height: 1px; background: var(--border-color); }
.catalog-icon { width: 72px; height: 72px; flex-shrink: 0; border-radius: 17px; overflow: hidden; box-shadow: 0 0 0 1px rgba(128,128,128,.08); }
.catalog-icon img { width: 100%; height: 100%; object-fit: cover; display: block; }
.catalog-card-text { flex: 1; min-width: 0; }
.catalog-card h2 { font-size: 18px; font-weight: 600; line-height: 1.4; color: var(--text-primary); margin: 0 0 5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.catalog-card p { font-size: 13px; line-height: 1.45; color: var(--text-secondary); margin: 0; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.catalog-link { flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; min-width: 68px; min-height: 32px; padding: 6px 16px; background: var(--bg-card-hover); color: #007aff; border-radius: 100px; font-size: 13px; font-weight: 700; line-height: 1.4; transition: background .15s; }
.catalog-link:hover { background: rgba(0,122,255,.12); }
.catalog-link::after { content: ''; position: absolute; inset: 8px 0; border-radius: 8px; }
.catalog-link:focus-visible::after { outline: 2px solid #007aff; outline-offset: 4px; }
.catalog-empty { margin-top: 24px; text-align: center; padding: 64px 24px; color: var(--text-secondary); }
.catalog-empty > span { font-size: 40px; opacity: .5; }
.catalog-empty h2 { font-size: 18px; color: var(--text-primary); margin: 16px 0 10px; }
.catalog-empty p { font-size: 14px; line-height: 1.6; }
.catalog-tab:focus-visible, .catalog-link:focus-visible, .products-view-all:focus-visible { outline: 2px solid #007aff; outline-offset: 4px; }
[data-theme="light"] .catalog-tabs, [data-theme="light"] .catalog-link { background: #f2f2f7; }
[data-theme="light"] .catalog-tab.active { background: #fff; }
[data-theme="light"] .catalog-link:hover { background: #e5e5ea; }
@media (max-width: 900px) { .catalog-grid { column-gap: 32px; } .catalog-row { gap: 14px; } .catalog-icon { width: 64px; height: 64px; border-radius: 15px; } .catalog-card::after { left: 78px; } }
@media (max-width: 600px) {
    .product-catalog { padding: 100px 0 48px; }
    .catalog-header { margin-bottom: 20px; }
    .catalog-header h1 { font-size: 30px; }
    .catalog-tabs { width: 100%; }
    .catalog-tab { flex: 1; padding: 7px 7px; font-size: 12px; gap: 5px; }
    .catalog-grid { grid-template-columns: minmax(0, 1fr); margin-top: 16px; }
    .catalog-card { padding: 20px 0; }
    .catalog-row { gap: 12px; }
    .catalog-card::after { left: 76px; }
    .catalog-card h2 { font-size: 16px; margin-bottom: 4px; }
    .catalog-card p { font-size: 12px; }
    .catalog-link { min-width: 60px; padding: 6px 13px; font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) { .products-view-all, .catalog-link, .catalog-tab { transition: none; } .products-view-all:hover { transform: none; } }
@media (prefers-reduced-motion: reduce) { .page-backdrop .aurora-layer, .page-backdrop .hero-blur-glow { animation: none; } }
