/* Emprende Más Apps — una paleta por rubro, tomada de los diseños de Google Stitch (2026-11-06).
   <html data-tema="..."> : menu · tienda · reservas · membresias · servicio
   Los tokens (--navy = color principal, --warn = acento, --fh/--fb = fuentes) los usa app.css. */

/* ---------- 🍗 Menú QR (restaurantes) — crema + rojo tomate + mostaza ---------- */
[data-tema=menu]{--navy:#b3261e;--navy-2:#7a1510;--navy-hi:#e0543b;--ink:#2a1a14;--grey:#6d5a52;--line:#f0dccd;--soft:#fff3e8;--soft-2:#fbe6d5;--bg:#fff8f0;--bar:rgba(255,248,240,.94);
  --warn:#9a4a00;--warn-bg:#ffe1b3;--brand:#e8a317;--cta:#d9442b;--cta-sh:rgba(217,68,43,.35);--gold:#e8a317;--gold-text:#9a6a00;
  --fh:'Bricolage Grotesque',Inter,sans-serif;--radius:18px;--shadow:0 1px 2px rgba(90,40,20,.05),0 8px 22px rgba(90,40,20,.08)}
[data-tema=menu] .hero{background:radial-gradient(130% 140% at 100% 0%,#f06a3f 0%,#d9442b 45%,#9e2a1c 100%);box-shadow:0 10px 30px rgba(217,68,43,.28)}
[data-tema=menu] .hero .kicker{color:#ffe1b3}
[data-tema=menu] .hero .muted{color:#ffe9dccc}
[data-tema=menu] .cartbar .btn{background:#2a1a14}
[data-tema=menu] .cartbar .cb-r{color:#ffd27a}
[data-tema=menu] .price{color:#b3261e}

/* ---------- 🛍️ Tienda (boutiques / moda) — navy + terracota + blush, serif editorial ---------- */
[data-tema=tienda]{--navy:#131f33;--navy-2:#000616;--navy-hi:#2a3a55;--ink:#1b1c1a;--grey:#5d5f66;--line:#e4e2df;--soft:#f5f3f0;--soft-2:#efeeeb;--bg:#fbf9f6;--bar:rgba(251,249,246,.94);
  --warn:#8d4d38;--warn-bg:#ffdbd0;--brand:#c87d65;--cta:#131f33;--cta-sh:rgba(19,31,51,.3);--gold:#fdaa8f;--gold-text:#8d4d38;
  --fh:'Playfair Display',Georgia,serif;--fb:'Plus Jakarta Sans',Inter,system-ui,sans-serif;--radius:16px;--shadow:0 1px 2px rgba(0,0,0,.03),0 4px 16px rgba(19,31,51,.06)}
[data-tema=tienda] h1,[data-tema=tienda] h2,[data-tema=tienda] h3{font-weight:500;letter-spacing:-.01em}
[data-tema=tienda] .price,[data-tema=tienda] .stat,[data-tema=tienda] .numbox b,[data-tema=tienda] .cartbar .cb-r{font-family:var(--fb);font-weight:700}
[data-tema=tienda] .btn{border-radius:999px}
[data-tema=tienda] .btn.cta{border-radius:14px}

/* ---------- 💆 Reservas (salón, spa, consultorio) — salvia + arena, serif sereno ---------- */
[data-tema=reservas]{--navy:#3b5342;--navy-2:#253c2c;--navy-hi:#5a7a62;--ink:#1b1c1a;--grey:#5b625c;--line:#e2e4dc;--soft:#f5f3ef;--soft-2:#efeeea;--bg:#fbf9f5;--bar:rgba(251,249,245,.94);
  --warn:#71412e;--warn-bg:#f4dccf;--brand:#a86b52;--cta:#3b5342;--cta-sh:rgba(37,60,44,.28);--ok:#44664d;--ok-bg:#c3e9ca;
  --fh:'Playfair Display',Georgia,serif;--fb:'Plus Jakarta Sans',Inter,system-ui,sans-serif;--radius:18px;--shadow:0 1px 2px rgba(37,60,44,.04),0 6px 22px rgba(37,60,44,.06)}
[data-tema=reservas] h1,[data-tema=reservas] h2,[data-tema=reservas] h3{font-weight:500}
[data-tema=reservas] .price,[data-tema=reservas] .stat,[data-tema=reservas] .days button b{font-family:var(--fb);font-weight:700}
[data-tema=reservas] .btn{border-radius:999px}

/* ---------- 🏋️ Membresías (gimnasios, academias) — carbón + lima eléctrica ---------- */
[data-tema=membresias]{color-scheme:dark;--navy:#c8f322;--navy-2:#aed500;--navy-hi:#2a2d33;--ink:#e2e2e8;--grey:#a9ad95;--line:#333539;--soft:#1e2024;--soft-2:#282a2e;--bg:#111317;--card:#1a1c20;--bar:rgba(17,19,23,.92);
  --warn:#ffb2b6;--warn-bg:#4a1820;--brand:#c8f322;--cta:#c8f322;--cta-sh:rgba(200,243,34,.25);--ok:#00e475;--ok-bg:#0d3a22;--bad:#ff8a8a;--bad-bg:#4a1418;
  --fh:'Barlow Condensed',Inter,sans-serif;--radius:16px;--shadow:0 0 0 1px #26292e,0 8px 24px rgba(0,0,0,.35)}
[data-tema=membresias] h1,[data-tema=membresias] h2,[data-tema=membresias] h3,[data-tema=membresias] .stat{text-transform:uppercase;letter-spacing:.01em;font-weight:700}
[data-tema=membresias] .btn,[data-tema=membresias] .btn.cta,[data-tema=membresias] .seg button.on,[data-tema=membresias] .choice button.on,[data-tema=membresias] .tabs button.on,[data-tema=membresias] .days button.on,[data-tema=membresias] .slots button.on,[data-tema=membresias] .qty button{color:#171e00}
[data-tema=membresias] .btn.light,[data-tema=membresias] .x{background:var(--soft-2);color:var(--ink)}
[data-tema=membresias] .btn.ghost{color:var(--navy)}
[data-tema=membresias] input,[data-tema=membresias] select,[data-tema=membresias] textarea{background:#0c0e12;color:var(--ink);border-color:#333539}
[data-tema=membresias] input:focus,[data-tema=membresias] select:focus,[data-tema=membresias] textarea:focus{background:#0c0e12}
[data-tema=membresias] .hero{background:linear-gradient(135deg,#1e2024,#0c0e12);border:1px solid #2a2d33;box-shadow:0 10px 30px rgba(0,0,0,.4)}
[data-tema=membresias] .hero h1{color:#fff}
[data-tema=membresias] .hero .kicker{color:var(--navy)}
[data-tema=membresias] .top,[data-tema=membresias] .appbar{background:var(--bar);border-color:#26292e;color:var(--ink)}
[data-tema=membresias] .logo,[data-tema=membresias] a{color:var(--navy)}
[data-tema=membresias] .pill,[data-tema=membresias] .tag{background:var(--soft-2);color:var(--ink)}
[data-tema=membresias] .tag.ok,[data-tema=membresias] .st-listo{background:var(--ok-bg);color:#62ff96}
[data-tema=membresias] .tag.warn,[data-tema=membresias] .st-nuevo,[data-tema=membresias] .st-pendiente{background:#3d3000;color:#ffd84d}
[data-tema=membresias] .tag.bad,[data-tema=membresias] .st-cancelado,[data-tema=membresias] .st-cancelada{background:var(--bad-bg);color:#ffb2b6}
[data-tema=membresias] .modal{background:rgba(0,0,0,.65)}
[data-tema=membresias] .numbox,[data-tema=membresias] .nota-ok,[data-tema=membresias] .paybox,[data-tema=membresias] .choice button,[data-tema=membresias] .slots button,[data-tema=membresias] .days button,[data-tema=membresias] .cats button{background:var(--soft);color:var(--ink);border-color:#333539}
[data-tema=membresias] .price{color:var(--navy)}

/* ---------- 🔧 Servicio técnico (talleres) — grafito + ámbar de seguridad, mono para tickets ---------- */
[data-tema=servicio]{--navy:#1f2a37;--navy-2:#0b1c30;--navy-hi:#334458;--ink:#0b1c30;--grey:#58606f;--line:#d6deea;--soft:#eff4ff;--soft-2:#e5eeff;--bg:#f8f9ff;--bar:rgba(248,249,255,.94);
  --warn:#b15f00;--warn-bg:#ffdcc3;--brand:#f5a524;--cta:#b15f00;--cta-sh:rgba(177,95,0,.3);--gold:#f5a524;--gold-text:#8a4a00;
  --fh:'Space Grotesk',Inter,sans-serif;--fm:'JetBrains Mono',ui-monospace,monospace;--radius:14px;--shadow:0 0 0 1px #e2e8f3,0 4px 14px rgba(11,28,48,.05)}
[data-tema=servicio] .mono,[data-tema=servicio] .ticket-n{font-family:var(--fm);letter-spacing:.02em}
[data-tema=servicio] .hero{background:linear-gradient(135deg,#334458,#1f2a37 55%,#0b1c30);}
[data-tema=servicio] .hero .kicker{color:#ffc56b}

/* ===== Tienda: componentes del diseño Stitch (Catálogo + Detalle de producto) ===== */
.ms{font-family:'Material Symbols Outlined';font-weight:400;font-style:normal;font-size:22px;line-height:1;display:inline-block;text-transform:none;letter-spacing:normal;white-space:nowrap;direction:ltr;-webkit-font-smoothing:antialiased;font-feature-settings:'liga'}
.t-bar{position:sticky;top:0;z-index:8;background:rgba(19,31,51,.96);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:#fff;box-shadow:0 1px 8px rgba(0,0,0,.08)}
.t-bar-in{max-width:980px;margin:0 auto;height:64px;display:flex;align-items:center;gap:10px;padding:0 12px 0 16px}
.t-logo{width:38px;height:38px;border-radius:10px;border:1px solid rgba(253,170,143,.5);display:grid;place-items:center;font:600 1rem var(--fh);color:#fdaa8f;flex:none;font-style:italic}
.t-name{flex:1;min-width:0;display:flex;flex-direction:column}
.t-name span{font:700 .66rem var(--fb);letter-spacing:.12em;text-transform:uppercase;color:#fdaa8f}
.t-name b{font:400 1.2rem var(--fh);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.01em}
.t-ic{position:relative;width:44px;height:44px;border-radius:99px;border:0;background:rgba(255,255,255,.08);color:#fff;display:grid;place-items:center;cursor:pointer;text-decoration:none;flex:none;transition:background .15s}
.t-ic:hover{background:rgba(255,255,255,.16)}
.t-ic i{position:absolute;top:3px;right:1px;min-width:18px;height:18px;padding:0 4px;border-radius:99px;background:#8d4d38;color:#fff;font:700 .66rem var(--fb);font-style:normal;display:grid;place-items:center}
.t-search{position:relative;max-width:948px;margin:12px auto 0;padding:0 12px}
@media(min-width:980px){.t-search{padding:0}}
.t-search .ms{position:absolute;left:28px;top:50%;transform:translateY(-50%);color:#45474d;font-size:20px;pointer-events:none}
@media(min-width:980px){.t-search .ms{left:16px}}
.t-search input{height:50px;padding-left:46px;background:#f5f3f0;border:0;border-radius:12px;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.t-search input:focus{background:#fff;outline:2px solid #131f33}
.t-cats{top:64px;padding-top:10px;padding-bottom:10px}
.t-cats button{box-shadow:none;background:#f5f3f0;font:600 .82rem var(--fb);letter-spacing:.02em;min-height:46px;padding:10px 20px}
.t-cats button.on{background:#131f33;color:#fff;box-shadow:0 2px 8px rgba(19,31,51,.2)}
.t-ed{max-width:948px;margin:2px 12px 4px;background:#eae8e5;border-radius:12px;padding:12px 16px}
@media(min-width:980px){.t-ed{margin:2px auto 4px}}
.t-ed h2{font:500 1.22rem var(--fh);margin:2px 0}
.t-ed p{margin:0;font-size:.84rem;color:#45474d}
.t-cap{display:block;font:700 .64rem var(--fb);letter-spacing:.12em;text-transform:uppercase;color:#45474d}
.t-cap.acc{color:#8d4d38}
[data-tema=tienda] #list{padding:12px}
.t-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 10px}
@media(min-width:640px){.t-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 16px}}
@media(min-width:900px){.t-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.t-card{background:#fff;border-radius:16px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 1px 3px rgba(0,0,0,.05);transition:box-shadow .2s,transform .2s}
.t-card:hover{box-shadow:0 8px 24px rgba(19,31,51,.1);transform:translateY(-2px)}
.t-img{position:relative;display:block;width:100%;aspect-ratio:4/5;border:0;padding:0;background:#f5f3f0;overflow:hidden;cursor:pointer}
.t-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.t-card:hover .t-img img{transform:scale(1.04)}
.t-ph{display:grid;place-items:center;width:100%;height:100%;font:400 2.6rem var(--fh);color:#c87d65;background:linear-gradient(160deg,#f5ebe6,#efeeeb)}
.t-badge{position:absolute;top:10px;left:10px;padding:3px 10px;border-radius:99px;background:#fdaa8f;color:#783c28;font:700 .7rem var(--fb);box-shadow:0 1px 6px rgba(0,0,0,.08)}
.t-badge.ok{background:#131f33;color:#fff}
.t-out{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:5px 14px;border-radius:99px;background:rgba(255,255,255,.88);font:700 .7rem var(--fb);letter-spacing:.12em;text-transform:uppercase;color:#45474d}
.t-card.agotado .t-img img,.t-card.agotado .t-ph{filter:grayscale(1) blur(1px);opacity:.55}
.t-card.agotado h3,.t-card.agotado .price{color:#8b8d93}
.t-card.agotado .price{text-decoration:line-through}
.t-body{padding:12px;display:flex;flex-direction:column;flex:1}
.t-body h3{font:500 1rem var(--fh);margin:5px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.t-row{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:10px}
.t-row .price{font-size:1.02rem;color:#1b1c1a}
.t-add{width:46px;height:46px;border-radius:99px;border:0;background:#efeeeb;color:#1b1c1a;display:grid;place-items:center;cursor:pointer;transition:background .15s,color .15s,transform .1s}
.t-add:hover,.t-add:active{background:#131f33;color:#fff}
.t-add:active{transform:scale(.94)}
.t-add.off{background:#f5f3f0;color:#b5b7bd;cursor:default}
.t-empty{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;padding:48px 16px;color:#45474d}
.t-empty .ms{font-size:40px;color:#c87d65}
/* ficha de producto a pantalla completa */
.modal.t-full{align-items:stretch;background:rgba(0,6,22,.4)}
.modal.t-full>.card{max-width:560px;max-height:none;height:100%;border-radius:0;padding:0 0 calc(96px + env(safe-area-inset-bottom));background:#fbf9f6}
.modal.t-full>.card::before{display:none}
@media(min-width:640px){.modal.t-full{align-items:center}.modal.t-full>.card{height:auto;max-height:94vh;border-radius:24px}}
.t-det{padding:0 16px}
.t-det-top{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 0;margin:0 -16px 0;padding-inline:8px 16px;background:rgba(251,249,246,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.t-back{display:inline-flex;align-items:center;gap:2px;border:0;background:none;font:600 .92rem var(--fb);color:#1b1c1a;cursor:pointer;min-height:44px;padding:0 8px}
.t-back .ms{font-size:18px}
.t-photo{border-radius:16px;overflow:hidden;aspect-ratio:4/5;background:#f5f3f0;margin-bottom:14px}
.t-photo img{width:100%;height:100%;object-fit:cover;display:block}
.t-det h1{font:500 1.9rem/1.15 var(--fh);margin:4px 0 12px}
.t-pcard{background:#fff;border-radius:16px;padding:14px 16px;box-shadow:0 1px 3px rgba(0,0,0,.04)}
.t-pcard .price{font-size:1.6rem;color:#1b1c1a}
.t-pcard p{margin:6px 0 0;color:#45474d;font-size:.92rem}
.t-note{display:flex;gap:8px;align-items:flex-start;background:#f5f3f0;border-radius:10px;padding:10px 12px;margin-top:12px;font-size:.82rem;color:#45474d}
.t-note .ms{font-size:20px;color:#8d4d38}
.t-lbl{display:flex;justify-content:space-between;align-items:center;margin:20px 0 10px;font:700 .7rem var(--fb);letter-spacing:.1em;text-transform:uppercase;color:#45474d}
.t-lbl b{font-size:.9rem;color:#1b1c1a;letter-spacing:0;text-transform:none;margin-left:4px}
.t-sizes{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:8px}
.t-sizes button{min-height:50px;border-radius:12px;border:1px solid #e4e2df;background:#fff;font:600 .9rem var(--fb);color:#1b1c1a;cursor:pointer;transition:all .15s;padding:6px}
.t-sizes button:hover{border-color:#131f33}
.t-sizes button.on{background:#131f33;color:#fff;border-color:#131f33;box-shadow:0 4px 12px rgba(19,31,51,.25)}
.t-sizes button.off{background:linear-gradient(to top right,transparent calc(50% - 1px),#c5c6cd,transparent calc(50% + 1px)) #f5f3f0;color:#a2a4aa;cursor:not-allowed;border-color:#efeeeb}
.t-low{display:flex;align-items:center;gap:6px;margin-top:10px;background:#ffdbd0;color:#703623;border-radius:10px;padding:9px 12px;font:600 .82rem var(--fb)}
.t-low .ms{font-size:18px}
.t-qtyc{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;border-radius:16px;padding:12px 14px;margin-top:16px;box-shadow:0 1px 3px rgba(0,0,0,.04)}
.t-qtyc b{display:block;font:700 .72rem var(--fb);letter-spacing:.1em;text-transform:uppercase}
.t-qtyc .qty{border-radius:99px;background:#f5f3f0;border-color:#e4e2df}
.t-qtyc .qty button{border-radius:99px;background:#fff;color:#1b1c1a;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.t-sticky{position:fixed;left:0;right:0;bottom:0;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:linear-gradient(to top,#fbf9f6 70%,rgba(251,249,246,0));z-index:3}
@media(min-width:640px){.t-sticky{position:sticky;margin:0 -16px;bottom:-1px}}
.t-sticky .btn.cta{justify-content:center;gap:8px;min-height:56px;font:600 1rem var(--fb);max-width:528px;margin:0 auto}
.t-sticky .btn.cta:disabled{background:#c5c6cd;box-shadow:none;opacity:1}
[data-tema=tienda] .cartbar .btn{background:#131f33}
[data-tema=tienda] .cartbar .cb-r{color:#fdaa8f}
[data-tema=tienda] .sheet-h .ic{color:#fdaa8f}

/* ===== Reservas: componentes del diseño Stitch "Aura Wellness" (Servicios · Fecha y hora · Datos y pago · Confirmada) ===== */
[data-tema=reservas] body{background:#fbf9f5}
.r-bar{position:sticky;top:0;z-index:8;background:rgba(251,249,245,.88);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 1px 8px rgba(0,0,0,.03)}
.r-bar-in{max-width:520px;margin:0 auto;height:58px;display:flex;align-items:center;gap:8px;padding:0 10px 0 12px}
.r-logo{width:34px;height:34px;border-radius:99px;background:#253c2c;color:#fff;display:grid;place-items:center;font:600 .85rem var(--fh);flex:none}
.r-title{flex:1;min-width:0;font:600 1rem var(--fb);color:#1b1c1a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.r-ic{width:44px;height:44px;border-radius:99px;border:0;background:transparent;color:#253c2c;display:grid;place-items:center;cursor:pointer;text-decoration:none;flex:none;transition:background .15s}
.r-ic:hover{background:#efeeea}
.r-ic-sp{width:44px;flex:none}
.r-main{max-width:520px;margin:0 auto;padding:4px 16px 140px}
.r-intro{padding:10px 2px 18px}
.r-chips{gap:6px}
.r-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 11px;border-radius:99px;background:#eae8e4;color:#424843;font:600 .7rem var(--fb);letter-spacing:.04em}
.r-chip.acc{background:#c6eccd;color:#2d4e37;text-transform:uppercase;letter-spacing:.08em}
.r-dot{width:6px;height:6px;border-radius:99px;background:#44664d;display:inline-block;animation:rpulse 2s infinite}
.r-dot.off{background:#a3a9a2;animation:none}
@keyframes rpulse{50%{opacity:.35}}
.r-intro h1{font:500 2rem/1.15 var(--fh);color:#253c2c;margin:12px 0 8px;letter-spacing:-.015em}
.r-intro p{margin:0;color:#424843;font-size:.92rem;line-height:1.55}
.r-quick{margin-top:14px;gap:8px}
.r-pill{display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 14px;border-radius:99px;background:#f5f3ef;color:#1b1c1a;text-decoration:none;font-size:.84rem;box-shadow:0 1px 2px rgba(0,0,0,.04);max-width:100%;transition:background .15s}
.r-pill span:last-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.r-pill .ms{font-size:17px;color:#253c2c}
.r-pill.acc{background:#c6eccd;color:#2d4e37;font-weight:600}.r-pill.acc .ms{color:#44664d}
.r-pill:hover{background:#efeeea}.r-pill.acc:hover{background:#c3e9ca}
.r-steps{display:flex;align-items:center;gap:8px;margin:4px 2px 12px;font:600 .95rem var(--fb);color:#1b1c1a}
.r-steps b{width:24px;height:24px;border-radius:99px;background:#253c2c;color:#fff;display:grid;place-items:center;font-size:.75rem}
.r-steps span{margin-left:auto;font:700 .66rem var(--fb);letter-spacing:.1em;text-transform:uppercase;color:#737972}
.r-list{display:flex;flex-direction:column;gap:12px}
.r-serv{display:flex;gap:14px;background:#fff;border-radius:18px;padding:16px;box-shadow:0 4px 20px -2px rgba(32,34,32,.05);transition:box-shadow .2s,transform .2s}
.r-serv:hover{box-shadow:0 10px 28px -4px rgba(37,60,44,.12);transform:translateY(-1px)}
.r-serv-ic{width:48px;height:48px;border-radius:14px;background:linear-gradient(150deg,#cee9d3,#c6eccd 60%,#ffdbce);color:#253c2c;display:grid;place-items:center;flex:none}
.r-serv-ic.sm{width:52px;height:52px}
.r-serv-b{flex:1;min-width:0}
.r-serv h3{font:500 1.15rem/1.25 var(--fh);margin:2px 0 4px;color:#1b1c1a}
.r-serv p{margin:0 0 4px;font-size:.84rem;color:#424843;line-height:1.5}
.r-serv-f{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-top:10px}
.r-serv-f .price{display:block;font-size:1.12rem;color:#253c2c}
.r-meta{display:inline-flex;align-items:center;gap:4px;font-size:.8rem;color:#424843;margin:0}
.r-meta .ms{font-size:15px;color:#737972}
.r-meta .price{font-size:.85rem;color:#253c2c}
.btn.r-res{border-radius:99px;min-height:44px;padding:8px 16px;background:#253c2c;font-size:.86rem;gap:4px}
.btn.r-res .ms{font-size:17px}
.r-empty{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;padding:40px 16px;color:#424843;background:#f5f3ef;border-radius:18px}
.r-empty .ms{font-size:36px;color:#a86b52;margin-bottom:4px}
.r-empty span{font-size:.85rem}
.r-foot{text-align:center;font-size:.76rem;color:#737972;padding:28px 0 0}.r-foot a{color:#737972}
/* paso 2 */
.r-sub{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 0 4px}
.r-sub>span:not(.r-chip){font:700 .66rem var(--fb);letter-spacing:.1em;text-transform:uppercase;color:#737972}
.r-link{display:inline-flex;align-items:center;gap:5px;border:0;background:none;color:#44664d;font:600 .86rem var(--fb);cursor:pointer;min-height:44px;padding:0;text-decoration:none}
.r-link .ms{font-size:18px}.r-link:hover{color:#253c2c}
.r-link.center{display:flex;justify-content:center;margin:18px auto 0}
.r-h{font:500 1.5rem var(--fh);color:#1b1c1a;margin:4px 0 2px}
.r-h.big{font-size:1.9rem;color:#253c2c}
.r-p{margin:0 0 16px;color:#424843;font-size:.88rem}
.r-sum{display:flex;align-items:center;gap:12px;background:#fff;border-radius:18px;padding:12px;box-shadow:0 1px 3px rgba(0,0,0,.05);margin-bottom:22px}
.r-sum-b{flex:1;min-width:0;display:flex;flex-direction:column}
.r-sum-b>b{font:600 .98rem var(--fb);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.r-cap{font:700 .64rem var(--fb);letter-spacing:.1em;text-transform:uppercase;color:#737972}
.r-cap.acc,.r-sum .r-cap{color:#44664d}
.r-mini{display:inline-flex;align-items:center;gap:4px;border:0;border-radius:99px;background:#f5f3ef;color:#253c2c;font:600 .8rem var(--fb);padding:8px 14px;cursor:pointer;flex:none;min-height:38px}
.r-mini:hover{background:#e4e2de}.r-mini .ms{font-size:16px}
.r-mes{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.r-mes>span{display:inline-flex;align-items:center;gap:6px;font:600 1rem var(--fb)}
.r-mes .ms{color:#44664d;font-size:20px}
.r-mes small{font:700 .64rem var(--fb);letter-spacing:.1em;text-transform:uppercase;color:#737972}
.r-days{display:flex;gap:10px;overflow-x:auto;margin:0 -16px;padding:8px 16px 12px;scrollbar-width:none;scroll-snap-type:x proximity}
.r-days::-webkit-scrollbar{display:none}
.r-days button{flex:none;width:56px;height:74px;border-radius:18px;border:0;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.06);display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;color:#1b1c1a;scroll-snap-align:center;transition:all .15s;font-family:var(--fb)}
.r-days button span{font:700 .64rem var(--fb);letter-spacing:.08em;text-transform:uppercase;color:#737972}
.r-days button b{font:600 1.25rem var(--fb);margin-top:2px}
.r-days button small{font-size:.56rem;font-weight:600;text-transform:uppercase;color:#a3a9a2}
.r-days button:hover:not(:disabled){box-shadow:0 0 0 1.5px #b2cdb7}
.r-days button.on{background:#253c2c;color:#fff;box-shadow:0 0 0 2px #fbf9f5,0 0 0 4px #253c2c,0 6px 16px rgba(37,60,44,.25)}
.r-days button.on span{color:#cee9d3}
.r-days button:disabled{background:#efeeea;box-shadow:none;cursor:not-allowed;opacity:.7}
.r-days button:disabled b{text-decoration:line-through;color:#a3a9a2}
.r-avail{display:flex;align-items:center;gap:6px;min-height:20px;margin:4px 0 14px;font-size:.84rem;color:#44664d;font-weight:500}
.r-avail .ms{font-size:17px}
.r-grp{margin-bottom:18px}
.r-grp-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.r-grp-h>span{display:inline-flex;align-items:center;gap:6px;font:600 .92rem var(--fb)}
.r-grp-h .ms{font-size:19px;color:#a86b52}
.r-grp-h small{font-size:.74rem;color:#737972}
.r-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.r-slots button{min-height:56px;border-radius:14px;border:0;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.06);font:600 1rem var(--fb);color:#1b1c1a;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:all .15s}
.r-slots button small{font:500 .64rem var(--fb);color:#737972;margin-top:1px}
.r-slots button:hover{box-shadow:0 0 0 1.5px #b2cdb7}
.r-slots button.on{background:#253c2c;color:#fff;box-shadow:0 0 0 2px #fbf9f5,0 0 0 3.5px #253c2c}
.r-slots button.on small{color:#cee9d3}
.r-load{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.r-load i{height:56px;border-radius:14px;background:linear-gradient(90deg,#efeeea,#f5f3ef,#efeeea);background-size:200% 100%;animation:rshim 1.2s infinite}
@keyframes rshim{to{background-position:-200% 0}}
.r-sticky{position:fixed;left:0;right:0;bottom:0;z-index:7;padding:10px 16px calc(12px + env(safe-area-inset-bottom));background:linear-gradient(to top,#fbf9f5 72%,rgba(251,249,245,0))}
.r-st-in{max-width:488px;margin:0 auto;background:#fff;border-radius:20px;padding:10px;box-shadow:0 10px 30px rgba(37,60,44,.14)}
.r-st-sum{display:flex;justify-content:space-between;align-items:center;padding:2px 6px 8px;font-size:.84rem;color:#424843}
.r-st-sum>span{display:inline-flex;align-items:center;gap:5px}.r-st-sum .ms{font-size:16px;color:#44664d}
.r-st-sum .price{color:#253c2c}
.r-sticky .btn.cta{justify-content:center;gap:6px;min-height:54px;border-radius:14px;font:600 .98rem var(--fb);background:#253c2c}
.r-sticky .btn.cta:disabled{background:#c2c8c1;box-shadow:none;opacity:1}
/* paso 3 */
.r-card{background:#fff;border-radius:18px;padding:18px 16px;box-shadow:0 1px 3px rgba(0,0,0,.05);margin-bottom:22px}
.r-card-h{display:flex;align-items:center;gap:8px;color:#253c2c;margin-bottom:4px}
.r-card-h h3{margin:0;font:600 1rem var(--fb);color:#1b1c1a}
[data-tema=reservas] .r-card label,[data-tema=reservas] .r-paybox label{font:700 .66rem var(--fb);letter-spacing:.08em;text-transform:uppercase;color:#424843;margin:16px 0 6px}
.r-card label em{color:#a86b52;font-style:normal}.r-card label small,.r-paybox label small{text-transform:none;letter-spacing:0;font-weight:500;color:#737972}
[data-tema=reservas] .r-card input,[data-tema=reservas] .r-card textarea,[data-tema=reservas] .r-paybox input{background:#f5f3ef;border:0;border-radius:12px;min-height:48px}
[data-tema=reservas] .r-card input:focus,[data-tema=reservas] .r-card textarea:focus,[data-tema=reservas] .r-paybox input:focus{background:#fff;outline:2px solid #3b5342}
.r-card textarea{resize:none}
.r-tel{display:flex;gap:8px}.r-tel span{flex:none;display:flex;align-items:center;padding:0 12px;border-radius:12px;background:#f5f3ef;font-weight:600;font-size:.92rem}
.r-hint{display:flex;align-items:center;gap:5px;margin:6px 0 0;font-size:.78rem;color:#5b625c}
.r-hint .ms{font-size:15px;color:#44664d}
.r-pay-h{display:flex;justify-content:space-between;align-items:center;margin:0 2px 10px}
.r-pay-h h3{margin:0;font:600 1rem var(--fb)}.r-pay-h span{font-size:.76rem;color:#44664d;font-weight:600}
.r-pays{display:grid;gap:8px;margin-bottom:10px}
.r-pays button{min-height:58px;border-radius:16px;border:0;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.06);display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;color:#1b1c1a;transition:all .15s;padding:6px}
.r-pays button b{font:600 .9rem var(--fb)}.r-pays button small{font-size:.62rem;color:#737972;margin-top:1px}
.r-pays button.on{background:#253c2c;color:#fff;box-shadow:0 6px 16px rgba(37,60,44,.22)}.r-pays button.on small{color:#cee9d3}
.r-paybox{background:#f5f3ef;border-radius:18px;padding:14px;margin-bottom:22px}
.r-pb-h{display:flex;align-items:center;gap:10px}
.r-pb-h b{display:block;font:600 .92rem var(--fb)}.r-pb-h small{font-size:.76rem;color:#5b625c}
.r-av{width:36px;height:36px;border-radius:99px;background:#253c2c;color:#fff;display:grid;place-items:center;font-weight:700;flex:none}
.r-av .ms{font-size:19px}
.r-num{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#fff;border-radius:14px;padding:10px 12px;margin-top:12px}
.r-num b{display:block;font:700 1.35rem var(--fb);letter-spacing:.02em;color:#1b1c1a}
.r-resumen h3{font:500 1.15rem var(--fh);margin:6px 0 8px}
.r-resumen .r-meta{display:flex;margin-top:4px}
.r-tot{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #e4e2de;margin-top:12px;padding-top:12px;font-weight:600}
.r-tot .price{font-size:1.25rem;color:#253c2c}
.r-pol{display:flex;gap:10px;align-items:flex-start;background:#eef3ec;border-radius:14px;padding:12px 14px;font-size:.8rem;color:#424843}
.r-pol .ms{color:#44664d;font-size:20px}.r-pol b{display:block;color:#1b1c1a;font-size:.84rem}
/* paso 4 */
.r-ok{display:flex;flex-direction:column;align-items:center;text-align:center;padding:18px 8px 20px}
.r-ok-ic{position:relative;width:84px;height:84px;border-radius:99px;background:rgba(198,236,205,.6);display:grid;place-items:center;margin-bottom:16px;animation:rpop .45s cubic-bezier(.2,1.4,.4,1)}
.r-ok-ic>span{width:60px;height:60px;border-radius:99px;background:#253c2c;color:#fff;display:grid;place-items:center}
.r-ok-ic>span .ms{font-size:28px;font-variation-settings:'FILL' 1}
.r-ok-ic i{position:absolute;right:-2px;bottom:-2px;background:#fff;border-radius:99px;padding:3px;color:#253c2c;box-shadow:0 1px 4px rgba(0,0,0,.08)}
.r-ok-ic i .ms{font-size:20px;font-variation-settings:'FILL' 1}
@keyframes rpop{from{transform:scale(.6);opacity:0}}
.r-ok h1{font:500 1.85rem var(--fh);color:#253c2c;margin:6px 0}
.r-ok p{margin:0;color:#424843;font-size:.9rem;max-width:300px}
.r-ticket{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 2px 10px rgba(0,0,0,.05);margin-bottom:18px}
.r-tk-h{background:rgba(245,243,239,.7);padding:16px 18px 14px;display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.r-tk-h .row{width:100%}.r-tk-h b{font:600 1rem var(--fb);color:#253c2c;letter-spacing:.04em}
.r-tear{position:relative;height:18px;margin:0 12px;border-top:1.5px dashed #d5d9d3;top:9px}
.r-tear::before,.r-tear::after{content:'';position:absolute;top:-11px;width:20px;height:20px;border-radius:99px;background:#fbf9f5}
.r-tear::before{left:-23px}.r-tear::after{right:-23px}
.r-tk-b{padding:4px 18px 18px}
.r-tk-b h2{font:500 1.25rem var(--fh);margin:2px 0 14px}
.r-2{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}
.r-2>div{background:rgba(245,243,239,.8);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column}
.r-2 .ms{font-size:16px;color:#737972}
.r-2 span:not(.ms){font-size:.72rem;color:#737972;margin-top:2px}.r-2 b{font:600 1rem var(--fb)}.r-2 small{font-size:.76rem;color:#5b625c}.r-2 small.acc{color:#44664d;font-weight:600}
.r-line{display:flex;justify-content:space-between;align-items:center;padding:8px 0;font-size:.88rem;color:#424843}
.r-line>span{display:inline-flex;align-items:center;gap:6px}.r-line .ms{font-size:18px;color:#737972}
.r-line b{color:#1b1c1a}.r-line.tot{border-top:1px solid #e4e2de;margin-top:4px;padding-top:12px}
.r-line.tot .price{font-size:1.3rem;color:#253c2c}
.r-loc{display:flex;gap:10px;background:#efeeea;border-radius:12px;padding:12px;margin-top:10px}
.r-loc>.ms{color:#253c2c;font-variation-settings:'FILL' 1}
.r-loc div{display:flex;flex-direction:column;min-width:0}.r-loc b{font-size:.92rem}.r-loc div>span{font-size:.8rem;color:#424843}
.r-loc a{display:inline-flex;align-items:center;gap:3px;margin-top:4px;font:600 .82rem var(--fb);color:#253c2c;text-decoration:none}.r-loc a .ms{font-size:14px}
.r-acts{display:flex;flex-direction:column;gap:10px}
.r-acts .btn{min-height:54px;border-radius:14px;gap:10px;justify-content:center}
.r-acts .btn.light{background:#e4e2de;color:#1b1c1a}.r-acts .btn.light .ms{color:#253c2c}
.r-acts .btn.r-wa{background:#253c2c;justify-content:flex-start;padding:10px 16px}
.r-wa>span{display:flex;flex-direction:column;text-align:left}.r-wa b{font-size:.98rem}.r-wa small{font-size:.74rem;font-weight:500;opacity:.8}
@media(min-width:640px){.r-main{padding-top:16px}.r-intro h1{font-size:2.4rem}}
.r-bar .ms,.r-main .ms,.r-sticky .ms{font-family:'Material Symbols Outlined'!important;font-weight:400!important;font-style:normal!important;letter-spacing:normal!important;text-transform:none!important}

/* ===== Membresías: componentes del diseño Stitch "PowerFit" (Carné digital · Planes y renovación) ===== */
[data-tema=membresias] body{background:#111317}
.m-bar{position:sticky;top:0;z-index:8;background:rgba(17,19,23,.88);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid #1e2024}
.m-bar-in{max-width:520px;margin:0 auto;height:60px;display:flex;align-items:center;gap:10px;padding:0 10px 0 16px}
.m-logo{width:36px;height:36px;border-radius:10px;background:#c8f322;color:#171e00;display:grid;place-items:center;font:800 1.05rem var(--fh);flex:none}
.m-ttl{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.1}
.m-ttl b{font:700 1.15rem var(--fh);text-transform:uppercase;letter-spacing:.02em;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.m-ttl small{font:700 .62rem var(--fb);letter-spacing:.14em;text-transform:uppercase;color:#c8f322}
.m-ic{width:44px;height:44px;border-radius:99px;border:0;background:#1e2024;color:#e2e2e8;display:grid;place-items:center;cursor:pointer}
.m-ic:hover{background:#282a2e}
.m-main{max-width:520px;margin:0 auto;padding:14px 16px 40px;color:#e2e2e8}
.m-main .ms,.m-bar .ms{font-family:'Material Symbols Outlined'!important;font-weight:400!important;font-style:normal!important;letter-spacing:normal!important;text-transform:none!important}
.ms.fill{font-variation-settings:'FILL' 1}
.m-cap{display:block;font:700 .62rem var(--fb);letter-spacing:.14em;text-transform:uppercase;color:#8f937a}
.m-tag{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:99px;background:rgba(200,243,34,.12);color:#c8f322;font:700 .62rem var(--fb);letter-spacing:.12em;text-transform:uppercase}
.m-tag .ms{font-size:14px}
.m-ctx{display:flex;justify-content:space-between;align-items:center;background:#1a1c20;border:1px solid #26292e;border-radius:14px;padding:10px 12px;margin-bottom:14px}
.m-ctx>div{display:flex;align-items:center;gap:10px}.m-ctx span b{display:block;font:700 .66rem var(--fb);letter-spacing:.12em;text-transform:uppercase;color:#c5c9ad}.m-ctx span small{font-size:.8rem;color:#e2e2e8}
.m-live{width:8px;height:8px;border-radius:99px;background:#00e475;box-shadow:0 0 0 4px rgba(0,228,117,.15);animation:mpulse 2s infinite}
@keyframes mpulse{50%{box-shadow:0 0 0 7px rgba(0,228,117,0)}}
/* pase */
.m-pass{position:relative;overflow:hidden;border-radius:24px;padding:18px;background:linear-gradient(160deg,#1e2024 0%,#15171b 60%,#0c0e12 100%);border:1px solid #2a2d33;box-shadow:0 20px 40px rgba(0,0,0,.45)}
.m-glow{position:absolute;inset:-40% -30% auto auto;width:260px;height:260px;border-radius:99px;background:radial-gradient(circle,rgba(200,243,34,.22),transparent 65%);pointer-events:none}
.m-pass.warn .m-glow{background:radial-gradient(circle,rgba(255,201,77,.22),transparent 65%)}
.m-pass.bad .m-glow{background:radial-gradient(circle,rgba(255,92,92,.22),transparent 65%)}
.m-pass-h{position:relative;display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}
.m-brand{display:flex;align-items:center;gap:10px;min-width:0}
.m-bolt{width:34px;height:34px;border-radius:10px;background:#c8f322;color:#171e00;display:grid;place-items:center;flex:none}
.m-brand b{display:block;font:700 1.05rem var(--fh);text-transform:uppercase;letter-spacing:.04em;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:170px}
.m-brand small{font:700 .58rem var(--fb);letter-spacing:.16em;text-transform:uppercase;color:#8f937a}
.m-st{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:99px;font:800 .7rem var(--fb);letter-spacing:.1em;text-transform:uppercase;flex:none}
.m-st i{width:7px;height:7px;border-radius:99px;background:currentColor;animation:rpulse 1.6s infinite}
.m-st.ok{background:rgba(0,228,117,.14);color:#62ff96}.m-st.warn{background:rgba(255,201,77,.14);color:#ffd84d}.m-st.bad{background:rgba(255,92,92,.16);color:#ffb2b6}
.m-name{position:relative;font:800 2.1rem/1 var(--fh)!important;text-transform:uppercase;letter-spacing:.005em;color:#fff;margin:4px 0 16px;word-break:break-word}
.m-tier{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px}
.m-tier>div{background:rgba(12,14,18,.6);border:1px solid #26292e;border-radius:14px;padding:10px 12px}
.m-tier b{display:block;font:700 1rem var(--fh);text-transform:uppercase;letter-spacing:.02em;color:#fff;margin-top:3px}
.m-tier b.ok{color:#c8f322}.m-tier b.warn{color:#ffd84d}.m-tier b.bad{color:#ffb2b6}
.m-tier small{font-size:.74rem;color:#c5c9ad}
.m-qrbox{position:relative;background:#0c0e12;border:1px solid #26292e;border-radius:18px;padding:14px;display:flex;flex-direction:column;align-items:center;gap:12px}
.m-qr-t,.m-qr-f{display:flex;align-items:center;gap:6px;font:700 .64rem var(--fb);letter-spacing:.12em;text-transform:uppercase;color:#c8f322}
.m-qr-f{color:#8f937a}.m-qr-t .ms,.m-qr-f .ms{font-size:16px}
.m-qr{position:relative;background:#fff;border-radius:16px;padding:14px;box-shadow:0 0 0 4px rgba(200,243,34,.18),0 0 30px rgba(200,243,34,.15);overflow:hidden}
.m-pass.warn .m-qr{box-shadow:0 0 0 4px rgba(255,201,77,.2)}.m-pass.bad .m-qr{box-shadow:0 0 0 4px rgba(255,92,92,.25)}
.m-qr #qr img,.m-qr #qr canvas{display:block}
.m-laser{position:absolute;left:8px;right:8px;top:12px;height:2px;background:#c8f322;box-shadow:0 0 12px 2px rgba(200,243,34,.8);animation:mscan 2.6s ease-in-out infinite;border-radius:2px}
.m-pass.bad .m-laser{background:#ff5c5c;box-shadow:0 0 12px 2px rgba(255,92,92,.7)}
@keyframes mscan{50%{top:calc(100% - 14px)}}
@media(prefers-reduced-motion:reduce){.m-laser,.m-live,.m-st i{animation:none}}
.m-acts{display:flex;flex-direction:column;gap:10px;margin:16px 0 26px}
.m-acts .btn,.btn.cta.m-renew{justify-content:center;gap:8px;min-height:56px;border-radius:14px;font:700 1.12rem var(--fh);text-transform:uppercase;letter-spacing:.03em}
[data-tema=membresias] .m-acts .btn.light{background:#1e2024;color:#e2e2e8;border:1px solid #333539;font:600 .92rem var(--fb);text-transform:none;letter-spacing:0}
.m-err,.m-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:28px 18px;background:#1a1c20;border:1px solid #2a2d33;border-radius:18px;margin-bottom:22px}
.m-err .ms{color:#ffb2b6;font-size:36px}.m-empty .ms{color:#c8f322;font-size:36px}
.m-err span,.m-empty span{font-size:.85rem;color:#c5c9ad}
.m-hero{padding:8px 0 20px}
.m-hero h1{font:800 2.6rem/1 var(--fh);text-transform:uppercase;color:#fff;margin:12px 0 8px}
.m-hero p{margin:0;color:#c5c9ad;font-size:.92rem}
/* planes */
.m-sec{display:flex;justify-content:space-between;align-items:center;margin:4px 0 12px}
.m-sec>span{display:flex;align-items:center;gap:8px}.m-sec>span .ms{color:#c8f322}
.m-sec h2,.m-sec h3{margin:0;font:700 1.35rem var(--fh);text-transform:uppercase;color:#fff;letter-spacing:.02em}
.m-sec h3{font-size:1.1rem}
.m-sec small{font:700 .62rem var(--fb);letter-spacing:.12em;text-transform:uppercase;color:#8f937a;padding:4px 9px;border:1px solid #333539;border-radius:99px}
.m-sec small.acc{color:#c8f322;border-color:rgba(200,243,34,.3)}
.m-sec.sm{margin-top:24px}
.m-plans{display:flex;flex-direction:column;gap:10px}
.m-plan{display:block;width:100%;text-align:left;font:inherit;color:#e2e2e8;background:#1a1c20;border:1.5px solid #2a2d33;border-radius:18px;padding:14px 16px;cursor:pointer;transition:border-color .15s,background .15s,transform .1s}
.m-plan:hover{border-color:#44474d}
.m-plan:active{transform:scale(.99)}
.m-plan.on{border-color:#c8f322;background:linear-gradient(160deg,rgba(200,243,34,.08),#1a1c20 55%);box-shadow:0 0 0 1px #c8f322,0 10px 26px rgba(200,243,34,.08)}
.m-plan-h{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.m-plan-h b{display:block;font:700 1.25rem var(--fh);text-transform:uppercase;color:#fff;letter-spacing:.02em}
.m-plan-h>i{width:26px;height:26px;border-radius:99px;border:1.5px solid #44474d;display:grid;place-items:center;color:transparent;flex:none}
.m-plan-h>i .ms{font-size:17px}
.m-plan.on .m-plan-h>i{background:#c8f322;border-color:#c8f322;color:#171e00}
.m-save,.m-dur{display:inline-flex;align-items:center;gap:3px;margin-top:3px;padding:2px 8px;border-radius:99px;font:700 .62rem var(--fb);letter-spacing:.08em;text-transform:uppercase}
.m-save{background:rgba(255,145,77,.14);color:#ffb37d}.m-save .ms{font-size:13px}
.m-dur{background:#282a2e;color:#c5c9ad}
.m-plan p{margin:8px 0 0;font-size:.84rem;color:#c5c9ad;line-height:1.45}
.m-plan-f{display:flex;justify-content:space-between;align-items:flex-end;margin-top:12px}
.m-price{display:flex;align-items:baseline;gap:4px}
.m-price small{font:600 .9rem var(--fb);color:#8f937a}
.m-price b{font:800 2.3rem/1 var(--fh);color:#fff}
.m-plan.on .m-price b{color:#c8f322}
.m-price span{font-size:.8rem;color:#8f937a}
.m-dur2{font:700 .64rem var(--fb);letter-spacing:.1em;text-transform:uppercase;color:#8f937a}
.m-seg{display:grid;gap:6px;background:#0c0e12;border:1px solid #26292e;border-radius:16px;padding:5px;margin-bottom:12px}
.m-seg button{min-height:46px;border:0;border-radius:12px;background:transparent;color:#c5c9ad;font:700 .8rem var(--fb);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px}
.m-seg button i{width:7px;height:7px;border-radius:99px;background:#a259ff}
.m-seg button[data-pago=plin] i{background:#22c3e6}
.m-seg button.on{background:#282a2e;color:#fff;box-shadow:0 0 0 1px #44474d}
.m-pay{background:#1a1c20;border:1px solid #2a2d33;border-radius:18px;padding:14px;margin-bottom:16px}
.m-pay-h{display:flex;align-items:center;gap:12px}
.m-pay-h>div{flex:1;min-width:0}
.m-pay-h b{display:block;font:800 1.5rem/1.1 var(--fh);color:#fff;letter-spacing:.03em}
.m-pay-h small{font-size:.76rem;color:#c5c9ad}
.m-pay-ic{width:44px;height:44px;border-radius:12px;background:rgba(200,243,34,.1);color:#c8f322;display:grid;place-items:center;flex:none}
.m-copy{display:inline-flex;align-items:center;gap:4px;border:1px solid #333539;background:#0c0e12;color:#c8f322;border-radius:10px;min-height:40px;padding:0 12px;font:700 .72rem var(--fb);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;flex:none}
.m-copy .ms{font-size:16px}
.m-stp{display:flex;gap:10px;margin-top:14px;padding-top:14px;border-top:1px dashed #333539}
.m-stp>i{width:24px;height:24px;border-radius:99px;background:#c8f322;color:#171e00;display:grid;place-items:center;font:800 .78rem var(--fb);font-style:normal;flex:none}
.m-stp>div{flex:1;min-width:0}.m-stp b{display:block;font-size:.9rem;color:#fff}.m-stp small{display:flex;align-items:center;gap:4px;font-size:.76rem;color:#8f937a;margin-top:4px}.m-stp small .ms{font-size:14px}
[data-tema=membresias] .m-stp label{margin:0 0 6px;font:700 .64rem var(--fb);letter-spacing:.12em;text-transform:uppercase;color:#c5c9ad}
[data-tema=membresias] .m-stp input{min-height:48px;font:700 1.1rem var(--fb);letter-spacing:.06em}
.m-lock{display:flex;align-items:center;justify-content:center;gap:6px;text-align:center;font-size:.76rem;color:#8f937a;margin:10px 0 28px}.m-lock .ms{font-size:16px}
/* sede */
.m-sede{background:#1a1c20;border:1px solid #2a2d33;border-radius:20px;padding:16px;display:flex;flex-direction:column;gap:10px}
.m-sede-h span{display:flex;align-items:center;gap:8px}.m-sede-h .ms{color:#c8f322}
.m-sede-h h3{margin:0;font:700 1.15rem var(--fh);text-transform:uppercase;color:#fff}
.m-wa{display:flex;align-items:center;gap:12px;background:rgba(0,228,117,.08);border:1px solid rgba(0,228,117,.25);border-radius:14px;padding:10px 12px;text-decoration:none;color:#e2e2e8}
.m-wa-ic{width:38px;height:38px;border-radius:10px;background:#00e475;color:#00210e;display:grid;place-items:center;flex:none}
.m-wa>span:nth-child(2){flex:1;display:flex;flex-direction:column}.m-wa small{font:700 .6rem var(--fb);letter-spacing:.12em;text-transform:uppercase;color:#62ff96}.m-wa b{font-size:.95rem}
.m-wa>.ms{color:#62ff96}
.m-info{display:flex;gap:10px;align-items:flex-start;padding:6px 2px;text-decoration:none;color:#e2e2e8}
.m-info>.ms{color:#8f937a;font-size:20px}.m-info span{display:flex;flex-direction:column}.m-info small{font:700 .6rem var(--fb);letter-spacing:.12em;text-transform:uppercase;color:#8f937a}.m-info b{font-weight:500;font-size:.88rem}
.m-foot{text-align:center;font-size:.74rem;color:#8f937a;padding:24px 0 0}.m-foot a{color:#8f937a}
.m-steps{padding-left:20px;line-height:1.6}.m-steps li{margin-bottom:6px}
[data-tema=membresias] .modal>.card{background:#1a1c20;color:#e2e2e8}
.m-main a.m-info,.m-main a.m-wa{color:#e2e2e8}

/* ===== Servicio técnico: componentes del diseño Stitch "TecniFix" (Seguimiento · Aprobación de presupuesto) ===== */
[data-tema=servicio] body{background:#f8f9ff}
.s-bar{position:sticky;top:0;z-index:8;background:rgba(248,249,255,.9);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid #e5eeff}
.s-bar-in{max-width:540px;margin:0 auto;height:60px;display:flex;align-items:center;gap:10px;padding:0 10px 0 16px}
.s-logo{width:36px;height:36px;border-radius:10px;background:#0b1c30;color:#f5a524;display:grid;place-items:center;font:700 .95rem var(--fh);flex:none}
.s-ttl{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.15}
.s-ttl b{font:700 1.02rem var(--fh);color:#0b1c30;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.s-ttl small{display:flex;align-items:center;gap:5px;font:600 .64rem var(--fb);letter-spacing:.1em;text-transform:uppercase;color:#58606f}
.s-ttl small i{width:6px;height:6px;border-radius:99px;background:#16a34a}
.s-ic{width:44px;height:44px;border-radius:12px;background:#e5eeff;color:#0b1c30;display:grid;place-items:center;text-decoration:none;flex:none}
.s-ic:hover{background:#dce9ff}
.s-main{max-width:540px;margin:0 auto;padding:14px 16px 32px}
.s-main .ms,.s-bar .ms,.s-modal .ms,.s-foot .ms{font-family:'Material Symbols Outlined'!important;font-weight:400!important;font-style:normal!important;letter-spacing:normal!important;text-transform:none!important}
.s-cap{display:block;font:700 .62rem var(--fb);letter-spacing:.12em;text-transform:uppercase;color:#58606f}
.s-card{background:#fff;border-radius:16px;padding:16px;margin-bottom:14px;box-shadow:0 0 0 1px #e2e8f3,0 4px 14px rgba(11,28,48,.04)}
.s-sync{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#fff4e8;border:1px solid #ffdcc3;border-radius:14px;padding:10px 10px 10px 14px;margin-bottom:14px}
.s-sync>span{display:flex;flex-direction:column;position:relative;padding-left:16px}
.s-sync>span i{position:absolute;left:0;top:5px;width:8px;height:8px;border-radius:99px;background:#b15f00;animation:rpulse 1.8s infinite}
.s-sync b{font:700 .66rem var(--fb);letter-spacing:.1em;text-transform:uppercase;color:#8d4b00}.s-sync small{font-size:.78rem;color:#554336}
.s-mini-ic{width:40px;height:40px;border-radius:10px;border:0;background:#fff;color:#8d4b00;display:grid;place-items:center;cursor:pointer;box-shadow:0 1px 3px rgba(0,0,0,.06)}
.s-mini-ic.spin .ms{animation:sspin .8s linear infinite}
@keyframes sspin{to{transform:rotate(360deg)}}
.s-ot-h{display:flex;justify-content:space-between;align-items:flex-start}
.s-ot-h b{font:700 1.7rem var(--fm);color:#8d4b00;letter-spacing:.01em}
.s-badge{padding:5px 10px;border-radius:8px;font:700 .66rem var(--fb);letter-spacing:.1em;text-transform:uppercase;background:#0b1c30;color:#fff}
.s-badge.ok{background:#16a34a}.s-badge.bad{background:#ba1a1a}.s-badge.ask{background:#b15f00}
.s-ot-m{display:flex;flex-wrap:wrap;gap:6px 14px;margin:10px 0 14px;font-size:.8rem;color:#58606f}
.s-ot-m span{display:inline-flex;align-items:center;gap:5px}.s-ot-m .ms{font-size:16px;color:#887364}
.s-dev{display:flex;gap:12px;align-items:center;background:#eff4ff;border-radius:12px;padding:12px}
.s-dev-ic{width:44px;height:44px;border-radius:12px;background:#fff;color:#0b1c30;display:grid;place-items:center;flex:none;box-shadow:0 1px 3px rgba(0,0,0,.06)}
.s-dev h2{margin:2px 0 0;font:700 1.15rem var(--fh);color:#0b1c30}
.s-dev p{margin:2px 0 0;font-size:.76rem;color:#58606f}
.s-hero{border-radius:18px;padding:18px;margin-bottom:14px;color:#fff;background:linear-gradient(140deg,#b15f00,#8d4b00 70%);box-shadow:0 12px 28px rgba(141,75,0,.28)}
.s-hero.ok{background:linear-gradient(140deg,#16a34a,#0f6b33 75%);box-shadow:0 12px 28px rgba(22,163,74,.25)}
.s-hero.ask{background:linear-gradient(140deg,#0b1c30,#334458);box-shadow:0 12px 28px rgba(11,28,48,.25)}
.s-hero.bad{background:linear-gradient(140deg,#7a1c1c,#4a1418)}
.s-hero .s-cap{color:rgba(255,255,255,.75)}
.s-step{padding:3px 9px;border-radius:99px;background:rgba(255,255,255,.18);font:700 .64rem var(--fb);letter-spacing:.06em}
.s-hero h1{display:flex;align-items:center;gap:8px;font:700 1.6rem var(--fh);margin:8px 0 6px;color:#fff}
.s-hero h1 .ms{font-size:28px;font-variation-settings:'FILL' 1}
.s-hero p{margin:0;font-size:.88rem;line-height:1.5;color:rgba(255,255,255,.92)}
.s-eta{display:flex;align-items:center;gap:6px;margin-top:12px;background:rgba(0,0,0,.18);border-radius:10px;padding:9px 12px;font-size:.84rem}
.s-eta .ms{font-size:18px}
.s-prog{height:6px;border-radius:99px;background:rgba(255,255,255,.22);margin-top:14px;overflow:hidden}
.s-prog i{display:block;height:100%;border-radius:99px;background:#ffc56b;transition:width .6s}
.s-hero.ok .s-prog i{background:#fff}
.s-sec{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.s-sec h3{display:flex;align-items:center;gap:6px;margin:0;font:700 1.02rem var(--fh);color:#0b1c30}
.s-sec h3 .ms{font-size:20px;color:#b15f00}
.s-sec small{font:700 .62rem var(--fb);letter-spacing:.1em;text-transform:uppercase;color:#58606f;background:#eff4ff;padding:3px 8px;border-radius:6px}
.s-diag{display:flex;gap:10px;background:#eff4ff;border-radius:12px;padding:10px 12px;margin-bottom:12px}
.s-diag .ms{color:#006194;font-size:20px}.s-diag b{font-size:.84rem}.s-diag p{margin:2px 0 0;font-size:.82rem;color:#554336}
.s-items>div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px dashed #d6deea;font-size:.9rem}
.s-items b{font:600 .88rem var(--fm);white-space:nowrap}
.s-tot{background:#0b1c30;color:#fff;border-radius:12px;padding:12px 14px;margin-top:12px}
.s-tot>div{display:flex;justify-content:space-between;align-items:center;padding:3px 0}
.s-tot span{font-size:.84rem;color:#c9d5ea}.s-tot b{font:700 1.3rem var(--fm);color:#ffc56b}
.s-tot .paid b{font-size:.95rem;color:#9fe3b5}.s-tot .due{border-top:1px solid rgba(255,255,255,.15);margin-top:4px;padding-top:8px}
.s-ok{display:flex;align-items:center;gap:6px;margin-top:12px;color:#15803d;font:600 .84rem var(--fb)}.s-ok .ms{font-size:18px}
.s-approve{margin-bottom:14px;display:flex;flex-direction:column;gap:10px}
.btn.s-btn{justify-content:center;gap:8px;min-height:56px;border-radius:14px;font:700 1rem var(--fh)}
[data-tema=servicio] .btn.cta{background:#b15f00}
[data-tema=servicio] .btn.light.s-btn{background:#fff;color:#ba1a1a;box-shadow:0 0 0 1px #f3c7c1}
.s-lock{display:flex;align-items:center;justify-content:center;gap:5px;margin:0;font-size:.76rem;color:#58606f}.s-lock .ms{font-size:15px}
.s-pay-h{display:flex;gap:12px;align-items:center;margin-bottom:12px}
.s-pay-h .s-dev-ic{background:#ffdcc3;color:#8d4b00;box-shadow:none}
.s-pay-h h3{margin:0;font:700 1.02rem var(--fh)}.s-pay-h small{font-size:.78rem;color:#58606f}
.s-seg{display:grid;grid-template-columns:1fr 1fr;gap:6px;background:#eff4ff;border-radius:12px;padding:4px;margin-bottom:12px}
.s-seg button{min-height:42px;border:0;border-radius:9px;background:transparent;font:700 .86rem var(--fb);color:#58606f;cursor:pointer}
.s-seg button.on{background:#fff;color:#0b1c30;box-shadow:0 1px 4px rgba(11,28,48,.12)}
.s-num{display:flex;justify-content:space-between;align-items:center;gap:10px;background:#eff4ff;border-radius:12px;padding:12px}
.s-num b{display:block;font:700 1.4rem var(--fm);color:#0b1c30}.s-num small{font-size:.74rem;color:#58606f}
.s-mini{display:inline-flex;align-items:center;gap:4px;border:0;border-radius:10px;background:#fff;color:#8d4b00;font:700 .78rem var(--fb);min-height:40px;padding:0 12px;cursor:pointer;flex:none;box-shadow:0 1px 3px rgba(0,0,0,.06)}
.s-mini .ms{font-size:16px}
.s-amt{display:flex;justify-content:space-between;align-items:center;padding:12px 2px 2px;font-size:.86rem;color:#58606f}.s-amt b{font:700 1.1rem var(--fm);color:#8d4b00}
[data-tema=servicio] .s-pay label{font:700 .64rem var(--fb);letter-spacing:.1em;text-transform:uppercase;color:#58606f}
.s-op{display:flex;gap:8px}.s-op input{flex:1;font-family:var(--fm);letter-spacing:.04em}
.s-op .btn{flex:none;gap:4px;background:#0b1c30;border-radius:12px}.s-op .btn .ms{font-size:18px}
.s-hint{display:flex;gap:5px;align-items:flex-start;margin:8px 0 0;font-size:.76rem;color:#58606f}.s-hint .ms{font-size:15px;margin-top:1px}
.s-tl{list-style:none;margin:0;padding:0}
.s-tl li{position:relative;display:flex;gap:12px;padding-bottom:16px}
.s-tl li:not(:last-child)::before{content:'';position:absolute;left:15px;top:32px;bottom:0;width:2px;background:#e2e8f3}
.s-tl li.done:not(:last-child)::before{background:#b15f00}
.s-tl li>i{width:32px;height:32px;border-radius:99px;display:grid;place-items:center;flex:none;background:#eff4ff;color:#a8b2c3;position:relative;z-index:1}
.s-tl li>i .ms{font-size:18px}
.s-tl li.next>i .ms{font-size:10px}
.s-tl li.done>i{background:#b15f00;color:#fff}
.s-tl li.now>i{background:#fff;color:#b15f00;box-shadow:0 0 0 2px #b15f00,0 0 0 6px rgba(177,95,0,.15)}
.s-tl li>div{flex:1;min-width:0;padding-top:5px}
.s-tl-h{display:flex;justify-content:space-between;gap:8px;align-items:baseline}
.s-tl b{font-size:.92rem;color:#0b1c30}.s-tl li.next b{color:#a8b2c3;font-weight:600}
.s-tl small{font-size:.7rem;color:#58606f;white-space:nowrap}
.s-now{font:700 .6rem var(--fb);letter-spacing:.1em;text-transform:uppercase;color:#b15f00;background:#ffdcc3;padding:2px 7px;border-radius:6px}
.s-tl p{margin:3px 0 0;font-size:.8rem;color:#58606f}
.btn.s-wa{gap:8px;min-height:54px;border-radius:14px;background:#16a34a;justify-content:center;margin-top:4px}
.s-note{display:flex;gap:6px;align-items:flex-start;justify-content:center;text-align:center;font-size:.76rem;color:#58606f;margin:12px 8px 0}.s-note .ms{font-size:15px}
.s-intro{text-align:center;padding:28px 18px}
.s-intro h1{font:700 1.4rem var(--fh);margin:10px 0 6px}.s-intro p{color:#58606f;font-size:.9rem;margin:0 0 16px}
.s-ic-big{width:60px;height:60px;border-radius:16px;background:#ffdcc3;color:#8d4b00;display:inline-grid;place-items:center}.s-ic-big .ms{font-size:30px}
.s-foot{text-align:center;font-size:.74rem;color:#58606f;padding:20px 16px 28px;line-height:1.6}.s-foot a{color:#58606f}.s-foot .ms{font-size:14px;vertical-align:-2px}
.s-modal{text-align:center}.s-modal-ic{width:64px;height:64px;border-radius:99px;background:#dcf5e7;color:#16a34a;display:inline-grid;place-items:center;margin:4px 0 8px}.s-modal-ic .ms{font-size:32px;font-variation-settings:'FILL' 1}
.s-modal .btn.cta{justify-content:center}

/* ---------- 🎟️ Club de sellos (app sola) — crema + azul marino + dorado, Poppins (Stitch "Club de Sellos Digital") ---------- */
[data-tema=club]{--navy:#132548;--navy-2:#00102f;--navy-hi:#2d4478;--ink:#151c27;--grey:#5b5e68;--line:#e6dfd2;--soft:#f6f1e7;--soft-2:#efe7d6;--bg:#faf7f2;--bar:rgba(250,247,242,.94);
  --gold:#CE9F39;--gold-text:#8a6516;--warn:#8a6516;--warn-bg:#f7e7bd;--cta:#132548;--cta-sh:rgba(19,37,72,.28);--fh:Poppins,Inter,sans-serif;--radius:14px;--shadow:0 1px 2px rgba(19,37,72,.04),0 6px 20px rgba(19,37,72,.07)}
