/* Каталог генераторов по макету Figma 74:166 */
.generator-category{background:#fff;color:#101014}
.generator-category>.m-topbar{background:#0F0F14}
.generator-category .desktop-footer,.generator-category .m-footer{background:#0F0F14;color:#fff}
.generator-category .desktop-footer .legal{border-color:rgba(255,255,255,.45)}
.generator-main{padding-top:16px;padding-bottom:40px}
.generator-heading{display:block;height:auto;margin:26px 0 12px}
.generator-heading h1{margin:0;font:400 50px/1.15 var(--font-family-heading);color:#101014;text-transform:uppercase}
.generator-filters{display:flex;align-items:center;gap:32px;margin:0 0 40px}
.generator-filters button{position:relative;border:0;background:none;padding:0 0 4px;color:#202024;font:400 16px/1.25 var(--font-family-primary);cursor:pointer}
.generator-filters button.is-active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:#D11D23}
.generator-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 20px}
.generator-card{min-width:0;min-height:620px;background:#f3f3f5;color:#101014;display:flex;flex-direction:column;box-shadow:0 4px 16px #0004}
.generator-card-photo{display:block;width:100%;height:286px;overflow:hidden;background:#f0f0f1}
.generator-card-photo img{width:100%;height:100%;display:block;object-fit:cover}
.generator-card-content{flex:1;display:flex;flex-direction:column;padding:18px 18px 16px}
.generator-card-type{margin:0 0 8px;color:#74777a;font:400 13px/1.3 var(--font-family-primary)}
.generator-card h2{margin:0 0 14px;font:400 22px/1.25 var(--font-family-heading);text-transform:uppercase}
.generator-specs{display:grid;gap:0}
.generator-spec{min-height:39px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;border-bottom:1px solid #d8d8da;font:400 13px/1.25 var(--font-family-primary)}
.generator-spec span{color:#696c70}.generator-spec b{font-weight:400;text-align:right;color:#151519}
.generator-details{margin-top:auto;padding-top:18px;display:flex;justify-content:space-between;align-items:center;color:#D11D23;text-decoration:none;font:400 15px/1.2 var(--font-family-primary)}
.generator-details span{font:400 26px/1 var(--font-family-primary),sans-serif}
.generator-details:hover{text-decoration:none}
.generator-card[hidden]{display:none}
.generator-empty{padding:36px 0;text-align:center;color:#696c70}
.generator-category .m-menu nav>a[aria-current="page"]{color:#fff;text-decoration:none;border-bottom:1px solid var(--red)}
@media(max-width:1050px){.generator-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.generator-card{min-height:590px}}
@media(max-width:767px){
 .generator-main{width:calc(100% - 30px);padding-top:12px;padding-bottom:40px}
 .generator-heading{margin:24px 0 12px}.generator-heading h1{font-size:36px;line-height:1.15}
 .generator-filters{gap:22px;overflow-x:auto;margin-bottom:40px;white-space:nowrap}.generator-filters button{font-size:13px;flex:0 0 auto;padding-bottom:4px}
 .generator-grid{grid-template-columns:minmax(0,1fr);gap:18px}
 .generator-card{min-height:0}
 .generator-card-photo{height:auto;aspect-ratio:360/286}
 .generator-card-content{padding:16px 16px 14px}.generator-card h2{font-size:20px}
 .generator-spec{min-height:38px;font-size:12px}
 .generator-details{padding-top:18px}
}

/* Consistent red card border on hover and keyboard focus. */
.generator-category .generator-card{box-sizing:border-box;border:1px solid #e5e5e7;transition:border-color .15s ease,box-shadow .15s ease}.generator-category .generator-card:hover,.generator-category .generator-card:focus-within{border-color:#D11D23;box-shadow:0 4px 16px #0004}

/* Catalog typography and expandable specification rows. */
.generator-card{height:auto;min-height:620px}
.generator-card-type{margin:0 0 25px;color:#62686C;font-size:18px;line-height:1.3}
.generator-card h2{margin:0 0 8px;font-size:21px;line-height:1.2}
.generator-spec{min-height:48px;padding:12px 0;font-size:14px;line-height:1.3}
.generator-spec span{color:#62686C}.generator-spec b{color:rgba(0,0,0,.8);font-size:14px}
@media(max-width:767px){.generator-card{height:auto;min-height:0}.generator-card h2{font-size:21px}.generator-card-type{font-size:18px}.generator-spec{min-height:48px;font-size:14px}}

/* Catalog “Подробнее” links use the shared 14px size. */
.generator-category .generator-details{font-size:14px}

.generator-card{position:relative;cursor:pointer}
.generator-card-type{margin-bottom:0}
.generator-specs{margin-top:25px}
.generator-details{position:static}
.generator-details::after{position:absolute;inset:0;z-index:2;content:""}
.generator-details span{display:block;flex:0 0 30px;width:30px;height:15px;overflow:hidden;background:url("../../assets/catalog/arrow.svg") center/30px 15px no-repeat;font-size:0;line-height:0}
