/* ---------- físicas · Nutrisarmi ---------- */
.opr-px-fisicas .opr-px-fi-rejilla{
  display:grid !important; grid-template-columns:minmax(0,1fr) minmax(0,.72fr) !important;
  gap:clamp(36px,5vw,72px) !important; align-items:center !important;
}
.opr-px-fisicas .opr-px-fi-texto b{font-weight:700 !important; color:#fff !important}

.opr-px-fisicas .opr-px-fi-datos{
  margin-top:30px !important; display:flex !important; flex-wrap:wrap !important; gap:clamp(20px,3vw,42px) !important;
}
.opr-px-fisicas .opr-px-fi-datos > div{display:flex !important; flex-direction:column !important; gap:2px !important}
.opr-px-fisicas .opr-px-fi-datos b{
  font-size:clamp(1.75rem,3.4vw,2.35rem) !important; font-weight:800 !important; line-height:1 !important;
  letter-spacing:-.035em !important; color:#fff !important;
}
.opr-px-fisicas .opr-px-fi-datos span{font-size:.84375rem !important; color:var(--p400) !important; max-width:16ch !important}
.opr-px-fisicas .opr-px-fi-nota{margin-top:14px !important; max-width:52ch !important}
.opr-px-fisicas .opr-px-fi-btn{margin-top:26px !important}

.opr-px-fisicas .opr-px-fi-figura{position:relative !important; display:flex !important; flex-direction:column !important; align-items:center !important}
.opr-px-fisicas .opr-px-fi-halo{
  position:absolute !important; left:50% !important; top:44% !important; transform:translate(-50%,-50%) !important;
  width:min(460px,90%) !important; height:min(460px,70vh) !important; border-radius:999px !important; pointer-events:none !important;
  background:radial-gradient(circle at center, rgba(71,83,98,.55) 0%, rgba(18,23,28,0) 70%) !important;
}
.opr-px-fisicas .opr-px-fi-retrato{
  position:relative !important; width:min(360px,100%) !important; height:auto !important;
  filter:drop-shadow(0 24px 32px rgba(0,0,0,.5)) !important;
  /* el recorte termina en corte recto por abajo: se desvanece para que no
     parezca una foto cortada con tijeras */
  -webkit-mask-image:linear-gradient(180deg,#000 74%,rgba(0,0,0,0) 100%) !important;
  mask-image:linear-gradient(180deg,#000 74%,rgba(0,0,0,0) 100%) !important;
}
.opr-px-fisicas .opr-px-fi-firma{
  position:relative !important; margin-top:16px !important; text-align:center !important;
  display:flex !important; flex-direction:column !important; gap:2px !important;
}
.opr-px-fisicas .opr-px-fi-firma b{font-size:1.0625rem !important; font-weight:800 !important; letter-spacing:-.02em !important; color:#fff !important}
.opr-px-fisicas .opr-px-fi-firma span{font-size:.84375rem !important; color:var(--p400) !important}

/* Sin retrato, la figura entera sobra: una firma suelta en medio de la nada
   se lee como un hueco, no como un dato. La sección pasa a una columna. */
.opr-px-fisicas.es-sin-foto .opr-px-fi-rejilla{grid-template-columns:minmax(0,1fr) !important}
.opr-px-fisicas.es-sin-foto .opr-px-fi-figura{display:none !important}

@media (max-width:860px){
  .opr-px-fisicas .opr-px-fi-rejilla{display:flex !important; flex-direction:column !important; align-items:stretch !important; gap:0 !important}
  /* el bloque de la persona va después del título y antes de las cifras:
     display:contents deshace la caja de texto y los hijos se ordenan sueltos */
  .opr-px-fisicas .opr-px-fi-texto{display:contents !important}
  .opr-px-fisicas .opr-rotulo{order:1 !important}
  .opr-px-fisicas .opr-h2{order:2 !important}
  .opr-px-fisicas .opr-entradilla{order:3 !important}
  .opr-px-fisicas .opr-px-fi-figura{order:4 !important; margin:28px 0 4px !important}
  .opr-px-fisicas .opr-px-fi-datos{order:5 !important}
  .opr-px-fisicas .opr-px-fi-nota{order:6 !important}
  .opr-px-fisicas .opr-px-fi-btn{order:7 !important; align-self:flex-start !important}
  .opr-px-fisicas .opr-px-fi-retrato{width:min(280px,72%) !important}
}
