/* ============================================================
   KampaignLab â€” theme on top of Bootstrap 5
   No inline styles: every visual rule lives here.
   ============================================================ */
:root{
  --accent:#EF4023;
  --ink:#0F0E0C;
  --paper:#F6F4EF;
  --line:#E7E2D7;
  --muted:#52504A;
  --faint:#8A867D;
}

/* base ----------------------------------------------------- */
html,body{font-family:'Hanken Grotesk',sans-serif;color:var(--ink);background:#fff; font-size: 18px; overflow-x: clip;}
h1,h2,h3,h4,h5,h6,.font-head{font-family:'Bricolage Grotesque',sans-serif;}
.mono{font-family:'Space Mono',monospace;}
a{color:inherit;}
.tight{letter-spacing:-.035em;}
.tighter{letter-spacing:-.04em;}

.form-control-lg{font-size: 1rem; border-radius: 4px;}
.form-control{border-radius: 4px;}

a i{position: relative; top: 1px;}

.font-head {font-size: 24px;}
h1.font-head {font-size: 28px;}

.fs-5 {font-size: 1rem !important;}

/* layout --------------------------------------------------- */
.container{max-width:1280px;margin-inline:auto;}
.maxw-prose{max-width:74ch;}
.maxw-narrow{max-width:860px;}
.sticky-side{position:sticky;top:88px;}

/* colour helpers ------------------------------------------- */
.text-accent{color:var(--accent)!important;}
.bg-accent{background:var(--accent)!important;}
.bg-ink{background:var(--ink)!important;}
.bg-paper{background:var(--paper)!important;}
.text-muted2{color:var(--muted)!important;}
.text-faint{color:var(--faint)!important;}

/* typographic labels --------------------------------------- */
.kicker{font-family:'Space Mono',monospace;font-weight:700;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);}
.cat-meta{font-family:'Space Mono',monospace;font-weight:700;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);}
.eyebrow{font-family:'Space Mono',monospace;font-size:11px;letter-spacing:.16em;color:var(--muted);}
.label{font-family:'Space Mono',monospace;font-size:11px;letter-spacing:.16em;color:#76726A;}
.crumb{font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.04em;color:var(--faint);}
.crumb a{text-decoration:none;}
.crumb a:hover{color:var(--accent);}

/* buttons & fields (square, bold) -------------------------- */
.btn{border-radius:4px;font-weight:700;}
.form-control{border-radius:2px;}
.form-control:focus{border-color:var(--accent);box-shadow:none;}
.field-label{font-family:'Space Mono',monospace;font-size:11px;letter-spacing:.16em;color:var(--muted);}
.btn-ink{background:var(--ink);color:#fff; border-radius: 4px;}
.btn-ink:hover,.btn-ink:focus{background:#000;color:#fff;}
.btn-accent{background:var(--accent);color:#fff;}
.btn-accent:hover,.btn-accent:focus{filter:brightness(.93);color:#fff;}
.btn-paper{background:var(--paper);color:var(--ink);}
.btn-paper:hover{color:var(--accent);filter:brightness(.97);}
.btn-ghost{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.4);color:#fff;}
.btn-ghost:hover{background:rgba(255,255,255,.26);color:#fff;}
.form-select{border-radius:2px; font-size: 16px;}
.form-select:focus{border-color:var(--accent);box-shadow:none;}

/* placeholders --------------------------------------------- */
/*.img-ph{background:repeating-linear-gradient(135deg,#ECE7DC 0 11px,#F3EFE6 11px 22px);border:1px solid #E2DDD2;border-radius:3px;display:flex;align-items:center;justify-content:center;color:#A9A296;font-family:'Space Mono',monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;overflow:hidden;}*/
.ratio-feature{--bs-aspect-ratio:62%;}
.ratio-banner{--bs-aspect-ratio:42%;}
.avatar{width:46px;height:46px;border-radius:50%;flex:none;}
.avatar-lg{width:72px;height:72px;border-radius:50%;flex:none;}
.ad-slot{border:1.5px dashed #D7D0C3;background:#FBFAF7;border-radius:3px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;text-align:center;padding:18px;}
.ad-label{font-family:'Space Mono',monospace;font-weight:700;font-size:10px;letter-spacing:.26em;color:#B3AC9E;}
.ad-size{font-family:'Space Mono',monospace;font-size:12px;color:#9A9385;}
.ad-300{min-height:300px;}
.ad-feed{min-height:140px;}
.ad-lead{min-height:130px;}
.ad-728{min-height:160px;}
.ad-mini{width:120px;height:78px;flex:none;padding:6px;}
.navbar-kl{border-bottom:1px solid var(--line);}
.brand{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:25px;letter-spacing:-.025em;color:var(--ink);text-decoration:none;}
.brand-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent);vertical-align:middle;margin-bottom:6px;}
.navbar-kl .nav-item{padding: 0 10px;}
.navbar-kl .nav-link{font-weight:600;color:#2A2823;transition:color .15s ease; padding: 16px 0;}
.navbar-kl .nav-link:hover{color:var(--accent);}
.search-box{border:1px solid var(--line);border-radius:2px;padding:8px 12px;text-decoration:none;color:var(--muted);transition:border-color .15s ease;}
.search-box:hover{border-color:var(--accent);}
.search-box input{border:0;outline:0;background:transparent;width:150px;font-size:14px;font-family:'Hanken Grotesk',sans-serif;pointer-events:none;color:var(--ink);}
.cat-mega{border:1px solid var(--line);border-radius:5px;box-shadow:0 20px 44px rgba(15,14,12,.16);min-width:100%;}
.mega-grid{width:460px;max-width:78vw;}
.cat-mega a{text-decoration:none;font-weight:600;font-size:15px;color:#2A2823;border-radius:3px;padding:8px 10px;display:flex;justify-content:space-between;align-items:center;transition:background .15s ease;}
.cat-mega a:hover{background:var(--paper);color:var(--accent);}
.cat-mega .count{font-family:'Space Mono',monospace;font-size:11px;color:#B3AC9E;}
.header-search{position: relative;}
.header-search .form-control{border: 1px solid var(--line); padding: 10px 35px 10px 15px; }
.header-search button{background: none; border: none; padding: 0; position: absolute; right: 10px; top: 11px; color:var(--ink);}
.header-search button:hover{color:var(--accent);}
.navbar-toggler{border: none; padding: 0;}
.navbar-toggler:focus, .navbar-toggler:active{border: none; box-shadow: none;}
.navbar-toggler-icon{}
.post .img-ph{transition:filter .2s ease,transform .2s ease;}
.post:hover .img-ph{filter:brightness(.96);}
.post-title{font-weight: 700; font-family:'Bricolage Grotesque',sans-serif; font-size: 20px;}
.post-title a{text-decoration:none;transition:color .15s ease; font-weight: 700; font-family:'Bricolage Grotesque',sans-serif;}
.post-title a:hover{color:var(--accent);}
.read-more{text-decoration:none;font-weight:700;font-size:16px;color:var(--accent);display:inline-flex;gap:.35em;align-items:center;}
.read-more .arrow{transition:transform .15s ease;}
.read-more:hover .arrow{transform:translateX(4px);}
.card-bottom-row{font-size: 14px;}
.rank{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;color:var(--accent);}
.tlist a{transition:color .15s ease; border-bottom: 1px solid var(--line);}
.tlist:last-child a{border: none;}
.tlist a:hover{color:var(--accent);}
.divide{border-bottom:1px solid rgba(255,255,255,0.1);}
.divide-top{border-top:1px solid var(--line);}
a.divide-top{background: var(--accent); border: none; border-radius: 4px; font-size: 16px; color: #fff !important;}
a.divide-top:hover{background: var(--ink);}
.rule-top{border-top:2px solid var(--ink);}
.border-kl{border:1px solid var(--line)!important;}
.chip{display:inline-block;text-decoration:none;font-size:14px;font-weight:600;color:var(--ink);border:1px solid #E2DDD2;padding:8px 16px;transition:all .15s ease; border-radius: 4px; background: #fff;}
.chip:hover{color:var(--accent);border-color:var(--accent);}
.chip.active{color:#fff;background:var(--accent);border-color:var(--accent);}
.chip-dark{color:#D6D2C9;border-color:rgba(246,244,239,.22);}
.chip-dark:hover{color:#fff;border-color:#fff;}
.card-kl{border:1px solid var(--line);border-radius:3px;}
.hover-lift{transition:transform .18s ease,box-shadow .18s ease;}
.hover-lift:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(15,14,12,.08);}
.topic-tile{display:flex;flex-direction:column;justify-content:space-between;gap:2rem;text-decoration:none;padding:1.5rem;min-height:148px;border:1px solid rgba(246,244,239,.15);border-radius:3px;transition:border-color .18s ease,transform .18s ease;}
.topic-tile:hover{border-color:var(--accent);transform:translateY(-3px);}
.topic-arrow{color:#76726A;transition:transform .18s ease;}
.topic-tile:hover .topic-arrow{transform:translateX(4px);color:#fff;}
.badge-feat{position:absolute;top:1rem;left:1rem;font-family:'Space Mono',monospace;font-weight:700;font-size:10px;letter-spacing:.18em;background:var(--accent);color:#fff;padding:6px 10px;border-radius:2px;}
.box-paper{background:var(--paper);border-radius:3px;}
.prose{font-size:1.05rem;line-height:1.75;color:#26241F;}
.legal-prose{font-size:1.02rem;line-height:1.7;color:#26241F;}
.legal-prose h2{font-size: 1.5rem; margin-top: 1.5rem !important; margin-bottom: 1rem !important; font-weight: 700;}
.pullquote{border-left:4px solid var(--accent);line-height:1.35; font-size: 18px;}
.pullquote span{font-family:'Bricolage Grotesque',sans-serif; font-weight: 700; font-size:1.4rem; padding: 0 0 10px; width: 100%; display: block;}
.code-block{background:var(--ink);color:#E7E2D7;border-radius:3px;font-family:'Space Mono',monospace;font-size:.85rem;line-height:1.7;overflow:auto;}
.code-block .c-com{color:#8A867D;}
.code-block .c-key{color:var(--accent);}
.read-progress{height:3px;background:#EFEBE1;}
.read-progress i{display:block;height:100%;width:34%;background:var(--accent);}
.cta-underline{text-decoration:none;font-weight:700;border-bottom:2px solid var(--accent);padding-bottom:3px;display:inline-block;transition:opacity .15s ease;}
.cta-underline:hover{opacity:.7;}
.tag-ad{font-family:'Space Mono',monospace;font-size:9px;letter-spacing:.14em;color:#fff;background:#9A9385;border-radius:2px;display:inline-block; border-radius: 3px;}
.ls-wide{letter-spacing:.22em;}
.mw-30ch{max-width:30ch;}
.mw-narrow{max-width:760px;}
.code-inline{font-family:'Space Mono',monospace;background:#F2EFE7;padding:1px 6px;border-radius:2px;}
.mw-56ch{max-width:56ch;}
.mw-62ch{max-width:62ch;}
.t-404{font-size:11rem;line-height:.86;}
.footer{background:var(--ink);color:#C9C5BC; font-size: 16px; line-height: 1.5;}
.footer a{color:#C9C5BC;text-decoration:none;transition:color .15s ease; font-size: 16px;}
.footer a:hover{color:#fff;}
.footer a.brand {font-size: 30px;}
.article-details{}
.article-details h2{padding: 30px 0 5px 0; margin: 0; font-size: 24px; font-weight: 700;}
.article-details h3{font-size: 20px; padding: 30px 0 0; font-weight: 700; margin: 0;}
.article-details p{padding: 10px 0 0 0; margin: 0; line-height: 1.5;}
.article-details ul, .article-details ol{display: flex; flex-wrap: wrap; padding: 25px 0 0 0; list-style-type: none;}
.article-details ul li, .article-details ol li{width: 100%; padding: 0 0 0 20px; position: relative; margin: 6px 0;  line-height: 1.5;}
.article-details ul li:after, .article-details ol li:after{width: 6px; height: 6px; background: var(--accent); position: absolute; left: 0; top: 3px; content: ""; margin: 6px 0;  line-height: 1.5;}
.article-details h2 a, .article-details h3 a, .article-details p a, .article-details ul li a, .article-details ol li a{color: var(--accent); text-decoration: underline; font-weight: 700;}
.article-details h2 a:hover, .article-details h3:hover, .article-details p:hover{color: var(--ink);}
.article-details .table{font-size: 16px;}
.article-details .table td, .article-details .table th{padding: 10px 15px; line-height: 1.5;}
.affi-box{}
.affi-box-title{font-family:'Bricolage Grotesque',sans-serif; font-size: 20px; font-weight: 700;}
.affi-box p, .affi-box p.small{font-size: 16px;}
.affi-box .chip{background: var(--accent); color: #fff; border: mone; font-size: 16px;}
.affi-box .chip i{font-size: 14px;}
.btn-group .btn{margin: 0 10px 5px 0; border: 1px solid var(--line); padding: 8px 10px; font-weight: 500; color: var(--ink);}
.btn-group .btn:hover, .btn-check:checked+.btn, .btn.active, .btn.show, .btn:first-child:active, :not(.btn-check)+.btn:active{background: var(--accent);  border: 1px solid var(--accent); color: #fff;}
.post img{margin: 0 0 20px;}
.blog-cta{background: var(--accent); padding: 30px 20px 30px 20px; color: #fff; position: relative; border-radius: 4px;}
.blog-cta h2{font-size: 24px; font-weight: 700; font-family:'Space Mono',monospace; padding: 0; margin: 0; letter-spacing: 0;}
.blog-cta p{padding: 10px 0 0 0;}
.blog-cta p:hover{color: #fff;}
.blog-cta .btn{margin: 15px 0 0 0; padding: 12px 40px; font-size: 18px; border-radius: 4px;}
.masonry{column-gap:1rem; column-count:1}
.pick{break-inside:avoid;margin-bottom:1.5rem;border:1px solid var(--line);background:#fff;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease; border-radius: 4px;}
.pick:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(15,14,12,.10);}
.pick-tag{font-family:'Space Mono',monospace;font-weight:700;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#fff;padding:9px 16px;}
.pick-body{padding:18px;}
.pick-name{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:1.15rem;letter-spacing:-.02em;}
.pick-intro{font-size:.9rem;line-height:1.55;color:var(--muted);}
.pick-best{font-size:.82rem;color:var(--ink);}
.pick-best b{font-family:'Space Mono',monospace;font-weight:700;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);}
.pick-visit{display:block;text-align:center;text-decoration:none;font-weight:700;font-size:14px;color:#fff;background:var(--ink);border-radius:4px;padding:11px;transition:background .15s ease;}
.pick-visit:hover{background:var(--accent);color:#fff;}
.pick-b h2{padding: 10px 0 5px 0 !important;}
.ls-wide{letter-spacing:.22em;}
.mw-30ch{max-width:30ch;}
.mw-narrow{max-width:760px;}
.code-inline{font-family:'Space Mono',monospace;background:#F2EFE7;padding:1px 6px;border-radius:2px;}
.mw-56ch{max-width:56ch;}
.mw-62ch{max-width:62ch;}
.t-404{font-size:11rem;line-height:.86;}
.stars{position:relative;display:inline-block;font-size:15px;line-height:1;letter-spacing:2px;font-family:sans-serif;}
.stars-bg{color:#DAD5C9;}
.stars-fill{position:absolute;top:0;left:0;overflow:hidden;white-space:nowrap;color:var(--accent);}
.rating-num{font-family:'Space Mono',monospace;font-weight:700;font-size:13px;color:var(--ink);}
.rating-out{font-family:'Space Mono',monospace;font-size:11px;color:var(--faint);}
.fill-86{width:86%;}.fill-88{width:88%;}.fill-90{width:90%;}.fill-92{width:92%;}
.fill-94{width:94%;}.fill-96{width:96%;}.fill-98{width:98%;}
.tag1{background:#EF4023;}
.tag2{background:#1F7A5A;}
.tag3{background:#2D5BE3;}
.tag4{background:#B5341F;}
.tag5{background:#8B5CF6;}
.tag6{background:#0E7490;}
.tag7{background:#C2410C;}
.tag8{background:#374151;}.tag9{background:#BE185D;}
.tag10{background:#4D7C0F;}
.tag11{background:#7C3AED;}.tag12{background:#0F766E;}
.pick-tab{cursor:pointer;border-radius:0;}
.pick-b{break-inside:avoid;margin-bottom:1.5rem;border:1px solid var(--line);background:#fff;padding:20px;transition:transform .18s ease,box-shadow .18s ease; border-radius: 4px;}
.pick-b:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(15,14,12,.10);border-color:var(--ink);}
.pick-pill{font-family:'Space Mono',monospace;font-weight:700;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#fff;padding:5px 11px;white-space:nowrap;display:inline-block; border-radius: 3px;}
.pick-b .pick-logo{border-radius:0;display:flex;}
.pick-b h2{font-size: 20px; font-weight: 700; padding: 5px 0 0 0;}
.pick-b .stars{font-size: 12px; color:var(--accent);}
.pick-tab{border-radius: 4px;}
.cookie-consent-banner{position: fixed; bottom: 24px; left: 24px; right: 24px; background: #0f0e0c; color: #ffffff; box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5); border-radius: 12px; border: 1px solid rgba(255, 255, 255, 0.12); z-index: 2050; opacity: 0; transform: translateY(40px); transition: opacity 0.5s cubic-bezier(0.16, 1, 0.3, 1), transform 0.5s cubic-bezier(0.16, 1, 0.3, 1); pointer-events: none;}
.cookie-consent-banner.show{opacity: 1; transform: translateY(0); pointer-events: auto;}
.cookie-consent-banner .banner-container{padding: 24px;}
.cookie-consent-banner p{font-size: 0.95rem; line-height: 1.6; color: rgba(255, 255, 255, 0.85); margin: 0;}
.cookie-modal .modal-content{background: #0f0e0c; color: #ffffff; border: 1px solid rgba(255, 255, 255, 0.15); border-radius: 16px; box-shadow: 0 15px 50px rgba(0, 0, 0, 0.6);}
.cookie-modal .modal-header{border-bottom: 1px solid rgba(255, 255, 255, 0.08); padding: 20px 24px;}
.cookie-modal .modal-title{font-family: 'Bricolage Grotesque', sans-serif; font-weight: 700;}
.cookie-modal .modal-body{padding: 24px; max-height: 70vh; overflow-y: auto;}
.cookie-modal .modal-footer{border-top: 1px solid rgba(255, 255, 255, 0.08); padding: 20px 24px;}
.cookie-modal .preference-item{background: rgba(255, 255, 255, 0.03); border: 1px solid rgba(255, 255, 255, 0.06); border-radius: 8px; padding: 16px; margin-bottom: 16px; transition: background 0.2s ease;}
.cookie-modal .preference-item:last-child{margin-bottom: 0;}
.cookie-modal .preference-header{display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px;}
.cookie-modal .preference-title{font-weight: 600; font-size: 1.05rem; color: #ffffff;}
.cookie-modal .preference-description{font-size: 0.88rem; color: rgba(255, 255, 255, 0.65); line-height: 1.5; margin: 0;}
.cookie-modal .form-check-input{background-color: rgba(255, 255, 255, 0.15); border-color: rgba(255, 255, 255, 0.25); cursor: pointer; width: 2.8em; height: 1.5em; margin-left: 10px; transition: background-color 0.2s ease, border-color 0.2s ease;}
.cookie-modal .form-check-input:checked{background-color: var(--accent, #EF4023); border-color: var(--accent, #EF4023);}
.cookie-modal .form-check-input:focus{box-shadow: 0 0 0 0.25rem rgba(239, 64, 35, 0.25); border-color: var(--accent, #EF4023);}
.cookie-modal .form-check-input:disabled{opacity: 0.6; cursor: not-allowed; background-color: rgba(255, 255, 255, 0.3); border-color: rgba(255, 255, 255, 0.3);}
.btn-cookie-accept {background-color: var(--accent, #EF4023) !important; color: #ffffff !important; font-family: 'Space Mono', monospace; font-weight: 700; font-size: 13px; letter-spacing: 0.05em;  border: none; border-radius: 4px; padding: 10px 24px; transition: all 0.2s ease; text-transform: uppercase;}
.btn-cookie-accept:hover{filter: brightness(1.15); transform: translateY(-1px);}
.btn-cookie-decline {background-color: transparent !important; color: rgba(255, 255, 255, 0.8) !important; font-family: 'Space Mono', monospace; font-weight: 700; font-size: 13px; letter-spacing: 0.05em; border: 1px solid rgba(255, 255, 255, 0.2) !important; border-radius: 4px; padding: 10px 24px; transition: all 0.2s ease; text-transform: uppercase;}
.btn-cookie-decline:hover{background-color: rgba(255, 255, 255, 0.06) !important; color: #ffffff !important; border-color: rgba(255, 255, 255, 0.4) !important;  transform: translateY(-1px);}
.btn-cookie-manage{background-color: transparent !important; color: rgba(255, 255, 255, 0.85) !important; font-family: 'Space Mono', monospace; font-weight: 700; font-size: 13px; letter-spacing: 0.05em; border: none; transition: all 0.2s ease; text-decoration: underline; text-transform: uppercase;}
.btn-cookie-manage:hover{color: #ffffff !important;}
.cookie-modal .btn-cookie-cancel{background-color: transparent !important; color: rgba(255, 255, 255, 0.7) !important; border: none !important; font-family: 'Space Mono', monospace; font-weight: 700; font-size: 13px; text-transform: uppercase;}
.cookie-modal .btn-cookie-cancel:hover{color: #ffffff !important;}
.cookie-modal .close-modal-btn{background: transparent; border: none; color: rgba(255, 255, 255, 0.6); font-size: 1.5rem; transition: color 0.2s ease; padding: 0; line-height: 1;}
.cookie-modal .close-modal-btn:hover {color: #ffffff;}
.cookie-preferences-trigger{cursor: pointer;}
.cookie-modal .text-muted {color: rgba(255, 255, 255, 0.85) !important;}
.sticky-filter-bar{position: sticky;  top: 73px; background: #ffffff; z-index: 1010; border-bottom: 1px solid var(--line); box-shadow: 0 4px 12px rgba(15, 14, 12, 0.03); transition: background-color 0.25s ease, padding 0.2s ease, box-shadow 0.25s ease; margin-bottom: 50px;}
.sticky-filter-bar.is-sticky{background: rgba(255, 255, 255, 0.95) !important; backdrop-filter: blur(10px); box-shadow: 0 8px 30px rgba(0, 0, 0, 0.07); padding-top: 10px !important; padding-bottom: 10px !important;}
.filter-sticky-view{display: none;}
.sticky-filter-bar.is-sticky .filter-default-view {display: none !important;}
.sticky-filter-bar.is-sticky .filter-sticky-view{display: block !important;}
.calc{background: var(--wash); border: 1px solid var(--line); border-left: 3px solid var(--accent); border-radius: 8px; padding: 18px 20px; margin: 26px 0; line-height: 1.65; color: var(--ink-soft);}
.calc strong{color: var(--ink); }
.prompt{font-size: 14.5px; line-height: 1.6;  background: #faf9fe; border: 1px dashed var(--accent); border-radius: 8px; padding: 11px 14px; margin: 8px 0 0;}
.prompt strong{color: var(--accent-deep); font-weight: 700; }
.partner-logo-box{height: 40px; margin-bottom: 8px;}
.partner-logo-box img{max-height: 40px; max-width: 100%;}

/* compare table ---------------------------------------------- */
.table-compare{width:100%;border-collapse:collapse;font-size:.92rem;}
.table-compare th,.table-compare td{padding:16px 14px;border-bottom:1px solid var(--line);vertical-align:middle;}
.table-compare thead th{font-family:'Space Mono',monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);border-bottom:2px solid var(--ink);white-space:nowrap;}
.table-compare tbody tr{transition:background .15s ease;}
.table-compare tbody tr.d-none{display:none;}
.table-compare tbody tr:hover{background:var(--paper);}
.table-compare .tool-cell{display:flex;align-items:center;gap:12px;min-width:190px;}
.table-compare .tool-cell .pick-logo{width:38px;height:38px;font-size:16px;}
.table-compare .tool-name{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:.98rem;}
.table-compare .pick-pill{padding:3px 8px;font-size:9px;margin-top:4px;display:inline-block;}
.table-scroll{overflow-x:auto;border:1px solid var(--line);}
.compare-cta{white-space:nowrap;font-family:'Space Mono',monospace;font-weight:700;font-size:16px;color:var(--ink);text-decoration:none;border-bottom:2px solid var(--accent);padding-bottom:2px;}
.compare-cta:hover{color:var(--accent);}
.check-yes{color:#1F7A5A;font-weight:700;}
.check-no{color:#B3AC9E;}

/* detail page -------------------------------------------------- */
.detail-hero{border-bottom:1px solid var(--line);}
.pick-logo.detail-logo img, .pick-logo.cmp-logo-lg img{max-height: 40px;}
.score-ring{width:96px;height:96px;border:6px solid var(--accent);display:flex;flex-direction:column;align-items:center;justify-content:center;flex:none;}
.score-num{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:1.8rem;line-height:1;}
.score-out{font-family:'Space Mono',monospace;font-size:10px;color:var(--faint);}
.pro-con{border:1px solid var(--line);padding:20px;}
.pro-con li{display:flex;gap:10px;align-items:flex-start;margin-bottom:10px;font-size:.95rem;}
.pro-con li:last-child{margin-bottom:0;}
.feature-row{display:flex;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid var(--line);font-size:.95rem;}
.feature-row:last-child{border-bottom:0;}
.price-box{border:1px solid var(--line);padding:24px;}
.price-num{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:2.2rem;letter-spacing:-.02em;}
.price-check{display:flex;align-items:center;gap:10px;font-size:.92rem;}
.related-card{border:1px solid var(--line);padding:18px;transition:transform .18s ease,box-shadow .18s ease;}
.related-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(15,14,12,.08);}

/* comparison CTA (vs cards) --------------------------------- */
.cmp-cta-block{border-top:2px solid var(--ink);padding-top:32px;}
.cmp-vs-card{align-items:center;gap:20px;border:1px solid var(--line);padding:20px 15px;text-decoration:none;color:inherit;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease; text-align: center;  justify-content: center; display: flex; flex-wrap: wrap;}
.cmp-vs-card:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(15,14,12,.10);border-color:var(--ink);color:inherit;}
.cmp-vs-side{display:flex;align-items:center;gap:14px;min-width:0; flex-wrap: wrap; width: 100%;}
.cmp-sub-box{width: 100%;}
/*.cmp-vs-side.is-right{flex-direction:row-reverse ;text-align:right;}*/
.cmp-vs-name{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:1.05rem; padding: 5px 0;}
.cmp-vs-badge{font-family:'Space Mono',monospace;font-weight:700;font-size:11px;letter-spacing:.2em;color:#fff;background:var(--ink);border-radius:50%;width:40px;height:40px;flex:none;display:flex;align-items:center;justify-content:center;}
.cmp-vs-cta{flex:none;font-family:'Space Mono',monospace;font-weight:700;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);white-space:nowrap;}
.cmp-vs-card:hover .cmp-vs-cta{color:var(--ink);}
.pick-logo img{max-height: 20px;}
.cmp-rating{width: 100%; text-align: center; flex-wrap: wrap; justify-content: center;}


/*
.cmp-cta-block{border-top:2px solid var(--ink);padding-top:32px;}
.cmp-vs-card{display:flex;align-items:center;gap:20px;border:1px solid var(--line);padding:20px 15px;text-decoration:none;color:inherit;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;}
.cmp-vs-card:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(15,14,12,.10);border-color:var(--ink);color:inherit;}
.cmp-vs-side{display:flex;align-items:center;gap:14px;min-width:0; flex-wrap: wrap; width: 100%;}
.cmp-sub-box{width: 100%;}
.cmp-vs-side.is-right{flex-direction:row-reverse ;text-align:right;}
.cmp-vs-name{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:1.05rem; padding: 5px 0;}
.cmp-vs-badge{font-family:'Space Mono',monospace;font-weight:700;font-size:11px;letter-spacing:.2em;color:#fff;background:var(--ink);border-radius:50%;width:40px;height:40px;flex:none;display:flex;align-items:center;justify-content:center;}
.cmp-vs-cta{flex:none;font-family:'Space Mono',monospace;font-weight:700;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);white-space:nowrap;}
.cmp-vs-card:hover .cmp-vs-cta{color:var(--ink);}
.pick-logo img{max-height: 20px;}
*/


/* compare grid (product-card style) ------------------------ */
.cmp-scroll{overflow-x:auto;}
.cmp-grid{min-width:860px;}

.cmp-head{background:var(--paper);border-bottom:1px solid var(--line);}
.cmp-head .cmp-label-cell{position:sticky;left:0;background:var(--paper);z-index:2;}
.cmp-col-head{padding:24px 18px;border-left:1px solid var(--line);text-align:center;position:relative;}
.cmp-col-head.is-editors-pick{box-shadow:inset 0 0 0 2px var(--accent);}
.cmp-editors-badge{position:absolute;top:0;right:0;font-family:'Space Mono',monospace;font-weight:700;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:var(--accent);padding:5px 10px;}
.cmp-mcard.is-editors-pick{border:2px solid var(--accent);position:relative;}
.cmp-select{width:100%;border:1px solid var(--line);background:#fff;font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:.92rem;padding:8px 10px;margin-bottom:14px;color:var(--ink);}
.cmp-select:focus{outline:none;border-color:var(--accent);}
.cmp-price{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:1.3rem;letter-spacing:-.02em;margin:10px 0 4px;}
.cmp-visit{display:inline-block;text-decoration:none;font-weight:700;font-size:13px;color:var(--accent);border-bottom:2px solid var(--accent);padding-bottom:2px;}
.cmp-visit:hover{color:var(--ink);border-color:var(--ink);}
.cmp-section-row .cmp-label-cell{background:var(--ink);color:#fff;}
.cmp-section-row td,.cmp-section-row .cmp-cell{padding:10px 18px;font-family:'Space Mono',monospace;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--faint);}
.cmp-row{border-bottom:1px solid var(--line);}
.cmp-label-cell{position:sticky;left:0;background:#fff;z-index:1;padding:14px 18px;font-weight:600;font-size:.9rem;border-right:1px solid var(--line);display:flex;align-items:center;}
.cmp-cell{padding:14px 18px;border-left:1px solid var(--line);text-align:center;display:flex;align-items:center;justify-content:center;font-size:.9rem;}
.cmp-row,.cmp-section-row,.cmp-head{display:grid;grid-template-columns:220px repeat(3,minmax(210px,1fr));}
.cmp-section-row .cmp-label-cell{background:var(--ink);font-family:'Space Mono',monospace;font-size:10px;letter-spacing:.16em;text-transform:uppercase;padding:12px 18px;}
.cmp-section-row .cmp-cell{background:var(--ink);}

/* compare — mobile stacked cards ---------------------------- */
.cmp-mcards{display:flex;flex-direction:column;gap:20px;}
.cmp-mcard{border:1px solid var(--line);}
.cmp-mcard-head{padding:20px;border-bottom:1px solid var(--line);text-align:center;background:var(--paper);}
.cmp-mcard .cmp-select{max-width:260px;margin-left:auto;margin-right:auto;}
.cmp-mcard .pick-logo{margin:0 auto 10px;}
.cmp-msection{font-family:'Space Mono',monospace;font-weight:700;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#fff;background:var(--ink);padding:10px 16px;}
.cmp-mrow{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 16px;border-bottom:1px solid var(--line);}
.cmp-mrow:last-child{border-bottom:0;}
.cmp-mrow .cmp-mlabel{font-weight:600;font-size:.88rem;color:var(--muted);flex:none;}
.cmp-mrow .cmp-mval{text-align:right;font-size:.9rem;}

/* faq accordion -------------------------------------------- */
.faq-item{border-bottom:1px solid var(--line);}
.faq-item:first-child{border-top:1px solid var(--line);}
.faq-q{width:100%;text-align:left;background:none;border:0;padding:18px 0;display:flex;justify-content:space-between;align-items:center;gap:16px;font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:1.02rem;color:var(--ink);cursor:pointer;}
.faq-q:hover{color:var(--accent);}
.faq-icon{flex:none;font-family:'Space Mono',monospace;font-size:20px;font-weight:700;color:#fff;background:var(--accent);width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:transform .2s ease,background .2s ease;}
.faq-item.open .faq-icon{transform:rotate(45deg);background:var(--ink);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .25s ease;}
.faq-a p{color:var(--muted);font-size:.95rem;line-height:1.6;padding-bottom:18px;margin:0;}
.f-32{font-size: 24px; letter-spacing: 0; text-transform: none}

.pick-links{display:flex;justify-content:space-between;align-items:center;gap:10px;}
.pick-link-view{font-family:'Space Mono',monospace;font-weight:700;font-size:13px;letter-spacing:.06em;color:var(--ink);text-decoration:none;}
.pick-link-view:hover{color:var(--accent);}
.pick-link-compare{font-family:'Space Mono',monospace;font-weight:700;font-size:13px;letter-spacing:.06em;color:var(--muted);text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:1px;}
.pick-link-compare:hover{color:var(--accent);border-color:var(--accent);}
.editors-pick-badge{position:absolute;top:-1px;right:-1px;font-family:'Space Mono',monospace;font-weight:700;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:var(--accent);padding:6px 12px;}

.sticky-detail-bar{position: fixed; left: 0; width: 100%; background: #ffffff; border-bottom: 1px solid var(--line, #e2e8f0); box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03); z-index: 1000; transform: translateY(-100%); transition: transform 0.3s ease, top 0.3s ease;
}
.sticky-detail-bar.is-sticky {transform: translateY(0);}
.sticky-detail-bar .pick-visit {font-family: 'Space Mono', monospace; font-weight: 700; font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: #fff !important; background: var(--accent, #f7b84b) !important; border: 1px solid var(--accent, #f7b84b) !important; transition: all .2s ease;}
.sticky-detail-bar .pick-visit:hover{background: var(--ink, #0f0e0c) !important; border-color: var(--ink, #0f0e0c) !important;}
.sticky-detail-bar .compare-cta {font-family: 'Space Mono', monospace; font-weight: 700; font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: var(--muted, #8795ab); border-bottom: 1px solid var(--line); padding-bottom: 1px;}
.sticky-detail-bar .compare-cta:hover{color: var(--accent, #f7b84b); border-color: var(--accent);}
.sticky-rating-wrp{display: none;}
.sticky-rating{width: 150px;}
.stiky-left{width: 130px;}
.pro-con p{font-size: 16px;}
  .codeblock {
    background: #0f1729;
    border-radius: 8px;
    padding: 18px 20px;
    margin: 24px 0;
    overflow-x: auto;
    font-family: "SF Mono", "Fira Code", Menlo, Consolas, monospace;
    font-size: 13px;
    line-height: 1.6;
    color: #d5def0;
    white-space: pre;
  }
  .codeblock .k { color: #8fb3ff; }
  .codeblock .s { color: #9fe0a8; }


@media (min-width:768px){
	.fs-5 {font-size: 1.25rem !important;}
	h1.font-head {font-size: 34px;}
	.blog-cta h2{font-size: 28px; }
	.blog-cta{padding: 30px 20px 30px 20px; color: #fff; position: relative;}
	
	.masonry{column-count:2; column-gap:1.2rem;}
	
	.cmp-cta-block{border-top:2px solid var(--ink);padding-top:32px;}
	.cmp-vs-card{display:flex;padding:20px 24px; justify-content: space-between;}
	.cmp-vs-side{display:flex;flex-wrap: wrap; width: auto; }
	.cmp-sub-box{width: auto;}
	.cmp-vs-side.is-right{flex-direction:row-reverse ;text-align:right;}
	.sticky-rating-wrp{display: flex;}


}

@media (min-width:992px){
	.navbar-kl .dropdown:hover .dropdown-menu{display:block;margin-top:0;}
	h1.font-head {font-size: 44px;}
	.cat-mega{min-width:480px;}

}

@media (min-width:1200px){
.navbar-kl .nav-item{padding: 0 15px;}
	.masonry{column-count:3;}
}

@media (max-width: 991px) {
	.cookie-consent-banner .banner-container{padding: 20px;}
    .cookie-consent-banner .btn-container{width: 100%; margin-top: 16px;}
	.sticky-filter-bar{top: 57px;}
}

@media (max-width: 768px) {
.cookie-consent-banner {bottom: 0; left: 0; right: 0; border-radius: 0; border-left: none; border-right: none; border-bottom: none;}
}
