:root{--oro:#d4af37;--oro-l:#f5d76e;--bg:#0d0d12;--panel:#15151d;--linea:#26262e;--txt:#f4f1e8;--mut:#a8a29a}
*{margin:0;padding:0;box-sizing:border-box}
body{background:var(--bg);color:var(--txt);font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
.topbar{display:flex;align-items:center;gap:12px;padding:12px 18px;border-bottom:1px solid var(--linea);
  position:sticky;top:0;background:rgba(13,13,18,.92);backdrop-filter:blur(8px);z-index:10}
.brand{font-size:1.25rem;font-weight:800;color:var(--txt);text-decoration:none}
.brand b{color:var(--oro)}
.crumb{color:var(--mut);font-size:.9rem}
.volver{margin-left:auto;background:var(--oro);color:#171205;font-weight:800;text-decoration:none;
  padding:8px 16px;border-radius:999px;font-size:.88rem}
.layout{display:grid;grid-template-columns:1fr;gap:22px;max-width:1180px;margin:0 auto;padding:20px 16px 10px}
@media(min-width:860px){.layout{grid-template-columns:1.15fr .85fr}}
.panel h1{font-size:1.6rem}
.sub{color:var(--mut);margin:8px 0 16px;line-height:1.55}
fieldset{border:1px solid var(--linea);border-radius:16px;padding:14px;margin-bottom:14px;background:var(--panel)}
legend{font-weight:800;color:var(--oro-l);padding:0 8px}
label{display:block;font-size:.82rem;color:var(--mut);margin-bottom:12px}
input[type="text"],input:not([type]),.panel input:not([type="radio"]){width:100%;margin-top:5px;padding:11px 12px;
  border-radius:11px;border:1px solid var(--linea);background:#0e0e13;color:var(--txt);font-size:.95rem;font-family:inherit}
.row{display:grid;grid-template-columns:1fr;gap:0 12px}
@media(min-width:560px){.row{grid-template-columns:1fr 1fr}}
.swatches{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}
.sw{display:flex;flex-direction:column;align-items:center;gap:5px;font-size:.72rem;color:var(--mut);cursor:pointer;margin:0}
.sw input{position:absolute;opacity:0}
.sw span{width:34px;height:34px;border-radius:50%;border:3px solid transparent;display:block}
.sw input:checked+span{border-color:#fff;box-shadow:0 0 0 2px var(--oro)}
.sw.baya span{background:#b91c4a}.sw.verde span{background:#1e8b3d}.sw.azul span{background:#1f6fd6}
.sw.naranja span{background:#d95d0e}.sw.violeta span{background:#6d28c9}
.modos{display:grid;gap:10px}
.modo{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--linea);border-radius:13px;
  padding:12px;background:#0e0e13;cursor:pointer;margin:0}
.modo input{margin-top:4px}
.modo b{color:var(--txt);font-size:.95rem}
.modo small{display:block;color:var(--mut);margin-top:2px;line-height:1.45}
.modo .urlprev{color:var(--oro-l);font-weight:700}
.prod-row{display:grid;grid-template-columns:52px 1fr 92px;gap:8px;margin-bottom:8px;align-items:start}
.prod-row .pd{grid-column:2/4}
.p-caralab{display:flex;align-items:center;gap:5px;font-size:.78rem;font-weight:700;color:var(--mut);white-space:nowrap;align-self:center;cursor:pointer}
.p-caralab input{width:16px;height:16px;margin:0;accent-color:#2563eb}
.prod-row input{margin-top:0}
.del{align-self:center;background:transparent;border:1px solid var(--linea);color:var(--mut);
  border-radius:9px;padding:7px 9px;cursor:pointer}
.mini{background:transparent;border:1.5px solid var(--oro);color:var(--oro-l);font-weight:800;
  border-radius:999px;padding:9px 16px;cursor:pointer;font-family:inherit}
.hint{color:var(--mut);font-size:.8rem;line-height:1.55;margin-top:10px}
.cta-row{display:flex;gap:10px;flex-wrap:wrap;margin:6px 0 4px}
.cta{background:var(--oro);color:#171205;font-weight:900;font-size:1rem;border:0;border-radius:13px;
  padding:14px 22px;cursor:pointer;font-family:inherit}
.cta.ghost{background:transparent;color:var(--oro-l);border:1.5px solid var(--oro)}
.preview{position:relative}
@media(min-width:860px){.preview{position:sticky;top:76px;align-self:start}}
.phone{width:min(390px,100%);margin:0 auto;border:10px solid #23232c;border-radius:36px;overflow:hidden;
  box-shadow:0 24px 60px rgba(0,0,0,.5);background:#fff}
.phone iframe{width:100%;height:700px;border:0;display:block}
.pv-note{text-align:center;color:var(--mut);font-size:.8rem;margin-top:10px}
.pv-note a{color:var(--oro-l)}
.foot{text-align:center;color:var(--mut);font-size:.78rem;padding:16px}
.foot a{color:var(--oro-l)}
/* v3 · caja de modo edición (la tarjeta se edita desde ella misma) */
.editbox{background:#fdf6ec;border:1.5px solid #dfa83e;border-radius:14px;padding:14px 16px;margin:0 0 16px}
.editmsg{font-weight:800;font-size:.92rem;line-height:1.45}
.editbox .cta-row{margin-top:10px}
.editbox .cta{text-decoration:none;display:inline-flex;align-items:center}
.p-cat{max-width:130px}

/* ===== Candado de edición (2026-10-30): puerta de acceso del dueño ===== */
.authgate{position:fixed;inset:0;z-index:200;background:rgba(5,5,10,.78);
  display:flex;align-items:center;justify-content:center;padding:18px}
.authgate[hidden]{display:none}
.authgate-box{background:var(--panel,#17171f);color:var(--txt,#f2f2f5);
  border:1px solid var(--linea,#2c2c38);border-radius:16px;max-width:360px;width:100%;
  padding:24px 22px 18px;box-shadow:0 24px 60px rgba(0,0,0,.55)}
.authgate-box h2{margin:0 0 6px;font-size:20px}
.authgate-box p{margin:0 0 10px;font-size:13.5px;line-height:1.45;color:var(--mut,#a7a7b5)}
.authgate-box label{display:block;font-size:11px;font-weight:800;letter-spacing:.6px;
  text-transform:uppercase;margin:10px 0 4px;color:var(--mut,#a7a7b5)}
.authgate-box input{width:100%;box-sizing:border-box;font:inherit;font-size:16px;
  padding:11px 12px;border:1px solid var(--linea,#2c2c38);border-radius:11px;
  background:#0e0e13;color:var(--txt,#f2f2f5)}
.authgate-err{background:#3a1420;color:#ff9db0;font-weight:700;font-size:13px;
  border-radius:10px;padding:8px 10px;margin:10px 0 0}
.authgate-err[hidden]{display:none}
.authgate-btn{width:100%;margin-top:14px;font:inherit;font-weight:900;padding:12px;
  border:0;border-radius:12px;background:var(--oro,#e8b93c);color:#171205;cursor:pointer}
.authgate-btn[disabled]{opacity:.55;cursor:wait}
.authgate-back{display:block;text-align:center;margin-top:12px;font-size:13px;
  color:var(--oro-l,#f5d67a);font-weight:700;text-decoration:none}
