/* Organic SFG - Accessibility Fixer */
html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

.organic-a11y-skip-target {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

.organic-a11y-skip-target:focus,
.wd-skip-navigation:focus,
a[href="#organic-main-content"]:focus {
  position: fixed !important;
  z-index: 999999 !important;
  top: 12px !important;
  left: 12px !important;
  width: auto !important;
  height: auto !important;
  padding: 14px 18px !important;
  background: #000 !important;
  color: #fff !important;
  outline: 3px solid #fff !important;
  outline-offset: 2px !important;
  overflow: visible !important;
  border-radius: 4px !important;
  text-decoration: none !important;
}

/* Fuerza tamaño táctil mínimo recomendado por Lighthouse. */
a.tr_active,
a[href="/?lang=ca"],
a[href="/?lang=fr"],
a[href="/?lang=en"],
a[href="/"],
.wd-nav a,
.nav-link,
.lang-item a,
[class*="trp-language"] a,
[class*="translate"] a {
  min-width: 48px !important;
  min-height: 48px !important;
  padding: 12px 14px !important;
  margin: 4px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1.25 !important;
  box-sizing: border-box !important;
}

/* Contraste reforzado en textos detectados por PageSpeed. */
p,
.wpb_text_column p,
.vc_row p,
.vc_section p,
.footer_food_delivery p,
.vc_row-has-fill p,
.vc_section-has-fill p,
.wd-rs-689475ec28697 p,
.wd-rs-689475ec28697 span,
.wd-rs-689475ec28697 a,
.footer_food_delivery,
.footer_food_delivery p,
.footer_food_delivery a,
.footer_food_delivery span,
.nav-link-text {
  color: #111111 !important;
  opacity: 1 !important;
  text-shadow: none !important;
}

/* En fondos oscuros o con imagen: coloca una capa clara para mejorar contraste sin tocar contenido. */
.vc_row-has-fill,
.vc_section-has-fill,
.footer_food_delivery,
.wd-rs-689475ec28697 {
  position: relative !important;
}

.vc_row-has-fill::before,
.vc_section-has-fill::before,
.footer_food_delivery::before,
.wd-rs-689475ec28697::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: rgba(255,255,255,0.86) !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

.vc_row-has-fill > *,
.vc_section-has-fill > *,
.footer_food_delivery > *,
.wd-rs-689475ec28697 > * {
  position: relative !important;
  z-index: 1 !important;
}

/* Contraste claro para enlaces legales/footer. */
a,
a span,
.nav-link-text {
  text-decoration-thickness: 1px !important;
  text-underline-offset: 3px !important;
}

.wd-rs-689475ec28697 a,
.footer_food_delivery a,
a[href*="aviso"],
a[href*="cookies"],
a[href*="accesibilidad"] {
  color: #000000 !important;
  font-weight: 700 !important;
  text-decoration: underline !important;
}

/* Foco visible global. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
  outline: 3px solid #000 !important;
  outline-offset: 3px !important;
}
