:root {
--proin-ink: #0B2154;
--proin-accent: #FF5E14;
--proin-text: #7A7A7A;
--proin-border: #E7EBF0;
--proin-muted-bg: #F3F5F8;
--proin-heading-font: 'Roboto Slab', serif;
--proin-body-font: 'Roboto', sans-serif;
--proin-container: 1200px;
}
.proin-container {
max-width: var(--proin-container);
margin: 0 auto;
padding: 0 20px;
box-sizing: border-box;
}
.proin-cat-archive { font-family: var(--proin-body-font); color: var(--proin-text); }
.proin-cat-archive * { box-sizing: border-box; }
.proin-cat-hero {
background: var(--proin-ink);
padding: 60px 0 40px;
margin-bottom: 0;
}
.proin-breadcrumb { color: rgba(255,255,255,0.65); font-size: 14px; margin: 0 0 10px; }
.proin-breadcrumb a { color: rgba(255,255,255,0.85); text-decoration: none; }
.proin-breadcrumb a:hover { color: var(--proin-accent); }
.proin-cat-hero h1 {
font-family: var(--proin-heading-font);
font-weight: 600;
font-size: 32px;
line-height: 1.15;
color: #FFFFFF;
margin: 0 0 12px;
}
.proin-cat-desc { color: rgba(255,255,255,0.8); font-size: 15px; line-height: 1.6; max-width: 720px; margin: 0; }
.proin-cat-filter-wrap { background: var(--proin-muted-bg); border-bottom: 1px solid var(--proin-border); padding: 18px 0; }
.proin-cat-filter { display: flex; flex-wrap: wrap; gap: 10px; }
.proin-cat-pill {
display: inline-block;
padding: 8px 18px;
border-radius: 30px;
background: #FFFFFF;
color: var(--proin-ink);
font-weight: 600;
font-size: 14px;
text-decoration: none;
border: 1px solid var(--proin-border);
transition: all 0.2s ease;
}
.proin-cat-pill:hover, .proin-cat-pill.is-active {
background: var(--proin-accent);
color: #FFFFFF;
border-color: var(--proin-accent);
}
.proin-cat-layout {
display: grid;
grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr);
gap: 40px;
padding: 40px 20px 80px;
align-items: start;
}
.proin-cat-main { display: flex; flex-direction: column; gap: 24px; }
.proin-post-card {
display: flex;
gap: 20px;
background: #FFFFFF;
border: 1px solid var(--proin-border);
border-radius: 8px;
overflow: hidden;
box-shadow: 0 3px 15px rgba(134,170,231,0.22);
}
.proin-post-card-img { flex: 0 0 240px; display: block; background: var(--proin-muted-bg); }
.proin-post-card-img img { width: 100%; height: 100%; object-fit: cover; display: block; min-height: 160px; }
.proin-post-card-img-fallback { width: 100%; height: 100%; min-height: 160px; background: linear-gradient(135deg, var(--proin-muted-bg), var(--proin-border)); }
.proin-post-card-body { padding: 20px 20px 20px 0; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.proin-post-date { font-size: 13px; color: var(--proin-accent); font-weight: 600; letter-spacing: 0.3px; }
.proin-post-card-body h2 { font-family: var(--proin-heading-font); font-size: 20px; line-height: 1.25; margin: 0; }
.proin-post-card-body h2 a { color: var(--proin-ink); text-decoration: none; }
.proin-post-card-body h2 a:hover { color: var(--proin-accent); }
.proin-post-card-body p { font-size: 14px; line-height: 1.6; margin: 0; color: var(--proin-text); }
.proin-read-more { color: var(--proin-accent); font-weight: 600; font-size: 14px; text-decoration: none; margin-top: auto; }
.proin-read-more:hover { text-decoration: underline; }
.proin-pagination { margin-top: 20px; display: flex; gap: 8px; flex-wrap: wrap; }
.proin-pagination .page-numbers {
display: inline-flex; align-items: center; justify-content: center;
min-width: 38px; height: 38px; padding: 0 10px;
border: 1px solid var(--proin-border); border-radius: 4px;
color: var(--proin-ink); text-decoration: none; font-size: 14px; font-weight: 600;
}
.proin-pagination .page-numbers.current, .proin-pagination .page-numbers:hover {
background: var(--proin-accent); border-color: var(--proin-accent); color: #FFFFFF;
}
.proin-cat-sidebar { display: flex; flex-direction: column; gap: 24px; position: sticky; top: 30px; }
.proin-widget {
background: #FFFFFF; border: 1px solid var(--proin-border); border-radius: 8px;
padding: 24px; box-shadow: 0 3px 15px rgba(134,170,231,0.22);
}
.proin-widget h3 {
font-family: var(--proin-heading-font); font-weight: 600; font-size: 18px;
color: var(--proin-ink); margin: 0 0 16px;
}
.proin-recent-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.proin-recent-list li a { display: flex; gap: 12px; text-decoration: none; align-items: center; }
.proin-recent-list li img { width: 56px; height: 56px; object-fit: cover; border-radius: 4px; flex-shrink: 0; }
.proin-recent-list li span { display: block; color: var(--proin-ink); font-size: 14px; font-weight: 600; line-height: 1.3; }
.proin-recent-list li small { display: block; color: var(--proin-text); font-size: 12px; margin-top: 3px; }
.proin-recent-list li a:hover span { color: var(--proin-accent); }
.proin-cat-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.proin-cat-list li { display: flex; justify-content: space-between; border-bottom: 1px solid var(--proin-border); padding-bottom: 10px; font-size: 14px; }
.proin-cat-list li:last-child { border-bottom: none; padding-bottom: 0; }
.proin-cat-list li a { color: var(--proin-ink); text-decoration: none; font-weight: 500; }
.proin-cat-list li a:hover { color: var(--proin-accent); }
.proin-cat-list li span { color: var(--proin-text); }
.proin-widget-contact { background: var(--proin-ink); border-color: var(--proin-ink); }
.proin-widget-contact h3 { color: #FFFFFF; }
.proin-widget-contact p { color: rgba(255,255,255,0.8); font-size: 14px; margin: 0 0 16px; }
.proin-contact-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.proin-contact-list li { display: flex; align-items: center; gap: 10px; color: #FFFFFF; font-size: 14px; }
.proin-contact-list li svg { width: 16px; height: 16px; fill: var(--proin-accent); flex-shrink: 0; }
@media (max-width: 991px) {
.proin-cat-layout { grid-template-columns: 1fr; }
.proin-cat-sidebar { position: static; }
.proin-post-card { flex-direction: column; }
.proin-post-card-img { flex-basis: auto; height: 200px; }
.proin-post-card-body { padding: 20px; }
}
@media (max-width: 600px) {
.proin-cat-hero h1 { font-size: 26px; }
.proin-cat-layout { padding: 30px 16px 60px; gap: 24px; }
}