/* cf-vault-core blog 1.1.0 (blog list views only: /blog/, post category / tag / author archives; after core.css).
   Components come from core.css (hero, chips, pagination, help row); this file adds the featured card and the post cards.
   Specificity (0,2,1) like the core components. The title link of a card covers the whole card (::after). */

/* Archives keep Astra's separate-container body class, whose phone rule pads #content .ast-container by .54em (1,2,0)
   on top of the 16px vault gutter (core only zeroes it at (0,3,1)); /blog/ itself is a page-builder page. */
html body.cfv-blog #content>.ast-container{padding-left:0;padding-right:0}

/* Hero */
html .cfv-scope .cfb .cv-hero{gap:16px;padding-bottom:clamp(16px,2.2vw,28px)}
html .cfv-scope .cfb-sub{font-size:var(--cv-fs-sm);font-weight:600;color:var(--cv-mu)}
html .cfv-scope .cfb-desc :where(p){margin:0}
html .cfv-scope .cfb-desc :where(p+p){margin-top:.6em}

/* Category chips (a swipe row on phones, as the catalog) */
html .cfv-scope .cfb-cats{margin-bottom:clamp(24px,3vw,40px)}
html .cfv-scope .cfb-cats .cv-chips>li{flex:0 0 auto}
html .cfv-scope .cfb-cats .cv-chip svg{color:#ffd978}
html .cfv-scope .cfb-cats .cv-chip.is-current svg{color:currentColor}
@media(max-width:767px){html .cfv-scope .cfb-cats .cv-chips{flex-wrap:nowrap;overflow-x:auto;margin:0 -16px;padding:6px 16px 10px;scrollbar-width:none;-webkit-overflow-scrolling:touch}html .cfv-scope .cfb-cats .cv-chips::-webkit-scrollbar{display:none}}

/* Featured latest review (page 1 of /blog/) */
html .cfv-scope .cfb-feat{margin:0 0 clamp(36px,4.5vw,64px)}
html .cfv-scope .cfb-feat__card{position:relative;display:grid;grid-template-columns:minmax(0,1fr);overflow:hidden;border:1px solid var(--cv-line-5);border-radius:var(--cv-r-lg);background:radial-gradient(90% 70% at 100% 0,rgba(240,195,90,.16),transparent 60%),var(--cv-card);box-shadow:var(--cv-sh-card),var(--cv-sh-ring);transition:border-color .2s}
html .cfv-scope .cfb-feat__card:is(:hover,:focus-within){border-color:#ffd978}
html .cfv-scope .cfb-feat__media{position:relative;height:min(360px,calc(100vw - 34px));overflow:hidden;background:radial-gradient(70% 70% at 50% 40%,rgba(240,195,90,.14),transparent 70%),#070a13}
html .cfv-scope .cfb-feat__media img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .4s}
@media(min-width:600px){html .cfv-scope .cfb-feat__card{grid-template-columns:minmax(0,2fr) minmax(0,3fr)}html .cfv-scope .cfb-feat__card--text{grid-template-columns:minmax(0,1fr)}html .cfv-scope .cfb-feat__media{height:auto;aspect-ratio:1/1}html .cfv-scope .cfb-feat__media img{object-fit:cover}}
@media(min-width:1024px){html .cfv-scope .cfb-feat__card{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}html .cfv-scope .cfb-feat__card--text{grid-template-columns:minmax(0,1fr)}}
html .cfv-scope .cfb-feat__card:hover .cfb-feat__media img{transform:scale(1.03)}
html .cfv-scope .cfb-feat__body{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:14px;min-width:0;padding:clamp(20px,3.4vw,44px)}
html .cfv-scope .cfb-feat__title{font-size:clamp(24px,1.5vw + 16px,38px);font-weight:700;line-height:1.1;letter-spacing:-.025em;color:#fff;text-wrap:balance;overflow-wrap:anywhere}
html .cfv-scope .cfb-feat__title a{color:inherit;text-decoration:none}
html .cfv-scope .cfb-feat__title a::after{content:"";position:absolute;inset:0;z-index:1}
html .cfv-scope .cfb-feat__card:hover .cfb-feat__title{color:var(--cv-g-4)}
html .cfv-scope .cfb-feat__ex{max-width:60ch;font-size:clamp(15px,.3vw + 14px,17px);line-height:1.6;color:var(--cv-body)}
html .cfv-scope .cfb-feat__go{margin-top:4px;pointer-events:none}
html .cfv-scope .cfb-feat__card:hover .cfb-feat__go{filter:brightness(1.06)}
html .cfv-scope .cfb-feat__card:hover .cfb-feat__go .cv-arrow{transform:translateX(3px)}

/* List head */
html .cfv-scope .cfb-list__head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 20px;margin-bottom:clamp(14px,1.8vw,22px)}
html .cfv-scope .cfb-h2{font-size:var(--cv-fs-xl);font-weight:700;line-height:1.15;letter-spacing:-.02em;color:#fff}
html .cfv-scope .cfb-n{font-weight:600;color:var(--cv-mu)}

/* Post cards: square thumbnail + text, or a text card when the post has no featured image */
html .cfv-scope .cfb-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(14px,1.6vw,20px)}
@media(min-width:900px){html .cfv-scope .cfb-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
html .cfv-scope .cfb-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 84px;grid-template-areas:"meta media" "title media" "ex ex";align-content:start;gap:8px 14px;min-width:0;padding:16px;border:1px solid var(--cv-line-2);border-radius:var(--cv-r-md);background:radial-gradient(80% 70% at 100% 0,rgba(240,195,90,.07),transparent 60%),var(--cv-card-2);box-shadow:var(--cv-sh-card);transition:border-color .2s,background-color .2s}
html .cfv-scope .cfb-card--text{grid-template-columns:minmax(0,1fr);grid-template-areas:"meta" "title" "ex"}
html .cfv-scope .cfb-card--text::before{content:"";position:absolute;top:-1px;left:18px;right:18px;height:1px;background:linear-gradient(90deg,#f0c35a,rgba(240,195,90,.22) 55%,transparent)}
@media(min-width:560px){html .cfv-scope .cfb-card{grid-template-columns:136px minmax(0,1fr);grid-template-areas:"media meta" "media title" "media ex";grid-template-rows:auto auto 1fr;column-gap:18px;padding:18px}html .cfv-scope .cfb-card--text{grid-template-columns:minmax(0,1fr);grid-template-areas:"meta" "title" "ex";grid-template-rows:auto auto 1fr}}
html .cfv-scope .cfb-card:is(:hover,:focus-within){border-color:var(--cv-line-5)}
html .cfv-scope .cfb-card__media{grid-area:media;align-self:start;aspect-ratio:1/1;overflow:hidden;border:1px solid var(--cv-line-2);border-radius:12px;background:#070a13}
html .cfv-scope .cfb-card__media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s}
html .cfv-scope .cfb-card:hover .cfb-card__media img{transform:scale(1.04)}
html .cfv-scope .cfb-meta{grid-area:meta;display:flex;flex-wrap:wrap;align-items:center;gap:2px 8px;font-size:12.5px;font-weight:600;line-height:1.4;color:var(--cv-mu)}
html .cfv-scope .cfb-cat{font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--cv-g)}
html .cfv-scope .cfb-dot{color:var(--cv-dim)}
html .cfv-scope .cfb-feat .cfb-meta{font-size:13.5px}
/* Phones: next to the thumbnail the category and the date stack (no dangling separator) */
@media(max-width:559px){html .cfv-scope .cfb-card:not(.cfb-card--text) .cfb-meta{flex-direction:column;align-items:flex-start;gap:2px}html .cfv-scope .cfb-card:not(.cfb-card--text) .cfb-dot{display:none}}
html .cfv-scope .cfb-card__title{grid-area:title;font-size:clamp(16.5px,.3vw + 15.5px,18.5px);font-weight:700;line-height:1.3;letter-spacing:-.01em;color:#fff;overflow-wrap:anywhere;text-wrap:pretty}
html .cfv-scope .cfb-card__title a{color:inherit;text-decoration:none}
html .cfv-scope .cfb-card__title a::after{content:"";position:absolute;inset:0;z-index:1;border-radius:var(--cv-r-md)}
html .cfv-scope .cfb-card:hover .cfb-card__title{color:var(--cv-g-3)}
html .cfv-scope .cfb-card__ex{grid-area:ex;font-size:14.5px;line-height:1.55;color:var(--cv-body);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}
html .cfv-scope .cfb-card--text .cfb-card__ex{-webkit-line-clamp:4;line-clamp:4}

/* Empty state, help row */
html .cfv-scope .cfb-none{display:grid;gap:12px;justify-items:start}
html .cfv-scope .cfb-help{margin-top:clamp(32px,4vw,56px)}

/* "New in the store" strip (cf-crawl-boost markup, shown only while cf_crawl_strip_live=1), after the post list */
html .cfv-scope .cfcb{margin-top:clamp(32px,4vw,56px)}
html .cfv-scope .cfcb__in{padding:clamp(18px,2.4vw,28px);border:1px solid var(--cv-line-2);border-radius:var(--cv-r-md);background:var(--cv-card-2);box-shadow:var(--cv-sh-card)}
html .cfv-scope .cfcb__h{font-size:var(--cv-fs-lg);font-weight:700;line-height:1.2;letter-spacing:-.015em;color:#fff}
html .cfv-scope .cfcb__sub{margin-top:4px;font-size:14.5px;line-height:1.5;color:var(--cv-mu)}
html .cfv-scope .cfcb__list{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px 12px;margin:16px 0 0;padding:0;list-style:none}
html .cfv-scope .cfcb__list>li{margin:0;padding:0;list-style:none}
html .cfv-scope .cfcb__list a{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px;padding:10px 12px;border:1px solid var(--cv-line-1);border-radius:var(--cv-r-sm);background:var(--cv-fill-2);color:var(--cv-text-2);font-size:15px;font-weight:600;line-height:1.35;text-decoration:none;overflow-wrap:anywhere;transition:border-color .2s}
html .cfv-scope .cfcb__list a:hover{border-color:var(--cv-line-5);color:#fff}
html .cfv-scope .cfcb a:focus-visible{outline:2px solid var(--cv-focus);outline-offset:2px}
html .cfv-scope .cfcb__pf{flex:none;padding:2px 8px;border:1px solid var(--cv-line-3);border-radius:999px;color:var(--cv-g-2);font-size:11.5px;font-weight:700;letter-spacing:.04em;line-height:1.5}
html .cfv-scope .cfcb__more{margin-top:14px}
html .cfv-scope .cfcb__more a{font-weight:700;color:var(--cv-g-2);text-decoration:underline;text-decoration-color:rgba(255,217,120,.45);text-underline-offset:4px}
@media(max-width:600px){html .cfv-scope .cfcb__list{grid-template-columns:minmax(0,1fr)}}

@media(prefers-reduced-motion:reduce){html .cfv-scope :is(.cfb-card,.cfb-feat__card):hover img,html .cfv-scope .cfb-feat__card:hover .cfb-feat__go .cv-arrow{transform:none}}
