/* Fantastic Four approved visual: accessibility-only contrast layer.
 * The original 2026-11-02 authored stylesheet is hash-locked and unchanged.
 * This separate layer corrects unreadable text, small labels and UI controls
 * on alternate palettes without replacing section layouts or photography.
 */

/* Fantastic Four Premium QA: visible ink / opaque control surfaces.
   Retains all four authored compositions, photos and palettes. Scoped to newly
   opted-in Autoservis FF; never modifies Basic, Shop, Hi-End or saved originals. */
html body .sd-site.ff-site[data-ff-palette] .ff-action--primary{
  background-color:var(--ff-accent)!important;
  color:var(--ff-action-ink)!important;
}
html body .sd-site.ff-site[data-ff-palette] .ff-action--primary .ff-action__label{
  color:var(--ff-action-ink)!important;
}
html body .sd-site.ff-site[data-ff-palette] .ff-service__counter{
  background-color:#08131a!important;
  color:#f1fbff!important;
  opacity:1!important;
}
html body .sd-site.ff-site[data-ff-palette] .ff-gallery__item .ff-gallery__open-label{
  background-color:#08131a!important;
  color:#f6fbff!important;
}
html body .sd-site.ff-site[data-ff-palette] .ff-hero .ff-action--outline{
  background:#f1f5f8!important;
  color:#162e3a!important;
}
html body .sd-site.ff-site[data-ff-palette] .ff-hero .ff-action--outline :is(.ff-action__label,.ff-action__symbol,.ff-icon){
  color:#162e3a!important;
}
/* Adapt the dark-hero contrast repair from PR #458 without changing the
   locked stylesheet. Lab's optional night palette is also a dark hero. */
html body .sd-site.ff-site[data-ff-palette]:is([data-ff-variant="night"],[data-ff-variant="racing"],[data-ff-variant="black"], [data-ff-variant="lab"][data-ff-palette="night"]) .ff-hero .ff-action--outline{
  background:#061b21!important;
  color:#edfdf5!important;
  border-color:rgba(159,235,200,.66)!important;
  box-shadow:0 12px 30px rgba(0,0,0,.28)!important;
  opacity:1!important;
}
html body .sd-site.ff-site[data-ff-palette]:is([data-ff-variant="night"],[data-ff-variant="racing"],[data-ff-variant="black"], [data-ff-variant="lab"][data-ff-palette="night"]) .ff-hero .ff-action--outline :is(.ff-action__label,.ff-action__symbol,.ff-icon){
  color:#edfdf5!important;
  opacity:1!important;
}
html body .sd-site.ff-site[data-ff-palette="light"]:not([data-ff-variant="lab"]) .ff-hero :is(h1,.ff-hero__lead,.ff-hero__assurances b),
html body .sd-site.ff-site[data-ff-palette="contrast"]:not([data-ff-variant="lab"]) .ff-hero :is(h1,.ff-hero__lead,.ff-hero__assurances b){
  color:#f7fbff!important;
  opacity:1!important;
}
html body .sd-site.ff-site[data-ff-palette="light"]:not([data-ff-variant="lab"]) .ff-hero .ff-eyebrow,
html body .sd-site.ff-site[data-ff-palette="contrast"]:not([data-ff-variant="lab"]) .ff-hero .ff-eyebrow{
  color:color-mix(in srgb,var(--ff-accent) 35%,#ffffff)!important;
  opacity:1!important;
}
html body .sd-site.ff-site[data-ff-palette="light"]:not([data-ff-variant="lab"]) .ff-about__copy ol strong,
html body .sd-site.ff-site[data-ff-palette="contrast"]:not([data-ff-variant="lab"]) .ff-about__copy ol strong{
  color:#172e3a!important;
}
html body .sd-site.ff-site[data-ff-palette="night"] .ff-about__copy ol li>span{
  color:#c4f7ff!important;
}

/* Daylight Lab has pale hero and service cards; legacy dark-route text rules
   must not turn its actual copy white-on-white. */
html body .sd-site.ff-site[data-ff-variant="lab"][data-ff-palette="signature"] .ff-hero :is(h1,.ff-hero__lead,.ff-hero__assurances b),
html body .sd-site.ff-site[data-ff-variant="lab"][data-ff-palette="signature"] .ff-hero__bottom :is(span,a),
html body .sd-site.ff-site[data-ff-variant="lab"][data-ff-palette="signature"] .ff-services--lab .ff-service__body :is(h3,p){
  color:#172e3a!important;
  opacity:1!important;
}
html body .sd-site.ff-site[data-ff-variant="lab"][data-ff-palette="signature"] .ff-hero .ff-eyebrow{
  color:#af2827!important;
}
html body .sd-site.ff-site[data-ff-variant="lab"][data-ff-palette="signature"] .ff-services--lab .ff-service__link{
  color:#a82422!important;
}
html body .sd-site.ff-site[data-lpi-edition][data-ff-variant="lab"][data-ff-palette="signature"] .ff-about--lab .ff-lab__process :is(li>span,li>strong){
  color:#eef8ff!important;
  opacity:1!important;
}
html body .sd-site.ff-site[data-ff-variant="lab"][data-ff-palette="signature"] .ff-about--lab .ff-action--outline{
  background-color:#f8fafb!important;
  color:#152b38!important;
}
html body .sd-site.ff-site[data-ff-variant="lab"][data-ff-palette="signature"] .ff-about--lab .ff-action--outline .ff-action__label{
  color:#152b38!important;
}
html body .sd-site.ff-site[data-lpi-edition][data-ff-variant="lab"][data-ff-palette="signature"] #kontakt.sd-contact{
  background:#e9eef1!important;
  color:#152b38!important;
}
html body .sd-site.ff-site[data-lpi-edition][data-ff-variant="lab"][data-ff-palette="signature"] #kontakt.sd-contact :is(h2,p,small,.sd-eyebrow,span:not(.ff-icon)){
  color:#152b38!important;
  opacity:1!important;
}
html body .sd-site.ff-site[data-lpi-edition][data-ff-variant="lab"][data-ff-palette="signature"] .ff-services--lab .ff-section__heading .ff-eyebrow,
html body .sd-site.ff-site[data-lpi-edition][data-ff-variant="lab"][data-ff-palette="signature"] .ff-about--lab .ff-eyebrow,
html body .sd-site.ff-site[data-lpi-edition][data-ff-variant="lab"][data-ff-palette="signature"] .ff-gallery--lab .ff-eyebrow{
  color:#ffaaa2!important;
}
html body .sd-site.ff-site[data-lpi-edition][data-ff-variant="lab"][data-ff-palette="signature"] .ff-lab__spec{
  color:#dbeaf1!important;
}

/* Bright accent ink on dark compositions; only the lettering changes. */
html body .sd-site.ff-site[data-ff-variant="racing"][data-ff-palette="signature"] :is(.ff-eyebrow,.ff-service__link){
  color:#ff8795!important;
}
html body .sd-site.ff-site[data-ff-palette="night"] .ff-about__copy ol li>span,
html body .sd-site.ff-site[data-ff-palette="night"] .ff-lab__spec{
  color:#c4f7ff!important;
}


/* Contrast matrix follow-up: the same authored process is displayed over
   light and dark surfaces depending on variant. Treat actual cards, not all text globally. */
html body .sd-site.ff-site[data-ff-palette="light"] .ff-value>span,
html body .sd-site.ff-site[data-ff-palette="contrast"] .ff-value>span{
  color:#172b37!important;opacity:1!important;
}
html body .sd-site.ff-site[data-ff-palette="night"] .ff-value>span{
  color:#e5fbff!important;opacity:1!important;
}
html body .sd-site.ff-site[data-ff-variant="lab"][data-ff-palette="signature"] .ff-value :is(span,strong){
  color:#172b37!important;opacity:1!important;
}
html body .sd-site.ff-site[data-lpi-edition][data-ff-variant="lab"][data-ff-palette="signature"] .sd-brand small{
  color:#ffb3a8!important;opacity:1!important;
}
html body .sd-site.ff-site[data-lpi-edition][data-ff-variant="lab"][data-ff-palette="signature"] .ff-about--lab .ff-about__copy>p{
  color:#deebf1!important;opacity:1!important;
}
html body .sd-site.ff-site[data-lpi-edition][data-ff-variant="lab"][data-ff-palette="signature"] :is(.ff-services--lab,.ff-gallery--lab) .ff-section__heading h2{
  color:#f5f9fb!important;
}
html body .sd-site.ff-site[data-lpi-edition][data-ff-variant="lab"][data-ff-palette="signature"] :is(.ff-services--lab,.ff-gallery--lab) .ff-section__heading>p{
  color:#d8e7ef!important;opacity:1!important;
}
html body .sd-site.ff-site[data-ff-variant="lab"] .ff-hero__bottom span:nth-child(2){
  color:#142b38!important;opacity:1!important;
}
html body .sd-site.ff-site[data-ff-palette="light"] .ff-about--racing .ff-about__copy>h2,
html body .sd-site.ff-site[data-ff-palette="contrast"] .ff-about--racing .ff-about__copy>h2{
  color:#162b38!important;
}
html body .sd-site.ff-site[data-ff-palette="light"] .ff-about--racing .ff-about__copy>p,
html body .sd-site.ff-site[data-ff-palette="contrast"] .ff-about--racing .ff-about__copy>p{
  color:#314b59!important;opacity:1!important;
}
html body .sd-site.ff-site[data-ff-variant="racing"][data-ff-palette="signature"] .ff-gallery--racing .ff-race__track{
  background:#a7182b!important;color:#ffffff!important;
}
html body .sd-site.ff-site[data-ff-variant="racing"][data-ff-palette="signature"] .ff-about__copy ol li>span{
  color:#ffbdc4!important;opacity:1!important;
}
html body .sd-site.ff-site[data-ff-variant="racing"][data-ff-palette="night"] .ff-action--primary{
  background-color:#49e8ff!important;color:#071720!important;
}
html body .sd-site.ff-site[data-ff-variant="racing"][data-ff-palette="night"] .ff-action--primary .ff-action__label{
  color:#071720!important;
}
html body .sd-site.ff-site[data-ff-palette="light"]:not([data-ff-variant="lab"]) .ff-hero__bottom a,
html body .sd-site.ff-site[data-ff-palette="contrast"]:not([data-ff-variant="lab"]) .ff-hero__bottom a{
  color:#f6fbff!important;opacity:1!important;
}
html body .sd-site.ff-site[data-ff-variant="black"][data-ff-palette="light"] .ff-black__signature span:first-child,
html body .sd-site.ff-site[data-ff-variant="black"][data-ff-palette="contrast"] .ff-black__signature span:first-child{
  color:#f5d6a5!important;opacity:1!important;
}
html body .sd-site.ff-site[data-ff-variant="black"][data-ff-palette="light"] .ff-black__roman,
html body .sd-site.ff-site[data-ff-variant="black"][data-ff-palette="contrast"] .ff-black__roman{
  color:#4a3720!important;opacity:1!important;
}


/* Two final measured contrast cases; no cross-sector style changes. */
html body .sd-site.ff-site[data-ff-variant="lab"][data-ff-palette="night"] .ff-hero__bottom span:nth-child(2){
  color:#e9f8ff!important;opacity:1!important;
}
html body .sd-site.ff-site[data-ff-variant="racing"][data-ff-palette="signature"] .sd-brand small{
  color:#ff9da6!important;opacity:1!important;
}


/* The Lab service heading lives in .ff-lab__service-aside (not
   .ff-services--lab). Scope readable copy to its actual dark sections
   without changing the approved pale hero and contact composition. */
html body .sd-site.ff-site[data-lpi-edition][data-ff-variant="lab"][data-ff-palette="signature"] :is(.ff-services,.ff-gallery) .ff-section__heading :is(h2,p){
  color:#e4f1f7!important;opacity:1!important;
}
html body .sd-site.ff-site[data-lpi-edition][data-ff-variant="lab"][data-ff-palette="signature"] .sd-note>h2{
  color:#f3f7f9!important;
}
/* The Lab signature price and FAQ intro share a dark section, unlike its
   pale hero. Limit the correction to text on that section's surface. */
html body .sd-site.ff-site[data-lpi-edition][data-ff-variant="lab"][data-ff-palette="signature"] #sekce-5.sd-note>:is(p,.sd-eyebrow),
html body .sd-site.ff-site[data-lpi-edition][data-ff-variant="lab"][data-ff-palette="signature"] #sekce-5.sd-note .ff-faq__intro :is(h3,p,.ff-eyebrow){
  color:#e4f1f7!important;opacity:1!important;
}

/* Preserve the approved button's drawn dimensions while extending its real
   pointer target to 44px on compact screens. The empty pseudo-element has no
   visible paint and is limited to newly selected native FF designs. */
html body .sd-site.ff-site[data-ff-native-palette] .sd-header-action{
  position:relative;
}
html body .sd-site.ff-site[data-ff-native-palette] .sd-header-action::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:50%;
  min-height:44px;
  transform:translateY(-50%);
}

/* The restored light Lab uses red labels on pale surfaces. Darken only the
   affected ink so the authored composition stays legible. */
html body .sd-site.ff-site[data-ff-native-palette][data-ff-variant="lab"][data-ff-palette="signature"] :is(.sd-brand small,.ff-about--lab .ff-eyebrow,.ff-lab__process li>span,.ff-services--lab .ff-section__heading .ff-eyebrow,.ff-gallery--lab .ff-section__heading .ff-eyebrow){
  color:#af2827!important;
  opacity:1!important;
}
