/* Mi cuenta · ingreso */
.account-dialog .eyebrow{margin:0 0 10px}
.account-dialog h2{margin:0 0 10px;line-height:1.1}
.auth-lead{font-size:var(--read-body,16px);line-height:1.5;color:var(--muted);margin:0 0 22px}
.auth-google{min-height:44px;display:flex;justify-content:center;width:100%}
.auth-divider{display:flex;align-items:center;gap:12px;margin:22px 0 6px;font-size:var(--read-small,14px);color:var(--muted)}
.auth-divider::before,.auth-divider::after{content:"";flex:1;border-top:1px solid var(--line)}
.auth-form>div{display:block}
.auth-form label{display:block;align-self:auto;font-size:var(--read-label,13px);letter-spacing:.3px;margin:16px 0 4px;color:var(--ink)}
.auth-form input{display:block;box-sizing:border-box;width:100%;font:16px var(--sans);padding:10px 0;margin:0;border:0;border-bottom:1px solid #778174;border-radius:0;background:none;color:var(--ink);-webkit-appearance:none;appearance:none}
.auth-form input:focus-visible{outline:2px solid var(--olive);outline-offset:3px}
.account-dialog .auth-form .button{width:100%;max-width:none;margin:24px 0 0;font-size:14px;cursor:pointer}
.account-dialog .auth-form .button:disabled{opacity:.6;cursor:wait}
.auth-status{min-height:1.4em;margin:14px 0 0;font-size:var(--read-small,14px);line-height:1.5}
.auth-status[data-kind=error]{color:#9b2c1f}
.auth-status[data-kind=ok]{color:var(--olive)}
.auth-links{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 18px}
.account-dialog .auth-links .underlined{margin-top:8px;cursor:pointer;color:var(--ink)}
.auth-legal{margin:22px 0 0;font-size:var(--read-small,14px);line-height:1.5;color:var(--muted)}
.auth-legal a{text-decoration:underline;color:var(--ink)}
.account-toggle{position:relative}
.account-toggle.is-signed::after{content:"";position:absolute;top:7px;right:6px;width:9px;height:9px;border-radius:50%;background:var(--olive);border:2px solid var(--paper)}
.account-dialog [hidden]{display:none!important}

/* Perfil de clienta */
.account-dialog.is-profile{overflow-x:hidden;width:min(560px,96vw);padding:34px clamp(18px,4vw,34px) 30px}
.vip-card{position:relative;overflow:hidden;margin:6px 0 20px;padding:22px 22px 20px;color:#f7f2e6;background:radial-gradient(120% 90% at 100% 0,#5b6a52 0,transparent 55%),linear-gradient(150deg,#3f493b 0,#2c3329 100%);border:1px solid #c2a46a;box-shadow:0 18px 40px -22px #1f271d}
.vip-card::after{content:"";position:absolute;inset:7px;border:1px solid #c2a46a55;pointer-events:none}
.vip-card-top{display:flex;justify-content:space-between;font-size:11px;letter-spacing:2.4px;color:#d9c08c;margin-bottom:18px}
.vip-avatar{display:block;width:64px;height:64px;border-radius:50%;object-fit:cover;border:2px solid #c2a46a;margin-bottom:12px}
.vip-initials{display:flex;align-items:center;justify-content:center;background:#c2a46a;color:#2c3329;font:22px var(--serif)}
.vip-name{font:clamp(24px,5vw,30px)/1.15 var(--serif);margin:0 0 6px;letter-spacing:normal;word-break:break-word}
.vip-since{font-size:13px;letter-spacing:.6px;color:#e6dcc4;margin:0}
.vip-motto{font:italic 17px var(--serif);color:#d9c08c;margin:14px 0 0}
.vip-welcome{font-size:var(--read-body,16px);line-height:1.55;margin:0 0 18px;color:var(--ink)}
.vip-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 26px}
.vip-shortcuts>*{display:flex;flex-direction:column;gap:4px;align-items:flex-start;text-align:left;padding:14px 12px;background:var(--white);border:1px solid var(--line);color:var(--ink);font:inherit;cursor:pointer;min-width:0}
.vip-shortcuts strong{font:20px var(--serif);font-weight:400}
.vip-shortcuts span{font-size:13px;line-height:1.3;color:var(--muted)}
.vip-shortcuts>*:hover{border-color:var(--olive)}
.vip-foot{display:flex;flex-direction:column;align-items:center;gap:6px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
.account-dialog .vip-foot .button{width:100%;max-width:none;margin:0;font-size:14px;cursor:pointer}
.vip-exit{background:none;border:0;padding:10px;font:13px var(--sans);color:var(--muted);text-decoration:underline;cursor:pointer}
@media (max-width:420px){.vip-shortcuts{gap:6px}.vip-shortcuts>*{padding:12px 9px}.vip-shortcuts strong{font-size:16px;overflow-wrap:anywhere}.vip-card{padding:20px 18px 18px}}
.vip-link{background:none;border:0;padding:10px 4px;font:15px var(--sans);color:var(--ink);text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.vip-invite{display:grid;gap:6px;width:100%;text-align:left;padding:20px;margin:0 0 4px;background:var(--white);border:1px solid #c2a46a;color:var(--ink);font:inherit;cursor:pointer;transition:background .2s}
.vip-invite:hover{background:#fbf7ee}
.vip-invite-k{font-size:12px;letter-spacing:2.2px;color:#8a6d3b}
.vip-invite strong{font:400 26px/1.15 var(--serif)}
.vip-invite span{font-size:15px;line-height:1.5;color:var(--muted)}
.vip-invite .vip-invite-go{color:var(--olive);font-size:15px;margin-top:4px;text-decoration:underline;text-underline-offset:4px}
.vip-about{border-top:1px solid var(--line);padding-top:16px}
.vip-about-head{display:flex;justify-content:space-between;align-items:center}
.vip-about h3{font:400 22px var(--serif);margin:0}
.vip-tags{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 4px}
.vip-tags span{font-size:14px;padding:6px 12px;border-radius:999px;background:var(--olive);color:var(--white)}
.vip-facts{margin:10px 0 0;display:grid;gap:8px}
.vip-facts div{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:15px}
.vip-facts dt{color:var(--muted);min-width:90px}
.vip-facts dd{margin:0}
.vip-quiz{display:grid}
.vip-quiz.is-fwd{animation:vipIn .35s ease both}
.vip-quiz.is-back{animation:vipBack .35s ease both}
@keyframes vipIn{from{opacity:0;transform:translateX(22px)}to{opacity:1;transform:none}}
@keyframes vipBack{from{opacity:0;transform:translateX(-22px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.vip-quiz.is-fwd,.vip-quiz.is-back{animation:none}}
.vip-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:4px 0 14px}
.vip-progress span{height:3px;background:var(--line);transition:background .3s}
.vip-progress span.on{background:#c2a46a}
.vip-step{font-size:13px;letter-spacing:1.6px;text-transform:uppercase;color:#8a6d3b;margin:0 0 8px}
.vip-q{font:400 clamp(26px,6vw,32px)/1.15 var(--serif);margin:0 0 8px;letter-spacing:normal;outline:none}
.vip-qhint{font-size:16px;line-height:1.5;color:var(--muted);margin:0 0 22px}
.vip-big-input{display:block;box-sizing:border-box;width:100%;font:22px var(--serif);padding:10px 0;margin:0;border:0;border-bottom:1px solid #778174;border-radius:0;background:none;color:var(--ink);-webkit-appearance:none;appearance:none}
.vip-big-input:focus-visible,.vip-birth select:focus-visible{outline:2px solid var(--olive);outline-offset:3px}
.vip-pick{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.vip-pick button,.vip-yesno button{min-height:54px;padding:12px;border:1px solid #b9beae;background:var(--white);color:var(--ink);font:16px var(--sans);cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.vip-pick button[aria-pressed=true],.vip-yesno button[aria-pressed=true]{background:var(--olive);border-color:var(--olive);color:var(--white)}
.vip-pick button:focus-visible,.vip-yesno button:focus-visible{outline:2px solid var(--olive);outline-offset:2px}
.vip-birth{display:grid;grid-template-columns:1fr 2fr;gap:14px}
.vip-birth select{display:block;box-sizing:border-box;width:100%;font:20px var(--serif);padding:10px 22px 10px 0;margin:0;border:0;border-bottom:1px solid #778174;border-radius:0;color:var(--ink);-webkit-appearance:none;appearance:none;background:linear-gradient(45deg,transparent 50%,var(--ink) 50%) right 8px center/6px 6px no-repeat,linear-gradient(-45deg,transparent 50%,var(--ink) 50%) right 2px center/6px 6px no-repeat}
.vip-yesno{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:18px}
.vip-nav{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:22px}
.vip-nav>div{display:flex;align-items:center;gap:10px}
.account-dialog .vip-nav .button,.account-dialog .vip-done .button{width:auto;max-width:none;min-width:140px;margin:0;font-size:14px;cursor:pointer}
.account-dialog .vip-done .button{width:100%;margin-top:6px}
.vip-done .vip-card{margin-bottom:22px}

/* Regalo de bienvenida y beneficio */
.vip-gift{position:relative;overflow:hidden;margin:0 0 18px;border:1px solid #c2a46a;background:linear-gradient(135deg,#fffefa 0,#f7efdc 100%)}
.vip-gift::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,#fff9 48%,transparent 66%);transform:translateX(-100%);animation:vipShine 3.2s ease-in-out 1s infinite;pointer-events:none}
.vip-gift .vip-invite-go{color:#8a6d3b;font-weight:600}
@keyframes vipShine{60%,100%{transform:translateX(100%)}}
.vip-ticket{position:relative;margin:0 0 18px;padding:16px 18px;background:#fffefa;border:1px dashed #c2a46a;box-shadow:0 10px 30px -18px #3f493b}
.vip-ticket::before,.vip-ticket::after{content:"";position:absolute;top:50%;width:18px;height:18px;margin-top:-9px;border-radius:50%;background:var(--paper);border:1px dashed #c2a46a}
.vip-ticket::before{left:-10px;clip-path:inset(0 0 0 50%)}
.vip-ticket::after{right:-10px;clip-path:inset(0 50% 0 0)}
.vip-ticket-head{display:flex;justify-content:space-between;gap:10px;margin:0;font-size:12px;letter-spacing:2px;color:#8a6d3b}
.vip-ticket-state{font-weight:600}
.is-valido .vip-ticket-state{color:#2f6b45}
.is-usado .vip-ticket-state,.is-vencido .vip-ticket-state{color:var(--muted)}
.vip-ticket-prize{margin:6px 0 4px;font:400 40px/1 var(--serif);color:#3f493b;letter-spacing:normal}
.vip-ticket.is-usado .vip-ticket-prize,.vip-ticket.is-vencido .vip-ticket-prize{color:var(--muted);text-decoration:line-through;text-decoration-thickness:1px}
.vip-ticket-code{display:flex;flex-wrap:wrap;align-items:center;gap:2px 14px}
.vip-ticket-code strong{font:400 20px var(--serif);letter-spacing:1.5px}
.vip-ticket-note{margin:6px 0 0;font-size:14px;line-height:1.5;color:var(--muted)}
.vip-step span{text-transform:none;letter-spacing:.2px;color:#8a6d3b}
.vip-toggle{display:flex;align-items:center;gap:12px;width:100%;margin-top:18px;padding:12px 0;border:0;background:none;color:var(--ink);font:15px var(--sans);text-align:left;cursor:pointer}
.vip-toggle-box{flex:none;width:22px;height:22px;border:1px solid #778174;background:var(--white);display:grid;place-items:center}
.vip-toggle[aria-pressed=true] .vip-toggle-box{background:var(--olive);border-color:var(--olive)}
.vip-toggle[aria-pressed=true] .vip-toggle-box::after{content:"";width:6px;height:11px;border:solid var(--white);border-width:0 2px 2px 0;transform:rotate(45deg) translate(-1px,-1px)}
.vip-spin-cta{width:100%;min-height:58px;margin-top:6px;border:0;background:linear-gradient(100deg,#8a6d3b,#c2a46a 40%,#f3dfae 50%,#c2a46a 60%,#8a6d3b);background-size:220% 100%;color:#2c3329;font:600 17px var(--sans);letter-spacing:.5px;cursor:pointer;animation:vipCta 2.4s linear infinite;box-shadow:0 12px 30px -12px #8a6d3b}
@keyframes vipCta{to{background-position:-220% 0}}
.vip-done .vip-link{margin-top:6px;justify-self:center}
.vip-qr-full{position:absolute;inset:0;z-index:10;display:grid;place-items:center;padding:16px;background:#f7f5eff2}
.vip-qr-box{display:grid;justify-items:center;gap:8px;width:min(360px,100%);padding:22px;text-align:center;background:var(--white);border:1px solid #c2a46a}
.vip-qr-img{width:min(240px,70vw);aspect-ratio:1;background:#fff}
.vip-qr-img svg{display:block;width:100%;height:100%}
.vip-qr-code{margin:0;font:400 22px var(--serif);letter-spacing:2px}
.vip-qr-box .button{width:100%;max-width:none;margin:8px 0 0;cursor:pointer}
.account-dialog.is-profile{position:relative}
@media (prefers-reduced-motion:reduce){.vip-gift::after,.vip-spin-cta{animation:none}}

/* Beneficio aplicado solo en el carrito */
.cart-benefit{margin:10px 0 4px;padding:12px 14px;background:#f7efdc;border:1px solid #c2a46a;font-size:15px}
.cart-benefit div{display:flex;justify-content:space-between;gap:10px}
.cart-benefit strong{font-variant-numeric:tabular-nums}
.cart-benefit-total{margin-top:6px;padding-top:6px;border-top:1px solid #c2a46a66;font-weight:600}
.cart-benefit p{margin:6px 0 0;font-size:13px;color:var(--muted)}

/* Aviso en vivo */
.taj-toast{margin:0;inset:auto auto auto 50%;overflow:visible;position:fixed;left:50%;bottom:max(20px,env(safe-area-inset-bottom));z-index:1100;max-width:min(440px,92vw);padding:14px 18px;background:#2c3329;color:#f7f2e6;border:1px solid #c2a46a;font:15px/1.45 var(--sans);box-shadow:0 18px 40px -16px #000;transform:translate(-50%,30px);opacity:0;transition:transform .35s cubic-bezier(.2,1.2,.3,1),opacity .35s}
.taj-toast.on{transform:translate(-50%,0);opacity:1}

/* Invitá a tus amigas */
.vip-friends{margin:0 0 18px;padding:18px;background:#2c3329;color:#f7f2e6;border:1px solid #c2a46a}
.vip-friends .vip-invite-k{color:#e8d3a5}
.vip-friends h3{margin:4px 0 6px;font:400 26px/1.1 var(--serif);letter-spacing:normal}
.vip-friends p{margin:0;font-size:15px;line-height:1.5}
.vip-friends strong{color:#f3dfae;font-weight:400}
.vip-friends-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;margin:14px 0 10px}
.account-dialog .vip-friends .button{width:auto;max-width:none;margin:0;background:#c2a46a;border-color:#c2a46a;color:#2c3329;font-size:14px}
.vip-friends .vip-link{color:#f7f2e6}
.vip-friends-count{font-size:14px!important;color:#e8d3a5}
.vip-friends-count span{color:#c9c2ae}

/* Cartel de invitación al entrar por el link de una amiga */
.taj-invite{position:fixed;inset:auto auto max(16px,env(safe-area-inset-bottom)) 50%;z-index:1050;margin:0;width:min(420px,calc(100vw - 32px));padding:20px;background:#fffefa;color:var(--ink);border:1px solid #c2a46a;box-shadow:0 24px 60px -20px #1f271d;transform:translate(-50%,40px);opacity:0;transition:transform .4s cubic-bezier(.2,1.2,.3,1),opacity .35s;overflow:visible}
.taj-invite.on{transform:translate(-50%,0);opacity:1}
.taj-invite p{margin:0 0 8px;font-size:15px;line-height:1.5}
.taj-invite-k{font-size:12px!important;letter-spacing:2.4px;color:#8a6d3b}
.taj-invite-t{font:400 24px/1.15 var(--serif)!important;color:var(--ink)}
.taj-invite div{display:flex;align-items:center;gap:14px;margin-top:12px}
.taj-invite .button{width:auto;max-width:none;margin:0;cursor:pointer}
.taj-invite .vip-link{color:var(--ink)}

/* Tarjeta Taj: la tarjeta del perfil se da vuelta y muestra el QR */
.vip-flip{display:block;width:100%;padding:0;border:0;background:none;text-align:left;cursor:pointer;perspective:1000px;color:inherit;font:inherit;box-shadow:none;margin:6px 0 20px}
.vip-flip.vip-card{padding:0;background:none;border:0;overflow:visible}
.vip-flip.vip-card::after{display:none}
.vip-flip-in{position:relative;display:grid;transform-style:preserve-3d;transition:transform .7s cubic-bezier(.3,1.3,.4,1)}
.vip-flip.is-flipped .vip-flip-in{transform:rotateY(180deg)}
.vip-side{grid-area:1/1;display:block;padding:22px 22px 20px;color:#f7f2e6;background:radial-gradient(120% 90% at 100% 0,#5b6a52 0,transparent 55%),linear-gradient(150deg,#3f493b 0,#2c3329 100%);border:1px solid #c2a46a;box-shadow:0 18px 40px -22px #1f271d;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.vip-side-back{transform:rotateY(180deg);display:grid;justify-items:center;gap:8px;text-align:center}
.vip-side-back .vip-card-top{width:100%}
.vip-tc-qr{display:block;width:150px;height:150px;background:#fff;padding:4px}
.vip-tc-qr svg{display:block;width:100%;height:100%}
.vip-tc-code{font:400 20px var(--serif);letter-spacing:2px}
.vip-tc-txt{font-size:13px;line-height:1.45;color:#e6dcc4;max-width:34ch}
.vip-card-tap{margin:10px 0 0;font-size:12px;letter-spacing:.5px;color:#d9c08c}
@media (prefers-reduced-motion:reduce){.vip-flip-in{transition:none}}

/* Mis gift cards y mis compras */
.vip-block{margin:0 0 18px;padding-top:14px;border-top:1px solid var(--line)}
.vip-block h3{font:400 22px var(--serif);margin:0;letter-spacing:normal}
.vip-empty{margin:8px 0;font-size:14px;line-height:1.5;color:var(--muted)}
.vip-gc{margin:10px 0 0;padding:16px;color:#f7f2e6;background:linear-gradient(140deg,#3f493b,#232920);border:1px solid #c2a46a}
.vip-gc-top{display:flex;justify-content:space-between;font-size:11px;letter-spacing:2.4px;color:#e8d3a5}
.vip-gc-saldo{margin:6px 0 0;font:400 36px var(--serif);color:#f3dfae}
.vip-gc-sub{margin:2px 0 6px;font-size:13px;color:#e6dcc4}
.vip-gc .vip-ticket-code strong{color:#f7f2e6;font-size:17px}
.vip-gc .vip-link{color:#e8d3a5}
.vip-gc-add{display:flex;gap:10px;align-items:center;margin-top:10px}
.vip-gc-add input{flex:1;min-width:0;border:0;border-bottom:1px solid #778174;background:none;padding:10px 0;font:16px var(--sans);letter-spacing:1px;text-transform:uppercase;color:var(--ink)}
.vip-gc-add input::placeholder{text-transform:none;letter-spacing:0}
.vip-ahorro{font-size:13px;color:#8a6d3b;font-weight:600}
.vip-compras{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:1px;background:var(--line);border:1px solid var(--line)}
.vip-compras li{display:flex;justify-content:space-between;gap:12px;padding:12px;background:var(--white)}
.vip-compras li div{display:grid;gap:2px;min-width:0}
.vip-compras span{font-size:13px;color:var(--muted)}
.vip-compra-plata{text-align:right;justify-items:end}
.vip-compra-plata strong{font-variant-numeric:tabular-nums}

/* Gift cards para regalar (las que pidió la clienta) */
.vip-regalos{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:1px;background:var(--line);border:1px solid var(--line)}
.vip-regalos li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px;background:var(--white)}
.vip-regalos li div{display:grid;gap:2px;min-width:0}
.vip-regalos span{font-size:13px;color:var(--muted)}
.vip-regalos li.is-lista{background:linear-gradient(100deg,#fffefa,#f6eedb)}
.vip-regalos li.is-lista span{color:#7a5f2c}
.vip-regalos li.is-cancelada,.vip-regalos li.is-anulada{opacity:.6}
.vip-regalar{flex:none;min-height:44px;white-space:nowrap}

/* Logo chico de Taj Mahal arriba de la ventana de cuenta */
.auth-brand{display:flex;align-items:center;gap:10px}
.auth-logo{width:40px;height:40px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 1px #c2a46a66,0 4px 12px -6px #2c332966}


/* ===== Más premium (06/10, pedido de Franco) ===== */

/* Tarjeta Taj Mahal: forma de tarjeta, más chica, foil dorado, chip y destello */
.vip-card-v2,.vip-card-v2 .vip-side{box-sizing:border-box;aspect-ratio:1.72;display:grid;grid-template-rows:auto 1fr auto;padding:16px 18px 15px;border-radius:14px;color:#f7f2e6;
 background:radial-gradient(90% 120% at 100% 0,#6f7e6233 0,transparent 55%),repeating-radial-gradient(circle at 112% 118%,#c2a46a17 0 1px,transparent 1.5px 7px),repeating-radial-gradient(circle at -12% -20%,#c2a46a10 0 1px,transparent 1.5px 9px),linear-gradient(150deg,#3b4537 0,#252b22 100%);
 border:1px solid #c2a46ab3;box-shadow:inset 0 1px 0 #f6e4b84d,0 22px 40px -24px #10140e,0 3px 8px -3px #0007}
.vip-card-v2:not(.vip-flip),.vip-card-v2 .vip-side{position:relative;overflow:hidden}
.vip-card-v2:not(.vip-flip)::after,.vip-card-v2 .vip-side::after{content:"";position:absolute;inset:6px;border:1px solid #c2a46a38;border-radius:10px;pointer-events:none;display:block}
.vip-card-v2:not(.vip-flip)::before,.vip-card-v2 .vip-side::before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 30%,#f6e4b81f 45%,#ffffff2e 50%,transparent 62%);transform:translateX(-110%);animation:vipFoil 7s 1.5s ease-in-out infinite;pointer-events:none}
.vip-card.vip-card-v2{margin:4px auto 16px;max-width:460px}
.vip-flip.vip-card-v2{aspect-ratio:auto;padding:0;background:none;border:0;box-shadow:none}
.vip-card-v2 .vip-card-top{display:flex;align-items:center;justify-content:space-between;margin:0;font-size:inherit;letter-spacing:normal;color:inherit}
.vip-brand{font:400 13px/1 var(--serif);letter-spacing:4px;background:linear-gradient(100deg,#b8955a,#f6e4b8 45%,#c2a46a 70%,#f0dcaa);-webkit-background-clip:text;background-clip:text;color:transparent}
.vip-card-v2 .vip-avatar{width:38px;height:38px;margin:0;border:1px solid #c2a46a;box-shadow:0 0 0 2px #252b22,0 0 0 3px #c2a46a55}
.vip-card-v2 .vip-initials{display:grid;place-items:center;font:400 15px var(--serif);background:#2c3329;color:#e8d3a5}
.vip-card-mid{display:flex;align-items:center;gap:12px;align-self:center}
.vip-chip{width:38px;height:28px;border-radius:6px;background:repeating-linear-gradient(90deg,transparent 0 9px,#8a6d3b55 9px 10px),repeating-linear-gradient(0deg,transparent 0 9px,#8a6d3b55 9px 10px),linear-gradient(135deg,#f6e4b8,#c2a46a 45%,#8a6d3b);box-shadow:inset 0 0 0 1px #00000030}
.vip-tier{font-size:10px;letter-spacing:3px;color:#c9b07a}
.vip-card-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:10px}
.vip-card-bottom>span{display:grid;gap:3px;min-width:0}
.vip-card-v2 .vip-name{display:block;margin:0;font:400 clamp(21px,4.6vw,26px)/1.1 var(--serif);background:linear-gradient(100deg,#fffaf0,#f6e4b8 60%,#e8d3a5);-webkit-background-clip:text;background-clip:text;color:transparent;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vip-card-v2 .vip-since{display:block;margin:0;font-size:11px;letter-spacing:1px;color:#d8ccaf}
.vip-card-right{text-align:right;justify-items:end}
.vip-card-v2 .vip-motto{display:block;margin:0;font:italic 13px var(--serif);color:#e8d3a5}
.vip-card-v2 .vip-card-tap{display:block;margin:0;font-size:10.5px;letter-spacing:.3px;color:#c9b07a}
.vip-card-v2 .vip-side-back{display:grid;grid-template-rows:auto 1fr;text-align:left;justify-items:stretch;gap:0}
.vip-back-body{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center}
.vip-card-v2 .vip-tc-qr{width:clamp(84px,24vw,104px);height:clamp(84px,24vw,104px);padding:4px;border-radius:6px;background:#fff}
.vip-back-info{display:grid;gap:6px;min-width:0}
.vip-card-v2 .vip-tc-code{font:400 17px var(--serif);letter-spacing:1.5px;color:#f6e4b8}
.vip-card-v2 .vip-tc-txt{font-size:11.5px;line-height:1.45;color:#d8ccaf}
.vip-flip.vip-card-v2:hover .vip-flip-in{transform:rotateY(-4deg) rotateX(2deg)}
.vip-flip.vip-card-v2.is-flipped:hover .vip-flip-in{transform:rotateY(176deg) rotateX(2deg)}
@keyframes vipFoil{0%,55%{transform:translateX(-110%)}80%,100%{transform:translateX(110%)}}

/* La ruleta como protagonista */
.vip-win{position:relative;display:grid;justify-items:center;gap:6px;margin:4px 0 18px;padding:22px 18px 20px;text-align:center;overflow:hidden;
 background:radial-gradient(120% 90% at 50% 0,#4c5a45 0,#2c3329 70%);border:1px solid #c2a46a;color:#f7f2e6}
.vip-win::before{content:"";position:absolute;inset:-40%;background:repeating-conic-gradient(from 0deg,#f6e4b812 0 8deg,transparent 8deg 20deg);animation:rtGira 40s linear infinite;pointer-events:none}
.vip-win>*{position:relative}
.vip-win-k{margin:0;font-size:11px;letter-spacing:3px;color:#e8d3a5}
.vip-win .vip-q{margin:0;color:#fffaf0;font-size:clamp(26px,6vw,32px)}
.vip-win .vip-qhint{margin:0 0 8px;color:#e6dcc4}
.vip-win-fx{position:absolute;inset:0;pointer-events:none}
.vip-win-fx span{position:absolute;left:calc(6% + var(--i)*8%);top:110%;width:6px;height:6px;background:linear-gradient(135deg,#f6e4b8,#c2a46a);clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);animation:vipSube 5s calc(var(--i)*-.45s) linear infinite;opacity:.8}
.vip-spin-hero{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;width:100%;padding:12px 18px 12px 12px;border:0;border-radius:999px;cursor:pointer;text-align:left;overflow:hidden;color:#2c3329;
 background:linear-gradient(100deg,#8a6d3b 0%,#c2a46a 28%,#f6e4b8 50%,#c2a46a 72%,#8a6d3b 100%);background-size:240% 100%;
 box-shadow:inset 0 0 0 1px #f6e4b8aa,0 16px 34px -12px #000,0 0 44px -8px #e8d3a580;animation:rtGold 3.2s linear infinite,vipLatido 2.4s ease-in-out infinite;transition:transform .25s}
.vip-spin-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 35%,#ffffffa0 50%,transparent 65%);transform:translateX(-120%);animation:rtBarrido 2.8s 1s ease-in-out infinite;pointer-events:none}
.vip-spin-hero:hover{transform:translateY(-2px)}
.vip-spin-hero:active{transform:scale(.98)}
.vip-spin-hero:focus-visible{outline:2px solid #f6e4b8;outline-offset:4px}
.vip-spin-ic{width:52px;height:52px;border-radius:50%;background:#fffdf6;box-shadow:0 4px 12px -4px #0008;display:grid;place-items:center}
.vip-wheel{width:46px;height:46px;animation:rtGira 5s linear infinite}
.vip-spin-hero:hover .vip-wheel{animation-duration:1.2s}
.vip-spin-txt{display:grid;gap:2px}
.vip-spin-txt small{font-size:10.5px;font-weight:700;letter-spacing:2.5px;color:#3a2e15}
.vip-spin-txt strong{font:400 clamp(18px,4.4vw,21px)/1.15 var(--serif);color:#1f241c}
.vip-spin-go{font-size:22px;transition:transform .3s}
.vip-spin-hero:hover .vip-spin-go{transform:translateX(4px)}
.vip-done{display:grid}
.vip-done>.vip-link{justify-self:center;margin:-8px 0 14px}
@keyframes vipLatido{0%,100%{box-shadow:inset 0 0 0 1px #f6e4b8aa,0 16px 34px -12px #000,0 0 44px -8px #e8d3a580}50%{box-shadow:inset 0 0 0 1px #f6e4b8,0 18px 40px -10px #000,0 0 64px 0 #e8d3a5a0}}
@keyframes vipSube{0%{transform:translateY(0) rotate(0);opacity:0}15%{opacity:.9}100%{transform:translateY(-260px) rotate(360deg);opacity:0}}
@keyframes rtGold{to{background-position:-240% 0}}
@keyframes rtBarrido{0%,40%{transform:translateX(-120%)}75%,100%{transform:translateX(120%)}}
@keyframes rtGira{to{transform:rotate(1turn)}}

/* Opciones de prendas: finas, con tilde dorada */
.vip-pick{gap:10px}
.vip-pick button{position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:56px;padding:12px 16px;border:1px solid #d9cfb7;border-radius:10px;background:linear-gradient(180deg,#fffefb,#faf6ec);color:#292e26;font:17px var(--serif);text-align:left;box-shadow:0 1px 0 #fff inset,0 6px 14px -12px #2c332980;transition:border-color .25s,transform .25s,box-shadow .25s,background .25s,color .25s}
.vip-pick button:hover{border-color:#c2a46a;transform:translateY(-1px);box-shadow:0 1px 0 #fff inset,0 10px 20px -14px #2c3329}
.vip-check{flex:none;width:20px;height:20px;border-radius:50%;border:1px solid #c2a46a;display:grid;place-items:center;transition:background .25s,border-color .25s,transform .3s cubic-bezier(.2,1.6,.4,1)}
.vip-check::after{content:"";width:5px;height:9px;border:solid transparent;border-width:0 1.6px 1.6px 0;transform:rotate(45deg) translate(-1px,-1px);transition:border-color .2s}
.vip-pick button[aria-pressed=true]{background:linear-gradient(150deg,#3f493b,#2c3329);border-color:#c2a46a;color:#fffaf0;box-shadow:0 10px 22px -14px #10140e}
.vip-pick button[aria-pressed=true] .vip-check{background:linear-gradient(135deg,#f6e4b8,#c2a46a);border-color:#f6e4b8;transform:scale(1.1)}
.vip-pick button[aria-pressed=true] .vip-check::after{border-color:#2c3329}
.vip-mail{display:grid;gap:4px;margin-top:16px;font-size:13px;color:#6b6d63}
.vip-mail em{font-style:normal;color:#9a8a66}
.vip-small-input{font-size:17px}

@media (prefers-reduced-motion:reduce){
 .vip-card-v2::before,.vip-card-v2 .vip-side::before,.vip-win::before,.vip-win-fx span,.vip-spin-hero,.vip-spin-hero::after,.vip-wheel{animation:none}
}
