/* Kit de interacción (estilo 21st.dev / Magic UI). Solo variables del diseño activo: vale para los 8 diseños. */
:root{--kit-out:cubic-bezier(.16,1,.3,1)}

/* ---- Pestañas y segmentados: indicador que se desliza (recorte animado, sin animar anchos) ---- */
.kit-track{position:relative;isolation:isolate}
.kit-ind{position:absolute;inset:3px 0;z-index:-1;pointer-events:none;background:var(--solid);border-radius:10px;
  box-shadow:0 1px 3px rgba(0,0,0,.1),0 0 0 .5px rgba(0,0,0,.04);
  clip-path:inset(0 calc(100% - var(--l,0px) - var(--w,0px)) 0 var(--l,0px) round 10px);
  transition:clip-path .5s var(--kit-out)}
.kit-ind.no-anim{transition:none}
.kit-track.tabs a[aria-current],.kit-track.seg input:checked+span{background:transparent;box-shadow:none}
.kit-track .kit-ind{box-shadow:none}
html:is([data-theme=p-noche],[data-theme=c-coctel]) .kit-ind{background:var(--fill-2)}
html:is([data-theme=p-papel]) .kit-track.tabs .kit-ind{background:var(--ink)}
html:is([data-theme=p-papel]) .kit-track.tabs a[aria-current]{color:var(--solid)}
html[data-theme=c-galeria] .kit-ind{border-radius:0;clip-path:inset(0 calc(100% - var(--l,0px) - var(--w,0px)) 0 var(--l,0px))}

/* ---- Botón «cargando»: responde al momento y no deja enviar dos veces ---- */
.btn.is-busy{position:relative;color:transparent!important;pointer-events:none;cursor:progress}
.btn.is-busy>*{visibility:hidden}
.btn.is-busy::after{content:"";position:absolute;left:50%;top:50%;width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;
  border:2.25px solid var(--kit-spin-track,rgba(255,255,255,.35));border-top-color:var(--kit-spin,#fff);animation:kit-spin .7s linear infinite}
.btn.is-busy:is(.ghost,.soft,.link,.danger){--kit-spin:var(--ink);--kit-spin-track:var(--line-2)}
.btn.sm.is-busy::after{width:14px;height:14px;margin:-7px 0 0 -7px}
@keyframes kit-spin{to{transform:rotate(360deg)}}

/* ---- Listas que aparecen en cascada (Animated List), solo las primeras filas ---- */
@keyframes kit-row{from{opacity:0;transform:translateY(8px);filter:blur(3px)}to{opacity:1;transform:none;filter:none}}
:is(.list,.cx-list,.cx-route,.cx-history)>:is(.item,.res,.cx-row,li,.cx-tx):nth-child(-n+10){animation:kit-row .5s var(--kit-out) both}
:is(.list,.cx-list,.cx-route,.cx-history)>:nth-child(2){animation-delay:.035s}:is(.list,.cx-list,.cx-route,.cx-history)>:nth-child(3){animation-delay:.07s}
:is(.list,.cx-list,.cx-route,.cx-history)>:nth-child(4){animation-delay:.105s}:is(.list,.cx-list,.cx-route,.cx-history)>:nth-child(5){animation-delay:.14s}
:is(.list,.cx-list,.cx-route,.cx-history)>:nth-child(6){animation-delay:.175s}:is(.list,.cx-list,.cx-route,.cx-history)>:nth-child(7){animation-delay:.21s}
:is(.list,.cx-list,.cx-route,.cx-history)>:nth-child(8){animation-delay:.245s}:is(.list,.cx-list,.cx-route,.cx-history)>:nth-child(n+9){animation-delay:.28s}

/* ---- Foco de luz que sigue al cursor (Magic Card), solo con ratón ---- */
.kit-lit{background-image:radial-gradient(240px circle at var(--sx) var(--sy),color-mix(in srgb,var(--brand) 10%,transparent),transparent 72%)!important}

/* ---- Filas de reserva: toda la fila se puede pulsar (el nombre estira su enlace) ---- */
.res .who::after{content:"";position:absolute;inset:0;border-radius:inherit}
.res .actions{position:relative;z-index:1}
.res:has(.who:hover){background:var(--fill)}
.res:has(.who:active){background:var(--fill-2)}
.res .who:focus-visible{outline:none}
.res:has(.who:focus-visible){box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--brand) 55%,transparent)}

/* ---- Flecha atrás al lado del título (como en las apps) ---- */
.title-row{display:flex;align-items:center;gap:4px;min-width:0}
.title-row h1{margin:0;min-width:0}
.back{flex:none;display:inline-grid;place-items:center;width:40px;height:40px;margin-left:-10px;border-radius:50%;color:var(--brand);text-decoration:none!important;
  transition:background-color .15s,transform .15s}
.back:hover{background:var(--fill)}.back:active{background:var(--fill-2);transform:scale(.92)}
.back .i{width:26px;height:26px;stroke-width:2.2}
.back:focus-visible{outline:3px solid color-mix(in srgb,var(--brand) 45%,transparent);outline-offset:1px}

/* ---- Esqueletos de carga (horas de la página de reservas) ---- */
.kit-sk{display:block;min-height:46px;border-radius:13px;background:linear-gradient(90deg,var(--fill) 0%,var(--fill-2) 40%,var(--fill) 80%);background-size:300% 100%;animation:kit-sheen 1.3s ease-in-out infinite}
@keyframes kit-sheen{from{background-position:100% 0}to{background-position:-50% 0}}

/* ---- Paleta de comandos ⌘K ---- */
.kit-cmd{padding:0;border:0;background:transparent;width:min(620px,calc(100% - 24px));max-height:min(560px,76vh);margin:12vh auto auto;overflow:visible}
.kit-cmd::backdrop{background:rgba(10,10,14,.35);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.kit-cmd[open] .kit-cmd-in{animation:kit-pop .32s var(--kit-out) both}
@keyframes kit-pop{from{opacity:0;transform:scale(.97) translateY(-6px);filter:blur(4px)}}
.kit-cmd-in{display:flex;flex-direction:column;max-height:inherit;border-radius:18px;background:var(--solid);color:var(--ink);border:1px solid var(--line-2);
  box-shadow:0 30px 70px -20px rgba(0,0,0,.45),0 8px 20px -10px rgba(0,0,0,.2);overflow:hidden}
.kit-cmd-q{display:flex;align-items:center;gap:10px;margin:0;padding:6px 14px;border-bottom:1px solid var(--line);font-weight:400}
.kit-cmd-q .i{width:20px;height:20px;color:var(--muted);flex:none}
.kit-cmd-q input{flex:1;border:0;background:transparent;min-height:52px;padding:0;font-size:17px;box-shadow:none!important}
.kit-cmd-q input:focus{background:transparent;border:0}
.kit-cmd kbd{font:600 .72rem var(--mono,monospace);padding:2px 6px;border-radius:6px;background:var(--fill);color:var(--muted);border:1px solid var(--line)}
.kit-cmd-list{overflow:auto;padding:6px;overscroll-behavior:contain}
.kit-cmd-g{padding:10px 10px 4px;font-size:.74rem;font-weight:650;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.kit-cmd-list a{display:flex;align-items:center;min-height:40px;padding:8px 10px;border-radius:10px;color:var(--ink);text-decoration:none!important;font-size:.95rem}
.kit-cmd-list a[aria-selected]{background:var(--fill-2)}
.kit-cmd-foot{display:flex;gap:16px;justify-content:flex-end;padding:8px 14px;border-top:1px solid var(--line);font-size:.78rem;color:var(--muted)}
.kit-cmd-foot kbd{margin-right:3px}
.kit-search{display:flex;align-items:center;gap:10px;width:calc(100% - 4px);margin:0 2px 12px;padding:9px 10px 9px 12px;border-radius:12px;border:0;background:var(--fill);
  color:var(--muted);font:500 .92rem var(--sans);cursor:pointer;text-align:left;transition:background-color .15s}
.kit-search:hover{background:var(--fill-2)}
.kit-search .i{width:18px;height:18px}.kit-search span{flex:1}
.kit-search kbd{font:600 .7rem var(--mono,monospace);padding:1px 6px;border-radius:6px;border:1px solid var(--line-2);color:var(--muted)}
@media (pointer:coarse){.kit-search kbd,.kit-cmd-foot{display:none}}

@media (prefers-reduced-motion:reduce){.kit-ind{transition:none}:is(.list,.cx-list,.cx-route,.cx-history)>*{animation:none!important}.kit-sk{animation:none}.kit-cmd[open] .kit-cmd-in{animation:none}}

/* ---- Ficha de socio en el panel ---- */
.member{display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"av id pts" "act act act";gap:14px 16px;align-items:center;margin:4px 0 22px}
.member-av{grid-area:av;width:60px;height:60px;font-size:1.25rem}
.member-id{grid-area:id;min-width:0}.member-id h1{margin:0 0 4px;font-size:clamp(1.5rem,5vw,2rem);overflow-wrap:anywhere}
.member-meta{display:flex;flex-wrap:wrap;gap:4px 12px;color:var(--muted);font-size:.92rem;align-items:center}
.member-meta .tag{gap:4px}.member-meta .tag .i{width:14px;height:14px}
.member-pts{grid-area:pts;text-align:right;display:flex;flex-direction:column;align-items:flex-end}
.member-pts .stat{font-size:2.2rem}
.member-act{grid-area:act;display:flex;gap:8px;flex-wrap:wrap}
.member-act .btn .i{width:16px;height:16px}
@media (max-width:560px){.member{grid-template-columns:auto 1fr;grid-template-areas:"av id" "pts pts" "act act"}.member-pts{flex-direction:row;align-items:baseline;gap:8px;justify-content:flex-start;padding:12px 16px;border-radius:var(--r-lg);background:var(--fill)}}
.member-meta>span:not(.tag)+span:not(.tag)::before{content:"·";margin-right:10px;opacity:.6}
.kit-cmd input::-webkit-search-cancel-button{display:none}

/* ---- Sin «espasmos»: la entrada solo se anima la primera vez que se abre cada pantalla ---- */
html.is-repeat :is(.main,.pub-main .wrap,.club,.auth,.hero .wrap)>*,
html.is-repeat :is(.list,.cx-list,.cx-route,.cx-history)>*,
html.is-repeat .cx-sec>*,html.is-repeat .cx-bar i,html.is-repeat .progress>i,
html.is-repeat .loyalty-card::after,html.is-repeat .cx-delta span,html.is-repeat .cx-stamp.is-on .cx-seal{animation:none!important}
/* Entre páginas: fundido corto en vez del parpadeo de recarga; las barras de navegación se quedan quietas. */
@view-transition{navigation:auto}
::view-transition-old(root),::view-transition-new(root){animation-duration:.18s;animation-timing-function:ease-out}
.side{view-transition-name:side}.bottom-nav{view-transition-name:bottomnav}.cx-top{view-transition-name:topbar}.cx-nav{view-transition-name:tabbar}
::view-transition-group(side),::view-transition-group(bottomnav),::view-transition-group(topbar),::view-transition-group(tabbar){animation:none}
::view-transition-old(side),::view-transition-old(bottomnav),::view-transition-old(topbar),::view-transition-old(tabbar){display:none}
::view-transition-new(side),::view-transition-new(bottomnav),::view-transition-new(topbar),::view-transition-new(tabbar){animation:none}
@media (prefers-reduced-motion:reduce){@view-transition{navigation:none}}

/* ---- Acción guardada sin recargar: destello breve en lo que ha cambiado ---- */
@keyframes kit-flash{0%{background-color:color-mix(in srgb,var(--brand) 16%,transparent)}100%{background-color:transparent}}
.res.kit-flash{animation:kit-flash 1.4s ease-out}
.member-pts.kit-flash .stat{animation:kit-bump .5s var(--kit-out)}
@keyframes kit-bump{40%{transform:scale(1.06)}}
/* Atrás: «Más» solo en el móvil (en el ordenador está en la barra lateral); «Hoy» solo en el ordenador. */
.back.back-m{display:none}
@media (max-width:900px){.back.back-m{display:inline-grid}.back.back-d{display:none}}
/* Ficha de socio: flecha delante del avatar */
.member{grid-template-columns:auto auto 1fr auto;grid-template-areas:"bk av id pts" "act act act act"}
.member-back{grid-area:bk;margin-left:-10px;margin-right:-6px}
@media (max-width:560px){.member{grid-template-columns:auto auto 1fr;grid-template-areas:"bk av id" "pts pts pts" "act act act"}}

/* ---- Plan a medida ---- */
.pb-cols{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px;align-items:start}
.pb-groups{display:grid;gap:14px}
.pb-group{margin:0;padding:6px 18px 10px;border:0;border-radius:var(--r-lg);background:var(--glass);border:1px solid var(--glass-edge);box-shadow:var(--glass-shadow)}
.pb-group legend{float:left;width:100%;padding:12px 0 6px;font:650 1rem var(--display)}
.pb-item{clear:both;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:start;margin:0;padding:11px 0;border-top:1px solid var(--line);font-weight:400;cursor:pointer}
.pb-group legend+.pb-item{border-top:0}
.pb-item input{margin-top:3px}
.pb-txt b{display:block;font-weight:620;color:var(--ink)}.pb-txt small{display:block;font-size:.84rem;color:var(--muted);line-height:1.4;margin-top:1px}
.pb-price{font:650 .92rem var(--rounded);font-variant-numeric:tabular-nums;color:var(--muted);white-space:nowrap;padding-top:1px;transition:color .2s}
.pb-item.is-on .pb-price{color:var(--brand)}
.pb-sum{position:sticky;top:18px;display:flex;flex-direction:column;gap:6px;padding:20px;border-radius:var(--r-lg);background:var(--solid);box-shadow:0 0 0 1px var(--line-2),0 18px 40px -26px rgba(0,0,0,.35)}
.pb-sum-l{font-size:.86rem;color:var(--muted)}
.pb-total{font-family:var(--rounded);color:var(--ink)}.pb-total b{font-size:2.6rem;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.pb-total small{font-size:.9rem;color:var(--muted);margin-left:4px}
.pb-count{font-size:.9rem;color:var(--ink-2)}
.pb-base{margin:4px 0 6px;font-size:.8rem;color:var(--muted);line-height:1.4}
.pb-hint{margin:0 0 8px;padding:10px 12px;border-radius:var(--r);background:var(--warn-bg);color:var(--ink);font-size:.86rem;line-height:1.4}
@media (max-width:860px){.pb-cols{grid-template-columns:1fr}.pb-sum{position:sticky;bottom:calc(92px + env(safe-area-inset-bottom));top:auto;z-index:5}}

/* CRM: clientes y campañas */
.crm-list .crm-mail{width:22px;display:grid;place-items:center;color:var(--ok)}.crm-list .crm-mail .i{width:16px;height:16px}
.crm-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:1px;margin:0 0 16px;border-radius:var(--r-lg,16px);overflow:hidden;background:var(--line);box-shadow:0 0 0 1px var(--line)}
.crm-facts div{background:var(--glass-strong,var(--solid));padding:12px 14px;display:flex;flex-direction:column;gap:2px}
.crm-facts span{font-size:.76rem;color:var(--muted)}.crm-facts b{font-size:1.15rem;font-variant-numeric:tabular-nums}
.crm-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}
@media(max-width:900px){.crm-grid{grid-template-columns:1fr}.crm-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.crm-facts>div:last-child:nth-child(odd){grid-column:1/-1}}
.crm-consent.is-ok{box-shadow:inset 3px 0 0 var(--ok)}
.crm-h{font-size:1rem;margin:18px 0 10px}
.crm-tpl-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}
.crm-tpl button{all:unset;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;gap:4px;width:100%;height:100%;padding:14px;border-radius:var(--r-lg,16px);background:var(--glass-strong,var(--solid));box-shadow:0 0 0 1px var(--line);transition:box-shadow .2s,transform .2s cubic-bezier(.16,1,.3,1)}
.crm-tpl button:hover{box-shadow:0 0 0 1px color-mix(in srgb,var(--brand) 45%,var(--line));transform:translateY(-1px)}
.crm-tpl button:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.crm-tpl b{font-size:.95rem}.crm-tpl span{font-size:.86rem;color:var(--ink-2)}.crm-tpl small{font-size:.76rem;color:var(--muted);margin-top:auto;padding-top:6px}
.crm-merge{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 8px}.crm-merge .chip{padding:4px 11px;font-size:.8rem;cursor:pointer;border:0}
.crm-editor textarea{min-height:220px;line-height:1.5}
.crm-send{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.crm-preview-card{position:sticky;top:16px}
.crm-inbox{display:flex;flex-direction:column;padding:10px 12px;border-radius:12px;background:var(--fill);margin-bottom:10px}
.crm-inbox b{font-size:.92rem}.crm-inbox span{font-size:.78rem;color:var(--muted)}
.crm-preview{border-radius:12px;overflow:hidden;box-shadow:0 0 0 1px var(--line);max-height:640px;overflow-y:auto;background:#f4f1ea}
.crm-preview table{width:100%!important;max-width:100%!important}
@media(max-width:900px){.crm-preview-card{position:static}}

/* Reserva de un cliente conocido: sus datos ya puestos */
.bk-me{display:flex;align-items:center;gap:12px;padding:12px;border-radius:14px;background:color-mix(in srgb,var(--brand) 7%,var(--glass-strong,#fff));box-shadow:0 0 0 1px color-mix(in srgb,var(--brand) 18%,var(--line));margin-bottom:12px}
.bk-me[hidden]{display:none}
.bk-me-av{flex:0 0 40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--brand);color:#fff;font-weight:700;font-size:.85rem}
.bk-me-txt{flex:1;min-width:0}.bk-me-txt b{display:block}.bk-me-txt small{display:block;color:var(--muted);font-size:.82rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
[data-me-fields][hidden]{display:none}

/* Plataforma */
.pf-search input{min-width:240px}
.pf-kpis small{font-size:.74rem;color:var(--muted)}
.pf-bars{display:grid;grid-template-columns:repeat(12,1fr);gap:6px;align-items:end;height:120px}
.pf-bars span{height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px}
.pf-bars i{display:block;width:100%;height:max(3px,var(--h));border-radius:6px 6px 2px 2px;background:color-mix(in srgb,var(--brand) 70%,transparent)}
.pf-bars small{font-size:.7rem;color:var(--muted);min-height:1em}
.pf-row{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}
.pf-row:last-child{border-bottom:0}
.pf-meter{width:110px;height:6px;border-radius:99px;background:var(--fill);overflow:hidden}.pf-meter i{display:block;height:100%;background:var(--brand);border-radius:inherit}
.pf-dot{width:10px;height:10px;border-radius:50%;background:var(--warn,#c47a00)}.pf-dot.is-ok{background:var(--ok,#1c7c3c)}
.pf-actions{gap:8px;margin:-4px 0 14px;flex-wrap:wrap}
.pf-medida{margin:4px 0 12px}.pf-medida summary{cursor:pointer;font-weight:650}
.pf-danger{margin-top:16px;box-shadow:inset 3px 0 0 var(--bad),0 0 0 1px var(--line)}
.pf-btn-danger{background:var(--bad)!important;border-color:var(--bad)!important;color:#fff!important}
.pf-sugg-head{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center}
.pf-sugg-body{margin:10px 0 12px;white-space:normal;line-height:1.5}
/* Aviso de la plataforma en el panel del negocio */
.pn{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:14px;margin:0 0 14px;background:color-mix(in srgb,var(--brand) 8%,var(--glass-strong,#fff));box-shadow:0 0 0 1px color-mix(in srgb,var(--brand) 20%,var(--line))}
.pn.is-warn{background:var(--warn-bg);box-shadow:0 0 0 1px color-mix(in srgb,var(--warn) 35%,transparent)}
.pn-txt{flex:1;min-width:0}.pn-txt b{display:block}.pn-txt p{margin:2px 0 0;font-size:.9rem;color:var(--ink-2)}.pn-txt a{font-size:.9rem;font-weight:600}
.pn form button{border:0;background:none;color:var(--muted);font-size:1.3rem;line-height:1;cursor:pointer;padding:2px 6px;min-width:32px;min-height:32px}
/* Sugerencias (panel del negocio) */
.sg{max-width:560px}
.sg-kinds{display:flex;gap:6px;margin:0 0 10px}
.sg-kinds label{position:relative}.sg-kinds input{position:absolute;opacity:0;inset:0}
.sg-kinds span{display:inline-block;padding:6px 12px;border-radius:99px;background:var(--fill);font-size:.85rem;font-weight:600;cursor:pointer}
.sg-kinds input:checked+span{background:var(--brand);color:#fff}
.sg-kinds input:focus-visible+span{outline:2px solid var(--brand);outline-offset:2px}
.sg-list{margin-top:14px}
.sg-reply{margin:6px 0 0;padding:8px 10px;border-radius:10px;background:var(--fill);font-size:.88rem}
.side .sg-link{display:flex;align-items:center;gap:8px;font-size:.82rem;color:var(--muted);padding:6px 10px;text-decoration:none}
.side .sg-link:hover{color:var(--ink)}.side .sg-link .i{width:16px;height:16px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* CMS de dosmesas (/admin): con los colores de la marca (tinta y rojo vermut), no los de ningún negocio */
body.adm{--brand:#1c1915;--accent:#b8341c}
.adm-logo{font:700 1.15rem/1 var(--display);letter-spacing:-.03em}.adm-logo b{color:#b8341c}
.adm-tag{font:600 .66rem/1 var(--sans,system-ui);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding:4px 7px;border-radius:6px;background:var(--fill);margin-left:8px;vertical-align:3px}
.adm .side .brand{align-items:baseline}
@media(max-width:700px){.adm .chips{flex-wrap:wrap;overflow:visible}.adm .card:has(>.table-wrap>.table.is-stack),.adm .card>.table-wrap:has(>.table.is-stack){background:none;box-shadow:none;border:0;padding:0;-webkit-backdrop-filter:none;backdrop-filter:none}}
.adm-auth{min-height:100vh;display:grid;place-items:center;padding:24px 16px}
.adm-auth-in{width:100%;max-width:400px}
.adm-auth-in .card{padding:24px}.adm-auth-in h1{font-size:1.5rem;margin:0 0 14px}
.adm-logo-lg{font-size:1.6rem;text-align:center;margin:0 0 22px}
.adm-code{font:600 1.6rem/1 var(--mono,ui-monospace);letter-spacing:.35em;text-align:center}

/* Cobro por reserva */
.bk-dep{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:14px;margin:4px 0 12px;background:color-mix(in srgb,var(--brand) 8%,var(--glass-strong,#fff));box-shadow:0 0 0 1px color-mix(in srgb,var(--brand) 22%,var(--line))}
.bk-dep[hidden]{display:none}
.bk-dep-ic{flex:0 0 34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--brand);color:#fff}.bk-dep-ic .i{width:18px;height:18px}
.bk-dep b{display:block;font-size:.95rem}.bk-dep small{display:block;margin-top:3px;color:var(--ink-2);font-size:.82rem;line-height:1.45}
.pay{text-align:center;padding:26px 22px}.pay h1{font-size:1.45rem;margin:4px 0 8px}
.pay-ic{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;margin:0 auto 6px;background:var(--ok-bg);color:var(--ok)}.pay-ic .i{width:26px;height:26px}
.pay-sum{text-align:left;margin:16px 0 12px;border-radius:14px;background:var(--fill);padding:4px 14px}
.pay-sum div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.pay-sum div:last-child{border-bottom:0}
.pay-sum span{color:var(--muted)}.pay-sum b{text-align:right}
.pay .small{text-align:left}

/* Selector de idioma (reservas, «Mis tarjetas»): botón píldora + menú desplegable */
.lang-pick{display:flex;justify-content:flex-end;margin:0 0 10px}
.lang-menu{position:relative;z-index:30}
.lang-menu>summary{list-style:none;display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:0 12px 0 10px;border-radius:99px;cursor:pointer;
  background:var(--glass-strong,var(--solid,#fff));box-shadow:0 0 0 1px var(--line),0 1px 2px rgba(0,0,0,.05);color:var(--ink);font-size:.88rem;font-weight:600;
  -webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transition:box-shadow .2s,transform .15s,background .2s}
.lang-menu>summary::-webkit-details-marker{display:none}
.lang-menu>summary:hover{box-shadow:0 0 0 1px color-mix(in srgb,var(--ink) 22%,transparent),0 2px 8px rgba(0,0,0,.08)}
.lang-menu>summary:active{transform:scale(.97)}
.lang-menu>summary:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.lang-menu>summary .i{width:17px;height:17px;flex:none;color:var(--brand)}
.lang-menu .lm-short{display:none;letter-spacing:.04em}
.lm-chev{width:10px;height:6px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;opacity:.55;transition:transform .25s cubic-bezier(.2,.8,.2,1)}
.lang-menu[open]>summary{box-shadow:0 0 0 2px color-mix(in srgb,var(--brand) 45%,transparent)}
.lang-menu[open] .lm-chev{transform:rotate(180deg)}
.lm-pop{position:absolute;top:calc(100% + 8px);right:0;min-width:214px;padding:6px;border-radius:16px;background:var(--solid,#fff);color:var(--ink);
  box-shadow:0 0 0 1px var(--line),0 12px 32px -8px rgba(0,0,0,.22),0 4px 10px -4px rgba(0,0,0,.1);transform-origin:top right;animation:lm-in .2s cubic-bezier(.2,.8,.2,1)}
@keyframes lm-in{from{opacity:0;transform:translateY(-4px) scale(.96)}}
.lm-title{margin:4px 10px 6px;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.lm-pop a{display:flex;align-items:center;gap:11px;min-height:44px;padding:0 10px;border-radius:11px;color:var(--ink);text-decoration:none!important;font-weight:500;transition:background .15s}
.lm-pop a:hover,.lm-pop a:focus-visible{background:var(--fill);outline:0}
.lm-pop a[aria-current]{font-weight:700}
.lm-code{flex:none;width:30px;height:22px;display:grid;place-items:center;border-radius:6px;background:var(--fill);color:var(--ink-2);font-size:.7rem;font-weight:700;letter-spacing:.05em}
.lm-pop a[aria-current] .lm-code{background:var(--brand);color:#fff}
.lm-name{flex:1}
.lm-pop a .i{width:18px;height:18px;color:var(--brand)}
/* En la barra de «Mis tarjetas»: compacto (código) y el menú se abre hacia la derecha */
.cx-top-lang{position:absolute;left:6px;top:50%;transform:translateY(-50%);margin:0}
.cx-top-lang>summary{min-height:34px;padding:0 10px 0 8px;background:transparent;box-shadow:none}
.cx-top-lang .lm-cur{display:none}.cx-top-lang .lm-short{display:inline}
.cx-top-lang .lm-pop{left:0;right:auto;transform-origin:top left}
.cx-top-lang.is-right{left:auto;right:6px}.cx-top-lang.is-right .lm-pop{left:auto;right:0;transform-origin:top right}
@media (prefers-reduced-motion:reduce){.lm-pop{animation:none}.lm-chev,.lang-menu>summary{transition:none}}
html[data-theme$=galeria] :is(.lang-menu>summary,.lm-pop,.lm-pop a,.lm-code){border-radius:0}

/* Ajustes: portada por categorías */
.st-search{max-width:720px;margin:0 0 18px}
.st-groups{columns:2 380px;column-gap:20px;max-width:1100px}
.st-group{break-inside:avoid;margin:0 0 22px;display:inline-block;width:100%}
.st-group header{margin:0 4px 8px}
.st-group h2{font-size:1rem;margin:0}
.st-group header p{margin:2px 0 0;color:var(--muted);font-size:.84rem}
.st-group .notif-ic{background:color-mix(in srgb,var(--brand) 12%,var(--glass-strong,#fff));color:var(--brand)}
.st-group .item .sub{white-space:normal}

/* Tablas en el móvil (CMS, informes…): cada fila, una ficha; la primera columna hace de título */
@media (max-width:700px){
  .table.is-stack thead{display:none}
  .table.is-stack,.table.is-stack tbody{display:block;width:100%}
  .table.is-stack tr{display:block;margin:0 0 10px;padding:12px 14px;border-radius:14px;background:var(--solid);box-shadow:0 0 0 1px var(--line)}
  .table.is-stack td{display:block;position:relative;padding:5px 0 5px 36%;border:0;text-align:left;min-width:0;overflow-wrap:anywhere}
  .table.is-stack td::before{content:attr(data-label);position:absolute;left:0;top:7px;width:33%;font-size:.76rem;font-weight:600;letter-spacing:.02em;color:var(--muted)}
  .table.is-stack td:first-child{display:block;padding:0 0 6px 0;margin-bottom:4px;border-bottom:1px solid var(--line);font-size:1rem}
  .table.is-stack td:first-child::before{content:none}
  .table.is-stack td:not([data-label]),.table.is-stack td[data-label=""]{padding-left:0}
  .table.is-stack td:not([data-label])::before,.table.is-stack td[data-label=""]::before{content:none}
  .table.is-stack td:empty{display:none}
  .table-wrap:has(.table.is-stack){overflow:visible;background:none;box-shadow:none;border:0;padding:0}
  .pf-search,.pf-search input{width:100%}
}
