
.products-hero {
    position: relative;
    isolation: isolate;
    min-height: 650px;
    display: grid;
    align-items: end;
    overflow: hidden;
    background: #000;
    color: #fff;
}
.products-hero__image { position:absolute; inset:0; z-index:-3; width:100%; height:100%; object-fit:cover; object-position:center; }
.products-hero__overlay { position:absolute; inset:0; z-index:-2; background:linear-gradient(90deg,rgba(0,0,0,.96) 0%,rgba(0,0,0,.84) 42%,rgba(0,0,0,.25) 100%); }
.products-hero__content { padding-top:150px; padding-bottom:90px; }
.products-hero h1 { max-width:900px; margin:16px 0 24px; font-size:clamp(3.4rem,7vw,7.3rem); line-height:.92; letter-spacing:-.065em; }
.products-hero h1 span { color:var(--color-red); }
.products-hero p { max-width:650px; margin-bottom:28px; color:#bebfc5; font-size:1.08rem; }
.products-section { padding:110px 0 125px; background:#fff; }
.products-section__heading { max-width:760px; margin-bottom:46px; }
.products-section__heading h2 { margin:10px 0 16px; font-size:clamp(2.6rem,5vw,5.2rem); line-height:1; letter-spacing:-.055em; }
.products-section__heading p { color:var(--color-text-gray); }
.products-toolbar { position:sticky; top:88px; z-index:20; margin-bottom:24px; padding:20px; border:1px solid var(--color-line); border-radius:24px; background:rgba(255,255,255,.94); box-shadow:0 18px 50px rgba(11,11,13,.08); backdrop-filter:blur(18px); }
.products-search input { width:100%; min-height:52px; padding:0 20px; border:1px solid var(--color-line); border-radius:999px; background:#f5f5f7; outline:none; }
.products-search input:focus { border-color:var(--color-red); background:#fff; box-shadow:0 0 0 4px rgba(215,25,32,.10); }
.products-filters { display:flex; flex-wrap:wrap; gap:9px; margin-top:14px; }
.product-filter { min-height:38px; padding:0 14px; border:1px solid var(--color-line); border-radius:999px; background:#fff; color:#313136; cursor:pointer; font-size:.78rem; font-weight:800; transition:.25s ease; }
.product-filter:hover,.product-filter.active { border-color:#000; background:#000; color:#fff; }
.products-result-count { margin:0 0 18px; color:var(--color-text-gray); font-size:.84rem; font-weight:800; }
.medical-products-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.medical-product-card { overflow:hidden; border:1px solid var(--color-line); border-radius:26px; background:#fff; transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease; }
.medical-product-card:hover { transform:translateY(-9px); border-color:rgba(215,25,32,.35); box-shadow:0 28px 70px rgba(11,11,13,.13); }
.medical-product-card[hidden] { display:none; }
.medical-product-card__media { position:relative; height:260px; overflow:hidden; background:#f5f5f7; }
.medical-product-card__media img { width:100%; height:100%; padding:16px; object-fit:contain; transition:transform .5s cubic-bezier(.22,1,.36,1); }
.medical-product-card:hover .medical-product-card__media img { transform:scale(1.06); }
.medical-product-card__category { position:absolute; left:16px; bottom:16px; padding:7px 11px; border-radius:999px; background:rgba(0,0,0,.84); color:#fff; font-size:.66rem; font-weight:900; letter-spacing:.06em; text-transform:uppercase; backdrop-filter:blur(12px); }
.medical-product-card__content { padding:25px; }
.medical-product-card__content h2 { min-height:2.4em; margin:0 0 10px; font-size:1.35rem; line-height:1.2; }
.medical-product-card__content p { min-height:6.2em; margin:0; color:var(--color-text-gray); font-size:.88rem; }
.medical-product-card__actions { display:flex; flex-wrap:wrap; gap:9px; margin-top:20px; }
.product-details-button,.product-quote-link { display:inline-flex; min-height:42px; align-items:center; justify-content:center; padding:0 15px; border-radius:999px; font-size:.76rem; font-weight:900; cursor:pointer; transition:.25s ease; }
.product-details-button { border:1px solid #000; background:#000; color:#fff; }
.product-details-button:hover { border-color:var(--color-red); background:var(--color-red); transform:translateY(-2px); }
.product-quote-link { border:1px solid var(--color-red); color:var(--color-red); }
.product-quote-link:hover { background:var(--color-red); color:#fff; transform:translateY(-2px); }
.products-empty { padding:70px 25px; border:1px dashed var(--color-line); border-radius:24px; text-align:center; }
.products-cta { padding:90px 0; background:var(--color-red); color:#fff; }
.products-cta__inner { display:flex; align-items:center; justify-content:space-between; gap:35px; }
.products-cta h2 { margin:8px 0 12px; font-size:clamp(2.4rem,5vw,4.7rem); line-height:1; letter-spacing:-.05em; }
.products-cta p { margin:0; color:rgba(255,255,255,.82); }
.products-cta .kicker { color:#fff; }
.products-cta__button { border-color:#fff; background:#fff; color:#000; }
.product-modal-overlay { position:fixed; inset:0; z-index:9999; display:grid; place-items:center; padding:24px; overflow-y:auto; background:rgba(0,0,0,.86); opacity:0; visibility:hidden; pointer-events:none; backdrop-filter:blur(20px); transition:.35s ease; }
.product-modal-overlay.is-active { opacity:1; visibility:visible; pointer-events:auto; }
.product-modal { position:relative; width:min(1080px,100%); max-height:92vh; overflow-y:auto; border-radius:30px; background:#fff; box-shadow:0 40px 120px rgba(0,0,0,.65); transform:translateY(28px) scale(.96); transition:.45s cubic-bezier(.22,1,.36,1); }
.product-modal-overlay.is-active .product-modal { transform:none; }
.product-modal-close { position:sticky; top:14px; float:right; z-index:3; width:46px; height:46px; margin:14px 14px 0 0; border:0; border-radius:50%; background:#ececef; color:#000; cursor:pointer; font-size:1.8rem; line-height:1; }
.product-modal-close:hover { background:var(--color-red); color:#fff; }
.product-modal-content { clear:both; padding:5px 42px 45px; }
.product-modal-breadcrumb { color:var(--color-red); font-size:.72rem; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.product-modal-title { margin:8px 0 25px; font-size:clamp(2.4rem,5vw,4.8rem); line-height:1; letter-spacing:-.055em; }
.product-modal-layout { display:grid; grid-template-columns:.88fr 1.12fr; gap:38px; }
.product-modal-image { display:grid; min-height:370px; place-items:center; border-radius:22px; background:#f5f5f7; }
.product-modal-image img { width:100%; max-height:470px; padding:22px; object-fit:contain; }
.product-modal-details h3 { margin:22px 0 10px; color:var(--color-red); font-size:.76rem; letter-spacing:.1em; text-transform:uppercase; }
.product-modal-details p,.product-modal-details li { color:#555b65; }
.product-modal-details ul { padding-left:20px; }
.product-spec-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px 20px; }
.product-spec { display:flex; justify-content:space-between; gap:15px; padding:8px 0; border-bottom:1px dashed var(--color-line); font-size:.84rem; }
.product-spec span:first-child { color:var(--color-text-gray); }
.product-spec strong { text-align:right; }
.product-modal-actions { margin-top:26px; }
.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; }
@media(max-width:1200px){.medical-products-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.medical-products-grid{grid-template-columns:repeat(2,1fr)}.product-modal-layout{grid-template-columns:1fr}.products-toolbar{position:static}}
@media(max-width:650px){.products-hero{min-height:590px}.products-hero h1{font-size:clamp(3rem,14vw,4.7rem)}.medical-products-grid{grid-template-columns:1fr}.medical-product-card__content p{min-height:0}.medical-product-card__content h2{min-height:0}.products-cta__inner{align-items:flex-start;flex-direction:column}.product-modal-overlay{padding:10px}.product-modal{border-radius:22px}.product-modal-content{padding:5px 18px 28px}.product-spec-grid{grid-template-columns:1fr}}
