/* V5 marigold (recommended): V5's brand blues with +20 points of saturation, the neon yellow replaced by a warm marigold.
   Keeps the firm's existing yellow identity but sits better beside the blue; navy text on it reads at ~9:1. */
:root{
  --amber:#ffc233;
  --amber-ink:#132c45;
  --amber-edge:#c48a00;
  --deep:#0d2135;
  --cta:#ffc233;
  --cta-hi:#ffcd52;
  --cta-edge:#c48a00;
  --cta-ink:#132c45;
  --cta-glow:#ffc23366;
  --cta2:transparent;
  --cta2-ink:#ffffff;
}

/* ===== Button colors only: V5's button sizes, shapes and layout are unchanged ===== */
.btn.btn-amber{background:var(--cta);color:var(--cta-ink)!important;box-shadow:0 3px 0 var(--cta-edge)}
.btn.btn-amber:hover{background:var(--cta-hi);filter:none}
.btn.btn-amber:active{box-shadow:0 1px 0 var(--cta-edge)}
:focus-visible{outline-color:var(--amber)}

/* seated Greta in front, Robert standing just behind her to the right; both fade into the navy at the bottom */
.x-people:has(.x-seated){justify-content:center}
.x-people .x-seated{position:relative;z-index:2;filter:none;height:clamp(330px,33vw,480px);
  -webkit-mask-image:linear-gradient(180deg,#000 72%,#0000 98%);mask-image:linear-gradient(180deg,#000 72%,#0000 98%)}
.x-people:has(.x-seated) .x-robert{position:relative;z-index:1;filter:none;height:clamp(300px,30vw,430px);margin-left:-140px;margin-bottom:70px;
  -webkit-mask-image:linear-gradient(180deg,#000 70%,#0000 97%);mask-image:linear-gradient(180deg,#000 70%,#0000 97%)}
.x-people:has(.x-seated) .x-badge{z-index:3}
@media (max-width:980px){.x-people .x-seated{height:330px}.x-people:has(.x-seated) .x-robert{height:300px;margin-left:-100px;margin-bottom:50px}}
@media (max-width:680px){.x-people .x-seated{height:270px}.x-people:has(.x-seated) .x-robert{height:240px;margin-left:-80px;margin-bottom:40px}}

/* Step cards have light surfaces; plain checklists inherit their section's color. */
main .pg-steps > li { color:var(--fg,#222); }
main .svc-band .pg-steps > li :where(p,span,strong,b,h3,h4) {
  color:var(--fg,#222);
}
main .svc-band .pg-steps a { color:#285d83; }

/* Contents links keep a dedicated, unbreakable number column at every width. */
.pg-toc { counter-reset:bw-toc; }
.pg-toc details { padding:22px 24px; }
.pg-toc ol {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0 32px;
  margin-top:16px;
}
.pg-toc li { min-width:0; }
.pg-toc li > a:not(.btn) {
  counter-increment:bw-toc;
  display:grid;
  grid-template-columns:28px minmax(0,1fr);
  align-items:start;
  gap:12px;
  height:100%;
  min-height:48px;
  padding:13px 0;
  border-bottom:1px solid var(--line,#d9e0e7);
  font-size:16px;
  line-height:1.5;
}
.pg-toc li > a:not(.btn)::before {
  content:counter(bw-toc);
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  border-radius:6px;
  background:#edf2f6;
  color:var(--ink,#1b3c5d);
  font:700 14px/1 var(--body,sans-serif);
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
  overflow-wrap:normal;
  word-break:normal;
}
.pg-toc li > a:not(.btn):hover::before { background:var(--ink,#1b3c5d); color:#fff; }
.pg-toc a:focus-visible { outline:2px solid var(--blue,#285d83); outline-offset:3px; border-radius:4px; }
nav.pg-toc ul { margin-block:0; }
nav.pg-toc ul ul { margin-inline-start:20px; }
@media (max-width:760px) {
  .pg-toc details { padding:18px 20px; }
  .pg-toc ol { grid-template-columns:minmax(0,1fr); }
}

/* Imported WordPress accordions work without their original plugin or icon CSS. */
details.gb-accordion__item {
  margin-block:14px;
  border:1px solid var(--line,#d9e0e7);
  border-radius:10px;
  overflow:hidden;
}
.gb-accordion__toggle {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:18px 20px;
  background:var(--paper,#f5f6f7);
  color:var(--fg,#222);
  list-style:none;
  cursor:pointer;
}
.gb-accordion__toggle::-webkit-details-marker { display:none; }
.gb-accordion__toggle .accordion-toggle-title { margin:0; min-width:0; font-size:22px; line-height:1.3; }
.gb-accordion__toggle-icon,
.gb-accordion__toggle-icon > span,
.gb-accordion__toggle-icon svg {
  display:block;
  width:22px;
  height:22px;
  flex:0 0 22px;
  line-height:0;
}
details.gb-accordion__item[open] .gb-accordion__toggle-icon-open,
details.gb-accordion__item:not([open]) .gb-accordion__toggle-icon-close { display:none; }
.gb-accordion__content { padding:20px; }
.gb-accordion__content .accordion-content-inner > :first-child { margin-top:0; }
.gb-accordion__content .accordion-content-inner > :last-child { margin-bottom:0; }
.gb-accordion__toggle:focus-visible { outline:3px solid var(--amber); outline-offset:-3px; }

/* Original FAQ videos keep their proportions at every screen size. */
.bw-faq-video { width:100%; max-width:860px; margin:0 auto; }
.bw-faq-video .wp-block-embed__wrapper {
  position:relative;
  aspect-ratio:16 / 9;
  overflow:hidden;
  border-radius:8px;
  background:#101820;
}
.bw-faq-video iframe { display:block; width:100%; height:100%; position:absolute; inset:0; border:0; }
@media (max-width:600px) {
  .bw-video-faq .gb-accordion__content { padding:12px; }
  .bw-video-faq .gb-accordion__toggle { padding:16px; }
}

/* Imported sections without a left-hand title use a single reading column. */
.svc-sec > .wrap.pz:has(> .pz-h > h2:empty) { display:block; }
.svc-sec > .wrap.pz:has(> .pz-h > h2:empty) > .pz-h { display:none; }
.svc-sec > .wrap.pz:has(> .pz-h > h2:empty) > .svc-prose {
  max-width:900px;
  margin-inline:auto;
}
.svc-sec > .wrap.pz:has(> .pz-h > h2:empty) > .svc-prose > .pg-h3:first-child {
  margin:0 0 18px;
  color:var(--fg,#222);
  font-size:clamp(26px,2.8vw,34px);
  line-height:1.15;
}

/* Article bullets must keep inline links and nested lists in normal reading flow. */
main :is(.svc-prose,.svc-tabpanel,.svc-faq,.svc-card) ul:not([class]) > li {
  display:block;
  position:relative;
  padding-inline-start:20px;
  min-width:0;
}
main :is(.svc-prose,.svc-tabpanel,.svc-faq,.svc-card) ul:not([class]) > li::before {
  position:absolute;
  inset-inline-start:0;
  top:0;
}
main :is(.svc-prose,.svc-tabpanel,.svc-faq,.svc-card) ul:not([class]) > li > ul {
  margin:14px 0 0;
  gap:10px;
}

/* Truck damages: keep each category and its supporting bullets together. */
#recovering-compensation-after-a-truck-accident-in-odessa .svc-tabpanel > ul {
  gap:18px;
}
#recovering-compensation-after-a-truck-accident-in-odessa .svc-tabpanel > ul > li {
  display:block;
  padding:22px;
  background:var(--paper,#f5f6f7);
  border:1px solid var(--line,#d9e0e7);
  border-radius:10px;
}
#recovering-compensation-after-a-truck-accident-in-odessa .svc-tabpanel > ul > li::before {
  display:none;
}
#recovering-compensation-after-a-truck-accident-in-odessa .svc-tabpanel > ul > li > strong:first-child,
#recovering-compensation-after-a-truck-accident-in-odessa .svc-tabpanel > ul > li > span > strong:first-child {
  display:block;
  margin-bottom:8px;
  color:var(--deep);
  font-size:20px;
  line-height:1.35;
}

/* Truck regulations: heading, introduction, then four clearly separated topics. */
#texas-trucking-regulations > .wrap.pz { display:block; }
#texas-trucking-regulations .pz-h { position:static; max-width:820px; margin-bottom:30px; }
#texas-trucking-regulations .svc-prose { max-width:none; }
#texas-trucking-regulations .svc-prose > p { max-width:82ch; }
#texas-trucking-regulations .svc-prose > ul {
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
  margin-top:12px;
}
#texas-trucking-regulations .svc-prose > ul > li {
  padding:26px;
  border:1px solid var(--line,#d9e0e7);
  border-top:3px solid var(--amber);
  border-radius:10px;
  background:var(--card,#fff);
}
#texas-trucking-regulations .svc-prose > ul > li::before { display:none; }
#texas-trucking-regulations .svc-prose > ul > li > strong:first-child,
#texas-trucking-regulations .svc-prose > ul > li > span > strong:first-child {
  display:block;
  margin-bottom:10px;
  font-size:23px;
  line-height:1.3;
  color:var(--deep);
}

/* Car liability: separate the potential parties, shared fault, and proof required. */
#who-can-be-held-liable-in-a-texas-car-accident-lawsuit .svc-prose.wide { max-width:1000px; }
#who-can-be-held-liable-in-a-texas-car-accident-lawsuit .bw-liability-part {
  display:grid;
  gap:18px;
  min-width:0;
}
#who-can-be-held-liable-in-a-texas-car-accident-lawsuit .bw-liability-part + .bw-liability-part {
  margin-top:22px;
}
#who-can-be-held-liable-in-a-texas-car-accident-lawsuit .bw-liability-part h3 {
  margin:0;
  font-size:clamp(26px,2.5vw,32px);
  line-height:1.15;
}
#who-can-be-held-liable-in-a-texas-car-accident-lawsuit .pg-checks {
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
#who-can-be-held-liable-in-a-texas-car-accident-lawsuit .pg-checks > li {
  padding:20px;
  background:var(--card,#fff);
  font-size:18px;
  line-height:1.6;
}
#who-can-be-held-liable-in-a-texas-car-accident-lawsuit .pg-checks > li:last-child:nth-child(odd) {
  grid-column:1 / -1;
}
#who-can-be-held-liable-in-a-texas-car-accident-lawsuit .bw-liability-fault {
  padding:28px;
  border:1px solid var(--line,#d9e0e7);
  border-left:4px solid var(--amber);
  border-radius:10px;
  background:var(--card,#fff);
}
#who-can-be-held-liable-in-a-texas-car-accident-lawsuit .bw-liability-proof > ul {
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
#who-can-be-held-liable-in-a-texas-car-accident-lawsuit .bw-liability-proof > ul > li {
  padding:22px;
  border:1px solid var(--line,#d9e0e7);
  border-radius:10px;
  background:var(--card,#fff);
}
#who-can-be-held-liable-in-a-texas-car-accident-lawsuit .bw-liability-proof > ul > li::before { display:none; }
#who-can-be-held-liable-in-a-texas-car-accident-lawsuit .bw-liability-proof > ul > li strong:first-child {
  display:block;
  margin-bottom:8px;
  font-size:20px;
  color:var(--deep);
}
@media (max-width:760px) {
  #texas-trucking-regulations .svc-prose > ul,
  #who-can-be-held-liable-in-a-texas-car-accident-lawsuit .pg-checks,
  #who-can-be-held-liable-in-a-texas-car-accident-lawsuit .bw-liability-proof > ul { grid-template-columns:minmax(0,1fr); }
  #texas-trucking-regulations .svc-prose > ul > li,
  #who-can-be-held-liable-in-a-texas-car-accident-lawsuit .bw-liability-fault { padding:20px; }
  #recovering-compensation-after-a-truck-accident-in-odessa .svc-tabpanel > ul > li { padding:18px; }
}

/* Empty imported headings should not reserve a visual title block. */
.svc-sec .head:has(> h2:empty):not(:has(> :not(h2))) { display:none; }

/* Wide data tables stay contained and can be scrolled with touch or a keyboard. */
.pg-table { min-width:0; max-width:100%; overscroll-behavior-x:contain; scrollbar-width:thin; }
.pg-table:focus-visible { outline:3px solid var(--amber); outline-offset:4px; }
.pg-table::-webkit-scrollbar { height:9px; }
.pg-table::-webkit-scrollbar-thumb { background:#8093a5; border:2px solid #f3f5f7; border-radius:8px; }
.pg-table::-webkit-scrollbar-track { background:#f3f5f7; }

/* Grid children and rating rows must be allowed to shrink inside narrow cards. */
.svc-act.bw-act,
.svc-act.bw-act :is(.ba-top,.ba-body,.ba-list,.ba-rev) { min-width:0; grid-template-columns:minmax(0,1fr); }
.svc-act.bw-act .ba-list li { grid-template-columns:20px minmax(0,1fr); }
.svc-act.bw-act .ba-rate .pb-rating { flex-wrap:wrap; white-space:normal; }
.svc-act.bw-act .ba-who-row { min-width:0; flex-wrap:wrap; }
.x-hero .wrap > * { min-width:0; }
main a { overflow-wrap:anywhere; }
.pg-checks li { grid-template-columns:26px minmax(0,1fr); }
.pg-checks li > span { min-width:0; overflow-wrap:anywhere; }
@media (max-width:680px) {
  .x-hero .wrap,.pg-feat,.pg-article-grid { grid-template-columns:minmax(0,1fr); }
  .wrap.pz { grid-template-columns:minmax(0,1fr); }
  .pg-feat-copy { min-width:0; }
}
@media (max-width:400px) {
  header.site.x-hdr .wrap { padding-inline:12px; gap:8px; }
  header.site.x-hdr .logo { font-size:16px; gap:6px; }
  header.site.x-hdr .logo-mark { height:28px; }
  header.site.x-hdr .x-call-n strong { font-size:14px; }
  header.site.x-hdr .menu-btn { width:40px; min-width:40px; height:44px; }
  header.site.x-hdr .x-right { min-width:0; }
  .svc-act.bw-act .ba-top,.svc-act.bw-act .ba-body { padding-inline:16px; }
  .svc-act.bw-act .btn { white-space:normal; }
  .pg-feat-copy { padding:24px 20px; }
  .pg-feat .amt { font-size:clamp(34px,10vw,42px); }
  .pg-results { grid-template-columns:minmax(0,1fr); }
  .pg-res .amt { font-size:30px; }
  .svc-results { grid-template-columns:minmax(0,1fr); }
  .svc-results .svc-result { min-width:0; grid-template-columns:minmax(0,1fr); }
  .svc-results .svc-result:first-child { grid-column:auto; padding:20px; }
  .svc-results .svc-result:first-child b { font-size:30px; }
  .x-people .x-seated { height:220px; }
  .x-people:has(.x-seated) .x-robert { height:210px; margin-left:-70px; margin-bottom:35px; }
}

/* Preserve the exact WordPress logo artwork; only recolor it for the navy header. */
.logo .logo-original {
  display:block;
  width:200px;
  height:auto;
  max-width:100%;
  flex:none;
  filter:brightness(0) invert(1);
}
header.site .logo:has(.logo-original) { flex:none; gap:0; }
header.site.scrolled .logo-original,
header.site.x-stuck .logo-original { width:140px; }
@media (max-width:1020px) {
  header.site .logo .logo-original { width:136px; }
}
@media (max-width:400px) {
  header.site .logo .logo-original { width:118px; }
}


/* Shared firm social links; keep the legal navigation separate. */
footer.site .bw-social-links{display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px;margin:0 0 16px}
footer.site .bw-social-links>span{font-weight:700}
footer.site .bw-social-links a{display:inline-flex;align-items:center;gap:5px;min-height:44px;text-underline-offset:4px}
footer.site .bw-social-links a:focus-visible{outline:3px solid var(--amber,#ffc233);outline-offset:4px}
