/* Club de fidelidad (1.0.30): the wallet-style card (public page + panel preview) and the public club page. */
.wcard{--c-bg:#0B0B0A;--c-fg:#F4F4EF;--c-lb:#C6F135;--c-on:#C6F135;--c-tick:#0B0B0A;--c-off:#3A3A36;--c-line:rgba(255,255,255,.08);
	position:relative;width:100%;max-width:360px;margin:0 auto;border-radius:22px;background:var(--c-bg);color:var(--c-fg);padding:18px 18px 14px;
	font-family:"Geist",ui-sans-serif,system-ui,sans-serif;box-shadow:0 1px 0 var(--c-line) inset,0 30px 60px -28px rgba(11,11,10,.55);overflow:hidden;text-align:left}
.wcard--white{--c-bg:#FFFFFF;--c-fg:#141413;--c-lb:#6E6E68;--c-on:#141413;--c-tick:#FFFFFF;--c-off:#D6D6CF;--c-line:rgba(20,20,19,.08);border:1px solid #E6E6E0;box-shadow:0 30px 60px -30px rgba(20,20,15,.28)}
.wcard__top{display:flex;align-items:center;gap:12px;min-height:44px}
.wcard__logo{flex:0 0 auto;width:44px;height:44px;border-radius:12px;background:#fff center/contain no-repeat;display:grid;place-items:center;font:700 18px/1 "Bricolage Grotesque",sans-serif;color:#0B0B0A;overflow:hidden}
.wcard__logo img{width:100%;height:100%;object-fit:contain}
.wcard__who{min-width:0;flex:1}
.wcard__who b{display:block;font:600 16px/1.2 "Bricolage Grotesque",sans-serif;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wcard__who small{display:block;font-size:12px;opacity:.7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wcard__num{text-align:right}
.wcard__num small,.wcard__f small{display:block;font:500 9.5px/1.2 "Geist Mono",ui-monospace,monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--c-lb)}
.wcard__num b{font:700 26px/1 "Bricolage Grotesque",sans-serif}
.wcard__stamps{display:grid;grid-template-columns:repeat(var(--cols,5),1fr);gap:10px;margin:18px 0 16px;padding:16px 4px;border-top:1px solid var(--c-line);border-bottom:1px solid var(--c-line)}
.wcard__s{aspect-ratio:1;border-radius:50%;border:2px solid var(--c-off);display:grid;place-items:center;max-width:44px;width:100%;margin:0 auto}
.wcard__s.on{background:var(--c-on);border-color:var(--c-on);color:var(--c-tick)}
.wcard__s svg{width:56%;height:56%}
.wcard__s.gift{border-style:dashed}
.wcard__fields{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end}
.wcard__f b{display:block;font-size:14.5px;font-weight:600;line-height:1.25;margin-top:3px}
.wcard__qr{display:flex;flex-direction:column;align-items:center;gap:6px;margin:16px auto 6px;padding:10px 10px 6px;background:#fff;border-radius:14px;width:max-content}
.wcard__qr svg,.wcard__qr img{width:128px;height:128px;display:block}
.wcard__qr span{font:600 12px/1 "Geist Mono",monospace;letter-spacing:.18em;color:#141413}
.wcard__foot{display:flex;justify-content:flex-end;align-items:center;gap:6px;margin-top:10px;font-size:10.5px;opacity:.75}
.wcard__foot img{height:13px;width:auto}

/* public page */
.club{min-height:100vh;min-height:100dvh;background:#F4F4F0;color:#141413;font:400 16px/1.5 "Geist",ui-sans-serif,system-ui,sans-serif}
.club__in{max-width:1000px;margin:0 auto;padding:22px 16px 48px;display:grid;gap:28px}
@media (min-width:860px){.club__in{grid-template-columns:1fr 1fr;align-items:start;padding-top:48px;gap:48px}}
.club__back{display:inline-flex;align-items:center;gap:8px;color:#55554F;text-decoration:none;font-size:14px;margin-bottom:12px}
.club h1{font:600 clamp(30px,6vw,44px)/1.04 "Bricolage Grotesque",sans-serif;letter-spacing:-.03em;margin:0 0 10px}
.club h1 em{font-style:normal;background:#C6F135;padding:0 .12em;border-radius:.12em}
.club__lead{color:#55554F;margin:0 0 22px}
.club__form{background:#fff;border:1px solid #E6E6E0;border-radius:20px;padding:20px}
.club__f{display:block;margin-bottom:14px}
.club__f span{display:block;font-size:14px;font-weight:600;margin-bottom:6px}
.club__f small{font-weight:400;color:#8A8A83}
.club__f input{width:100%;height:50px;border:1px solid #D6D6CF;border-radius:12px;padding:0 14px;font-size:16px;background:#fff}
.club__f input:focus{outline:2px solid #141413;outline-offset:1px;border-color:transparent}
.club__err{display:block;color:#B42318;font-size:13px;margin-top:4px}
.club__btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;height:52px;border:0;border-radius:14px;background:#C6F135;color:#0B0B0A;font:600 16px/1 "Geist",sans-serif;cursor:pointer;text-decoration:none;box-shadow:inset 0 -3px 0 rgba(0,0,0,.18)}
.club__btn[disabled]{opacity:.6}
.club__btn--dark{background:#0B0B0A;color:#fff;box-shadow:none}
.club__fine{font-size:12.5px;color:#8A8A83;margin:12px 0 0}
.club__fine a{color:#55554F}
.club__alert{padding:12px 14px;border-radius:12px;background:#FDE6E4;color:#7A1A12;font-size:14px;margin-bottom:14px}
.club__alert--ok{background:#ECF8CF;color:#2E4200}
.club__rw{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:8px}
.club__rw li{display:flex;justify-content:space-between;gap:12px;background:#fff;border:1px solid #E6E6E0;border-radius:14px;padding:12px 14px;font-size:15px}
.club__rw li b{font-weight:600}
.club__rw li span{color:#55554F;white-space:nowrap}
.club__rw li.ok{border-color:#141413}
.club__rw li.ok span{color:#141413;font-weight:600}
.club__wallet{display:grid;gap:10px;margin-top:18px}
.club__wbtn{display:flex;align-items:center;justify-content:center;gap:10px;height:50px;border-radius:12px;background:#000;color:#fff;text-decoration:none;font-weight:600;font-size:15px}
.club__wbtn svg{width:22px;height:22px}
.club__tip{display:flex;gap:10px;align-items:flex-start;background:#fff;border:1px dashed #D6D6CF;border-radius:14px;padding:12px 14px;font-size:14px;color:#55554F;margin-top:14px}
.club__by{text-align:center;font-size:12.5px;color:#8A8A83;padding:0 16px 28px}
.club__by a{color:#55554F}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.club *,.club *::before,.club *::after,.wcard,.wcard *{box-sizing:border-box}
@media (max-width:859px){.club--card .club__in>div:last-child{order:-1}}

/* panel (Club de fidelidad / Tarjeta NFC) */
.club-kpis{margin-bottom:16px}
.club-code{display:flex;gap:8px}
.club-code .input{flex:1;text-transform:uppercase;letter-spacing:.14em;font-family:"Geist Mono",ui-monospace,monospace;font-size:16px}
.club-table tbody tr{cursor:pointer}
.club-ok{color:var(--ok,#2E7D32);font-weight:600;white-space:nowrap}
.note{background:var(--surface-2,#F4F4F0);border-radius:12px;padding:10px 12px;font-size:13.5px;color:var(--ink-2,#55554F);margin:12px 0 0}
.club-m__head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px}
.club-m__head h2{margin:0}
.club-m__acts{display:grid;gap:8px;margin:16px 0 10px}
.btn--block{width:100%;justify-content:center}
.club-ev{list-style:none;margin:6px 0 0;padding:0;max-height:220px;overflow:auto}
.club-ev li{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--line,#E6E6E0);font-size:14px}
.club-rw{display:flex;gap:8px;align-items:center;margin-bottom:8px}
.club-rw>.input{flex:1;min-width:0}
.club-rw__n{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--ink-3,#8A8A83)}
.club-rw__n .input{width:72px;text-align:center}
.club-design{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px}
.club-opt{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px;border:1px solid var(--line,#E6E6E0);border-radius:14px;cursor:pointer}
.club-opt input{position:absolute;opacity:0;pointer-events:none}
.club-opt:has(input:checked){border-color:var(--ink,#141413);box-shadow:inset 0 0 0 1px var(--ink,#141413)}
.club-opt:has(input:focus-visible){outline:2px solid var(--ink,#141413);outline-offset:2px}
.club-opt__sw{width:100%;height:46px;border-radius:10px}
.club-opt__sw--dark{background:#0B0B0A}
.club-opt__sw--white{background:#fff;border:1px solid #D6D6CF}
.club-logo{display:flex;gap:12px;align-items:center}
.club-logo__prev{flex:0 0 auto;width:60px;height:60px;border-radius:14px;background:var(--surface-2,#F4F4F0);display:grid;place-items:center;overflow:hidden}
.club-logo__prev img{width:100%;height:100%;object-fit:contain;background:#fff}
.club-prev{position:sticky;top:90px;padding:8px 0}
.scan__box{position:relative;border-radius:16px;overflow:hidden;background:#000;aspect-ratio:1;max-width:360px;margin:12px auto}
.scan__box video{width:100%;height:100%;object-fit:cover;display:block}
.scan__frame{position:absolute;inset:18%;border:3px solid #C6F135;border-radius:18px;box-shadow:0 0 0 999px rgba(0,0,0,.35)}
@media (max-width:700px){.club-rw{flex-wrap:wrap}.club-rw>.input{flex-basis:100%}.club-prev{position:static}}
.club-main{align-items:start}.club-main>.stack{align-content:start}
.range{accent-color:var(--ink,#141413)}
.note--ok{background:#ECF8CF;color:#2E4200}

/* 1.0.31 (Juan): less plain public club page: translucent green lines and glow behind the content */
.club{position:relative;overflow-x:hidden;background:#F4F4F0}
.club::before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;
	background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%221440%22%20height%3D%22900%22%20viewBox%3D%220%200%201440%20900%22%3E%3Cpath%20d%3D%22M-50%20120%20C%20260%20-50%2C%20520%20330%2C%20820%2080%20S%201250%20-110%2C%201500%20180%22%20stroke%3D%22%237BB800%22%20stroke-opacity%3D%220.10%22%20stroke-width%3D%222.2%22%20fill%3D%22none%22/%3E%3Cpath%20d%3D%22M-50%20154%20C%20260%20-10%2C%20520%20356%2C%20820%20114%20S%201250%20-66%2C%201500%20214%22%20stroke%3D%22%237BB800%22%20stroke-opacity%3D%220.15%22%20stroke-width%3D%221.2%22%20fill%3D%22none%22/%3E%3Cpath%20d%3D%22M-50%20188%20C%20260%2030%2C%20520%20382%2C%20820%20148%20S%201250%20-22%2C%201500%20248%22%20stroke%3D%22%237BB800%22%20stroke-opacity%3D%220.20%22%20stroke-width%3D%221.2%22%20fill%3D%22none%22/%3E%3Cpath%20d%3D%22M-50%20222%20C%20260%2070%2C%20520%20408%2C%20820%20182%20S%201250%2022%2C%201500%20282%22%20stroke%3D%22%237BB800%22%20stroke-opacity%3D%220.25%22%20stroke-width%3D%222.2%22%20fill%3D%22none%22/%3E%3Cpath%20d%3D%22M-50%20256%20C%20260%20110%2C%20520%20434%2C%20820%20216%20S%201250%2066%2C%201500%20316%22%20stroke%3D%22%237BB800%22%20stroke-opacity%3D%220.10%22%20stroke-width%3D%221.2%22%20fill%3D%22none%22/%3E%3Cpath%20d%3D%22M-50%20290%20C%20260%20150%2C%20520%20460%2C%20820%20250%20S%201250%20110%2C%201500%20350%22%20stroke%3D%22%237BB800%22%20stroke-opacity%3D%220.15%22%20stroke-width%3D%221.2%22%20fill%3D%22none%22/%3E%3Cpath%20d%3D%22M-50%20324%20C%20260%20190%2C%20520%20486%2C%20820%20284%20S%201250%20154%2C%201500%20384%22%20stroke%3D%22%237BB800%22%20stroke-opacity%3D%220.20%22%20stroke-width%3D%222.2%22%20fill%3D%22none%22/%3E%3Cpath%20d%3D%22M-50%20358%20C%20260%20230%2C%20520%20512%2C%20820%20318%20S%201250%20198%2C%201500%20418%22%20stroke%3D%22%237BB800%22%20stroke-opacity%3D%220.25%22%20stroke-width%3D%221.2%22%20fill%3D%22none%22/%3E%3Cpath%20d%3D%22M-50%20392%20C%20260%20270%2C%20520%20538%2C%20820%20352%20S%201250%20242%2C%201500%20452%22%20stroke%3D%22%237BB800%22%20stroke-opacity%3D%220.10%22%20stroke-width%3D%221.2%22%20fill%3D%22none%22/%3E%3Cpath%20d%3D%22M-50%20426%20C%20260%20310%2C%20520%20564%2C%20820%20386%20S%201250%20286%2C%201500%20486%22%20stroke%3D%22%237BB800%22%20stroke-opacity%3D%220.15%22%20stroke-width%3D%222.2%22%20fill%3D%22none%22/%3E%3Cpath%20d%3D%22M-50%20460%20C%20260%20350%2C%20520%20590%2C%20820%20420%20S%201250%20330%2C%201500%20520%22%20stroke%3D%22%237BB800%22%20stroke-opacity%3D%220.20%22%20stroke-width%3D%221.2%22%20fill%3D%22none%22/%3E%3Cpath%20d%3D%22M-50%20494%20C%20260%20390%2C%20520%20616%2C%20820%20454%20S%201250%20374%2C%201500%20554%22%20stroke%3D%22%237BB800%22%20stroke-opacity%3D%220.25%22%20stroke-width%3D%221.2%22%20fill%3D%22none%22/%3E%3Cpath%20d%3D%22M-50%20528%20C%20260%20430%2C%20520%20642%2C%20820%20488%20S%201250%20418%2C%201500%20588%22%20stroke%3D%22%237BB800%22%20stroke-opacity%3D%220.10%22%20stroke-width%3D%222.2%22%20fill%3D%22none%22/%3E%3Cpath%20d%3D%22M-50%20562%20C%20260%20470%2C%20520%20668%2C%20820%20522%20S%201250%20462%2C%201500%20622%22%20stroke%3D%22%237BB800%22%20stroke-opacity%3D%220.15%22%20stroke-width%3D%221.2%22%20fill%3D%22none%22/%3E%3C/svg%3E") center/cover no-repeat,
	radial-gradient(60% 50% at 85% 10%,rgba(198,241,53,.38),transparent 70%),
	radial-gradient(50% 45% at 5% 95%,rgba(198,241,53,.30),transparent 70%)}
.club::after{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background:linear-gradient(180deg,rgba(244,244,240,0) 0%,rgba(244,244,240,.35) 100%)}
.club__in,.club__by{position:relative;z-index:1}
.club__form,.club__rw li,.club__tip{background:rgba(255,255,255,.82);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.club__form{box-shadow:0 24px 60px -36px rgba(46,66,0,.35)}
.club .wcard{box-shadow:0 1px 0 var(--c-line) inset,0 40px 80px -30px rgba(46,66,0,.45)}
@media (min-width:860px){.club .wcard{transform:rotate(-2deg)}}
@media (prefers-reduced-motion:no-preference){.club::before{animation:clubdrift 24s ease-in-out infinite alternate}}
@keyframes clubdrift{from{background-position:center,0 0,0 0}to{background-position:calc(50% + 40px) 46%,0 0,0 0}}
/* 1.0.31 pedidos de canje */
.club-pend{border:1.5px solid var(--lime,#C6F135);margin-bottom:16px}
.club-pend__n{display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 7px;border-radius:12px;background:var(--lime,#C6F135);color:#0B0B0A;font-size:13px;margin-left:6px;vertical-align:middle}
.club-pend__l{list-style:none;margin:0;padding:0}
.club-pend__l li{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 0;border-top:1px solid var(--line,#E6E6E0);flex-wrap:wrap}
.club-pend__l li:first-child{border-top:0}
.club-pend__l small{display:block}
.club-pend__rw{display:block;font-size:14px;margin-top:2px}
.club-pend__a{display:flex;gap:8px;flex-wrap:wrap}
.club-pend__tag{display:inline-block;margin-top:4px;font-size:12px;font-weight:600;color:var(--accent,#4A6600)}
.club__ask{margin-left:auto;border:0;border-radius:10px;background:#141413;color:#fff;font:600 13px/1 "Geist",sans-serif;padding:9px 12px;cursor:pointer}
.club__ask[disabled]{opacity:.6}
.club__rw li{align-items:center}
@media (min-width:900px){.club-kpis{grid-template-columns:repeat(5,minmax(0,1fr))}}
/* 1.0.31 Tarjeta NFC: Google conectado + métricas */
.nfc-g{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--line,#E6E6E0);border-radius:14px}
.nfc-g>div{flex:1;min-width:0}
.nfc-g small{display:block;color:var(--ink-3,#8A8A83);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nfc-g__ico{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font:700 18px/1 "Geist",sans-serif;color:#fff;background:conic-gradient(#EA4335 0 25%,#FBBC04 0 50%,#34A853 0 75%,#4285F4 0)}
.nfc-k{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.nfc-bars{display:grid;grid-template-columns:repeat(14,1fr);gap:4px;align-items:end;height:96px;margin-top:6px}
.nfc-bars span{display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:100%;gap:4px}
.nfc-bars i{display:block;width:100%;min-height:2px;border-radius:4px 4px 0 0;background:var(--lime,#C6F135)}
.nfc-bars small{font-size:10px;color:var(--ink-3,#8A8A83)}
.nfc-set{align-items:start}
