/* Small catalog touches; the homepage retains its current presentation. */
.catalog-page .catalog-section .section-head{
 border-color:color-mix(in srgb,var(--cyan) 16%,var(--line));
 background:radial-gradient(ellipse at 100% 0,color-mix(in srgb,var(--cyan) 9%,transparent),transparent 58%),var(--surface);
 box-shadow:0 3px 6px #102b4e03,0 14px 35px #102b4e05
}
.catalog-page .catalog-section .section-head h2{letter-spacing:-.025em}
.catalog-page .catalog-section .section-subtitle{color:var(--ink);opacity:.8}
.catalog-page .result-count{box-shadow:inset 0 1px 0 color-mix(in srgb,var(--surface) 80%,transparent)}
.catalog-page .catalog-sort-label select{cursor:pointer;transition:border-color .2s,box-shadow .2s}
.catalog-page .catalog-sort-label select:hover{border-color:var(--cyan)}
.catalog-page .catalog-sort-label select:focus-visible{outline:0;border-color:var(--cyan);box-shadow:0 0 0 3px color-mix(in srgb,var(--cyan) 13%,transparent)}
.catalog-page .filters{box-shadow:0 3px 8px #102b4e03,0 14px 36px #102b4e07}
.catalog-page .filter-heading b::before{border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 5px var(--info-background)}
.catalog-page .filters .filter-category-choice,.catalog-page .filters .filter-brand-choice{transition:background .18s,color .18s,box-shadow .18s}
.catalog-page .filters .filter-category-line:has(input:checked),.catalog-page .filters .filter-brand-choice:has(input:checked){
 box-shadow:inset -3px 0 var(--cyan);background:var(--info-background)
}
.catalog-page .active-filters button{display:inline-flex;align-items:center;gap:7px;background:var(--surface);box-shadow:0 2px 7px #102b4e06;transition:border-color .18s,background .18s}
.catalog-page .active-filters button:hover{background:var(--info-background);border-color:var(--cyan)}
.catalog-page .active-filters button>span{display:grid;place-items:center;width:17px;height:17px;border-radius:50%;background:var(--info-background);font-size:13px}
.catalog-page .product-card{
 border-color:var(--line);
 box-shadow:0 2px 4px #102b4e04,0 9px 22px #102b4e08;
 transform-style:flat;
 transition:transform .24s cubic-bezier(.2,.7,.2,1),box-shadow .24s,border-color .24s
}
.catalog-page .product-card .product-visual{
 background:radial-gradient(ellipse at 50% 38%,var(--surface) 0%,var(--product-image-start) 62%,var(--product-image-end) 100%)!important
}
.catalog-page .product-card .product-visual::before{inset:8px;border-color:color-mix(in srgb,var(--surface) 80%,var(--line));border-radius:11px;box-shadow:inset 0 1px 4px #ffffff66}
.catalog-page .product-brand{max-width:calc(100% - 22px);padding:4px 8px;border-color:color-mix(in srgb,var(--line) 75%,transparent);box-shadow:0 2px 5px #102b4e05}
.catalog-page .product-category{border:1px solid color-mix(in srgb,var(--cyan) 13%,transparent);background:var(--info-background);color:var(--link-color);font-weight:700}
.catalog-page .product-title{transition:color .18s}
.catalog-page .product-title-fa{font-weight:800;line-height:1.7}
.catalog-page .product-title-en{color:color-mix(in srgb,var(--ink) 76%,var(--muted));font-weight:600}
.catalog-page .product-general{color:color-mix(in srgb,var(--ink) 80%,var(--muted));line-height:1.8}
.catalog-page .product-bottom{border-top:1px solid color-mix(in srgb,var(--line) 68%,transparent)}
.catalog-page .price-contact{font-size:9px;line-height:1.7;color:var(--muted)}
.catalog-page .add-quote{transition:background .2s,border-color .2s,box-shadow .2s,transform .15s}
.catalog-page .add-quote>span{display:inline-block;transition:transform .2s}
.catalog-page .quick-add{box-shadow:0 3px 9px #102b4e18;transition:background .18s,transform .18s,box-shadow .18s}
.catalog-page .quick-add:active,.catalog-page .add-quote:active{transform:scale(.97)}
.catalog-page .product-preview-hint{
 position:absolute;right:10px;bottom:11px;z-index:3;display:inline-flex;align-items:center;gap:5px;
 max-width:calc(100% - 64px);padding:4px 8px;border:1px solid color-mix(in srgb,var(--line) 80%,transparent);
 border-radius:7px;background:color-mix(in srgb,var(--surface) 90%,transparent);
 color:var(--link-color);font-size:9px;font-weight:700;line-height:1.6;pointer-events:none;
 opacity:0;transform:translateY(5px);transition:opacity .2s,transform .25s
}
.product-preview-hint svg{width:13px;height:13px;stroke:currentColor;stroke-width:1.6;flex:0 0 13px}
.catalog-page .product-card.is-in-request{border-color:color-mix(in srgb,var(--cyan) 62%,var(--line));box-shadow:0 0 0 1px color-mix(in srgb,var(--cyan) 10%,transparent),0 9px 22px #102b4e06}
.catalog-page .add-quote.is-in-request{background:var(--info-background)!important;border-color:color-mix(in srgb,var(--cyan) 50%,var(--line))!important;color:var(--link-color)!important}
.catalog-page .quick-add.is-in-request{background:var(--link-color)!important;color:var(--surface)!important;font-size:17px}
.catalog-page .catalog-load-more{display:flex;align-items:center;justify-content:center;gap:12px;min-height:44px;box-shadow:0 3px 10px #102b4e05;transition:background .2s,border-color .2s,box-shadow .2s}
.catalog-page .catalog-load-more>span{transition:transform .2s}
.catalog-page .catalog-load-more:hover>span{transform:translateY(3px)}
.catalog-page .empty-state{background:var(--surface);box-shadow:0 6px 22px #102b4e05}
.catalog-page #product-peek{
 border-color:color-mix(in srgb,var(--cyan) 36%,var(--line));
 background:linear-gradient(145deg,color-mix(in srgb,var(--surface) 79%,transparent),color-mix(in srgb,var(--info-background) 73%,transparent));
 box-shadow:0 7px 18px #102b4e14,0 24px 55px #102b4e24,inset 0 1px 0 #ffffff99;
 transform:translateY(12px) scale(.96);
 transform-origin:50% 65%;
 transition:opacity .22s ease,transform .32s cubic-bezier(.16,1,.3,1),visibility 0s linear .32s
}
.catalog-page #product-peek.is-open{transform:translateY(0) scale(1);transition-delay:0s}
.catalog-page .product-peek-top{min-height:40px;background:linear-gradient(110deg,var(--hero-start),var(--hero-end));color:var(--hero-title);font-size:10px}
.catalog-page .product-peek-top i{width:6px;height:6px;background:var(--hero-accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--hero-accent) 15%,transparent);animation:none}
.catalog-page .product-peek-close{width:26px;height:26px;border-radius:8px;transition:background .18s}
.catalog-page .product-peek-media{background:radial-gradient(circle at center,color-mix(in srgb,var(--surface) 85%,transparent),color-mix(in srgb,var(--info-background) 80%,transparent));border-color:color-mix(in srgb,var(--line) 75%,transparent);box-shadow:inset 0 1px 1px #ffffffaa,0 6px 14px #102b4e0b;transition:transform .22s,box-shadow .22s}
.catalog-page .product-peek-category{background:var(--info-background);color:var(--link-color);border:1px solid color-mix(in srgb,var(--cyan) 15%,transparent);font-size:9px}
.catalog-page #product-peek .product-hover-name{color:var(--navy);font-size:14px;line-height:1.65;transition:color .18s}
.catalog-page #product-peek .product-title-en{color:color-mix(in srgb,var(--ink) 77%,var(--muted));font-size:10.5px}
.catalog-page .product-peek-title-link:hover .product-hover-name{color:var(--link-color)}
.catalog-page .product-peek-divider{color:var(--link-color);font-size:9px;letter-spacing:0}
.catalog-page .product-peek-divider::after{background:linear-gradient(to left,color-mix(in srgb,var(--cyan) 40%,var(--line)),transparent)}
.catalog-page #product-peek .product-hover-row{border-color:color-mix(in srgb,var(--line) 70%,transparent);background:color-mix(in srgb,var(--surface) 68%,transparent);min-height:49px;box-shadow:inset 0 1px 0 #ffffff44}
.catalog-page #product-peek .product-hover-row span{color:var(--muted);font-size:9px}
.catalog-page #product-peek .product-hover-row bdi{color:var(--ink);font-size:10px;font-weight:700}
.catalog-page .product-peek-note{background:color-mix(in srgb,var(--info-background) 78%,transparent);color:var(--info-text);border-inline-start:2px solid var(--cyan);font-weight:500}
.catalog-page #product-peek .product-hover-actions a{background:color-mix(in srgb,var(--surface) 88%,transparent);border-color:var(--secondary-border);color:var(--secondary-text)}
.catalog-page #product-peek .product-hover-actions button{background:var(--primary-background);border-color:var(--primary-background);color:var(--primary-text)}
.catalog-page #product-peek .product-hover-actions button.is-in-request{background:var(--info-background);border-color:var(--cyan);color:var(--link-color)}
.catalog-page #product-peek .product-hover-actions a,.catalog-page #product-peek .product-hover-actions button{font-size:10px;transition:transform .18s,background .18s,box-shadow .18s}
.catalog-page #product-peek .product-hover-actions :is(a,button):active{transform:scale(.97)}
.catalog-page #product-peek .product-hover-fields{transition-delay:.055s}
.catalog-page #product-peek .product-hover-actions{transition-delay:.1s}
.catalog-page .product-title:focus-visible,.catalog-page .quick-add:focus-visible,.catalog-page .add-quote:focus-visible,.catalog-page .catalog-load-more:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}
@media(hover:hover) and (pointer:fine){
 .catalog-page .product-card:hover,.catalog-page .product-card:focus-within{transform:translateY(-4px);border-color:color-mix(in srgb,var(--cyan) 55%,var(--line));box-shadow:0 5px 10px #102b4e08,0 18px 32px #102b4e12}
 .catalog-page .product-card:hover .product-visual>.product-photo,.catalog-page .product-card:hover .product-visual>.product-illustration{transform:translateY(-2px) scale(1.035);filter:drop-shadow(0 10px 10px #102b4e18)}
 .catalog-page .product-card:is(:hover,:focus-within) .product-preview-hint{opacity:1;transform:translateY(0)}
 .catalog-page .add-quote:not(.is-in-request):hover>span{transform:rotate(90deg)}
 .catalog-page .product-peek-media:hover{transform:translateY(-2px);box-shadow:0 8px 18px #102b4e14}
}
@media(max-width:720px){
 .catalog-page .product-preview-hint{display:none}
 .catalog-page .catalog-section .section-head{background:linear-gradient(135deg,var(--surface),var(--info-background))}
 .catalog-page .product-card{box-shadow:0 3px 10px #102b4e08}
 .catalog-page .product-general{font-size:10.5px}
 .catalog-page .quick-add{width:32px;height:32px}
 .catalog-page .add-quote{min-height:38px}
}
@media(prefers-reduced-motion:reduce){
 body.catalog-page .product-card,body.catalog-page .product-card *,body.catalog-page #product-peek,body.catalog-page #product-peek *{animation:none!important;transition:none!important}
 body.catalog-page .product-card:hover,body.catalog-page .product-card:focus-within{transform:none}
}
