/* =====================================================================
   Asset Bank — Blog & Activities list and article pages (2026 redesign).
   Needs ab-site.css for the tokens, the scoped reset and .ab-pagehead.
   ===================================================================== */
.ab-postspage,.ab-postpage{background:var(--ab-ground)}


/* ---- post cards ---- */
.ab-bloglist{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding:20px 0 50px}
.ab-post{background:#fff;border:1px solid var(--ab-line-2);border-radius:var(--ab-r-m);overflow:hidden;box-shadow:var(--ab-shadow-card);
  display:flex;flex-direction:column;transition:transform .18s,box-shadow .18s;color:var(--ab-ink)}
a.ab-post:hover{transform:translateY(-4px);box-shadow:0 14px 36px rgba(11,18,32,.13);color:var(--ab-ink)}
.ab-post .ph{aspect-ratio:16/9;overflow:hidden;background:var(--ab-ground-2);position:relative}
.ab-post .ph img{width:100%;height:100%;object-fit:cover}
.ab-post .ph.empty{display:grid;place-items:center}
.ab-post .ph.empty .ab-ico{width:54px;height:54px;opacity:.5}
.ab-kindtag{display:inline-block;background:var(--ab-blue);color:#fff;font-size:12px;font-weight:700;line-height:1.5;padding:3px 11px;border-radius:var(--ab-r-s)}
.ab-kindtag.activity{background:var(--ab-red)}
.ab-kindtag.column{background:var(--ab-teal)}
.ab-post .ph .ab-kindtag{position:absolute;left:12px;top:12px}
.ab-post .bd{padding:16px 18px 18px;display:flex;flex-direction:column;gap:8px;flex:1}
.ab-post time{font-family:var(--ab-lat);font-size:12.5px;color:var(--ab-muted)}
.ab-post h3{font-size:16px;font-weight:700;line-height:1.55}
.ab-post p{font-size:13.5px;color:var(--ab-muted);line-height:1.7;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.ab-post .more{margin-top:auto;padding-top:10px;color:var(--ab-price);font-weight:700;font-size:13.5px;display:flex;gap:7px;align-items:center}
.ab-post .more .ab-ico{width:15px;height:15px}
.ab-post.feature{grid-column:span 3;flex-direction:row}
.ab-post.feature .ph{aspect-ratio:auto;flex:0 0 48%;min-height:280px}
.ab-post.feature .bd{padding:30px 34px;gap:12px;justify-content:center}
.ab-post.feature h3{font-size:26px;line-height:1.4}
.ab-post.feature p{font-size:15px;-webkit-line-clamp:5}
.ab-blog-none{padding:40px 0 60px;color:var(--ab-muted)}

/* ---- article ---- */
.ab-postwrap{padding:26px 0 50px}
/* The article card (748px, see .ab-article below) and the table of contents sit
   side by side as one group centered on the page; without contents the card alone */
.ab-postwrap{display:grid;grid-template-columns:minmax(0,748px) 300px;gap:30px;align-items:start;justify-content:center}
.ab-postwrap:not(.has-toc){grid-template-columns:minmax(0,748px)}
.ab-article{background:#fff;border-radius:var(--ab-r-m);border:1px solid var(--ab-line-2);padding:clamp(24px,4vw,54px);box-shadow:var(--ab-shadow-card);min-width:0}
.ab-article .ab-backlink{display:inline-flex;align-items:center;gap:8px;color:var(--ab-price);font-weight:700;font-size:14px;margin-bottom:6px}
.ab-article a.ab-backlink:hover{color:var(--ab-price);text-decoration:underline}
.ab-article .ab-backlink .ab-ico{width:15px;height:15px}
.ab-article .meta{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:13px;color:var(--ab-muted);margin-top:8px}
.ab-article .meta time{font-family:var(--ab-lat)}
.ab-article h1{font-size:clamp(24px,3vw,36px);font-weight:900;margin:14px 0 18px;line-height:1.4}
.ab-article .cover{margin:0 0 24px}
/* Text and images share one column (client request): the white card is only
   as wide as that column plus its padding, centered on the page background */
.ab-article{--ab-col:640px;box-sizing:border-box;width:100%;max-width:calc(var(--ab-col) + 108px);justify-self:center}
.ab-article .cover img{border-radius:var(--ab-r-s);width:100%;max-height:520px;object-fit:cover}

/* article body: our own news blocks, or the HTML that Wix returns */
.ab-article .body{font-size:15.5px;line-height:2;color:var(--ab-ink-2);overflow-wrap:anywhere}
.ab-article .body p{margin:0 0 16px}
.ab-article .body p:empty,.ab-article .body p:has(>br:only-child){display:none}
.ab-article .body :is(h2,h3,h4,h5){color:var(--ab-ink);line-height:1.5;scroll-margin-top:calc(var(--ab-hdr-h,110px) + 16px)}
.ab-article .body h2{font-size:21px;font-weight:700;margin:32px 0 12px;padding-left:12px;border-left:4px solid var(--ab-blue)}
.ab-article .body h3{font-size:18px;font-weight:700;margin:26px 0 10px}
.ab-article .body :is(h4,h5){font-size:16px;font-weight:700;margin:20px 0 8px}
.ab-article .body ul,.ab-article .body ol{margin:0 0 18px;padding:0;display:grid;gap:8px;list-style:none}
.ab-article .body li{padding-left:20px;position:relative;font-size:15px;line-height:1.85}
.ab-article .body ul>li::before{content:"";position:absolute;left:4px;top:.75em;width:7px;height:7px;border-radius:50%;background:var(--ab-gold)}
.ab-article .body ol{counter-reset:ab-ol}
.ab-article .body ol>li{counter-increment:ab-ol}
.ab-article .body ol>li::before{content:counter(ab-ol) ".";position:absolute;left:0;font-weight:700;color:var(--ab-price)}
.ab-article .body a{color:var(--ab-price);text-decoration:underline}
.ab-article .body img{display:block;width:100%;height:auto;border-radius:var(--ab-r-s);margin:6px 0;cursor:zoom-in}
.ab-article .body strong,.ab-article .body b{color:var(--ab-ink)}
.ab-post-cta{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:26px;padding-top:22px;border-top:1px solid var(--ab-line)}
.ab-post-cta .go{background:var(--ab-orange);color:#fff;font-weight:700;font-size:16px;line-height:1.4;padding:14px 42px;border-radius:var(--ab-r-m);display:flex;gap:10px;align-items:center}
.ab-post-cta a.go:hover{background:var(--ab-orange-d);color:#fff}
.ab-post-cta .go .ab-ico{width:18px;height:18px}
.ab-post-cta .hint{font-size:13px;color:var(--ab-muted)}
.ab-post-cta .hint a{color:var(--ab-price);font-weight:700}
.ab-post-cta .hint a:hover{color:var(--ab-price);text-decoration:underline}

/* table of contents beside long articles */
.ab-toc{position:sticky;top:calc(var(--ab-hdr-h,110px) + 12px);background:#fff;border:1px solid var(--ab-line-2);border-radius:var(--ab-r-m);padding:20px 18px;box-shadow:var(--ab-shadow-card);max-height:calc(100vh - var(--ab-hdr-h,110px) - 40px);overflow:auto}
.ab-toc summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px}
.ab-toc summary::-webkit-details-marker{display:none}
.ab-toc[open] summary{margin-bottom:10px}
.ab-toc h2{font-size:15px;font-weight:700}
@media (min-width:981px){ .ab-toc summary{pointer-events:none} }
.ab-toc nav{display:grid;gap:2px}
.ab-toc a{display:block;padding:7px 10px;border-radius:6px;font-size:13.5px;line-height:1.5;color:var(--ab-ink-2);transition:background .15s}
.ab-toc a.sub{padding-left:24px;font-size:13px;color:var(--ab-muted)}
.ab-toc a:hover{background:var(--ab-ground-2);color:var(--ab-price)}

/* click-to-enlarge for article images */
.ab-lightbox{position:fixed;inset:0;z-index:1060;background:rgba(11,18,32,.85);display:grid;place-items:center;padding:24px;cursor:zoom-out}
.ab-lightbox img{max-width:min(1200px,100%);max-height:90vh;border-radius:var(--ab-r-s);box-shadow:0 18px 60px rgba(0,0,0,.5)}

/* back-to-top button, stacked above the WhatsApp button */
.ab-totop{position:fixed;right:24px;bottom:84px;z-index:1039;width:46px;height:46px;border-radius:50%;border:0;
  background:#fff;color:var(--ab-blue);display:grid;place-items:center;box-shadow:0 6px 20px rgba(11,18,32,.22);transition:background .16s,transform .16s}
.ab-totop:hover{background:#EEF3FF;transform:translateY(-2px)}
.ab-totop .ab-ico{width:20px;height:20px;stroke-width:2.4;rotate:180deg}
@media (max-width:760px){.ab-totop{right:14px;bottom:62px;width:40px;height:40px}}

@media (max-width:1180px){
  .ab-bloglist{grid-template-columns:repeat(2,1fr)}
  .ab-post.feature{grid-column:span 2}
}
@media (max-width:980px){
  .ab-postwrap,.ab-postwrap:not(.has-toc){grid-template-columns:1fr}
  .ab-toc{position:static;order:-1;max-height:none}
  .ab-toc summary{cursor:pointer}
  .ab-toc summary::after{content:"";width:9px;height:9px;margin-right:4px;border-right:2px solid var(--ab-price);border-bottom:2px solid var(--ab-price);transform:translateY(-25%) rotate(45deg);transition:transform .2s}
  .ab-toc[open] summary::after{transform:translateY(25%) rotate(225deg)}
}
@media (max-width:760px){
  .ab-bloglist{grid-template-columns:1fr;gap:16px;padding:14px 0 40px}
  .ab-post.feature{grid-column:span 1;flex-direction:column}
  .ab-post.feature .ph{aspect-ratio:16/9;flex:auto;min-height:0}
  .ab-post.feature .bd{padding:16px 18px 18px;gap:8px}
  .ab-post.feature h3{font-size:18px}
  .ab-post.feature p{font-size:13.5px}
  .ab-postwrap{padding:14px 0 36px;gap:14px}
  .ab-article{padding:20px 16px}
  .ab-article .body{font-size:15px}
  .ab-toc{padding:14px 16px}
  .ab-post-cta .go{padding:13px 26px;font-size:15px}
}
