/* Firewalls.vn CMS v6.4.1 UI Hotfix: Knowledge/Firmware Portal readability and layout */
:root{--kb-text:#0f172a;--kb-muted:#5b6b82;--kb-border:#dbeafe;--kb-blue:#0877ff;--kb-cyan:#17d4ff;--kb-card:#ffffff;--kb-soft:#f4f8ff;--kb-shadow:0 14px 34px rgba(15,23,42,.08)}
main{min-height:calc(100vh - 430px)}
.fw-page-hero{background:radial-gradient(circle at 82% 20%,rgba(14,165,233,.12),transparent 30%),linear-gradient(180deg,#f8fbff 0%,#eef6ff 100%)!important;color:var(--kb-text)!important;padding:48px 0 38px!important;min-height:0!important;border-bottom:1px solid #e6eef9!important;overflow:hidden}
.fw-page-hero h1{color:var(--kb-text)!important;font-size:clamp(34px,4vw,54px)!important;line-height:1.05!important;letter-spacing:-.055em!important;margin:14px 0 10px!important;text-shadow:none!important;max-width:980px}
.fw-page-hero p{color:var(--kb-muted)!important;font-size:18px!important;line-height:1.65!important;max-width:880px;margin:0!important;text-shadow:none!important;opacity:1!important}.fw-page-hero .fw-eyebrow{background:#eaf7ff!important;border-color:#bfdbfe!important;color:#0877ff!important;box-shadow:none!important}
.fw-section{padding:42px 0 60px!important;background:#f4f8ff}.fw-section-title{font-size:clamp(28px,3vw,40px)!important;line-height:1.12!important;color:var(--kb-text)!important;margin:28px 0 6px!important;letter-spacing:-.04em}.fw-muted,.fw-section .fw-muted{color:var(--kb-muted)!important;margin:0 0 18px!important;font-size:16px!important;opacity:1!important}
.kb-search{background:#fff!important;border:1px solid var(--kb-border)!important;padding:14px!important;border-radius:22px!important;margin:0 0 28px!important;box-shadow:var(--kb-shadow)!important}.kb-search form,.firmware-filter{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:12px!important;align-items:center!important}.firmware-filter{grid-template-columns:1fr 1fr auto!important}.kb-search input,.firmware-filter input{width:100%!important;min-width:0!important;border:1px solid #cfe0f5!important;border-radius:16px!important;padding:15px 17px!important;background:#fff!important;color:var(--kb-text)!important;font-size:16px!important;outline:none!important}.kb-search input:focus,.firmware-filter input:focus{border-color:#38bdf8!important;box-shadow:0 0 0 4px rgba(56,189,248,.13)!important}.kb-search .btn,.firmware-filter .btn{height:52px!important;border-radius:16px!important;white-space:nowrap!important;padding:0 24px!important}
.kb-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:22px!important;margin:18px 0 42px!important}.kb-card{position:relative;display:flex!important;flex-direction:column!important;gap:10px!important;min-height:230px!important;padding:24px!important;border:1px solid #dceafe!important;border-radius:24px!important;background:#fff!important;box-shadow:var(--kb-shadow)!important;text-decoration:none!important;color:var(--kb-text)!important;overflow:hidden!important;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.kb-card:before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:linear-gradient(90deg,var(--kb-blue),var(--kb-cyan));opacity:.72}.kb-card:hover{transform:translateY(-3px);border-color:#7dd3fc!important;box-shadow:0 18px 42px rgba(8,119,255,.12)!important}.kb-card span,.kb-card .kb-cat{display:inline-flex!important;align-self:flex-start!important;font-size:12px!important;text-transform:uppercase!important;letter-spacing:.09em!important;color:#0877ff!important;background:#eaf7ff!important;border:1px solid #d7efff!important;border-radius:999px!important;padding:7px 11px!important;margin:0 0 4px!important;font-weight:900!important}.kb-card h3{font-size:22px!important;line-height:1.25!important;margin:0!important;color:var(--kb-text)!important;letter-spacing:-.02em!important;text-shadow:none!important}.kb-card p{color:var(--kb-muted)!important;line-height:1.65!important;margin:0!important;opacity:1!important;text-shadow:none!important}.kb-card .kb-card-meta{margin-top:auto!important;padding-top:14px!important;display:flex!important;gap:12px!important;flex-wrap:wrap!important;color:#6b7c92!important;font-size:13px!important;border-top:1px solid #eef4fb!important}.kb-card .kb-card-link{color:#0877ff!important;font-weight:900!important;margin-top:4px!important}
.kb-layout{display:grid!important;grid-template-columns:minmax(0,1fr) 320px!important;gap:24px!important;align-items:start!important}.kb-article{background:#fff!important;color:var(--kb-text)!important;border:1px solid #dceafe!important;border-radius:24px!important;padding:34px!important;line-height:1.85!important;font-size:17px!important;box-shadow:var(--kb-shadow)!important}.kb-article p,.kb-article div{color:var(--kb-text)}.kb-meta{color:#64748b!important;font-size:13px!important;margin-bottom:20px!important}.kb-side{position:sticky!important;top:110px!important;background:#fff!important;border:1px solid #dceafe!important;border-radius:22px!important;padding:20px!important;align-self:start!important;box-shadow:var(--kb-shadow)!important}.kb-side h3{margin:0 0 12px!important;color:var(--kb-text)!important;font-size:20px!important}.kb-side a{display:flex!important;align-items:center!important;justify-content:space-between!important;padding:12px 0!important;color:#1e40af!important;text-decoration:none!important;border-bottom:1px solid #eef4fb!important;font-weight:800!important}.kb-side a:after{content:"→";color:#38bdf8}.kb-side a:last-child{border-bottom:0!important}.kb-cta{margin-top:28px!important;padding:22px!important;border-radius:18px!important;background:#eff6ff!important;border:1px solid #bfdbfe!important;color:var(--kb-text)!important}.kb-cta p{color:#475569!important}.firmware-table{overflow:auto!important;border:1px solid #dbeafe!important;border-radius:22px!important;background:#fff!important;box-shadow:var(--kb-shadow)!important}.firmware-table table{width:100%!important;border-collapse:collapse!important;color:var(--kb-text)!important;min-width:860px}.firmware-table th{background:#0f172a!important;color:#fff!important;text-align:left!important;padding:15px!important;white-space:nowrap!important;font-size:14px!important}.firmware-table td{padding:15px!important;border-bottom:1px solid #eaf1fb!important;vertical-align:top!important;color:#23324a!important}.firmware-table tr:hover td{background:#f8fbff!important}.badge{display:inline-flex!important;align-items:center!important;border-radius:999px!important;background:#dbeafe!important;color:#1e40af!important;padding:6px 10px!important;font-size:12px!important;font-weight:900!important}.kb-info-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 24px}.kb-info-row a,.kb-info-row div{background:#fff;border:1px solid #dceafe;border-radius:18px;padding:16px;text-decoration:none;color:var(--kb-text);box-shadow:0 10px 24px rgba(15,23,42,.06)}.kb-info-row strong{display:block;color:#0877ff;margin-bottom:4px}.kb-info-row span{color:#64748b;font-size:14px}.kb-empty{background:#fff;border:1px dashed #bfdbfe;border-radius:20px;padding:24px;color:#64748b}.kb-table-note{margin-top:14px;color:#64748b;font-size:14px}.fw-floating-contact{right:18px!important;bottom:18px!important}.fw-floating-contact a{box-shadow:0 14px 28px rgba(15,23,42,.18)!important}
@media(max-width:1100px){.kb-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.kb-layout{grid-template-columns:1fr!important}.kb-side{position:static!important}.kb-info-row{grid-template-columns:repeat(2,minmax(0,1fr))}.firmware-filter{grid-template-columns:1fr!important}}
@media(max-width:720px){.fw-page-hero{padding:34px 0 26px!important}.fw-page-hero h1{font-size:32px!important}.fw-page-hero p{font-size:16px!important}.fw-section{padding:30px 0 42px!important}.kb-grid{grid-template-columns:1fr!important}.kb-search form,.firmware-filter{grid-template-columns:1fr!important}.kb-search .btn,.firmware-filter .btn{width:100%!important}.kb-article{padding:22px!important}.kb-card{min-height:auto!important}.kb-info-row{grid-template-columns:1fr}.firmware-table table{min-width:720px}}

/* Firewalls.vn CMS v6.4.2 UI Hotfix: Knowledge horizontal cards */
.kb-hero-compact{padding:38px 0 30px!important}.kb-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,620px);gap:28px;align-items:center}.kb-search-hero{margin:0!important;box-shadow:0 12px 28px rgba(15,23,42,.06)!important}.kb-section-light{background:linear-gradient(180deg,#f8fbff 0%,#eef6ff 100%)!important}.kb-topic-nav{display:flex;align-items:center;gap:12px;overflow-x:auto;padding:2px 2px 16px;margin:0 0 14px;scrollbar-width:thin}.kb-topic-nav a{display:inline-flex;align-items:center;white-space:nowrap;text-decoration:none;color:#1f2a44;background:#fff;border:1px solid #dceafe;border-radius:14px;padding:12px 18px;font-weight:800;box-shadow:0 8px 20px rgba(15,23,42,.045)}.kb-topic-nav a.active,.kb-topic-nav a:hover{background:#0877ff;color:#fff;border-color:#0877ff;box-shadow:0 12px 26px rgba(8,119,255,.22)}.kb-heading-row{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:0 0 10px}.kb-grid-horizontal{grid-template-columns:repeat(4,minmax(0,1fr))!important;align-items:stretch!important;gap:18px!important}.kb-grid-horizontal .kb-card{min-height:255px!important}.kb-grid-horizontal .kb-card h3{font-size:20px!important}.kb-grid-horizontal .kb-card p{font-size:15px!important}.kb-stats-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:28px 0 10px;background:#fff;border:1px solid #dceafe;border-radius:22px;box-shadow:0 10px 28px rgba(15,23,42,.06);padding:18px}.kb-stats-row div{display:flex;align-items:center;gap:12px;border-right:1px solid #edf3fb;padding:8px 16px}.kb-stats-row div:last-child{border-right:0}.kb-stats-row strong{display:block;color:#0f172a;font-size:22px;letter-spacing:-.03em}.kb-stats-row span{display:block;color:#64748b;font-size:14px}.kb-grid .kb-empty{grid-column:1/-1}
@media(max-width:1320px){.kb-grid-horizontal{grid-template-columns:repeat(3,minmax(0,1fr))!important}.kb-hero-grid{grid-template-columns:1fr}.kb-search-hero{max-width:none}}
@media(max-width:960px){.kb-grid-horizontal{grid-template-columns:repeat(2,minmax(0,1fr))!important}.kb-stats-row{grid-template-columns:repeat(2,minmax(0,1fr))}.kb-stats-row div:nth-child(2){border-right:0}}
@media(max-width:640px){.kb-grid-horizontal{grid-template-columns:1fr!important}.kb-topic-nav{padding-bottom:12px}.kb-stats-row{grid-template-columns:1fr}.kb-stats-row div{border-right:0;border-bottom:1px solid #edf3fb}.kb-stats-row div:last-child{border-bottom:0}}
