/* CLUBVIP360 · Pantalla DEMO finalizada · V31/V20 */
body:has(.vip-expiry-v31) { background:#070604 !important; }
body:has(.vip-expiry-v31) > header,
body:has(.vip-expiry-v31) > footer,
body:has(.vip-expiry-v31) > .bottom-benefits,
body:has(.vip-expiry-v31) .top-ticker,
body:has(.vip-expiry-v31) .ticker,
body:has(.vip-expiry-v31) .masthead { display:none !important; }
body:has(.vip-expiry-v31) main#app { max-width:none !important; width:100% !important; padding:0 !important; margin:0 !important; }
.vip-expiry-v31{ width:100%; min-height:100vh; background:#050403; color:#fff; display:flex; align-items:center; justify-content:center; padding:0 !important; margin:0; }
.vip-expiry-poster{ width:min(100%,1448px); margin:auto; position:relative; line-height:0; }
.vip-expiry-poster > img{ width:100%; height:auto; display:block; object-fit:contain; }
/* Image CTA bounds relative to 1448x1086 screenshot: box left 294..1120 and top 856..955. */
.vip-expiry-hotspot{ position:absolute; left:20.2%; top:78.5%; width:57.6%; height:9.0%; z-index:3; border-radius:100px; cursor:pointer; display:flex; align-items:center; justify-content:center; text-decoration:none; }
.vip-expiry-hotspot:hover { background:rgba(255,255,255,.065); box-shadow:0 0 32px 2px rgba(255,207,92,.45); }
.vip-expiry-hotspot:focus-visible { outline:4px solid #fff; outline-offset:4px; }
.vip-expiry-v31 .sr-only{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.vip-expiry-mobile{ display:none; }
@media (max-width:700px){
 .vip-expiry-v31{display:block; min-height:100dvh;}
 .vip-expiry-poster{display:none;}
 .vip-expiry-mobile{display:flex; flex-direction:column; align-items:center; text-align:center; gap:15px; padding:0 20px 44px; min-height:100dvh; background:radial-gradient(ellipse at 50% 65%, #372308 0%,#0b0906 61%,#020202 100%); font-family:Georgia,serif; }
 .vip-expiry-flag{align-self:stretch; height:108px; margin:0 -20px 18px; position:relative; overflow:hidden; box-shadow:0 7px 28px rgba(238,178,65,.2); background:repeating-linear-gradient(180deg,#a71c2d 0 8.3%,#fff 8.3% 15.4%); transform:translateZ(0); }
 .vip-expiry-flag:before{content:'★ ★ ★ ★ ★\\a ★ ★ ★ ★ ★\\a ★ ★ ★ ★ ★'; white-space:pre; position:absolute; left:0; top:0; bottom:38%; width:44%; background:#203967; color:white; font-size:18px; line-height:26px; letter-spacing:6px; text-align:center; }
 .vip-expiry-flag:after{content:''; position:absolute; inset:0; background:linear-gradient(115deg,transparent 3%,rgba(255,255,255,.26) 24%, transparent 46%,rgba(0,0,0,.14) 65%,transparent 91%); background-size:140% 100%; animation:vipWave 7s ease-in-out infinite alternate; }
 @keyframes vipWave{from{background-position:0 0;transform:skewY(-1deg)}to{background-position:100% 0;transform:skewY(1deg)}}
 .vip-expiry-kicker{font:700 10px/1.3 Arial,sans-serif;letter-spacing:2.5px;color:#e8c77f;margin:0}
 .vip-expiry-brand{font:italic bold clamp(38px,10vw,65px)/1.1 Georgia,serif;color:#fff;margin:0;text-shadow:0 2px 20px #7d4a09}.vip-expiry-brand b{color:#f1c35b}
 .vip-expiry-company{color:#d1ad69;font:700 10px/1.5 Arial,sans-serif;letter-spacing:1.5px;margin:0}
 .vip-expiry-mobile h1{font-size:clamp(35px,9vw,56px);line-height:1.06; font-weight:600;margin:10px 0 0;color:#fff3d0;text-shadow:0 0 15px #966108}.vip-expiry-mobile h1 em{display:block;color:#efba57;font-style:italic}
 .vip-expiry-mobile h2{font-size:clamp(26px,7vw,40px);line-height:1.13;color:#f4c46d;padding:15px 10px;border:1px solid #d49b3c;box-shadow:0 0 15px #94611a77;margin:12px 0 0;width:100%}
 .vip-expiry-mobile p:not(.vip-expiry-kicker):not(.vip-expiry-brand):not(.vip-expiry-company){font:15px/1.55 Georgia,serif;color:#eee0c4;margin:1px 0}.vip-expiry-mobile strong{color:#f6cc76}
 .vip-expiry-mobile-button{font:bold 14px/1.35 Arial,sans-serif;color:#1a1004 !important;text-decoration:none;background:linear-gradient(145deg,#ffdf7b,#ad711b 47%,#f9c96c 80%,#a66e1e);border:1px solid #f7cc61;border-radius:30px;padding:18px 20px;box-shadow:0 0 19px #a66e1e9e;width:100%;display:flex;align-items:center;justify-content:center;gap:10px;margin-top:18px}.vip-expiry-mobile-button:focus-visible{outline:3px solid white;outline-offset:3px}
}
@media (prefers-reduced-motion:reduce){.vip-expiry-flag:after{animation:none}}
