/* ---------- Físicas · cierre y accesos ---------- */
.opr-fc{position:relative !important; overflow:hidden !important}
.opr-fc::before{content:'' !important; position:absolute !important; left:50% !important; top:-44% !important; width:min(940px,120%) !important; aspect-ratio:1 !important;
  transform:translateX(-50%) !important; pointer-events:none !important; opacity:.16 !important;
  background:radial-gradient(circle at center, var(--p500), transparent 60%) !important}

.opr-fc-cabeza{position:relative !important; display:flex !important; flex-direction:column !important; align-items:center !important;
  text-align:center !important; max-width:720px !important; margin:0 auto !important}
.opr-fc-cabeza .opr-entradilla{margin-left:auto !important; margin-right:auto !important; text-align:center !important}
.opr-fc-ctas{display:flex !important; flex-wrap:wrap !important; gap:11px !important; justify-content:center !important; margin-top:28px !important}
.opr-fc-ctas .opr-btn{padding:14px 23px !important; font-size:.9375rem !important}

.opr-fc-redes{position:relative !important; display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:10px !important;
  margin-top:clamp(34px,4vw,52px) !important}
.opr-fc-red{display:flex !important; flex-direction:column !important; padding:20px 20px 22px !important; border-radius:var(--radio) !important;
  background:var(--superficie) !important; box-shadow:inset 0 0 0 1px var(--borde) !important;
  transition:box-shadow .18s ease, transform .18s ease !important}
.opr-fc-red:hover{box-shadow:inset 0 0 0 1px var(--borde2), var(--sombra-s) !important; transform:translateY(-2px) !important}
.opr-fc-red-ic{width:36px !important; height:36px !important; border-radius:10px !important; display:grid !important; place-items:center !important;
  background:var(--p100) !important; color:var(--suave) !important; margin-bottom:14px !important}
.opr-fc-red-ic svg{width:18px !important; height:18px !important}
.opr-fc-red.es-tg .opr-fc-red-ic{background:var(--p950) !important; color:#fff !important}
.opr-fc-red b{font-size:.96875rem !important; font-weight:700 !important; letter-spacing:-.016em !important}
.opr-fc-red > span:last-child{margin-top:5px !important; font-size:.84375rem !important; line-height:1.45 !important; color:var(--tenue) !important; text-wrap:pretty !important}

.opr-fc-firma{position:relative !important; display:flex !important; align-items:center !important; gap:18px !important; flex-wrap:wrap !important;
  justify-content:center !important; text-align:center !important; margin-top:clamp(30px,3.4vw,44px) !important;
  padding:20px clamp(20px,2.6vw,30px) !important; border-radius:var(--radio) !important; background:var(--p950) !important}
img.opr-fc-firma-logo{height:24px !important; width:auto !important; display:block !important}
.opr-fc-firma p{font-size:.8125rem !important; font-weight:500 !important; color:var(--p400) !important; text-wrap:pretty !important}

@media (max-width:820px){
  .opr-fc-redes{grid-template-columns:1fr !important; gap:8px !important}
  .opr-fc-red{flex-direction:row !important; align-items:flex-start !important; gap:14px !important; flex-wrap:wrap !important; padding:16px 18px !important}
  .opr-fc-red-ic{margin-bottom:0 !important}
  .opr-fc-red > span:last-child{flex:1 1 100% !important; margin-top:2px !important}
}
@media (max-width:560px){
  .opr-fc-ctas .opr-btn{flex:1 1 100% !important}
}
