/* heru-blog: Blog family (blog-archive, blog-cat-grid, post-hero, post-featured, post-footer, and the article body and contents list). Colours via site tokens, fonts as named. Hover rules sit inside the hover-capable query. */
.blog-arch,.post-hero,.post-featured,.post-foot,.post-body{--cream:var(--wp--preset--color--light-gray);--surface:var(--wp--preset--color--heru-surface);--deep:var(--wp--preset--color--heru-sand-deep);--ink:var(--wp--preset--color--heru-ink);--ink-mid:var(--wp--preset--color--heru-ink-mid);--ink-light:var(--wp--preset--color--heru-ink-light);--rule:var(--wp--preset--color--heru-rule);--taupe:var(--wp--preset--color--secondary);--primary:var(--wp--preset--color--primary);--gutter:clamp(1.25rem,5vw,8.125rem);}
/* blog-archive and blog-cat-grid */
.blog-arch{font-family:'Manrope',sans-serif;}
.blog-arch *,.blog-arch *::before,.blog-arch *::after{box-sizing:border-box;margin:0;padding:0;}
.blog-arch .blog-filter{background:var(--cream);padding:clamp(1.75rem,4vw,3.125rem) var(--gutter);}
.blog-arch .blog-filter-inner{max-width:1180px;margin:0 auto;display:flex;align-items:center;flex-wrap:wrap;gap:.6rem .75rem;}
.blog-arch .blog-filter-label{font-family:'Manrope',sans-serif;font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);margin-right:.5rem;}
.blog-arch .blog-pill,.blog-arch .blog-filter-inner a{font-family:'Inter',sans-serif;font-size:.8125rem;line-height:1;color:var(--ink-mid);background:var(--surface);border:1px solid var(--rule);border-radius:100px;padding:.6rem 1.1rem;text-decoration:none;cursor:pointer;-webkit-appearance:none;appearance:none;transition:background .15s ease,border-color .15s ease,color .15s ease;}
@media (hover:hover) and (pointer:fine){.blog-arch .blog-pill:hover,.blog-arch .blog-filter-inner a:hover{border-color:var(--wp--preset--color--heru-taupe-hover);color:var(--ink);}}
.blog-arch .blog-pill.is-active,.blog-arch .blog-filter-inner a.is-active{background:var(--primary);border-color:var(--primary);color:var(--wp--preset--color--white);}
.blog-arch .blog-grid-sec{background:var(--wp--preset--color--white);padding:clamp(3rem,6vw,4rem) var(--gutter);}
.blog-arch .blog-grid-inner{max-width:1180px;margin:0 auto;display:flex;flex-direction:column;gap:2rem;}
.blog-arch .blog-grid-head{border-bottom:1px solid var(--rule);padding-bottom:1.0625rem;}
.blog-arch .blog-grid-head h2{font-family:'Jost',sans-serif;font-weight:600;font-size:clamp(1.5rem,2.4vw,2rem);line-height:1.15;color:var(--ink);letter-spacing:-.01em;}
.blog-arch .blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;}
.blog-arch .blog-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--rule);text-decoration:none;color:inherit;overflow:hidden;transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease;}
@media (hover:hover) and (pointer:fine){.blog-arch .blog-card:hover{border-color:var(--wp--preset--color--accent-1);transform:translateY(-2px);box-shadow:0 6px 24px rgba(31,35,48,.07);}}
.blog-arch .blog-card[hidden]{display:none;}
.blog-arch .blog-card-img{position:relative;aspect-ratio:4/3;background-color:var(--deep);background-size:cover;background-position:center;border-bottom:1px solid var(--rule);}
.blog-arch .blog-card-img::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(45deg,transparent 0 10px,rgba(31,35,48,.03) 10px 11px);}
.blog-arch .blog-card-body{padding:1.5rem 1.5rem 1.75rem;display:flex;flex-direction:column;gap:.6rem;}
.blog-arch .blog-card-tags{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;font-family:'Manrope',sans-serif;font-weight:600;font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;}
.blog-arch .blog-card-tags .cat{color:var(--wp--preset--color--accent-1);}
.blog-arch .blog-card-tags .dt,.blog-arch .blog-card-tags .rd{color:var(--ink-light);}
.blog-arch .blog-card-tags span:empty{display:none;}
.blog-arch .blog-card-tags .dt::before,.blog-arch .blog-card-tags .rd::before{content:'\00B7';margin-right:.5rem;color:var(--rule);}
.blog-arch .blog-card-body h3{font-family:'Manrope',sans-serif;font-weight:700;font-size:1.3rem;line-height:1.25;color:var(--ink);}
.blog-arch .blog-card-desc{font-family:'Manrope',sans-serif;font-weight:300;font-size:.875rem;line-height:1.5;color:var(--ink-mid);}
.blog-arch .blog-card-link{font-family:'Manrope',sans-serif;font-weight:500;font-size:.875rem;color:var(--wp--preset--color--accent-1);margin-top:.25rem;}
.blog-arch .blog-grid-empty{font-family:'Manrope',sans-serif;font-size:.95rem;line-height:1.6;color:var(--ink-mid);padding:.5rem 0;}
.blog-arch .blog-grid-empty a{color:var(--wp--preset--color--accent-1);}
.blog-arch .blog-grid-empty[hidden]{display:none;}
@media (max-width:960px){.blog-arch .blog-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:600px){.blog-arch .blog-grid{grid-template-columns:1fr;}}
/* post-hero */
.post-hero{--divider:var(--wp--preset--color--heru-divider);--rule:var(--wp--preset--color--secondary);position:relative;overflow:hidden;background:var(--cream);padding:clamp(3.5rem,8vw,6.25rem) var(--gutter);}
.post-hero::before{content:'';position:absolute;inset:0;background:url('https://heritageunlimited.co.uk/wp-content/uploads/2026/06/Nash-Court-1.jpg') no-repeat center/cover;opacity:.12;filter:grayscale(1);pointer-events:none;}
.post-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,var(--cream) 22%,rgba(244,241,236,0.55) 60%,rgba(244,241,236,0.25) 100%);pointer-events:none;}
.post-hero *,.post-hero *::before,.post-hero *::after{box-sizing:border-box;margin:0;padding:0;}
.post-hero .pho-inner{position:relative;z-index:1;max-width:770px;margin:0 auto;display:flex;flex-direction:column;gap:1.75rem;}
.post-hero .eyebrow{font-family:'Inter',sans-serif;font-size:.75rem;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--wp--preset--color--accent-1);}
.post-hero h1{font-family:'Jost',sans-serif;font-weight:500;font-size:clamp(2.25rem,4.5vw,3.5rem);line-height:1.1;letter-spacing:-.015em;color:var(--ink);}
.post-hero h1 em{font-style:italic;color:var(--wp--preset--color--accent-1);}
.post-hero .pho-sub{font-family:'Manrope',sans-serif;font-size:clamp(1.35rem,2.4vw,1.75rem);font-weight:400;line-height:1.55;color:var(--primary);}
.post-hero .pho-meta{display:flex;flex-wrap:wrap;align-items:flex-start;gap:1.875rem;border-top:1px solid var(--rule);padding-top:1.5rem;}
.post-hero .pho-fact{display:flex;flex-direction:column;gap:.5rem;}
.post-hero .pho-fact-label{font-family:'Inter',sans-serif;font-size:.7rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mid);}
.post-hero .pho-fact-value{font-family:'Jost',sans-serif;font-size:1.05rem;font-weight:500;letter-spacing:-.005em;color:var(--ink-mid);}
.post-hero .pho-sep{align-self:stretch;width:1px;background:var(--divider);}
@media (max-width:640px){.post-hero .pho-sep{display:none;}.post-hero .pho-meta{gap:1.25rem;}}
/* post-featured */
.post-featured{--cream:var(--wp--preset--color--heru-surface);--placeholder:var(--wp--preset--color--heru-placeholder);background:var(--wp--preset--color--white);padding:clamp(2.5rem,5vw,3.75rem) var(--gutter);}
.post-featured *,.post-featured *::before,.post-featured *::after{box-sizing:border-box;margin:0;padding:0;}
.post-featured .pf-inner{max-width:1180px;margin:0 auto;}
.post-featured .pf-figure{position:relative;width:100%;aspect-ratio:1180/550;min-height:300px;background-color:var(--placeholder);background-size:cover;background-position:center;}
.post-featured .pf-caption{position:absolute;left:1rem;bottom:1rem;background:var(--cream);padding:.35rem .625rem;font-family:'Inter',sans-serif;font-style:italic;font-weight:300;font-size:.72rem;letter-spacing:.02em;color:var(--ink-light);}
.post-featured .pf-caption:empty{display:none;}
/* post-footer */
.post-foot{--green:var(--wp--preset--color--heru-forest);background:var(--wp--preset--color--white);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:clamp(2.5rem,5vw,3.8rem) var(--gutter);}
.post-foot *,.post-foot *::before,.post-foot *::after{box-sizing:border-box;margin:0;padding:0;}
.post-foot .pft-inner{max-width:1180px;margin:0 auto;}
.post-foot .pft-tags{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;max-width:820px;padding-bottom:2rem;border-bottom:1px solid var(--rule);}
.post-foot .pft-tags-label{font-family:'Inter',sans-serif;font-weight:500;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-light);margin-right:.5rem;}
.post-foot .pft-pill{display:inline-flex;align-items:center;padding:.45rem .9375rem;background:var(--cream);border:1px solid var(--rule);border-radius:100px;font-family:'Inter',sans-serif;font-size:.825rem;color:var(--ink-mid);text-decoration:none;transition:border-color .15s ease,color .15s ease;}
@media (hover:hover) and (pointer:fine){.post-foot .pft-pill:hover{border-color:var(--wp--preset--color--accent-1);color:var(--wp--preset--color--accent-1);}}
.post-foot .pft-author{display:flex;align-items:flex-start;gap:1.5rem;max-width:820px;padding-top:2rem;text-decoration:none;}
.post-foot a.pft-author{cursor:pointer;}
.post-foot .pft-avatar{flex:0 0 auto;width:80px;height:80px;border-radius:50%;overflow:hidden;background-color:var(--deep);border:1px solid var(--rule);transition:border-color .15s ease;}
.post-foot .pft-avatar img{width:100%;height:100%;object-fit:cover;display:block;}
@media (hover:hover) and (pointer:fine){.post-foot a.pft-author:hover .pft-avatar{border-color:var(--wp--preset--color--accent-1);}.post-foot a.pft-author:hover .pft-author-name{color:var(--wp--preset--color--accent-1);}}
.post-foot .pft-author-meta{display:flex;flex-direction:column;gap:.3125rem;}
.post-foot .pft-author-name{font-family:'Jost',sans-serif;font-weight:500;font-size:1.1rem;letter-spacing:-.005em;color:var(--ink);transition:color .15s ease;}
.post-foot .pft-author-role{font-family:'Jost',sans-serif;font-style:italic;font-weight:300;font-size:.95rem;color:var(--green);}
.post-foot .pft-author-bio{font-family:'Inter',sans-serif;font-weight:300;font-size:.92rem;line-height:1.6;color:var(--ink-mid);}
/* article body (the post-body group in each post) and contents list. Order matters: later rules win ties.
   !important is kept only on the spacing declarations below: the theme forces margin-block:0 !important on every flow layout (frontend.css), so a normal declaration can never win. */
.single .entry-content.wp-block-post-content.is-layout-constrained{max-width:none;}
.single .entry-content.wp-block-post-content.is-layout-constrained>*{max-width:none;margin:0;}
.post-body{background:var(--wp--preset--color--white);padding:0;}
.post-body .pb-grid{max-width:1040px;margin-inline:auto;margin-block:0;gap:clamp(2rem,4vw,2.5rem)!important;align-items:flex-start;padding-inline:clamp(1.25rem,5vw,3rem);}
.post-body .pb-article{max-width:820px;}
.post-body .pb-article>*{margin-block:0;}
.post-body .pb-article>*+*{margin-top:1.875rem !important;}
.post-body .pb-article p{font-family:'Inter',sans-serif;font-weight:300;font-size:1.0625rem;line-height:1.8;color:var(--ink-mid);}
.post-body .pb-article p+p{margin-top:1.25rem !important;}
.post-body .pb-article h2{font-family:'Jost',sans-serif;font-weight:500;font-size:clamp(1.6rem,2.8vw,2rem);line-height:1.2;letter-spacing:-.01em;color:var(--ink);scroll-margin-top:6rem;margin-top:2rem !important;margin-bottom:.75rem !important;}
.post-body .pb-article h2:first-child{margin-top:0 !important;}
.post-body .pb-article h2 em{font-style:italic;color:var(--wp--preset--color--accent-1);}
.post-body .pb-article p.lead{font-family:'Jost',sans-serif;font-weight:400;font-size:1.1875rem;line-height:1.7;color:var(--ink);}
.post-body .pb-article a{color:var(--wp--preset--color--accent-1);text-underline-offset:.15em;}
@media (hover:hover) and (pointer:fine){.post-body .pb-article a:hover{text-decoration:none;}}
.post-body .post-callout{background:var(--surface);border-left:4px solid var(--wp--preset--color--accent-1);padding:2.5rem !important;margin:3rem 0 !important;display:flex;flex-direction:column;gap:1.25rem;}
.post-body .post-callout p{margin:0;font-family:'Inter',sans-serif;font-weight:300;font-size:1.0625rem;line-height:1.8;color:var(--ink-mid);}
.post-body .post-callout .pc-label{font-weight:500;font-size:.8125rem;letter-spacing:.25em;text-transform:uppercase;color:var(--ink-mid);}
.post-body .post-table{margin:0;}
.post-body .post-table table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--rule);font-family:'Inter',sans-serif;}
.post-body .post-table thead{background:var(--deep);}
.post-body .post-table th{text-align:left;font-family:'Jost',sans-serif;font-weight:500;font-size:.95rem;color:var(--ink);padding:1.1rem 1.25rem;border:none;border-bottom:1px solid var(--rule);}
.post-body .post-table td{font-weight:300;font-size:.95rem;line-height:1.5;color:var(--ink-mid);padding:1rem 1.25rem;border:none;border-bottom:1px solid var(--rule);vertical-align:top;}
.post-body .post-table tbody tr:last-child td{border-bottom:none;}
.post-body .post-table td:first-child{font-weight:500;color:var(--ink);white-space:nowrap;}
.post-body .pdf-download{display:flex;align-items:center;gap:1.1rem;background:var(--surface);border:1px solid var(--rule);border-left:4px solid var(--wp--preset--color--accent-1);padding:1.375rem 1.625rem;text-decoration:none;transition:background .15s ease,border-color .15s ease;margin-top:.75rem !important;margin-bottom:.75rem !important;}
@media (hover:hover) and (pointer:fine){.post-body .pdf-download:hover{background:var(--deep);}}
.post-body .pdf-download .pdf-download-icon{flex:0 0 auto;width:2.75rem;height:2.75rem;display:flex;align-items:center;justify-content:center;background:var(--wp--preset--color--accent-1);color:var(--wp--preset--color--white);border-radius:4px;}
.post-body .pdf-download .pdf-download-icon svg{width:1.4rem;height:1.4rem;}
.post-body .pdf-download .pdf-download-text{display:flex;flex-direction:column;gap:.2rem;}
.post-body .pdf-download .pdf-download-title{font-family:'Jost',sans-serif;font-weight:500;font-size:1.0625rem;color:var(--ink);}
.post-body .pdf-download .pdf-download-meta{font-family:'Inter',sans-serif;font-weight:300;font-size:.85rem;color:var(--ink-light);}
.post-body .pb-toc{position:sticky;top:6rem;align-self:flex-start;border-left:1px solid var(--taupe);padding:.5rem 0 .5rem 2.5rem;}
.post-body .pb-toc .pb-toc-label{font-family:'Inter',sans-serif;font-weight:500;font-size:.8125rem;letter-spacing:.25em;text-transform:uppercase;color:var(--ink-mid);margin:0 0 2.75rem !important;}
.post-body .pb-toc ul{list-style:disc;padding-left:1.5rem;margin:0;display:flex;flex-direction:column;gap:.55rem;}
.post-body .pb-toc li{font-family:'Inter',sans-serif;}
.post-body .pb-toc a{font-size:1.0625rem;line-height:1.4;color:var(--ink-mid);text-decoration:none;transition:color .15s ease;}
.post-body .pb-toc a.is-active{color:var(--wp--preset--color--accent-1);}
@media (hover:hover) and (pointer:fine){.post-body .pb-toc a:hover{color:var(--wp--preset--color--accent-1);}}
.post-body .pb-toc:not(:has(li)){display:none;}
@media(max-width:781px){.post-body .pb-toc{position:static;border-left:none;border-top:1px solid var(--taupe);padding:1.5rem 0 0;}}
