/* ==========================================================================
   Luxbranding brand overrides — owner-approved section B picks, 2026-09-09
   B1 (a)  dark text on cyan for every cyan-filled control
   B2      muted greys on dark raised to >= 4.5:1
   B3 v1   cyan glow layers / cyan box-shadows -> flat neutral elevation
           (gradient headings deliberately KEPT)
   B4      eyebrow / kicker labels removed (informational badges + pill chips kept)

   One sheet, loaded after the compiled Tailwind and the theme sheets, so no
   template is mass-edited. Every rule is !important on purpose: it must beat
   Tailwind arbitrary utilities and inline styles alike. Selectors were derived
   from the live markup; see AUDITS-2026-09-08/b-overrides-verification.md.
   ========================================================================== */

/* --------------------------------------------------------------------------
   B1 — dark text on cyan (#0a0a0f on #0DC6EB = 9.7:1)
   Matches Tailwind bg-[#0DC6EB] / hover:bg-[#0bb0d2] with text-white, inline
   background:#0DC6EB with white text (numbered step circles), and any
   button/anchor whose inline background is the solid brand cyan. The ";" and
   end-anchored forms avoid matching the translucent "#0DC6EB08" tints.
   -------------------------------------------------------------------------- */
.bg-\[\#0DC6EB\].text-white,
.bg-\[\#0DC6EB\] .text-white,
.hover\:bg-\[\#0bb0d2\].text-white,
[style*="background:#0DC6EB;"].text-white,
[style$="background:#0DC6EB"].text-white,
[style*="background-color:#0DC6EB;"].text-white,
[style$="background-color:#0DC6EB"].text-white,
[style*="background:#0DC6EB;"][style*="color:#fff"],
[style*="background:#0DC6EB;"][style*="color:white"],
a[style*="background:#0DC6EB;"],
a[style$="background:#0DC6EB"],
button[style*="background:#0DC6EB;"],
button[style$="background:#0DC6EB"],
input[type="submit"][style*="background:#0DC6EB"],
.btn--primary,
.btn--primary:hover {
  color: #0a0a0f !important;
  -webkit-text-fill-color: #0a0a0f !important;
}
/* Same finding on the white blog article: cyan text/links on white are 2.0:1.
   .prose links already use #08768f; this covers breadcrumb, meta and CTA links
   outside .prose. Links inside a dark block within the article stay cyan. */
article[itemtype*="BlogPosting"] [style*="color:#0DC6EB"],
article[itemtype*="BlogPosting"] .text-\[\#0DC6EB\],
article[itemtype*="BlogPosting"] a:not([class*="bg-"]):not([style*="background"]) {
  color: #08768f !important;
}
article[itemtype*="BlogPosting"] [style*="background:#0"] a,
article[itemtype*="BlogPosting"] [style*="background:#1"] a,
article[itemtype*="BlogPosting"] [class*="bg-[#0"] a,
article[itemtype*="BlogPosting"] [class*="bg-[#1"] a,
article[itemtype*="BlogPosting"] [style*="background:#0"] [style*="color:#0DC6EB"],
article[itemtype*="BlogPosting"] [style*="background:#0"] .text-\[\#0DC6EB\] {
  color: #0DC6EB !important;
}

/* --------------------------------------------------------------------------
   B2 — muted greys on dark
   #64748b 4.2:1, #5a6b7f 3.6:1, #6b6b80 3.8:1 -> #8b93a5 (6.4:1 on #0a0a0f)
   #4b5563 2.6:1 -> #9aa3b2 (7.8:1). #8090a0 / #94a3b8 / #8b97a8 already pass.
   Three layers, resolved by specificity:
     1) lift everywhere (the site ground is #0a0a0f)
     2) restore the original token inside any LIGHT container (inline or
        Tailwind background starting #e/#f, .bg-white, the white blog article):
        there the original grey is the accessible one and the lift would fail
     3) lift again inside a DARK block nested in a light container
        (dark CTA bands, dark cards on white sections)
   -------------------------------------------------------------------------- */
[style*="color:#64748b"], .text-\[\#64748b\],
[style*="color:#5a6b7f"], .text-\[\#5a6b7f\],
[style*="color:#6b6b80"], .text-\[\#6b6b80\] {
  color: #8b93a5 !important;
}
[style*="color:#4b5563"], .text-\[\#4b5563\] {
  color: #9aa3b2 !important;
}
/* 2) restore in light containers */
article[itemtype*="BlogPosting"] [style*="color:#64748b"], article[itemtype*="BlogPosting"] .text-\[\#64748b\],
[style*="background:#f"] [style*="color:#64748b"], [style*="background:#f"] .text-\[\#64748b\],
[style*="background:#e"] [style*="color:#64748b"], [style*="background:#e"] .text-\[\#64748b\],
[style*="background-color:#f"] [style*="color:#64748b"], [style*="background-color:#f"] .text-\[\#64748b\],
[class*="bg-[#f"] [style*="color:#64748b"], [class*="bg-[#f"] .text-\[\#64748b\],
[class*="bg-[#e"] [style*="color:#64748b"], [class*="bg-[#e"] .text-\[\#64748b\],
.bg-white [style*="color:#64748b"], .bg-white .text-\[\#64748b\] {
  color: #64748b !important;
}
article[itemtype*="BlogPosting"] [style*="color:#5a6b7f"], article[itemtype*="BlogPosting"] .text-\[\#5a6b7f\],
[style*="background:#f"] [style*="color:#5a6b7f"], [style*="background:#f"] .text-\[\#5a6b7f\],
[style*="background:#e"] [style*="color:#5a6b7f"], [style*="background:#e"] .text-\[\#5a6b7f\],
[style*="background-color:#f"] [style*="color:#5a6b7f"],
[class*="bg-[#f"] [style*="color:#5a6b7f"], [class*="bg-[#f"] .text-\[\#5a6b7f\],
[class*="bg-[#e"] [style*="color:#5a6b7f"],
.bg-white [style*="color:#5a6b7f"], .bg-white .text-\[\#5a6b7f\] {
  color: #5a6b7f !important;
}
article[itemtype*="BlogPosting"] [style*="color:#6b6b80"], article[itemtype*="BlogPosting"] .text-\[\#6b6b80\],
[style*="background:#f"] [style*="color:#6b6b80"], [style*="background:#f"] .text-\[\#6b6b80\],
[style*="background:#e"] [style*="color:#6b6b80"], [style*="background:#e"] .text-\[\#6b6b80\],
[style*="background-color:#f"] [style*="color:#6b6b80"],
[class*="bg-[#f"] [style*="color:#6b6b80"], [class*="bg-[#f"] .text-\[\#6b6b80\],
[class*="bg-[#e"] [style*="color:#6b6b80"],
.bg-white [style*="color:#6b6b80"], .bg-white .text-\[\#6b6b80\] {
  color: #6b6b80 !important;
}
article[itemtype*="BlogPosting"] [style*="color:#4b5563"], article[itemtype*="BlogPosting"] .text-\[\#4b5563\],
[style*="background:#f"] [style*="color:#4b5563"], [style*="background:#f"] .text-\[\#4b5563\],
[style*="background:#e"] [style*="color:#4b5563"], [style*="background:#e"] .text-\[\#4b5563\],
[style*="background-color:#f"] [style*="color:#4b5563"],
[class*="bg-[#f"] [style*="color:#4b5563"], [class*="bg-[#f"] .text-\[\#4b5563\],
[class*="bg-[#e"] [style*="color:#4b5563"],
.bg-white [style*="color:#4b5563"], .bg-white .text-\[\#4b5563\] {
  color: #4b5563 !important;
}
/* 3) lift again inside dark blocks nested in light containers */
article[itemtype*="BlogPosting"] [style*="background:#0"] [style*="color:#64748b"], article[itemtype*="BlogPosting"] [style*="background:#0"] .text-\[\#64748b\],
article[itemtype*="BlogPosting"] [style*="background:#1"] [style*="color:#64748b"], article[itemtype*="BlogPosting"] [style*="background:#1"] .text-\[\#64748b\],
article[itemtype*="BlogPosting"] [class*="bg-[#0"] [style*="color:#64748b"], article[itemtype*="BlogPosting"] [class*="bg-[#0"] .text-\[\#64748b\],
[style*="background:#f"] [style*="background:#0"] [style*="color:#64748b"], [style*="background:#f"] [style*="background:#0"] .text-\[\#64748b\],
[style*="background:#f"] [style*="background:#1"] [style*="color:#64748b"], [style*="background:#f"] [style*="background:#1"] .text-\[\#64748b\],
[style*="background:#f"] [class*="bg-[#0"] [style*="color:#64748b"], [style*="background:#f"] [class*="bg-[#0"] .text-\[\#64748b\],
[style*="background:#f"] [class*="bg-[#1"] [style*="color:#64748b"], [style*="background:#f"] [class*="bg-[#1"] .text-\[\#64748b\],
.bg-white [style*="background:#0"] [style*="color:#64748b"], .bg-white [style*="background:#0"] .text-\[\#64748b\],
.bg-white [class*="bg-[#0"] [style*="color:#64748b"], .bg-white [class*="bg-[#0"] .text-\[\#64748b\],
[class*="bg-[#f"] [style*="background:#0"] [style*="color:#64748b"], [class*="bg-[#f"] [class*="bg-[#0"] [style*="color:#64748b"],
[class*="bg-[#f"] [style*="background:#0"] .text-\[\#64748b\], [class*="bg-[#f"] [class*="bg-[#0"] .text-\[\#64748b\] {
  color: #8b93a5 !important;
}
article[itemtype*="BlogPosting"] [style*="background:#0"] [style*="color:#5a6b7f"],
article[itemtype*="BlogPosting"] [style*="background:#1"] [style*="color:#5a6b7f"],
article[itemtype*="BlogPosting"] [class*="bg-[#0"] [style*="color:#5a6b7f"],
[style*="background:#f"] [style*="background:#0"] [style*="color:#5a6b7f"],
[style*="background:#f"] [style*="background:#1"] [style*="color:#5a6b7f"],
[style*="background:#f"] [class*="bg-[#0"] [style*="color:#5a6b7f"],
.bg-white [style*="background:#0"] [style*="color:#5a6b7f"],
.bg-white [class*="bg-[#0"] [style*="color:#5a6b7f"],
[class*="bg-[#f"] [style*="background:#0"] [style*="color:#5a6b7f"],
[class*="bg-[#f"] [class*="bg-[#0"] [style*="color:#5a6b7f"],
article[itemtype*="BlogPosting"] [style*="background:#0"] [style*="color:#6b6b80"],
article[itemtype*="BlogPosting"] [style*="background:#0"] .text-\[\#6b6b80\],
[style*="background:#f"] [style*="background:#0"] [style*="color:#6b6b80"],
[style*="background:#f"] [style*="background:#0"] .text-\[\#6b6b80\],
[style*="background:#f"] [class*="bg-[#0"] .text-\[\#6b6b80\],
.bg-white [style*="background:#0"] .text-\[\#6b6b80\],
[class*="bg-[#f"] [style*="background:#0"] .text-\[\#6b6b80\] {
  color: #8b93a5 !important;
}

/* --------------------------------------------------------------------------
   B3 v1 — flat neutral elevation
   1) Decorative glow layers: absolutely-positioned divs whose only job is a
      cyan/violet radial or blurred blob. The dot-grid textures use
      background-image and are NOT matched (texture, not glow).
   -------------------------------------------------------------------------- */
div.absolute[style*="background:radial-gradient(circle,#0DC6EB"],
div.absolute[style*="background:radial-gradient(circle,#7c3aed"],
div.absolute[style*="background:radial-gradient(circle,rgba(13,198,235"],
div.absolute[style*="background:radial-gradient(circle,rgba(167,139,250"],
div.absolute[style*="background:radial-gradient(ellipse,#0DC6EB"],
div.absolute[style*="background:radial-gradient(ellipse"][style*="rgba(13,198,235"],
div.absolute[style*="background:radial-gradient(ellipse"][style*="#0DC6EB18"],
div.absolute.pointer-events-none[class*="blur-["],
div.absolute.pointer-events-none.blur-3xl,
div.absolute.pointer-events-none.blur-2xl {
  display: none !important;
}
/* 2) Cyan box-shadows -> neutral. Dark-ground controls keep a soft dark
      elevation (as in the approved v1 sample); light-card hover glows -> light neutral.
      The 2px inset cyan ring on hovered cards is a control state, not a glow: kept. */
[style*="box-shadow:0 4px 14px rgba(13,198,235"],
[style*="box-shadow:0 8px 32px rgba(13,198,235"],
[style*="box-shadow:0 8px 32px #0DC6EB"],
[style*="box-shadow:0 8px 40px #0DC6EB"],
[style*="box-shadow:0 4px 20px #0DC6EB"],
[style*="box-shadow:0 4px 16px rgba(13,198,235"],
[style*="box-shadow:0 0 40px rgba(13,198,235"],
[style*="box-shadow:0 0 32px rgba(13,198,235"],
[style*="box-shadow:0 0 32px #0DC6EB"],
[style*="box-shadow:0 0 36px #0DC6EB"],
[style*="box-shadow:0 0 20px rgba(13,198,235"],
[style*="box-shadow:0 16px 48px #0DC6EB"],
[class*="shadow-[0_4px_16px_rgba(13,198,235"],
[class*="shadow-[0_4px_20px_rgba(13,198,235"],
[class*="shadow-[0_4px_24px_rgba(13,198,235"],
[class*="shadow-[0_8px_24px_rgba(13,198,235"],
[class*="shadow-[0_8px_32px_rgba(13,198,235"],
[class*="shadow-[0_8px_40px_rgba(13,198,235"],
[class*="shadow-[0_0_20px_rgba(13,198,235"],
[class*="hover:shadow-[0_8px_24px_rgba(13,198,235"]:hover,
[class*="hover:shadow-[0_16px_56px_rgba(13,198,235"]:hover,
.btn--primary, .btn--primary:hover,
.process-step__number,
.testimonial-slider__dot.is-active,
a.service-card:hover .service-card__icon-wrap,
.feature-item:hover .feature-item__icon {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.45) !important;
}
[style*="box-shadow:0 8px 32px #0DC6EB15"],
[class*="hover:shadow-[0_2px_12px_rgba(13,198,235"]:hover,
[style*="background:#f"] [class*="shadow-[0_4px_16px_rgba(13,198,235"],
[style*="background:#f"] [style*="box-shadow:0 4px 14px rgba(13,198,235"],
.bg-white [class*="shadow-[0_4px_16px_rgba(13,198,235"],
.bg-white [style*="box-shadow:0 4px 14px rgba(13,198,235"] {
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08) !important;
}

/* --------------------------------------------------------------------------
   B4 — remove eyebrow / kicker labels
   Signature: a plain-text <p> or <span> that is uppercase + wide-tracked
   (0.15em / 0.2em / widest / wider) and is NOT a pill or badge (no rounded /
   px- / border classes, and not the text inside a rounded-full chip), and NOT
   inside the header, footer or admin bar. Footer column headings are <h3> and
   are not matched; "NEW"/"SAVE" badges, price pills, hero chips, section chips
   ("Logo styles", "FAQ") and the coloured tag pills all stay.
   -------------------------------------------------------------------------- */
p[class*="uppercase"][class*="tracking-[0.15em]"]:not([class*="rounded"]):not([class*="px-"]):not([class*="border"]):not([class*="rounded-full"] *):not(#site-header *):not(footer *):not(#wpadminbar *),
p[class*="uppercase"][class*="tracking-[0.2em]"]:not([class*="rounded"]):not([class*="px-"]):not([class*="border"]):not([class*="rounded-full"] *):not(#site-header *):not(footer *):not(#wpadminbar *),
p[class*="uppercase"][class*="tracking-widest"]:not([class*="rounded"]):not([class*="px-"]):not([class*="border"]):not([class*="rounded-full"] *):not(#site-header *):not(footer *):not(#wpadminbar *),
p[class*="uppercase"][class*="tracking-wider"]:not([class*="rounded"]):not([class*="px-"]):not([class*="border"]):not([class*="rounded-full"] *):not(#site-header *):not(footer *):not(#wpadminbar *),
span[class*="uppercase"][class*="tracking-[0.15em]"]:not([class*="rounded"]):not([class*="px-"]):not([class*="border"]):not([class*="rounded-full"] *):not(#site-header *):not(footer *):not(#wpadminbar *),
span[class*="uppercase"][class*="tracking-[0.2em]"]:not([class*="rounded"]):not([class*="px-"]):not([class*="border"]):not([class*="rounded-full"] *):not(#site-header *):not(footer *):not(#wpadminbar *),
span[class*="uppercase"][class*="tracking-widest"]:not([class*="rounded"]):not([class*="px-"]):not([class*="border"]):not([class*="rounded-full"] *):not(#site-header *):not(footer *):not(#wpadminbar *) {
  display: none !important;
}
