/* ---------- Físicas · servicios ---------- */
.opr-fs-cabeza{align-items:end !important}
.opr-fs-seg{flex:none !important}

.opr-fs-panel{display:grid !important; grid-template-columns:minmax(0,.82fr) minmax(0,1fr) !important;
  gap:0 !important; overflow:hidden !important; box-shadow:var(--sombra) !important}

.opr-fs-foto{position:relative !important; overflow:hidden !important; min-height:100% !important; background:var(--p100) !important}
.opr-fs-foto img{width:100% !important; height:100% !important; min-height:320px !important; display:block !important; object-fit:cover !important;
  transition:opacity .38s ease, transform .6s cubic-bezier(.32,.72,.16,1) !important}
.opr-fs-foto.es-entra img{opacity:0 !important; transform:scale(1.04) !important}
.opr-fs-etq{position:absolute !important; left:16px !important; top:16px !important; padding:6px 13px !important; border-radius:999px !important;
  background:rgba(18,23,28,.82) !important; color:#fff !important; font-size:.75rem !important; font-weight:700 !important}

.opr-fs-detalle{padding:clamp(24px,3vw,36px) !important; display:flex !important; flex-direction:column !important;
  transition:opacity .3s ease, transform .34s cubic-bezier(.32,.72,.16,1) !important}
.opr-fs-detalle.es-entra{opacity:0 !important; transform:translateY(8px) !important}
.opr-fs-detalle h3{font-size:1.35rem !important; font-weight:800 !important; letter-spacing:-.026em !important; line-height:1.14 !important}
.opr-fs-intro{margin-top:11px !important; font-size:.96875rem !important; line-height:1.55 !important; color:var(--suave) !important; text-wrap:pretty !important}

.opr-fs-sub{margin-top:16px !important; padding:14px 16px !important; border-radius:var(--radio-s) !important; background:var(--p50) !important;
  box-shadow:inset 0 0 0 1px var(--borde) !important}
.opr-fs-sub h4{font-size:.9375rem !important; font-weight:700 !important; letter-spacing:-.014em !important}
.opr-fs-sub p{margin-top:4px !important; font-size:.875rem !important; line-height:1.5 !important; color:var(--tenue) !important; text-wrap:pretty !important}

.opr-fs-lista{display:grid !important; grid-template-columns:1fr 1fr !important; gap:9px 18px !important; margin-top:20px !important}
.opr-fs-lista li{display:flex !important; align-items:flex-start !important; gap:9px !important; font-size:.875rem !important; line-height:1.4 !important; color:var(--suave) !important}
.opr-fs-tic{flex:none !important; width:17px !important; height:17px !important; margin-top:1px !important; border-radius:999px !important;
  background:var(--p100) !important; color:var(--suave) !important; display:grid !important; place-items:center !important}
.opr-fs-tic svg{width:10px !important; height:10px !important}

.opr-fs-loc{display:flex !important; align-items:flex-start !important; gap:10px !important; margin-top:20px !important; padding-top:16px !important;
  border-top:1px solid var(--borde) !important; font-size:.8125rem !important; line-height:1.5 !important; color:var(--tenue) !important; text-wrap:pretty !important}
.opr-fs-loc b{font-weight:700 !important; color:var(--suave) !important}
.opr-fs-loc svg{flex:none !important; width:15px !important; height:15px !important; margin-top:2px !important}

.opr-fs-cta{margin-top:20px !important; align-self:flex-start !important; padding:13px 22px !important; font-size:.9375rem !important}

.opr-fs-pista{display:flex !important; gap:7px !important; justify-content:center !important; margin-top:18px !important}
.opr-fs-bola{width:9px !important; height:9px !important; border-radius:999px !important; background:var(--p200) !important; transition:all .24s ease !important; display:block !important}
.opr-fs-bola.es-activa{width:26px !important; background:var(--p950) !important}

@media (max-width:900px){
  .opr-fs-panel{grid-template-columns:1fr !important}
  .opr-fs-foto img{min-height:0 !important; aspect-ratio:16/10 !important}
  .opr-fs-seg{margin-top:20px !important; align-self:flex-start !important}
  .opr-fs-seg button{flex:1 !important}
}
@media (max-width:560px){
  .opr-fs-lista{grid-template-columns:1fr !important}
  .opr-fs-cta{align-self:stretch !important}
  .opr-fs-seg{width:100% !important}
  .opr-fs-seg button{padding:9px 12px !important; font-size:.875rem !important}
}
