/* «Tu página en menos de 2 horas»: formulario por pasos y pantalla de espera (sobre contratar.css) */
.pp-intro { margin:4px 0 18px; }
.pp-intro h1 { font-size:clamp(2.1rem,9.5vw,3rem); font-weight:800; letter-spacing:-.045em; line-height:1; margin:12px 0 10px; }
.pp-intro p { margin:0; color:var(--muted); font-size:15.5px; line-height:1.55; }

.pp-avance { height:4px; border-radius:4px; background:rgba(255,255,255,.08); overflow:hidden; margin-bottom:14px; }
.pp-avance i { display:block; height:100%; width:calc(var(--n,1) * 20%); border-radius:4px; background:linear-gradient(90deg,#8A55C4,#CDB0F2); transition:width .4s; }

.pp-form { padding:22px 18px; }
.pp-paso { display:none; border:0; margin:0; padding:0; min-width:0; }
.pp-paso.on { display:block; animation:pp-entra .35s ease both; }
@keyframes pp-entra { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:none; } }
.pp-paso legend { font-size:1.5rem; font-weight:800; letter-spacing:-.03em; margin:0 0 16px; padding:0; }
.pp-ayuda { margin:-6px 0 14px; font-size:14px; line-height:1.55; color:var(--muted); }

.pp-opciones { display:grid; gap:10px; }
.pp-opcion { position:relative; display:grid; grid-template-columns:22px 1fr auto; gap:12px; align-items:center; padding:16px; border-radius:16px; cursor:pointer;
        border:1px solid var(--line); background:rgba(255,255,255,.03); transition:.2s; }
.pp-opcion input { width:20px; height:20px; accent-color:#8A55C4; margin:0; }
.pp-opcion b { display:block; font-size:16px; }
.pp-opcion small { display:block; margin-top:2px; font-size:13px; color:var(--muted); }
.pp-opcion em { font-style:normal; font-weight:800; font-size:17px; text-align:right; line-height:1.1; }
.pp-opcion em small { font-weight:500; font-size:11px; }
.pp-opcion:has(input:checked) { border-color:rgba(205,176,242,.6); background:rgba(107,57,151,.25); }

.pp-form .campo textarea { min-height:140px; }
.pp-form select { appearance:none; }
.pp-cuenta { display:block; margin-top:6px; font-size:12.5px; color:var(--muted); }
.pp-cuenta.ok, [data-conteo].ok { color:#86efac; }
.pp-mas { margin:4px 0 6px; }
.pp-mas summary { cursor:pointer; font-size:14px; font-weight:600; color:var(--lilac); padding:6px 0 14px; }

.pp-subir { position:relative; display:flex; align-items:center; gap:14px; padding:16px; border-radius:16px; cursor:pointer;
        border:1.5px dashed rgba(205,176,242,.4); background:rgba(255,255,255,.03); }
.pp-subir input { position:absolute; inset:0; opacity:0; cursor:pointer; }
.pp-subir.cargando { opacity:.6; }
.pp-texto b { display:block; font-size:15px; }
.pp-texto small { display:block; margin-top:2px; font-size:13px; color:var(--muted); line-height:1.4; }
.pp-vista { flex:none; width:64px; height:64px; border-radius:14px; background:rgba(255,255,255,.06) center/contain no-repeat; border:1px solid var(--line); }
.pp-fotos { flex-direction:column; align-items:stretch; text-align:center; }
.pp-galeria { display:grid; grid-template-columns:repeat(3,1fr); gap:6px; }
.pp-galeria:empty { display:none; }
.pp-galeria i { aspect-ratio:1; border-radius:10px; background:center/cover no-repeat; }

.pp-nav { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:20px; }
.pp-nav .btn { flex:1; justify-content:center; min-height:52px; }
.pp-ant { flex:none; border:0; background:none; color:var(--muted); font:600 14px var(--sans); cursor:pointer; padding:10px 4px; }
.pp-sig { width:100%; justify-content:center; min-height:52px; margin-top:18px; }
.pp-enviar:disabled { opacity:.7; cursor:wait; }

/* Espera */
.pe { text-align:center; padding:40px 22px 34px; }
.pe-orbe { position:relative; width:120px; height:120px; margin:0 auto 26px; }
.pe-orbe i { position:absolute; inset:0; border-radius:50%; border:2px solid transparent; border-top-color:#CDB0F2; animation:pe-gira 1.4s linear infinite; }
.pe-orbe i:nth-child(2) { inset:14px; border-top-color:#8A55C4; animation-duration:2s; animation-direction:reverse; }
.pe-orbe b { position:absolute; inset:34px; border-radius:50%; background:radial-gradient(circle,#CDB0F2,#6B3997); box-shadow:0 0 40px rgba(205,176,242,.6); animation:pe-late 1.6s ease-in-out infinite; }
@keyframes pe-gira { to { transform:rotate(360deg); } }
@keyframes pe-late { 50% { transform:scale(.85); opacity:.8; } }
.pe h1 { font-size:clamp(1.8rem,8vw,2.4rem); font-weight:800; letter-spacing:-.04em; line-height:1.05; margin:10px 0; }
.pe-paso { min-height:24px; margin:14px 0 0; font-size:15px; color:var(--lilac); transition:opacity .3s; }
.pe-nota { margin:22px 0 0; font-size:13.5px; line-height:1.55; color:var(--muted); }
.pe .btn { margin-top:24px; }
@media (prefers-reduced-motion:reduce) { .pe-orbe i, .pe-orbe b, .pp-paso.on { animation:none; } }
