/* A foil membership pass above a compact service area. */
#clubCard{display:block;position:relative;isolation:isolate;width:100%;max-width:920px;padding:8px;border:1px solid #dfc08973;border-radius:29px;overflow:hidden;background:linear-gradient(130deg,#e5c68d29,#11130f 24%,#1e1b13 77%,#e5c68d1c);box-shadow:0 40px 100px #000b,0 0 80px #d8ae4a10,inset 0 1px 0 #fff1c966}
#clubCard .memberPass{position:relative;isolation:isolate;display:grid;grid-template-columns:.9fr 1.1fr;overflow:hidden;border:1px solid #c6a66a6b;border-radius:21px;background:#0b0d0b;box-shadow:0 14px 35px #0005}
#clubCard .memberPass::after{content:'';position:absolute;z-index:3;inset:0;pointer-events:none;border-radius:inherit;background:linear-gradient(115deg,transparent 22%,#ffeac811 32%,#fff8e91b 34%,transparent 44%);transform:translateX(-100%);animation:vipFoilReveal 9s ease-in-out infinite}
#clubCard .memberTop{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;min-height:415px;padding:26px 28px 22px;border:0;border-right:1px solid #d0b27447;background:radial-gradient(ellipse at 0 100%,#a17c3740,transparent 65%),radial-gradient(ellipse at 100% 0,#d6b46d30,transparent 60%),linear-gradient(145deg,#1c1b14,#0a0d0a 60%,#191b12)}
#clubCard .memberTop::before{content:'';position:absolute;inset:-100px;z-index:-1;pointer-events:none;background:repeating-radial-gradient(ellipse at 15% 80%,transparent 0 14px,#cbb07816 15px,transparent 16px 22px);transform:rotate(-22deg)}
#clubCard .memberTop::after{content:'';position:absolute;inset:11px;z-index:-1;border:1px solid #d6b97b25;border-radius:12px;pointer-events:none}
#clubCard .memberCardGrain{position:absolute;inset:0;z-index:-1;opacity:.25;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 2px,#eedcb609 3px,transparent 4px)}
#clubCard .memberTopLine{display:flex;justify-content:space-between;align-items:center;width:100%;gap:12px}
#clubCard .memberBadge{position:static;display:inline-flex;gap:8px;align-items:center;padding:0;border:0;background:none;border-radius:0;color:#d9c398;font:8px/1.5 Arial,sans-serif;letter-spacing:2px}
#clubCard .memberBadge>span{font-size:15px;color:#ead29b}
#clubCard .memberCardMark{font:8px/1.5 monospace;letter-spacing:2px;color:#a38e65}
#clubCard .memberLogo{position:relative;display:grid;place-items:center;width:270px;height:174px;max-width:100%;margin:16px 0 3px;overflow:visible;flex-shrink:0;opacity:1}
#clubCard .memberLogo::before{content:'';position:absolute;inset:8% -5%;z-index:-1;background:radial-gradient(ellipse,#d9b86e19,transparent 70%);pointer-events:none}
#clubCard .memberLogo img{position:static;display:block;width:100%;height:100%;max-width:100%;object-fit:contain;transform:none;filter:brightness(1.15) contrast(1.08) drop-shadow(0 3px 12px #e2c88d20);mix-blend-mode:screen}
#clubCard .memberPassWord{position:relative;align-self:center;width:100%;margin:0;text-align:center;line-height:1;overflow:visible}
#clubCard .memberVipLetters{display:inline-block;padding:0 .13em .06em .18em;font:400 96px/1.12 Georgia,serif;letter-spacing:.05em;color:#e4c68b;background:linear-gradient(125deg,#aa8245 5%,#f3deb1 24%,#bf9854 36%,#ffedc4 51%,#ba944d 64%,#e8ce91 83%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 2px 1px #0008)}
#clubCard .memberPassCaption{display:block;margin-top:5px;font:7px/1.7 Arial,sans-serif;letter-spacing:2.3px;color:#c4b087}
#clubCard .memberTopFoot{display:flex;justify-content:space-between;align-items:center;gap:15px;width:100%;margin-top:auto;padding-top:26px;color:#9d9275;font:7px/1.5 Arial,sans-serif;letter-spacing:1.4px}
#clubCard .memberSeal{display:grid;place-items:center;width:34px;height:34px;border:1px solid #e2c58c66;border-radius:50%;color:#dbc18a;background:conic-gradient(#d0ad5f0a,#ecd69a40,#8a69351a,#d0ad5f0a);box-shadow:inset 0 0 0 3px #0e110e,inset 0 0 0 4px #e2c58c30;font:22px Georgia,serif;letter-spacing:0;flex-shrink:0}
#clubCard .memberDetails{padding:31px 32px 0;background:radial-gradient(ellipse at 100% 0,#ccad6d0c,transparent 75%)}
#clubCard .cardKicker{display:flex;align-items:center;gap:7px;margin:0 0 12px;color:#aeaa93;font:8px/1.5 Arial,sans-serif;letter-spacing:2px}
#clubCard .memberLiveDot{width:5px;height:5px;border-radius:50%;background:#dbbf7f;box-shadow:0 0 9px #dbbf7f77;flex-shrink:0}
#clubCard h2{margin:0 0 27px;font:32px/1.12 Georgia,serif;color:#f4eddd;letter-spacing:-.4px;overflow-wrap:anywhere}
#clubCard .memberProgressHeader{display:flex;justify-content:space-between;align-items:center;gap:12px;color:#aaa38d;font:8px/1.5 Arial,sans-serif;letter-spacing:1.4px}
#clubCard .memberPlanPill{padding:5px 10px;border:1px solid #d9bb7640;border-radius:5px;background:#d9bb7609;color:#e8cb8d;font-size:10px;letter-spacing:1px;white-space:nowrap}
#clubCard .scoreLine{display:flex;gap:14px;align-items:center;margin:10px 0 16px}
#clubCard .scoreLine>strong{color:#f2dcac;font:62px/.95 Georgia,serif;font-variant-numeric:tabular-nums;letter-spacing:-2px}
#clubCard .scoreLine>span:not(.memberProgressStar){color:#9e9a86;font:7px/1.8 Arial,sans-serif;letter-spacing:1.5px}
#clubCard .scoreLine .memberPointsTarget{display:block;margin-top:4px;font-size:11px;color:#d1b983;letter-spacing:1.8px}
#clubCard .scoreLine .memberProgressStar{display:none}
#clubCard .memberProgress{height:3px;border-radius:0;background:#d4bc8420;margin-bottom:14px;overflow:hidden}
#clubCard .memberProgress>span{display:block;height:100%;width:var(--member-progress,0%);background:linear-gradient(90deg,#99753b,#e7c889,#fff0c5);box-shadow:0 0 8px #e7c88970}
#clubCard .stampRow{gap:6px;margin:0 0 19px}
#clubCard .stamp{height:30px;border:1px solid #b4a07228;border-radius:4px;background:#d4bc8403;color:#8b846f;font:10px/1 Arial,sans-serif}
#clubCard .stamp.active{border-color:#d6ba7e88;background:linear-gradient(135deg,#e8d19c,#b58c43);color:#201a0f;box-shadow:inset 0 1px 0 #fff3ce60;font-weight:700}
#clubCard .rewardBox{display:flex;flex-direction:row;justify-content:flex-start;align-items:center;gap:12px;margin:0;padding:13px 0;border:0;border-top:1px solid #d4bc8425;border-bottom:1px solid #d4bc8425;border-radius:0;background:none}
#clubCard .rewardBox .memberGiftIcon{display:grid;place-items:center;width:34px;height:34px;flex-shrink:0;border:1px solid #c7a56344;border-radius:50%;color:#d4b677;font:25px/1 Georgia,serif}
#clubCard .rewardBox>div{display:grid;gap:5px;min-width:0}
#clubCard .rewardBox strong{color:#ebd5a8;font:600 9px/1.5 Arial,sans-serif;letter-spacing:.8px}
#clubCard .rewardBox>div>span{color:#a8a18a;font-size:16px;line-height:1.5}
#clubCard .memberNumber{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 0}
#clubCard .memberNumber span{font:7px/1.5 Arial,sans-serif;letter-spacing:1.7px;color:#8c856d}
#clubCard .memberNumber strong{font:10px/1.5 monospace;letter-spacing:1.6px;color:#c9b485;overflow-wrap:anywhere;text-align:right}
#clubCard .memberUtility{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:9px 30px;padding:28px 24px 18px;border:0;background:none}
#clubCard .memberQrBlock{grid-column:1;grid-row:1/4;display:grid;grid-template-columns:94px minmax(0,1fr);align-items:center;gap:16px;margin:0;align-self:start}
#clubCard .memberQrCode{width:94px;height:94px;padding:9px;border:1px solid #d8bb7a;border-radius:10px;background:#fffdf5;box-shadow:0 0 0 4px #d8bb7a0b}
#clubCard .memberQrEyebrow{display:block;margin-bottom:7px;color:#8e866f;font:6px/1.6 Arial,sans-serif;letter-spacing:1.6px}
#clubCard .memberQrBlock strong{color:#dbc28e;font:600 9px/1.5 Arial,sans-serif;letter-spacing:1.4px}
#clubCard .memberQrBlock p{color:#a39a84;font-size:10px;line-height:1.8;margin:7px 0 0}
#clubCard .memberPointRequest{grid-column:2;grid-row:1;margin:0;padding:0;border:0;width:100%}
#clubCard .memberPointRequest button{width:100%;min-height:46px;border:1px solid #e3c68e;border-radius:6px;background:linear-gradient(115deg,#ad8544,#f0dba8 55%,#c4a365);color:#1d190f;box-shadow:inset 0 1px 0 #fff3d0b3,0 4px 20px #0003;font-size:13px;line-height:1.4;letter-spacing:.6px;white-space:normal;padding:14px 16px;transition:filter .2s,box-shadow .2s}
#clubCard .memberPointRequest button:hover:not(:disabled){box-shadow:0 0 24px #e3c68e25}
#clubCard .memberPointRequest button:disabled{background:#26271e;color:#b1a789;border-color:#7c6c474d;box-shadow:none}
#clubCard .memberPointRequest p{margin:9px 0 3px;color:#a29b84;font-size:10px;line-height:1.7}
#clubCard .cardActions{grid-column:2;grid-row:2;display:flex;align-items:center;flex-wrap:wrap;gap:8px}
#clubCard .cardActions .outlineButton{min-height:38px;padding:10px 12px;border:1px solid #ccae7040;border-radius:5px;color:#d7c296;font-size:8px;letter-spacing:.8px;background:none}
#clubCard #redeemReward:disabled{color:#8d8976;border-color:#9990742e}
#clubCard .textButton{margin-left:auto;min-height:32px;padding:7px 0;color:#97917c;font-size:8px;text-underline-offset:4px}
#clubCard .cardHint{grid-column:1/-1;grid-row:4;padding-top:15px;margin:5px 0 0;border-top:1px solid #cab27a20;color:#8c856e;text-align:center;font-size:9px;letter-spacing:.4px}
#clubCard.is-reward-ready .memberPass{border-color:#edcb80;box-shadow:0 0 30px #d1ae4e14}
#clubCard.is-reward-ready .rewardBox .memberGiftIcon{background:#d5b776;color:#17160f;box-shadow:0 0 22px #d5b77633}
#clubCard.is-reward-ready #redeemReward{background:linear-gradient(110deg,#b68f4c,#eed49c);border-color:#edcb80;color:#1a160f}
@keyframes vipFoilReveal{0%,35%{transform:translateX(-100%)}65%,100%{transform:translateX(100%)}}
@media(max-width:720px){#clubCard .memberDetails{padding-inline:24px}#clubCard .memberTop{padding-inline:21px}#clubCard .memberUtility{gap:12px 20px;padding-inline:20px}#clubCard .memberQrBlock{grid-template-columns:80px minmax(0,1fr);gap:12px}#clubCard .memberQrCode{width:80px;height:80px}#clubCard .textButton{margin-left:0}}
@media(max-width:599px){#clubCard{max-width:480px;padding:6px;border-radius:25px}#clubCard .memberPass{grid-template-columns:1fr;border-radius:19px}#clubCard .memberTop{min-height:270px;padding:20px 24px 17px;border-right:0;border-bottom:1px solid #cbb07847}#clubCard .memberTop::before{inset:-130px}#clubCard .memberLogo{position:relative;width:250px;height:162px;margin:8px 0 0;opacity:1}#clubCard .memberPassWord{align-self:center;margin:0;text-align:center}#clubCard .memberVipLetters{font-size:88px}#clubCard .memberPassCaption{font-size:6px;letter-spacing:1.8px;margin-top:4px}#clubCard .memberTopFoot{padding-top:20px;margin-top:auto}#clubCard .memberTopFoot>span:first-child{font-size:6px;letter-spacing:1px}#clubCard .memberSeal{width:29px;height:29px;font-size:19px}#clubCard .memberDetails{padding:25px 24px 0}#clubCard h2{font-size:30px;margin-bottom:23px}#clubCard .scoreLine>strong{font-size:58px}#clubCard .stamp{height:33px}#clubCard .memberUtility{grid-template-columns:1fr;padding:23px 18px 16px;gap:20px}#clubCard .memberQrBlock{grid-column:1;grid-row:1;grid-template-columns:94px minmax(0,1fr);gap:20px}#clubCard .memberQrCode{width:94px;height:94px}#clubCard .memberQrEyebrow{font-size:7px}#clubCard .memberQrBlock strong{font-size:11px}#clubCard .memberQrBlock p{font-size:11px}#clubCard .memberPointRequest{grid-column:1;grid-row:2}#clubCard .cardActions{grid-column:1;grid-row:3;justify-content:space-between}#clubCard .textButton{margin-left:auto}#clubCard .cardHint{grid-column:1;grid-row:4;margin:0;padding-top:14px}#clubCard .memberBadge{font-size:7px;letter-spacing:1.5px}}
@media(max-width:359px){#clubCard .memberDetails{padding-inline:18px}#clubCard .memberTop{padding-inline:18px}#clubCard .memberLogo{width:220px;height:147px}#clubCard .memberVipLetters{font-size:78px}#clubCard .cardActions{gap:7px}#clubCard .textButton{width:100%;text-align:center}#clubCard .memberNumber strong{font-size:9px;letter-spacing:.8px}#clubCard .rewardBox strong{font-size:8px}}
@media(prefers-reduced-motion:reduce){#clubCard .memberPass::after{animation:none;transform:translateX(0);opacity:.35}#clubCard .memberPointRequest button{transition:none}}

/* Raised hookah stamps: clear earned and upcoming visits. */
#clubCard .stampRow{gap:8px;padding:12px;margin:0 0 20px;border:1px solid #d9b66d30;border-radius:16px;background:radial-gradient(ellipse at 50% 0,#c3984520,transparent 75%),#070a08;box-shadow:inset 0 2px 12px #0008}
#clubCard .stamp{position:relative;isolation:isolate;display:grid;place-items:center;min-width:0;height:82px;padding:18px 2px 5px;border:1px solid #b69b6138;border-radius:10px;background:linear-gradient(155deg,#26281f,#10140f);color:#746c53;box-shadow:inset 0 1px 0 #ffffff09,0 3px 6px #0005}
#clubCard .stampNumber{position:absolute;top:6px;left:7px;color:#a39470;font:600 8px/1 Arial,sans-serif;letter-spacing:.6px}
#clubCard .stamp .stampHookahPhoto{display:block;width:100%;max-width:44px;height:58px;object-fit:contain;opacity:.3;filter:grayscale(1)}
#clubCard .stamp.active{border-color:#e3b953;background:radial-gradient(ellipse at 50% 30%,#bd8d3640,transparent 75%),linear-gradient(145deg,#3e3320,#191b11);color:#f5ce72;box-shadow:inset 0 1px 0 #ffe4a04d,inset 0 0 12px #e4b44a0d,0 3px 9px #0006,0 0 12px #d0a95418}
#clubCard .stamp.active .stampNumber{color:#eed8a0}
#clubCard .stamp.active .stampHookahPhoto{opacity:1;filter:brightness(1.15) drop-shadow(0 0 4px #e5b34d70)}
@media(max-width:599px){#clubCard .stampRow{gap:6px;padding:9px}#clubCard .stamp{height:78px;border-radius:9px}#clubCard .stamp .stampHookahPhoto{max-width:40px;height:54px}#clubCard .stampNumber{left:5px}}
@media(max-width:380px){#clubCard .stampRow[data-target="6"]{grid-template-columns:repeat(3,minmax(0,1fr))}}
