/* ============ Catalog page ============ */
.catalog-hero{padding:80px 0 40px;}
.catalog-hero .section-sub a{color:var(--cyan); text-decoration:none;}
.catalog-hero .section-sub a:hover{text-decoration:underline;}

.catalog-placeholder{text-align:center; padding:80px 20px; border:1px dashed var(--panel-line); border-radius:6px; margin-top:40px;}
.placeholder-icon{font-size:48px; color:var(--text-faint); margin-bottom:16px;}
.catalog-placeholder h2{margin-bottom:12px;}
.catalog-placeholder p{color:var(--text-dim); max-width:540px; margin:0 auto 28px; font-size:14px; line-height:1.6;}
.placeholder-form{display:flex; gap:12px; max-width:420px; margin:0 auto;}

.catalog-filters{display:flex; gap:20px; margin-top:44px; flex-wrap:wrap;}
.filter-group{display:flex; flex-direction:column; gap:6px; min-width:160px;}
.filter-group label{font-size:11px; letter-spacing:0.06em; text-transform:uppercase; color:var(--text-faint);}
.filter-group select{background:var(--panel); border:1px solid var(--panel-line); border-radius:3px; padding:10px 13px; color:var(--text); font-family:inherit; font-size:13.5px; cursor:pointer;}
.filter-group select:focus{outline:none; border-color:var(--cyan);}

.catalog-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:32px;}

.catalog-card{background:var(--panel); border:1px solid var(--panel-line); border-radius:6px; overflow:hidden; display:flex; flex-direction:column; transition:border-color .2s;}
.catalog-card:hover{border-color:var(--text-faint);}

.catalog-card-header{display:flex; gap:8px; padding:16px 20px; border-bottom:1px solid var(--panel-line); flex-wrap:wrap;}
.catalog-tag{font-size:10.5px; letter-spacing:0.06em; text-transform:uppercase; padding:3px 10px; border-radius:2px; background:rgba(255,255,255,0.04); color:var(--text-faint);}

.catalog-card-body{padding:20px; flex:1;}
.catalog-card-body h3{font-size:18px; font-weight:600; margin-bottom:10px;}
.catalog-card-body p{font-size:13.5px; color:var(--text-dim); line-height:1.6; margin-bottom:18px;}

.catalog-specs{display:grid; grid-template-columns:1fr 1fr; gap:8px;}
.spec{display:flex; justify-content:space-between; font-size:12.5px;}
.spec-label{color:var(--text-faint);}
.spec-val{color:var(--text-dim);}
.spec-val.check{color:var(--green);}

.catalog-card-footer{padding:16px 20px; border-top:1px solid var(--panel-line); display:flex; flex-direction:column; gap:12px;}
.pricing-hint{font-size:11.5px; color:var(--text-faint);}
.catalog-card-footer .btn-primary{font-size:13px; padding:10px; width:100%; display:block; text-align:center;}

.catalog-cta{padding:80px 0; border-top:1px solid var(--panel-line); margin-top:60px;}
.catalog-cta .section-sub{margin-top:16px;}
.catalog-cta a{color:var(--cyan); text-decoration:none;}
.catalog-cta a:hover{text-decoration:underline;}

@media (max-width:1024px){
  .catalog-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:640px){
  .catalog-grid{grid-template-columns:1fr;}
  .catalog-filters{flex-direction:column;}
}
