/*
Theme Name: Afterglow Journal
Theme URI: https://www.gracious.work/
Author: Original WordPress adaptation
Description: A quiet, image-led editorial journal inspired by Gracious Work's dark Ghost/Nubia layout. An original WordPress theme.
Version: 7.3.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: afterglow-journal
License: GNU General Public License v2 or later
*/
:root{--bg:#243138;--surface:#2c3a41;--text:#f7f5ef;--muted:#abb6b8;--accent:#daaaa3;--line:#45545a;--content:1200px;--article:720px;--heading-font:"DM Sans",sans-serif;--font:"Inter",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.7 var(--font);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}img{max-width:100%;height:auto}button,input,textarea{font:inherit}button{cursor:pointer}.screen-reader-text{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden}.screen-reader-text:focus{clip-path:none;width:auto;height:auto;z-index:20;background:white;color:#111;padding:10px}.site-header{border-bottom:1px solid rgba(255,255,255,.035)}.masthead{max-width:var(--content);margin:auto;padding:60px 24px 33px;text-align:center}.site-title{font-size:clamp(42px,6vw,80px);font-family:var(--heading-font);font-weight:500;letter-spacing:-.055em;line-height:1.05}.site-title a:hover{color:var(--text)}.site-description{color:var(--muted);margin:13px 0 0;font-size:13px;letter-spacing:.13em}.custom-logo{max-height:150px;width:auto}.site-nav{display:flex;align-items:center;justify-content:center;gap:30px;min-height:52px;padding:8px 22px;border-top:1px solid var(--line)}.site-nav ul{display:flex;justify-content:center;gap:30px;list-style:none;padding:0;margin:0;flex-wrap:wrap}.site-nav a,.search-toggle{color:#d2d8d8;letter-spacing:.15em;font-size:10px;text-transform:uppercase;font-weight:700;background:none;border:0}.site-nav a:hover,.search-toggle:hover{color:var(--accent)}.header-search{display:none;padding:15px 24px;text-align:center;border-top:1px solid var(--line)}.header-search.is-open{display:block}.search-form{display:flex;gap:8px;max-width:420px;margin:auto}.search-field{min-width:0;flex:1;padding:11px;border:1px solid var(--line);background:var(--surface);color:var(--text)}.search-submit,.form-submit .submit{border:1px solid var(--text);color:var(--bg);background:var(--text);padding:10px 18px}.site-content{max-width:var(--content);padding:36px 24px 85px;margin:auto}.post-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:46px 24px}.post-card{min-width:0}.post-thumb{display:block;background:#48595a;aspect-ratio:1.68;overflow:hidden}.post-thumb img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.post-card:hover .post-thumb img{transform:scale(1.035)}.empty-thumb{height:100%;display:flex;justify-content:center;align-items:center;background:linear-gradient(120deg,#445f5c,#788577);color:#e1e1d6;font-size:clamp(36px,5vw,75px);font-family:Georgia,serif}.post-card:nth-child(4n+2) .empty-thumb{background:linear-gradient(135deg,#654f56,#9b7b80)}.post-card:nth-child(4n+3) .empty-thumb{background:linear-gradient(120deg,#57546b,#8c8697)}.post-meta{font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);font-weight:700}.post-card .post-meta{margin:15px 0 5px}.post-meta a{color:var(--muted)}.post-meta a:hover{color:var(--accent)}.post-meta .separator{margin:0 7px}.post-card h2{font-family:var(--heading-font);font-size:clamp(19px,2.1vw,28px);line-height:1.28;letter-spacing:-.025em;margin:3px 0 9px;font-weight:600}.post-date{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.listing-heading{margin:0 0 36px;border-bottom:1px solid var(--line);padding-bottom:25px}.listing-heading .eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.2em;color:var(--accent)}.listing-heading h1{font-size:clamp(34px,5vw,58px);font-weight:500;line-height:1.2;margin:6px 0}.pagination{display:flex;justify-content:center;margin:70px 0 0;gap:12px}.pagination .page-numbers{border:1px solid var(--line);padding:7px 13px;font-size:13px}.pagination .current{background:var(--text);color:var(--bg)}.article-wrap{max-width:var(--article);margin:16px auto 0}.article-header{text-align:center;margin:18px 0 36px}.article-header h1{font-family:var(--heading-font);font-size:clamp(36px,5.5vw,66px);font-weight:500;letter-spacing:-.04em;line-height:1.12;margin:12px 0 17px}.article-featured{margin:0 0 40px}.article-featured img{width:100%;display:block;height:auto}.entry-content{font-size:18px;line-height:1.88;overflow-wrap:anywhere}.entry-content>p:first-child{margin-top:0}.entry-content p{margin:0 0 1.6em}.entry-content a{text-decoration:underline;text-underline-offset:3px;color:var(--accent)}.entry-content h2,.entry-content h3{line-height:1.3;margin:1.7em 0 .6em}.entry-content blockquote{border-left:2px solid var(--accent);padding-left:25px;margin:2em 0;color:#d7d6d1;font-family:Georgia,serif;font-style:italic}.entry-content figure{margin:2em 0}.entry-content img{height:auto}.entry-content .alignwide{max-width:1000px;width:calc(100vw - 48px);position:relative;left:50%;transform:translateX(-50%)}.entry-content .alignfull{width:100vw;max-width:none;position:relative;left:50%;transform:translateX(-50%)}.entry-footer{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;font-size:13px;color:var(--muted);margin:45px 0 25px}.post-navigation{display:flex;justify-content:space-between;gap:20px;margin:30px 0 60px;font-size:13px}.post-navigation a{max-width:45%}.comments-area{margin-top:55px}.comments-title,.comment-reply-title{font-size:25px;font-weight:500}.comment-list{padding:0;list-style:none}.comment-list .children{list-style:none;padding-left:30px}.comment-body{padding:24px 0;border-bottom:1px solid var(--line)}.comment-author img{border-radius:50%;vertical-align:middle;margin-right:8px}.comment-metadata{font-size:12px;color:var(--muted)}.comment-content p{margin:10px 0}.comment-reply-link{font-size:12px;color:var(--accent)}.comment-form label{display:block;font-size:13px;margin:15px 0 5px}.comment-form input:not([type=checkbox]),.comment-form textarea{display:block;width:100%;border:1px solid var(--line);background:var(--surface);color:var(--text);padding:11px}.comment-form-cookies-consent label{display:inline}.comment-form-cookies-consent input{width:auto}.site-footer{border-top:1px solid var(--line);padding:35px 20px;color:var(--muted);text-align:center;font-size:11px;letter-spacing:.08em}.site-footer a{color:var(--text)}.nothing-found{padding:50px 0;text-align:center}.wp-block-button__link{background:var(--accent);color:var(--bg)}@media(max-width:720px){.masthead{padding:40px 18px 25px}.site-nav{gap:16px}.site-nav ul{gap:17px}.site-content{padding:23px 17px 65px}.post-grid{grid-template-columns:1fr;gap:36px}.post-card h2{font-family:var(--heading-font);font-size:24px}.post-thumb{aspect-ratio:1.55}.article-wrap{margin:8px auto}.entry-content{font-size:17px}.article-header h1{font-family:var(--heading-font);font-size:39px}.site-description{font-size:11px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* V2 editorial refinements */
.site-content{max-width:1200px;padding-top:42px}.post-grid{column-gap:36px;row-gap:55px}.post-card h2{font-weight:500}.post-thumb{aspect-ratio:1.47}.card-cover{position:relative;overflow:hidden}.hover-share{position:absolute;right:14px;bottom:14px;display:flex;align-items:center;gap:7px;padding:8px;background:rgba(15,23,26,.88);color:#fff;opacity:0;transform:translateY(6px);transition:opacity .2s,transform .2s;pointer-events:none}.hover-share span{font-size:10px;text-transform:uppercase;letter-spacing:.11em;margin:0 4px}.hover-share a,.hover-share button{display:grid;place-items:center;width:31px;height:31px;border:1px solid #718083;background:transparent;color:#fff;font:600 14px var(--font)}.hover-share a:hover,.hover-share button:hover{background:#fff;color:#222}.card-cover:hover .hover-share,.card-cover:focus-within .hover-share{opacity:1;transform:none;pointer-events:auto}
.single-layout{display:grid;grid-template-columns:minmax(0,1fr) 235px;gap:68px;align-items:start;max-width:1100px;margin:0 auto}.single-layout .article-wrap{min-width:0;width:100%;max-width:var(--article);margin:16px 0 0}.single-sidebar{padding-top:46px;position:sticky;top:24px}.sidebar-widget{margin-bottom:42px;color:var(--muted);font-size:13px;line-height:1.8}.sidebar-title{font:700 11px var(--font);letter-spacing:.16em;text-transform:uppercase;color:var(--text);margin:0 0 18px;padding:0 0 12px;border-bottom:1px solid var(--line)}.sidebar-widget ul{padding:0;list-style:none}.sidebar-widget li{margin:0 0 13px}.sidebar-widget a{color:var(--text)}.sidebar-widget a:hover{color:var(--accent)}.single-share{display:flex;align-items:center;gap:15px;flex-wrap:wrap;padding:10px 0 28px;font-size:12px}.single-share strong{font-size:10px;letter-spacing:.12em;text-transform:uppercase}.single-share button{color:var(--text);border:0;background:none;text-decoration:underline;padding:0}.newsletter{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface);padding:76px 24px;text-align:center}.newsletter-inner{max-width:620px;margin:auto}.newsletter-eyebrow{text-transform:uppercase;letter-spacing:.23em;font-size:10px;font-weight:700;color:var(--accent)}.newsletter h2{font:500 clamp(36px,5vw,58px)/1.2 var(--heading-font);letter-spacing:-.04em;margin:12px 0}.newsletter p{color:var(--muted);margin:0 0 24px}.newsletter-button{display:inline-block;padding:13px 34px;background:var(--text);color:var(--bg);text-transform:uppercase;font-size:11px;letter-spacing:.15em}.newsletter-button:hover{background:var(--accent);color:var(--bg)}.newsletter-form input[type=email]{min-width:220px;max-width:100%;padding:12px;border:1px solid var(--line);background:var(--bg);color:var(--text)}.newsletter-form button,.newsletter-form input[type=submit]{padding:13px 20px;border:none;background:var(--text);color:var(--bg)}.newsletter-help{font-style:italic;font-size:12px}.site-nav a,.search-toggle{color:var(--muted)}.entry-content blockquote{color:var(--muted)}.empty-thumb{width:100%}
@media(max-width:900px){.single-layout{grid-template-columns:minmax(0,1fr) 190px;gap:30px}}@media(max-width:720px){.single-layout{display:block}.single-sidebar{position:static;padding-top:45px;margin-top:50px;border-top:1px solid var(--line)}.hover-share{position:static;opacity:1;transform:none;pointer-events:auto;justify-content:end;background:var(--surface);padding:5px 0;color:var(--text)}.hover-share a,.hover-share button{color:var(--text);border-color:var(--line)}.hover-share span{color:var(--muted)}.post-thumb{aspect-ratio:1.55}}

/* V3: Gracious-inspired editorial layout */
:root{--content:1320px}body{overflow-x:hidden}.site-header{border-bottom:0}.masthead{padding-top:48px;padding-bottom:48px}.nav-line{display:flex;align-items:center;gap:34px;max-width:var(--content);padding:0 24px;margin:0 auto}.nav-line:before,.nav-line:after{content:"";height:1px;min-width:20px;background:var(--line);flex:1}.site-nav{border:0;padding:0 0;gap:25px;min-height:48px}.site-nav a{font-size:14px;letter-spacing:.16em;font-weight:600;color:var(--text)}.site-nav ul{gap:25px}.search-toggle{display:flex;align-items:center;justify-content:center;padding:0;border:0;color:var(--text)}.search-toggle svg{width:28px;height:28px}.site-content{max-width:var(--content);padding-top:52px}.post-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:46px 34px}.post-thumb{aspect-ratio:1.32}.post-card:nth-child(7n+1){grid-column:span 2}.post-card:nth-child(7n+1) .post-thumb{aspect-ratio:1.84}.post-card:nth-child(7n+3) .post-thumb,.post-card:nth-child(7n+5) .post-thumb{aspect-ratio:1.08}.post-card:nth-child(7n+6){grid-column:span 2}.post-card:nth-child(7n+6) .post-thumb{aspect-ratio:2.1}.post-card h2{font-size:20px;letter-spacing:-.015em;font-weight:700}.post-meta{font-size:11px}.post-date{font-size:11px}.hover-share{gap:5px;border:1px solid rgba(255,255,255,.15);border-radius:3px}.hover-share a,.hover-share button{border:0;border-radius:2px;width:36px;height:36px}.hover-share svg{width:19px;height:19px}.feature-panel{display:grid;grid-template-columns:minmax(0,2.05fr) minmax(270px,.95fr);background:var(--surface);margin:0 auto;max-width:var(--content);min-height:390px}.feature-image{min-height:390px;background:var(--bg)}.feature-image img{width:100%;height:100%;display:block;object-fit:cover;max-height:590px}.feature-heading{padding:40px 38px;display:flex;flex-direction:column;justify-content:flex-end;min-width:0;background:color-mix(in srgb,var(--bg) 78%,black)}.feature-heading h1{font:400 clamp(30px,3.25vw,48px)/1.16 var(--heading-font);letter-spacing:-.015em;margin:15px 0}.feature-panel.no-feature{min-height:0;display:block;background:transparent}.feature-panel.no-feature .feature-image{display:none}.feature-panel.no-feature .feature-heading{min-height:180px}.single-layout{max-width:var(--content);grid-template-columns:minmax(0,2.05fr) minmax(270px,.95fr);gap:0;margin:0 auto;background:var(--surface)}.single-layout .article-wrap{margin:0;max-width:none;padding:38px 45px}.single-sidebar{position:static;padding:36px 34px;border-left:1px solid var(--line);background:color-mix(in srgb,var(--surface) 90%,var(--bg))}.entry-content{font-size:17px;line-height:2}.sidebar-widget{font-size:14px}.sidebar-title{font-size:13px}.newsletter-form .wp-block-jetpack-subscriptions,.newsletter-form .jetpack_subscription_widget{max-width:600px;margin:auto}.newsletter-widget-title{font-size:20px;font-weight:500}.newsletter-form input[type=email]{background:var(--bg)}
@media(max-width:950px){.post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.post-card:nth-child(n){grid-column:auto}.post-card:nth-child(7n+1){grid-column:span 2}.feature-panel,.single-layout{grid-template-columns:minmax(0,1.7fr) minmax(230px,.85fr)}.feature-heading{padding:28px}.single-layout .article-wrap{padding:28px}.single-sidebar{padding:28px}}
@media(max-width:720px){.nav-line{gap:12px;padding:0 17px}.site-nav{gap:15px}.site-nav ul{gap:17px}.site-nav a{font-size:12px}.search-toggle svg{width:26px;height:26px}.post-grid{grid-template-columns:1fr;gap:36px}.post-card:nth-child(n){grid-column:auto}.post-card:nth-child(n) .post-thumb{aspect-ratio:1.4}.site-content{padding-top:30px}.feature-panel{display:flex;flex-direction:column;min-height:0}.feature-image{min-height:0}.feature-image img{height:auto;max-height:420px}.feature-heading{min-height:190px;padding:30px 24px}.feature-heading h1{font-size:35px}.single-layout{display:block}.single-layout .article-wrap{padding:32px 23px}.single-sidebar{border-left:0;border-top:1px solid var(--line);margin:0;padding:32px 23px}.hover-share{border:0}.hover-share a,.hover-share button{width:34px;height:34px}}

/* v4: deliberate, gap-free editorial rows. Each five cards form a 2+1 / 1+1+1 rhythm. */
@media (min-width:951px){
  .post-grid{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:34px;row-gap:53px;grid-auto-flow:row;align-items:start}
  .post-grid > .post-card:nth-child(n){grid-column:auto}
  .post-grid > .post-card:nth-child(5n+1){grid-column:span 2}
  .post-grid .post-thumb{aspect-ratio:auto;height:clamp(230px,22vw,306px)}
  .post-grid > .post-card:nth-child(n) .post-thumb{aspect-ratio:auto}
  .post-grid .card-cover{height:clamp(230px,22vw,306px)}
  .post-grid .post-thumb img{height:100%;width:100%;object-fit:cover}
}
@media (min-width:721px) and (max-width:950px){
  .post-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:45px 25px;align-items:start}
  .post-grid > .post-card:nth-child(n){grid-column:auto}
  .post-grid .post-thumb,.post-grid > .post-card:nth-child(n) .post-thumb{aspect-ratio:1.42;height:auto}
  .post-grid .post-thumb img{aspect-ratio:1.42;object-fit:cover}
}
@media (max-width:720px){
  .post-grid > .post-card:nth-child(n){grid-column:auto}
  .post-grid > .post-card:nth-child(n) .post-thumb{aspect-ratio:1.45;height:auto}
  .post-grid .post-thumb img{aspect-ratio:1.45;object-fit:cover}
}
.post-card h2{line-height:1.35;margin-top:6px;margin-bottom:11px}
.post-card .post-meta{margin-top:16px;margin-bottom:6px}

/* Optional image-based masthead branding */
.masthead .custom-logo-link{display:inline-block;max-width:min(100%,var(--header-image-width));vertical-align:middle;line-height:0}
.masthead .custom-logo{display:block;width:100%;height:auto;max-width:100%;max-height:none;object-fit:contain}
@media(max-width:720px){.masthead .custom-logo-link{max-width:min(100%,var(--header-image-width))}}

/* V5: Customizer font overrides are applied via wp_add_inline_style after this stylesheet. */

/* v7.3 — Keep the article/sidebar shell exactly aligned with the hero panels.
   Only the reading column inside the article changes with the Customizer. */
.single-layout {
  width:100%;
  max-width:var(--content);
  grid-template-columns:minmax(0,2.05fr) minmax(270px,.95fr);
  margin-inline:auto;
}
.single-layout .article-wrap {
  width:100%;
  max-width:none;
  min-width:0;
}
.single-layout .entry-content {
  width:100%;
  max-width:var(--article);
  margin-inline:auto;
}
/* Wide/full aligned blocks are limited to the article panel, never the sidebar. */
.single-layout .entry-content > .alignwide,
.single-layout .entry-content > .alignfull {
  width:100%;
  max-width:100%;
  left:auto;
  transform:none;
}
@media (max-width:950px) and (min-width:721px) {
  .single-layout { grid-template-columns:minmax(0,1.7fr) minmax(230px,.85fr); }
}
@media (max-width:720px) {
  .single-layout { display:block; }
  .single-layout .entry-content { max-width:100%; }
}

/* V7.2 — Refined article ending, sharing and story navigation */
.afterglow-post-end{margin:clamp(42px,6vw,82px) 0 0;border-top:1px solid var(--line)}
.afterglow-post-end .single-share{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;padding:32px 0;border-bottom:1px solid var(--line);font-size:inherit}
.share-kicker,.afterglow-post-end .nav-kicker{display:block;color:var(--muted);font:600 11px/1.4 var(--font);letter-spacing:.15em;text-transform:uppercase}
.share-intro h2{color:var(--text);font:500 clamp(23px,2.5vw,31px)/1.2 var(--heading-font);letter-spacing:-.025em;margin:7px 0 7px}
.share-intro p{margin:0;color:var(--muted);font-size:13px;line-height:1.6}
.share-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.afterglow-post-end .share-actions a,.afterglow-post-end .share-actions button{display:inline-flex;gap:8px;align-items:center;justify-content:center;min-height:42px;border:1px solid var(--line);border-radius:3px;background:transparent;color:var(--text);text-decoration:none;padding:9px 12px;font:500 12px/1.3 var(--font);white-space:nowrap;transition:background .2s,border-color .2s,color .2s}
.afterglow-post-end .share-actions svg{width:17px;height:17px;flex:none}
.afterglow-post-end .share-actions a:hover,.afterglow-post-end .share-actions button:hover,.afterglow-post-end .share-actions a:focus-visible,.afterglow-post-end .share-actions button:focus-visible{background:var(--text);border-color:var(--text);color:var(--bg);outline-offset:3px}
.afterglow-post-end .post-navigation{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin:0;padding:30px 0 35px;font-size:inherit}
.afterglow-post-end .post-navigation>div{min-width:0}
.afterglow-post-end .post-navigation .post-next{text-align:right;border-left:1px solid var(--line);padding-left:24px}
.afterglow-post-end .post-navigation .nav-kicker{margin-bottom:9px}
.afterglow-post-end .post-navigation a{display:block;max-width:none;color:var(--text);font:500 clamp(16px,1.8vw,21px)/1.35 var(--heading-font);text-decoration:none;overflow-wrap:anywhere}
.afterglow-post-end .post-navigation a:hover{color:var(--accent)}
.article-wrap>.comments-area{margin-top:18px;padding-top:38px;border-top:1px solid var(--line)}
.article-wrap .comments-title,.article-wrap .comment-reply-title{font-family:var(--heading-font);font-weight:500;line-height:1.2;margin:0 0 23px}
.article-wrap .comment-respond{padding-top:8px}
.article-wrap .comment-form textarea,.article-wrap .comment-form input:not([type=checkbox]){border-radius:3px;padding:14px;transition:border-color .2s}
.article-wrap .comment-form textarea:focus,.article-wrap .comment-form input:focus{outline:2px solid var(--accent);outline-offset:2px}
.article-wrap .comment-form .submit{padding:12px 24px;cursor:pointer}
@media(max-width:850px){.afterglow-post-end .single-share{grid-template-columns:1fr;gap:20px}.share-actions{justify-content:flex-start}}
@media(max-width:520px){.afterglow-post-end .post-navigation{gap:14px}.afterglow-post-end .post-navigation .post-next{padding-left:14px}.afterglow-post-end .share-actions a,.afterglow-post-end .share-actions button{padding:9px 11px}.share-intro p{font-size:12px}}
