/* ---------- Físicas · las cuatro pruebas ---------- */
.opr-fp-cabeza{margin-bottom:clamp(26px,3vw,40px) !important}
.opr-fp-cabeza .opr-h2{max-width:20ch !important}

/* --- rueda de pruebas --- */
.opr-fp-rueda{position:relative !important; height:clamp(438px,47vw,474px) !important; perspective:1500px !important; overflow:hidden !important;
  touch-action:pan-y !important; cursor:grab !important; -webkit-user-select:none !important; user-select:none !important;
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent) !important;
  mask-image:linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent) !important}
.opr-fp-rueda:active{cursor:grabbing !important}

.opr-fp-tarjeta{position:absolute !important; left:50% !important; top:50% !important; width:min(92%,470px) !important; height:100% !important;
  display:flex !important; flex-direction:column !important; padding:26px 28px 24px !important;
  border-radius:var(--radio) !important; background:var(--superficie) !important;
  box-shadow:inset 0 0 0 1px var(--borde), 0 26px 54px -30px rgba(18,23,28,.42) !important;
  transform-origin:50% 50% !important;
  transform:translate(-50%,-50%)
            translateX(calc(var(--d) * 46%))
            translateZ(calc(var(--d) * var(--d) * -170px))
            rotateY(calc(var(--d) * -14deg))
            scale(calc(1 - 0.07 * (var(--d) * var(--d)))) !important;
  opacity:.3 !important; z-index:1 !important; cursor:pointer !important; overflow:hidden !important;
  transition:transform .52s cubic-bezier(.32,.72,.16,1), opacity .4s ease, box-shadow .4s ease !important}
.opr-fp-tarjeta.es-centro{opacity:1 !important; z-index:5 !important; cursor:default !important;
  box-shadow:inset 0 0 0 1px var(--borde2), 0 34px 64px -28px rgba(18,23,28,.44) !important}

.opr-fp-cab{display:flex !important; align-items:flex-start !important; gap:14px !important; padding-bottom:16px !important;
  margin-bottom:16px !important; border-bottom:1px solid var(--borde) !important}
.opr-fp-num{flex:none !important; width:46px !important; height:46px !important; border-radius:13px !important; background:var(--p950) !important; color:#fff !important;
  display:grid !important; place-items:center !important; font-size:1rem !important; font-weight:800 !important; font-variant-numeric:tabular-nums !important}
.opr-fp-cab b{display:block !important; font-size:1.25rem !important; font-weight:800 !important; letter-spacing:-.024em !important; line-height:1.14 !important}
.opr-fp-cab i{display:block !important; margin-top:4px !important; font-size:.84375rem !important; font-weight:500 !important; color:var(--tenue) !important;
  line-height:1.4 !important; text-wrap:pretty !important}

.opr-fp-filas{display:flex !important; flex-direction:column !important; gap:13px !important; flex:1 !important}
.opr-fp-fila{display:flex !important; flex-direction:column !important; gap:3px !important}
.opr-fp-fila > b{font-size:.75rem !important; font-weight:700 !important; color:var(--p500) !important}
.opr-fp-fila > span{font-size:.90625rem !important; line-height:1.45 !important; color:var(--suave) !important; text-wrap:pretty !important}

/* las dos marcas que de verdad se buscan: la del 20 y la del corte. Van las
   dos columnas del Anexo II a la vez, porque el baremo no es el mismo. */
.opr-fp-baremo{margin-top:14px !important; display:flex !important; flex-direction:column !important; gap:6px !important}
.opr-fp-baremo-fila{display:grid !important; grid-template-columns:auto minmax(0,1fr) minmax(0,1fr) !important;
  align-items:baseline !important; gap:10px !important; padding:8px 12px !important; border-radius:9px !important;
  background:var(--p50) !important; box-shadow:inset 0 0 0 1px var(--borde) !important}
.opr-fp-baremo-fila > b{font-size:.71875rem !important; font-weight:700 !important; color:var(--p500) !important; white-space:nowrap !important}
.opr-fp-baremo-fila > span{font-size:.875rem !important; font-weight:700 !important; letter-spacing:-.015em !important;
  font-variant-numeric:tabular-nums !important; text-align:right !important}
.opr-fp-baremo-fila i{display:block !important; margin-top:1px !important; font-size:.6875rem !important; font-weight:500 !important; color:var(--tenue) !important}

.opr-fp-eco{margin-top:16px !important; padding-top:14px !important; border-top:1px solid var(--borde) !important;
  display:flex !important; align-items:center !important; gap:9px !important; font-size:.8125rem !important; font-weight:600 !important; color:var(--tenue) !important}
.opr-fp-eco svg{width:15px !important; height:15px !important; flex:none !important}

.opr-fp-mandos{display:flex !important; align-items:center !important; justify-content:center !important; gap:14px !important; margin-top:18px !important}
.opr-fp-flecha{width:40px !important; height:40px !important; border-radius:999px !important; display:grid !important; place-items:center !important;
  color:var(--suave) !important; box-shadow:inset 0 0 0 1.5px var(--borde) !important; transition:all .16s ease !important}
.opr-fp-flecha:hover{color:var(--tinta) !important; background:var(--p50) !important; box-shadow:inset 0 0 0 1.5px var(--borde2) !important}
.opr-fp-flecha svg{width:16px !important; height:16px !important}
.opr-fp-puntos{display:flex !important; gap:7px !important}
.opr-fp-punto{width:9px !important; height:9px !important; border-radius:999px !important; background:var(--p200) !important; transition:all .24s ease !important}
.opr-fp-punto:hover{background:var(--p400) !important}
.opr-fp-punto[aria-selected="true"]{width:26px !important; background:var(--p950) !important}

/* --- simulador del corte --- */
.opr-fp-corte{display:grid !important; grid-template-columns:minmax(0,1fr) minmax(0,.82fr) !important;
  gap:clamp(24px,3vw,46px) !important; margin-top:clamp(30px,3.6vw,46px) !important;
  padding:clamp(24px,2.8vw,34px) !important; box-shadow:var(--sombra) !important}
.opr-fp-corte-sub{margin-top:9px !important; font-size:.9375rem !important; color:var(--suave) !important; max-width:46ch !important; text-wrap:pretty !important}

.opr-fp-mandos-lista{display:flex !important; flex-direction:column !important; gap:14px !important; margin-top:22px !important}
.opr-fp-mando{display:flex !important; flex-direction:column !important; gap:5px !important}
.opr-fp-mando-etq{display:flex !important; align-items:baseline !important; justify-content:space-between !important; gap:12px !important; cursor:pointer !important}
.opr-fp-mando-etq span{font-size:.875rem !important; font-weight:600 !important; letter-spacing:-.01em !important}
.opr-fp-mando-etq b{font-size:1.05rem !important; font-weight:800 !important; letter-spacing:-.03em !important; font-variant-numeric:tabular-nums !important}
.opr-fp-mando.es-bajo .opr-fp-mando-etq b{color:var(--no600) !important}
.opr-fp-mando-pie{display:flex !important; justify-content:space-between !important; font-size:.71875rem !important; color:var(--tenue) !important;
  font-variant-numeric:tabular-nums !important}

.opr-fp input[type=range]{width:100% !important; height:22px !important; background:transparent !important; cursor:pointer !important; display:block !important}
.opr-fp input[type=range]::-webkit-slider-runnable-track{height:6px !important; border-radius:999px !important; background:var(--p200) !important}
.opr-fp input[type=range]::-moz-range-track{height:6px !important; border-radius:999px !important; background:var(--p200) !important}
.opr-fp input[type=range]::-webkit-slider-thumb{-webkit-appearance:none !important; width:22px !important; height:22px !important;
  margin-top:-8px !important; border-radius:999px !important; background:var(--p950) !important;
  box-shadow:0 0 0 3px var(--superficie), 0 3px 8px rgba(18,23,28,.28) !important; transition:transform .12s ease !important}
.opr-fp input[type=range]::-moz-range-thumb{width:22px !important; height:22px !important; border:0 !important; border-radius:999px !important;
  background:var(--p950) !important; box-shadow:0 0 0 3px var(--superficie), 0 3px 8px rgba(18,23,28,.28) !important}
.opr-fp input[type=range]:active::-webkit-slider-thumb{transform:scale(1.08) !important}
.opr-fp-mando.es-bajo input[type=range]::-webkit-slider-thumb{background:var(--no600) !important}
.opr-fp-mando.es-bajo input[type=range]::-moz-range-thumb{background:var(--no600) !important}

/* el segmentado decide qué columna del baremo se aplica */
.opr-fp-sexo{margin-top:20px !important}

.opr-fp-mando-peso{font-weight:500 !important; color:var(--tenue) !important}
.opr-fp-mando-lim{color:var(--tenue) !important}
.opr-fp-mando-pts{font-weight:700 !important; color:var(--tinta) !important}
.opr-fp-mando.es-bajo .opr-fp-mando-pts{color:var(--no600) !important}

.opr-fp-legal{margin-top:20px !important; max-width:56ch !important}

.opr-fp-corte-der{display:flex !important; flex-direction:column !important; justify-content:center !important;
  padding:clamp(20px,2.4vw,26px) !important; border-radius:var(--radio) !important; background:var(--p50) !important;
  box-shadow:inset 0 0 0 1px var(--borde) !important}
.opr-fp-marcador{display:flex !important; align-items:baseline !important; gap:8px !important}
.opr-fp-marcador b{font-size:3rem !important; font-weight:800 !important; line-height:1 !important; letter-spacing:-.045em !important}
.opr-fp-marcador span{font-size:.875rem !important; font-weight:600 !important; color:var(--tenue) !important}

.opr-fp-aguja{position:relative !important; height:10px !important; margin-top:16px !important; border-radius:999px !important; background:var(--p200) !important}
.opr-fp-aguja i{display:block !important; height:100% !important; border-radius:999px !important; background:var(--p950) !important;
  transition:width .32s cubic-bezier(.4,0,.2,1), background .24s ease !important}
/* la marca de los 40 puntos, siempre por encima del relleno */
.opr-fp-aguja u{position:absolute !important; top:-4px !important; bottom:-4px !important; left:50% !important; width:2px !important; z-index:2 !important;
  background:var(--p50) !important; box-shadow:0 0 0 1px rgba(18,23,28,.28) !important}
.opr-fp-aguja u::after{content:'corte 40' !important; position:absolute !important; top:13px !important; left:50% !important; transform:translateX(-50%) !important;
  white-space:nowrap !important; font-size:.6875rem !important; font-weight:700 !important; color:var(--tenue) !important; font-variant-numeric:tabular-nums !important}

.opr-fp-reglas{display:flex !important; flex-direction:column !important; gap:10px !important; margin-top:34px !important}
.opr-fp-regla{display:flex !important; align-items:flex-start !important; gap:11px !important; padding:12px 14px !important; border-radius:var(--radio-s) !important;
  background:var(--superficie) !important; box-shadow:inset 0 0 0 1px var(--borde) !important; transition:box-shadow .2s ease, background .2s ease !important}
.opr-fp-regla-ic{flex:none !important; width:18px !important; height:18px !important; margin-top:2px !important; border-radius:999px !important;
  background:var(--p300) !important; transition:background .2s ease !important}
.opr-fp-regla b{display:block !important; font-size:.875rem !important; font-weight:700 !important; letter-spacing:-.012em !important}
.opr-fp-regla i{display:block !important; margin-top:2px !important; font-size:.8125rem !important; line-height:1.4 !important; color:var(--tenue) !important}
.opr-fp-regla.es-ok{background:var(--ok100) !important; box-shadow:inset 0 0 0 1px var(--ok600) !important}
.opr-fp-regla.es-ok .opr-fp-regla-ic{background:var(--ok600) !important}
.opr-fp-regla.es-ok b,.opr-fp-regla.es-ok i{color:var(--ok900) !important}
.opr-fp-regla.es-no{background:var(--no100) !important; box-shadow:inset 0 0 0 1px var(--no600) !important}
.opr-fp-regla.es-no .opr-fp-regla-ic{background:var(--no600) !important}
.opr-fp-regla.es-no b,.opr-fp-regla.es-no i{color:var(--no900) !important}

.opr-fp-veredicto{margin-top:18px !important; font-size:.9375rem !important; line-height:1.5 !important; color:var(--suave) !important; text-wrap:pretty !important}
.opr-fp-cta{margin-top:18px !important; width:100% !important; padding:13px 20px !important; font-size:.9375rem !important}

@media (max-width:960px){
  .opr-fp-corte{grid-template-columns:1fr !important; gap:26px !important}
  .opr-fp-rueda{height:clamp(470px,80vw,506px) !important}
}
@media (max-width:760px){
  .opr-fp-rueda{-webkit-mask-image:none !important; mask-image:none !important; perspective:none !important;
    height:auto !important; min-height:454px !important}
  /* en el móvil la tarjeta se ajusta a su texto: el hueco queda fuera, no dentro */
  .opr-fp-tarjeta{width:100% !important; height:auto !important; min-height:0 !important;
    transform:translate(-50%,-50%) translateX(calc(var(--d) * 110%)) !important; opacity:0 !important}
  .opr-fp-tarjeta.es-centro{opacity:1 !important}
  .opr-fp-filas{flex:0 0 auto !important}
}
@media (max-width:560px){
  .opr-fp-rueda{min-height:520px !important}
  .opr-fp-tarjeta{padding:21px 19px !important}
  .opr-fp-cab b{font-size:1.125rem !important}
  .opr-fp-num{width:40px !important; height:40px !important; font-size:.9375rem !important}
  .opr-fp-marcador b{font-size:2.5rem !important}
}
