@font-face{font-family:'Bebas Neue';font-style:normal;font-weight:400;font-display:swap;
src:url(fonts/bebasneue-normal-400-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Bebas Neue';font-style:normal;font-weight:400;font-display:swap;
src:url(fonts/bebasneue-normal-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'DM Sans';font-style:italic;font-weight:300 400;font-display:swap;
src:url(fonts/dmsans-italic-300_400-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'DM Sans';font-style:italic;font-weight:300 400;font-display:swap;
src:url(fonts/dmsans-italic-300_400-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:300 600;font-display:swap;
src:url(fonts/dmsans-normal-300_600-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:300 600;font-display:swap;
src:url(fonts/dmsans-normal-300_600-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
/* ══════════════════════════════════════════════════════════════════════════
   Auditoría 08/09/2026 — correcciones de accesibilidad, contraste y barra fija.
   Cada bloque lleva la sección de AUDITORIA_COMPLETA_2026-09-08.md que lo pide.
   ══════════════════════════════════════════════════════════════════════════ */

/* 2.4 · 241 combinaciones por debajo de AA. 169 eran texto claro con opacidad
   entre .26 y .40 sobre fondo oscuro. El mínimo para 4,5:1 sobre #0E0E0C está
   en torno a .62; se sube a .70 para dejar margen en los grises intermedios. */
body :is(p,span,li,td,div,small,label,figcaption,time,address)[style*="rgba(244,244,239,.2"],
body :is(p,span,li,td,div,small,label,figcaption,time,address)[style*="rgba(244,244,239,.3"],
body :is(p,span,li,td,div,small,label,figcaption,time,address)[style*="rgba(244,244,239,0.2"],
body :is(p,span,li,td,div,small,label,figcaption,time,address)[style*="rgba(244,244,239,0.3"],
body :is(p,span,li,td,div,small,label,figcaption,time,address)[style*="rgba(255,255,255,.2"],
body :is(p,span,li,td,div,small,label,figcaption,time,address)[style*="rgba(255,255,255,.3"]{
  color:rgba(244,244,239,.72)!important;
}
/* Variables de gris del tema: el «grey» apagado no llegaba a 4,5:1 */
body{--grey:#B9B7AE;--dq-muted:#B9B7AE;--muted:#B9B7AE}
body :is(.footer-col,.footer-bottom,.footer-main) :is(a,li,span,p){color:rgba(244,244,239,.78)}
body .footer-col li[style*="rgba(244,244,239,.35)"]{color:rgba(244,244,239,.72)!important}

/* 2.2 · El teléfono se pintaba en gris apagado sobre fondo oscuro. */
body a[href^="tel:"],body a[href^="mailto:"]{color:#F2F1EC}
body a[href^="tel:"]:hover,body a[href^="mailto:"]:hover{color:var(--lime,#C8F169)}

/* 6.2 · El botón de WhatsApp de la barra fija usaba el verde de marca de
   WhatsApp (#25D366) con tinta blanca: 1,98:1. Con la tinta oscura del botón
   de al lado sube por encima de 7:1 y el verde de marca se conserva. */
body .mobile-cta .mcta-wa,body .mobile-cta a[href*="wa.me"]{
  background:#25D366!important;color:#0B2E19!important;font-weight:600!important;
  border-color:#1FAE53!important;
}
body .mobile-cta .mcta-wa svg,body .mobile-cta a[href*="wa.me"] svg{stroke:#0B2E19!important}

/* 6.4 · La barra fija estaba puesta desde el primer píxel y no se retiraba
   nunca: tapaba el H2 en unas páginas y el pie en otras. Ahora aparece pasado
   el primer scroll, se retira sobre el formulario y el pie, y desaparece en
   tablet. El alto se reserva con scroll-padding para que el ancla no quede
   debajo. */
html{scroll-padding-bottom:96px}
body .mobile-cta{
  transition:transform .25s ease,opacity .25s ease;
  will-change:transform;
}
body .mobile-cta[hidden]{display:none!important}
body.dq-cta-oculta .mobile-cta{transform:translateY(120%);opacity:0;pointer-events:none}
@media(min-width:768px){body .mobile-cta{display:none!important}}

/* 6.5 · Un solo skip link, en catalán, y por encima del menú al recibir foco. */
body .skip-link,body a.skip-link,body [class*="skip"]:is(a){
  position:absolute;left:-9999px;top:0;z-index:100000;
}
body .skip-link:focus,body a.skip-link:focus,body [class*="skip"]:is(a):focus{
  left:12px;top:12px;width:auto;height:auto;padding:12px 18px;
  background:#0E0E0C;color:#F4F4EF;border:2px solid var(--lime,#C8F169);
  border-radius:2px;font-size:15px;text-decoration:none;
}
body .dq-skip-dup{display:none!important}

/* 6.6 · Cuerpo a 16 px y etiquetas nunca por debajo de 12 px. */
body{font-size:16px}
body :is(p,li,td,dd,blockquote){font-size:max(1em,16px)}
body :is(.eyebrow,.section-label,.label,.legal-label,.post-date,.post-read,
         .fgroup-meta,.dq-legend,.trust-item small,figcaption){font-size:12px!important}
body :is(span,small,div)[style*="font-size:11px"],
body :is(span,small,div)[style*="font-size: 11px"],
body :is(span,small,div)[style*="font-size:10px"]{font-size:12px!important}

/* 6.7 · La casilla de consentimiento medía 13 × 13 px y es obligatoria para
   convertir. WCAG 2.5.8 pide 24 × 24. */
body input[type=checkbox],body input[type=radio]{
  width:24px!important;height:24px!important;min-width:24px;min-height:24px;
  accent-color:var(--lime,#C8F169);cursor:pointer;
}
body label:has(> input[type=checkbox]),body .dq-consent,body .dq-nl-consent{
  display:flex;gap:10px;align-items:flex-start;line-height:1.5;
}

/* 6.10 · Desbordamiento de 37 px a 320 px en la página de adultos. */
@media(max-width:360px){
  body :is(main,section,.container,.wrap){max-width:100%;overflow-wrap:anywhere}
  body :is(table,pre,code){display:block;max-width:100%;overflow-x:auto}
  body .preu-card,body .fgroup-card,body .format-group{min-width:0}
}

/* 6.12 · Un solo acordeón en todo el sitio: <details> nativo, todos cerrados
   al cargar y solo uno abierto a la vez (lo aplica site.js). */
body details > summary{cursor:pointer;list-style:none;min-height:44px;display:flex;
  align-items:center;justify-content:space-between;gap:12px}
body details > summary::-webkit-details-marker{display:none}

/* 5.4 · Fachada del mapa: 20 KB en vez de los 446 KB de Google Maps, y ningún
   tercero recibe la IP del visitante hasta que el usuario decide abrirlo. */
.dq-map-facade{position:relative;display:block;width:100%;aspect-ratio:16/9;
  border:1px solid rgba(244,244,239,.14);border-radius:2px;overflow:hidden;
  background:#12140F;text-decoration:none;color:#F4F4EF}
.dq-map-facade .dq-map-inner{position:absolute;inset:0;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:10px;text-align:center;padding:24px}
.dq-map-facade b{font-family:"Bebas Neue","Arial Narrow",sans-serif;font-size:26px;letter-spacing:.04em}
.dq-map-facade span{font-size:14px;color:rgba(244,244,239,.78);max-width:34ch}
.dq-map-facade em{font-style:normal;margin-top:6px;display:inline-block;padding:11px 20px;
  min-height:44px;line-height:22px;border:1px solid var(--lime,#C8F169);color:var(--lime,#C8F169);
  border-radius:2px;font-size:14px;letter-spacing:.04em}
.dq-map-facade:hover em{background:var(--lime,#C8F169);color:#12140F}

/* 1.9 · LSSI art. 10.1.f: todo precio publicado tiene que decir si lleva
   impuestos. Se inyecta en cada página que muestre importes. */
.dq-vat-note{margin:18px auto 0;max-width:1200px;padding:10px 20px;font-size:13px;
  color:rgba(244,244,239,.78);border-top:1px solid rgba(244,244,239,.12)}
/* Scoped overrides. The page's original content and noindex remain intact. */
body.page-id-622 main.legal-page,
body.page-id-632 main.legal-page {
  box-sizing: border-box;
  width: calc(100% - 48px) !important;
  max-width: 820px !important;
  margin: 0 auto !important;
  padding: 56px 0 72px !important;
}
body.page-id-630 main:not(:has(main)) {
  box-sizing: border-box;
  width: calc(100% - 48px) !important;
  max-width: 820px !important;
  margin: 0 auto !important;
  padding: 56px 0 72px !important;
}
body.page-id-630 main p { max-width: 62ch; }
body.page-id-634 .trust-item, body.page-id-634 .trust-text,
body.page-id-634 .valor-card { min-width: 0; overflow-wrap: anywhere; }
body.page-id-634 .valors-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
@media(max-width:900px) { body.page-id-634 .valors-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) {
  body.page-id-634 #trust-bar { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  body.page-id-634 .trust-item { padding: 24px 12px !important; gap: 8px !important; }
  body.page-id-634 .valors-grid, body.page-id-634 .valores-grid { grid-template-columns: 1fr !important; }
}
@media(max-width:360px) {
  body.page-id-634 #trust-bar { grid-template-columns: 1fr !important; }
}
body.page-id-624 .post-date, body.page-id-624 .post-read { color:#bbc4cb !important; font-size:12px; }
body.page-id-624 .post-excerpt { color:#c1c9ce !important; }
body.page-id-624 .post-placeholder-label { color:#acb5bc !important; }
body.page-id-624 .post-title { opacity:1 !important; }
body.page-id-624 #posts-grid { scroll-margin-top:110px; }
body.page-id-624 .cat-btn { min-height:44px; }
body.page-id-624 .post-card.is-soon { border:1px solid rgba(244,244,239,.14); }
.dq-upcoming { grid-column:1/-1; margin-top:24px; }
.dq-upcoming > summary { cursor:pointer; color:#f4f4ef; padding:18px 0; font-size:18px; border-top:1px solid #566572; }
.dq-upcoming-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; padding-top:20px; }
@media(max-width:900px) { .dq-upcoming-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .dq-upcoming-grid { grid-template-columns:1fr; } }
.dq-field-label { display:block; margin:0 0 6px; color:#d0d6d9; font-size:13px; }
.dq-nl-consent { display:flex; align-items:flex-start; gap:9px; margin-top:14px; color:#c1c9ce; font-size:13px; line-height:1.6; }
.dq-nl-consent input { flex:0 0 auto; margin-top:5px; }
.dq-nl-consent a { color:inherit; text-decoration:underline; }
.dq-nl-status { min-height:1.6em; color:#f4f4ef; font-size:14px; margin:12px 0 0; }
.dq-nl-honeypot { position:absolute!important; width:1px!important; height:1px!important; overflow:hidden!important; clip-path:inset(50%); }
.dq-price-summary { margin:0 0 16px; color:#f4f4ef; }
.dq-price-summary a { color:inherit; text-decoration:underline; }
.dq-price-summary strong { display:block; font-size:22px; margin-top:6px; }
body :is(a,button,input,select,textarea,summary):focus-visible { outline:2px solid #e0e8b2!important; outline-offset:4px; }
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto!important; }
  body .reveal, body .dq-reveal { opacity:1!important; transform:none!important; transition:none!important; }
}


/* 5.2 / 5.3 · Las nueve imágenes de hero eran fondos CSS: sin srcset, sin lazy
   y sin preload, el de la home viajaba entero (1600 px, 388 KB) a un móvil de
   390 px. image-set() elige por densidad lo que srcset haría en una <img>, y la
   url() previa queda de reserva para quien no lo soporte. */
@media(max-width:900px){
  body.page-id-621 .hero-bg{
    background-image:url(https://padeldavidquintin.com/wp-content/uploads/2026/09/hero-home-2026-800.webp)!important;
    background-image:image-set(url(https://padeldavidquintin.com/wp-content/uploads/2026/09/hero-home-2026-800.webp) 1x, url(https://padeldavidquintin.com/wp-content/uploads/2026/09/hero-home-2026-1200.webp) 2x)!important;
  }
}
@media(min-width:901px){
  body.page-id-621 .hero-bg{
    background-image:url(https://padeldavidquintin.com/wp-content/uploads/2026/09/hero-home-2026-1200.webp)!important;
    background-image:image-set(url(https://padeldavidquintin.com/wp-content/uploads/2026/09/hero-home-2026-1200.webp) 1x, url(https://padeldavidquintin.com/wp-content/uploads/2026/09/hero-home-2026-1600.webp) 2x)!important;
  }
}
@media(max-width:900px){
  body.page-id-626 .hero-bg{
    background-image:url(https://padeldavidquintin.com/wp-content/uploads/2026/09/hero-classes-padel-nens-manresa-2026-800.webp)!important;
    background-image:image-set(url(https://padeldavidquintin.com/wp-content/uploads/2026/09/hero-classes-padel-nens-manresa-2026-800.webp) 1x, url(https://padeldavidquintin.com/wp-content/uploads/2026/09/hero-classes-padel-nens-manresa-2026-1200.webp) 2x)!important;
  }
}
@media(min-width:901px){
  body.page-id-626 .hero-bg{
    background-image:url(https://padeldavidquintin.com/wp-content/uploads/2026/09/hero-classes-padel-nens-manresa-2026-1200.webp)!important;
    background-image:image-set(url(https://padeldavidquintin.com/wp-content/uploads/2026/09/hero-classes-padel-nens-manresa-2026-1200.webp) 1x, url(https://padeldavidquintin.com/wp-content/uploads/2026/09/hero-classes-padel-nens-manresa-2026-1600.webp) 2x)!important;
  }
}
@media(max-width:900px){
  body.page-id-634 .hero-bg{
    background-image:url(https://padeldavidquintin.com/wp-content/uploads/2026/09/hero-team-building-padel-manresa-2026-800.webp)!important;
    background-image:image-set(url(https://padeldavidquintin.com/wp-content/uploads/2026/09/hero-team-building-padel-manresa-2026-800.webp) 1x, url(https://padeldavidquintin.com/wp-content/uploads/2026/09/hero-team-building-padel-manresa-2026-1200.webp) 2x)!important;
  }
}
@media(min-width:901px){
  body.page-id-634 .hero-bg{
    background-image:url(https://padeldavidquintin.com/wp-content/uploads/2026/09/hero-team-building-padel-manresa-2026-1200.webp)!important;
    background-image:image-set(url(https://padeldavidquintin.com/wp-content/uploads/2026/09/hero-team-building-padel-manresa-2026-1200.webp) 1x, url(https://padeldavidquintin.com/wp-content/uploads/2026/09/hero-team-building-padel-manresa-2026-1600.webp) 2x)!important;
  }
}
@media(max-width:900px){
  body.page-id-628 .hero-bg{
    background-image:url(https://padeldavidquintin.com/wp-content/uploads/2026/09/hero-escola-base-2026-opt-800.webp)!important;
    background-image:image-set(url(https://padeldavidquintin.com/wp-content/uploads/2026/09/hero-escola-base-2026-opt-800.webp) 1x, url(https://padeldavidquintin.com/wp-content/uploads/2026/09/hero-escola-base-2026-opt-1200.webp) 2x)!important;
  }
}
@media(min-width:901px){
  body.page-id-628 .hero-bg{
    background-image:url(https://padeldavidquintin.com/wp-content/uploads/2026/09/hero-escola-base-2026-opt-1200.webp)!important;
    background-image:image-set(url(https://padeldavidquintin.com/wp-content/uploads/2026/09/hero-escola-base-2026-opt-1200.webp) 1x, url(https://padeldavidquintin.com/wp-content/uploads/2026/09/hero-escola-base-2026-opt-1600.webp) 2x)!important;
  }
}
@media(max-width:900px){
  body.page-id-629 .hero-bg{
    background-image:url(https://padeldavidquintin.com/wp-content/uploads/2026/09/hero-escola-competicio-2026-opt-800.webp)!important;
    background-image:image-set(url(https://padeldavidquintin.com/wp-content/uploads/2026/09/hero-escola-competicio-2026-opt-800.webp) 1x, url(https://padeldavidquintin.com/wp-content/uploads/2026/09/hero-escola-competicio-2026-opt-1200.webp) 2x)!important;
  }
}
@media(min-width:901px){
  body.page-id-629 .hero-bg{
    background-image:url(https://padeldavidquintin.com/wp-content/uploads/2026/09/hero-escola-competicio-2026-opt-1200.webp)!important;
    background-image:image-set(url(https://padeldavidquintin.com/wp-content/uploads/2026/09/hero-escola-competicio-2026-opt-1200.webp) 1x, url(https://padeldavidquintin.com/wp-content/uploads/2026/09/hero-escola-competicio-2026-opt-1600.webp) 2x)!important;
  }
}
@media(max-width:900px){
  body.page-id-625 .hero-bg{
    background-image:url(https://padeldavidquintin.com/wp-content/uploads/2026/09/hero-adults-david-2026-opt-800.webp)!important;
    background-image:image-set(url(https://padeldavidquintin.com/wp-content/uploads/2026/09/hero-adults-david-2026-opt-800.webp) 1x, url(https://padeldavidquintin.com/wp-content/uploads/2026/09/hero-adults-david-2026-opt-1200.webp) 2x)!important;
  }
}
@media(min-width:901px){
  body.page-id-625 .hero-bg{
    background-image:url(https://padeldavidquintin.com/wp-content/uploads/2026/09/hero-adults-david-2026-opt-1200.webp)!important;
    background-image:image-set(url(https://padeldavidquintin.com/wp-content/uploads/2026/09/hero-adults-david-2026-opt-1200.webp) 1x, url(https://padeldavidquintin.com/wp-content/uploads/2026/09/hero-adults-david-2026-opt-1600.webp) 2x)!important;
  }
}
@media(max-width:900px){
  body.page-id-627 .hero-bg{
    background-image:url(https://padeldavidquintin.com/wp-content/uploads/2026/09/hero-particulars-david-2026-opt-800.webp)!important;
    background-image:image-set(url(https://padeldavidquintin.com/wp-content/uploads/2026/09/hero-particulars-david-2026-opt-800.webp) 1x, url(https://padeldavidquintin.com/wp-content/uploads/2026/09/hero-particulars-david-2026-opt-1200.webp) 2x)!important;
  }
}
@media(min-width:901px){
  body.page-id-627 .hero-bg{
    background-image:url(https://padeldavidquintin.com/wp-content/uploads/2026/09/hero-particulars-david-2026-opt-1200.webp)!important;
    background-image:image-set(url(https://padeldavidquintin.com/wp-content/uploads/2026/09/hero-particulars-david-2026-opt-1200.webp) 1x, url(https://padeldavidquintin.com/wp-content/uploads/2026/09/hero-particulars-david-2026-opt-1600.webp) 2x)!important;
  }
}
body.page-id-633 .hero-bg{background-image:url(https://padeldavidquintin.com/wp-content/uploads/2026/09/comunitat-padel-2026-800.webp)!important}
body.page-id-631 .hero-bg{background-image:url(https://padeldavidquintin.com/wp-content/uploads/2026/09/hero-deportes-1-800.webp)!important}
/* Las tarjetas y el fondo de sección llevan el fondo en un style= inline,
   así que el selector va por atributo y necesita !important. */
/* Se pinta en una tarjeta de 390 x 360 px con una capa oscura encima: 500 px de
   ancho bastan a cualquier densidad y ahorran 118 KB frente a la variante de 700. */
[style*="pista-pilotes-2026"]{background-image:url(https://padeldavidquintin.com/wp-content/uploads/2026/09/pista-pilotes-2026-500.webp)!important}
@media(max-width:900px){
  [style*="card-escola-base-2026"]{
    background-image:url(https://padeldavidquintin.com/wp-content/uploads/2026/09/card-escola-base-2026-500.webp)!important;
    background-image:image-set(url(https://padeldavidquintin.com/wp-content/uploads/2026/09/card-escola-base-2026-500.webp) 1x, url(https://padeldavidquintin.com/wp-content/uploads/2026/09/card-escola-base-2026-700.webp) 2x)!important;
  }
}
@media(min-width:901px){
  [style*="card-escola-base-2026"]{
    background-image:url(https://padeldavidquintin.com/wp-content/uploads/2026/09/card-escola-base-2026-700.webp)!important;
    background-image:image-set(url(https://padeldavidquintin.com/wp-content/uploads/2026/09/card-escola-base-2026-700.webp) 1x, url(https://padeldavidquintin.com/wp-content/uploads/2026/09/card-escola-base-2026-800.webp) 2x)!important;
  }
}
@media(max-width:900px){
  [style*="card-particulars-2026-opt"]{
    background-image:url(https://padeldavidquintin.com/wp-content/uploads/2026/09/card-particulars-2026-opt-500.webp)!important;
    background-image:image-set(url(https://padeldavidquintin.com/wp-content/uploads/2026/09/card-particulars-2026-opt-500.webp) 1x, url(https://padeldavidquintin.com/wp-content/uploads/2026/09/card-particulars-2026-opt-700.webp) 2x)!important;
  }
}
@media(min-width:901px){
  [style*="card-particulars-2026-opt"]{
    background-image:url(https://padeldavidquintin.com/wp-content/uploads/2026/09/card-particulars-2026-opt-700.webp)!important;
    background-image:image-set(url(https://padeldavidquintin.com/wp-content/uploads/2026/09/card-particulars-2026-opt-700.webp) 1x, url(https://padeldavidquintin.com/wp-content/uploads/2026/09/card-particulars-2026-opt-800.webp) 2x)!important;
  }
}
@media(max-width:900px){
  [style*="card-competicio-2026-opt"]{
    background-image:url(https://padeldavidquintin.com/wp-content/uploads/2026/09/card-competicio-2026-opt-500.webp)!important;
    background-image:image-set(url(https://padeldavidquintin.com/wp-content/uploads/2026/09/card-competicio-2026-opt-500.webp) 1x, url(https://padeldavidquintin.com/wp-content/uploads/2026/09/card-competicio-2026-opt-700.webp) 2x)!important;
  }
}
@media(min-width:901px){
  [style*="card-competicio-2026-opt"]{
    background-image:url(https://padeldavidquintin.com/wp-content/uploads/2026/09/card-competicio-2026-opt-700.webp)!important;
    background-image:image-set(url(https://padeldavidquintin.com/wp-content/uploads/2026/09/card-competicio-2026-opt-700.webp) 1x, url(https://padeldavidquintin.com/wp-content/uploads/2026/09/card-competicio-2026-opt-800.webp) 2x)!important;
  }
}

/* 7.2 · Las secciones de debajo del pliegue seguían descargando sus fondos a la
   vez que el hero, y en 4G lenta compiten por el mismo ancho de banda. Un fondo
   CSS no admite loading="lazy"; content-visibility hace el equivalente: el
   navegador no pinta —ni pide— lo que aún no se acerca a la pantalla.
   contain-intrinsic-size reserva un alto plausible para que no salte el scroll. */
@media(max-width:900px){
  .entry-content > *:nth-child(n+4){
    content-visibility:auto;
    contain-intrinsic-size:auto 700px;
  }
}

/* ── Auditoría del 10/09/2026, tras la migración ─────────────────────────────
   6.4 · Las reglas de contraste del pie apuntaban a .footer-col, .footer-bottom
   y .footer-main. El marcado real usa .dq-footer-col, .dq-footer-bottom y
   .dq-footer-main: nunca casaron. Medido en la página viva, los enlaces del pie
   daban 3,32:1 y el copyright 2,25:1 sobre #131f28.
   Alfa mínimo para AA sobre ese fondo: 0,481. Se usa 0,60 (6,24:1) para dejar
   margen sin aplanar la jerarquía, que es lo que pasa al subir todo a 1. */
body :is(.dq-footer-col,.dq-footer-bottom,.dq-footer-main) :is(a,li,span,p,small){
  color:rgba(244,244,239,.60)!important}
/* Los titulos de columna del pie heredaban el negro por defecto del tema sobre
   el fondo #131f28: 1,25:1, practicamente invisibles. Van a tinta plena. */
body :is(.dq-footer-col,.dq-footer-main,.dq-footer-bottom) :is(h2,h3,h4,strong,b){
  color:#F4F4EF!important}
body .dq-footer-bottom,body .dq-footer-bottom span,body .dq-footer-bottom small{
  color:rgba(244,244,239,.60)!important}

/* 6.5 · El botón de WhatsApp del cuerpo se quedó fuera del arreglo 6.2, que
   solo cubría el de la barra fija. Blanco sobre el verde de marca: 1,98:1.
   Con la misma tinta oscura del otro botón: 7,46:1. */
body a.btn-whatsapp,body a.btn-whatsapp:visited{
  color:#0B2E19!important;font-weight:600!important}
body a.btn-whatsapp svg{stroke:#0B2E19!important}

/* 6.6 · Texto secundario del cuerpo por debajo de AA. Todas estas clases usan
   la misma tinta rgba(244,244,239,α) con α entre 0,35 y 0,50 sobre #243444 o
   #1a2b36. Medido en la página viva: td 4,13 · .base-val 2,79 · .seg-desc 4,13
   · .base-col 3,64 · .valor-desc 4,44 · .stat-label 4,44 · .nl-alt 3,20.
   El alfa mínimo para 4,5:1 sobre el fondo más claro de los dos es 0,535; se
   usa 0,66 (≈6:1) para tener margen sin igualarlo al texto principal, que va a
   opacidad 1 y tiene que seguir destacando. */
body :is(.stat-label,.valor-desc,.seg-desc,.base-val,.base-col,.post-excerpt,.nl-alt,.vo-desc,.cmp-table td,.base-table td){
  color:rgba(244,244,239,.66)!important}

/* 6.7 · El verde de marca sobre la tarjeta clara (--card, #2b3f50) da 4,01:1 en
   textos de 12 px. Sobre el fondo base (#1a2b36) da 5,36 y pasa, asi que no se
   toca la variable: se aclara un 7 % solo dentro de la tarjeta. rgb(166,171,137)
   da 4,56 ahi. Se apunta por el atributo style porque el color y el fondo son
   variables CSS y no hay clase que los distinga. */
body [style*="background:var(--card)"] [style*="color:var(--lime)"]{
  color:rgb(166,171,137)!important}
