/*
Theme Name: FireRescue CoolGrid
Theme URI: https://example.com/
Author: Ken + ChatGPT
Author URI: https://example.com/
Description: Minimal, dense, 3-column product/gear blog grid inspired by clean editorial galleries. Red accent. 1:1 images.
Version: 1.0.50
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: firerescue-coolgrid
Tags: blog, grid-layout, custom-menu, featured-images, block-styles, editor-style, sticky-post, translation-ready
*/

:root{
  --topbar-h:56px;
  --bg:#ffffff;
  --text:#111111;
  --muted:#6b7280;
  --line:#e5e7eb;
  --card:#ffffff;
  --shadow:0 10px 30px rgba(0,0,0,.06);
  --accent:#bf0000; /* hint of red */
  --accent2:#ff3b30;
  --radius:14px;
  --max:1180px;
  --gap:22px;
  --font:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";
  --serif:ui-serif,Georgia,Cambria,"Times New Roman",Times,serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:var(--font);
  line-height:1.55;
}
a{color:inherit;text-decoration:none}
a:hover{color:var(--accent)}
img{max-width:100%;height:auto;display:block}
.fr-wrap{max-width:var(--max);margin:0 auto;padding:0 18px}

.fr-topbar{
  position:sticky;top:0;z-index:50;
  background:rgba(255,255,255,.88);
  backdrop-filter:saturate(160%) blur(10px);
  border-bottom:1px solid var(--line);
}
.fr-topbar.is-scrolled{
  box-shadow:0 14px 40px rgba(0,0,0,.10);
}
.fr-topbar-inner{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:62px}
.fr-brand{display:flex;align-items:center;gap:10px}
.fr-logo-dot{width:10px;height:10px;border-radius:999px;background:var(--accent)}
.fr-title{font-weight:800;letter-spacing:.2px;font-size:clamp(16px,4.2vw,18px)}
.fr-title span{color:var(--accent)}
.fr-nav{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.fr-nav a{font-size:13px;color:var(--muted);padding:10px 6px}
.fr-nav a:hover{color:var(--text)}

/* Header collapse + mobile menu */
.fr-collapse{display:flex;align-items:center;gap:14px}
.fr-menu-btn{display:none;align-items:center;justify-content:center;width:42px;height:42px;border-radius:999px;border:1px solid var(--line);background:rgba(0,0,0,.02)}
.fr-menu-btn:hover{border-color:rgba(191,0,0,.45);background:rgba(191,0,0,.06)}
.fr-menu-btn:focus{outline:none;box-shadow:0 0 0 4px rgba(191,0,0,.12)}
.fr-menu-icon{width:18px;height:2px;background:var(--text);border-radius:2px;position:relative;display:block;transition:transform .15s ease,background .15s ease}
.fr-menu-icon:before,.fr-menu-icon:after{content:"";position:absolute;left:0;width:18px;height:2px;background:var(--text);border-radius:2px;transition:transform .15s ease,top .15s ease}
.fr-menu-icon:before{top:-5px}
.fr-menu-icon:after{top:5px}
.fr-topbar.is-open .fr-menu-icon{background:transparent}
.fr-topbar.is-open .fr-menu-icon:before{top:0;transform:rotate(45deg)}
.fr-topbar.is-open .fr-menu-icon:after{top:0;transform:rotate(-45deg)}

@media (max-width: 860px){
  .fr-topbar-inner{flex-wrap:wrap}
  .fr-collapse{display:none;width:100%;flex-direction:column;align-items:stretch;gap:12px;padding:10px 0 14px}
  .fr-topbar.is-open .fr-collapse{display:flex}
  .fr-menu-btn{display:inline-flex}
  .fr-nav{width:100%}
  .fr-nav .fr-nav-list{display:flex;flex-direction:column;gap:6px;padding:4px 0}
  .fr-nav a{display:block;padding:12px 12px;border-radius:14px;border:1px solid var(--line);background:rgba(0,0,0,.01)}
  .fr-actions{width:100%;flex-direction:column;align-items:stretch}
  .fr-search{width:100%;display:flex;flex-direction:column;gap:8px}
  .fr-search input{width:100%;max-width:none}
  .fr-search-btn{width:100%}
  .fr-actions > .fr-btn{width:100%}
}


.fr-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.fr-search input{
  width:220px;max-width:45vw;
  border:1px solid var(--line);
  border-radius:999px;
  padding:10px 12px;
  font-size:13px;
  outline:none;
  background:#fff;
}
.fr-search input:focus{border-color:rgba(191,0,0,.55);box-shadow:0 0 0 4px rgba(191,0,0,.10)}
.fr-btn{
  display:inline-flex;align-items:center;justify-content:center;
  border:1px solid var(--line);
  border-radius:999px;
  padding:10px 12px;
  font-size:13px;
  background:#fff;
}
.fr-btn:hover{border-color:rgba(191,0,0,.45)}

.fr-hero{padding:18px 0 8px}
.fr-hero h1{margin:14px 0 6px;font-size:clamp(20px,4.8vw,28px);letter-spacing:-.2px}
.fr-hero p{margin:0;color:var(--muted);font-size:14px}

.fr-grid{display:grid;gap:var(--gap);padding:22px 0 40px}
@media (min-width:760px){.fr-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1040px){.fr-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}

.fr-card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:0 0 0 rgba(0,0,0,0);
  transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;
}
.fr-card:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:rgba(0,0,0,.06)}

.fr-thumb{
  width:100%;
  aspect-ratio:1/1; /* 1:1 images */
  background:#e7eef6;
  position:relative;
  overflow:hidden;
}
.fr-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .28s ease}

/* Hover zoom + red accent */
.fr-thumb::before{
  content:"";
  position:absolute;left:0;right:0;bottom:0;height:3px;
  background:var(--accent);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .25s ease;
  z-index:2;
}
.fr-card:hover .fr-thumb img{transform:scale(1.045)}
.fr-card:hover .fr-thumb::before{transform:scaleX(1)}
.fr-thumb::after{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,0) 55%,rgba(0,0,0,.16) 100%);
  opacity:.65;
  pointer-events:none;
  z-index:1;
}

.fr-card-body{padding:14px 14px 16px}
.fr-kicker{
  display:inline-flex;gap:8px;align-items:center;flex-wrap:wrap;
  font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.6px;
}
.fr-kicker a{color:var(--muted)}
.fr-kicker a:hover{color:var(--accent)}
.fr-kicker .dot{width:4px;height:4px;border-radius:99px;background:rgba(191,0,0,.5)}
.fr-card h2{font-size:17px;margin:10px 0 6px;line-height:1.18;letter-spacing:-.2px;font-weight:800}
.fr-excerpt{margin:0;color:#374151;font-size:13px}

.fr-pager{display:flex;gap:10px;justify-content:center;padding:0 0 40px}
.fr-pager a,.fr-pager span{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:38px;height:38px;
  border:1px solid var(--line);
  border-radius:10px;
  font-size:13px;
  background:#fff;
}
.fr-pager .current{border-color:rgba(191,0,0,.35);box-shadow:0 0 0 4px rgba(191,0,0,.08)}
.fr-pager a:hover{border-color:rgba(191,0,0,.45)}

.fr-content{padding:22px 0 46px}
.fr-article{max-width:920px;margin:0 auto}
.fr-article h1{font-size:34px;letter-spacing:-.7px;margin:0 0 10px;font-weight:900}
.fr-article .fr-byline{color:var(--muted);font-size:13px;margin-bottom:18px}
.fr-article .fr-feature{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin:18px 0}
.fr-article .fr-feature .fr-thumb{aspect-ratio:16/9}
.fr-article .fr-feature img{width:100%;height:100%;object-fit:cover}
.fr-article .entry-content{font-size:16px}
.fr-article .entry-content h2,.fr-article .entry-content h3{margin-top:24px}
.fr-article .entry-content a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.fr-article .entry-content a:hover{color:var(--accent2)}
.fr-article .entry-content blockquote{
  border-left:4px solid rgba(191,0,0,.35);
  margin:18px 0;padding:6px 0 6px 14px;color:#111;background:rgba(191,0,0,.04);
}
.fr-article .entry-content ul{padding-left:20px}

.fr-footer{border-top:1px solid var(--line);padding:26px 0 40px;color:var(--muted);font-size:13px}
.fr-footer a{color:var(--muted)}
.fr-footer a:hover{color:var(--accent)}

.alignwide{max-width:var(--max);margin-left:auto;margin-right:auto}
.alignfull{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
.wp-block-image img{border-radius:12px}
.screen-reader-text{position:absolute;left:-9999px}
/* Sticky category filter chips */
.fr-filterbar{
  position:sticky;
  top:var(--topbar-h);
  z-index:49;
  background:rgba(255,255,255,.86);
  backdrop-filter:saturate(160%) blur(10px);
  border-bottom:1px solid var(--line);
}
@media (prefers-color-scheme: dark){
  .fr-filterbar{ background:rgba(12,12,12,.72); }
}
.fr-filterbar-inner{
  display:flex;
  gap:10px;
  align-items:center;
  padding:10px 0;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.fr-filterbar-inner::-webkit-scrollbar{ display:none; }
.fr-chip{
  flex:0 0 auto;
  font-size:13px;
  line-height:1;
  padding:9px 12px;
  border:1px solid var(--line);
  border-radius:999px;
  background:rgba(0,0,0,.02);
  color:inherit;
  transition:transform .12s ease, border-color .12s ease, background .12s ease, color .12s ease;
  white-space:nowrap;
}
.fr-chip:hover{
  border-color:rgba(191,0,0,.35);
  background:rgba(191,0,0,.06);
  color:var(--text);
  transform:translateY(-1px);
}
.fr-chip.is-active{
  border-color:rgba(191,0,0,.55);
  background:rgba(191,0,0,.10);
  box-shadow:0 8px 24px rgba(191,0,0,.12);
}

/* Make room for sticky filterbar under sticky header */
.fr-topbar{ min-height:56px; }

@media (min-width: 900px){
  :root{ --topbar-h:64px; }
}

/* Quick view button */
.fr-card-actions{ margin-top:12px; display:flex; justify-content:flex-end; }
.fr-qv-btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:13px;
  padding:8px 11px;
  border-radius:999px;
  border:1px solid var(--line);
  background:rgba(0,0,0,.02);
  color:inherit;
}
.fr-qv-btn:hover{
  border-color:rgba(191,0,0,.45);
  background:rgba(191,0,0,.06);
  color:var(--text);
}

/* Modal */
html.fr-modal-open, html.fr-modal-open body{ overflow:hidden; }
.fr-modal{
  position:fixed;
  inset:0;
  z-index:9999;
  background:rgba(0,0,0,.56);
  display:none;
  align-items:center;
  justify-content:center;
  padding:18px;
}
.fr-modal.is-open{ display:flex; }
.fr-modal-panel{
  width:min(980px, 100%);
  background:var(--bg);
  color:var(--text);
  border:1px solid var(--line);
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 30px 90px rgba(0,0,0,.35);
}
.fr-modal-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:14px 16px;
  border-bottom:1px solid var(--line);
  background:rgba(0,0,0,.01);
}
.fr-modal-title{ font-weight:700; letter-spacing:-.01em; }
.fr-modal-close{
  width:36px;
  height:36px;
  border-radius:999px;
  border:1px solid var(--line);
  background:transparent;
  font-size:22px;
  line-height:1;
  cursor:pointer;
}
.fr-modal-close:hover{
  border-color:rgba(191,0,0,.45);
  background:rgba(191,0,0,.06);
}
.fr-modal-body{ padding:0; }
.fr-modal-loading, .fr-modal-error{ padding:22px; }

/* Quick view content */
.fr-qv{
  display:grid;
  grid-template-columns: 1.05fr 1fr;
  gap:0;
}
.fr-qv-media img{
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
  display:block;
}
.fr-qv-body{ padding:22px; }
.fr-qv-meta{ display:flex; align-items:center; gap:10px; font-size:12px; opacity:.78; }
.fr-qv-title{ margin:10px 0 10px; font-size:26px; letter-spacing:-.02em; line-height:1.15; }
.fr-qv-excerpt p{ margin:0 0 10px; }
.fr-qv-actions{ margin-top:14px; }

.fr-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:10px 14px;
  border-radius:12px;
  border:1px solid rgba(191,0,0,.55);
  background:rgba(191,0,0,.10);
  color:var(--text);
  font-weight:700;
}
.fr-btn:hover{ background:rgba(191,0,0,.14); }

@media (max-width: 860px){
  .fr-qv{ grid-template-columns: 1fr; }
  .fr-qv-title{ font-size:22px; }
}

/* Top Picks strip */
.fr-top-picks{
  margin:18px 0 10px;
}
.fr-top-picks-head{
  display:flex;
  align-items:baseline;
  gap:12px;
  margin:10px 0 10px;
}
.fr-top-picks-title{
  margin:0;
  font-size:16px;
  letter-spacing:-.01em;
  font-weight:800;
}
.fr-top-picks-title:after{
  content:"";
  display:inline-block;
  width:10px;
  height:10px;
  margin-left:10px;
  border-radius:999px;
  background:var(--accent);
  box-shadow:0 10px 30px rgba(191,0,0,.25);
  transform:translateY(-1px);
}
.fr-top-picks-sub{
  font-size:13px;
  opacity:.75;
}

.fr-top-picks-rail{
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:rgba(0,0,0,.01);
}
@media (prefers-color-scheme: dark){
  .fr-top-picks-rail{ background:rgba(255,255,255,.03); }
}

.fr-top-picks-inner{
  display:flex;
  gap:14px;
  padding:14px 0;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.fr-top-picks-inner::-webkit-scrollbar{ display:none; }

.fr-pick{
  flex:0 0 auto;
  width:190px;
  border:1px solid var(--line);
  border-radius:18px;
  background:var(--bg);
  box-shadow:0 14px 40px rgba(0,0,0,.06);
  overflow:hidden;
}
.fr-pick-thumb img{
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
  display:block;
}
.fr-pick-body{
  padding:10px 12px 12px;
}
.fr-pick-title{
  display:block;
  font-size:14px;
  line-height:1.25;
  font-weight:800;
  letter-spacing:-.01em;
}
.fr-pick:hover{
  border-color:rgba(191,0,0,.35);
  box-shadow:0 18px 60px rgba(0,0,0,.10);
}

/* Single post hero */
.fr-post-hero{
  border-bottom:1px solid var(--line);
  background:linear-gradient(180deg, rgba(191,0,0,.06), rgba(0,0,0,0) 60%);
}
@media (prefers-color-scheme: dark){
  .fr-post-hero{ background:linear-gradient(180deg, rgba(191,0,0,.12), rgba(0,0,0,0) 60%); }
}
.fr-post-hero-inner{
  /* Keep mobile/desktop content off the edges (this element also has .fr-wrap) */
  padding:22px 18px 16px;
}
.fr-post-meta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
  font-size:13px;
  color:var(--muted);
}
.fr-post-cat{
  color:var(--text);
  font-weight:800;
}
.fr-post-cat:hover{ color:var(--accent); }

.fr-post-title{
  margin:10px 0 0;
  font-size:clamp(28px, 4vw, 44px);
  line-height:1.05;
  letter-spacing:-.03em;
  font-weight:900;
}

.fr-post-actions{
  margin-top:14px;
  display:flex;
  justify-content:flex-start;
}
.fr-share{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.fr-share-btn{
  display:inline-flex;
  align-items:center;
  padding:9px 12px;
  border-radius:999px;
  border:1px solid var(--line);
  background:rgba(0,0,0,.02);
  font-size:13px;
  font-weight:700;
}
.fr-share-btn:hover{
  border-color:rgba(191,0,0,.45);
  background:rgba(191,0,0,.08);
  transform:translateY(-1px);
}

.fr-post-hero-media{ padding:12px 0 18px; }
.fr-post-hero-img{
  border:1px solid var(--line);
  border-radius:22px;
  overflow:hidden;
  box-shadow:0 20px 70px rgba(0,0,0,.10);
}
.fr-post-hero-img img{
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
  display:block;
}

.fr-post-footer{
  margin-top:26px;
  padding-top:16px;
  border-top:1px solid var(--line);
  display:flex;
  gap:12px;
  justify-content:space-between;
  flex-wrap:wrap;
  color:var(--muted);
  font-size:13px;
}
.fr-post-footer a{ text-decoration:underline; text-underline-offset:3px; }
.fr-foot-label{ opacity:.85; margin-right:6px; }

@media (max-width: 720px){
  .fr-post-hero-inner{ padding:18px 18px 12px; }
  .fr-post-hero-img img{ aspect-ratio:1/1; } /* mobile: square hero keeps the grid vibe */
}

/* Single post layout: content + sticky TOC */
.fr-post-grid{
  display:grid;
  grid-template-columns: 1fr 280px;
  gap:28px;
  padding:22px 0 34px;
  align-items:start;
}
.fr-post-aside{
  position:sticky;
  top:calc(var(--topbar-h) + 12px);
  height:fit-content;
}

.fr-toc{
  border:1px solid var(--line);
  border-radius:18px;
  background:rgba(0,0,0,.01);
  padding:12px 12px 10px;
}
@media (prefers-color-scheme: dark){
  .fr-toc{ background:rgba(255,255,255,.03); }
}
.fr-toc-head{
  font-weight:900;
  letter-spacing:-.01em;
  font-size:13px;
  margin-bottom:8px;
}
.fr-toc-nav{ }
.fr-toc-list{
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  flex-direction:column;
  gap:6px;
  font-size:13px;
}
.fr-toc-list li a{
  display:block;
  padding:6px 8px;
  border-radius:10px;
  border:1px solid transparent;
  color:inherit;
}
.fr-toc-list li a:hover{
  background:rgba(191,0,0,.06);
  border-color:rgba(191,0,0,.22);
}
.fr-toc-list li.is-h3 a{
  padding-left:18px;
  opacity:.88;
}

/* Mobile TOC */
.fr-toc-mobile{
  display:none;
  margin:0 0 14px;
}
.fr-toc-mobile summary{
  cursor:pointer;
  font-weight:900;
  font-size:13px;
  list-style:none;
}
.fr-toc-mobile summary::-webkit-details-marker{ display:none; }

/* Next / Prev */
.fr-post-nav{
  margin-top:26px;
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:12px;
}
.fr-post-nav-item a{
  display:block;
  padding:14px 14px;
  border-radius:18px;
  border:1px solid var(--line);
  background:rgba(0,0,0,.01);
  box-shadow:0 14px 40px rgba(0,0,0,.06);
  min-height:86px;
}
.fr-post-nav-item a:hover{
  border-color:rgba(191,0,0,.35);
  background:rgba(191,0,0,.04);
}
.fr-post-nav-kicker{
  display:block;
  font-size:12px;
  color:var(--muted);
  margin-bottom:6px;
  font-weight:800;
}
.fr-post-nav-title{
  display:block;
  font-size:14px;
  font-weight:900;
  letter-spacing:-.01em;
  line-height:1.25;
}
.fr-post-nav-item.fr-prev{ text-align:left; }
.fr-post-nav-item.fr-next{ text-align:right; }

/* Related */
.fr-related{
  margin-top:30px;
  padding-top:18px;
  border-top:1px solid var(--line);
}
.fr-related-title{
  margin:0 0 12px;
  font-size:16px;
  font-weight:900;
  letter-spacing:-.01em;
}
.fr-related-grid{ margin-top:0; }

@media (max-width: 980px){
  .fr-post-grid{ grid-template-columns: 1fr; }
  .fr-post-aside{ display:none; }
  .fr-toc-mobile{ display:block; }
}
@media (max-width: 720px){
  .fr-post-nav{ grid-template-columns: 1fr; }
  .fr-post-nav-item.fr-next{ text-align:left; }
}



/* Load more */
.fr-loadmore-wrap{
  display:flex;
  justify-content:center;
  margin:18px 0 28px;
}
.fr-loadmore{
  padding:12px 16px;
  border-radius:14px;
  border:1px solid rgba(191,0,0,.45);
  background:rgba(191,0,0,.08);
  font-weight:900;
  letter-spacing:-.01em;
  cursor:pointer;
}
.fr-loadmore:hover{ background:rgba(191,0,0,.12); }
.fr-loadmore:disabled{ opacity:.7; cursor:wait; }

/* Product box */
.fr-pbox{
  margin:0 0 8px;
  border:1px solid var(--line);
  border-radius:20px;
  background:linear-gradient(180deg, rgba(191,0,0,.07), rgba(0,0,0,.01));
  box-shadow:0 16px 50px rgba(0,0,0,.08);
  overflow:hidden;
}
@media (prefers-color-scheme: dark){
  .fr-pbox{ background:linear-gradient(180deg, rgba(191,0,0,.14), rgba(255,255,255,.03)); }
}
.fr-pbox-inner{ padding:14px 16px 16px; }
.fr-pbox-kicker{
  font-size:12px;
  font-weight:900;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.08em;
}
.fr-pbox-title{
  margin-top:6px;
  font-size:16px;
  font-weight:900;
  letter-spacing:-.01em;
  line-height:1.2;
}
.fr-pbox-price{
  margin-top:6px;
  font-weight:900;
  color:var(--text);
  opacity:.9;
}
.fr-pbox-list{
  margin:10px 0 0;
  padding:0 0 0 18px;
  color:var(--muted);
  font-size:13px;
  line-height:1.5;
}
.fr-pbox-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:12px;
  padding:11px 14px;
  border-radius:14px;
  border:1px solid rgba(191,0,0,.55);
  background:rgba(191,0,0,.12);
  font-weight:900;
}
.fr-pbox-btn:hover{ background:rgba(191,0,0,.16); }


/* Reading mode: single post content polish */
.fr-article .entry-content{
  max-width: 920px;
  font-size: 17px;
  line-height: 1.75;
  letter-spacing: -0.01em;
}
.fr-article .entry-content p{ margin: 0 0 1.05em; }
.fr-article .entry-content a{ text-decoration: underline; text-underline-offset: 3px; }
.fr-article .entry-content h2{
  margin: 1.8em 0 .55em;
  font-size: 26px;
  line-height: 1.15;
  letter-spacing: -0.02em;
  font-weight: 950;
}
.fr-article .entry-content h3{
  margin: 1.3em 0 .45em;
  font-size: 20px;
  line-height: 1.2;
  letter-spacing: -0.01em;
  font-weight: 900;
}
.fr-article .entry-content ul,
.fr-article .entry-content ol{
  margin: 0 0 1.15em 1.25em;
  padding: 0;
}
.fr-article .entry-content li{ margin: .35em 0; }
.fr-article .entry-content blockquote{
  margin: 1.2em 0;
  padding: 14px 16px;
  border-left: 4px solid rgba(191,0,0,.55);
  background: rgba(191,0,0,.05);
  border-radius: 14px;
  color: var(--text);
}
.fr-article .entry-content code{
  font-size: 0.92em;
  padding: .12em .35em;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: rgba(0,0,0,.03);
}
.fr-article .entry-content pre{
  overflow:auto;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: rgba(0,0,0,.03);
}
.fr-article .entry-content figure{ margin: 1.2em 0; }
.fr-article .entry-content figcaption{
  margin-top: 8px;
  font-size: 13px;
  color: var(--muted);
}
.fr-article .entry-content table{
  width:100%;
  border-collapse: collapse;
  margin: 1.1em 0 1.3em;
  font-size: 15px;
}
.fr-article .entry-content th,
.fr-article .entry-content td{
  border:1px solid var(--line);
  padding:10px 12px;
  vertical-align: top;
}
.fr-article .entry-content th{
  background: rgba(0,0,0,.02);
  font-weight: 900;
}

/* Optional callout blocks (use WP Group block with class) */
.fr-callout{
  margin: 1.2em 0;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: rgba(0,0,0,.02);
}
.fr-callout.fr-tip{ border-color: rgba(0,0,0,.10); }
.fr-callout.fr-warning{ border-color: rgba(191,0,0,.35); background: rgba(191,0,0,.05); }
.fr-callout .wp-block-heading{ margin-top:0; }

@media (max-width: 720px){
  .fr-article .entry-content{ font-size: 16px; line-height: 1.72; }
  .fr-article .entry-content h2{ font-size: 22px; }
  .fr-article .entry-content h3{ font-size: 18px; }
}

/* TOC: progress + active section */
.fr-toc-progress{
  height: 6px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: rgba(0,0,0,.02);
  overflow: hidden;
  margin: 10px 0 10px;
}
.fr-toc-progress span{
  display:block;
  height:100%;
  width:0%;
  background: rgba(191,0,0,.50);
}
.fr-toc-list li a.is-active{
  background: rgba(191,0,0,.08);
  border-color: rgba(191,0,0,.25);
  box-shadow: 0 10px 30px rgba(191,0,0,.10);
}

.fr-toc-sub{
  list-style:none;
  padding:0;
  margin:6px 0 0;
  display:flex;
  flex-direction:column;
  gap:6px;
}
.fr-toc-sub .is-h3 a{
  padding-left:18px;
  opacity:.90;
}

/* Content buttons (match theme) */
.fr-article .entry-content .wp-block-button .wp-block-button__link,
.fr-article .entry-content a.wp-block-button__link,
.fr-article .entry-content .wp-element-button,
.fr-article .entry-content button,
.fr-article .entry-content input[type="submit"]{
  border-radius:14px;
  border:1px solid rgba(191,0,0,.55);
  background:rgba(191,0,0,.12);
  color:var(--text);
  font-weight:900;
  letter-spacing:-.01em;
  padding:11px 14px;
  text-decoration:none;
  box-shadow:0 14px 40px rgba(0,0,0,.08);
  transition:transform .12s ease, background .12s ease, border-color .12s ease, box-shadow .12s ease;
}
.fr-article .entry-content .wp-block-button .wp-block-button__link:hover,
.fr-article .entry-content a.wp-block-button__link:hover,
.fr-article .entry-content .wp-element-button:hover,
.fr-article .entry-content button:hover,
.fr-article .entry-content input[type="submit"]:hover{
  background:rgba(191,0,0,.16);
  border-color:rgba(191,0,0,.75);
  transform:translateY(-1px);
  box-shadow:0 18px 60px rgba(0,0,0,.12);
}
.fr-article .entry-content .wp-block-button.is-style-outline .wp-block-button__link{
  background:transparent;
  border-color:rgba(191,0,0,.55);
}
.fr-article .entry-content .wp-block-button.is-style-outline .wp-block-button__link:hover{
  background:rgba(191,0,0,.08);
}

/* Force content buttons to theme red (override Gutenberg/plugin inline defaults) */
.fr-article .entry-content .wp-block-button .wp-block-button__link,
.fr-article .entry-content a.wp-block-button__link,
.fr-article .entry-content .wp-element-button,
.fr-article .entry-content a.wp-element-button,
.fr-article .entry-content a.button,
.fr-article .entry-content .button,
.fr-article .entry-content a[class*="btn"],
.fr-article .entry-content a[class*="button"]{
  background: rgba(191,0,0,.12) !important;
  border: 1px solid rgba(191,0,0,.55) !important;
  color: var(--text) !important;
  border-radius: 14px !important;
  font-weight: 900 !important;
  letter-spacing: -0.01em !important;
  text-decoration: none !important;
  box-shadow: 0 14px 40px rgba(0,0,0,.08) !important;
}
.fr-article .entry-content .wp-block-button .wp-block-button__link:hover,
.fr-article .entry-content a.wp-block-button__link:hover,
.fr-article .entry-content .wp-element-button:hover,
.fr-article .entry-content a.wp-element-button:hover,
.fr-article .entry-content a.button:hover,
.fr-article .entry-content .button:hover,
.fr-article .entry-content a[class*="btn"]:hover,
.fr-article .entry-content a[class*="button"]:hover{
  background: rgba(191,0,0,.16) !important;
  border-color: rgba(191,0,0,.75) !important;
  transform: translateY(-1px);
  box-shadow: 0 18px 60px rgba(0,0,0,.12) !important;
}

/* Keep outline style clean */
.fr-article .entry-content .wp-block-button.is-style-outline .wp-block-button__link{
  background: transparent !important;
  border-color: rgba(191,0,0,.55) !important;
}
.fr-article .entry-content .wp-block-button.is-style-outline .wp-block-button__link:hover{
  background: rgba(191,0,0,.08) !important;
}

/* Hero backdrop + square thumb (less overwhelming) */
.fr-post-hero{
  position:relative;
  overflow:hidden;
}
.fr-hero-backdrop{
  position:absolute;
  inset:-40px;
  background:
    radial-gradient(600px 240px at 20% 10%, rgba(191,0,0,.18), rgba(0,0,0,0) 55%),
    radial-gradient(560px 220px at 80% 0%, rgba(0,0,0,.08), rgba(0,0,0,0) 60%);
  filter: blur(18px);
  transform: scale(1.05);
  pointer-events:none;
}
.fr-post-hero-inner{ position:relative; z-index:2; }

.fr-hero-row{
  display:grid;
  grid-template-columns: 1fr;
  gap:16px;
  align-items:center;
  margin-top:6px;
}
.fr-hero-thumb{
  width:120px;
  aspect-ratio:1/1;
  border-radius:18px;
  overflow:hidden;
  border:1px solid var(--line);
  box-shadow:0 18px 60px rgba(0,0,0,.12);
  background:rgba(0,0,0,.02);
}
.fr-hero-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.fr-hero-text{ min-width:0; }

/* Tone down title a touch */
.fr-post-title{
  font-size:clamp(26px, 3.3vw, 40px);
  line-height:1.07;
}

@media (max-width: 720px){
  .fr-hero-row{
    grid-template-columns: 92px 1fr;
    gap:12px;
  }
  .fr-hero-thumb{ width:92px; border-radius:22px; }
}

/* Hero layout: thumb + title + TOC (desktop) */
.fr-hero-layout{
  display:grid;
  grid-template-columns: 96px 1fr 280px;
  gap:16px;
  align-items:start;
  margin-top:6px;
}
.fr-hero-thumb{
  width:96px;
  aspect-ratio:1/1;
}
.fr-hero-text{ min-width:0; }
.fr-hero-text .fr-post-title{ margin-top:0; }
.fr-hero-text .fr-post-actions{ margin-top:12px; }
.fr-hero-toc{ display:block; }

.fr-toc-hero{
  position:sticky;
  top:calc(var(--topbar-h) + 12px);
}

/* Post grid now single column */
.fr-post-grid-single{
  grid-template-columns: 1fr !important;
}
.fr-post-grid-single .fr-post-aside{ display:none !important; }

/* Mobile: TOC collapses below (keep existing .fr-toc-mobile) */
@media (max-width: 980px){
  .fr-hero-layout{
    grid-template-columns: 86px 1fr;
    grid-template-areas:
      "thumb text"
      "toc toc";
  }
  .fr-hero-thumb{ grid-area:thumb; width:86px; }
  .fr-hero-text{ grid-area:text; }
  .fr-hero-toc{ grid-area:toc; }
  .fr-toc-hero{ position:static; }
}

@media (max-width: 720px){
  .fr-hero-layout{ grid-template-columns: 80px 1fr; gap:12px; }
  .fr-hero-thumb{ width:220px; border-radius:22px; }
  .fr-share-btn{ padding:8px 10px; font-size:12px; }
}

@media (max-width: 720px){
  .fr-hero-toc{ display:none; }
  .fr-toc-mobile{ display:block; }
}

/* v1.0.17: Hero layout fixed (thumb + title + TOC on right) */
.fr-post-hero{ position:relative; overflow:hidden; }
.fr-hero-backdrop{
  position:absolute;
  inset:-40px;
  background:
    radial-gradient(620px 260px at 18% 10%, rgba(191,0,0,.18), rgba(0,0,0,0) 58%),
    radial-gradient(560px 220px at 80% 0%, rgba(0,0,0,.08), rgba(0,0,0,0) 62%);
  filter: blur(18px);
  transform: scale(1.05);
  pointer-events:none;
}
.fr-post-hero-inner{ position:relative; z-index:2; padding:18px 18px 16px; }

.fr-hero-layout{
  display:grid;
  grid-template-columns: 350px 1fr 300px;
  gap:16px;
  align-items:start;
  margin-top:6px;
}
.fr-hero-thumb{
  width:350px;
  aspect-ratio:1/1;
  border-radius:22px;
  overflow:hidden;
  border:1px solid var(--line);
  box-shadow:0 18px 60px rgba(0,0,0,.12);
  background:rgba(0,0,0,.02);
}
.fr-hero-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }

.fr-hero-main{ min-width:0; }
.fr-post-title{
  margin:0;
  font-size:clamp(24px, 3.1vw, 36px);
  line-height:1.08;
  letter-spacing:-.03em;
  font-weight:950;
}
.fr-post-actions{ margin-top:12px; }

.fr-hero-toc .fr-toc{
  max-height: 210px;
  overflow:auto;
}
.fr-hero-toc .fr-toc-list{ gap:4px; }
.fr-hero-toc .fr-toc-list li a{ padding:5px 8px; }

@media (max-width: 980px){
  .fr-hero-layout{
    grid-template-columns: 80px 1fr;
    grid-template-areas:
      "thumb main"
      "toc toc";
  }
  .fr-hero-thumb{ width:220px; }
  .fr-hero-toc{ grid-area:toc; margin-top:6px; }
  .fr-hero-toc .fr-toc{ max-height:none; }
}
@media (max-width: 720px){
  .fr-hero-layout{ grid-template-columns: 72px 1fr; gap:12px; }
  .fr-hero-thumb{ width:150px; }
  .fr-hero-toc{ display:none; }
  .fr-toc-mobile{ display:block; }
  .fr-share-btn{ padding:8px 10px; font-size:12px; }
}

/* Lightbox */
.fr-lightbox-trigger{
  all: unset;
  display:block;
  width:100%;
  height:100%;
  cursor: zoom-in;
}
.fr-lightbox-trigger:focus-visible{
  outline: 3px solid rgba(191,0,0,.45);
  outline-offset: 3px;
  border-radius: 18px;
}
.fr-lightbox{
  position:fixed;
  inset:0;
  z-index:9999;
  background: rgba(0,0,0,.78);
  display:none;
  align-items:center;
  justify-content:center;
  padding: 18px;
}
.fr-lightbox.is-open{ display:flex; }
.fr-lightbox-inner{
  position:relative;
  max-width: min(1100px, 92vw);
  max-height: 92vh;
  width: auto;
}
.fr-lightbox-img{
  display:block;
  max-width: 100%;
  max-height: 92vh;
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 30px 120px rgba(0,0,0,.55);
  background: rgba(0,0,0,.15);
}
.fr-lightbox-close{
  position:absolute;
  top:-10px;
  right:-10px;
  width: 42px;
  height: 42px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(0,0,0,.45);
  color:#fff;
  cursor:pointer;
  font-weight:900;
  line-height: 1;
}
.fr-lightbox-close:hover{ background: rgba(191,0,0,.35); border-color: rgba(191,0,0,.55); }

/* v1.0.21: TOC moved out of hero (sticky sidebar in content) */
.fr-hero-layout--no-toc{
  grid-template-columns: var(--heroThumb, 350px) 1fr !important;
}
@media (max-width: 980px){
  .fr-hero-layout--no-toc{
    grid-template-columns: var(--heroThumb, 220px) 1fr !important;
    grid-template-areas: none !important;
  }
}

@media (max-width: 720px){
  .fr-hero-layout--no-toc{
    grid-template-columns: var(--heroThumb, 150px) 1fr !important;
  }
}


/* Content grid */
.fr-post-grid{
  display:grid;
  grid-template-columns: 1fr 280px;
  gap:28px;
  padding:22px 0 34px;
  align-items:start;
}
.fr-post-aside{
  position:sticky;
  top:calc(var(--topbar-h) + 12px);
  height:fit-content;
}
.fr-toc-desktop{
  max-height: calc(100vh - (var(--topbar-h) + 40px));
  overflow:auto;
}
@media (max-width: 980px){
  .fr-post-grid{ grid-template-columns: 1fr; }
  .fr-post-aside{ display:none; }
  .fr-toc-mobile{ display:block; }
}

/* v1.0.23: Quick Buy in right sidebar (reliable sticky) */
.fr-pbox-desktop{ margin-top: 14px; }
.fr-pbox-mobile{ margin: 0 0 16px; }

@media (min-width: 981px){
  .fr-pbox-mobile{ display:none; }
  .fr-pbox-desktop{ display:block; }
}
@media (max-width: 980px){
  .fr-pbox-desktop{ display:none; }
  .fr-pbox-mobile{ display:block; }
}

/* v1.0.23: Start title ~1/3 down from image top */
.fr-hero-layout--no-toc{
  --heroThumb: 350px;
}
.fr-hero-layout--no-toc .fr-hero-thumb{
  width: var(--heroThumb);
}
.fr-hero-layout--no-toc .fr-hero-main{
  padding-top: calc(var(--heroThumb) * 0.20);
}

@media (max-width: 980px){
  .fr-hero-layout--no-toc{ --heroThumb: 220px; }
  .fr-hero-layout--no-toc .fr-hero-main{ padding-top: calc(var(--heroThumb) * 0.20); }
}
@media (max-width: 720px){
  .fr-hero-layout--no-toc{ --heroThumb: 150px; }
  .fr-hero-layout--no-toc .fr-hero-main{ padding-top: calc(var(--heroThumb) * 0.16); }
}

.fr-post-meta-hero .dot{ opacity:.45; }

/* v1.0.26: Meta sits directly above title */
.fr-post-meta-inline{
  margin: 0 0 10px;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
}
.fr-post-meta-inline .dot{ opacity:.45; }

/* v1.0.29: Dropdown submenus + modern minimal menu */
.fr-nav{display:flex;align-items:center}
.fr-nav-list{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  list-style:none;margin:0;padding:0;
}
.fr-nav-list > li{position:relative}
.fr-nav-list > li > a{
  display:inline-flex;align-items:center;gap:6px;
  font-size:13px;color:var(--muted);
  padding:10px 10px;border-radius:999px;
  transition:background .18s ease,color .18s ease,transform .18s ease;
}
.fr-nav-list > li > a:hover,
.fr-nav-list > li > a:focus{
  background:rgba(0,0,0,.04);
  color:var(--text);
  outline:none;
}
.fr-nav-list > li.current-menu-item > a,
.fr-nav-list > li.current_page_item > a{
  background:rgba(191,0,0,.08);
  color:var(--text);
  box-shadow:inset 0 0 0 1px rgba(191,0,0,.18);
}
.fr-nav-list > li.menu-item-has-children > a:after{
  content:"▾";
  font-size:11px;line-height:1;
  opacity:.55;
  transform:translateY(1px);
}

.fr-nav-list .sub-menu{
  display:none;
  position:absolute;
  top:100%;
  left:0;
  min-width:240px;
  padding:8px;
  margin:8px 0 0;
  list-style:none;
  background:rgba(255,255,255,.96);
  backdrop-filter:saturate(160%) blur(10px);
  border:1px solid rgba(0,0,0,.10);
  border-radius:16px;
  box-shadow:0 22px 70px rgba(0,0,0,.18);
  z-index:60;
}
.fr-nav-list > li:last-child .sub-menu{left:auto;right:0}
.fr-nav-list .sub-menu li{margin:0;padding:0}
.fr-nav-list .sub-menu a{
  display:block;
  padding:10px 12px;
  border-radius:12px;
  color:var(--text);
  font-size:13px;
  text-decoration:none;
  transition:background .18s ease, transform .18s ease;
}
.fr-nav-list .sub-menu a:hover,
.fr-nav-list .sub-menu a:focus{
  background:rgba(191,0,0,.08);
  outline:none;
  transform:translateX(1px);
}

/* Show dropdown on hover/focus (desktop) */
.fr-nav-list li:hover > .sub-menu,
.fr-nav-list li:focus-within > .sub-menu{
  display:block;
}

/* Mobile: tap-to-open support via .fr-open */
@media (max-width: 860px){
  .fr-nav-list{gap:6px}
  .fr-nav-list li.fr-open > .sub-menu{display:block;position:static;min-width:0;box-shadow:none;border-radius:14px;margin-top:6px}
  .fr-nav-list .sub-menu{position:static}
}

/* v1.0.31: Page-only minimal hero */
.fr-page-kicker{
  margin:0 0 8px;
  font-size:12px;
  font-weight:900;
  letter-spacing:.10em;
  text-transform:uppercase;
  opacity:.75;
}
.fr-page-title{
  margin:0 0 8px;
  font-size: 36px;
  line-height: 1.08;
  letter-spacing: -0.02em;
  color: #0b0b0b;
}
.fr-page-sub{
  margin:0;
  max-width: 70ch;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.55;
}
@media (max-width: 720px){
  .fr-page-title{font-size:30px}
  .fr-page-hero{max-width:100%}
}

/* v1.0.31: Full-width page hero band */
.fr-page-hero{
  width:100%;
  margin:0 0 8px;
  padding:18px 0;
  background: linear-gradient(180deg, rgba(191,0,0,.06), rgba(0,0,0,.00));
}
.fr-page-hero-inner{
  max-width: 920px;
  margin: 0 auto;
  padding: 18px 18px;
  border: 1px solid rgba(0,0,0,.10);
  border-radius: 18px;
  background: rgba(255,255,255,.92);
  backdrop-filter: saturate(160%) blur(8px);
}
@media (max-width: 980px){
  .fr-page-hero-inner{margin:0 14px;}
}

/* v1.0.31: Dark headings */
.fr-article h1, .fr-article h2, .fr-article h3{color:#0b0b0b}

/* v1.0.32: Tighten page hero spacing */
.fr-page-hero + .fr-content{padding-top:14px;}

/* v1.0.33: Hover bridge for dropdown (prevents submenu from disappearing) */
.fr-nav-list > li.menu-item-has-children:after{
  content:"";
  position:absolute;
  left:0; right:0;
  top:100%;
  height:12px; /* bridge gap */
}

/* v1.0.34: Search UX */
.fr-search{display:flex;align-items:center;gap:8px}
.fr-search-btn{padding:10px 14px;font-size:13px;font-weight:900;background:#fff}
.fr-search-titleline{margin:0 0 14px;font-size:22px;line-height:1.2;color:#0b0b0b}
.fr-search-titleline span{opacity:.85}
.fr-search-results{display:grid;gap:12px}
.fr-search-item{
  padding:14px 14px;
  border:1px solid rgba(0,0,0,.10);
  border-radius:16px;
  background:#fff;
}
.fr-search-link{
  display:inline-block;
  font-weight:900;
  color:#0b0b0b;
  text-decoration:none;
  line-height:1.25;
  margin:0 0 6px;
}
.fr-search-link:hover{text-decoration:underline;text-underline-offset:3px}
.fr-search-meta{display:flex;gap:10px;flex-wrap:wrap;font-size:12px;color:var(--muted);margin:0 0 10px}
.fr-search-snippet{font-size:14px;color:var(--text);opacity:.92}
.fr-search-snippet mark{
  background: rgba(191,0,0,.12);
  color: #0b0b0b;
  padding: 0 .18em;
  border-radius: .35em;
}
.fr-search-none{
  padding:14px 14px;
  border:1px solid rgba(0,0,0,.10);
  border-radius:16px;
  background:rgba(191,0,0,.06);
  color:#0b0b0b;
  font-weight:800;
}

/* v1.0.35: Mega-clean footer */
.fr-footer{
  margin-top:30px;
  border-top:1px solid var(--line);
  background:linear-gradient(180deg, rgba(0,0,0,.02), rgba(0,0,0,.00));
  padding:22px 0;
}
.fr-footer-grid{
  display:grid;
  grid-template-columns:1.3fr 1fr 1fr;
  gap:18px;
  align-items:start;
}
.fr-footer-brand{
  font-weight:1000;
  color:#0b0b0b;
  letter-spacing:-.01em;
  margin-bottom:6px;
}
.fr-footer-desc{margin:0 0 10px;color:var(--muted);font-size:14px;line-height:1.55;}
.fr-footer-mini{margin:0;color:var(--text);opacity:.86;font-size:13px;line-height:1.6;}
.fr-footer-h{font-weight:1000;color:#0b0b0b;margin:0 0 10px;font-size:13px;}
.fr-footer-ul{list-style:none;margin:0;padding:0;display:grid;gap:8px;}
.fr-footer-ul a{
  color:var(--muted);
  text-decoration:none;
  font-size:13px;
  padding:8px 10px;
  border-radius:12px;
  display:inline-flex;
}
.fr-footer-ul a:hover{
  color:#0b0b0b;
  background:rgba(191,0,0,.06);
}
.fr-footer-widget{margin-top:12px;}
.fr-footer-bottom{
  margin-top:18px;
  padding-top:14px;
  border-top:1px solid var(--line);
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  align-items:center;
  color:var(--muted);
  font-size:13px;
}
.fr-footer-dot{opacity:.6}
@media (max-width: 900px){
  .fr-footer-grid{grid-template-columns:1fr;gap:14px;}
}

/* v1.0.36: Footer trending */
.fr-footer-trend{display:grid;gap:8px;}
.fr-footer-trend-a{
  display:flex;
  flex-direction:column;
  gap:3px;
  text-decoration:none;
  padding:8px 10px;
  border-radius:12px;
  border:1px solid rgba(0,0,0,.08);
  background:rgba(255,255,255,.75);
}
.fr-footer-trend-a:hover{
  border-color:rgba(191,0,0,.22);
  background:rgba(191,0,0,.05);
}
.fr-footer-trend-t{
  font-weight:900;
  color:#0b0b0b;
  font-size:13px;
  line-height:1.2;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.fr-footer-trend-m{font-size:12px;color:var(--muted);}

/* v1.0.38: Header region badge */
.fr-sep{opacity:.45;margin:0 6px}

/* v1.0.39: Header logo (uses WP Custom Logo if set, else packaged logo) */
.fr-brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.fr-logo{display:flex;align-items:center}
.fr-logo-img,
.custom-logo{height:44px;width:auto;display:block}
.custom-logo-link{display:flex;align-items:center}

.fr-title{font-weight:1000;color:#0b0b0b;line-height:1.1}
.fr-tag{font-size:12px;color:var(--muted);line-height:1.2}
@media (max-width: 860px){
  .fr-logo-img,.custom-logo{height:38px}
  .fr-tag{display:none}
}

/* v1.0.40: Hide header brand text (logo-only) */
.fr-sr-only{
  position:absolute !important;
  width:1px;height:1px;
  padding:0;margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
.fr-brand{gap:10px;}

/* v1.0.41: Remove header tagline */
.fr-tag{display:none !important;}

/* v1.0.42: Bigger header logo */
.fr-logo-img,
.custom-logo{height:56px !important;width:auto !important;}
@media (max-width: 860px){
  .fr-logo-img,
  .custom-logo{height:48px !important;}
}

/* v1.0.42: Topbar breathing room */
.fr-topbar-inner{padding-top:14px;padding-bottom:14px;}

/* v1.0.43: Category + 404 upgrades */
.fr-crumb{
  margin:0 0 10px;
  font-size:12px;
  color:var(--muted);
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:wrap;
}
.fr-crumb a{color:var(--muted);text-decoration:none}
.fr-crumb a:hover{color:#0b0b0b;text-decoration:underline;text-underline-offset:3px}

.fr-hero-sub{margin:10px 0 0;color:var(--muted);font-size:14px;line-height:1.55}
.fr-subcats{margin-top:12px;display:flex;gap:8px;flex-wrap:wrap}
.fr-empty{
  padding:14px 14px;
  border:1px solid rgba(0,0,0,.10);
  border-radius:16px;
  background:rgba(0,0,0,.02);
  color:var(--muted);
  font-weight:800;
}

.fr-search-wide{max-width:520px;margin-top:12px}

.fr-404-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.fr-404-card{
  padding:14px 14px;
  border:1px solid rgba(0,0,0,.10);
  border-radius:18px;
  background:#fff;
  box-shadow:0 14px 40px rgba(0,0,0,.06);
}
.fr-404-h{
  font-weight:1000;
  color:#0b0b0b;
  font-size:13px;
  margin:0 0 10px;
}
.fr-404-links{display:flex;gap:8px;flex-wrap:wrap}
.fr-404-link{
  display:inline-flex;
  padding:8px 10px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.10);
  background:rgba(0,0,0,.02);
  text-decoration:none;
  color:#0b0b0b;
  font-size:13px;
  font-weight:900;
}
.fr-404-link:hover{border-color:rgba(191,0,0,.22);background:rgba(191,0,0,.05)}
.fr-404-list{display:grid;gap:8px}
.fr-404-post{
  display:flex;
  flex-direction:column;
  gap:3px;
  padding:10px 10px;
  border-radius:14px;
  border:1px solid rgba(0,0,0,.08);
  background:rgba(255,255,255,.75);
  text-decoration:none;
  color:inherit;
}
.fr-404-post:hover{border-color:rgba(191,0,0,.22);background:rgba(191,0,0,.05)}
.fr-404-post-t{font-weight:1000;color:#0b0b0b;font-size:13px;line-height:1.2}
.fr-404-post-m{font-size:12px;color:var(--muted)}
.fr-404-bottom{margin-top:14px;display:flex;justify-content:flex-start}

@media (max-width: 900px){
  .fr-404-grid{grid-template-columns:1fr}
}

/* v1.0.44: Related posts */
.fr-related{margin:18px 0 6px;}
.fr-related-head{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:12px;
  margin:0 0 12px;
}
.fr-related-head h2{
  margin:0;
  font-size:14px;
  font-weight:1000;
  color:#0b0b0b;
  letter-spacing:-.01em;
}
.fr-related-head span{font-size:12px;color:var(--muted);} 

/* v1.0.48: Single post hero mobile padding fix (stack + no overflow) */
@media (max-width: 860px){
  .fr-post-hero .fr-hero-layout--no-toc{
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    align-items: stretch;
  }
  .fr-post-hero .fr-hero-layout--no-toc .fr-hero-thumb{
    width: 100% !important;
    max-width: 520px;
    justify-self: center;
  }
  .fr-post-hero .fr-hero-layout--no-toc .fr-hero-main{
    padding-top: 0 !important;
  }
  .fr-post-hero .fr-share{
    flex-wrap: wrap;
    gap: 8px;
  }
  .fr-post-hero .fr-share-btn{
    flex: 1 1 140px;
    text-align: center;
    white-space: nowrap;
  }
}

@media (max-width: 520px){
  .fr-post-hero-inner{
    padding: 14px 22px 12px;
    padding-left: max(22px, env(safe-area-inset-left));
    padding-right: max(22px, env(safe-area-inset-right));
  }
  .fr-post-title{ font-size: clamp(24px, 7.0vw, 34px); }
  .fr-post-meta-inline{ gap: 8px; }
}

/* v1.0.49: Mobile single-post hero - hide category + read time, center title + share (desktop unchanged) */
@media (max-width: 860px){
  .fr-post-hero .fr-post-meta-inline .fr-post-cat,
  .fr-post-hero .fr-post-meta-inline .fr-post-read{
    display:none !important;
  }
  .fr-post-hero .fr-post-meta-inline .dot{ display:none !important; }
  .fr-post-hero .fr-post-meta-inline{
    justify-content:center;
    width:100%;
    margin-bottom:12px;
  }
  .fr-post-hero .fr-hero-layout--no-toc .fr-hero-main{
    text-align:center;
    padding-left: max(18px, env(safe-area-inset-left));
    padding-right: max(18px, env(safe-area-inset-right));
  }
  .fr-post-hero .fr-post-title{
    text-align:center;
    margin-left:auto;
    margin-right:auto;
  }
  .fr-post-hero .fr-post-actions{ justify-content:center; width:100%; }
  .fr-post-hero .fr-share{ justify-content:center; width:100%; }
}


/* v1.0.50: Mobile single-post hero - force single column (kill grid), full-width title + share (desktop unchanged) */
@media (max-width: 860px){
  .fr-post-hero .fr-hero-layout--no-toc{
    display:flex !important;
    flex-direction:column !important;
    gap:14px !important;
  }
  .fr-post-hero .fr-hero-layout--no-toc .fr-hero-thumb{
    width:100% !important;
    max-width:520px;
    margin:0 auto;
  }
  .fr-post-hero .fr-hero-layout--no-toc .fr-hero-main{
    width:100% !important;
    padding-top:0 !important;
    padding-left: max(18px, env(safe-area-inset-left));
    padding-right: max(18px, env(safe-area-inset-right));
    text-align:center;
  }
  .fr-post-hero .fr-post-title{
    text-align:center;
    margin-left:auto;
    margin-right:auto;
  }
  .fr-post-hero .fr-post-actions{
    width:100%;
    justify-content:center;
  }
  .fr-post-hero .fr-share{
    width:100%;
    justify-content:center;
  }
  .fr-post-hero .fr-share-btn{
    flex: 1 1 140px;
  }
}
