/*
Theme Name: Aon Blog
Theme URI: https://aonsubs.com/blog/
Author: Aon Subscription
Author URI: https://aonsubs.com
Description: Custom blog theme matching the Aon Subscription main site design — same fonts, colors, header and footer as aonsubs.com.
Version: 1.0.5
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: aon-blog
*/

/* ============================================================
   Blog-specific styles. All shared tokens/components (nav,
   footer, buttons, .wrap, .eyebrow) come from the main site's
   aon.css which is enqueued by functions.php.
   ============================================================ */

/* fixed header offset */
.site-main{padding-top:112px;min-height:60vh}
.site-main img{max-width:100%;height:auto}
.blog-layout,.blog-main,.post-grid{max-width:100%}

/* ---------- blog hero ---------- */
.blog-hero{text-align:center;padding:28px 0 44px;position:relative}
.blog-hero::before{content:"";position:absolute;top:-220px;left:50%;transform:translateX(-50%);width:1100px;height:640px;background:radial-gradient(ellipse 50% 50% at 50% 40%,rgba(34,178,74,.13),transparent 70%);pointer-events:none;z-index:-1}
.blog-hero .eyebrow{margin-bottom:18px}
.blog-hero h1{font-size:clamp(32px,4.2vw,50px);letter-spacing:-.035em;max-width:640px;margin:0 auto 14px}
.blog-hero h1 .hl{color:var(--brand-ink)}
.blog-hero .lead{font-size:16.5px;color:var(--body);max-width:480px;margin:0 auto;line-height:1.58}

/* ---------- post grid ---------- */
.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;padding-bottom:70px}
.post-card{background:#fff;border:1px solid var(--line-2);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .25s var(--ease),box-shadow .25s,border-color .25s;display:flex;flex-direction:column}
.post-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:#ccd4ce}
.post-card .thumb{display:block;aspect-ratio:16/9;overflow:hidden;background:linear-gradient(135deg,var(--brand-tint),var(--brand-soft))}
.post-card .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .4s var(--ease)}
.post-card:hover .thumb img{transform:scale(1.04)}
.post-card .thumb.placeholder{display:grid;place-items:center;color:var(--brand)}
.post-card .thumb.placeholder svg{width:38px;height:38px;opacity:.55}
.post-card .card-body{padding:20px 22px 22px;display:flex;flex-direction:column;flex:1}
.post-meta{display:flex;align-items:center;gap:9px;font-size:12.5px;color:var(--faint);margin-bottom:10px;flex-wrap:wrap}
.post-meta .cat{color:var(--brand-ink);background:var(--brand-soft);font-weight:600;padding:3px 10px;border-radius:100px;font-size:11.5px;text-transform:uppercase;letter-spacing:.05em}
.post-card h2,.post-card h3{font-size:18.5px;line-height:1.28;letter-spacing:-.015em;margin-bottom:9px}
.post-card h2 a:hover,.post-card h3 a:hover{color:var(--brand-ink)}
.post-card .excerpt{font-size:14px;color:var(--body);line-height:1.6;margin-bottom:16px;flex:1}
.read-more{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;font-weight:600;color:var(--brand-ink);margin-top:auto}
.read-more svg{width:15px;height:15px;transition:transform .22s var(--ease)}
.post-card:hover .read-more svg{transform:translateX(3px)}

/* featured (first) post on page 1 */
.post-card.featured{grid-column:1/-1;flex-direction:row;align-items:stretch}
.post-card.featured .thumb{width:52%;aspect-ratio:auto;min-height:300px}
.post-card.featured .card-body{width:48%;padding:34px 38px;justify-content:center}
.post-card.featured h2{font-size:26px}
.post-card.featured .excerpt{font-size:15px;flex:0 1 auto}

/* ---------- pagination ---------- */
.pagination-wrap{display:flex;justify-content:center;padding:0 0 80px}
.pagination-wrap .nav-links{display:flex;gap:8px;align-items:center}
.pagination-wrap .page-numbers{min-width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;padding:0 14px;border:1px solid var(--line-2);border-radius:10px;background:#fff;font-size:14px;font-weight:600;color:var(--body);transition:.2s;box-shadow:var(--shadow-sm)}
.pagination-wrap .page-numbers:hover{border-color:#ccd4ce;color:var(--head);transform:translateY(-2px)}
.pagination-wrap .page-numbers.current{background:var(--brand-btn);border-color:var(--brand-btn);color:#fff}
.pagination-wrap .page-numbers.dots{border:none;box-shadow:none;background:transparent}

/* ---------- single post ---------- */
/* neutralize main-site tag selectors on inner header/footer elements */
header.single-header{position:static;left:auto;right:auto;z-index:auto;background:none;border:none;box-shadow:none}
footer.single-footer{padding:26px 0 0;border-top:1px solid var(--line)}
footer.comment-meta{padding:0;border:none}

.single-article{max-width:760px;margin:0 auto;padding:30px 0 60px}
.single-header{text-align:center;padding-bottom:34px}
.single-header .post-meta{justify-content:center;margin-bottom:16px}
.single-header h1{font-size:clamp(30px,4vw,44px);letter-spacing:-.03em;line-height:1.12;margin-bottom:16px}
.single-header .sub{font-size:16.5px;color:var(--body);max-width:560px;margin:0 auto;line-height:1.58}
.single-hero-img{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow);margin:8px 0 38px}
.single-hero-img img{width:100%;height:auto}

/* article prose */
.entry-content{font-size:16.5px;line-height:1.75;color:#333d37}
.entry-content>*+*{margin-top:1.15em}
.entry-content h2{font-size:26px;margin-top:2em;letter-spacing:-.02em}
.entry-content h3{font-size:20.5px;margin-top:1.7em;letter-spacing:-.015em}
.entry-content h4{font-size:17.5px;margin-top:1.5em}
.entry-content a{color:var(--brand-ink);font-weight:500;text-decoration:underline;text-decoration-color:rgba(34,178,74,.35);text-underline-offset:3px;transition:.2s}
.entry-content a:hover{text-decoration-color:var(--brand)}
.entry-content ul,.entry-content ol{padding-left:1.4em}
.entry-content li{margin-top:.45em}
.entry-content li::marker{color:var(--brand)}
.entry-content img{border-radius:var(--radius);box-shadow:var(--shadow-sm);margin:1.6em auto}
.entry-content blockquote{border-left:3px solid var(--brand);background:var(--brand-tint);padding:18px 24px;border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-size:16px;color:var(--head)}
.entry-content blockquote p{margin:0}
.entry-content code{font-family:var(--mono);font-size:.85em;background:var(--soft);border:1px solid var(--line);padding:2px 7px;border-radius:6px;color:var(--brand-ink)}
.entry-content pre{background:#0f1f16;color:#d9e5dd;padding:22px 24px;border-radius:var(--radius);overflow-x:auto;font-family:var(--mono);font-size:13.5px;line-height:1.6}
.entry-content pre code{background:none;border:none;color:inherit;padding:0}
.entry-content hr{border:none;border-top:1px solid var(--line);margin:2.4em 0}
.entry-content table{width:100%;border-collapse:collapse;font-size:14.5px}
.entry-content th,.entry-content td{border:1px solid var(--line-2);padding:10px 14px;text-align:left}
.entry-content th{background:var(--soft);font-weight:600}
.wp-block-image figcaption,.entry-content figcaption{font-size:13px;color:var(--faint);text-align:center;margin-top:.6em}

/* tags + share row */
.single-footer{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-top:44px}
.tag-list{display:flex;gap:8px;flex-wrap:wrap}
.tag-list a{font-size:12.5px;font-weight:600;color:var(--body);border:1px solid var(--line-2);padding:6px 13px;border-radius:100px;transition:.2s}
.tag-list a:hover{border-color:var(--brand);color:var(--brand-ink);background:var(--brand-tint)}

/* prev / next */
.post-nav{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:34px}
.post-nav a{display:block;border:1px solid var(--line-2);border-radius:var(--radius);padding:18px 22px;background:#fff;box-shadow:var(--shadow-sm);transition:.22s}
.post-nav a:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:#ccd4ce}
.post-nav .lbl{font-size:11.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--faint);font-weight:600;display:block;margin-bottom:6px}
.post-nav .ttl{font-size:14.5px;font-weight:600;color:var(--head);line-height:1.35}
.post-nav .next{text-align:right}

/* ---------- sidebar layout ---------- */
.blog-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:34px;align-items:start;padding-bottom:70px}
.blog-main{min-width:0}
.blog-main .post-grid{grid-template-columns:repeat(2,1fr);padding-bottom:0}
.blog-main .pagination-wrap{padding:34px 0 0}
.blog-sidebar{position:sticky;top:110px;display:flex;flex-direction:column;gap:18px}
.widget{background:#fff;border:1px solid var(--line-2);border-radius:var(--radius);padding:20px 22px;box-shadow:var(--shadow-sm)}
.widget h4{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--faint);font-weight:600;margin-bottom:14px}
.widget .search-form-blog{max-width:none}
.widget .search-form-blog input{min-width:0;padding:10px 14px;font-size:14px}
.widget .search-form-blog .btn{padding:10px 16px;font-size:14px}
.recent-list{list-style:none;display:flex;flex-direction:column;gap:14px}
.recent-list a{display:flex;gap:12px;align-items:center}
.recent-list .rthumb{width:58px;height:58px;flex:none;border-radius:10px;overflow:hidden;background:linear-gradient(135deg,var(--brand-tint),var(--brand-soft))}
.recent-list .rthumb img{width:100%;height:100%;object-fit:cover}
.recent-list .rtitle{font-size:13.5px;font-weight:600;color:var(--head);line-height:1.35;display:block;transition:color .2s}
.recent-list a:hover .rtitle{color:var(--brand-ink)}
.recent-list .rdate{font-size:12px;color:var(--faint);margin-top:3px;display:block}
.cat-list{list-style:none;display:flex;flex-direction:column}
.cat-list li+li{border-top:1px solid var(--line)}
.cat-list a{display:flex;justify-content:space-between;align-items:center;padding:10px 0;font-size:14px;color:var(--body);font-weight:500;transition:color .2s}
.cat-list a:hover{color:var(--brand-ink)}
.cat-list .cnt{font-size:12px;font-weight:600;color:var(--brand-ink);background:var(--brand-soft);min-width:24px;height:22px;display:inline-flex;align-items:center;justify-content:center;border-radius:100px;padding:0 8px}
.widget.cta-widget{background:linear-gradient(135deg,#178a36,#0f6b28);border:none;text-align:center;padding:26px 22px}
.widget.cta-widget h3{color:#fff;font-size:18px;letter-spacing:-.02em;margin-bottom:8px}
.widget.cta-widget p{font-size:13px;color:rgba(255,255,255,.85);margin-bottom:16px;line-height:1.5}
.widget.cta-widget .btn{background:#fff;color:var(--brand-btn);width:100%}
.widget.cta-widget .btn:hover{transform:translateY(-2px)}

/* ---------- author ---------- */
.post-meta .author{display:inline-flex;align-items:center;gap:7px;color:var(--head);font-weight:600}
.post-meta .author img{width:22px;height:22px;border-radius:50%}
.author-box{display:flex;gap:18px;align-items:center;margin-top:34px;background:var(--brand-tint);border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px}
.author-box>img{width:64px;height:64px;border-radius:50%;flex:none}
.author-box .lbl{font-size:11.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--brand-ink);font-weight:600}
.author-box h4{font-size:17px;margin:3px 0 6px}
.author-box p{font-size:13.5px;color:var(--body);line-height:1.6}

/* single + comments inside the layout column */
.blog-layout .single-article{margin:0;max-width:none;padding-top:6px}
.blog-layout .comments-area{margin:0;max-width:none}

/* CTA band */
.blog-cta{background:var(--brand-tint);border-top:1px solid var(--line);text-align:center;padding:64px 0}
.blog-cta h2{font-size:clamp(24px,3vw,34px);letter-spacing:-.025em;margin-bottom:12px}
.blog-cta p{color:var(--body);max-width:440px;margin:0 auto 24px;font-size:15.5px}

/* comments */
.comments-area{max-width:760px;margin:0 auto;padding:24px 0 70px;border-top:1px solid var(--line)}
.comments-area .comments-title,.comments-area .comment-reply-title{font-size:22px;letter-spacing:-.02em;margin:14px 0 22px}
.comment-list{list-style:none;padding:0;margin:0 0 10px}
.comment-list>.comment,.comment-list>.pingback{border:1px solid var(--line-2);border-radius:var(--radius);padding:22px 24px;margin-bottom:14px;background:#fff;box-shadow:var(--shadow-sm)}
.comment-list .children{list-style:none;margin-top:16px;padding-left:20px;border-left:2px solid var(--brand-soft)}
.comment-list .children .comment{padding:14px 0 0;margin:0;border:none;border-top:1px solid var(--line);border-radius:0;box-shadow:none}
.comment-body .comment-meta{display:flex;flex-direction:column;gap:2px;margin-bottom:10px;padding:0;border:none}
.comment-author{display:flex;align-items:center;gap:11px;font-weight:600;font-size:14.5px;color:var(--head)}
.comment-author .avatar{border-radius:50%;width:38px;height:38px}
.comment-author .says{display:none}
.comment-metadata{font-size:12.5px;color:var(--faint);padding-left:49px;margin-top:-16px}
.comment-metadata a{color:var(--faint)}
.comment-metadata .edit-link{margin-left:8px}
.comment-metadata .edit-link a{color:var(--brand-ink)}
.comment-content{font-size:14.5px;color:var(--body);line-height:1.65}
.comment-content p+p{margin-top:.7em}
.comment-content a{color:var(--brand-ink);text-decoration:underline;text-underline-offset:2px}
.comment .reply{margin-top:12px}
.comment .reply a{display:inline-block;font-size:12.5px;font-weight:600;color:var(--body);border:1px solid var(--line-2);padding:5px 14px;border-radius:100px;transition:.2s}
.comment .reply a:hover{border-color:var(--brand);color:var(--brand-ink);background:var(--brand-tint)}
.comment-awaiting-moderation{display:block;font-size:12.5px;color:var(--amber);margin-bottom:8px}
.comment-respond{margin-top:26px}
.comment-respond label{display:block;font-size:13px;font-weight:600;color:var(--head);margin-bottom:6px}
.comment-respond p{margin-bottom:4px}
.comment-notes,.logged-in-as{font-size:13px;color:var(--faint);margin-bottom:14px}
.logged-in-as a{color:var(--brand-ink)}
.comment-respond input[type=text],.comment-respond input[type=email],.comment-respond input[type=url],.comment-respond textarea{width:100%;border:1px solid var(--line-2);border-radius:var(--radius-sm);padding:12px 15px;font-family:var(--font);font-size:14.5px;margin-bottom:14px;background:#fff;transition:border-color .2s}
.comment-respond input:focus,.comment-respond textarea:focus{outline:none;border-color:var(--brand)}
.comment-respond .submit{background:var(--brand-btn);color:#fff;border:none;font-family:var(--font);font-weight:600;font-size:15px;padding:12px 24px;border-radius:11px;cursor:pointer;transition:.22s}
.comment-respond .submit:hover{background:var(--brand-btn-2);transform:translateY(-2px)}

/* misc / fallback pages */
.page-plain{max-width:760px;margin:0 auto;padding:20px 0 70px}
.page-plain h1{font-size:clamp(28px,3.6vw,40px);margin-bottom:22px;letter-spacing:-.03em}
.notfound{text-align:center;padding:60px 0 90px}
.notfound h1{font-size:64px;color:var(--brand);letter-spacing:-.04em}
.notfound p{color:var(--body);margin:14px 0 26px}
.search-form-blog{display:flex;gap:10px;max-width:420px;margin:0 auto}
.search-form-blog input{flex:1;border:1px solid var(--line-2);border-radius:11px;padding:12px 16px;font-family:var(--font);font-size:14.5px}
.search-form-blog input:focus{outline:none;border-color:var(--brand)}

/* wp core helpers */
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.alignleft{float:left;margin:0 1.5em 1em 0}
.alignright{float:right;margin:0 0 1em 1.5em}
.aligncenter{display:block;margin:1.6em auto}
.wp-caption{max-width:100%}

/* admin bar offset */
body.admin-bar header{top:32px}
@media (max-width:782px){body.admin-bar header{top:46px}}

/* nav breathing room (extra Blog link makes it tight on mid-size screens) */
@media (max-width:1420px){
  .nav-links{gap:20px}
  .nav-links a{font-size:14px}
}
@media (max-width:1180px){
  .nav-links{gap:15px}
  .nav-right .signin{display:none}
}

/* ---------- responsive ---------- */
@media (max-width:1080px){
  .blog-layout{grid-template-columns:1fr}
  .blog-sidebar{position:static}
}
@media (max-width:980px){
  .post-grid,.blog-main .post-grid{grid-template-columns:repeat(2,1fr)}
  .post-card.featured{flex-direction:column}
  .post-card.featured .thumb,.post-card.featured .card-body{width:100%}
  .post-card.featured .thumb{aspect-ratio:16/9;min-height:0}
  .post-card.featured .card-body{padding:24px 26px}
}
@media (max-width:640px){
  .site-main{padding-top:96px}
  .post-grid,.blog-main .post-grid{grid-template-columns:1fr;gap:20px}
  .post-card.featured h2{font-size:21px}
  .post-nav{grid-template-columns:1fr}
  .post-nav .next{text-align:left}
  .single-hero-img{border-radius:var(--radius)}
}
