@import "https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&family=Playfair+Display:wght@600;700&display=swap";:root{--color-fondo-inicio:#241a3a;--color-fondo-medio:#140f24;--color-fondo-fin:#0a0714;--color-texto-principal:#f5f0ff;--color-texto-secundario:#b3a5cf;--color-texto-muted:#9a8fb5;--color-acento-lila:#c9a9ff;--color-acento-rosa:#ff8fd0;--color-superficie:#1a1330;--color-borde:#ffffff14;--color-borde-hover:#fff3;--color-badge-amor-fondo:#ff6b8b26;--color-badge-amor-texto:#ff9fb8;--color-badge-cumpleanos-fondo:#ffb34726;--color-badge-cumpleanos-texto:#ffcb85;--color-badge-homenaje-fondo:#9b8cff26;--color-badge-homenaje-texto:#c9baff;--fuente-titulo:"Playfair Display", serif;--fuente-cuerpo:"Poppins", sans-serif;--radio-tarjeta:20px;--radio-boton:12px}*{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;min-height:100%;font-family:var(--fuente-cuerpo);background:radial-gradient(circle at 20% 0%, var(--color-fondo-inicio) 0%, var(--color-fondo-medio) 45%, var(--color-fondo-fin) 100%);color:var(--color-texto-principal);background-attachment:fixed}#root{width:100%;min-height:100vh}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}h1,h2,h3{font-weight:600}a{color:inherit;text-decoration:none}.pagina-catalogo{width:100%;min-height:100vh;padding:56px 20px 80px}.pagina-catalogo__encabezado{text-align:center;max-width:560px;margin:0 auto 48px}.pagina-catalogo__marca{letter-spacing:2px;text-transform:uppercase;color:var(--color-acento-lila);opacity:.85;align-items:center;gap:8px;margin-bottom:20px;font-size:.75rem;display:inline-flex}.pagina-catalogo__marca-punto{background:linear-gradient(135deg, var(--color-acento-rosa), var(--color-acento-lila));border-radius:50%;width:6px;height:6px}.pagina-catalogo h1{font-family:var(--fuente-titulo);background:linear-gradient(135deg,#fff 0%,#d9c8ff 100%);color:#0000;-webkit-background-clip:text;background-clip:text;margin-bottom:14px;font-size:2.4rem;font-weight:700;line-height:1.15}.pagina-catalogo__subtitulo{color:var(--color-texto-secundario);font-size:.95rem;line-height:1.6}.grilla-plantillas{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;max-width:980px;margin:0 auto;display:grid}.tarjeta-plantilla{border-radius:var(--radio-tarjeta);text-align:left;border:1px solid var(--color-borde);background:var(--color-superficie);flex-direction:column;transition:transform .25s,border-color .25s;display:flex;position:relative;overflow:hidden}.tarjeta-plantilla:hover{border-color:var(--color-borde-hover);transform:translateY(-6px)}.tarjeta-plantilla:active{transform:translateY(-2px)scale(.99)}.tarjeta-plantilla__cuerpo{padding:18px 20px 20px}.tarjeta-plantilla__categoria{letter-spacing:1px;text-transform:uppercase;background:var(--color-badge-homenaje-fondo);color:var(--color-badge-homenaje-texto);border-radius:20px;margin-bottom:10px;padding:4px 10px;font-size:.65rem;font-weight:600;display:inline-block}.tarjeta-plantilla[data-categoria=amor] .tarjeta-plantilla__categoria{background:var(--color-badge-amor-fondo);color:var(--color-badge-amor-texto)}.tarjeta-plantilla[data-categoria=cumpleanos] .tarjeta-plantilla__categoria{background:var(--color-badge-cumpleanos-fondo);color:var(--color-badge-cumpleanos-texto)}.tarjeta-plantilla[data-categoria=homenaje] .tarjeta-plantilla__categoria{background:var(--color-badge-homenaje-fondo);color:var(--color-badge-homenaje-texto)}.tarjeta-plantilla__nombre{color:var(--color-texto-principal);font-size:1.1rem;font-weight:600}.tarjeta-plantilla__flecha{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;z-index:2;opacity:0;background:#ffffff26;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:1rem;transition:all .25s;display:flex;position:absolute;top:14px;right:14px;transform:translate(6px)}.tarjeta-plantilla:hover .tarjeta-plantilla__flecha{opacity:1;transform:translate(0)}.preview-plantilla{background:var(--color-fondo-fin);width:100%;height:180px;position:relative;overflow:hidden}.preview-plantilla__iframe{transform-origin:0 0;pointer-events:none;border:none;width:400%;height:400%;position:absolute;top:0;left:0;transform:scale(.25)}.preview-plantilla__imagen{object-fit:cover;object-position:top;width:100%;height:100%;display:block}.estado-carga,.estado-error{min-height:100vh;color:var(--color-texto-secundario);justify-content:center;align-items:center;font-size:1rem;display:flex}.pagina-formulario{width:100%;min-height:100vh;padding:56px 20px 80px}.pagina-formulario h1{font-family:var(--fuente-titulo);text-align:center;background:linear-gradient(135deg,#fff 0%,#d9c8ff 100%);color:#0000;-webkit-background-clip:text;background-clip:text;max-width:520px;margin:0 auto 32px;font-size:1.9rem;font-weight:700}.formulario-plantilla{background:var(--color-superficie);border:1px solid var(--color-borde);border-radius:var(--radio-tarjeta);flex-direction:column;gap:20px;max-width:480px;margin:0 auto;padding:28px 24px;display:flex}.campo-formulario{flex-direction:column;gap:8px;display:flex}.campo-formulario__etiqueta{color:var(--color-texto-secundario);font-size:.85rem;font-weight:500}.campo-formulario input,.campo-formulario textarea{font-family:var(--fuente-cuerpo);color:var(--color-texto-principal);border:1px solid var(--color-borde);border-radius:var(--radio-boton);background:#ffffff0a;outline:none;padding:12px 14px;font-size:.95rem;transition:border-color .2s,background .2s}.campo-formulario input::placeholder,.campo-formulario textarea::placeholder{color:var(--color-texto-muted)}.campo-formulario input:focus,.campo-formulario textarea:focus{border-color:var(--color-acento-lila);background:#ffffff0f}.campo-formulario textarea{resize:vertical;min-height:100px;font-family:inherit}.mensaje-error{color:#ff9b9b;text-align:center;font-size:.85rem}.boton-crear{border-radius:var(--radio-boton);background:linear-gradient(135deg, var(--color-acento-rosa), var(--color-acento-lila));color:#1a1330;margin-top:8px;padding:14px 20px;font-size:.95rem;font-weight:600;transition:transform .15s,opacity .15s}.boton-crear:hover{transform:translateY(-2px)}.boton-crear:active{transform:translateY(0)scale(.98)}.boton-crear:disabled{opacity:.6;cursor:not-allowed;transform:none}.campo-formulario--imagen{gap:10px}.campo-imagen__input-oculto{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.campo-imagen__zona{aspect-ratio:4/3;border-radius:var(--radio-boton);border:1.5px dashed var(--color-borde-hover);background:#ffffff08;justify-content:center;align-items:center;width:100%;transition:border-color .2s,background .2s;display:flex;overflow:hidden}.campo-imagen__zona:hover{border-color:var(--color-acento-lila);background:#ffffff0f}.campo-imagen__zona:disabled{cursor:not-allowed;opacity:.7}.campo-imagen__marcador{color:var(--color-texto-muted);text-align:center;padding:0 20px;font-size:.85rem}.campo-imagen__preview{object-fit:cover;width:100%;height:100%;display:block}.pagina-confirmacion{justify-content:center;align-items:center;width:100%;min-height:100vh;padding:20px;display:flex}.tarjeta-exito{background:var(--color-superficie);border:1px solid var(--color-borde);border-radius:var(--radio-tarjeta);text-align:center;width:100%;max-width:480px;padding:36px 28px}.tarjeta-exito h1{font-family:var(--fuente-titulo);background:linear-gradient(135deg,#fff 0%,#d9c8ff 100%);color:#0000;-webkit-background-clip:text;background-clip:text;margin-bottom:10px;font-size:1.6rem;font-weight:700}.tarjeta-exito p{color:var(--color-texto-secundario);margin-bottom:28px;font-size:.9rem}.contenedor-enlace{gap:8px;margin-bottom:24px;display:flex}.input-enlace{min-width:0;font-family:var(--fuente-cuerpo);color:var(--color-texto-principal);border:1px solid var(--color-borde);border-radius:var(--radio-boton);background:#ffffff0a;flex:1;padding:10px 12px;font-size:.85rem}.boton-copiar{border-radius:var(--radio-boton);background:linear-gradient(135deg, var(--color-acento-rosa), var(--color-acento-lila));color:#1a1330;white-space:nowrap;flex-shrink:0;padding:10px 16px;font-size:.85rem;font-weight:600}.boton-secundario{color:var(--color-acento-lila);border-bottom:1px solid #0000;font-size:.9rem;font-weight:500;transition:border-color .2s;display:inline-block}.boton-secundario:hover{border-color:var(--color-acento-lila)}
