/* Blog: single posts, post archives and the blog sidebar.
 * Loaded only on blog views (see blog-functions.php). Uses the tokens from design.css. */

/* The sidebar is sticky, so the wrapper must not clip. Hero sections clip their own glow. */
.gz-page.gz-blog{overflow:visible}
.gz-blog a{text-decoration:none}

/* ---------- Reading progress ---------- */
.gz-progress{position:fixed;inset:0 0 auto 0;height:3px;z-index:1040;pointer-events:none}
.gz-progress span{display:block;height:100%;background:var(--gz-grad);transform:scaleX(0);transform-origin:0 50%;box-shadow:0 0 12px rgba(219,39,119,.6)}

/* ---------- Hero ---------- */
.gz-post-hero{padding:9.5rem 0 8.5rem;text-align:center}
.gz-post-hero .gz-crumbs{display:flex;flex-wrap:wrap;justify-content:center;align-items:center}
.gz-post-title{max-width:980px;font-size:clamp(2rem,4.4vw,3.4rem)!important;text-wrap:balance}
.gz-post-dek{max-width:720px}
.gz-post-cat{position:relative;z-index:2;display:inline-block;font:700 .7rem/1 var(--gz-font-body);letter-spacing:.14em;text-transform:uppercase;color:#f0abfc!important;padding:.45rem .75rem;border-radius:999px;background:rgba(192,38,211,.14);border:1px solid rgba(240,171,252,.25);transition:background-color .25s,color .25s}
.gz-post-cat:hover{background:rgba(192,38,211,.3);color:#fff!important}
.gz-post-cat-lg{margin-bottom:1.25rem;padding:.5rem .95rem;font-size:.74rem}
.gz-post-meta{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.6rem .85rem;font-size:.9rem;color:var(--gz-muted)}
.gz-post-author{display:inline-flex;align-items:center;gap:.6rem}
.gz-post-author a{color:#fff!important;font-weight:600}
.gz-post-author a:hover{color:#f0abfc!important}
.gz-avatar-img{width:40px;height:40px;border-radius:50%;object-fit:cover;object-position:top;background:var(--gz-grad);box-shadow:0 0 0 2px rgba(240,171,252,.35)}
.gz-dot{width:4px;height:4px;border-radius:50%;background:currentColor;opacity:.5;flex:none}

/* ---------- Cover image (overlaps the hero) ---------- */
.gz-blog-body{padding:0 0 5rem;position:relative;z-index:2}
.gz-archive-body{padding-top:4rem}
.gz-post-cover{margin:-5.5rem 0 3.5rem;border-radius:24px;overflow:hidden;border:1px solid var(--gz-line);background:var(--gz-card);box-shadow:0 40px 90px -40px rgba(0,0,0,.9),0 30px 80px -40px rgba(192,38,211,.55);aspect-ratio:16/9}
@media (min-width:992px){.gz-post-cover{aspect-ratio:21/9}}
.gz-post-cover img{width:100%;height:100%;object-fit:cover;display:block}

/* ---------- Article typography ---------- */
.gz-blog .gz-entry{font-size:1.08rem;line-height:1.85;color:#d6cce4;overflow-wrap:break-word}
.gz-blog .gz-entry>*{margin-top:0;margin-bottom:1.4rem}
.gz-blog .gz-entry p{font-size:inherit;line-height:inherit;color:#cfc4df}
.gz-blog .gz-entry>p:first-child{font-size:1.2rem;line-height:1.75;color:var(--gz-text)}
.gz-blog .gz-entry strong{color:#fff;font-weight:650}
.gz-blog .gz-entry h2{font-size:clamp(1.5rem,2.4vw,1.95rem);line-height:1.25;margin:3.25rem 0 1.1rem;scroll-margin-top:110px}
.gz-blog .gz-entry h2::before{content:"";display:block;width:44px;height:3px;border-radius:3px;background:var(--gz-grad);margin-bottom:1rem}
.gz-blog .gz-entry h3{font-size:1.25rem;line-height:1.35;margin:2.25rem 0 .75rem;scroll-margin-top:110px}
.gz-blog .gz-entry h4{font-size:1.08rem;margin:1.75rem 0 .6rem}
.gz-blog .gz-entry a:not(.wp-block-button__link){color:#f0abfc;text-decoration:underline;text-decoration-color:rgba(240,171,252,.4);text-underline-offset:3px;text-decoration-thickness:1px;transition:color .2s,text-decoration-color .2s}
.gz-blog .gz-entry a:not(.wp-block-button__link):hover{color:#fff;text-decoration-color:#fff}

/* Lists */
.gz-blog .gz-entry ul,.gz-blog .gz-entry ol{list-style:none;padding-left:0}
.gz-blog .gz-entry li{position:relative;padding-left:1.9rem;margin-bottom:.65rem}
.gz-blog .gz-entry li>ul,.gz-blog .gz-entry li>ol{margin:.65rem 0 0}
.gz-blog .gz-entry ul>li::before{content:"";position:absolute;left:.35rem;top:.72em;width:8px;height:8px;border-radius:50%;background:var(--gz-grad);box-shadow:0 0 10px rgba(219,39,119,.5)}
.gz-blog .gz-entry ol{counter-reset:gzol}
.gz-blog .gz-entry ol>li{counter-increment:gzol;padding-left:2.5rem}
.gz-blog .gz-entry ol>li::before{content:counter(gzol);position:absolute;left:0;top:.2em;width:1.7rem;height:1.7rem;border-radius:50%;display:grid;place-items:center;font:700 .78rem/1 var(--gz-font-head);color:#fff;background:linear-gradient(140deg,rgba(219,39,119,.35),rgba(147,51,234,.35));box-shadow:inset 0 0 0 1px rgba(240,171,252,.35)}

/* Quotes, code, rules, media */
.gz-blog .gz-entry blockquote,.gz-blog .gz-entry .wp-block-quote,.gz-blog .gz-entry .wp-block-pullquote{margin:2rem 0;padding:1.4rem 1.6rem;border-left:3px solid #db2777;border-radius:0 16px 16px 0;background:linear-gradient(90deg,rgba(192,38,211,.12),rgba(192,38,211,.02))}
.gz-blog .gz-entry blockquote p{font-size:1.12rem;color:#fff;margin-bottom:.5rem}
.gz-blog .gz-entry blockquote p:last-child{margin-bottom:0}
.gz-blog .gz-entry cite{display:block;margin-top:.6rem;font-size:.85rem;font-style:normal;color:var(--gz-muted)}
.gz-blog .gz-entry code{font-size:.88em;color:#f9a8d4;background:rgba(255,255,255,.06);border:1px solid var(--gz-line);padding:.12em .4em;border-radius:6px}
.gz-blog .gz-entry pre{background:#0a0414;border:1px solid var(--gz-line);border-radius:14px;padding:1.2rem 1.4rem;overflow-x:auto;font-size:.9rem;line-height:1.65}
.gz-blog .gz-entry pre code{background:none;border:0;padding:0;color:#e9e3f3}
.gz-blog .gz-entry hr{border:0;height:1px;background:var(--gz-line);opacity:1;margin:2.75rem 0}
.gz-blog .gz-entry img{max-width:100%;height:auto;border-radius:14px}
.gz-blog .gz-entry figure{margin:2rem 0}
.gz-blog .gz-entry figcaption{margin-top:.6rem;font-size:.84rem;color:var(--gz-muted);text-align:center}
.gz-blog .gz-entry iframe,.gz-blog .gz-entry video{max-width:100%;border-radius:14px}

/* Tables (posts also carry their own inline table rules; these match them) */
.gz-blog .gz-entry .wp-block-table{margin:2rem 0;overflow-x:auto;border:1px solid var(--gz-line);border-radius:16px}
.gz-blog .gz-entry table{width:100%;border-collapse:collapse;font-size:.94rem;line-height:1.6}
.gz-blog .gz-entry .wp-block-table th,.gz-blog .gz-entry .wp-block-table td{padding:.8rem 1rem;border:0;border-bottom:1px solid var(--gz-line);vertical-align:top;text-align:left}
.gz-blog .gz-entry .wp-block-table tr>*+*{border-left:1px solid var(--gz-line)}
.gz-blog .gz-entry .wp-block-table tbody tr:last-child td{border-bottom:0}
.gz-blog .gz-entry .wp-block-table thead th{background:rgba(192,38,211,.16);color:#fff;font-family:var(--gz-font-head);font-weight:700}
.gz-blog .gz-entry .wp-block-table figcaption{margin:0;padding:.7rem 1rem;border-top:1px solid var(--gz-line);text-align:left}

/* Callout cards and FAQ inside articles */
.gz-blog .gz-entry .gz-card{height:auto;margin:2.25rem 0;padding:1.5rem 1.65rem;border-radius:18px;background:radial-gradient(500px 220px at 100% 0,rgba(219,39,119,.14),transparent 70%),var(--gz-card)}
.gz-blog .gz-entry .gz-card::before{content:"";position:absolute;left:0;top:1.4rem;bottom:1.4rem;width:3px;border-radius:0 3px 3px 0;background:var(--gz-grad)}
.gz-blog .gz-entry .gz-card p{font-size:1rem;line-height:1.7}
.gz-blog .gz-entry .gz-card p:first-child strong{font-family:var(--gz-font-head);font-size:1.08rem}
.gz-blog .gz-entry .gz-faq{margin:1.5rem 0 2.5rem;max-width:none}
.gz-blog .gz-entry .gz-faq .wp-block-details{margin-bottom:.75rem}
.gz-blog .gz-entry .gz-faq summary{font-size:1rem}
.gz-blog .gz-entry .gz-faq .wp-block-details>p{font-size:.98rem;line-height:1.75}

/* Photo credit line added by the featured-image tool */
.gz-blog .gz-entry p.small.text-body-secondary{font-size:.82rem;line-height:1.6;color:var(--gz-muted);margin:2.5rem 0 0}
.gz-blog .gz-entry p.small.text-body-secondary a{color:var(--gz-muted);text-decoration-color:rgba(185,174,203,.4)}

/* ---------- Mobile table of contents ---------- */
.gz-toc-mobile{margin:0 0 2rem;background:var(--gz-card);border:1px solid var(--gz-line);border-radius:16px}
.gz-toc-mobile summary{list-style:none;cursor:pointer;position:relative;padding:1rem 3.5rem 1rem 1.25rem;font:700 .75rem/1.2 var(--gz-font-body);letter-spacing:.16em;text-transform:uppercase;color:#f0abfc}
.gz-toc-mobile summary::-webkit-details-marker{display:none}
.gz-toc-mobile summary::after{content:"";position:absolute;right:1.25rem;top:50%;width:.5em;height:.5em;margin-top:-.4em;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .3s}
.gz-toc-mobile[open] summary::after{transform:rotate(225deg);margin-top:-.1em}
.gz-toc-mobile .gz-toc-list{padding:0 1.25rem 1.1rem}

/* ---------- Article footer: tags + share ---------- */
.gz-post-foot{margin-top:3rem;padding-top:1.75rem;border-top:1px solid var(--gz-line);display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.25rem}
.gz-share{display:flex;align-items:center;gap:.5rem;margin-left:auto}
.gz-share-label{font-size:.85rem;font-weight:600;color:var(--gz-muted);margin-right:.35rem}
.gz-share-btn{position:relative;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;color:#fff!important;background:rgba(255,255,255,.05);border:1px solid var(--gz-line);cursor:pointer;transition:background .25s,border-color .25s,transform .25s}
.gz-share-btn:hover{background:var(--gz-grad);border-color:transparent;transform:translateY(-2px)}
.gz-share-btn:focus-visible{outline:2px solid #f0abfc;outline-offset:2px}
.gz-copy-done{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);white-space:nowrap;font-size:.75rem;font-weight:600;padding:.3rem .6rem;border-radius:8px;background:#fff;color:#1b0e30;opacity:0;pointer-events:none;transition:opacity .2s}
.gz-copy.is-copied .gz-copy-done{opacity:1}
@media (max-width:575.98px){.gz-share{margin-left:0}.gz-share-label{width:100%;margin-bottom:.25rem}.gz-share{flex-wrap:wrap}}

/* ---------- Previous / next ---------- */
.gz-post-nav{display:grid;grid-template-columns:1fr;gap:1rem;margin-top:2.5rem}
@media (min-width:768px){.gz-post-nav{grid-template-columns:1fr 1fr}}
.gz-post-nav-link{display:flex;flex-direction:column;gap:.45rem;padding:1.25rem 1.4rem;border-radius:18px;background:var(--gz-card);border:1px solid var(--gz-line);transition:border-color .25s,transform .25s,background-color .25s}
.gz-post-nav-link:hover{border-color:rgba(192,38,211,.6);transform:translateY(-3px)}
.gz-post-nav-link.is-next{text-align:right}
@media (min-width:768px){.gz-post-nav-link.is-next:only-child{grid-column:2}}
.gz-post-nav-label{font:700 .7rem/1 var(--gz-font-body);letter-spacing:.14em;text-transform:uppercase;color:#f0abfc}
.gz-post-nav-title{font:600 1rem/1.4 var(--gz-font-head);color:#fff}

/* ---------- Sidebar ---------- */
.gz-sidebar{display:flex;flex-direction:column;gap:1.5rem;height:100%}
.gz-widget{background:var(--gz-card);border:1px solid var(--gz-line);border-radius:20px;padding:1.5rem}
.gz-blog .gz-widget-title{display:flex;align-items:center;gap:.75rem;margin:0 0 1.15rem;font:700 .72rem/1 var(--gz-font-body);letter-spacing:.16em;text-transform:uppercase;color:#f0abfc}
.gz-widget-title::after{content:"";flex:1;height:1px;background:var(--gz-line)}
@media (min-width:992px){
	.gz-blog-body .col-lg-8{padding-right:1.5rem}
	.gz-sidebar-sticky{position:sticky;top:100px;display:flex;flex-direction:column;gap:1.5rem}
}
@media (max-width:991.98px){.gz-sidebar-sticky{display:flex;flex-direction:column;gap:1.5rem}}

/* Search */
.gz-search{position:relative;margin:0}
.gz-search input[type=search]{width:100%;background:#120822;border:1px solid rgba(255,255,255,.12);border-radius:999px;color:#fff;font:400 .95rem/1.5 var(--gz-font-body);padding:.8rem 3.4rem .8rem 1.2rem;transition:border-color .25s,box-shadow .25s;-webkit-appearance:none;appearance:none}
.gz-search input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}
.gz-search input::placeholder{color:rgba(185,174,203,.6)}
.gz-search input:focus{outline:none;border-color:#c026d3;box-shadow:0 0 0 4px rgba(192,38,211,.22)}
.gz-search button{position:absolute;top:5px;right:5px;bottom:5px;aspect-ratio:1;border:0;border-radius:50%;display:grid;place-items:center;color:#fff;cursor:pointer;background:linear-gradient(100deg,#db2777,#9333ea,#db2777);background-size:200% 100%;transition:background-position .5s}
.gz-search button:hover{background-position:100% 0}
.gz-search button:focus-visible{outline:2px solid #f0abfc;outline-offset:2px}
.gz-search-hero{max-width:560px;margin:0 auto}
.gz-search-hero input[type=search]{padding:1rem 3.8rem 1rem 1.4rem;font-size:1rem;background:rgba(18,8,34,.85)}

/* Recent articles */
.gz-recent{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}
.gz-recent a{display:grid;grid-template-columns:68px 1fr;gap:.9rem;align-items:center;margin:0 -.6rem;padding:.55rem .6rem;border-radius:14px;transition:background-color .2s}
.gz-recent a:hover{background:rgba(255,255,255,.04)}
.gz-recent-thumb{display:block;width:68px;height:68px;border-radius:12px;overflow:hidden;background:var(--gz-grad)}
.gz-recent-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.gz-recent a:hover .gz-recent-thumb img{transform:scale(1.08)}
.gz-recent-text{display:flex;flex-direction:column;gap:.3rem;min-width:0}
.gz-recent-title{font:600 .92rem/1.35 var(--gz-font-head);color:#fff;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;transition:color .2s}
.gz-recent a:hover .gz-recent-title{color:#f0abfc}
.gz-recent time{font-size:.76rem;color:var(--gz-muted)}

/* Topics */
.gz-topics{list-style:none;margin:0;padding:0}
.gz-topics li+li{border-top:1px solid var(--gz-line)}
.gz-topics a{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.7rem 0;color:var(--gz-text)!important;font-size:.93rem;transition:color .2s,padding-left .25s}
.gz-topics a:hover,.gz-topics a[aria-current]{color:#fff!important;padding-left:.35rem}
.gz-topics a[aria-current] span:first-child{color:#f0abfc}
.gz-topics-n{min-width:2rem;text-align:center;font-size:.75rem;font-weight:600;padding:.2rem .5rem;border-radius:999px;background:rgba(255,255,255,.06);color:var(--gz-muted)}
.gz-topics a:hover .gz-topics-n{background:var(--gz-grad);color:#fff}

/* Table of contents */
.gz-toc-list{list-style:none;margin:0;padding:0;counter-reset:gztoc;max-height:calc(100vh - 460px);min-height:120px;overflow-y:auto;scrollbar-width:thin}
.gz-toc-mobile .gz-toc-list{max-height:none}
.gz-toc-list li{counter-increment:gztoc}
.gz-toc-list a{position:relative;display:grid;grid-template-columns:1.6rem 1fr;gap:.4rem;padding:.45rem .5rem .45rem .75rem;border-radius:10px;font-size:.88rem;line-height:1.45;color:var(--gz-muted)!important;transition:color .2s,background-color .2s}
.gz-toc-list a::before{content:counter(gztoc,decimal-leading-zero);font:700 .72rem/1.9 var(--gz-font-body);color:rgba(240,171,252,.55)}
.gz-toc-list a::after{content:"";position:absolute;left:0;top:.5rem;bottom:.5rem;width:2px;border-radius:2px;background:var(--gz-grad);opacity:0;transition:opacity .2s}
.gz-toc-list a:hover{color:#fff!important;background:rgba(255,255,255,.04)}
.gz-toc-list a.is-active{color:#fff!important;background:rgba(192,38,211,.12)}
.gz-toc-list a.is-active::after{opacity:1}

/* CTA */
.gz-side-cta{position:relative;overflow:hidden;border:0;background:radial-gradient(320px 220px at 100% 0,rgba(249,168,212,.4),transparent 65%),linear-gradient(140deg,#be185d,#7e22ce)}
.gz-side-cta::after{content:"";position:absolute;width:180px;height:180px;right:-60px;bottom:-70px;border-radius:50%;border:1px dashed rgba(255,255,255,.35);pointer-events:none}
.gz-blog .gz-side-cta-kicker{font:700 .7rem/1 var(--gz-font-body);letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.85);margin:0 0 .7rem}
.gz-blog .gz-side-cta-title{font-size:1.3rem;line-height:1.25;color:#fff;margin:0 0 .6rem}
.gz-blog .gz-side-cta p:not(.gz-side-cta-kicker){color:rgba(255,255,255,.88);font-size:.92rem;line-height:1.6;margin:0 0 1.25rem}
.gz-side-cta-btn{position:relative;z-index:1;display:inline-flex;align-items:center;gap:.5rem;padding:.7rem 1.35rem;border-radius:999px;background:#fff;color:#7e22ce!important;font-weight:700;font-size:.9rem;transition:transform .25s,box-shadow .25s}
.gz-side-cta-btn:hover{transform:translateY(-2px);box-shadow:0 14px 30px -12px rgba(0,0,0,.6)}

/* ---------- Post cards (archives + related) ---------- */
.gz-post-card{position:relative;display:flex;flex-direction:column;height:100%;background:var(--gz-card);border:1px solid var(--gz-line);border-radius:20px;overflow:hidden;transition:border-color .3s,transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s}
.gz-post-card:hover{border-color:rgba(192,38,211,.55);transform:translateY(-4px);box-shadow:0 30px 60px -30px rgba(192,38,211,.55)}
.gz-post-card-img{display:block;aspect-ratio:16/9;overflow:hidden;background:var(--gz-grad)}
.gz-post-card-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.gz-post-card:hover .gz-post-card-img img{transform:scale(1.06)}
.gz-post-card-ph{display:block;width:100%;height:100%;background:radial-gradient(circle at 30% 20%,rgba(240,171,252,.35),transparent 60%),var(--gz-grad)}
.gz-post-card-body{display:flex;flex-direction:column;align-items:flex-start;flex:1;padding:1.35rem 1.5rem 1.4rem}
.gz-blog .gz-post-card-title{font-size:1.15rem;line-height:1.35;margin:.85rem 0 .6rem}
.gz-post-card-title a{color:#fff!important}
.gz-post-card-title a::after{content:"";position:absolute;inset:0;z-index:1}
.gz-post-card:hover .gz-post-card-title a{color:#f0abfc!important}
.gz-blog .gz-post-card-excerpt{font-size:.92rem;line-height:1.65;margin:0 0 1rem}
.gz-blog .gz-post-card-meta{display:flex;align-items:center;gap:.6rem;margin:auto 0 0;font-size:.8rem;color:var(--gz-muted)}

/* ---------- Related ---------- */
.gz-related{padding:5rem 0 6rem;border-top:1px solid var(--gz-line);background:radial-gradient(800px 400px at 0% 0%,rgba(147,51,234,.16),transparent 70%),var(--gz-surface)}
.gz-related-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:2rem}
.gz-related-head .gz-title{margin:0}
.gz-related-all{display:inline-flex;align-items:center;gap:.4rem;font-weight:600;font-size:.92rem;color:#f0abfc!important}
.gz-related-all span{transition:transform .25s}
.gz-related-all:hover{color:#fff!important}
.gz-related-all:hover span{transform:translateX(4px)}

/* ---------- Archive extras ---------- */
.gz-archive-hero{padding-bottom:4.5rem}
.gz-archive-hero .gz-lead{margin-bottom:1.75rem!important}
.gz-empty{padding:3rem 2rem;text-align:center;background:var(--gz-card);border:1px solid var(--gz-line);border-radius:22px}
.gz-empty .gz-search{max-width:440px;margin:1.5rem auto}
.gz-blog .pagination{gap:.5rem;flex-wrap:wrap;margin-top:3rem!important}
.gz-blog .page-link{min-width:44px;height:44px;display:grid;place-items:center;padding:0 .9rem;border-radius:12px!important;border:1px solid var(--gz-line);background:var(--gz-card);color:#fff;font-weight:600;transition:border-color .25s,background-color .25s}
.gz-blog .page-link:hover{border-color:rgba(192,38,211,.6);background:rgba(192,38,211,.14);color:#fff}
.gz-blog .page-item.active .page-link{background:var(--gz-grad);border-color:transparent;color:#fff}
.gz-blog .page-link.dots{background:transparent;border-color:transparent}

/* ---------- Small screens ---------- */
@media (max-width:767.98px){
	.gz-post-hero{padding:7.5rem 0 6rem}
	.gz-post-cover{margin-top:-3.5rem;border-radius:18px;margin-bottom:2.25rem}
	.gz-blog .gz-entry{font-size:1.02rem;line-height:1.8}
	.gz-blog .gz-entry>p:first-child{font-size:1.1rem}
	.gz-post-meta{font-size:.84rem}
	.gz-post-author{flex-basis:100%;justify-content:center}
	.gz-post-author+.gz-dot{display:none}
	.gz-related{padding:3.5rem 0 4rem}
}
@media (prefers-reduced-motion:reduce){.gz-blog *{transition:none!important}}
