/* BlogShog design v2: wider layout, imagery, sidebar, richer cards. Loaded after style.css. */
:root{--maxw:1240px;--shadow-lg:0 18px 40px rgba(18,32,32,.14)}
.container{max-width:var(--maxw)}
body{font-size:17px}
h1,h2,h3{letter-spacing:-.015em}

/* Header */
.site-header{background:var(--surface);box-shadow:0 1px 0 var(--line),0 10px 28px rgba(18,32,32,.05)}
@supports (backdrop-filter:blur(8px)){.site-header{background:color-mix(in srgb,var(--surface) 90%,transparent);backdrop-filter:saturate(1.5) blur(10px)}}
.site-header .container{min-height:74px}
.primary-nav>ul>li>a{font-size:.98rem;padding:11px 15px}
.primary-nav .sub-menu{border-radius:14px;box-shadow:var(--shadow-lg);padding:10px}
.topbar{background:linear-gradient(90deg,var(--brand-2),var(--brand))}

/* Section headings */
.bs-section-title,.section-head h2{position:relative}
.bs-section-title{border-bottom:0;padding-bottom:0;margin:44px 0 20px;font-size:clamp(1.4rem,2.6vw,1.9rem)}
.bs-section-title::after{content:"";display:block;width:56px;height:4px;border-radius:4px;background:var(--accent);margin-top:10px}
.bs-section-title.is-center::after{margin-inline:auto}

/* Cards */
.card{border-radius:18px;box-shadow:0 1px 2px rgba(18,32,32,.05);transition:transform .22s,box-shadow .22s,border-color .22s}
.card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);border-color:transparent}
.card .card-media{aspect-ratio:16/10}
.card .card-media img{transition:transform .6s ease}
.card:hover .card-media img{transform:scale(1.06)}
.card-body{padding:18px 20px 22px;gap:10px}
.card-title{font-size:1.2rem;line-height:1.3}
.card-excerpt{font-size:.95rem}
.pill{letter-spacing:.05em}

/* Home hero text block and start-here */
.bs-page-title{font-size:clamp(2rem,4.6vw,3.2rem);line-height:1.12;margin:18px auto 20px;max-width:900px}
.bs-hub-hero{background:linear-gradient(135deg,var(--surface) 0%,var(--accent-soft) 100%);border-radius:22px;padding:30px 34px;max-width:960px;box-shadow:0 1px 2px rgba(18,32,32,.05)}
.bs-hub-lead{font-size:1.18rem;line-height:1.75}
.bs-path{border-radius:16px;padding:20px;align-items:center}
.bs-path::before{width:56px;height:56px;border-radius:16px;background:var(--accent-soft);display:flex;align-items:center;justify-content:center;font-size:1.7rem;line-height:1}
.bs-hub-card{border-radius:16px}

/* Home mosaic */
.v2-mosaic{display:grid;gap:16px;grid-template-columns:1.6fr 1fr;margin:26px 0 8px}
.v2-feature{position:relative;border-radius:20px;overflow:hidden;background:var(--brand-2);min-height:200px}
.v2-feature-link{display:block;height:100%;min-height:inherit;color:#fff;text-decoration:none;position:relative}
.v2-feature img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.v2-feature:hover img{transform:scale(1.05)}
.v2-feature-copy{position:absolute;left:0;right:0;bottom:0;padding:22px 24px;background:linear-gradient(to top,rgba(5,16,16,.88) 15%,rgba(5,16,16,0));display:flex;flex-direction:column;gap:7px}
.v2-feature-title{font-family:var(--font-head);font-weight:700;line-height:1.22;font-size:1.02rem}
.v2-feature-meta{font-size:.82rem;opacity:.9}
.v2-feature-main{min-height:440px}
.v2-feature-main .v2-feature-title{font-size:clamp(1.45rem,3vw,2.1rem)}
.v2-feature-side{display:grid;gap:16px;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}
.v2-feature-side .v2-feature{min-height:0}
@media (max-width:900px){.v2-mosaic{grid-template-columns:1fr}.v2-feature-main{min-height:320px}.v2-feature-side .v2-feature{min-height:180px}}
@media (max-width:420px){.v2-feature-side{grid-template-columns:1fr}}

/* Photo strip */
.v2-block-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:36px 0 14px}
.v2-block-head h2{margin:0;font-size:clamp(1.35rem,2.6vw,1.8rem)}
.v2-block-head a{font-weight:700;text-decoration:none;white-space:nowrap}
.v2-strip{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(230px,270px);gap:16px;overflow-x:auto;padding:4px 2px 14px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
.v2-chip-card{scroll-snap-align:start;border-radius:18px;overflow:hidden;background:var(--surface);border:1px solid var(--line);color:var(--ink);text-decoration:none;display:block;transition:transform .2s,box-shadow .2s}
.v2-chip-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.v2-chip-card .im{position:relative;display:block;aspect-ratio:4/3;background:var(--surface-2)}
.v2-chip-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.v2-chip-card strong{display:block;padding:13px 15px 16px;font-family:var(--font-head);font-size:1rem;line-height:1.3}

/* Section image tiles */
.v2-tiles{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.v2-tile{position:relative;border-radius:20px;overflow:hidden;min-height:280px;display:block;color:#fff;text-decoration:none;background:var(--brand-2)}
.v2-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.v2-tile:hover img{transform:scale(1.06)}
.v2-tile::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(5,16,16,.9) 8%,rgba(5,16,16,.12) 72%)}
.v2-tile-copy{position:absolute;z-index:1;left:0;right:0;bottom:0;padding:22px;display:flex;flex-direction:column;gap:6px}
.v2-tile-title{font-family:var(--font-head);font-size:1.55rem;font-weight:700;line-height:1.15}
.v2-tile-desc{font-size:.96rem;opacity:.93}
.v2-tile-cta{font-weight:700;font-size:.92rem;color:#ffd9b0}

/* Two-column layout with sidebar */
.v2-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:44px;align-items:start;margin-top:10px}
@media (max-width:1020px){.v2-layout{grid-template-columns:1fr;gap:30px}}
.v2-main{min-width:0}
.v2-main .grid{grid-template-columns:repeat(2,1fr);gap:22px}
@media (max-width:600px){.v2-main .grid{grid-template-columns:1fr}}
.v2-lead{margin-bottom:22px}
.v2-lead .card{flex-direction:row}
.v2-lead .card-media{flex:0 0 52%;aspect-ratio:auto;min-height:300px}
.v2-lead .card-title{font-size:1.7rem}
.v2-lead .card-body{justify-content:center;padding:24px 26px}
@media (max-width:760px){.v2-lead .card{flex-direction:column}.v2-lead .card-media{flex:none;aspect-ratio:16/10;min-height:0}}

/* Sidebar */
.v2-side{display:grid;gap:22px}
.v2-widget{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:20px 20px 22px}
.v2-w-title{font-size:1.08rem;margin:0 0 16px;padding-bottom:10px;border-bottom:2px solid var(--accent)}
.v2-widget .search-form{flex-direction:column}
.v2-widget .search-form .btn{justify-content:center}
.v2-w-list{display:grid;gap:15px}
.v2-w-item{display:grid;grid-template-columns:86px 1fr;gap:13px;align-items:center;text-decoration:none;color:var(--ink)}
.v2-w-item:hover strong{color:var(--brand)}
.v2-w-item .im{position:relative;display:block;aspect-ratio:1;border-radius:12px;overflow:hidden;background:var(--surface-2)}
.v2-w-item img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.v2-w-item strong{display:block;font-family:var(--font-head);font-size:.96rem;line-height:1.3}
.v2-w-item small{display:block;color:var(--muted);font-size:.8rem;margin-top:3px}
.v2-chips{display:flex;flex-wrap:wrap;gap:8px}
.v2-chips a{padding:7px 13px;border:1px solid var(--line);border-radius:999px;font-size:.86rem;font-weight:600;text-decoration:none;background:var(--surface-2);color:var(--ink)}
.v2-chips a:hover{background:var(--brand);color:var(--on-brand);border-color:var(--brand)}
.v2-w-author{text-align:center}
.v2-w-author img{margin:0 auto 12px;border-radius:50%}
.v2-w-author h3{margin:0 0 6px;font-size:1.1rem}
.v2-w-author p{margin:0 0 12px;color:var(--muted);font-size:.93rem}

/* Article page */
.v2-wide{max-width:var(--maxw)}
.v2-head{max-width:1000px;margin:0 0 10px}
.v2-head h1{font-size:clamp(1.95rem,4.2vw,3rem);line-height:1.14}
.v2-article .article-figure{max-width:none;margin:6px 0 26px}
.v2-article .article-figure img{width:100%;border-radius:20px}
.v2-article .notice,.v2-article .tags,.v2-article .author-box{max-width:none}
.v2-entry{max-width:none;font-size:1.1rem;line-height:1.85}
.v2-entry h2{font-size:clamp(1.5rem,3vw,2.05rem);margin-top:2em}
.v2-entry h3{font-size:1.35rem}
.v2-entry img{border-radius:14px}
.v2-entry blockquote{border-radius:0 14px 14px 0;font-size:1.08rem}
.v2-entry .toc{border-radius:16px}
.related{padding-top:20px}

/* Archive header */
.archive-head{padding:44px 0 14px;background:linear-gradient(180deg,var(--surface-2),transparent)}
.archive-head h1{font-size:clamp(2rem,4vw,2.8rem)}

/* Buttons and footer */
.btn{border-radius:12px;padding:12px 22px}
.site-footer{background:linear-gradient(180deg,#0b1b1b,#07120f)}
