/* ---------- sección Pruebas físicas ---------- */
.opr-fi-cabeza{display:grid !important; grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr) !important;
  gap:clamp(26px,3.6vw,56px) !important; align-items:center !important}
@media (max-width:960px){ .opr-fi-cabeza{grid-template-columns:1fr !important; gap:26px !important} }
.opr-fi-titulo .opr-h2{text-wrap:balance !important}

.opr-fi-fila{display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:10px !important}
.opr-fi-prueba{display:flex !important; flex-direction:column !important; padding:20px 20px 22px !important;
  border-radius:var(--radio) !important; background:var(--p50) !important; box-shadow:inset 0 0 0 1px var(--borde) !important;
  transition:background .16s ease, box-shadow .16s ease !important}
.opr-fi-prueba:hover{background:var(--superficie) !important; box-shadow:inset 0 0 0 1px var(--borde2), var(--sombra-s) !important}
.opr-fi-num{font-size:.75rem !important; font-weight:800 !important; color:var(--p400) !important; margin-bottom:12px !important}
.opr-fi-prueba b{font-size:1.0625rem !important; font-weight:700 !important; letter-spacing:-.018em !important; line-height:1.2 !important}
.opr-fi-desc{margin-top:5px !important; font-size:.84375rem !important; line-height:1.45 !important; color:var(--tenue) !important; text-wrap:pretty !important}

.opr-fi-pie{position:relative !important; display:grid !important; grid-template-columns:auto minmax(0,1fr) !important;
  gap:clamp(20px,3vw,44px) !important; align-items:center !important; margin-top:clamp(26px,3.2vw,40px) !important;
  padding:clamp(20px,2.4vw,28px) clamp(22px,2.6vw,32px) !important;
  border-radius:var(--radio) !important; background:var(--p950) !important; color:var(--p200) !important; overflow:hidden !important}
.opr-fi-pie::before{content:'' !important; position:absolute !important; inset:auto -10% -70% 40% !important; height:150% !important;
  background:radial-gradient(ellipse at center, rgba(127,142,159,.26), transparent 66%) !important; pointer-events:none !important}
.opr-fi-agente{position:relative !important; width:clamp(120px,15vw,190px) !important; height:auto !important; display:block !important;
  filter:drop-shadow(0 18px 24px rgba(0,0,0,.45)) !important}
.opr-fi-firma{position:relative !important}
.opr-fi-firma-etq{display:block !important; font-size:.75rem !important; font-weight:600 !important; color:var(--p500) !important; margin-bottom:4px !important}
.opr-fi-firma b{display:block !important; font-size:1.125rem !important; font-weight:800 !important; letter-spacing:-.02em !important; color:#fff !important; margin-bottom:7px !important}
.opr-fi-firma > span:last-of-type{display:block !important; max-width:62ch !important; font-size:.90625rem !important; line-height:1.55 !important;
  color:var(--p400) !important; text-wrap:pretty !important}
.opr-fi-cta{margin-top:18px !important; padding:13px 22px !important; font-size:.9375rem !important; background:#fff !important; color:var(--p950) !important}
.opr-fi-cta:hover{background:var(--p100) !important}

/* ---- móvil: firma arriba, agente en medio, explicación debajo ---- */
@media (max-width:860px){
  .opr-fi-pie{display:flex !important; flex-direction:column !important; align-items:center !important; text-align:center !important; gap:0 !important}
  .opr-fi-firma{display:contents !important}
  .opr-fi-firma-etq{order:1 !important; position:relative !important}
  .opr-fi-firma b{order:2 !important; position:relative !important; margin-bottom:0 !important}
  .opr-fi-agente{order:3 !important; margin:18px 0 18px !important; width:clamp(148px,44vw,224px) !important}
  .opr-fi-firma > span:last-of-type{order:4 !important; position:relative !important; margin-left:auto !important; margin-right:auto !important}
  .opr-fi-cta{order:5 !important; align-self:center !important; margin-top:22px !important}
}
@media (max-width:520px){
  .opr-fi-fila{grid-template-columns:1fr !important; gap:8px !important}
  .opr-fi-prueba{flex-direction:row !important; align-items:baseline !important; gap:12px !important; padding:15px 17px !important; flex-wrap:wrap !important}
  .opr-fi-num{margin-bottom:0 !important}
  .opr-fi-desc{flex:1 1 100% !important; margin-top:2px !important}
  .opr-fi-cta{width:100% !important}
}
