/* dosmesas — diseños que elige cada negocio (Ajustes › Diseño).
   p-*: su panel (3). c-*: lo que ven sus clientes: reservas, club y carta (5).
   Cada diseño redefine las variables de app.css y retoca solo lo que las variables no alcanzan.
   Los selectores :is(html,.tp) valen también para las miniaturas de Ajustes (.tp), que llevan el mismo data-theme. */

/* ============ Oscuros (panel Noche y clientes Cóctel): base común ============ */
:is(html,.tp):is([data-theme=p-noche],[data-theme=c-coctel],[data-theme=c-neon]){
  --brand:var(--brand-dark,#6f8fd8);
  --ink:#f2f2f5;--ink-2:#c9c9ce;--muted:#9a9aa3;
  --line:rgba(255,255,255,.09);--line-2:rgba(255,255,255,.17);--fill:rgba(255,255,255,.07);--fill-2:rgba(255,255,255,.13);
  --ok:#32d15a;--warn:#ffa126;--bad:#ff5a4f;
  --ok-bg:rgba(50,209,90,.16);--warn-bg:rgba(255,161,38,.16);--bad-bg:rgba(255,90,79,.16);
  color-scheme:dark}
html:is([data-theme=p-noche],[data-theme=c-coctel],[data-theme=c-neon]) :is(.card,.list,.side,.bottom-nav,.toast,.save-bar){background-image:linear-gradient(155deg,rgba(255,255,255,.05),transparent 40%)}
html:is([data-theme=p-noche],[data-theme=c-coctel],[data-theme=c-neon]) .btn.ghost{box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 0 0 .5px var(--line-2)}
html:is([data-theme=p-noche],[data-theme=c-coctel],[data-theme=c-neon]) .chip[aria-current]{color:var(--bg)}
html:is([data-theme=p-noche],[data-theme=c-coctel],[data-theme=c-neon]) .toast{background:rgba(40,42,50,.86);border-color:rgba(255,255,255,.08)}
html:is([data-theme=p-noche],[data-theme=c-coctel],[data-theme=c-neon]) .slots button{box-shadow:0 0 0 .5px var(--line-2)}
html:is([data-theme=p-noche],[data-theme=c-coctel],[data-theme=c-neon]) .tabs a[aria-current],html:is([data-theme=p-noche],[data-theme=c-coctel],[data-theme=c-neon]) .seg input:checked+span{box-shadow:0 1px 3px rgba(0,0,0,.4)}
html:is([data-theme=p-noche],[data-theme=c-coctel],[data-theme=c-neon]) input[type=color]{background:var(--fill-2)}
html:is([data-theme=p-noche],[data-theme=c-coctel],[data-theme=c-neon]) .demo-bar{background:color-mix(in srgb,var(--brand) 18%,var(--solid))}
html:is([data-theme=p-noche],[data-theme=c-coctel],[data-theme=c-neon]) .progress>i{background:var(--brand)}
html:is([data-theme=p-noche],[data-theme=c-coctel],[data-theme=c-neon]) :is(.days a[aria-current],.days a[aria-current] :is(b,small),.slots button[aria-pressed=true],.btn:not(.ghost,.soft,.link,.danger)){color:var(--on-brand-dark,#fff)}
html:is([data-theme=p-noche],[data-theme=c-coctel],[data-theme=c-neon]) :is(.btn.soft,.btn.soft:hover){background:color-mix(in srgb,var(--brand) 22%,transparent);color:color-mix(in srgb,var(--brand) 45%,#fff)}
html:is([data-theme=p-noche],[data-theme=c-coctel],[data-theme=c-neon]) .tag.confirmed,html:is([data-theme=p-noche],[data-theme=c-coctel],[data-theme=c-neon]) .tag.lock{color:color-mix(in srgb,var(--brand) 45%,#fff)}
html:is([data-theme=p-noche],[data-theme=c-coctel],[data-theme=c-neon]) .steps>section>h2 span{color:var(--on-brand-dark,#fff)}

/* ============ PANEL · Noche ============ */
:is(html,.tp)[data-theme=p-noche]{
  --bg:#101217;--solid:#1b1e25;
  --glass:rgba(29,32,40,.74);--glass-strong:rgba(35,38,47,.9);--glass-edge:rgba(255,255,255,.07);
  --glass-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 0 0 .5px rgba(0,0,0,.4),0 12px 30px -12px rgba(0,0,0,.6)}
html[data-theme=p-noche] body::before{background:
  radial-gradient(42% 38% at 8% 4%,color-mix(in srgb,var(--brand-raw,#1d3f8f) 26%,transparent),transparent 72%),
  radial-gradient(40% 36% at 92% 100%,color-mix(in srgb,var(--accent) 12%,transparent),transparent 72%),var(--bg)}

/* ============ PANEL · Comanda (papel) ============ */
:is(html,.tp)[data-theme=p-papel]{
  --bg:#f3efe6;--solid:#fffdf7;--ink:#161513;--ink-2:#34322d;--muted:#625d52;--ok:#15692c;--warn:#8f4000;
  --line:#e2dccd;--line-2:#cfc7b3;--fill:#ece6d8;--fill-2:#e3dccb;
  --glass:#fffdf7;--glass-strong:#fffdf7;--glass-edge:#ddd6c6;--glass-shadow:0 1px 0 #e6e0d1;--blur:none;
  --r-xl:8px;--r-lg:6px;--r:5px;--r-sm:4px;
  --display:"Avenir Next Condensed","Helvetica Neue Condensed","Roboto Condensed","Arial Narrow",sans-serif;
  --rounded:"Avenir Next Condensed","DIN Alternate","Roboto Condensed","Arial Narrow",sans-serif}
html[data-theme=p-papel] body::before{background:var(--bg)}
html[data-theme=p-papel] :is(.card,.list,.side,.bottom-nav,.toast,.save-bar){background-image:none}
html[data-theme=p-papel] h1,html[data-theme=p-papel] .page-head h1{font-weight:700;letter-spacing:-.01em;text-transform:uppercase}
html[data-theme=p-papel] h2{text-transform:uppercase;letter-spacing:.04em;font-size:.95rem;font-family:var(--display)}
html[data-theme=p-papel] .btn{box-shadow:none;letter-spacing:.02em}
html[data-theme=p-papel] .btn.ghost{background:var(--solid);box-shadow:0 0 0 1px var(--line-2)}
html[data-theme=p-papel] .list .item+.item::before,html[data-theme=p-papel] .list .res+.res::before{background:none;border-top:1px dashed var(--line-2);height:0}
html[data-theme=p-papel] .nav a[aria-current]{background:var(--ink);color:var(--solid)}
html[data-theme=p-papel] .nav a[aria-current] .i{color:var(--solid)}
html[data-theme=p-papel] .tabs a[aria-current]{box-shadow:0 0 0 1px var(--line-2)}
html[data-theme=p-papel] .stat,html[data-theme=p-papel] .res .time{font-weight:700}
html[data-theme=p-papel] .bottom-nav{border-radius:10px}
html[data-theme=p-papel] .bottom-nav a{border-radius:6px}

/* Panel: letra grande y modo compacto */
html[data-size=lg] body{font-size:17px}
html[data-size=lg] .nav a{font-size:1.02rem;padding:12px 13px}
html[data-size=lg] .btn{font-size:16.5px;min-height:48px}
html[data-size=lg] .res .time{font-size:1.2rem}
html[data-size=lg] .item .sub,html[data-size=lg] .res .meta{font-size:.94rem}
html[data-density=compact] .main{padding-top:22px}
html[data-density=compact] .card{padding:16px}
html[data-density=compact] .stack>*+*{margin-top:12px}
html[data-density=compact] .list .item{padding:9px 14px}
html[data-density=compact] .res{padding:8px 14px;gap:10px}
html[data-density=compact] .page-head{margin-bottom:16px}
html[data-density=compact] .page-head h1{font-size:1.6rem}
html[data-density=compact] .table td{padding:8px 12px}

/* ============ CLIENTES · Cóctel ============ */
:is(html,.tp)[data-theme=c-coctel]{
  --bg:#14110f;--solid:#1f1a17;--accent:var(--accent-dark,#d8b77a);
  --glass:rgba(34,29,25,.76);--glass-strong:rgba(42,36,31,.92);--glass-edge:rgba(255,236,210,.08);
  --glass-shadow:inset 0 1px 0 rgba(255,236,210,.06),0 16px 36px -16px rgba(0,0,0,.7);
  --ink:#f6efe4;--ink-2:#d8cdbd;--muted:#9c9185;
  --display:"Didot","Bodoni 72","Bodoni MT","Playfair Display",Georgia,serif}
html[data-theme=c-coctel] body::before{background:
  radial-gradient(50% 40% at 50% -6%,color-mix(in srgb,var(--accent-raw,#caa15c) 22%,transparent),transparent 72%),
  radial-gradient(40% 40% at 100% 100%,color-mix(in srgb,var(--brand-raw,#1d3f8f) 20%,transparent),transparent 72%),var(--bg)}
html[data-theme=c-coctel] h1{font-weight:400;font-size:2.4rem;letter-spacing:0}
html[data-theme=c-coctel] h2{font-family:var(--display);font-weight:400;font-size:1.35rem;letter-spacing:.01em}
html[data-theme=c-coctel] .pub-head strong{font-family:var(--display);font-weight:400;font-size:1.3rem!important;letter-spacing:.06em;text-transform:uppercase}
html[data-theme=c-coctel] .pub-head{border-bottom-color:color-mix(in srgb,var(--accent) 35%,transparent)}
html[data-theme=c-coctel] .steps>section>h2 span{background:none;border:1px solid var(--accent);color:var(--accent);font-family:var(--display)}
html[data-theme=c-coctel] :is(.slots button[aria-pressed=true],.btn:not(.ghost,.soft,.link,.danger),.days a[aria-current]){background:var(--accent);color:var(--on-accent-dark,#14110f)}
html[data-theme=c-coctel] a{color:var(--accent)}
html[data-theme=c-coctel] .loyalty-card{box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 40%,transparent),0 30px 60px -28px rgba(0,0,0,.9)}

/* ============ CLIENTES · Bistró ============ */
:is(html,.tp)[data-theme=c-bistro]{
  --bg:#f5eee0;--solid:#fffaf0;--ink:#2a2118;--ink-2:#4a3d30;--muted:#6b5e4f;--ok:#15692c;--bad:#b3000f;
  --line:#e4d8c1;--line-2:#d3c3a5;--fill:#efe5d2;--fill-2:#e7dbc4;
  --glass:#fffaf0;--glass-strong:#fffaf0;--glass-edge:#e0d2b8;--glass-shadow:0 1px 2px rgba(80,55,20,.08);--blur:none;
  --r-xl:10px;--r-lg:8px;--r:6px;--r-sm:5px;
  --sans:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif;
  --display:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;
  --rounded:"Iowan Old Style",Palatino,Georgia,serif}
html[data-theme=c-bistro] body::before{background:var(--bg)}
html[data-theme=c-bistro] :is(.card,.qr-box){background-image:none;box-shadow:0 0 0 1px var(--glass-edge),0 0 0 5px var(--solid),0 0 0 6px var(--line-2)}
html[data-theme=c-bistro] .pub-head{background:var(--bg);box-shadow:none;border-bottom:3px double var(--line-2)}
html[data-theme=c-bistro] .pub-head .wrap{justify-content:center}
html[data-theme=c-bistro] .pub-head strong{font-style:italic;font-weight:600;font-size:1.35rem!important}
html[data-theme=c-bistro] h1{font-weight:600;font-style:italic;letter-spacing:0}
html[data-theme=c-bistro] h2{font-weight:600;letter-spacing:.02em}
html[data-theme=c-bistro] .btn{box-shadow:none;text-transform:uppercase;letter-spacing:.08em;font-size:14px;font-family:var(--sans)}
html[data-theme=c-bistro] .slots button{box-shadow:0 0 0 1px var(--line-2);font-family:var(--sans)}
html[data-theme=c-bistro] .steps>section>h2 span{background:none;border:1px solid var(--ink);color:var(--ink);font-style:italic}
html[data-theme=c-bistro] .loyalty-card{border-radius:10px}
html[data-theme=c-bistro] .list .item+.item::before{background:none;border-top:1px dotted var(--line-2);height:0}

/* ============ CLIENTES · Terraza ============ */
:is(html,.tp)[data-theme=c-terraza]{
  --bg:color-mix(in srgb,var(--accent-raw,#c8102e) 6%,#fffaf3);--solid:#fff;--muted:#5f5f66;--ok:#15692c;
  --glass:#fff;--glass-strong:#fff;--glass-edge:transparent;--blur:none;
  --glass-shadow:0 14px 30px -18px color-mix(in srgb,var(--brand-raw,#1d3f8f) 55%,transparent),0 2px 6px -2px rgba(0,0,0,.06);
  --r-xl:34px;--r-lg:28px;--r:22px;--r-sm:16px;
  --sans:ui-rounded,"SF Pro Rounded","Nunito","Varela Round",-apple-system,"Segoe UI",sans-serif;
  --display:ui-rounded,"SF Pro Rounded","Nunito",-apple-system,sans-serif}
html[data-theme=c-terraza] body::before{background:
  radial-gradient(30% 26% at 100% 0%,color-mix(in srgb,var(--accent) 30%,transparent),transparent 70%),
  radial-gradient(34% 30% at 0% 100%,color-mix(in srgb,var(--brand-raw,#1d3f8f) 18%,transparent),transparent 70%),var(--bg)}
html[data-theme=c-terraza] .pub-head{background:var(--brand);color:#fff;box-shadow:0 10px 24px -16px var(--brand)}
html[data-theme=c-terraza] .pub-head img{background:#fff;padding:4px;border-radius:12px}
html[data-theme=c-terraza] :is(.card,.qr-box){background-image:none}
html[data-theme=c-terraza] h1{font-weight:800;letter-spacing:-.02em}
html[data-theme=c-terraza] .btn{border-radius:99px;font-weight:700}
html[data-theme=c-terraza] .slots button{border-radius:99px;background:color-mix(in srgb,var(--brand) 9%,#fff);box-shadow:none;font-weight:700}
html[data-theme=c-terraza] .slots button[aria-pressed=true]{background:var(--accent)}
html[data-theme=c-terraza] .steps>section>h2 span{background:var(--accent)}
html[data-theme=c-terraza] input,html[data-theme=c-terraza] select{border-radius:16px}
html[data-theme=c-terraza] .loyalty-card{border-radius:28px}

/* ============ CLIENTES · Galería ============ */
:is(html,.tp)[data-theme=c-galeria]{
  --bg:#fff;--solid:#fff;--ok:#15692c;--ink:#0a0a0a;--ink-2:#262626;--muted:#6b6b6b;
  --line:#e6e6e6;--line-2:#0a0a0a;--fill:#f3f3f3;--fill-2:#e9e9e9;
  --glass:#fff;--glass-strong:#fff;--glass-edge:#0a0a0a;--glass-shadow:none;--blur:none;
  --r-xl:0;--r-lg:0;--r:0;--r-sm:0;
  --sans:"Helvetica Neue",Helvetica,Arial,sans-serif;--display:"Helvetica Neue",Helvetica,Arial,sans-serif;--rounded:"Helvetica Neue",Helvetica,Arial,sans-serif}
html[data-theme=c-galeria] body::before{background:var(--bg)}
html[data-theme=c-galeria] :is(.card,.qr-box,.list){background-image:none;border-width:1px}
html[data-theme=c-galeria] .pub-head{border-bottom:1px solid var(--ink)}
html[data-theme=c-galeria] .pub-head strong{text-transform:uppercase;letter-spacing:.14em;font-size:.95rem!important}
html[data-theme=c-galeria] h1{font-weight:800;font-size:2.6rem;letter-spacing:-.04em;text-transform:uppercase;line-height:1}
html[data-theme=c-galeria] h2{text-transform:uppercase;letter-spacing:.1em;font-size:.82rem;font-weight:700}
html[data-theme=c-galeria] .btn{background:var(--ink);color:#fff;box-shadow:none;text-transform:uppercase;letter-spacing:.1em;font-size:13px}
html[data-theme=c-galeria] .btn.ghost{background:#fff;color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
html[data-theme=c-galeria] .slots button{box-shadow:inset 0 0 0 1px var(--line);background:#fff}
html[data-theme=c-galeria] .slots button:hover{box-shadow:inset 0 0 0 1px var(--ink)}
html[data-theme=c-galeria] .slots button[aria-pressed=true]{background:var(--ink);color:#fff}
html[data-theme=c-galeria] .steps>section>h2 span{background:var(--ink);border-radius:0}
html[data-theme=c-galeria] input:focus,html[data-theme=c-galeria] select:focus,html[data-theme=c-galeria] textarea:focus{border-color:var(--ink);box-shadow:none}
html[data-theme=c-galeria] a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
html[data-theme=c-galeria] .loyalty-card{border-radius:2px}

/* Clientes: tipografía y esquinas elegidas a mano (mandan sobre las del diseño) */
:is(html,.tp)[data-font=sans]{--sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--display:var(--sans);--rounded:var(--sans)}
:is(html,.tp)[data-font=serif]{--sans:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;--display:var(--sans);--rounded:var(--sans)}
:is(html,.tp)[data-font=rounded]{--sans:ui-rounded,"SF Pro Rounded","Nunito","Varela Round",-apple-system,sans-serif;--display:var(--sans);--rounded:var(--sans)}
:is(html,.tp)[data-font=condensed]{--sans:"Avenir Next Condensed","Roboto Condensed","Arial Narrow",sans-serif;--display:var(--sans);--rounded:var(--sans)}
:is(html,.tp)[data-corners=round]{--r-xl:26px;--r-lg:20px;--r:14px;--r-sm:11px}
:is(html,.tp)[data-corners=square]{--r-xl:0;--r-lg:0;--r:0;--r-sm:0}
html[data-corners=square] :is(.btn,.slots button,.loyalty-card,.card-qr,.qr-box img){border-radius:0}
html[data-corners=round] :is(.btn,.slots button){border-radius:14px}
html[data-corners=round] .loyalty-card{border-radius:22px}

/* ============ Miniaturas de Ajustes › Diseño ============ */
.tp{--brand:var(--brand-raw,#1d3f8f);--accent:var(--accent-raw,#c8102e);
  --bg:#f6f6f9;--ink:#1d1d1f;--ink-2:#3a3a3c;--muted:#6e6e73;--line:rgba(60,60,67,.13);--line-2:rgba(60,60,67,.22);--fill:rgba(118,118,128,.12);--fill-2:rgba(118,118,128,.2);
  --solid:#fff;--glass:rgba(255,255,255,.74);--glass-strong:rgba(255,255,255,.88);--glass-edge:rgba(255,255,255,.9);
  --glass-shadow:inset 0 1px 0 rgba(255,255,255,.85),0 0 0 .5px rgba(0,0,0,.06),0 6px 16px -8px rgba(0,0,0,.14);
  --r-xl:26px;--r-lg:20px;--r:14px;--r-sm:11px;
  --sans:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --display:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",Roboto,sans-serif;
  --rounded:ui-rounded,"SF Pro Rounded",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}
.tp:is([data-theme=p-cristal],[data-theme=c-cristal]){background:radial-gradient(60% 55% at 0 0,color-mix(in srgb,var(--brand) 16%,transparent),transparent),var(--bg)}
.tp{display:block;background:var(--bg);color:var(--ink);font-family:var(--sans);border-radius:12px;overflow:hidden;height:150px;position:relative;pointer-events:none;
  box-shadow:0 0 0 .5px rgba(0,0,0,.12)}
.tp .tp-bar{display:flex;align-items:center;gap:6px;height:24px;padding:0 10px;background:var(--glass-strong);border-bottom:1px solid var(--line);font:600 9px var(--display);color:var(--ink)}
.tp .tp-bar i{width:10px;height:10px;border-radius:3px;background:var(--brand)}
.tp[data-theme=c-terraza] .tp-bar{background:var(--brand);color:#fff;border:0}
.tp[data-theme=c-bistro] .tp-bar{justify-content:center;font-style:italic;background:var(--bg);border-bottom:3px double var(--line-2)}
.tp[data-theme=c-galeria] .tp-bar{text-transform:uppercase;letter-spacing:.14em;border-bottom-color:var(--ink)}
.tp .tp-side{position:absolute;left:8px;top:8px;bottom:8px;width:30%;border-radius:var(--r-sm);background:var(--glass);box-shadow:var(--glass-shadow);border:1px solid var(--glass-edge);padding:8px 6px}
.tp .tp-side b{display:block;height:6px;border-radius:3px;background:var(--fill-2);margin-bottom:6px}
.tp .tp-side b:nth-child(2){background:var(--brand)}
.tp[data-theme=p-papel] .tp-side b:nth-child(2){background:var(--ink)}
.tp .tp-main{position:absolute;top:8px;right:8px;bottom:8px;left:calc(30% + 16px)}
.tp .tp-body{padding:10px 12px}
.tp .tp-h{font:700 13px/1.1 var(--display);margin-bottom:7px;color:var(--ink)}
.tp[data-theme=c-coctel] .tp-h{font-weight:400;font-size:15px}
.tp[data-theme=c-bistro] .tp-h{font-style:italic}
.tp[data-theme=c-galeria] .tp-h,.tp[data-theme=p-papel] .tp-h{text-transform:uppercase}
.tp .tp-card{background:var(--glass);border:1px solid var(--glass-edge);box-shadow:var(--glass-shadow);border-radius:var(--r);padding:7px 8px;margin-bottom:6px}
.tp[data-theme=c-bistro] .tp-card{box-shadow:0 0 0 1px var(--glass-edge),0 0 0 3px var(--solid),0 0 0 4px var(--line-2)}
.tp .tp-line{height:5px;border-radius:3px;background:var(--fill-2);margin:3px 0;width:80%}
.tp .tp-line.s{width:50%;background:var(--line-2)}
.tp .tp-slots{display:flex;gap:4px;margin:4px 0 7px}
.tp .tp-slots span{flex:1;height:14px;border-radius:var(--r-sm);background:var(--glass-strong);box-shadow:0 0 0 .5px var(--line-2);font:600 7px/14px var(--rounded);text-align:center;color:var(--ink)}
.tp .tp-slots span.on{background:var(--brand);color:#fff;box-shadow:none}
.tp[data-theme=c-coctel] .tp-slots span.on{background:var(--accent);color:var(--on-accent-dark,#14110f)}
.tp[data-theme=c-terraza] .tp-slots span{border-radius:99px}
.tp[data-theme=c-terraza] .tp-slots span.on{background:var(--accent)}
.tp[data-theme=c-galeria] .tp-slots span.on{background:var(--ink)}
.tp .tp-btn{display:inline-block;height:15px;padding:0 10px;border-radius:var(--r-sm);background:var(--brand);color:#fff;font:700 7px/15px var(--sans)}
.tp[data-theme=c-coctel] .tp-btn{background:var(--accent);color:var(--on-accent-dark,#14110f)}
.tp[data-theme=c-terraza] .tp-btn{border-radius:99px}
.tp[data-theme=c-galeria] .tp-btn{background:var(--ink);text-transform:uppercase;letter-spacing:.1em}
.tp[data-theme=c-bistro] .tp-btn{text-transform:uppercase;letter-spacing:.1em}
.tp[data-theme=p-papel] .tp-btn{background:var(--ink)}
.tp.tp-noche,.tp[data-theme=p-noche]{background:radial-gradient(60% 50% at 0 0,color-mix(in srgb,var(--brand-raw,#1d3f8f) 30%,transparent),transparent),var(--bg)}
.tp[data-theme=c-coctel]{background:radial-gradient(60% 50% at 50% 0,color-mix(in srgb,var(--accent-raw,#caa15c) 26%,transparent),transparent),var(--bg)}

.theme-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}
.theme-opt{position:relative;margin:0;cursor:pointer;font-weight:400}
.theme-opt input{position:absolute;opacity:0;pointer-events:none}
.theme-opt .tp{transition:box-shadow .2s var(--ease),transform .2s var(--spring)}
.theme-opt:hover .tp{transform:translateY(-2px)}
.theme-opt input:checked~.tp{box-shadow:0 0 0 3px var(--brand),0 10px 24px -12px rgba(0,0,0,.35)}
.theme-opt input:focus-visible~.tp{outline:3px solid color-mix(in srgb,var(--brand) 45%,transparent);outline-offset:3px}
.theme-opt .t-name{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:9px;font-weight:650;color:var(--ink)}
.theme-opt .t-desc{display:block;font-size:.83rem;color:var(--muted);line-height:1.35;margin-top:2px}
.theme-opt .t-check{width:20px;height:20px;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--line-2);flex:none;display:grid;place-items:center}
.theme-opt input:checked~.t-name .t-check{background:var(--brand);box-shadow:none}
.theme-opt input:checked~.t-name .t-check::after{content:"";width:9px;height:5px;border:solid #fff;border-width:0 0 2px 2px;transform:rotate(-45deg) translate(1px,-1px)}
.theme-opt .t-see{font-size:.83rem;font-weight:600;pointer-events:auto}

/* ============ Neón (clubs de copas): negro, brillo magenta y cian, letra fuerte ============ */
:is(html,.tp)[data-theme=c-neon]{
  --bg:#0b0710;--solid:#15101c;--accent:#ff3ea5;--accent-2:#2ee6ff;
  --glass:rgba(24,16,32,.78);--glass-strong:rgba(30,20,40,.92);--glass-edge:rgba(255,62,165,.14);
  --glass-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 18px 40px -18px rgba(255,62,165,.28);
  --ink:#f7f2ff;--ink-2:#d6cbe6;--muted:#9a8db0;
  --display:"Futura","Avenir Next Condensed","Arial Narrow","Helvetica Neue",sans-serif}
html[data-theme=c-neon] body::before{background:
  radial-gradient(45% 35% at 15% -5%,rgba(255,62,165,.28),transparent 70%),
  radial-gradient(40% 35% at 95% 10%,rgba(46,230,255,.18),transparent 70%),var(--bg)}
html[data-theme=c-neon] :is(h1,h2,.pub-head strong){font-family:var(--display);text-transform:uppercase;letter-spacing:.06em}
html[data-theme=c-neon] h1{font-weight:800;font-size:2.3rem;color:#fff;text-shadow:0 0 18px rgba(255,62,165,.65),0 0 2px #fff}
html[data-theme=c-neon] h2{font-weight:700;color:var(--accent-2);text-shadow:0 0 12px rgba(46,230,255,.45)}
html[data-theme=c-neon] .pub-head{border-bottom-color:rgba(255,62,165,.35)}
html[data-theme=c-neon] :is(.slots button[aria-pressed=true],.btn:not(.ghost,.soft,.link,.danger),.days a[aria-current]){background:var(--accent);color:#fff;box-shadow:0 0 22px -4px rgba(255,62,165,.8)}
html[data-theme=c-neon] a{color:var(--accent-2)}
html[data-theme=c-neon] .steps>section>h2 span{background:none;border:1.5px solid var(--accent);color:var(--accent);box-shadow:0 0 10px rgba(255,62,165,.5)}
html[data-theme=c-neon] .loyalty-card{box-shadow:0 0 0 1px rgba(255,62,165,.45),0 0 40px -10px rgba(255,62,165,.55),0 30px 60px -28px rgba(0,0,0,.9)}
.tp[data-theme=c-neon]{background:radial-gradient(60% 50% at 20% 0,rgba(255,62,165,.3),transparent),var(--bg)}
.tp[data-theme=c-neon] .tp-h{font-family:var(--display);text-transform:uppercase;letter-spacing:.06em;color:#fff;text-shadow:0 0 10px rgba(255,62,165,.7)}
.tp[data-theme=c-neon] :is(.tp-slots span.on,.tp-btn){background:var(--accent);color:#fff;box-shadow:0 0 12px rgba(255,62,165,.7)}
@media (prefers-reduced-motion:no-preference){html[data-theme=c-neon] h1{animation:neon-flick 6s infinite}}
@keyframes neon-flick{0%,92%,100%{opacity:1}93%{opacity:.55}94%{opacity:1}96%{opacity:.7}97%{opacity:1}}
/* Miniaturas: vista del club (tarjeta de puntos + recompensa) */
.pv-seg{max-width:260px}
#design-form .card:has(#pv-c:checked) .tp-body:not(.tp-club),.pv-only-club .tp-body:not(.tp-club){display:none!important}
#design-form .card:has(#pv-c:checked) .tp-club,.pv-only-club .tp-club{display:block!important}
.tp .tp-lc{display:block;position:relative;height:40px;margin:0 0 6px;padding:5px 9px;border-radius:var(--r);background:linear-gradient(135deg,var(--brand),color-mix(in srgb,var(--brand) 60%,#000));color:#fff;box-shadow:var(--glass-shadow);overflow:hidden}
.tp .tp-lc-top{display:block;font:600 7px/1 var(--sans);opacity:.85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tp .tp-lc b{display:inline-block;font:700 14px/1 var(--display);margin:6px 4px 0 0}
.tp .tp-lc small{font:500 6.5px/1 var(--sans);opacity:.8}
.tp .tp-rw{display:flex;align-items:center;gap:6px}.tp .tp-rw .tp-line{flex:1}
.tp .tp-pts{font:700 7px/1 var(--rounded);color:var(--brand)}
.tp[data-theme=c-coctel] .tp-lc{background:linear-gradient(135deg,#1d1a17,#0d0b0a);color:var(--accent);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 40%,transparent)}
.tp[data-theme=c-coctel] .tp-lc b{font-weight:400}
.tp[data-theme=c-bistro] .tp-lc{border-radius:3px;box-shadow:0 0 0 1px var(--solid),0 0 0 2px var(--line-2)}
.tp[data-theme=c-bistro] .tp-lc b{font-style:italic}
.tp[data-theme=c-terraza] .tp-lc{border-radius:14px;background:linear-gradient(135deg,var(--accent),var(--brand))}
.tp[data-theme=c-galeria] .tp-lc{border-radius:0;background:var(--ink);color:var(--bg)}
.tp[data-theme=c-galeria] .tp-lc-top{text-transform:uppercase;letter-spacing:.14em}
.tp[data-theme=c-neon] .tp-lc{background:#0b0710;color:#fff;box-shadow:0 0 0 1px var(--accent),0 0 14px rgba(255,62,165,.5)}
.tp[data-theme=c-neon] .tp-lc b{text-shadow:0 0 10px rgba(255,62,165,.8)}
.tp[data-theme=c-coctel] .tp-pts,.tp[data-theme=c-neon] .tp-pts{color:var(--accent)}
