/* Pop-up de suscripción (Sitio > Pop-up). Se carga solo en las páginas donde se escribe el pop-up. */
.pop[hidden]{display:none}
.pop{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px;opacity:0;transition:opacity .26s ease}
.pop.is-open{opacity:1}
.pop-bg{position:absolute;inset:0;background:rgba(32,10,22,.62);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
.pop-card{position:relative;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);width:min(880px,100%);max-height:calc(100vh - 40px);max-height:calc(100dvh - 40px);background:#fff;border-radius:26px;overflow:hidden;box-shadow:0 40px 90px -30px rgba(0,0,0,.6);transform:translateY(16px) scale(.985);transition:transform .3s cubic-bezier(.2,.8,.2,1);outline:0}
.pop.is-open .pop-card{transform:none}
html.pop-lock{overflow:hidden;overscroll-behavior:none}

.pop-media{position:relative;min-height:100%;background:#3E1A2D;overflow:hidden}
.pop-img,.pop-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pop-badge{position:absolute;left:20px;top:20px;z-index:2;padding:.5rem 1.05rem;border-radius:999px;background:var(--accent);color:#2b1400;font-weight:700;font-size:.95rem;line-height:1.2;box-shadow:0 10px 22px -10px rgba(0,0,0,.55)}

.pop-body{display:flex;flex-direction:column;justify-content:center;padding:46px 40px;overflow:auto}
.pop-view[hidden]{display:none}
.pop-title{margin:0 0 .6rem;font-size:clamp(1.5rem,2.4vw,1.95rem);font-weight:700;line-height:1.2;color:var(--dark)}
.pop-text{margin:0 0 1.35rem;color:var(--muted);font-size:.95rem;line-height:1.6}
.pop-x{position:absolute;top:12px;right:12px;z-index:3;display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:50%;background:rgba(43,43,43,.78);color:#fff;cursor:pointer;transition:background .15s}
.pop-x:hover{background:var(--primary)}
.pop-x:focus-visible,.pop-copy:focus-visible{outline:3px solid var(--accent);outline-offset:2px}

.pop-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}
.pop-f{display:block;min-width:0}
.pop-f--wide{grid-column:1/-1}
.pop-f input,.pop-f select{width:100%;height:50px;padding:0 16px;border:1px solid var(--line);border-radius:14px;background:#faf5f8;color:var(--text);font:inherit;font-size:.92rem;transition:border-color .15s,box-shadow .15s,background .15s}
.pop-f input::placeholder{color:#8a7a85;opacity:1}
.pop-f select{appearance:none;-webkit-appearance:none;padding-right:42px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23972358' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center}
.pop-f select.is-empty{color:#8a7a85}
.pop-f input:focus,.pop-f select:focus{outline:0;border-color:var(--primary);background-color:#fff;box-shadow:0 0 0 3px rgba(151,35,88,.16)}
.pop-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.pop-err{margin:0 0 12px;padding:10px 14px;border-radius:12px;background:#fdeaea;color:#a02525;font-size:.88rem;font-weight:500}
.pop-err[hidden]{display:none}
.pop-submit.is-busy{opacity:.7;pointer-events:none}
.pop-legal{margin:14px 0 0;font-size:.76rem;line-height:1.5;color:var(--muted)}
.pop-legal a{color:var(--primary);text-decoration:underline}

.pop-code{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;margin:0 0 10px;padding:14px 16px;border:2px dashed var(--primary);border-radius:16px;background:var(--soft)}
.pop-code[hidden],.pop-valid[hidden]{display:none}
.pop-code-l{flex:0 0 100%;font-size:.78rem;color:var(--muted)}
.pop-code-v{flex:1;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:1.3rem;letter-spacing:.06em;color:var(--dark);overflow-wrap:anywhere}
.pop-copy{padding:.5rem 1.1rem;border:0;border-radius:999px;background:var(--primary);color:#fff;font:inherit;font-size:.85rem;font-weight:600;cursor:pointer;transition:background .15s}
.pop-copy:hover{background:var(--dark)}
.pop-valid{margin:0 0 18px;font-size:.82rem;color:var(--muted)}
.pop-go{margin-top:6px}

@media(max-width:760px){
	.pop{padding:12px}
	.pop-card{grid-template-columns:1fr;grid-template-rows:auto 1fr;max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);overflow:auto;border-radius:22px}
	.pop-media{min-height:0;height:132px}
	.pop-badge{left:14px;top:14px;font-size:.85rem}
	.pop-body{padding:22px 20px 24px;overflow:visible}
	.pop-title{font-size:1.45rem}
	.pop-text{margin-bottom:1.1rem;font-size:.9rem}
}
@media(max-width:480px){
	.pop-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
	.pop,.pop-card{transition:none}
}
