/*
Theme Name: ABBCO Heating & Cooling Blog
Theme URI: https://abbcoheatingandcooling.com/
Author: ABBCO Heating & Cooling
Description: Blog theme that matches the ABBCO Heating & Cooling static site. Loads the main site's styles from /assets/site.css at the site root (extracted from the site's inline CSS), so the blog matches the main site exactly.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: abbco-blog
Tags: blog, custom-menu, featured-images
*/

/* ============================================================
   Adds only what the main site's CSS lacks: article prose,
   post meta, cards, pagination, sidebar, comments. Colours and
   fonts come from /assets/site.css. The main site has no CSS
   variables (colours are hardcoded), so this file repeats the
   palette here as local values to stay in sync:
     ink bg    #111218 / #13141C / #0C0D14
     paper txt #F0EDE8
     orange    #E8650A  (hover #FF7420)
     gold      #F4C06A
     muted     #8A847C
     border    rgba(240,237,232,.07)
   Classes are prefixed abb- to avoid clashes.
   ============================================================ */

/* ---------- Post meta ---------- */
.abb-post-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#8A847C;margin:14px 0 0}
.abb-post-meta a{color:#F4C06A}
.abb-post-meta a:hover{color:#fff}
.abb-post-meta .abb-dot{opacity:.5}
.page-hero .abb-post-meta{color:rgba(240,237,232,.5)}

/* ---------- Article body (prose) — dark theme ---------- */
.abb-prose{max-width:760px;color:#F0EDE8}
.abb-prose > *:first-child{margin-top:0}
.abb-prose p{margin:0 0 18px;color:rgba(240,237,232,.82);line-height:1.75}
.abb-prose h2{font-family:'DM Serif Display',Georgia,serif;font-size:clamp(24px,3.4vw,34px);color:#F0EDE8;margin:40px 0 14px;line-height:1.2;font-weight:400}
.abb-prose h3{font-family:'DM Serif Display',Georgia,serif;font-size:clamp(19px,2.2vw,24px);color:#F0EDE8;margin:28px 0 10px;font-weight:400}
.abb-prose h4{font-size:16px;font-weight:700;color:#F0EDE8;margin:22px 0 8px;text-transform:uppercase;letter-spacing:.04em}
.abb-prose a{color:#F4C06A;text-decoration:underline;text-underline-offset:2px}
.abb-prose a:hover{color:#fff}
.abb-prose strong{color:#fff;font-weight:700}
.abb-prose ul,.abb-prose ol{margin:0 0 18px;padding-left:22px;color:rgba(240,237,232,.82);display:grid;gap:8px}
.abb-prose ul li{list-style:disc}
.abb-prose ol li{list-style:decimal}
.abb-prose li{line-height:1.7}
.abb-prose li::marker{color:#E8650A}
.abb-prose blockquote{margin:24px 0;padding:16px 20px;background:#13141C;border-left:4px solid #E8650A}
.abb-prose blockquote p{margin:0;color:#F0EDE8}
.abb-prose figure{margin:26px 0}
.abb-prose img{border:1px solid rgba(240,237,232,.1)}
.abb-prose figcaption,.abb-prose .wp-caption-text{font-size:13px;color:#8A847C;margin-top:8px;text-align:center}
.abb-prose hr{border:0;border-top:1px solid rgba(240,237,232,.12);margin:34px 0}
.abb-prose code{background:#0C0D14;border:1px solid rgba(240,237,232,.1);padding:.12em .4em;font-size:.9em;color:#F4C06A}
.abb-prose pre{background:#0C0D14;color:#F0EDE8;padding:18px 20px;overflow:auto;margin:24px 0;border:1px solid rgba(240,237,232,.1)}
.abb-prose pre code{background:none;border:0;color:inherit;padding:0}
.abb-prose table{width:100%;border-collapse:collapse;margin:24px 0;border:1px solid rgba(240,237,232,.1)}
.abb-prose thead{background:#E8650A;color:#fff}
.abb-prose th{padding:12px 15px;font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;text-align:left}
.abb-prose td{padding:12px 15px;font-size:15px;color:rgba(240,237,232,.82);border-bottom:1px solid rgba(240,237,232,.08);vertical-align:top}
.abb-prose .alignleft{float:left;margin:5px 24px 18px 0;max-width:50%}
.abb-prose .alignright{float:right;margin:5px 0 18px 24px;max-width:50%}
.abb-prose .aligncenter{margin-left:auto;margin-right:auto}
@media(max-width:640px){.abb-prose .alignleft,.abb-prose .alignright{float:none;margin:20px 0;max-width:100%}}

/* ---------- Section wrapper for the blog ---------- */
.abb-section{padding:56px 0;background:#111218}
.abb-section-alt{background:#13141C}

/* ---------- Breadcrumb (matches .ph-breadcrumb) ---------- */
.abb-crumbs{font-size:13px;color:rgba(240,237,232,.4);margin-bottom:16px}
.abb-crumbs a{color:rgba(240,237,232,.55)}
.abb-crumbs a:hover{color:#F4C06A}

/* ---------- Layout with sidebar ---------- */
.abb-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:48px;align-items:start}
@media(max-width:900px){.abb-layout{grid-template-columns:1fr;gap:36px}}
.abb-sidebar{position:sticky;top:82px;display:grid;gap:18px}
@media(max-width:900px){.abb-sidebar{position:static}}
.abb-widget{background:#13141C;border:1px solid rgba(240,237,232,.08);padding:20px 22px}
.abb-widget h4{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:12px;color:#F0EDE8}
.abb-widget ul{list-style:none;display:grid;gap:9px;font-size:14px;margin:0;padding:0}
.abb-widget ul li a{color:rgba(240,237,232,.6)}
.abb-widget ul li a:hover{color:#F4C06A}
.abb-widget-cta{background:#E8650A;border:none}
.abb-widget-cta h4{color:#fff}
.abb-widget-cta p{color:rgba(255,255,255,.9);font-size:14px;margin-bottom:14px;line-height:1.55}
.abb-widget-cta .abb-callbtn{display:block;text-align:center;background:#fff;color:#13141C;font-weight:700;padding:11px;text-transform:uppercase;font-size:13px;letter-spacing:.04em}
.abb-widget-cta .abb-callbtn:hover{background:#F0EDE8}
.abb-widget-cta .abb-alt{margin:10px 0 0;font-size:13px;color:rgba(255,255,255,.85)}
.abb-widget-cta .abb-alt a{color:#fff;text-decoration:underline}

/* ---------- Featured image ---------- */
.abb-hero-img{overflow:hidden;margin:0 0 26px;border:1px solid rgba(240,237,232,.1)}
.abb-hero-img img{width:100%;aspect-ratio:16/8;object-fit:cover}

/* ---------- Archive cards ---------- */
.abb-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media(max-width:900px){.abb-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.abb-grid{grid-template-columns:1fr}}
.abb-card{background:#13141C;border:1px solid rgba(240,237,232,.08);overflow:hidden;transition:border-color .18s,transform .18s;display:flex;flex-direction:column}
.abb-card:hover{border-color:#E8650A;transform:translateY(-3px)}
.abb-card .abb-thumb{display:block;overflow:hidden;background:#0C0D14}
.abb-card .abb-thumb img{width:100%;aspect-ratio:16/10;object-fit:cover;transition:transform .35s ease}
.abb-card:hover .abb-thumb img{transform:scale(1.04)}
.abb-card-body{padding:18px 20px 20px;display:flex;flex-direction:column;gap:4px;flex:1}
.abb-card-body h3{font-family:'DM Serif Display',Georgia,serif;font-size:20px;font-weight:400;margin:2px 0;line-height:1.25}
.abb-card-body h3 a{color:#F0EDE8}
.abb-card-body h3 a:hover{color:#F4C06A}
.abb-card-body p{font-size:14px;color:rgba(240,237,232,.55);margin:6px 0 14px;line-height:1.6}
.abb-card-body .abb-go{margin-top:auto;font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:#E8650A}
.abb-card-body .abb-go:hover{color:#FF7420}
@media(prefers-reduced-motion:reduce){.abb-card,.abb-card .abb-thumb img{transition:none}.abb-card:hover,.abb-card:hover .abb-thumb img{transform:none}}

/* Featured (first) post on index */
.abb-feature{display:grid;grid-template-columns:6fr 5fr;background:#13141C;border:1px solid rgba(240,237,232,.08);overflow:hidden;margin-bottom:26px}
.abb-feature .abb-thumb img{width:100%;height:100%;object-fit:cover;min-height:280px}
.abb-feature-body{padding:32px 34px;display:flex;flex-direction:column;justify-content:center;gap:6px}
.abb-feature-body .abb-pill{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:#E8650A;padding:4px 10px;display:inline-block;width:max-content;margin-bottom:8px}
.abb-feature-body h2{font-family:'DM Serif Display',Georgia,serif;font-size:clamp(24px,2.8vw,32px);font-weight:400;margin:0 0 6px;line-height:1.18}
.abb-feature-body h2 a{color:#F0EDE8}
.abb-feature-body h2 a:hover{color:#F4C06A}
.abb-feature-body p{color:rgba(240,237,232,.7);margin:8px 0 18px;line-height:1.65}
@media(max-width:820px){.abb-feature{grid-template-columns:1fr}.abb-feature-body{padding:24px}}

/* ---------- Category pills ---------- */
.abb-cats{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 26px}
.abb-cats a{display:inline-block;background:#13141C;border:1px solid rgba(240,237,232,.12);color:rgba(240,237,232,.6);font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:7px 15px;transition:all .15s}
.abb-cats a:hover{color:#fff;border-color:#E8650A}
.abb-cats a[aria-current]{background:#E8650A;color:#fff;border-color:#E8650A}

/* ---------- Pagination ---------- */
.abb-pager{display:flex;justify-content:center;align-items:center;gap:6px;margin-top:44px;flex-wrap:wrap}
.abb-pager .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;padding:0 14px;background:#13141C;border:1px solid rgba(240,237,232,.12);color:#F0EDE8;font-weight:700;font-size:14px}
.abb-pager .page-numbers:hover{border-color:#E8650A;color:#F4C06A}
.abb-pager .page-numbers.current{background:#E8650A;color:#fff;border-color:#E8650A}
.abb-pager .page-numbers.dots{background:none;border:0}

/* ---------- Prev / next ---------- */
.abb-postnav{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:44px;padding-top:28px;border-top:1px solid rgba(240,237,232,.1)}
.abb-postnav a{background:#13141C;border:1px solid rgba(240,237,232,.1);padding:16px 18px;transition:border-color .15s,transform .15s;display:block}
.abb-postnav a:hover{border-color:#E8650A;transform:translateY(-2px)}
.abb-postnav .abb-lbl{display:block;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#E8650A;margin-bottom:6px}
.abb-postnav b{font-family:'DM Serif Display',Georgia,serif;font-weight:400;font-size:16px;line-height:1.25;display:block;color:#F0EDE8}
.abb-postnav .abb-next{text-align:right}
@media(max-width:600px){.abb-postnav{grid-template-columns:1fr}.abb-postnav .abb-next{text-align:left}}

/* ---------- Search form ---------- */
.abb-search{display:flex;gap:8px}
.abb-search input[type=search]{flex:1;min-width:0;padding:11px 14px;background:#0C0D14;border:1px solid rgba(240,237,232,.14);color:#F0EDE8;font:inherit;outline:none}
.abb-search input[type=search]:focus{border-color:#E8650A}
.abb-search button{background:#E8650A;color:#fff;border:none;padding:11px 20px;font-weight:700;text-transform:uppercase;font-size:13px;letter-spacing:.04em;cursor:pointer;font-family:inherit}
.abb-search button:hover{background:#FF7420}

/* ---------- Empty / 404 ---------- */
.abb-empty{text-align:center;padding:46px 16px;max-width:540px;margin:0 auto;color:#F0EDE8}
.abb-empty h2{font-family:'DM Serif Display',Georgia,serif;font-weight:400;margin-bottom:10px}
.abb-empty p{color:rgba(240,237,232,.6);margin-bottom:22px}

/* ---------- Comments ---------- */
.abb-comments{margin-top:44px;padding-top:28px;border-top:1px solid rgba(240,237,232,.1);max-width:760px;color:#F0EDE8}
.abb-comments ol{list-style:none;display:grid;gap:16px;margin:0;padding:0}
.abb-comments .comment-body{background:#13141C;border:1px solid rgba(240,237,232,.1);padding:16px 18px}
.abb-comments .comment-meta{font-size:12px;color:#8A847C;font-weight:700;margin-bottom:6px}
.abb-comment-form{display:grid;gap:12px;max-width:760px;margin-top:22px}
.abb-comment-form label{font-size:13px;color:rgba(240,237,232,.7)}
.abb-comment-form input,.abb-comment-form textarea{width:100%;padding:11px 14px;background:#0C0D14;border:1px solid rgba(240,237,232,.14);color:#F0EDE8;font:inherit;outline:none}
.abb-comment-form input:focus,.abb-comment-form textarea:focus{border-color:#E8650A}
.abb-comment-form .submit{background:#E8650A;color:#fff;border:none;padding:12px 26px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;justify-self:start;font-family:inherit}
.abb-comment-form .submit:hover{background:#FF7420}

/* ---------- WP core ---------- */
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
:target{scroll-margin-top:78px}
