/* ==========================================================================
   The Turn Group: shared SEO/E-E-A-T component styles (r35 — v98)
   Used on every page that consumes seo-helpers.php:
     .tg-updated, .tg-byline, .tg-toc, .tg-deflist, .tg-compare,
     .tg-faq, .tg-howto
   White + grey + brand-gold accent; small radius; Inter only.
   ========================================================================== */

/* ---------- Updated / Byline meta strip ---------- */
.tg-meta-strip{
  display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;
  padding:10px 14px;margin:0 0 18px;
  background:#f5f7fa;border:1px solid #e3e6ec;border-radius:8px;
  font-size:.9rem;color:#46505f;
}
.tg-meta-strip .tg-updated,
.tg-meta-strip .tg-byline{margin:0;}
.tg-updated{margin:0 0 14px;color:#46505f;font-size:.92rem;}
.tg-updated__label{font-weight:700;color:#1a2030;margin-right:4px;}
.tg-updated time{color:#46505f;}
.tg-byline{margin:0 0 14px;color:#46505f;font-size:.92rem;}
.tg-byline__label{font-weight:700;color:#1a2030;margin-right:4px;}
.tg-byline__author{color:#1a2030;font-weight:600;border-bottom:1px dotted #c9a227;text-decoration:none;}
.tg-byline__author:hover{color:#c9a227;}

/* ---------- Table of Contents ---------- */
.tg-toc{
  background:#f5f7fa;border:1px solid #e3e6ec;border-left:3px solid #c9a227;
  border-radius:8px;padding:18px 20px;margin:0 0 32px;
  font-size:.94rem;
}
.tg-toc__title{
  font-size:.78rem;font-weight:700;color:#1a2030;text-transform:uppercase;
  letter-spacing:.05em;margin:0 0 10px;
}
.tg-toc__list{
  margin:0;padding:0 0 0 18px;
  column-count:1;column-gap:24px;
}
@media (min-width:680px){.tg-toc__list{column-count:2;}}
@media (min-width:1024px){.tg-toc__list{column-count:3;}}
.tg-toc__item{margin:4px 0;break-inside:avoid;}
.tg-toc__item a{color:#1a2030;text-decoration:none;border-bottom:1px solid transparent;transition:color .15s ease,border-color .15s ease;}
.tg-toc__item a:hover,.tg-toc__item a:focus{color:#c9a227;border-bottom-color:#c9a227;}

/* ---------- Definition list ---------- */
.tg-deflist{
  background:#fff;border:1px solid #e3e6ec;border-radius:10px;
  padding:22px 24px;margin:24px 0;
}
.tg-deflist__title{
  font-size:1.15rem;font-weight:700;color:#1a2030;margin:0 0 12px;
}
.tg-deflist__dl{margin:0;display:grid;grid-template-columns:1fr;gap:10px;}
@media (min-width:720px){.tg-deflist__dl{grid-template-columns:minmax(140px,180px) 1fr;column-gap:24px;row-gap:14px;}}
.tg-deflist__dt{font-weight:700;color:#0b0f1a;}
.tg-deflist__dd{margin:0;color:#46505f;line-height:1.55;}

/* ---------- Comparison table ---------- */
.tg-compare{margin:24px 0;overflow-x:auto;-webkit-overflow-scrolling:touch;}
.tg-compare__table{
  width:100%;border-collapse:collapse;border:1px solid #e3e6ec;
  background:#fff;border-radius:8px;overflow:hidden;font-size:.94rem;
}
.tg-compare__caption{
  caption-side:top;text-align:left;
  font-size:1.05rem;font-weight:700;color:#1a2030;
  padding:0 0 10px;
}
.tg-compare__table th,
.tg-compare__table td{
  padding:12px 14px;text-align:left;vertical-align:top;
  border-bottom:1px solid #e3e6ec;
}
.tg-compare__table thead th{
  background:#1a2030;color:#fff;font-weight:700;
}
.tg-compare__table tbody th{
  background:#f5f7fa;color:#1a2030;font-weight:600;width:34%;
}
.tg-compare__table tbody tr:last-child th,
.tg-compare__table tbody tr:last-child td{border-bottom:0;}
.tg-compare__table tbody tr:nth-child(even) td{background:#fafbfd;}

/* ---------- FAQ ---------- */
.tg-faq{margin:32px 0;}
.tg-faq__heading{font-size:1.6rem;font-weight:800;color:#0b0f1a;margin:0 0 8px;letter-spacing:-.01em;}
.tg-faq__intro{color:#46505f;margin:0 0 18px;}
.tg-faq__list{display:flex;flex-direction:column;gap:10px;}
.tg-faq__item{
  border:1px solid #e3e6ec;border-radius:8px;background:#fff;
  padding:14px 18px;
}
.tg-faq__item[open]{border-color:#c9a227;}
.tg-faq__q{
  font-weight:700;color:#0b0f1a;cursor:pointer;list-style:none;
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  font-size:1.02rem;
}
.tg-faq__q::-webkit-details-marker{display:none;}
.tg-faq__q::after{
  content:"+";font-size:1.4rem;font-weight:400;color:#c9a227;line-height:1;
  transition:transform .2s ease;
}
.tg-faq__item[open] .tg-faq__q::after{content:"–";}
.tg-faq__a{
  margin:10px 0 0;color:#46505f;line-height:1.6;
  padding-top:8px;border-top:1px solid #f0f2f6;
}
.tg-faq__a p:first-child{margin-top:6px;}

/* ---------- HowTo ---------- */
.tg-howto{margin:32px 0;}
.tg-howto__heading{font-size:1.6rem;font-weight:800;color:#0b0f1a;margin:0 0 8px;letter-spacing:-.01em;}
.tg-howto__intro{color:#46505f;margin:0 0 18px;}
.tg-howto__steps{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:14px;counter-reset:tgstep;}
.tg-howto__step{
  display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:flex-start;
  background:#fff;border:1px solid #e3e6ec;border-radius:8px;padding:16px 18px;
}
.tg-howto__num{
  width:36px;height:36px;border-radius:8px;
  background:linear-gradient(135deg,#c9a227,#e8c14b);
  color:#0b0f1a;font-weight:800;font-size:1.05rem;
  display:flex;align-items:center;justify-content:center;
}
.tg-howto__name{font-size:1.05rem;font-weight:700;color:#0b0f1a;margin:0 0 4px;}
.tg-howto__text{color:#46505f;margin:0;line-height:1.55;}

/* ---------- Print / Print SEO ---------- */
@media print{
  .tg-toc,.tg-faq__item summary::after{display:none;}
  .tg-faq__item[open] .tg-faq__a{display:block !important;}
}

/* r35: Kansas City service-area strip */
.tg-kc-strip {
  background: var(--tg-grey-50, #f7f7f8);
  border-left: 3px solid var(--tg-accent, #c69c4d);
  padding: 12px 16px;
  margin: 12px 0;
  border-radius: 6px;
  font-size: 14.5px;
  line-height: 1.55;
  color: var(--tg-text-dim, #4a5260);
}
.tg-kc-strip__line { margin: 0; }
.tg-kc-strip strong { color: var(--tg-text, #1d232b); margin-right: 4px; }
@media (min-width: 768px) { .tg-kc-strip { padding: 14px 22px; font-size: 15px; } }
