/* ==========================================================================
   Ally Property Inspections -- single blog post (single.php)

   Meredith's approved post design, blog-post-mockup-fragment.html (26 Oct
   2026): its <style> block verbatim, scoped to #ally-post. The font @import is
   dropped -- the theme already loads those faces.
   ========================================================================== */
#ally-post{
  --ally-blue:#4564AB; --ally-blue-dark:#29478B; --ally-yellow:#F2A900; --ally-yellow-dark:#D99700;
  --ink:#111214; --ink-2:#4A4B4F; --ink-3:#716D6E; --line:#E6E4E4; --surface:#F7F6F5; --white:#FFFFFF;
  --on-dark:#DCE4F5; --tint:#EEF2FB;
  --fd:'Be Vietnam Pro',system-ui,sans-serif; --fb:'Open Sans',system-ui,sans-serif;
  --r-sm:8px; --r:12px; --r-pill:999px;
  --shadow-1:0 1px 2px rgba(41,71,139,.06),0 4px 14px rgba(41,71,139,.07);
  --shadow-2:0 2px 6px rgba(41,71,139,.08),0 12px 28px rgba(41,71,139,.12);
  --s-1:4px; --s-2:8px; --s-3:12px; --s-4:16px; --s-5:24px; --s-6:32px; --s-7:48px; --s-8:64px; --s-9:80px;
  --t-xs:13px; --t-sm:14px; --t-base:16px; --t-md:18px; --t-lg:22px; --t-xl:28px; --t-2xl:44px;
  font-family:var(--fb); color:var(--ink); background:var(--white); line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
#ally-post *,#ally-post *::before,#ally-post *::after{box-sizing:border-box;}
#ally-post h1,#ally-post h2,#ally-post h3,#ally-post p,#ally-post ul,#ally-post li{margin:0;padding:0;}
#ally-post h1,#ally-post h2,#ally-post h3{font-family:var(--fd);text-transform:none;letter-spacing:-.01em;text-wrap:balance;}
#ally-post p{text-wrap:pretty;}
#ally-post ul{list-style:none;}
#ally-post a{text-decoration:none;}
#ally-post .sc-wrap{max-width:1120px;margin:0 auto;padding:0 var(--s-5);}

/* hero */
#ally-post .sc-hero{background:var(--ally-blue-dark);color:var(--white);padding:var(--s-8) 0 var(--s-9);}
#ally-post .sc-hero .sc-wrap{display:flex;flex-direction:column;gap:var(--s-4);align-items:flex-start;}
#ally-post .sc-eyebrow{font-family:var(--fd);font-weight:700;font-size:var(--t-xs);letter-spacing:.16em;text-transform:uppercase;color:var(--ally-yellow);}
#ally-post .sc-hero h1{font-weight:800;font-size:var(--t-2xl);line-height:1.08;color:var(--white);}
#ally-post .sc-hero p{font-size:var(--t-md);color:var(--on-dark);max-width:56ch;}

#ally-post .sc-hero .sc-wrap{max-width:1120px;}
#ally-post .bl-search{display:flex;gap:var(--s-2);width:100%;max-width:520px;margin-top:var(--s-2);}
#ally-post .bl-search input{flex:1;min-width:0;font-family:var(--fb);font-size:var(--t-base);padding:var(--s-3) var(--s-4);border:1px solid rgba(255,255,255,.35);border-radius:var(--r-sm);background:var(--white);color:var(--ink);}
#ally-post .bl-search button{font-family:var(--fd);font-weight:800;font-size:var(--t-base);padding:var(--s-3) var(--s-5);border:0;border-radius:var(--r-sm);background:var(--ally-yellow);color:var(--ink);cursor:pointer;}
#ally-post .bl-search button:hover{background:var(--ally-yellow-dark);}
#ally-post .bl-main{background:var(--surface);padding:var(--s-7) 0 var(--s-8);}
#ally-post .bl-topics{display:flex;flex-wrap:wrap;gap:var(--s-2);align-items:center;margin-bottom:var(--s-6);}
#ally-post .bl-topics span{font-family:var(--fd);font-weight:700;font-size:var(--t-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-right:var(--s-2);}
#ally-post .bl-topics a{padding:var(--s-2) var(--s-4);border:1px solid var(--line);border-radius:var(--r-pill);background:var(--white);font-size:var(--t-sm);font-weight:700;color:var(--ink);}
#ally-post .bl-topics a:hover,#ally-post .bl-topics a.on{background:var(--ally-blue);border-color:var(--ally-blue);color:var(--white);}
#ally-post .bl-feat{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);background:var(--white);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-1);overflow:hidden;margin-bottom:var(--s-6);}
#ally-post .bl-feat img{display:block;width:100%;height:100%;min-height:340px;object-fit:cover;}
#ally-post .bl-feat .bl-body{padding:var(--s-6);display:flex;flex-direction:column;justify-content:center;gap:var(--s-3);}
#ally-post .bl-feat h2{font-weight:800;font-size:var(--t-xl);line-height:1.15;}
#ally-post .bl-feat h2 a{color:var(--ink);}
#ally-post .bl-feat h2 a:hover{color:var(--ally-blue);}
#ally-post .bl-tag{align-self:flex-start;font-family:var(--fd);font-weight:700;font-size:var(--t-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--ally-blue);background:var(--tint);padding:var(--s-1) var(--s-3);border-radius:var(--r-pill);}
#ally-post .bl-ex{font-size:var(--t-base);color:var(--ink-2);}
#ally-post .bl-meta{font-size:var(--t-sm);color:var(--ink-3);}
#ally-post .bl-read{font-family:var(--fd);font-weight:700;font-size:var(--t-base);color:var(--ally-blue);}
#ally-post .bl-read:hover{text-decoration:underline;}
#ally-post .bl-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-5);}
#ally-post .bl-card{background:var(--white);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-1);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .2s,transform .2s;}
#ally-post .bl-card:hover{box-shadow:var(--shadow-2);transform:translateY(-2px);}
#ally-post .bl-card img{display:block;width:100%;aspect-ratio:16/9;height:auto;object-fit:cover;}
#ally-post .bl-card .bl-body{padding:var(--s-5);display:flex;flex-direction:column;gap:var(--s-3);flex:1;}
#ally-post .bl-card h3{font-weight:700;font-size:var(--t-md);line-height:1.3;}
#ally-post .bl-card h3 a{color:var(--ink);}
#ally-post .bl-card h3 a:hover{color:var(--ally-blue);}
#ally-post .bl-card .bl-ex{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;flex:1;}
#ally-post .bl-pages{display:flex;justify-content:center;gap:var(--s-2);margin-top:var(--s-7);}
#ally-post .bl-pages a,#ally-post .bl-pages span{min-width:44px;padding:var(--s-2) var(--s-4);text-align:center;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--white);font-weight:700;font-size:var(--t-sm);color:var(--ink);}
#ally-post .bl-pages span{background:var(--ally-blue);border-color:var(--ally-blue);color:var(--white);}
#ally-post .bl-cta{background:var(--ally-blue);padding:var(--s-8) 0;}
#ally-post .bl-cta .sc-wrap{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--s-4);}
#ally-post .bl-cta h2{font-weight:800;font-size:var(--t-xl);color:var(--white);}
#ally-post .bl-cta p{font-size:var(--t-md);color:var(--on-dark);max-width:56ch;}
#ally-post .bl-cta .bl-btns{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--s-3);}
#ally-post .bl-btn{display:inline-flex;align-items:center;padding:var(--s-4) var(--s-5);border-radius:var(--r-sm);background:var(--ally-yellow);color:var(--ink);font-family:var(--fd);font-weight:800;font-size:var(--t-base);}
#ally-post .bl-btn:hover{background:var(--ally-yellow-dark);color:var(--ink);}
#ally-post .bl-btn.ghost{background:transparent;color:var(--white);border:1px solid rgba(255,255,255,.55);}
#ally-post .bl-btn.ghost:hover{background:rgba(255,255,255,.12);color:var(--white);}
@media (max-width:900px){
  #ally-post .bl-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  #ally-post .bl-feat{grid-template-columns:1fr;}
  #ally-post .bl-feat img{min-height:0;aspect-ratio:16/9;height:auto;}
  #ally-post .sc-hero h1{font-size:var(--t-xl);}
}
@media (max-width:600px){ #ally-post .bl-grid{grid-template-columns:1fr;} }

#ally-post .po-top{background:var(--surface);padding:var(--s-7) 0 var(--s-6);}
#ally-post .po-top .sc-wrap{display:flex;flex-direction:column;gap:var(--s-3);align-items:flex-start;max-width:900px;}
#ally-post .po-crumb{font-size:var(--t-sm);color:var(--ink-3);}
#ally-post .po-crumb a{color:var(--ally-blue);font-weight:600;}
#ally-post .po-top h1{font-weight:800;font-size:var(--t-2xl);line-height:1.1;color:var(--ink);}
#ally-post .po-meta{display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-4);font-size:var(--t-sm);color:var(--ink-2);}
#ally-post .po-meta a{color:var(--ally-blue);font-weight:600;}
#ally-post .po-hero .sc-wrap{max-width:900px;}
#ally-post .po-hero{background:linear-gradient(var(--surface) 50%,var(--white) 50%);}
#ally-post .po-hero img{display:block;width:100%;aspect-ratio:16/8;height:auto;object-fit:cover;border-radius:var(--r);box-shadow:var(--shadow-1);}
#ally-post .po-layout{padding:var(--s-7) var(--s-5) var(--s-8);max-width:900px;margin:0 auto;}
#ally-post .po-body{font-size:19px;line-height:1.75;color:var(--ink-2);}
#ally-post .po-body > * + *{margin-top:var(--s-4);}
#ally-post .po-body h2{font-weight:800;font-size:var(--t-xl);line-height:1.2;color:var(--ink);margin-top:var(--s-7);scroll-margin-top:96px;}
#ally-post .po-body h3{font-weight:700;font-size:var(--t-lg);line-height:1.3;color:var(--ink);margin-top:var(--s-6);}
#ally-post .po-body a{color:var(--ally-blue);font-weight:600;text-decoration:underline;text-underline-offset:2px;}
#ally-post .po-body ul,#ally-post .po-body ol{padding-left:var(--s-5);}
#ally-post .po-body ul{list-style:disc;} #ally-post .po-body ol{list-style:decimal;}
#ally-post .po-body li + li{margin-top:var(--s-2);}
#ally-post .po-body strong{color:var(--ink);}
#ally-post .po-body img{display:block;width:100%;height:auto;border-radius:var(--r);}
#ally-post .po-body figure{margin-left:0;margin-right:0;}
#ally-post .po-body figcaption{font-size:var(--t-sm);color:var(--ink-3);margin-top:var(--s-2);}
#ally-post .po-key{background:var(--tint);border-radius:var(--r);padding:var(--s-5) var(--s-6);}
#ally-post .po-key h2{font-size:var(--t-lg);margin:0 0 var(--s-3);}
#ally-post .po-side{display:flex;flex-direction:column;gap:var(--s-5);position:sticky;top:var(--s-5);align-self:start;}
#ally-post .po-box{background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:var(--s-5);display:flex;flex-direction:column;gap:var(--s-3);}
#ally-post .po-box h2{font-family:var(--fd);font-weight:700;font-size:var(--t-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);}
#ally-post .po-box ol{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-2) var(--s-6);}
#ally-post .po-box ol a{font-size:var(--t-sm);font-weight:600;color:var(--ink-2);line-height:1.4;}
#ally-post .po-box ol a:hover{color:var(--ally-blue);}
#ally-post .po-cta{background:var(--ally-blue-dark);border:0;color:var(--white);flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s-4);padding:var(--s-6);}
#ally-post .po-cta > div{display:flex;flex-direction:column;gap:var(--s-2);max-width:420px;}
#ally-post .po-cta small{flex-basis:100%;}
#ally-post .po-cta h2{color:var(--ally-yellow);}
#ally-post .po-cta p{font-family:var(--fd);font-weight:700;font-size:var(--t-lg);line-height:1.3;color:var(--white);}
#ally-post .po-cta a.bl-btn{justify-content:center;text-align:center;}
#ally-post .po-cta small{font-size:var(--t-sm);color:var(--on-dark);}
#ally-post .po-cta small a{color:var(--white);font-weight:700;white-space:nowrap;}
#ally-post .po-author{display:flex;gap:var(--s-4);align-items:center;margin-top:var(--s-7);padding:var(--s-5);background:var(--surface);border-radius:var(--r);}
#ally-post .po-author img{width:72px;height:72px;border-radius:50%;object-fit:cover;flex:none;}
#ally-post .po-author p{font-size:var(--t-base);color:var(--ink-2);line-height:1.5;}
#ally-post .po-author b{display:block;font-family:var(--fd);font-size:var(--t-md);color:var(--ink);}
#ally-post .po-related{background:var(--surface);padding:var(--s-7) 0 var(--s-8);}
#ally-post .po-related h2{font-weight:800;font-size:var(--t-xl);color:var(--ink);margin-bottom:var(--s-5);}
#ally-post .po-body .po-box h2{margin:0;font-family:var(--fd);font-weight:700;font-size:var(--t-xs);letter-spacing:.14em;text-transform:uppercase;line-height:1.4;color:var(--ink-3);}
#ally-post .po-body .po-cta h2{color:var(--ally-yellow);}
#ally-post .po-body .po-box ol{padding:0;list-style:none;}
#ally-post .po-body .po-box li + li{margin-top:0;}
#ally-post .po-body .po-box a{text-decoration:none;font-weight:600;font-size:var(--t-base);line-height:1.4;}
#ally-post .po-body .po-box ol a{color:var(--ink-2);}
#ally-post .po-body .po-box ol a:hover{color:var(--ally-blue);text-decoration:underline;}
#ally-post .po-body .po-cta p{margin:0;}
#ally-post .po-body .po-cta .bl-btn{color:var(--ink);}
#ally-post .po-body .po-cta small{font-size:var(--t-sm);line-height:1.5;}
#ally-post .po-body .po-cta small a{color:var(--white);font-size:var(--t-sm);}
#ally-post .po-body .po-box{margin-top:var(--s-6);margin-bottom:var(--s-2);}
@media (max-width:1000px){
  #ally-post .po-box ol{grid-template-columns:1fr;}
  #ally-post .po-top h1{font-size:var(--t-xl);}
}
#ally-post .po-hero img{max-width:100%;}
#ally-post .po-body .alignleft{float:left;margin:0 var(--s-5) var(--s-4) 0;}
#ally-post .po-body .alignright{float:right;margin:0 0 var(--s-4) var(--s-5);}
#ally-post .po-body .aligncenter{margin-left:auto;margin-right:auto;}

/* full-bleed, as the design: undo Astra's boxed container on posts and the blog */
body.single-post .site-content > .ast-container, body.blog .site-content > .ast-container, body.category .site-content > .ast-container { max-width: none; padding-left: 0; padding-right: 0; display: block; }
body.single-post #ally-main, body.blog #ally-main, body.category #ally-main { width: 100%; }

/* the design runs on the browser default weight, not the site-wide 500 */
#ally-post, #ally-blog { font-weight: 400; }

/* FAQ accordions inside posts (the style live posts carry inline; dev's imported posts lost it) */
#ally-post .ally-faq{margin: 1.5em 0;}
#ally-post .ally-faq details{border: 1px solid #d9dde3; border-radius: 6px; margin-bottom: 10px; background: #fff; overflow: hidden;}
#ally-post .ally-faq summary{cursor: pointer; padding: 14px 18px; font-weight: 600; font-size: 1.05em; list-style: none; position: relative; padding-right: 42px; user-select: none;}
#ally-post .ally-faq summary::-webkit-details-marker{display: none;}
#ally-post .ally-faq summary::after{content: "+"; position: absolute; right: 18px; top: 50%; transform: translateY(-50%); font-size: 1.4em; font-weight: 400; transition: transform .2s ease;}
#ally-post .ally-faq details[open] summary::after{content: "\2212";}
#ally-post .ally-faq details[open] summary{border-bottom: 1px solid #eef0f3;}
#ally-post .ally-faq .ally-faq-answer{padding: 14px 18px 16px;}
#ally-post .ally-faq .ally-faq-answer p{margin: 0;}
#ally-post .ally-faq summary h3{display: inline; font-size: 1.05em !important; font-weight: 600 !important; margin: 0 !important; line-height: 1.4 !important; color: inherit !important;}
#ally-post .po-body .ally-faq summary h3{margin:0;}
#ally-post :is(h1, h2, h3), #ally-blog :is(h1, h2, h3){line-height:1.6;}
#ally-blog .bl-search button{line-height:normal;}

/* post_class() adds Astra's .ast-article-single, which pads the article box */
#ally-post { padding: 0; margin: 0; border: 0; box-shadow: none; }
