/* Estilos comunes de las herramientas de Tu Web al Toque (/crear, /cv, /invitaciones). */
:root{
  --bg:#F3F5F9; --sup:#FFFFFF; --sup2:#F7F9FC; --tinta:#0F1B2D; --gris:#5B6B82; --gris2:#8A97AA; --linea:#E2E7EF;
  --azul:#13275C; --azul2:#1E3A8A; --azulSuave:#EAF0FB; --amarillo:#FFC72C; --ok:#15803D; --okSuave:#E8F6EE; --mal:#B42318; --malSuave:#FDECEA;
  --display:"Outfit","Plus Jakarta Sans",system-ui,sans-serif; --font:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --r:16px; --sombra:0 1px 2px rgba(15,27,45,.05),0 8px 24px rgba(15,27,45,.06);
  color-scheme:light;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--tinta);font-family:var(--font);font-size:15.5px;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:var(--azul2)}
button{font:inherit}
svg.i{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
:focus-visible{outline:3px solid var(--amarillo);outline-offset:2px}

/* Barra superior */
.barra{background:var(--sup);border-bottom:1px solid var(--linea);position:sticky;top:0;z-index:20}
.barra .in{max-width:1240px;margin:0 auto;padding:10px max(16px,env(safe-area-inset-right)) 10px max(16px,env(safe-area-inset-left));display:flex;align-items:center;gap:12px}
.barra img{width:34px;height:34px;border-radius:9px}
.barra .nom{font-family:var(--display);font-weight:700;font-size:18px;letter-spacing:-.01em;text-decoration:none;color:var(--tinta);white-space:nowrap}
.barra .seg{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--gris);margin-left:6px}
@media(max-width:640px){.barra .seg{display:none}.barra .ayuda .lg{display:none}}
.barra .ayuda .ct{display:none}@media(max-width:640px){.barra .ayuda .ct{display:inline}}
.barra .ayuda{margin-left:auto;display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:var(--ok);text-decoration:none;background:var(--okSuave);padding:8px 14px;border-radius:99px}

.wrap{max-width:1240px;margin:0 auto;padding:22px max(16px,env(safe-area-inset-right)) 70px max(16px,env(safe-area-inset-left))}

/* Encabezado */
h1{font-family:var(--display);font-weight:800;font-size:clamp(26px,4.2vw,38px);line-height:1.1;margin:0 0 8px;letter-spacing:-.02em;text-wrap:balance}
.lead{color:var(--gris);margin:0;max-width:64ch;font-size:16px}
.como{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0 22px}
@media(max-width:760px){.como{grid-template-columns:1fr}}
.como div{background:var(--sup);border:1px solid var(--linea);border-radius:14px;padding:14px 16px;display:flex;gap:12px;align-items:flex-start}
.como b.n{width:30px;height:30px;border-radius:50%;background:var(--azul);color:#fff;display:grid;place-items:center;font-size:14px;flex:none}
.como strong{display:block;font-size:15px}.como span{font-size:13.5px;color:var(--gris)}

/* Progreso */
.progreso{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}
.prog-top{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-size:14px}
.prog-top b{font-size:15px}.prog-top span{color:var(--gris)}
.riel{height:8px;background:#DDE3EC;border-radius:99px;overflow:hidden}
.riel i{display:block;height:100%;background:linear-gradient(90deg,var(--azul2),var(--azul));border-radius:99px;transition:width .35s ease}
.pasitos{display:flex;gap:6px;flex-wrap:wrap}
.pasito{border:1px solid var(--linea);background:var(--sup);color:var(--gris);border-radius:99px;padding:6px 12px 6px 6px;font-size:13px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:7px}
.pasito b{width:22px;height:22px;border-radius:50%;background:#E6EBF2;color:var(--gris);display:grid;place-items:center;font-size:12px}
.pasito.on{border-color:var(--azul);color:var(--azul)}.pasito.on b{background:var(--azul);color:#fff}
.pasito.ok b{background:var(--ok);color:#fff}
@media(max-width:640px){.pasito span{display:none}.pasito{padding:5px}}

.card{background:var(--sup);border:1px solid var(--linea);border-radius:var(--r);box-shadow:var(--sombra);min-width:0}
.editor{padding:24px;display:flex;flex-direction:column;gap:20px}
@media(max-width:480px){.editor{padding:18px}}
.paso{display:flex;flex-direction:column;gap:18px}
.paso>header h2{font-family:var(--display);font-size:23px;margin:0 0 4px;letter-spacing:-.01em}
.paso>header p{margin:0;color:var(--gris)}
.campo{display:flex;flex-direction:column;gap:6px}
.campo>label,.campo>.lab{font-size:14.5px;font-weight:700}
.campo .opc{font-weight:500;color:var(--gris2);font-size:13px}
.campo .ej{font-size:13px;color:var(--gris);margin-top:-2px}
input,textarea{font:inherit;font-size:16px;color:var(--tinta);background:var(--sup);border:1.5px solid #D5DCE6;border-radius:12px;padding:12px 14px;width:100%;transition:border-color .15s,box-shadow .15s}
input:focus,textarea:focus{border-color:var(--azul2);box-shadow:0 0 0 4px rgba(30,58,138,.12);outline:none}
input::placeholder,textarea::placeholder{color:#A3AEBD}
input.error{border-color:var(--mal);box-shadow:0 0 0 4px rgba(180,35,24,.1)}
textarea{min-height:96px;resize:vertical}
.dos{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media(max-width:560px){.dos{grid-template-columns:1fr}}
.tel{display:flex;align-items:stretch}.tel span{display:grid;place-items:center;padding:0 12px;background:var(--sup2);border:1.5px solid #D5DCE6;border-right:0;border-radius:12px 0 0 12px;font-weight:700;color:var(--gris)}
.tel input{border-radius:0 12px 12px 0}
.tip{display:flex;gap:10px;background:var(--azulSuave);color:#1E3360;border-radius:12px;padding:12px 14px;font-size:14px}
.tip svg{color:var(--azul2);margin-top:1px}
.tip.ok{background:var(--okSuave);color:#14532D}.tip.ok svg{color:var(--ok)}

.fotos{display:grid;grid-template-columns:1fr 1.6fr;gap:12px}@media(max-width:480px){.fotos{grid-template-columns:1fr}}
.foto{position:relative;border:1.5px dashed #C5D0DF;border-radius:14px;min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;font-size:13.5px;color:var(--gris);cursor:pointer;overflow:hidden;background:var(--sup2);padding:14px}
.foto strong{color:var(--tinta);font-size:14.5px}
.foto .sub{display:inline-flex;align-items:center;gap:6px;background:var(--sup);border:1px solid var(--linea);color:var(--azul);font-weight:700;padding:6px 12px;border-radius:99px;margin-top:4px}
.foto input{position:absolute;inset:0;opacity:0;cursor:pointer}
.foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.foto .q{position:absolute;top:8px;right:8px;z-index:2;background:rgba(15,27,45,.75);color:#fff;border:0;border-radius:99px;padding:4px 11px;font-size:12.5px;font-weight:600;cursor:pointer}
.foto.logo img{object-fit:contain;background:#fff;padding:14px}

.slug{display:flex;align-items:center;border:1.5px solid #D5DCE6;border-radius:12px;overflow:hidden;background:var(--sup)}
.slug:focus-within{border-color:var(--azul2);box-shadow:0 0 0 4px rgba(30,58,138,.12)}
.slug span{color:var(--gris);padding:0 0 0 14px;white-space:nowrap;font-size:15px}
.slug span.suf{padding:0 14px 0 0}
.slug input{border:0;box-shadow:none!important;padding-left:2px;min-width:0;font-weight:700}
.estado{font-size:13.5px;font-weight:700;display:flex;align-items:center;gap:6px;min-height:20px}.estado.ok{color:var(--ok)}.estado.mal{color:var(--mal)}
.fila small{color:var(--gris)}

.nav{display:flex;gap:10px;align-items:center;border-top:1px solid var(--linea);padding-top:18px;margin-top:4px;flex-wrap:wrap}
.btn{border:0;border-radius:12px;padding:14px 22px;font-weight:700;font-size:16px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;background:var(--azul);color:#fff;transition:background .15s,transform .1s}
.btn:hover{background:var(--azul2)}.btn:active{transform:translateY(1px)}
.btn[disabled]{opacity:.6;cursor:wait}
.btn.grande{padding:16px 26px;font-size:17px}
.btn.sec{background:var(--sup);color:var(--tinta);border:1.5px solid var(--linea)}.btn.sec:hover{background:var(--sup2)}
.btn.wa{background:#1FAF55;color:#fff}.btn.wa:hover{background:#178F45}
.btn.link{background:transparent;color:var(--gris);padding:14px 8px}
.nav .der{margin-left:auto;display:flex;gap:10px;flex-wrap:wrap}
@media(max-width:480px){.nav .der{width:100%;margin-left:0}.nav .der .btn{flex:1}}
.err{background:var(--malSuave);border:1px solid #F4C7C2;color:var(--mal);border-radius:12px;padding:12px 14px;font-size:14.5px;font-weight:600}
/* Pago */
.pago{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:22px;align-items:start;max-width:1040px;margin:0 auto}
@media(max-width:860px){.pago{grid-template-columns:1fr}.pago .resumen{order:2}}
.resumen{padding:22px;display:flex;flex-direction:column;gap:14px}
.resumen h3,.cobro h3{font-family:var(--display);font-size:19px;margin:0}
.mini{border:1px solid var(--linea);border-radius:12px;overflow:hidden;background:var(--sup2)}
.mini .img{height:120px;background:var(--azul);display:flex;align-items:flex-end;padding:14px;color:#fff;font-family:var(--display);font-weight:700;font-size:20px;background-size:cover;background-position:center}
.mini .txt{padding:10px 14px;font-size:13.5px;color:var(--gris);word-break:break-all}
.linea-t{display:grid;gap:12px}
.lt{display:flex;gap:12px;align-items:flex-start;font-size:14.5px}
.lt .p{width:26px;height:26px;border-radius:50%;border:2px solid #CBD3DE;display:grid;place-items:center;flex:none;background:var(--sup)}
.lt.ok .p{background:var(--ok);border-color:var(--ok);color:#fff}
.lt.ahora .p{border-color:var(--azul2)}
.lt.ahora .p i{width:10px;height:10px;border-radius:50%;background:var(--azul2);animation:lat 1.2s ease-in-out infinite}
@keyframes lat{50%{transform:scale(.6);opacity:.5}}
.lt small{display:block;color:var(--gris);font-size:13px}
.cobro{padding:24px;display:flex;flex-direction:column;gap:18px}
.monto-caja{background:var(--azul);color:#fff;border-radius:14px;padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.monto-caja span{font-size:13px;opacity:.8;display:block}
.monto{font-family:var(--display);font-weight:800;font-size:40px;line-height:1;font-variant-numeric:tabular-nums}
.monto-caja button{background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:10px;padding:9px 14px;font-weight:700;cursor:pointer}
.qrfila{display:grid;grid-template-columns:auto minmax(0,1fr);gap:20px;align-items:start}
@media(max-width:560px){.qrfila{grid-template-columns:1fr;justify-items:center}}
.qr{background:#fff;border:1px solid var(--linea);border-radius:14px;padding:10px;width:240px;max-width:100%;text-align:center}
.qr img{display:block;width:100%;height:auto}
.qr small{display:block;font-size:12px;color:var(--gris);margin-top:6px}
.apps{display:flex;gap:6px;justify-content:center;margin-top:8px}
.apps b{font-size:12px;padding:3px 9px;border-radius:99px;color:#fff}
.instr{margin:0;padding:0;list-style:none;display:grid;gap:12px;counter-reset:n}
.instr li{display:grid;grid-template-columns:30px 1fr;gap:10px;align-items:start;font-size:15px;counter-increment:n}
.instr li::before{content:counter(n);width:28px;height:28px;border-radius:50%;background:var(--azulSuave);color:var(--azul);font-weight:800;display:grid;place-items:center;font-size:14px}
.instr li small{display:block;color:var(--gris);font-size:13px;margin-top:2px}
.instr li em{font-style:normal;background:#FFF3C4;padding:1px 6px;border-radius:6px;font-weight:800}
.espera{display:flex;align-items:center;gap:12px;background:var(--sup2);border:1px solid var(--linea);border-radius:12px;padding:14px;font-size:14.5px}
.spin{width:20px;height:20px;border-radius:50%;border:3px solid #D5DCE6;border-top-color:var(--azul2);animation:r .8s linear infinite;flex:none}
@keyframes r{to{transform:rotate(360deg)}}
details{border:1px solid var(--linea);border-radius:12px;padding:12px 14px}
details summary{cursor:pointer;font-weight:700;font-size:14.5px}
.titular{font-size:13.5px;color:var(--gris)}
.qrbtns{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.qrbtns button{border:1px solid var(--linea);background:var(--sup2);color:var(--azul);border-radius:10px;padding:10px 4px;font:700 13px var(--font);white-space:nowrap;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px}
.qrbtns button svg{width:16px;height:16px}
.uncel{border:2px solid var(--amarillo);background:#FFFBEB;border-radius:14px;padding:0}
.uncel summary{list-style:none;display:flex;align-items:center;gap:10px;padding:14px 16px;font-size:15px}
.uncel summary::-webkit-details-marker{display:none}
.uncel summary .ic{width:34px;height:34px;border-radius:10px;background:var(--amarillo);display:grid;place-items:center;flex:none;font-size:18px}
.uncel summary::after{content:"+";margin-left:auto;font-size:22px;font-weight:700;color:var(--azul)}
.uncel[open] summary::after{content:"–"}
.uncel ol{margin:0;padding:0 16px 14px;list-style:none;counter-reset:u;display:grid;gap:12px}
.uncel li{display:grid;grid-template-columns:30px 1fr;gap:10px;align-items:start;font-size:14.5px;counter-increment:u}
.uncel li::before{content:counter(u);width:28px;height:28px;border-radius:50%;background:var(--azul);color:#fff;font-weight:800;display:grid;place-items:center;font-size:13px}
.uncel li b{display:block;color:var(--tinta)}
.uncel li small{display:block;color:var(--gris);font-size:13px;margin-top:2px}
.uncel li em{font-style:normal;background:#FFF3C4;padding:1px 6px;border-radius:6px;font-weight:800}
.uncel .btn-guardar{margin:0 16px 16px;width:calc(100% - 32px)}

/* Listo */
.listo{max-width:760px;margin:0 auto;padding:30px;display:flex;flex-direction:column;gap:18px;text-align:left}
.check{width:58px;height:58px;border-radius:50%;background:var(--okSuave);color:var(--ok);display:grid;place-items:center}
.check svg{width:30px;height:30px;stroke-width:2.5}
.caja{background:var(--sup2);border:1px solid var(--linea);border-radius:12px;padding:12px 14px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.caja code{flex:1;min-width:0;font-size:16px;font-weight:700;color:var(--azul);word-break:break-all;font-family:var(--font)}
.sig{display:grid;gap:10px}
.sig div{display:flex;gap:12px;align-items:flex-start;font-size:14.5px}
.sig b.n{width:26px;height:26px;border-radius:50%;background:var(--azulSuave);color:var(--azul);display:grid;place-items:center;font-size:13px;flex:none}

.toast{position:fixed;left:50%;bottom:max(22px,env(safe-area-inset-bottom));transform:translateX(-50%);background:var(--tinta);color:#fff;font-weight:600;padding:11px 18px;border-radius:12px;z-index:50;box-shadow:0 10px 30px rgba(0,0,0,.25);max-width:calc(100% - 32px)}
.pie{margin-top:34px;font-size:13px;color:var(--gris);text-align:center}
@media (prefers-reduced-motion:reduce){.spin,.lt.ahora .p i{animation:none}.riel i{transition:none}}
.mas{align-self:flex-start;background:var(--sup);color:var(--azul);border:1.5px dashed #AFC0DD;border-radius:12px;padding:10px 16px;font-weight:700;cursor:pointer;display:inline-flex;gap:6px;align-items:center}

/* Vista previa */
.prev{position:sticky;top:76px;display:flex;flex-direction:column;gap:10px;min-width:0}
.prev-cab{display:flex;align-items:center;gap:10px;justify-content:space-between;flex-wrap:wrap}
.prev-cab b{font-size:14px;display:flex;align-items:center;gap:8px}
.vivo{width:8px;height:8px;border-radius:50%;background:#22C55E;box-shadow:0 0 0 4px rgba(34,197,94,.18)}
.disp{display:flex;background:var(--sup);border:1px solid var(--linea);border-radius:10px;padding:3px}
.disp button{background:transparent;border:0;border-radius:8px;padding:6px 10px;cursor:pointer;color:var(--gris);display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600}
.disp button[aria-pressed="true"]{background:var(--azulSuave);color:var(--azul)}
.marco{border-radius:14px;overflow:hidden;background:#fff;border:1px solid var(--linea);box-shadow:0 20px 50px rgba(15,27,45,.12);transition:max-width .3s}
.marco.cel{max-width:390px;margin:0 auto;border-radius:30px;border:10px solid #0F1B2D}
.marco.cel .bnav{display:none}
.bnav{display:flex;align-items:center;gap:8px;background:#EEF1F5;padding:9px 12px}
.bnav i{width:10px;height:10px;border-radius:50%;background:#CBD3DE;display:block}
.bnav .url{flex:1;min-width:0;background:#fff;border-radius:8px;padding:5px 10px;font-size:12.5px;color:#334155;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:6px}
.bnav .url svg{width:13px;height:13px;color:var(--ok)}
iframe{display:block;width:100%;height:min(74vh,760px);border:0;background:#fff}
.marco.cel iframe{height:min(70vh,700px)}
.prev-nota{font-size:13px;color:var(--gris);text-align:center}

.tabs{display:none;gap:4px;background:var(--sup);border:1px solid var(--linea);padding:4px;border-radius:14px;position:sticky;top:62px;z-index:10;margin-bottom:14px;box-shadow:var(--sombra)}
.tabs button{flex:1;font-weight:700;color:var(--gris);background:transparent;border:0;border-radius:10px;padding:11px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px}
.tabs button[aria-selected="true"]{background:var(--azul);color:#fff}
@media(max-width:980px){.tabs{display:flex}.grid[data-vista="editar"] .prev{display:none}.grid[data-vista="ver"] .editor{display:none}.prev{position:static}.disp{display:none}}

