/* Hide theme header and footer */
body.home header.wp-block-template-part { display: none !important; }
body.home footer.wp-block-template-part { display: none !important; }
/* Force full-width layout */
.wp-site-blocks { padding: 0 !important; max-width: none !important; }
.wp-site-blocks > .wp-block-group { max-width: none !important; padding: 0 !important; margin: 0 !important; }
.wp-site-blocks .wp-block-post-content { max-width: none !important; padding: 0 !important; margin: 0 !important; }
.wp-site-blocks .entry-content { max-width: none !important; padding: 0 !important; }
.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) { max-width: none !important; }
.wp-block-group.is-layout-constrained { max-width: none !important; }
.has-global-padding { padding-left: 0 !important; padding-right: 0 !important; }
.wp-block-post-content.is-layout-constrained > * { max-width: none !important; }
body .is-layout-constrained > * { max-width: none !important; }
.wp-site-blocks > main { max-width: none !important; }
/* Ensure nav stretches full width */
#mainNav { width: 100vw !important; left: 0 !important; }
.nav-main { width: 100% !important; }
/* Fix nav spacing for smaller screens */
.nav-links { gap: 1.2rem !important; }
.nav-links a { letter-spacing: 1.8px !important; font-size: .68rem !important; }
.nav-cta { font-size: .62rem !important; letter-spacing: 2.5px !important; }
/* === Layout fixes added by Claude === */
/* 1. Hero stats row horizontal */
.hero-bottom {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 1.5rem 2rem;
  width: 100%;
}
.hero-bottom .hero-stat {
  flex: 1 1 0;
  min-width: 140px;
  text-align: center;
}
.hero-bottom .stat-div {
  width: 1px;
  align-self: stretch;
  min-height: 48px;
  background: rgba(255,255,255,0.2);
}
/* 2. Bottom trust bar (40+ / 10K / CPA / IRS) horizontal and centered */
.cred-bar {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch;
  gap: 2rem;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
.cred-bar .cred-item {
  flex: 1 1 0;
  min-width: 160px;
  text-align: center;
}
/* CTA banner trust signals row also horizontal & centered */
.cta-trust-signals {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 2rem;
  width: 100%;
  margin: 1.5rem auto;
}
.cta-trust-signals .cta-trust-badge {
  text-align: center;
  flex: 0 1 auto;
}
/* 3. "Request a Consultation" CTA centered */
.cta-banner { text-align: center !important; }
.cta-banner > p { text-align: center !important; }
.cta-banner-btn {
  display: inline-block;
  margin-left: auto !important;
  margin-right: auto !important;
}
/* 4 & 5. Footer side margins + every column in one responsive row.
   .footer-top wraps the brand + 3 cols; Resources (.footer-col) and
   Newsletter (a class-less div) are direct siblings of .footer-top.
   We use display:contents on .footer-top so all six columns share
   the same CSS grid on the parent footer. */
.entry-content > footer {
  padding-left: clamp(1.25rem, 4vw, 4rem) !important;
  padding-right: clamp(1.25rem, 4vw, 4rem) !important;
  padding-top: 3rem !important;
  padding-bottom: 2rem !important;
  box-sizing: border-box;
  display: grid !important;
  grid-template-columns: 2fr 1fr 1fr 1fr 1fr 1.4fr;
  gap: 2rem;
  align-items: start;
}
.entry-content > footer > .footer-top {
  display: contents !important;
}
.entry-content > footer > .footer-top > .footer-brand {
  grid-column: 1;
}
.entry-content > footer > .footer-top > p:empty {
  display: none !important;
}
.entry-content > footer > p:empty {
  display: none !important;
}
.entry-content > footer > .footer-bottom {
  grid-column: 1 / -1;
  margin-top: 1.5rem;
}
/* Responsive collapse */
@media (max-width: 1200px) {
  .entry-content > footer {
    grid-template-columns: 1fr 1fr 1fr !important;
  }
  .entry-content > footer > .footer-top > .footer-brand {
    grid-column: 1 / -1 !important;
  }
}
@media (max-width: 760px) {
  .entry-content > footer {
    grid-template-columns: 1fr 1fr !important;
  }
  .entry-content > footer > .footer-top > .footer-brand {
    grid-column: 1 / -1 !important;
  }
}
@media (max-width: 480px) {
  .entry-content > footer {
    grid-template-columns: 1fr !important;
  }
}
/* 6. Footer always sits at the bottom of the page (sticky-footer pattern).
   We make the page a column flex container so the main content grows
   and the footer is naturally pushed to the bottom even on short pages. */
html,
body { min-height: 100%; }
body.wp-singular { min-height: 100vh; }
.wp-site-blocks {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}
.wp-site-blocks > main {
  flex: 1 0 auto;
  display: flex;
  flex-direction: column;
}
.wp-site-blocks > main > .entry-content {
  flex: 1 0 auto;
  display: flex;
  flex-direction: column;
}
.entry-content > footer {
  margin-top: auto;
  background: #0b0b0b;
}
/* Fee Estimator CTA: hide duplicate empty button (second a wrapped in p) */
#services .fee-estimator-cta > p { display: none !important; }
/* Autofill override -- stops Chrome/Edge yellow tint on form fields */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover,
textarea:-webkit-autofill:focus,
select:-webkit-autofill {
  -webkit-text-fill-color: #000000 !important;
  -webkit-box-shadow: 0 0 0 1000px #FAFAF8 inset !important;
  caret-color: #B8976A !important;
  transition: background-color 9999s ease-in-out 0s !important;
}
/* For pages that use a dark form theme (Fee Estimator, calculator inputs) */
.estimator-wrap input:-webkit-autofill,
.estimator-wrap textarea:-webkit-autofill,
.bp-page input:-webkit-autofill,
.bp-page textarea:-webkit-autofill,
.bp-page select:-webkit-autofill {
  -webkit-text-fill-color: #EDE6DA !important;
  -webkit-box-shadow: 0 0 0 1000px #0A0A0A inset !important;
}
/* Force text input color to black for all form text entry fields */
input[type="text"],
input[type="number"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="search"],
input[type="password"],
input[type="date"],
input[type="datetime-local"],
input[type="month"],
input[type="time"],
input[type="week"],
input:not([type]),
textarea,
select {
  color: #000000 !important;
  -webkit-text-fill-color: #000000 !important;
}
/* Ensure autofilled values also display as black text */
input:-webkit-autofill,
textarea:-webkit-autofill,
select:-webkit-autofill {
  -webkit-text-fill-color: #000000 !important;
  caret-color: #000000 !important;
}

/* ====== Calculator + form-field rules (preserved from v4) ====== */
/* === 2026-05-21: Fix dropdown background on calculator pages === */
/* The .calc-row select rule sets background:#0A0A0A which matches the page bg.
   Browser autofill paints inputs white-ish but selects stay black. Override both
   so dropdowns and free-text fields visually match. */
.calc-row input[type="number"],
.calc-row input[type="text"],
.calc-row select{
  background:#EDE6DA !important;
  color:#0A0A0A !important;
  border:1px solid rgba(184,151,106,.35) !important;
}
.calc-row input:focus,
.calc-row select:focus{
  border-color:#B8976A !important;
  outline:none !important;
}
/* Style the option list itself for browsers that respect option styling */
.calc-row select option{
  background:#EDE6DA !important;
  color:#0A0A0A !important;
}
/* === calculators-hub-redesign:start === */
/* bp-page core for the calculators hub */
body.page-id-5347 .bp-page{max-width:1000px;margin:0 auto;padding:2rem 1.5rem;font-family:"Jost","Helvetica Neue",Arial,sans-serif;color:#EDE6DA;line-height:1.7}
body.page-id-5347 .bp-bc{font-size:.72rem;color:#9A9A9A;margin-bottom:1.5rem;letter-spacing:.5px;text-transform:uppercase}
body.page-id-5347 .bp-bc a{color:#B8976A;text-decoration:none}
body.page-id-5347 .bp-bc a:hover{text-decoration:underline}
body.page-id-5347 .bp-hdr{text-align:center;max-width:800px;margin:0 auto 2rem}
body.page-id-5347 .bp-hdr .bp-overline{display:block;font-size:.65rem;letter-spacing:3px;color:#B8976A;text-transform:uppercase;margin-bottom:.6rem;font-weight:400}
body.page-id-5347 .bp-hdr h1{font-family:"Cormorant Garamond",serif;font-size:2.1rem;font-weight:400;color:#FAFAF8;margin:0 0 .8rem;line-height:1.25;letter-spacing:.5px}
body.page-id-5347 .bp-intro{max-width:800px;margin:0 auto 2rem;text-align:center;font-size:.92rem;color:#C9BFB0;line-height:1.8;font-weight:300}
body.page-id-5347 .bp-intro p{margin:0;font-size:inherit;color:inherit;line-height:inherit}
/* Jump nav */
body.page-id-5347 .bp-jump{max-width:800px;margin:0 auto;padding:.5rem 2rem 1.5rem;border-bottom:1px solid rgba(184,151,106,.12)}
body.page-id-5347 .bp-jump h3{font-family:"Cormorant Garamond",serif;font-size:1rem;color:#FAFAF8;margin:0 0 .6rem;font-weight:400}
body.page-id-5347 .bp-jump a{display:inline-block;padding:.35rem .9rem;margin:0 .4rem .4rem 0;border:1px solid rgba(184,151,106,.15);border-radius:20px;color:#B8976A;text-decoration:none;font-size:.78rem;font-weight:300;transition:all .3s}
body.page-id-5347 .bp-jump a:hover{background:rgba(184,151,106,.1);border-color:#B8976A}
body.page-id-5347 .tsg-jump-centered{text-align:center}
/* Section headers */
body.page-id-5347 .tsg-section-header{font-family:"Cormorant Garamond",serif;font-size:1.6rem;font-weight:400;color:#FAFAF8;text-align:center;margin:2rem auto 1rem;letter-spacing:.5px;max-width:800px}
/* Guide sections + cards */
body.page-id-5347 .bp-guide-section{max-width:800px;margin:2rem auto;padding:0}
body.page-id-5347 .bp-guide-section-title{font-family:"Cormorant Garamond",serif;font-size:1.35rem;font-weight:400;color:#B8976A;text-align:center;margin:2.5rem 0 .5rem;letter-spacing:.5px;padding-top:1.5rem;border-top:1px solid rgba(184,151,106,.18)}
body.page-id-5347 .bp-guide-section .section-desc,
body.page-id-5347 .section-desc{text-align:center;font-size:.82rem;color:#9A9A9A;margin:0 auto 1.2rem;max-width:650px;line-height:1.6}
body.page-id-5347 .bp-guide-section .bp-svc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}
/* wpautop inserts <br /> between each card and wraps blocks in <p>. Strip them out so they don't claim grid cells. */
body.page-id-5347 .bp-svc-grid > br,
body.page-id-5347 .bp-guide-section > br,
body.page-id-5347 .bp-page > br{display:none !important}
body.page-id-5347 .bp-svc-grid > p,
body.page-id-5347 .bp-guide-section > p:empty{display:contents !important}
body.page-id-5347 p:empty{display:none !important}
/* Also hide the inline <style> block that wpautop shattered with <p> tags - we've moved styles to Customizer */
body.page-id-5347 .bp-page > style,
body.page-id-5347 .bp-page p > style{display:none !important}
body.page-id-5347 .bp-guide-section a.bp-svc-btn{display:block;padding:1.05rem 1.1rem;background:#141414;border:1px solid rgba(184,151,106,.3);color:#EDE6DA;text-decoration:none;font-size:.88rem;line-height:1.45;font-weight:400;transition:all .25s;border-radius:4px;min-height:44px}
body.page-id-5347 .bp-guide-section a.bp-svc-btn:hover{border-color:#B8976A;background:#1E1E1E;transform:translateY(-1px);box-shadow:0 4px 14px rgba(184,151,106,.12)}
body.page-id-5347 .bp-guide-section a.bp-svc-btn .bp-svc-label{display:block;font-size:.6rem;letter-spacing:2.5px;color:#B8976A;text-transform:uppercase;margin-bottom:.4rem;font-weight:400}
body.page-id-5347 .bp-guide-section a.bp-svc-btn .bp-svc-desc{display:block;font-size:.74rem;color:#9A9A9A;margin-top:.4rem;font-weight:300;line-height:1.5}
@media(max-width:600px){body.page-id-5347 .bp-guide-section .bp-svc-grid{grid-template-columns:1fr}}
/* CTA */
body.page-id-5347 .bp-cta{max-width:800px;margin:3rem auto 2rem;text-align:center;padding:2.5rem 2rem;background:rgba(184,151,106,.04);border:1px solid rgba(184,151,106,.15);border-radius:8px}
body.page-id-5347 .bp-cta h2{font-family:"Cormorant Garamond",serif;font-size:1.4rem;font-weight:400;color:#FAFAF8;margin:0 0 .8rem}
body.page-id-5347 .bp-cta p{font-size:.88rem;color:#C9BFB0;margin:0 0 1.2rem;line-height:1.7;font-weight:300}
body.page-id-5347 .bp-cta a.bp-cta-btn{display:inline-block;padding:.75rem 2rem;background:#B8976A;color:#0E0E0E;text-decoration:none;font-size:.85rem;font-weight:500;border-radius:4px;transition:all .25s;letter-spacing:.5px}
body.page-id-5347 .bp-cta a.bp-cta-btn:hover{background:#D4B88A;transform:translateY(-1px)}
/* Floating contact - constrain to a button, not full width */
body.page-id-5347 .floating-contact{position:fixed;bottom:1.5rem;right:1.5rem;z-index:999;width:auto;max-width:none}
body.page-id-5347 .floating-contact a{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1.2rem;background:#B8976A;color:#0E0E0E;text-decoration:none;font-size:.78rem;font-weight:500;border-radius:50px;box-shadow:0 4px 15px rgba(0,0,0,.3);transition:all .3s;width:auto}
body.page-id-5347 .floating-contact a:hover{background:#D4B88A;transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.4)}
/* Nav links */
body.page-id-5347 .bp-nav{max-width:800px;margin:2rem auto;display:flex;justify-content:space-between;gap:1rem;padding-top:1.5rem;border-top:1px solid rgba(184,151,106,.12)}
body.page-id-5347 .bp-nav a{color:#B8976A;text-decoration:none;font-size:.82rem;font-weight:300}
body.page-id-5347 .bp-nav a:hover{text-decoration:underline}
/* === calculators-hub-redesign:end === */
/* === ira-split-hide-account-type:start === */
body.page-id-5384 .ira-account-type-row,
.postid-5384 .ira-account-type-row,
[class*="roth-ira"] .ira-account-type-row,
[class*="traditional-ira"] .ira-account-type-row { display: none !important; }
body.page-id-32998 .ira-account-type-row,
.postid-32998 .ira-account-type-row { display: none !important; }
/* === ira-split-hide-account-type:end === */
/* === ira-marginal-tax-hide-roth:start === */
body.page-id-5384 .ira-marginal-tax-row,
.postid-5384 .ira-marginal-tax-row { display: none !important; }
/* === ira-marginal-tax-hide-roth:end === */

/* === calc-hub-intro-link-color:start === */
/* Intro paragraph link color on the calculators hub (override default blue) */
body.page-id-5347 .bp-intro a,
body.page-id-5347 .bp-intro a:visited{color:#B8976A;text-decoration:none;border-bottom:1px solid rgba(184,151,106,.3);transition:border-color .2s, color .2s}
body.page-id-5347 .bp-intro a:hover,
body.page-id-5347 .bp-intro a:focus{color:#D4B896;border-bottom-color:#D4B896}
/* === calc-hub-intro-link-color:end === */

/* reedcorp-bp-intro-link:start */
.bp-intro a{color:#B8976A;text-decoration:none;border-bottom:1px solid rgba(184,151,106,.3);transition:border-color .2s, color .2s}
.bp-intro a:hover,.bp-intro a:focus{color:#D4B896;border-bottom-color:#D4B896}
/* reedcorp-bp-intro-link:end */
/* === reedcorp-form-field-bg:start === */
/* Cream bg on text-entry fields so the already-forced black text is readable —
   matches the New Client Inquiry .field-input look. Excludes [type=search]
   (header search stays dark) and <select> (calc dropdowns stay dark). .calc-row
   inputs set their own cream bg !important, so they're unaffected. */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="number"],
input[type="password"],
input[type="date"],
input:not([type]),
textarea {
  background-color:#EDE6DA !important;
  color:#000 !important;
  -webkit-text-fill-color:#000 !important;
}
/* Newsletter (Jetpack Subscriptions) email field — block + widget variants */
.wp-block-jetpack-subscriptions__form input[type="email"],
.wp-block-jetpack-subscriptions__textfield input,
.jetpack_subscription_widget input[type="email"],
form.wp-block-jetpack-subscriptions__form input {
  background-color:#EDE6DA !important;
  color:#000 !important;
  -webkit-text-fill-color:#000 !important;
}
/* === reedcorp-form-field-bg:end === */


/* =========================================================================
   === reedcorp.tax CANONICAL DESIGN SYSTEM — v5 (2026-06-02) ============
   ONE source of truth. Pairs with the bp-page template
   (see skill: reedcorp-page-template).
   ONLY the 16 canonical classes below are supported. Anything else renders
   unstyled (which is the conformance signal).
   Palette: bg #0A0A0A · cream #EDE6DA · gold #B8976A · headings #FAFAF8
   ========================================================================= */

/* --- ROOT + TYPOGRAPHY -------------------------------------------------- */
.bp-page { display:flex; flex-direction:column; background:#0A0A0A; color:#EDE6DA;
  font-family:"Jost","Helvetica Neue",Arial,sans-serif; line-height:1.7; }
.bp-page > * { max-width:800px !important; margin-inline:auto !important;
  padding-inline:2rem; box-sizing:border-box; width:100%; order:4; }
.bp-page h1,.bp-page h2,.bp-page h3,.bp-page h4 {
  font-family:"Cormorant Garamond",serif; font-weight:400; color:#FAFAF8; letter-spacing:.3px; }
.bp-page h1 { font-size:2.2rem; line-height:1.2; margin:1.5rem 0 1rem; }
.bp-page h2 { font-size:1.5rem; margin:1.2rem 0 .8rem; }
.bp-page h3 { font-size:1.15rem; margin:1.2rem 0 .6rem; }
.bp-page p  { font-size:.95rem; color:#C9BFB0; font-weight:300; margin:.6rem 0; }
.bp-page strong { color:#FAFAF8; font-weight:500; }
.bp-page ul,.bp-page ol { margin:.8rem 0 .8rem 1.2rem; color:#C9BFB0; }
.bp-page li { margin-bottom:.4rem; }
.bp-page a { color:#B8976A; text-decoration:none; }
.bp-page a:hover { color:#D4B896; text-decoration:underline; }

/* --- SECTION ORDER (CSS forces it regardless of authored DOM order) ----- */
.bp-page > .bp-bc       { order:1; padding-top:2.5rem; font-size:.75rem; color:#8A8A8A; }
.bp-page > .bp-hdr      { order:2; padding-block:1.5rem 1rem; }
.bp-page > .bp-intro    { order:3; padding-block:1rem 1.5rem; font-size:1.05rem;
  line-height:1.9; color:#C9BFB0; border-bottom:1px solid rgba(184,151,106,.15); }
.bp-page > .bp-section  { order:4; padding-block:.8rem; }
.bp-page > .bp-cta      { order:5; }
.bp-page > .bp-services { order:6; }
.bp-page > .bp-guides   { order:7; }
.bp-page > .bp-cities   { order:8; }
.bp-page > .bp-sources  { order:9; }
.bp-page > .bp-faq      { order:10; }
.bp-page > .bp-nav      { order:11; }

/* --- HEADER + OVERLINE -------------------------------------------------- */
.bp-overline { display:block; font-size:.65rem; letter-spacing:4px;
  text-transform:uppercase; color:#B8976A; margin-bottom:.5rem; }
.bp-hdr h1 em { font-style:italic; color:#D4B896; }

/* --- CTA ---------------------------------------------------------------- */
.bp-cta { margin-block:2rem !important; padding:2.5rem 2rem; text-align:center;
  background:#141414; border:1px solid rgba(184,151,106,.25);
  border-top:3px solid rgba(184,151,106,.45); border-radius:10px; }
.bp-cta h3 { margin:0 0 .5rem; }
.bp-cta p  { color:#C9BFB0; margin:.5rem 0 1.5rem; }
.bp-cta-btn { display:inline-block !important; padding:.75rem 2.2rem; background:#B8976A;
  color:#0A0A0A !important; font-size:.8rem; letter-spacing:2px; text-transform:uppercase;
  border-radius:4px; transition:background .3s; }
.bp-cta-btn:hover { background:#D4B896; color:#0A0A0A !important; text-decoration:none !important; }

/* --- TRAILER CARD SECTIONS (services / guides / cities / sources) ------- */
.bp-services,.bp-guides,.bp-cities,.bp-sources { margin-top:1.5rem !important;
  padding:2rem; border-top:1px solid rgba(184,151,106,.18); }
.bp-services > h3,.bp-guides > h3,.bp-cities > h3,.bp-sources > h3 {
  text-align:center; margin:0 0 1rem; font-size:1.4rem; }

/* --- UNIVERSAL CARD GRID (works in trailer blocks AND inside bp-section) - */
.bp-card-grid { display:grid; grid-template-columns:repeat(2, 1fr); gap:.75rem; margin:1rem 0; }
.bp-card-grid > br { display:none; }
a.bp-card { display:flex; flex-direction:column; gap:.3rem; padding:1.05rem 1.1rem;
  background:#141414; border:1px solid rgba(184,151,106,.3); border-radius:4px;
  color:#EDE6DA; text-decoration:none !important; font-size:.88rem; line-height:1.45;
  min-height:44px; transition:all .25s; }
a.bp-card:hover { border-color:#B8976A; background:#1E1E1E; transform:translateY(-1px); }
.bp-card-label { font-size:.6rem; letter-spacing:2.5px; color:#B8976A; text-transform:uppercase; }
.bp-card-title { font-family:"Cormorant Garamond",serif; font-size:1.05rem; color:#B8976A; } /* === 2026-06-04 card-title-gold === */
.bp-card-desc  { font-size:.78rem; color:#9A9A9A; }

/* --- TABLE -------------------------------------------------------------- */
.bp-table { width:100%; border-collapse:collapse; margin:1rem 0;
  font-size:.9rem; color:#C9BFB0; }
.bp-table th,.bp-table td { padding:.8rem 1rem; text-align:center;
  vertical-align:middle; border:1px solid rgba(184,151,106,.18); }
.bp-table thead th { background:#1E1E1E; color:#B8976A; font-weight:500;
  letter-spacing:.5px; text-transform:uppercase; font-size:.75rem; }
.bp-table tbody tr:nth-child(odd)  { background:#141414; }
.bp-table tbody tr:nth-child(even) { background:#1A1A1A; }
.bp-table tbody tr:hover { background:#232323; }
.bp-table caption { color:#8A8A8A; font-size:.8rem; padding:.5rem 0; text-align:center; }

/* --- ACCORDION PRIMITIVE (FAQ + glossary + anywhere collapsible) -------- */
.bp-faq { margin-top:2rem !important; padding:1rem 2rem 2rem;
  border-top:1px solid rgba(184,151,106,.15); }
.bp-faq > h3 { text-align:center; margin:0 0 1.5rem; font-size:1.5rem; }
.bp-acc { border-bottom:1px solid rgba(184,151,106,.25); }
.bp-acc:first-of-type { border-top:1px solid rgba(184,151,106,.25); }
.bp-acc > summary { padding:1.25rem 2.5rem 1.25rem 0; cursor:pointer; list-style:none;
  position:relative; font-size:1rem; font-weight:500; color:#FAFAF8; }
.bp-acc > summary::-webkit-details-marker { display:none; }
.bp-acc > summary::marker { content:""; }
.bp-acc > summary::after { content:"+"; position:absolute; right:0; top:50%;
  transform:translateY(-50%); font-family:"Cormorant Garamond",serif;
  font-size:1.6rem; color:#B8976A; }
.bp-acc[open] > summary::after { content:"\2212"; }
.bp-acc > summary:hover { color:#B8976A; }
.bp-acc:not([open]) > .bp-acc-body { display:none !important; }
.bp-acc-body { padding:0 2.5rem 1.5rem 0; font-size:.95rem; line-height:1.7;
  color:rgba(250,250,248,.82); }
.bp-acc-body a { display:inline !important; color:#B8976A; text-decoration:underline;
  text-underline-offset:3px; padding:0 !important; background:transparent !important; }

/* --- PREV/NEXT NAV ------------------------------------------------------ */
.bp-nav { margin-block:2rem !important; padding-top:1.5rem; display:flex;
  justify-content:space-between; gap:1rem; border-top:1px solid rgba(184,151,106,.12); }
.bp-nav a { display:inline !important; color:#B8976A; font-size:.85rem;
  padding:0 !important; background:transparent !important; }

/* --- FLOATING CONTACT (lives OUTSIDE .bp-page) ------------------------- */
.bp-float { position:fixed; bottom:1.5rem; right:1.5rem; z-index:9999;
  display:inline-flex; align-items:center; gap:.5rem; padding:.6rem 1.2rem;
  background:linear-gradient(135deg, #B8976A, #9A7B55) !important;
  color:#0A0A0A !important; font-family:"Jost",sans-serif; font-size:.78rem;
  font-weight:500; border-radius:50px; box-shadow:0 4px 15px rgba(0,0,0,.3);
  text-decoration:none !important; transition:transform .3s; }
.bp-float:hover { transform:translateY(-2px); }

/* --- CALLOUT (Key Takeaway optional inline) ---------------------------- */
.bp-callout { margin:1.5rem 0; padding:1.2rem 1.5rem;
  background:rgba(184,151,106,.04); border-left:3px solid rgba(184,151,106,.3);
  border-radius:0 8px 8px 0; }
.bp-callout > h4 { color:#B8976A; margin:0 0 .5rem; font-size:1.1rem; }

/* --- MOBILE ------------------------------------------------------------ */
@media (max-width: 600px) {
  .bp-page > * { padding-inline:1.25rem; }
  .bp-page h1 { font-size:1.6rem; }
  .bp-page h2 { font-size:1.25rem; }
  .bp-card-grid { grid-template-columns:1fr; }
}
/* === reedcorp.tax CANONICAL DESIGN SYSTEM — v5 end ===================== */

/* === 2026-06-03 hardening (auto: customizer_css_harden_2026_06_03.py) === */
.bp-float { white-space: nowrap; }
.bp-sources > h3 { font-family: "Cormorant Garamond", serif; color: #FAFAF8; }
/* === /2026-06-03 hardening === */

/* === 2026-06-04 trailer-h2-center === */
.bp-services > h2,
.bp-guides   > h2,
.bp-cities   > h2,
.bp-sources  > h2,
.bp-faq      > h2 { text-align:center; margin:0 0 1rem; font-size:1.4rem;
  font-family:"Cormorant Garamond",serif; color:#FAFAF8; font-weight:400; }
/* === /2026-06-04 trailer-h2-center === */

/* === 2026-06-04 bp-cta-redesign === */
.bp-cta { max-width:560px; margin-block:2rem !important; padding:1.8rem 2rem;
  background:#0E0E0E; border:1px solid #B8976A;
  border-top:3px solid #B8976A; border-radius:10px;
  box-shadow:0 0 0 1px rgba(184,151,106,.15), 0 12px 40px rgba(0,0,0,.6); }
.bp-cta h3 { margin:0 0 .5rem; font-size:1.4rem;
  font-family:"Cormorant Garamond",serif; color:#FAFAF8; }
.bp-cta p { font-size:.88rem; color:#9A9A9A; margin:.5rem 0 1.2rem; }
.bp-cta-btn { padding:.7rem 1.8rem !important; font-size:.78rem !important; }
/* === /2026-06-04 bp-cta-redesign === */

/* === 2026-06-04 bp-float-tighten === */
.bp-float { padding:.5rem 1.1rem !important; font-size:.72rem !important;
  line-height:1 !important; align-items:center !important;
  justify-content:center !important; }
.bp-float br { display:none !important; }
.bp-float svg { width:16px; height:16px; flex:0 0 auto; }
.bp-float span { margin:0 !important; }
/* === /2026-06-04 bp-float-tighten === */

/* === 2026-06-04 mobile-polish === */
/* iOS Safari zoom-on-focus killer -- every form input >= 16px below 600px */
@media (max-width:600px) {
  input, textarea, select { font-size:16px !important; }
}
/* Card-grid: collapse to 1col at tablet (was 600px, now 768px) */
@media (max-width:768px) {
  .bp-card-grid { grid-template-columns:1fr !important; }
}
/* Trailer wrappers: reduce padding on mobile */
@media (max-width:600px) {
  .bp-services, .bp-guides, .bp-cities, .bp-sources, .bp-faq {
    padding:1.25rem 1rem !important;
  }
}
/* Accordion: more right-padding for the +/- glyph */
@media (max-width:600px) {
  .bp-acc > summary { padding-right:3rem !important; font-size:.95rem; }
}
/* Cards: bigger tap targets on mobile (56px vs 44px) */
@media (max-width:600px) {
  a.bp-card { min-height:56px !important; padding:1.25rem 1.1rem !important; }
}
/* Newsletter input sizing */
@media (max-width:600px) {
  .wp-block-jetpack-subscriptions__form input,
  .wp-block-jetpack-subscriptions__textfield input {
    padding:.75rem !important; min-height:44px !important; font-size:16px !important;
  }
}
/* Fix CTA card: !important so it wins against .bp-page > * max-width */
.bp-cta { max-width:560px !important; }
/* Floating button: clear of CTA on mobile */
@media (max-width:600px) {
  .bp-float { bottom:1rem !important; right:1rem !important; }
}
/* Intro / overline / breadcrumb mobile polish */
@media (max-width:600px) {
  .bp-page > .bp-intro { font-size:.95rem !important; }
  .bp-overline { letter-spacing:2px !important; }
  .bp-page > .bp-bc { padding-top:1.5rem !important; }
  .bp-faq > h3 { font-size:1.25rem !important; }
}
/* CTA body paragraph contrast on dark CTA bg */
.bp-cta p { color:#9A9A9A !important; }
/* Table overflow wrapper -- markup added by wrap_bp_tables_2026_06_04.py */
.bp-table-wrap { overflow-x:auto; -webkit-overflow-scrolling:touch; margin:1rem 0; }
.bp-table-wrap > .bp-table { margin:0; min-width:480px; }
/* === /2026-06-04 mobile-polish === */

/* === 2026-06-04 hub-family-mobile === */
/* Base styles for location/state hub pages (.hub-* family) - was scattered
   in per-page inline styles, now canonical. */
.hub-hero { text-align:center; padding:2rem 1rem; }
.hub-hero h1 { font-family:"Cormorant Garamond", Georgia, serif;
  font-size:2.2rem; font-weight:400; color:#FAFAF8; margin:0 0 1rem; }
.hub-hero .hub-intro,
.hub-intro { max-width:720px; margin:0 auto; font-size:1rem;
  line-height:1.7; color:#C9BFB0; font-weight:300; }
.hub-bc { font-size:.75rem; color:#8A8A8A; padding:1.5rem 1rem 0; }
.hub-bc a { color:#B8976A; text-decoration:none; }
.hub-section { padding:1.5rem 1rem; max-width:1200px; margin:0 auto; }
.hub-section h2 { font-family:"Cormorant Garamond", Georgia, serif;
  font-size:1.6rem; text-align:center; color:#FAFAF8; margin:1.5rem 0 1rem; }
.hub-section h3 { font-family:"Cormorant Garamond", Georgia, serif;
  font-size:1.2rem; color:#FAFAF8; }
.hub-section .section-desc { text-align:center; color:#9A9A9A;
  font-size:.9rem; max-width:680px; margin:0 auto 1.5rem; }
.hub-cta { text-align:center; margin:2rem auto; max-width:600px; }
.city-ribbon { background:#141414; border:1px solid rgba(184,151,106,.25);
  border-radius:8px; padding:1.5rem 1.25rem; margin:1.5rem 0; }
.city-ribbon h3 { font-family:"Cormorant Garamond", Georgia, serif;
  font-size:1.25rem; color:#FAFAF8; margin:0 0 .75rem; text-align:center; }
.city-ribbon .city-label { display:block; font-size:.6rem;
  letter-spacing:2.5px; color:#B8976A; text-transform:uppercase;
  text-align:center; margin-bottom:.4rem; }
.city-ribbon-grid { display:grid; grid-template-columns:repeat(2, 1fr);
  gap:.75rem; margin-top:1rem; }
.city-ribbon-grid a { display:flex; flex-direction:column;
  padding:.85rem 1rem; background:#0E0E0E; border:1px solid rgba(184,151,106,.18);
  border-radius:6px; color:#EDE6DA; text-decoration:none; font-size:.85rem;
  min-height:48px; transition:all .25s; }
.city-ribbon-grid a:hover { border-color:#B8976A; background:#1E1E1E; }
@media (max-width:600px) {
  .hub-hero { padding:1.5rem 1rem; }
  .hub-hero h1 { font-size:1.7rem; }
  .hub-hero .hub-intro, .hub-intro { font-size:.95rem; }
  .hub-section { padding:1.25rem 1rem; }
  .hub-section h2 { font-size:1.35rem; }
  .city-ribbon { padding:1.25rem 1rem; }
  .city-ribbon-grid { grid-template-columns:1fr; gap:.5rem; }
  .city-ribbon-grid a { min-height:56px; padding:1rem 1.1rem; }
}
/* Keep floating contact off hub CTAs on mobile */
@media (max-width:600px) {
  body.page-id-475 .bp-page,
  body.page-id-476 .bp-page,
  body.page-id-1717 .bp-page,
  body.page-id-27502 .bp-page,
  [class*="-hub"] .bp-page { padding-bottom:5rem; }
}
/* === /2026-06-04 hub-family-mobile === */

/* === 2026-06-04 form-cascade-fix === */
/* Select bg cream so the forced color:#000 is readable. The existing
   Customizer block forced color:#000 on <select> but no background, so
   on dark-bg pages the option lists rendered black-on-black. */
select {
  background-color:#EDE6DA !important;
  -webkit-appearance:menulist !important;
  appearance:menulist !important;
}
/* Dark-form autofill override - moved AFTER universal rules so it wins
   on .bp-page/.estimator-wrap/.bp-page contexts. */
.bp-page input:-webkit-autofill,
.bp-page textarea:-webkit-autofill,
.bp-page select:-webkit-autofill,
.estimator-wrap input:-webkit-autofill,
.estimator-wrap textarea:-webkit-autofill,
.estimator-wrap select:-webkit-autofill {
  -webkit-text-fill-color:#EDE6DA !important;
  -webkit-box-shadow:0 0 0 1000px #0A0A0A inset !important;
  caret-color:#B8976A !important;
}
/* === /2026-06-04 form-cascade-fix === */