/* Products listing only. */
.product-page { color:#24272d; }
.product-page * { box-sizing:border-box; }
.product-page .product-wrap { width:min(100% - 40px, 1180px); margin-inline:auto; }
.product-section { padding:80px 0 105px; background:#f7f8fa; }
.product-heading { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:34px; }
.product-eyebrow { display:inline-flex; align-items:center; gap:10px; margin-bottom:15px; color:#a90819; font-size:12px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
.product-eyebrow::before { content:""; display:block; width:25px; height:2px; background:currentColor; }
.product-heading h2 { max-width:660px; margin:0; color:#22252b; font-size:clamp(29px,3.3vw,43px); font-weight:700; letter-spacing:-.045em; line-height:1.17; }
.product-heading p { max-width:370px; margin:0 0 3px; color:#65707a; font-size:15px; line-height:1.7; }
.product-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.product-card { display:flex; flex-direction:column; min-width:0; min-height:365px; overflow:hidden; border:1px solid #e5e8ed; border-radius:10px; background:#fff; box-shadow:0 8px 24px rgba(21,30,44,.04); color:#24272d!important; transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease; }
.product-card:hover,.product-card:focus-visible { transform:translateY(-5px); border-color:#d3d7df; box-shadow:0 18px 38px rgba(21,30,44,.11); color:#24272d!important; }
.product-card:focus-visible { outline:2px solid #a90819; outline-offset:3px; }
.product-card-visual { display:flex; align-items:center; justify-content:center; height:187px; padding:25px; border-bottom:1px solid #edf0f3; background:#fff; }
.product-card-visual img { display:block; width:100%; max-width:205px; height:100%; object-fit:contain; }
.product-card-fallback { display:grid; place-items:center; width:80px; height:80px; border-radius:16px; background:#f9ecee; color:#a90819; font-size:31px; }
.product-card-body { display:flex; flex:1; flex-direction:column; padding:23px 22px 21px; }
.product-card-type { margin-bottom:13px; color:#a90819; font-size:10px; font-weight:700; letter-spacing:.12em; line-height:1.4; text-transform:uppercase; }
.product-card h3 { margin:0 0 11px; color:#252a31; font-size:18px; font-weight:700; line-height:1.35; }
.product-card p { margin:0 0 22px; color:#68717b; font-size:13px; line-height:1.65; }
.product-card-link { display:flex; align-items:center; justify-content:flex-start; margin-top:auto; padding-top:17px; border-top:1px solid #eef0f2; color:#a90819; font-size:13px; font-weight:700; }
.product-card-link i { display:grid; place-items:center; width:29px; height:29px; border-radius:50%; background:#f9ecee; font-size:11px; transition:background-color .2s ease,color .2s ease; }
.product-card:hover .product-card-link i,.product-card:focus-visible .product-card-link i { background:#a90819; color:#fff; }
.product-status { margin:26px 0 0; color:#68717b; font-size:14px; }
@media(max-width:1100px) { .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:800px) { .product-section { padding:65px 0 80px; } .product-heading { display:block; } .product-heading p { max-width:630px; margin-top:15px; } .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:540px) { .product-page .product-wrap { width:min(100% - 36px,1180px); } .product-section { padding:55px 0 70px; } .product-heading { margin-bottom:27px; } .product-grid { grid-template-columns:1fr; gap:17px; } .product-card { min-height:0; } .product-card-visual { height:195px; } }
@media(prefers-reduced-motion:reduce) { .product-card,.product-card-link i { transition:none; } }
