/* JS Directory 1.5.3 — high-contrast pass for all Business Page / owner workspace surfaces.
   Loaded after the page-specific styles so production theme rules cannot dim text. */
:is(.jsf-business-editor,.jsf-bs-page-root,.js-bqm-workspace,.js-brm-workspace,.js-bdm-workspace,.jsf-bp,.jsf-business-dashboard-live){
  --jc-navy:#0b2344;--jc-navy2:#173b67;--jc-gold:#e2b93b;--jc-cream:#f7f3e8;--jc-paper:#fffdfa;
  --jc-ink:#0d2746;--jc-body:#283f55;--jc-muted:#4d6276;--jc-link:#075b9b;--jc-line:#d7cfbe;
  color:var(--jc-ink)!important;
}

/* Light cards: never inherit pale/transparent text from the global theme. */
:is(.jsf-business-editor,.jsf-bs-page-root,.js-bqm-workspace,.js-brm-workspace,.js-bdm-workspace,.jsf-bp,.jsf-business-dashboard-live)
:is(.jsf-editor-card,.jsf-business-editor-progress,.jsf-bs-card,.js-bqm-card,.js-bqm-metrics article,.js-brm-card,.js-brm-metrics article,.js-bdm-card,.js-bdm-nav,.js-bqm-nav,.js-brm-nav,.jsf-bw-card,.jsf-bw-metrics>a,.jsf-bw-quick,.jsf-bp-card,.jsf-bp-section,.jsf-bp-sidecard){
  color:var(--jc-ink)!important;
}
:is(.jsf-business-editor,.jsf-bs-page-root,.js-bqm-workspace,.js-brm-workspace,.js-bdm-workspace,.jsf-bp,.jsf-business-dashboard-live)
:is(.jsf-editor-card,.jsf-bs-card,.js-bqm-card,.js-brm-card,.js-bdm-card,.jsf-bw-card,.jsf-bw-quick,.jsf-bp-card,.jsf-bp-section,.jsf-bp-sidecard)
:is(h1,h2,h3,h4,h5,h6,b,strong,label){color:var(--jc-navy)!important;text-shadow:none!important}
:is(.jsf-business-editor,.jsf-bs-page-root,.js-bqm-workspace,.js-brm-workspace,.js-bdm-workspace,.jsf-bp,.jsf-business-dashboard-live)
:is(.jsf-editor-card,.jsf-bs-card,.js-bqm-card,.js-brm-card,.js-bdm-card,.jsf-bw-card,.jsf-bw-quick,.jsf-bp-card,.jsf-bp-section,.jsf-bp-sidecard)
p{color:var(--jc-body)!important;text-shadow:none!important}
:is(.jsf-business-editor,.jsf-bs-page-root,.js-bqm-workspace,.js-brm-workspace,.js-bdm-workspace,.jsf-bp,.jsf-business-dashboard-live)
:is(.jsf-editor-card,.jsf-bs-card,.js-bqm-card,.js-brm-card,.js-bdm-card,.jsf-bw-card,.jsf-bw-quick,.jsf-bp-card,.jsf-bp-section,.jsf-bp-sidecard)
small{color:var(--jc-muted)!important;text-shadow:none!important}
:is(.jsf-business-editor,.jsf-bs-page-root,.js-bqm-workspace,.js-brm-workspace,.js-bdm-workspace,.jsf-bp,.jsf-business-dashboard-live) a:not(.jsf-bp-btn):not(.jsf-editor-btn):not(.button){color:var(--jc-link)!important}

/* Dark/navy hero surfaces: force white body copy and gold eyebrow labels. */
:is(.jsf-business-editor-hero,.jsf-bs-hero,.js-bqm-hero,.js-brm-hero,.js-bdm-top,.jsf-bw-welcome,.jsf-bp-hero){color:#fff!important}
:is(.jsf-business-editor-hero,.jsf-bs-hero,.js-bqm-hero,.js-brm-hero,.js-bdm-top,.jsf-bw-welcome,.jsf-bp-hero)
:is(h1,h2,h3,h4,h5,h6,b,strong,p,span,label,em){color:#fff!important;text-shadow:0 1px 2px rgba(0,0,0,.35)!important}
:is(.jsf-business-editor-hero,.jsf-bs-hero,.js-bqm-hero,.js-brm-hero,.js-bdm-top,.jsf-bw-welcome)
small{color:#ffe177!important;text-shadow:0 1px 2px rgba(0,0,0,.28)!important}
.jsf-bp-hero :is(.jsf-bp-title,.jsf-bp-title-line,.jsf-bp-title-line h1,.jsf-bp-meta,.jsf-bp-rating,.jsf-bp-rating b){color:#fff!important}

/* Primary dark cards inside dashboard remain readable. */
.js-bdm-main .jsf-bw-card-primary,
.jsf-business-dashboard-live .jsf-bw-card-primary{background:linear-gradient(145deg,#102f54,#214b79)!important;color:#fff!important}
.js-bdm-main .jsf-bw-card-primary :is(h1,h2,h3,h4,p,b,strong,span,a),
.jsf-business-dashboard-live .jsf-bw-card-primary :is(h1,h2,h3,h4,p,b,strong,span,a){color:#fff!important}
.js-bdm-main .jsf-bw-card-primary small,
.jsf-business-dashboard-live .jsf-bw-card-primary small{color:#ffe177!important}

/* Gold / cream information cards use navy text, not inherited white or muted gray. */
:is(.jsf-business-editor-gate,.jsf-bw-gate,.jsf-bs-add,.jsf-bs-tip,.jsf-bp-hunt,.js-brm-card.tip,.js-bdm-card.tip){color:var(--jc-ink)!important}
:is(.jsf-business-editor-gate,.jsf-bw-gate,.jsf-bs-add,.jsf-bs-tip,.jsf-bp-hunt,.js-brm-card.tip,.js-bdm-card.tip)
:is(h2,h3,h4,b,strong,label){color:var(--jc-navy)!important}
:is(.jsf-business-editor-gate,.jsf-bw-gate,.jsf-bs-add,.jsf-bs-tip,.jsf-bp-hunt,.js-brm-card.tip,.js-bdm-card.tip) p{color:#394d5f!important}

/* Form contrast across edit, services, quotes, review responses, and quick quote. */
:is(.jsf-business-editor,.jsf-bs-page-root,.js-bqm-workspace,.js-brm-workspace,.jsf-bp)
:is(input:not([type=checkbox]):not([type=radio]),select,textarea){
  background:#fff!important;color:#102a46!important;border-color:#aebccb!important;opacity:1!important;-webkit-text-fill-color:#102a46!important;
}
:is(.jsf-business-editor,.jsf-bs-page-root,.js-bqm-workspace,.js-brm-workspace,.jsf-bp)
:is(input,textarea)::placeholder{color:#5d7083!important;opacity:1!important}
:is(.jsf-business-editor,.jsf-bs-page-root,.js-bqm-workspace,.js-brm-workspace,.jsf-bp)
:is(input:not([type=checkbox]):not([type=radio]),select,textarea):focus{border-color:#2b77b5!important;box-shadow:0 0 0 3px rgba(43,119,181,.18)!important;outline:none!important}

/* Navigation and tool rails. */
:is(.js-bdm-nav,.js-bqm-nav,.js-brm-nav) a{color:#244e75!important}
:is(.js-bdm-nav,.js-bqm-nav,.js-brm-nav) a.active{background:var(--jc-navy)!important;color:#fff!important}
:is(.js-bdm-card,.js-bqm-card,.js-brm-card,.jsf-bs-card,.jsf-bp-sidecard) > a,
.jsf-bs-tools a{color:#155d96!important}
.jsf-bs-tools a.active{background:#f1e5b6!important;color:#102a46!important}

/* Metrics and secondary descriptions need stronger than default gray. */
:is(.js-bqm-metrics,.js-brm-metrics,.jsf-bw-metrics) small{color:#4c6073!important}
:is(.js-bqm-metrics,.js-brm-metrics,.jsf-bw-metrics) span{color:#425a70!important}
:is(.js-bqm-metrics,.js-brm-metrics,.jsf-bw-metrics) strong{color:var(--jc-navy)!important}

/* Reviews / quote rows / services cards. */
:is(.js-brm-review,.jsf-qm-request-row,.jsf-bs-service-item,.jsf-bp-service-grid article,.jsf-bp-review-grid article,.jsf-bp-post){color:var(--jc-ink)!important}
:is(.js-brm-review,.jsf-qm-request-row,.jsf-bs-service-item,.jsf-bp-service-grid article,.jsf-bp-review-grid article,.jsf-bp-post)
:is(h2,h3,h4,b,strong,label){color:var(--jc-navy)!important}
:is(.js-brm-review,.jsf-qm-request-row,.jsf-bs-service-item,.jsf-bp-service-grid article,.jsf-bp-review-grid article,.jsf-bp-post) p{color:var(--jc-body)!important}
:is(.js-brm-review,.jsf-qm-request-row,.jsf-bs-service-item,.jsf-bp-service-grid article,.jsf-bp-review-grid article,.jsf-bp-post) small{color:var(--jc-muted)!important}

/* Buttons: accessible dark-on-gold, dark-on-white, white-on-blue/navy. */
:is(.jsf-bs-add-controls button,.jsf-bs-savebar button,.js-bqm-card .button,.jsf-bp-quickquote button,.jsf-bp-btn.gold,.jsf-editor-btn.gold){
  background:#e2b93b!important;color:#0d2746!important;border-color:#b88b10!important;text-shadow:none!important;
}
:is(.jsf-bp-btn.blue){background:#356fa9!important;color:#fff!important;border-color:#245b91!important}
:is(.jsf-bp-btn.light,.js-bqm-hero-actions a,.js-brm-hero nav a,.js-bdm-top nav a,.jsf-bs-hero nav a){background:#fff!important;color:#0d3155!important}

/* Owner notification / management rail. */
.jsf-bp-notify-card{background:#fff!important;color:var(--jc-ink)!important}
.jsf-bp-notify-card :is(h2,h3,b,strong){color:var(--jc-navy)!important}
.jsf-bp-notify-card :is(p,span){color:var(--jc-body)!important}
.jsf-bp-notify-card small{color:var(--jc-muted)!important}
.jsf-bp-manage-grid>a{background:#fff!important;color:#103861!important;border-color:#c8d2dc!important}
.jsf-bp-manage-grid>a b{color:#103861!important}

/* Status pills preserve semantic color but increase contrast. */
:is(.jsf-business-editor-status,.jsf-bs-status,.js-bqm-chips,.js-bdm-chips,.jsf-bw-statuses) .live,
:is(.jsf-business-editor-status,.jsf-bs-status,.js-bqm-chips,.js-bdm-chips,.jsf-bw-statuses) .is-live{background:#d8f2e1!important;color:#0b5731!important;border-color:#83c99c!important;text-shadow:none!important}
:is(.jsf-business-editor-status,.jsf-bs-status,.js-bqm-chips,.js-bdm-chips,.jsf-bw-statuses) .pending,
:is(.jsf-business-editor-status,.jsf-bs-status,.js-bqm-chips,.js-bdm-chips,.jsf-bw-statuses) .is-pending{background:#fff0b6!important;color:#684b00!important;border-color:#d4af34!important;text-shadow:none!important}

/* Explicit business edit headings and helper copy. */
.jsf-business-editor :is(.jsf-editor-card h2,.jsf-editor-card h3,.jsf-business-editor-progress b){color:var(--jc-navy)!important}
.jsf-business-editor :is(.jsf-editor-card>header p,.jsf-editor-grid .field>small,.jsf-business-editor-progress span,.jsf-business-editor-progress small){color:#4b6176!important}

/* Public Business Page copy — protect against global theme color overrides. */
.jsf-bp :is(.jsf-bp-copy,.jsf-bp-section,.jsf-bp-sidecard) :is(p,li){color:#283f55!important}
.jsf-bp :is(.jsf-bp-copy,.jsf-bp-section,.jsf-bp-sidecard) :is(h2,h3,h4,b,strong){color:#0b2b50!important}
.jsf-bp :is(.jsf-bp-copy,.jsf-bp-section,.jsf-bp-sidecard) small{color:#50667b!important}
.jsf-bp a{font-weight:800}

/* Keyboard focus is visible on every business workspace. */
:is(.jsf-business-editor,.jsf-bs-page-root,.js-bqm-workspace,.js-brm-workspace,.js-bdm-workspace,.jsf-bp)
:is(a,button,input,select,textarea):focus-visible{outline:3px solid #3b8ed0!important;outline-offset:2px!important}
