.frcp-overlay[hidden]{display:none!important}
.frcp-overlay{position:fixed;inset:0;z-index:9998;display:grid;place-items:center;padding:clamp(12px,3vw,32px);background:rgb(24 34 30 / 58%);box-sizing:border-box}
.frcp-overlay *,.frcp-overlay *::before,.frcp-overlay *::after{box-sizing:border-box}
.frcp-dialog{position:relative;width:min(880px,100%);max-height:min(86vh,760px);max-height:min(86dvh,760px);overflow:auto;background:#fffdf9;color:#263b33;border:1px solid rgb(47 93 80 / 16%);border-radius:18px;box-shadow:0 24px 70px rgb(0 0 0 / 24%);outline:none}
.frcp-layout{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(280px,.96fr);min-height:390px}
.frcp-media{min-height:390px;background:#f4f0e8;overflow:hidden;border-radius:18px 0 0 18px}
.frcp-media img{display:block;width:100%;height:100%;min-height:390px;object-fit:cover;object-position:center}
.frcp-copy{align-self:center;padding:clamp(32px,5vw,62px)}
.frcp-kicker{margin:0 0 16px;color:#b65f82;font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.frcp-copy h2{margin:0 0 18px;color:#2f5d50;font-family:inherit;font-size:clamp(2rem,4vw,3.2rem);line-height:1.05}
.frcp-copy p:not(.frcp-kicker){margin:0 0 28px;color:#3e4943;font-size:1.05rem;line-height:1.65}
.frcp-cta{display:inline-flex;min-height:52px;align-items:center;justify-content:center;padding:13px 22px;border:2px solid #2f5d50;border-radius:999px;background:#2f5d50;color:#fff;font-weight:700;line-height:1.25;text-align:center;text-decoration:none;transition:background-color .18s ease,color .18s ease,transform .18s ease}
.frcp-cta:hover{background:#24493e;border-color:#24493e;color:#fff;transform:translateY(-1px)}
.frcp-cta:focus-visible,.frcp-close:focus-visible{outline:3px solid #cf7da0;outline-offset:3px}
.frcp-close{position:absolute;z-index:2;top:12px;right:12px;display:grid;width:44px;height:44px;place-items:center;padding:0 0 3px;border:1px solid #d9dfda;border-radius:50%;background:#fff;color:#243a32;font:400 30px/1 Arial,sans-serif;cursor:pointer;box-shadow:0 2px 10px rgb(0 0 0 / 12%)}
body.frcp-open{overflow:hidden}
@media(max-width:680px){.frcp-overlay{padding:12px 12px max(92px,env(safe-area-inset-bottom))}.frcp-dialog{width:100%;max-height:min(82vh,700px);max-height:min(82dvh,700px);border-radius:16px}.frcp-layout{display:flex;min-height:0;flex-direction:column}.frcp-media{flex:0 0 auto;height:clamp(150px,30vh,245px);min-height:0;border-radius:16px 16px 0 0}.frcp-media img{width:100%;height:100%;min-height:0;object-position:center 48%}.frcp-copy{padding:22px 22px 24px}.frcp-kicker{margin-bottom:9px;font-size:.7rem}.frcp-copy h2{margin-bottom:10px;font-size:clamp(1.75rem,8vw,2.25rem)}.frcp-copy p:not(.frcp-kicker){margin-bottom:18px;font-size:.96rem;line-height:1.5}.frcp-cta{display:flex;width:100%;min-height:52px;padding-inline:14px}.frcp-close{top:9px;right:9px;width:44px;height:44px}}
@media(prefers-reduced-motion:reduce){.frcp-cta{transition:none}}
/* Evita que el tema fuerce colores de botón con contraste insuficiente. */
.frcp-overlay .frcp-cta,.frcp-overlay .frcp-cta:visited,.frcp-overlay .frcp-cta:hover,.frcp-overlay .frcp-cta:focus-visible{color:#fff!important}
.frcp-overlay .frcp-close{background-color:#fff!important;color:#243a32!important;border-color:#d9dfda!important}
