:root {
  --bg-main: #02080b;
  --bg-deep: #041116;
  --bg-panel: rgba(8, 22, 28, 0.72);
  --bg-panel-strong: rgba(5, 16, 22, 0.92);
  --line: rgba(221, 246, 255, 0.13);
  --line-strong: rgba(64, 238, 255, 0.32);
  --teal: #00d4d8;
  --cyan: #38e8ff;
  --blue: #2e8dff;
  --gold: #d6b46a;
  --champagne: #f1dfb3;
  --white-metal: #f4f8fb;
  --text: #eef9fb;
  --muted: #8ea6ad;
  --muted-strong: #b9cbd0;
  --danger: #ff4d6d;
  --success: #51ffb0;
  --shadow: 0 26px 80px rgba(0, 0, 0, 0.48);
  --radius-xl: 34px;
  --radius-lg: 24px;
  --radius-md: 16px;
  --max: 1180px;
}

/* === AI Support & Email === */
.management-create-business{margin:18px 0}.management-create-business>summary{display:inline-flex;cursor:pointer;list-style:none}.management-create-business>summary::-webkit-details-marker{display:none}.management-create-business .premium-form{margin-top:16px;max-width:none}.management-create-business select{width:100%;padding:14px 16px;border:1px solid rgba(255,255,255,.13);border-radius:14px;background:rgba(0,0,0,.28);color:var(--text)}
.management-search{display:grid;grid-template-columns:auto minmax(260px,1fr);gap:18px;align-items:center;margin:0 0 24px;padding:16px 20px}.management-search label{font-weight:800}.management-search input{width:100%;padding:13px 16px;border:1px solid rgba(255,255,255,.13);border-radius:14px;background:rgba(0,0,0,.28);color:var(--text)}@media(max-width:650px){.management-search{grid-template-columns:1fr}}
.totp-setup-card{display:grid;grid-template-columns:240px 1fr;gap:28px;align-items:center;max-width:820px}.totp-setup-card>img{width:240px;padding:16px;border-radius:20px;background:#fff}.totp-setup-card form{display:grid;gap:14px}@media(max-width:650px){.totp-setup-card{grid-template-columns:1fr}.totp-setup-card>img{width:min(240px,100%);justify-self:center}}
.recovery-code-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.recovery-code-grid code{display:block;padding:14px;border:1px solid rgba(255,255,255,.13);border-radius:14px;background:rgba(0,0,0,.28);color:var(--champagne);font-size:1rem;font-weight:900;letter-spacing:.08em;text-align:center}@media(max-width:560px){.recovery-code-grid{grid-template-columns:1fr}}
.support-context-suggestions{display:flex;gap:8px;flex-wrap:wrap;padding:0 4px 14px}.support-context-suggestions[hidden]{display:none}.support-context-suggestions .mini-btn{cursor:pointer}.support-context-suggestions button:disabled,.support-quick-prompts button:disabled{opacity:.55;cursor:wait}
.conversation-group{display:grid;gap:6px;margin-top:18px}.conversation-group h3,.management-inbox-group{margin:0 0 6px;padding:0 8px;color:var(--champagne);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase}.conversation-history{padding-top:16px;border-top:1px solid rgba(255,255,255,.08)}.conversation-empty{margin:4px 8px;color:var(--muted);font-size:.82rem}.support-conversation-item.archived,.management-thread.archived{opacity:.78}.support-header-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.support-header-actions form{margin:0}.ai-online-dot.closed{background:#7f9098;box-shadow:none}.finish-conversation-card{margin-top:16px;padding:17px;border:1px solid rgba(255,255,255,.1);border-radius:18px;background:rgba(255,255,255,.035)}.finish-conversation-card>summary{cursor:pointer;color:var(--champagne);font-weight:900}.finish-conversation-card .premium-form{margin-top:18px}.finish-conversation-card select{width:100%;padding:14px 16px;border:1px solid rgba(255,255,255,.13);border-radius:14px;background:#09131b;color:var(--text)}.conversation-closed-panel{display:grid;gap:10px;margin-top:16px;padding:20px;border:1px solid rgba(255,211,154,.2);border-radius:18px;background:rgba(255,211,154,.055)}.conversation-closed-panel p{margin:0;color:var(--muted);line-height:1.6}.conversation-closed-panel span{color:var(--champagne);font-size:.9rem}.conversation-closed-panel .btn{width:max-content}.management-feedback-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px;margin:18px 0 0;padding:16px;border:1px solid rgba(255,211,154,.18);border-radius:16px;background:rgba(255,211,154,.05)}.management-feedback-summary strong,.management-feedback-summary p,.management-feedback-summary small{grid-column:1/-1}.management-feedback-summary span,.management-feedback-summary small{color:var(--muted)}.management-feedback-summary p{margin:3px 0}.signature-locked-card{border-color:rgba(255,211,154,.2)!important}.locked-signature-preview{padding:14px 17px;border:1px solid rgba(255,255,255,.12);border-radius:15px;background:rgba(0,0,0,.24);color:var(--champagne);font-size:1.1rem;font-weight:900}
.ai-support-page,.management-support-page{max-width:1550px;margin:0 auto}.support-chat-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:22px;min-height:720px}.support-conversation-list,.support-chat-panel,.management-inbox,.management-chat-workspace,.email-queue-panel{padding:22px}.support-conversation-item{display:grid;gap:6px;padding:15px;border-radius:15px;color:var(--text);border:1px solid transparent}.support-conversation-item span{font-size:.82rem;color:var(--muted)}.support-conversation-item:hover,.support-conversation-item.active{background:rgba(59,232,255,.07);border-color:rgba(59,232,255,.2)}.support-chat-panel{display:grid;grid-template-rows:auto 1fr auto auto;min-height:720px}.support-chat-header,.management-chat-profile{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-bottom:18px;border-bottom:1px solid rgba(255,255,255,.1)}.support-chat-header>div{display:grid;grid-template-columns:auto 1fr;gap:3px 10px}.support-chat-header small{grid-column:2;color:var(--muted)}.ai-online-dot{width:11px;height:11px;border-radius:50%;background:#4effb1;box-shadow:0 0 16px rgba(78,255,177,.7);grid-row:1/3}.support-message-stream{overflow-y:auto;display:flex;flex-direction:column;gap:14px;padding:24px 4px;max-height:570px}.support-message{max-width:min(76%,720px);padding:14px 17px;border-radius:19px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.09)}.support-message>span,.support-message>small{font-size:.72rem;color:var(--muted)}.support-message p{margin:5px 0 8px;line-height:1.6}.message-user{align-self:flex-end;background:linear-gradient(135deg,rgba(214,180,106,.16),rgba(59,232,255,.13));border-color:rgba(59,232,255,.2)}.message-ai,.message-admin{align-self:flex-start}.message-admin{border-color:rgba(214,180,106,.28)}.message-system{align-self:center;text-align:center;background:rgba(255,190,94,.08)}.support-chat-composer{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end}.support-chat-composer textarea{min-height:62px;resize:none}.support-disclaimer{font-size:.75rem;color:var(--muted);text-align:center;margin:10px 0 0}.support-welcome{text-align:center;margin:auto;max-width:600px}.support-ai-mark{width:80px;height:80px;border-radius:26px;display:grid;place-items:center;margin:0 auto 20px;background:linear-gradient(135deg,var(--champagne),var(--cyan));color:#071017;font-weight:1000;font-size:1.5rem}.support-quick-prompts{display:flex;justify-content:center;gap:9px;flex-wrap:wrap;margin-top:20px}.support-quick-prompts button{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);color:var(--text);padding:10px 14px;border-radius:999px;cursor:pointer}
.management-support-layout{display:grid;grid-template-columns:320px minmax(480px,1fr) 300px;gap:20px;align-items:start}.management-inbox,.management-chat-workspace{min-height:720px}.management-thread{display:grid;grid-template-columns:1fr auto;gap:7px;padding:14px;border-radius:15px;color:var(--text);border:1px solid transparent}.management-thread>div{display:grid}.management-thread span,.management-thread p{color:var(--muted);font-size:.8rem}.management-thread p{grid-column:1/-1;margin:0}.management-thread.active,.management-thread:hover{background:rgba(59,232,255,.07);border-color:rgba(59,232,255,.2)}.management-stream{height:500px}.management-email-composer{margin-top:20px;border-top:1px solid rgba(255,255,255,.1);padding-top:15px}.management-email-composer summary{cursor:pointer;color:var(--champagne);font-weight:800}.management-email-composer form{display:grid;gap:14px;margin-top:16px}.email-queue-panel{display:grid;gap:12px}.email-queue-item{display:grid;gap:4px;padding:13px;border-radius:13px;background:rgba(255,255,255,.04)}.email-queue-item span,.email-queue-item p{color:var(--muted);font-size:.8rem}.smtp-indicator{display:grid;text-align:right;padding:13px 16px;border-radius:16px;border:1px solid rgba(255,255,255,.1)}.smtp-indicator span{color:var(--muted);font-size:.8rem}.smtp-indicator.ready{border-color:rgba(78,255,177,.28)}.smtp-indicator.waiting{border-color:rgba(255,190,94,.25)}
@media(max-width:1180px){.management-support-layout{grid-template-columns:280px 1fr}.email-queue-panel{grid-column:1/-1}.support-chat-layout{grid-template-columns:270px 1fr}}@media(max-width:760px){.support-chat-layout,.management-support-layout{grid-template-columns:1fr}.support-conversation-list,.management-inbox{min-height:0;max-height:300px;overflow:auto}.support-chat-panel,.management-chat-workspace{min-height:650px}.support-message{max-width:88%}.support-chat-composer{grid-template-columns:1fr}.support-chat-header,.management-chat-profile{align-items:stretch;flex-direction:column}.smtp-indicator{text-align:left}}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-height: 100vh;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--text);
  background:
    radial-gradient(circle at 12% 12%, rgba(0, 212, 216, 0.18), transparent 32%),
    radial-gradient(circle at 82% 5%, rgba(46, 141, 255, 0.18), transparent 32%),
    radial-gradient(circle at 74% 80%, rgba(214, 180, 106, 0.12), transparent 34%),
    linear-gradient(135deg, #010407 0%, #06151a 42%, #041015 100%);
  overflow-x: hidden;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(115deg, transparent 0%, rgba(255,255,255,0.035) 18%, transparent 31%),
    linear-gradient(72deg, transparent 0%, rgba(56,232,255,0.045) 45%, transparent 63%);
  animation: lightSweep 14s ease-in-out infinite alternate;
  z-index: -4;
}

body::after {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  background-image: radial-gradient(rgba(255,255,255,0.08) 1px, transparent 1px);
  background-size: 46px 46px;
  opacity: 0.16;
  mask-image: linear-gradient(to bottom, transparent, black 12%, black 75%, transparent);
  z-index: -4;
}

img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; }

.bg-orb {
  position: fixed;
  width: 460px;
  height: 460px;
  border-radius: 999px;
  filter: blur(52px);
  opacity: 0.24;
  pointer-events: none;
  z-index: -3;
  animation: floatOrb 16s ease-in-out infinite;
}
.bg-orb-one { left: -140px; top: 130px; background: #00d4d8; }
.bg-orb-two { right: -170px; top: 80px; background: #1e84ff; animation-delay: -5s; }
.bg-orb-three { left: 42%; bottom: -220px; background: #d6b46a; animation-delay: -10s; opacity: 0.15; }

.lux-grid {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: -2;
  background:
    linear-gradient(90deg, rgba(255,255,255,0.025) 1px, transparent 1px),
    linear-gradient(0deg, rgba(255,255,255,0.02) 1px, transparent 1px);
  background-size: 88px 88px;
  opacity: 0.18;
  transform: perspective(700px) rotateX(58deg) translateY(-18%);
  transform-origin: top;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  width: min(var(--max), calc(100% - 36px));
  margin: 18px auto 0;
  padding: 12px 14px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 18px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: rgba(3, 13, 18, 0.72);
  backdrop-filter: blur(22px);
  box-shadow: 0 16px 60px rgba(0,0,0,0.35);
}

.brand { display: flex; align-items: center; gap: 10px; min-width: 176px; }
.brand-img { width: 42px; height: 42px; object-fit: contain; }
.brand-text {
  font-weight: 900;
  letter-spacing: -0.05em;
  font-size: 1.25rem;
  background: linear-gradient(180deg, #fff, #9fb2ba 78%, #f1dfb3);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  text-transform: uppercase;
}

.main-nav { display: flex; justify-content: center; align-items: center; gap: 6px; }
.main-nav a {
  color: var(--muted-strong);
  font-size: .92rem;
  padding: 10px 12px;
  border-radius: 999px;
  transition: color .2s ease, background .2s ease;
}
.main-nav a:hover { color: var(--white-metal); background: rgba(255,255,255,0.06); }
.nav-actions { display: flex; align-items: center; justify-content: flex-end; gap: 10px; }
.role-pill {
  border: 1px solid rgba(214,180,106,.35);
  color: var(--champagne);
  padding: 8px 12px;
  border-radius: 999px;
  font-size: .82rem;
  background: rgba(214,180,106,.08);
}
.nav-toggle { display: none; background: transparent; border: 0; width: 42px; height: 42px; padding: 9px; }
.nav-toggle span { display: block; height: 2px; margin: 6px 0; background: var(--text); border-radius: 99px; }

.btn {
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 999px;
  padding: 11px 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  cursor: pointer;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease;
  font-weight: 800;
  color: var(--text);
  background: rgba(255,255,255,0.04);
  position: relative;
  overflow: hidden;
}
.btn::after {
  content: "";
  position: absolute;
  inset: -60% auto -60% -80%;
  width: 58%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.28), transparent);
  transform: rotate(18deg);
  transition: left .55s ease;
}
.btn:hover::after { left: 120%; }
.btn:hover { transform: translateY(-2px); border-color: rgba(56,232,255,.38); box-shadow: 0 18px 48px rgba(0,0,0,.35); }
.btn-primary {
  color: #061014;
  background: linear-gradient(135deg, var(--champagne), var(--gold) 48%, var(--cyan));
  border-color: rgba(241,223,179,.6);
  box-shadow: 0 15px 44px rgba(56,232,255,.16), 0 10px 28px rgba(214,180,106,.16);
}
.btn-ghost { background: rgba(255,255,255,.045); }
.btn-large { padding: 14px 22px; }
.btn-full { width: 100%; }

.section-pad { width: min(var(--max), calc(100% - 36px)); margin: 0 auto; padding: 82px 0; }
.hero { min-height: calc(100vh - 92px); display: grid; grid-template-columns: 1fr .95fr; align-items: center; gap: 58px; padding-top: 72px; }
.eyebrow { display: inline-flex; align-items: center; gap: 10px; color: var(--champagne); font-size: .78rem; text-transform: uppercase; letter-spacing: .16em; font-weight: 900; }
.eyebrow span { width: 28px; height: 1px; background: linear-gradient(90deg, var(--gold), var(--cyan)); display: inline-block; }
h1, h2, h3, p { margin-top: 0; }
h1 { font-size: clamp(3.4rem, 8vw, 7.4rem); line-height: .88; letter-spacing: -.08em; margin-bottom: 24px; }
h2 { font-size: clamp(2rem, 4vw, 3.55rem); line-height: 1; letter-spacing: -.055em; margin-bottom: 16px; }
h3 { letter-spacing: -.03em; }
p { color: var(--muted); line-height: 1.72; }
.hero-lead { font-size: 1.16rem; max-width: 630px; color: #b7cbd1; }
.hero-actions { display: flex; gap: 14px; flex-wrap: wrap; margin: 30px 0; }
.hero-trust-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; max-width: 660px; }
.hero-trust-row div {
  border: 1px solid var(--line);
  border-radius: 18px;
  background: rgba(255,255,255,.04);
  padding: 16px;
}
.hero-trust-row strong { display: block; color: var(--white-metal); }
.hero-trust-row span { color: var(--muted); font-size: .88rem; }

.hero-visual { min-height: 660px; position: relative; display: grid; place-items: center; }
.hero-card-wrap {
  position: absolute;
  z-index: 4;
  width: min(500px, 92vw);
  transform: rotate(-9deg);
  animation: floatCard 6s ease-in-out infinite;
  filter: drop-shadow(0 34px 70px rgba(0,0,0,.55));
}
.hero-card-wrap::before {
  content: "";
  position: absolute;
  inset: -22px;
  border-radius: 34px;
  background: radial-gradient(circle at 42% 50%, rgba(56,232,255,.42), transparent 58%);
  z-index: -1;
  filter: blur(22px);
}
.hero-card { border-radius: 24px; border: 1px solid rgba(255,255,255,.18); }
.card-holo-line {
  position: absolute;
  inset: 0;
  border-radius: 24px;
  overflow: hidden;
  pointer-events: none;
}
.card-holo-line::before {
  content: "";
  position: absolute;
  top: -40%;
  left: -70%;
  width: 44%;
  height: 190%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.32), transparent);
  transform: rotate(18deg);
  animation: shimmer 4.8s ease-in-out infinite;
}

.phone-glass {
  position: absolute;
  right: 0;
  bottom: 14px;
  width: 262px;
  height: 470px;
  border-radius: 40px;
  border: 1px solid rgba(255,255,255,.13);
  background: linear-gradient(180deg, rgba(255,255,255,.1), rgba(255,255,255,.035));
  backdrop-filter: blur(18px);
  box-shadow: var(--shadow);
  padding: 20px;
  animation: floatPhone 7s ease-in-out infinite;
}
.phone-top { width: 82px; height: 7px; background: rgba(255,255,255,.22); border-radius: 99px; margin: 0 auto 22px; }
.phone-map, .lux-map {
  position: relative;
  min-height: 230px;
  border-radius: 28px;
  background:
    linear-gradient(135deg, rgba(0,212,216,.22), transparent 35%),
    linear-gradient(45deg, rgba(214,180,106,.14), transparent 42%),
    repeating-linear-gradient(35deg, rgba(255,255,255,.035) 0 2px, transparent 2px 28px),
    rgba(1, 12, 18, .68);
  border: 1px solid var(--line);
  overflow: hidden;
}
.mini-offer-card {
  margin-top: 14px;
  border-radius: 22px;
  padding: 15px;
  background: rgba(0,0,0,.34);
  border: 1px solid var(--line);
}
.mini-offer-card strong { display: block; font-size: .92rem; }
.mini-offer-card span { color: var(--muted); font-size: .82rem; }
.map-pin {
  position: absolute;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: var(--cyan);
  box-shadow: 0 0 0 8px rgba(56,232,255,.12), 0 0 30px rgba(56,232,255,.7);
  animation: pulsePin 2.3s ease-in-out infinite;
}
.pin-one { left: 28%; top: 28%; }
.pin-two { left: 62%; top: 44%; animation-delay: -.7s; background: var(--gold); box-shadow: 0 0 0 8px rgba(214,180,106,.14), 0 0 30px rgba(214,180,106,.7); }
.pin-three { left: 44%; top: 68%; animation-delay: -1.2s; }
.map-route {
  position: absolute;
  width: 72%;
  height: 2px;
  left: 14%;
  top: 52%;
  background: linear-gradient(90deg, transparent, var(--cyan), var(--gold), transparent);
  transform: rotate(-14deg);
  opacity: .5;
}
.deal-bubble {
  position: absolute;
  z-index: 6;
  padding: 11px 15px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(6,18,24,.72);
  backdrop-filter: blur(14px);
  box-shadow: 0 18px 55px rgba(0,0,0,.36);
  color: var(--white-metal);
  font-weight: 900;
  animation: bubbleFloat 5.4s ease-in-out infinite;
}
.bubble-one { left: 0; top: 160px; }
.bubble-two { right: 22px; top: 102px; animation-delay: -1.8s; }
.bubble-three { left: 80px; bottom: 120px; animation-delay: -3s; }

.logo-band {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding-top: 34px;
  padding-bottom: 34px;
  color: var(--muted-strong);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.logo-band span { padding: 10px 18px; border-radius: 999px; background: rgba(255,255,255,.035); border: 1px solid var(--line); }

.section-heading { max-width: 800px; margin-bottom: 34px; }
.section-heading.centered { text-align: center; margin-left: auto; margin-right: auto; }
.section-heading.compact h1 { font-size: clamp(2.4rem, 5vw, 4.6rem); }
.split-section { padding-top: 96px; }
.feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.glass-card, .auth-panel, .stat-card, .offer-card, .pricing-card {
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.035));
  backdrop-filter: blur(20px);
  box-shadow: var(--shadow);
}
.glass-card { padding: 24px; }
.glass-card:hover { border-color: rgba(56,232,255,.25); }
.feature-icon { width: 54px; height: 54px; display: grid; place-items: center; border-radius: 18px; color: #061014; background: linear-gradient(135deg, var(--champagne), var(--cyan)); font-weight: 900; margin-bottom: 22px; }

.public-card-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.card-choice-preview {
  border-radius: 22px;
  padding: 5px;
  background: linear-gradient(135deg, rgba(255,255,255,.16), rgba(255,255,255,.025));
  border: 1px solid var(--line);
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.card-choice-preview img { border-radius: 18px; width: 100%; height: 100%; object-fit: cover; }
.card-choice-preview:hover { transform: translateY(-8px) rotateX(4deg); border-color: rgba(56,232,255,.38); box-shadow: 0 24px 70px rgba(0,0,0,.42), 0 0 30px rgba(56,232,255,.16); }

.offer-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.offer-card { overflow: hidden; transition: transform .22s ease, border-color .22s ease; }
.offer-card:hover { transform: translateY(-7px); border-color: rgba(56,232,255,.28); }
.offer-card img { width: 100%; height: 185px; object-fit: cover; background: #061014; }
.offer-card.small img { height: 132px; }
.offer-body { padding: 22px; }
.discount-pill { display: inline-flex; margin-bottom: 12px; padding: 7px 12px; border-radius: 999px; color: #061014; background: linear-gradient(135deg, var(--champagne), var(--gold)); font-weight: 900; font-size: .82rem; }
.offer-meta { display: flex; justify-content: space-between; gap: 14px; color: var(--muted); font-size: .86rem; border-top: 1px solid var(--line); padding-top: 14px; margin-top: 18px; }
.business-strip { display: grid; grid-template-columns: 1fr auto; gap: 26px; align-items: center; border: 1px solid var(--line); border-radius: var(--radius-xl); padding: 42px; margin-top: 48px; margin-bottom: 90px; background: linear-gradient(135deg, rgba(0,212,216,.1), rgba(214,180,106,.07)); }

.auth-shell { min-height: calc(100vh - 120px); display: grid; grid-template-columns: 1.1fr .8fr; gap: 26px; align-items: center; }
.simple-auth { grid-template-columns: .9fr .75fr; max-width: 1060px; }
.auth-panel { padding: 34px; }
.premium-form { display: grid; gap: 18px; }
.preference-fieldset{margin:0;padding:20px;border:1px solid rgba(255,255,255,.12);border-radius:20px;background:rgba(3,17,24,.42)}
.preference-fieldset legend{padding:0 8px;color:var(--text);font-size:1.05rem;font-weight:900}
.preference-fieldset>p{margin:0 0 15px;color:var(--muted);line-height:1.6}
.preference-fieldset>small{display:block;margin-top:14px;color:var(--muted);line-height:1.5}
.preference-chip-grid{display:flex;flex-wrap:wrap;gap:10px}
.premium-form .preference-chip{display:block;position:relative;cursor:pointer}
.preference-chip input{position:absolute;opacity:0;pointer-events:none}
.preference-chip span{display:block;padding:10px 14px;border:1px solid rgba(255,255,255,.13);border-radius:999px;background:rgba(255,255,255,.04);color:var(--muted-strong);font-size:.88rem;font-weight:800;transition:.18s ease}
.preference-chip input:checked+span{border-color:rgba(56,232,255,.52);background:linear-gradient(135deg,rgba(255,205,139,.2),rgba(56,232,255,.18));color:var(--text);box-shadow:0 0 0 3px rgba(56,232,255,.06)}
.preference-chip input:focus-visible+span{outline:2px solid var(--cyan);outline-offset:3px}
.premium-form label { display: grid; gap: 8px; color: var(--muted-strong); font-weight: 800; }
.premium-form input, .premium-form textarea {
  width: 100%;
  color: var(--text);
  background: rgba(0,0,0,.26);
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 14px 15px;
  outline: none;
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.premium-form input:focus, .premium-form textarea:focus { border-color: rgba(56,232,255,.52); box-shadow: 0 0 0 4px rgba(56,232,255,.08); background: rgba(0,0,0,.34); }
.premium-form .terms-consent-row{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;padding:16px 18px;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:rgba(255,255,255,.035);line-height:1.55;cursor:pointer}.premium-form .terms-consent-row input{width:20px;height:20px;margin:2px 0 0;padding:0;accent-color:var(--cyan)}.terms-consent-row a{color:var(--champagne);font-weight:900}
.form-grid { display: grid; gap: 16px; }
.form-grid.two { grid-template-columns: repeat(2, 1fr); }
.form-grid.three { grid-template-columns: repeat(3, 1fr); }
.form-note { margin: 0; font-size: .92rem; }
.form-note a { color: var(--champagne); font-weight: 900; }
.steps-row { display: flex; gap: 10px; flex-wrap: wrap; margin: 0 0 24px; }
.steps-row span { padding: 9px 12px; border-radius: 999px; border: 1px solid var(--line); color: var(--muted); background: rgba(255,255,255,.035); font-size: .84rem; font-weight: 900; }
.steps-row span.active { color: #061014; background: linear-gradient(135deg, var(--champagne), var(--cyan)); }
.card-selector-header { display: flex; justify-content: space-between; gap: 16px; align-items: flex-end; margin-top: 8px; }
.card-selector-header h2 { font-size: 1.45rem; margin-bottom: 6px; }
.selected-card-name { color: var(--champagne); border: 1px solid rgba(214,180,106,.28); border-radius: 999px; padding: 8px 12px; background: rgba(214,180,106,.08); font-weight: 900; white-space: nowrap; }
.card-selector-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; max-height: 430px; overflow: auto; padding: 4px 4px 8px; }
.card-select-option { border: 1px solid var(--line); background: rgba(255,255,255,.03); border-radius: 16px; padding: 4px; cursor: pointer; transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
.card-select-option img { border-radius: 13px; width: 100%; aspect-ratio: 1.58; object-fit: cover; }
.card-select-option:hover { transform: translateY(-4px); border-color: rgba(56,232,255,.34); }
.card-select-option.selected { border-color: rgba(241,223,179,.95); box-shadow: 0 0 0 3px rgba(214,180,106,.16), 0 0 34px rgba(56,232,255,.18); }
.auth-side { display: grid; gap: 20px; }
.floating-preview { position: relative; animation: floatCard 6s ease-in-out infinite; filter: drop-shadow(0 30px 65px rgba(0,0,0,.5)); }
.floating-preview img { border-radius: 26px; border: 1px solid rgba(255,255,255,.18); }
.membership-overlay { position: absolute; left: 22px; bottom: 18px; display: grid; gap: 4px; padding: 10px 14px; border-radius: 15px; background: rgba(0,0,0,.5); backdrop-filter: blur(12px); border: 1px solid var(--line); }
.membership-overlay span { color: var(--muted); font-size: .78rem; }
.membership-overlay strong { color: var(--white-metal); }
.login-card { border: 1px solid var(--line); border-radius: 18px; padding: 15px; margin-top: 12px; display: grid; gap: 5px; background: rgba(0,0,0,.2); }
.login-card span { color: var(--muted-strong); }
.login-card code { color: var(--champagne); }

.dashboard-hero { display: flex; align-items: flex-end; justify-content: space-between; gap: 22px; margin-bottom: 28px; }
.dashboard-hero h1 { font-size: clamp(2.4rem, 5vw, 5rem); }
.business-publisher-preview { margin: 6px 0 8px; color: var(--cyan); }
.business-publisher-preview strong { color: inherit; }
.business-identity-editor { margin-top: 18px; max-width: 650px; }
.business-identity-editor summary { width: fit-content; cursor: pointer; list-style: none; }
.business-identity-editor summary::-webkit-details-marker { display: none; }
.business-identity-editor form { display: grid; gap: 10px; margin-top: 12px; padding: 16px; border: 1px solid rgba(255,255,255,.12); border-radius: 18px; background: rgba(4,15,24,.58); }
.business-identity-editor label { font-weight: 800; }
.business-identity-editor small { color: var(--muted); line-height: 1.5; }
.business-identity-fields { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 10px; }
.business-identity-fields input { min-width: 0; }
.dashboard-grid { display: grid; gap: 20px; }
.customer-layout { grid-template-columns: .82fr 1.45fr; align-items: start; }
.customer-layout .map-panel, .customer-layout .claims-panel { grid-column: span 1; }
.member-card-panel { display: grid; gap: 18px; }
.member-card-panel img { border-radius: 22px; border: 1px solid rgba(255,255,255,.16); }
.member-details { display: grid; gap: 5px; }
.member-details span { color: var(--muted); }
.member-details strong { font-size: 1rem; color: var(--champagne); }
.panel-heading { display: flex; justify-content: space-between; gap: 14px; align-items: center; margin-bottom: 18px; }
.panel-heading h2 { font-size: 1.4rem; margin: 0; }
.panel-heading a { color: var(--champagne); font-weight: 900; }
.compact-offers { grid-template-columns: repeat(2, 1fr); }
.map-panel p, .claims-panel p { margin-bottom: 0; }
.lux-map { min-height: 270px; margin-bottom: 18px; }
.status-dot { font-size: .78rem; color: var(--success); border: 1px solid rgba(81,255,176,.26); background: rgba(81,255,176,.08); padding: 6px 10px; border-radius: 99px; }
.claim-list { display: grid; gap: 12px; }
.claim-row { padding: 14px; border: 1px solid var(--line); border-radius: 16px; background: rgba(0,0,0,.2); display: grid; gap: 5px; }
.claim-row span { color: var(--muted); font-size: .88rem; }
.digital-card-stage { display: grid; grid-template-columns: 1.25fr .75fr; gap: 24px; align-items: center; max-width: 1000px; margin: 0 auto; }
.digital-card-large { position: relative; filter: drop-shadow(0 38px 80px rgba(0,0,0,.58)); }
.digital-card-large img { width: 100%; border-radius: 30px; border: 1px solid rgba(255,255,255,.18); }
.digital-card-overlay { position: absolute; left: 7%; right: 7%; bottom: 9%; display: flex; justify-content: space-between; align-items: end; color: white; text-shadow: 0 4px 18px rgba(0,0,0,.7); }
.digital-card-overlay span { font-weight: 900; text-transform: uppercase; letter-spacing: .12em; font-size: .78rem; }
.digital-card-overlay strong { font-size: clamp(.9rem, 2vw, 1.35rem); }
.barcode-panel { display: grid; gap: 18px; }
.barcode-placeholder { display: flex; gap: 6px; align-items: stretch; height: 100px; padding: 16px; border-radius: 20px; background: linear-gradient(180deg, #f7f7f7, #d5dde1); }
.barcode-placeholder span { flex: 1; background: #071015; border-radius: 2px; }
.barcode-placeholder span:nth-child(2), .barcode-placeholder span:nth-child(6) { flex: .45; }
.barcode-placeholder span:nth-child(4), .barcode-placeholder span:nth-child(8) { flex: 1.5; }
.barcode-panel code { color: var(--champagne); font-weight: 900; }
.stats-mini { display: grid; grid-template-columns: repeat(2,1fr); gap: 12px; }
.stats-mini div { border: 1px solid var(--line); border-radius: 16px; padding: 14px; background: rgba(0,0,0,.22); }
.stats-mini strong { display: block; }
.stats-mini span { color: var(--muted); font-size: .84rem; }

.all-offers { grid-template-columns: repeat(3, 1fr); }
.detail-layout { display: grid; grid-template-columns: 1fr 360px; gap: 24px; align-items: start; }
.offer-detail-card { overflow: hidden; padding: 0; }
.detail-img { width: 100%; height: 360px; object-fit: cover; }
.detail-content { padding: 28px; }
.detail-content h1 { font-size: clamp(2.2rem, 5vw, 4.8rem); }
.detail-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 24px 0; }
.detail-grid div { border: 1px solid var(--line); border-radius: 16px; background: rgba(0,0,0,.18); padding: 14px; display: grid; gap: 5px; }
.detail-grid span { color: var(--muted); font-size: .82rem; }
.detail-grid strong { color: var(--white-metal); }
.redeem-box { border: 1px solid rgba(81,255,176,.24); background: rgba(81,255,176,.07); border-radius: 20px; padding: 18px; display: grid; gap: 8px; }
.redeem-box span { color: var(--muted); }
.redeem-box strong { font-size: 1.4rem; color: var(--success); }

.stat-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-bottom: 22px; }
.management-stats { grid-template-columns: repeat(6, 1fr); }
.stat-card { padding: 20px; }
.stat-card strong { display: block; font-size: 2rem; color: var(--white-metal); }
.stat-card span { color: var(--muted); }
.business-layout { grid-template-columns: 1.3fr .7fr; align-items: start; }
.table-wrap { overflow-x: auto; }
.premium-table { width: 100%; border-collapse: collapse; min-width: 650px; }
.premium-table th, .premium-table td { text-align: left; border-bottom: 1px solid var(--line); padding: 14px 10px; color: var(--muted-strong); }
.premium-table th { color: var(--white-metal); font-size: .82rem; text-transform: uppercase; letter-spacing: .1em; }
.table-status { display: inline-flex; padding: 6px 10px; border-radius: 99px; font-size: .78rem; font-weight: 900; border: 1px solid var(--line); color: var(--muted-strong); }
.status-approved, .status-active, .status-closed { color: var(--success); border-color: rgba(81,255,176,.24); background: rgba(81,255,176,.08); }
.status-pending, .status-open { color: var(--champagne); border-color: rgba(214,180,106,.28); background: rgba(214,180,106,.08); }
.status-disabled { color: var(--danger); border-color: rgba(255,77,109,.24); background: rgba(255,77,109,.08); }
.mini-btn { border: 1px solid var(--line); background: rgba(255,255,255,.06); color: var(--white-metal); border-radius: 999px; padding: 8px 12px; cursor: pointer; font-weight: 900; }
.mini-btn.danger { color: var(--danger); }
.actions-cell { display: flex; gap: 8px; flex-wrap: wrap; }
.management-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.management-wide { grid-column: 1 / -1; }
.ticket-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.ticket-card { border: 1px solid var(--line); border-radius: 18px; background: rgba(0,0,0,.2); padding: 16px; }
.ticket-card div:first-child { display: grid; gap: 5px; }
.ticket-card span { color: var(--muted); }
.ticket-footer { display: flex; justify-content: space-between; gap: 10px; align-items: center; }

.form-page .premium-form, .profile-page .premium-form, .support-form { max-width: 900px; }
.profile-selector { max-height: none; }
.support-form { margin: 0 auto; }
.rules-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.pricing-card { padding: 34px; max-width: 520px; margin: 0 auto; text-align: center; }
.error-page { min-height: 60vh; display: grid; place-items: center; }

.flash-stack { position: fixed; right: 22px; top: 104px; z-index: 80; display: grid; gap: 10px; width: min(380px, calc(100vw - 44px)); }
.flash { border: 1px solid var(--line); border-radius: 18px; padding: 14px 16px; background: rgba(3,13,18,.92); backdrop-filter: blur(16px); box-shadow: var(--shadow); color: var(--text); }
.flash-success { border-color: rgba(81,255,176,.28); }
.flash-danger { border-color: rgba(255,77,109,.36); }
.flash-warning { border-color: rgba(214,180,106,.36); }

@media(max-width:520px){
  .flash-stack{left:12px!important;right:12px!important;top:82px!important;width:auto!important;max-width:calc(100vw - 24px)!important}
  .flash{max-width:100%!important;overflow-wrap:anywhere!important;box-sizing:border-box!important}
}

.family-size-upgrade[hidden]{display:none!important}
.agent-queue-status{display:flex;gap:14px;align-items:flex-start;margin:0 18px 14px;padding:15px 17px;border:1px solid rgba(214,180,106,.3);border-radius:18px;background:rgba(214,180,106,.08)}
.agent-queue-status.connected{border-color:rgba(81,255,176,.28);background:rgba(81,255,176,.07)}
.agent-queue-status p{margin:4px 0 0;color:var(--muted);line-height:1.5}
.agent-queue-pulse{width:11px;height:11px;margin-top:5px;border-radius:50%;flex:0 0 auto;background:var(--champagne);box-shadow:0 0 0 6px rgba(214,180,106,.12)}
.agent-queue-status.connected .agent-queue-pulse{background:var(--success);box-shadow:0 0 0 6px rgba(81,255,176,.1)}
.offer-image-editor{display:grid;grid-template-columns:minmax(160px,260px) 1fr;gap:20px;align-items:center;padding:16px;border:1px solid var(--line);border-radius:20px;background:rgba(0,0,0,.16)}
.offer-image-editor img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:15px}
@media(max-width:620px){.offer-image-editor{grid-template-columns:1fr}}

/* Management category console — same OneSaver visual language, focused workflow. */
.management-console-nav{display:grid;grid-template-columns:230px minmax(0,1fr);gap:18px;align-items:stretch;margin-bottom:24px;padding:14px}
.management-console-brand{display:flex;align-items:center;gap:12px;padding:8px 10px;border-right:1px solid var(--line)}
.management-console-brand>span{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(135deg,var(--champagne),var(--cyan));color:#071017;font-weight:1000}
.management-console-brand>div{display:grid}.management-console-brand small{color:var(--muted)}
.management-console-brand button{display:none}
.management-console-nav nav{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:8px}
.management-console-nav nav button,.management-console-nav nav a{display:flex;align-items:center;gap:9px;min-height:48px;padding:10px 12px;border:1px solid transparent;border-radius:14px;background:transparent;color:var(--muted-strong);font:inherit;font-weight:800;cursor:pointer;text-align:left}
.management-console-nav nav span{color:var(--champagne);font-size:.68rem;letter-spacing:.08em}
.management-console-nav nav button:hover,.management-console-nav nav a:hover,.management-console-nav nav button.active{border-color:rgba(56,232,255,.24);background:rgba(56,232,255,.07);color:var(--text)}
.management-view-heading{margin:6px 0 20px}.management-view-heading>span{color:var(--champagne);font-size:.78rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.management-view-heading h2{margin:7px 0 5px;font-size:clamp(1.8rem,3vw,3rem)}.management-view-heading p{margin:0;color:var(--muted)}
[data-management-section][hidden],[data-management-overview][hidden],.management-page>.management-search[hidden]{display:none!important}
@media(max-width:900px){.management-console-nav{grid-template-columns:1fr}.management-console-brand{border-right:0}.management-console-nav nav{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.management-console-nav{position:relative;padding:10px}.management-console-brand{padding:5px}.management-console-brand button{display:inline-flex;margin-left:auto;padding:10px 13px;border:1px solid rgba(56,232,255,.25);border-radius:12px;background:rgba(56,232,255,.07);color:var(--text);font-weight:900}.management-console-nav nav{display:none;position:fixed;inset:0;z-index:190;align-content:center;grid-template-columns:1fr 1fr;gap:10px;padding:70px 18px;background:rgba(2,10,16,.96);backdrop-filter:blur(24px)}.management-console-nav nav.open{display:grid}.management-console-nav nav button,.management-console-nav nav a{min-height:72px;border-color:rgba(255,255,255,.1);background:rgba(255,255,255,.045);flex-direction:column;align-items:flex-start;justify-content:center}.management-console-brand:has(+ nav.open){position:fixed;left:18px;right:18px;top:16px;z-index:200}.management-console-brand:has(+ nav.open) button{z-index:201}.management-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
.security-readiness-panel{margin:20px 0;padding:22px}.security-readiness-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.security-readiness-grid>div{display:grid;gap:6px;padding:15px;border:1px solid rgba(255,255,255,.09);border-radius:15px;background:rgba(255,255,255,.025)}.security-readiness-grid span{color:var(--muted);font-size:.78rem}.security-readiness-grid strong{font-size:.92rem}.security-readiness-panel[hidden]{display:none!important}@media(max-width:850px){.security-readiness-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.security-readiness-grid{grid-template-columns:1fr}}

.site-footer { width: min(var(--max), calc(100% - 36px)); margin: 0 auto 22px; padding: 30px 0 12px; color: var(--muted); display: grid; grid-template-columns: minmax(210px,.7fr) minmax(440px,1.45fr) minmax(230px,.72fr); align-items: start; gap: clamp(24px,4vw,58px); border-top: 1px solid var(--line); }
.footer-brand { display: grid; gap: 8px; }
.footer-brand strong { color: var(--white-metal); font-size: 1.1rem; }
.footer-brand span { max-width: 290px; line-height: 1.55; }
.footer-contact-grid { display: grid; grid-template-columns: repeat(3,minmax(150px,1fr)); gap: 16px 24px; }
.footer-contact-item { display: grid; gap: 4px; min-width: 0; }
.footer-contact-item small { color: var(--champagne); font-size: .7rem; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.footer-contact-item strong { color: var(--muted-strong); font-size: .92rem; overflow-wrap: anywhere; }
.footer-contact-item:hover strong { color: var(--cyan); }
.footer-contact-coming-soon strong { width: max-content; padding: 5px 9px; border: 1px solid rgba(255,179,94,.25); border-radius: 999px; background: rgba(255,179,94,.08); color: var(--champagne); font-size: .76rem; letter-spacing: .04em; text-transform: uppercase; }
.footer-legal { display: grid; justify-items: end; gap: 12px; text-align: right; }
.footer-legal nav { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px 16px; }
.footer-legal nav a { color: var(--muted-strong); font-weight: 800; }
.footer-legal nav a:hover { color: var(--champagne); }
.footer-legal>span { font-size: .86rem; line-height: 1.45; }

.reveal { opacity: 0; transform: translateY(22px); transition: opacity .7s ease, transform .7s ease; }
.reveal.visible { opacity: 1; transform: translateY(0); }
.delay-1 { transition-delay: .12s; }
.delay-2 { transition-delay: .22s; }
.delay-3 { transition-delay: .32s; }

@keyframes floatOrb { 0%,100% { transform: translate3d(0,0,0) scale(1); } 50% { transform: translate3d(42px,-34px,0) scale(1.08); } }
@keyframes lightSweep { 0% { transform: translateX(-6%); opacity: .72; } 100% { transform: translateX(6%); opacity: 1; } }
@keyframes floatCard { 0%,100% { transform: translateY(0) rotate(-8deg); } 50% { transform: translateY(-18px) rotate(-5deg); } }
@keyframes floatPhone { 0%,100% { transform: translateY(0) rotate(4deg); } 50% { transform: translateY(18px) rotate(2deg); } }
@keyframes bubbleFloat { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-14px); } }
@keyframes shimmer { 0%, 42% { left: -70%; } 70%, 100% { left: 130%; } }
@keyframes pulsePin { 0%,100% { transform: scale(1); opacity: .9; } 50% { transform: scale(1.28); opacity: 1; } }

@media (max-width: 1040px) {
  .site-header { grid-template-columns: auto auto; border-radius: 28px; }
  .nav-toggle { display: block; justify-self: end; }
  .main-nav, .nav-actions { display: none; grid-column: 1 / -1; justify-content: stretch; align-items: stretch; flex-direction: column; }
  .main-nav.open, .nav-actions.open { display: flex; }
  .main-nav a, .nav-actions a { width: 100%; justify-content: center; text-align: center; }
  .role-pill { text-align: center; }
  .hero, .auth-shell, .simple-auth, .digital-card-stage, .detail-layout, .business-layout { grid-template-columns: 1fr; }
  .hero { padding-top: 54px; }
  .hero-visual { min-height: 580px; }
  .phone-glass { right: 20px; }
  .customer-layout { grid-template-columns: 1fr; }
  .member-card-panel { max-width: 580px; }
  .management-stats { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 780px) {
  .section-pad { width: min(100% - 24px, var(--max)); padding: 54px 0; }
  .site-header { width: min(100% - 24px, var(--max)); margin-top: 12px; }
  h1 { font-size: clamp(3rem, 15vw, 4.8rem); }
  .hero-trust-row, .feature-grid, .offer-grid, .public-card-grid, .rules-grid, .stat-grid, .management-stats, .management-grid, .ticket-grid, .form-grid.two, .form-grid.three { grid-template-columns: 1fr; }
  .hero-visual { min-height: 440px; }
  .hero-card-wrap { width: 86vw; }
  .phone-glass { display: none; }
  .deal-bubble { font-size: .82rem; }
  .bubble-one { left: 5px; top: 70px; }
  .bubble-two { right: 4px; top: 30px; }
  .bubble-three { left: 35px; bottom: 50px; }
  .logo-band { flex-wrap: wrap; justify-content: center; }
  .card-selector-grid { grid-template-columns: repeat(2, 1fr); max-height: 520px; }
  .card-selector-header { align-items: flex-start; flex-direction: column; }
  .dashboard-hero, .business-strip { flex-direction: column; display: flex; align-items: flex-start; }
  .business-strip { padding: 26px; }
  .detail-grid { grid-template-columns: 1fr; }
  .offer-meta { flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* OneSaver barcode / redeem system */
.hero-actions { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.real-barcode-panel h2 { margin-bottom: 6px; }
.barcode-image-shell,
.redeem-qr-shell {
  border-radius: 22px;
  padding: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(217,230,235,.9));
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.5), 0 24px 70px rgba(0,0,0,.35);
}
.barcode-image-shell img { display: block; width: 100%; min-height: 92px; object-fit: contain; }
.redeem-qr-shell { margin: 16px 0; max-width: 240px; }
.redeem-qr-shell img { display: block; width: 100%; height: auto; }
.qr-redeem-box { display: grid; gap: 8px; }
.redeemed-box { border-color: rgba(81,255,176,.42); background: rgba(81,255,176,.08); }
.redeem-page .dashboard-hero { margin-bottom: 28px; }
.redeem-layout { display: grid; grid-template-columns: minmax(280px, .8fr) minmax(320px, 1.2fr); gap: 24px; align-items: start; }
.redeem-form { display: grid; gap: 16px; }
.redeem-form label { font-weight: 900; color: var(--champagne); }
.redeem-form input {
  width: 100%;
  border: 1px solid rgba(56,232,255,.22);
  border-radius: 18px;
  padding: 15px 16px;
  background: rgba(3,13,18,.72);
  color: var(--white-metal);
  outline: none;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.03);
}
.redeem-form input:focus { border-color: rgba(56,232,255,.62); box-shadow: 0 0 0 4px rgba(56,232,255,.09); }
.redeem-scanner { overflow: hidden; }
.camera-scanner { position: relative; overflow: hidden; min-height: 260px; border: 1px solid rgba(56,232,255,.28); border-radius: 24px; background: #02080c; }
.camera-scanner[hidden] { display: none; }
.camera-scanner video { display: block; width: 100%; min-height: 260px; max-height: 440px; object-fit: cover; }
.camera-scan-guide { position: absolute; inset: 12%; border: 2px solid rgba(56,232,255,.85); border-radius: 24px; box-shadow: 0 0 0 999px rgba(0,0,0,.3), inset 0 0 34px rgba(56,232,255,.12); }
.camera-scan-guide:after { content: ''; position: absolute; left: 8%; right: 8%; top: 50%; height: 2px; background: linear-gradient(90deg, transparent, var(--cyan), transparent); box-shadow: 0 0 18px rgba(56,232,255,.8); }
.camera-controls { display: flex; flex-wrap: wrap; gap: 10px; }
.camera-controls .btn { flex: 1 1 190px; }
.camera-status { margin: -4px 0 0; padding: 11px 13px; border-radius: 14px; color: var(--muted); background: rgba(255,255,255,.045); border: 1px solid rgba(255,255,255,.08); }
.camera-status[data-state='active'] { color: var(--cyan); border-color: rgba(56,232,255,.26); }
.camera-status[data-state='success'] { color: var(--success); border-color: rgba(81,255,176,.28); }
.camera-status[data-state='error'] { color: #ffafbd; border-color: rgba(255,77,109,.3); }
.selected-member-offer { display: grid; gap: 6px; padding: 16px 18px; border: 1px solid rgba(56,232,255,.28); border-radius: 18px; background: linear-gradient(135deg, rgba(255,181,87,.09), rgba(56,232,255,.09)); }
.selected-member-offer span { color: var(--champagne); font-size: .76rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.selected-member-offer strong { color: var(--text); font-size: 1.12rem; }
.selected-member-offer small { color: var(--muted); line-height: 1.45; }
.redeem-result { min-height: 330px; display: grid; gap: 18px; align-content: start; }
.validation-badge {
  width: fit-content;
  border-radius: 999px;
  padding: 10px 14px;
  font-weight: 950;
  letter-spacing: .03em;
  text-transform: uppercase;
  font-size: .78rem;
}
.validation-valid { color: #dffef0; background: rgba(81,255,176,.16); border: 1px solid rgba(81,255,176,.38); }
.validation-success { color: #061312; background: linear-gradient(135deg, #51ffb0, #38e8ff); border: 1px solid rgba(255,255,255,.2); }
.validation-invalid { color: #ffe7ed; background: rgba(255,77,109,.16); border: 1px solid rgba(255,77,109,.38); }
.validation-empty { text-align: center; display: grid; gap: 10px; place-items: center; padding: 34px 14px; color: var(--muted); }
.validation-empty h2 { color: var(--white-metal); margin: 0; }
.scan-icon {
  display: grid;
  place-items: center;
  width: 86px;
  height: 86px;
  border-radius: 28px;
  color: var(--cyan);
  font-size: 3rem;
  background: radial-gradient(circle at 50% 35%, rgba(56,232,255,.2), rgba(214,180,106,.08));
  box-shadow: 0 0 60px rgba(56,232,255,.22);
}
.redeem-detail-grid { margin: 4px 0 8px; }
@media (max-width: 860px) {
  .redeem-layout { grid-template-columns: 1fr; }
  .hero-actions { width: 100%; }
  .hero-actions .btn { width: 100%; justify-content: center; }
}

/* Digital membership barcode flow */
.member-qr-shell {
  display: grid;
  grid-template-columns: 112px 1fr;
  gap: 14px;
  align-items: center;
  padding: 14px;
  border: 1px solid rgba(56,232,255,.18);
  border-radius: 18px;
  background: rgba(2,8,11,.36);
}
.member-qr-shell img {
  width: 112px;
  height: 112px;
  border-radius: 14px;
  background: #f7fbfd;
  padding: 8px;
}
.member-qr-shell p {
  margin: 0;
  color: var(--muted);
}
.redeem-offer-form {
  display: grid;
  gap: 14px;
  margin-top: 6px;
}
.redeem-offer-form label {
  font-weight: 900;
  color: var(--champagne);
}
.redeem-offer-form select {
  width: 100%;
  border: 1px solid rgba(255,255,255,.14);
  color: var(--white-metal);
  background: rgba(2,8,11,.64);
  border-radius: 16px;
  padding: 14px 16px;
  outline: none;
}
.redeem-offer-form select:focus {
  border-color: rgba(56,232,255,.62);
  box-shadow: 0 0 0 4px rgba(56,232,255,.09);
}
@media (max-width: 620px) {
  .member-qr-shell { grid-template-columns: 1fr; text-align: center; justify-items: center; }
}


/* Categorised OneSaver card library */
.card-category-stack { display: grid; gap: 34px; }
.card-category-block { padding: 18px; border-radius: 28px; background: rgba(255,255,255,.035); border: 1px solid rgba(255,255,255,.08); box-shadow: 0 28px 90px rgba(0,0,0,.22); }
.card-category-title, .card-selector-group-title { display: flex; justify-content: space-between; align-items: center; gap: 14px; margin: 0 0 14px; color: var(--text); }
.card-category-title span, .card-selector-group-title span { font-weight: 800; letter-spacing: .08em; text-transform: uppercase; font-size: .86rem; }
.card-category-title small, .card-selector-group-title small { color: var(--muted); font-weight: 700; }
.card-selector-groups { display: grid; gap: 22px; max-height: 560px; overflow: auto; padding: 2px 4px 10px; }
.card-selector-group { padding: 12px; border-radius: 22px; border: 1px solid rgba(255,255,255,.08); background: rgba(0,0,0,.18); }
.card-selector-group .card-selector-grid { max-height: none; overflow: visible; padding: 0; }
.category-standard .card-choice-preview { aspect-ratio: 1.58 / 1; }
.category-plus .card-choice-preview, .category-family .card-choice-preview { aspect-ratio: 1.2 / 1; }
@media (max-width: 980px) { .public-card-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 620px) { .public-card-grid { grid-template-columns: 1fr; } .card-category-title, .card-selector-group-title { align-items: flex-start; flex-direction: column; } }

/* === OneSaver plan/category + profile polish fixes === */
.digital-card-stage { align-items: start; }
.digital-card-large { overflow: hidden; }
.digital-card-large img { display: block; width: 100%; height: auto; }
.card-identity-panel { display: grid; gap: 10px; align-content: start; }
.card-identity-panel span { color: var(--muted); font-weight: 900; text-transform: uppercase; letter-spacing: .12em; font-size: .78rem; }
.card-identity-panel h2 { margin: 0; font-size: clamp(1.4rem, 3vw, 2.4rem); }
.card-identity-panel code { display: inline-flex; width: fit-content; padding: 10px 14px; border-radius: 14px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.12); color: var(--champagne); font-weight: 900; letter-spacing: .06em; }

.standard-only-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); max-height: none; }
.upgrade-note-card { margin: 8px 0 16px; padding: 14px 16px; border-radius: 18px; border: 1px solid rgba(255,255,255,.11); background: rgba(255,255,255,.055); display: grid; gap: 5px; }
.upgrade-note-card strong { color: var(--text); }
.upgrade-note-card span { color: var(--muted); font-size: .95rem; }
.clean-membership-overlay { background: rgba(0,0,0,.32); border: 1px solid rgba(255,255,255,.1); border-radius: 18px; padding: 12px; backdrop-filter: blur(12px); }

.profile-overview-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-bottom: 22px; }
.profile-stat-card { display: grid; gap: 8px; }
.profile-stat-card span { color: var(--muted); font-weight: 800; text-transform: uppercase; letter-spacing: .09em; font-size: .78rem; }
.profile-stat-card strong { font-size: clamp(1.8rem, 4vw, 3rem); color: var(--text); }
.profile-stat-card small { color: var(--muted); }
.profile-layout-grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(320px, .75fr); gap: 22px; align-items: start; }
.profile-actions-row { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 16px; }
.switch-label { display: flex !important; align-items: center; gap: 12px; min-height: 54px; padding: 0 4px; color: var(--text); font-weight: 800; }
.switch-label input { width: 20px !important; height: 20px; accent-color: var(--cyan); }
.current-plan-only { grid-template-columns: repeat(4, 1fr); max-height: none; }
.savings-strip { display: flex; justify-content: space-between; align-items: center; border-radius: 18px; border: 1px solid rgba(70, 232, 255, .18); background: rgba(20, 221, 226, .08); padding: 12px 14px; }
.savings-strip span { color: var(--muted); font-weight: 800; }
.savings-strip strong { color: var(--champagne); font-size: 1.35rem; }

.savings-overview {
  margin: 0 0 28px;
  padding: 24px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 30px;
  background: linear-gradient(145deg, rgba(9,25,34,.88), rgba(8,13,19,.72));
  box-shadow: 0 28px 90px rgba(0,0,0,.24);
}
.savings-overview-heading { align-items: end; margin-bottom: 18px; }
.savings-overview-heading h2 { margin: 6px 0 4px; }
.savings-overview-heading p { margin: 0; color: var(--muted); }
.savings-period-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
.savings-period-card { min-width: 0; display: grid; gap: 7px; padding: 18px; border-radius: 22px; }
.savings-period-card > span { color: var(--muted); font-size: .76rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.savings-period-card > strong { color: var(--text); font-size: clamp(1.45rem, 2.5vw, 2.25rem); }
.savings-period-card > small { color: var(--muted); line-height: 1.35; }
.savings-period-featured { border-color: rgba(56,232,255,.3); background: linear-gradient(145deg, rgba(255,181,87,.1), rgba(56,232,255,.1)); }
.savings-period-featured > strong { color: var(--cyan); }
.savings-summary-line { display: flex; flex-wrap: wrap; gap: 12px 28px; margin-top: 16px; color: var(--muted); }
.savings-summary-line strong { color: var(--champagne); }
.profile-account-overview { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.redemption-performance { margin: 24px 0; }
.redemption-period-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; margin-top: 18px; }
.redemption-period-card { min-width: 0; border: 1px solid rgba(255,255,255,.1); border-radius: 22px; padding: 17px; background: rgba(0,0,0,.16); }
.redemption-period-card > div { display: grid; gap: 3px; margin-bottom: 14px; }
.redemption-period-card > div span { color: var(--champagne); font-weight: 900; text-transform: uppercase; letter-spacing: .08em; font-size: .75rem; }
.redemption-period-card > div strong { color: var(--text); font-size: 2rem; }
.redemption-period-card > div small { color: var(--muted); }
.redemption-period-card dl { display: grid; gap: 8px; margin: 0; }
.redemption-period-card dl div { display: flex; justify-content: space-between; gap: 10px; padding-top: 8px; border-top: 1px solid rgba(255,255,255,.07); }
.redemption-period-card dt { color: var(--muted); font-size: .8rem; }
.redemption-period-card dd { margin: 0; color: var(--text); font-weight: 850; font-size: .86rem; }
.redemption-period-featured { border-color: rgba(56,232,255,.3); background: linear-gradient(145deg, rgba(255,181,87,.08), rgba(56,232,255,.08)); }

.redeem-confirm-form { display: grid; gap: 14px; margin-top: 8px; }
.redeem-calculation { display: grid; gap: 8px; padding: 15px; border: 1px solid rgba(255,255,255,.1); border-radius: 20px; background: rgba(0,0,0,.2); }
.redeem-calculation div { display: flex; justify-content: space-between; gap: 18px; color: var(--muted); }
.redeem-calculation strong { color: var(--text); }
.redeem-calculation .saving strong { color: var(--champagne); }
.redeem-calculation .paid { padding-top: 9px; border-top: 1px solid rgba(255,255,255,.1); font-weight: 900; }
.redeem-calculation .paid strong { color: var(--cyan); font-size: 1.35rem; }

.plan-choice-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-bottom: 22px; }
.plan-choice-card { cursor: pointer; padding: 18px; border-radius: 22px; border: 1px solid rgba(255,255,255,.1); background: rgba(255,255,255,.045); display: grid; gap: 8px; transition: .2s ease; }
.plan-choice-card:hover { transform: translateY(-2px); border-color: rgba(70,232,255,.35); }
.plan-choice-card input { width: 18px; height: 18px; accent-color: var(--cyan); }
.plan-choice-card strong { font-size: 1.15rem; color: var(--text); }
.plan-choice-card span { color: var(--muted); }
.upgrade-card-group { display: none; margin: 18px 0; padding: 14px; border-radius: 24px; border: 1px solid rgba(255,255,255,.09); background: rgba(0,0,0,.18); }
.upgrade-card-group.active { display: block; }

.location-panel { position: relative; overflow: hidden; }
.location-orb { min-height: 190px; border-radius: 26px; background: radial-gradient(circle at 50% 50%, rgba(51,232,255,.28), rgba(17,24,35,.62) 38%, rgba(5,12,18,.9)); border: 1px solid rgba(255,255,255,.08); margin-bottom: 18px; position: relative; }
.location-orb:before, .location-orb:after { content: ''; position: absolute; inset: 24px; border-radius: 50%; border: 1px solid rgba(70,232,255,.22); animation: locationPulse 3.8s ease-in-out infinite; }
.location-orb:after { inset: 52px; animation-delay: .7s; border-color: rgba(214,180,106,.28); }
.location-orb span { position: absolute; left: 50%; top: 50%; width: 18px; height: 18px; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 35px rgba(70,232,255,.8); transform: translate(-50%, -50%); }
.location-result { margin-top: 14px; padding: 12px; border-radius: 16px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1); color: var(--muted); font-size: .94rem; }
@keyframes locationPulse { 0%,100% { transform: scale(.84); opacity: .5; } 50% { transform: scale(1.05); opacity: 1; } }

.rules-accordion { max-width: 980px; display: grid; gap: 12px; }
.rules-accordion details { border-radius: 22px; border: 1px solid rgba(255,255,255,.1); background: rgba(255,255,255,.055); overflow: hidden; }
.rules-accordion summary { cursor: pointer; padding: 18px 22px; font-weight: 900; color: var(--text); list-style: none; display: flex; justify-content: space-between; gap: 20px; }
.rules-accordion summary::-webkit-details-marker { display: none; }
.rules-accordion summary:after { content: '+'; color: var(--cyan); font-size: 1.3rem; }
.rules-accordion details[open] summary:after { content: '–'; }
.rules-accordion p { color: var(--muted); padding: 0 22px 20px; margin: 0; line-height: 1.7; }

.redeem-offer-form input[type='number'] { width: 100%; min-height: 52px; border-radius: 16px; border: 1px solid rgba(255,255,255,.14); background: rgba(5,10,14,.72); color: var(--text); padding: 0 14px; }

@media (max-width: 900px) {
  .profile-overview-grid, .profile-layout-grid, .plan-choice-grid { grid-template-columns: 1fr; }
  .standard-only-grid, .current-plan-only { grid-template-columns: repeat(2, 1fr); }
  .savings-period-grid, .redemption-period-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 560px) {
  .savings-overview { padding: 18px; border-radius: 24px; }
  .savings-period-grid, .redemption-period-grid { grid-template-columns: 1fr; }
}

/* Replace placeholder phone with cleaner card stack */
.hero-card-stack { min-height: 620px; }
.hero-card-main { z-index: 3; }
.hero-card-main .hero-card { object-fit: cover; }
.hero-mini-card { position: absolute; width: 190px; border-radius: 22px; overflow: hidden; border: 1px solid rgba(255,255,255,.16); box-shadow: 0 22px 70px rgba(0,0,0,.38); background: rgba(255,255,255,.04); }
.hero-mini-card img { display: block; width: 100%; height: 125px; object-fit: cover; }
.hero-mini-one { right: 6%; top: 12%; transform: rotate(7deg); }
.hero-mini-two { right: 12%; bottom: 9%; width: 150px; transform: rotate(-8deg); }
.hero-offer-card { right: 1%; bottom: 30%; }
@media (max-width: 980px) { .hero-mini-card, .hero-offer-card { display: none; } }

/* === vNext fixes: locked digital membership, upgrade-only tiers, cleaner card === */
.locked-card-panel { margin-top: 22px; padding: 18px; border-radius: 24px; border: 1px solid rgba(255,255,255,.1); background: rgba(0,0,0,.18); display: grid; gap: 16px; }
.locked-card-panel h2 { margin: 0 0 6px; }
.locked-card-panel p { color: var(--muted); margin: 0; }
.locked-card-panel img { width: min(520px, 100%); border-radius: 20px; border: 1px solid rgba(255,255,255,.16); box-shadow: 0 26px 70px rgba(0,0,0,.38); }
.locked-card-note { display: grid; gap: 5px; padding: 14px; border-radius: 18px; background: rgba(70,232,255,.07); border: 1px solid rgba(70,232,255,.16); }
.locked-card-note strong { color: var(--text); }
.locked-card-note span { color: var(--muted); }
.profile-side-stack { display: grid; gap: 22px; }
.clean-card-stage { grid-template-columns: minmax(0, 1.05fr) minmax(280px, .7fr); }
.two-upgrades { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.upgrade-warning-card { margin-bottom: 18px; padding: 16px 18px; display: grid; gap: 6px; border-radius: 20px; border: 1px solid rgba(214,180,106,.22); background: linear-gradient(135deg, rgba(214,180,106,.15), rgba(70,232,255,.07)); }
.upgrade-warning-card strong { color: var(--champagne); }
.upgrade-warning-card span { color: var(--muted); }
@media (max-width: 900px) { .clean-card-stage, .two-upgrades { grid-template-columns: 1fr; } }


/* === vNext clean-up: remove messy stacked card/map placeholders === */
.hero-clean-product { grid-template-columns: minmax(0, 1fr) minmax(440px, .9fr); }
.hero-product-clean { min-height: 560px; display: flex; align-items: center; justify-content: center; }
.hero-product-frame {
  width: min(560px, 100%);
  border-radius: 34px;
  padding: 28px;
  background: linear-gradient(145deg, rgba(4, 27, 34, .84), rgba(2, 12, 18, .72));
  border: 1px solid rgba(70,232,255,.18);
  box-shadow: 0 38px 120px rgba(0,0,0,.48), inset 0 1px 0 rgba(255,255,255,.1);
  position: relative;
  overflow: hidden;
}
.hero-product-frame:before {
  content: '';
  position: absolute;
  inset: -35%;
  background: radial-gradient(circle at 68% 22%, rgba(70,232,255,.28), transparent 35%), radial-gradient(circle at 22% 72%, rgba(214,180,106,.13), transparent 38%);
  pointer-events: none;
}
.hero-single-card {
  position: relative;
  z-index: 2;
  width: 100%;
  display: block;
  border-radius: 24px;
  box-shadow: 0 34px 90px rgba(0,0,0,.54);
  transform: rotate(-4deg);
}
.hero-product-badges { position: relative; z-index: 3; display: flex; justify-content: space-between; gap: 12px; margin-bottom: 18px; }
.hero-product-badges span,
.hero-product-caption {
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(2,10,16,.62);
  box-shadow: 0 12px 35px rgba(0,0,0,.28);
  backdrop-filter: blur(14px);
}
.hero-product-badges span { border-radius: 999px; padding: 10px 14px; font-weight: 900; color: var(--text); }
.hero-product-caption { position: relative; z-index: 3; margin-top: 18px; border-radius: 20px; padding: 16px; display: grid; gap: 4px; }
.hero-product-caption strong { color: var(--text); }
.hero-product-caption span { color: var(--muted); font-size: .95rem; }
.hero-card-stack, .hero-mini-card, .hero-offer-card, .phone-glass { display: none !important; }
.nearby-panel, .nearby-offer-side { overflow: hidden; }
.nearby-flow-card,
.nearby-check-list { display: grid; gap: 12px; margin: 16px 0; }
.nearby-flow-card div,
.nearby-check-list div {
  display: flex; align-items: center; justify-content: space-between; gap: 14px;
  padding: 14px 16px; border-radius: 18px;
  background: rgba(255,255,255,.055); border: 1px solid rgba(255,255,255,.09);
}
.nearby-flow-card strong { width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; color: #041014; background: linear-gradient(135deg, var(--cyan), var(--gold)); }
.nearby-flow-card span, .nearby-check-list span { color: var(--muted); }
.nearby-check-list strong { color: var(--text); text-align: right; }
.locked-card-compact { grid-template-columns: minmax(0, 1fr) minmax(220px, 320px); align-items: center; }
.locked-card-compact img { width: 100%; max-width: 320px; justify-self: end; }
.locked-card-compact .locked-card-note { grid-column: 1 / -1; }
.clean-card-stage { max-width: 980px; grid-template-columns: minmax(0, 1fr) minmax(310px, .75fr); }
.card-identity-panel code { overflow-wrap: anywhere; word-break: break-word; }
.map-panel, .lux-map, .detail-map { display: none !important; }
@media (max-width: 1040px) {
  .hero-clean-product { grid-template-columns: 1fr; }
  .hero-product-clean { min-height: auto; }
}
@media (max-width: 760px) {
  .locked-card-compact { grid-template-columns: 1fr; }
  .locked-card-compact img { justify-self: start; }
  .hero-product-frame { padding: 18px; border-radius: 26px; }
  .hero-single-card { transform: rotate(0deg); }
}


/* === vNext visual clean-up: no card-on-card, no fake map animation === */
.hero-card-clean-stage {
  width: min(560px, 100%);
  display: grid;
  gap: 18px;
  justify-items: center;
  position: relative;
}
.hero-card-clean-stage:before,
.hero-product-frame:before { display: none !important; }
.hero-product-frame {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  overflow: visible !important;
}
.clean-single-product {
  width: 100%;
  border-radius: 26px;
  transform: rotate(-3deg);
  box-shadow: 0 34px 90px rgba(0,0,0,.48), 0 0 45px rgba(70,232,255,.12);
  background: transparent;
}
.hero-product-badges { display: none !important; }
.clean-product-caption {
  width: fit-content;
  margin: 0 auto !important;
  padding: 12px 18px !important;
  border-radius: 999px !important;
  display: flex !important;
  align-items: center;
  gap: 10px !important;
  background: rgba(2,10,16,.72) !important;
}
.clean-product-caption span { display: none; }

.clean-location-card { padding: 26px; }
.clean-location-card .panel-heading { margin-bottom: 10px; }
.clean-location-card p { color: var(--muted); line-height: 1.7; margin: 0 0 18px; }
.clean-location-card .status-dot,
.location-orb,
.location-orb:before,
.location-orb:after,
.location-orb span { display: none !important; }

.locked-card-text-only {
  margin-top: 24px;
  padding: 22px;
  border-radius: 24px;
  border: 1px solid rgba(255,255,255,.1);
  background: rgba(255,255,255,.045);
  display: grid;
  gap: 16px;
}
.locked-card-text-only img { display: none !important; }
.locked-card-text-only h2 { margin: 0 0 8px; }
.locked-card-text-only p { margin: 0; color: var(--muted); line-height: 1.65; }
.compact-actions { margin-top: 0; }

.clean-offer-side p { color: var(--muted); line-height: 1.65; }
.clean-info-list div { align-items: center; }
.map-panel, .lux-map, .detail-map, .location-preview, .location-visual { display: none !important; }
@media (max-width: 760px) {
  .clean-single-product { transform: rotate(0deg); }
  .clean-product-caption { width: 100%; justify-content: center; }
}


/* === Digital card flip experience === */
.digital-card-experience {
  display: grid;
  grid-template-columns: minmax(320px, .88fr) minmax(360px, 1.12fr);
  gap: 34px;
  align-items: center;
}
.digital-card-copy { display: grid; gap: 22px; }
.digital-card-copy h1 { font-size: clamp(3rem, 6vw, 5.2rem); line-height: .95; margin: 0; }
.digital-card-lead { margin: 0; font-size: 1.08rem; line-height: 1.75; color: var(--muted-strong); max-width: 620px; }
.digital-feature-list { display: grid; gap: 14px; }
.digital-feature-item {
  display: grid;
  grid-template-columns: 58px 1fr;
  align-items: start;
  gap: 16px;
  padding: 18px;
}
.feature-icon-shell {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  border-radius: 18px;
  font-size: 1.5rem;
  color: var(--cyan);
  background: linear-gradient(180deg, rgba(0, 212, 216, 0.08), rgba(46, 141, 255, 0.04));
  border: 1px solid rgba(70,232,255,.18);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}
.digital-feature-item h3 { margin: 0 0 6px; font-size: 1.2rem; }
.digital-feature-item p { margin: 0; color: var(--muted); line-height: 1.68; }
.digital-action-row { display: flex; flex-wrap: wrap; gap: 14px; }

.digital-card-visual { display: grid; gap: 18px; justify-items: center; }
.flip-hint {
  width: fit-content;
  justify-self: end;
  padding: 12px 16px;
  border-radius: 999px;
  display: grid;
  gap: 3px;
}
.flip-hint span { color: var(--muted); font-size: .9rem; }
.flip-hint strong { color: var(--cyan); font-size: .95rem; }
.membership-flip-card {
  width: min(100%, 700px);
  perspective: 1800px;
}
.membership-flip-inner {
  position: relative;
  width: 100%;
  aspect-ratio: 1.28 / 1;
  transform-style: preserve-3d;
  transition: transform .9s cubic-bezier(.22,.61,.36,1);
}
.membership-flip-card:hover .membership-flip-inner,
.membership-flip-card.is-flipped .membership-flip-inner { transform: rotateY(180deg); }
.membership-face {
  position: absolute;
  inset: 0;
  backface-visibility: hidden;
  border-radius: 34px;
  overflow: hidden;
  border: 1px solid rgba(100, 239, 255, 0.28);
  box-shadow: 0 34px 110px rgba(0,0,0,.44), 0 0 34px rgba(0,212,216,.12);
  background: linear-gradient(160deg, rgba(5,18,28,.92), rgba(2,8,16,.98));
}
.membership-front img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.membership-back {
  transform: rotateY(180deg);
  padding: 22px 24px 20px;
  display: grid;
  grid-template-rows: 18px auto auto auto;
  gap: 18px;
}
.back-top-band {
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,.35), rgba(255,255,255,.08));
}
.back-body-grid {
  display: grid;
  grid-template-columns: 1fr 126px;
  gap: 18px;
  align-items: end;
}
.signature-area { display: grid; gap: 10px; }
.signature-area span,
.back-member-meta span,
.back-footer-grid span,
.qr-side small {
  font-size: .75rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(234, 244, 248, .74);
}
.signature-box {
  height: 54px;
  border-radius: 8px;
  background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(230,239,242,.8));
  border: 1px solid rgba(0,0,0,.08);
}
.signature-area small { color: var(--muted); }
.qr-side {
  display: grid;
  justify-items: center;
  gap: 10px;
}
.qr-side img {
  width: 102px;
  height: 102px;
  border-radius: 10px;
  background: #fff;
  padding: 8px;
}
.back-member-meta { display: grid; gap: 6px; }
.back-member-meta strong {
  font-size: clamp(1.1rem, 2.2vw, 1.65rem);
  letter-spacing: .08em;
  color: var(--white-metal);
}
.back-barcode-shell {
  background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(229,236,241,.9));
  border-radius: 10px;
  padding: 10px 12px;
}
.back-barcode-shell img { width: 100%; height: 70px; object-fit: contain; }
.back-footer-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}
.back-footer-grid div {
  display: grid;
  gap: 6px;
  padding: 12px 14px;
  border-radius: 16px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
}
.back-footer-grid strong { color: var(--text); font-size: .95rem; word-break: break-word; }
.digital-meta-strip {
  width: min(100%, 700px);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  padding: 18px;
}
.digital-meta-strip div { display: grid; gap: 6px; }
.digital-meta-strip span { color: var(--muted); font-size: .84rem; text-transform: uppercase; letter-spacing: .12em; }
.digital-meta-strip strong { color: var(--text); }

@media (max-width: 1040px) {
  .digital-card-experience { grid-template-columns: 1fr; }
  .flip-hint { justify-self: start; }
}
@media (max-width: 780px) {
  .membership-flip-card { width: 100%; }
  .membership-flip-inner { aspect-ratio: .98 / 1.18; }
  .membership-front img { object-fit: contain; }
  .back-body-grid { grid-template-columns: 1fr; }
  .qr-side { justify-items: start; }
  .back-footer-grid, .digital-meta-strip { grid-template-columns: 1fr; }
  .digital-card-copy h1 { font-size: clamp(2.5rem, 12vw, 4rem); }
  .digital-feature-item { grid-template-columns: 50px 1fr; }
}


/* === Dashboard/Profile/Digital card fixes === */
.customer-layout-clean {
  grid-template-columns: minmax(0, 1.45fr) minmax(320px, .7fr);
  align-items: start;
}
.customer-offers-panel { min-width: 0; }
.dashboard-side-stack { display: grid; gap: 22px; align-self: start; }
.profile-card-preview { display: grid; gap: 18px; }
.profile-card-art {
  padding: 12px;
  border-radius: 28px;
  border: 1px solid rgba(255,255,255,.1);
  background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(0,0,0,.18));
}
.profile-card-art img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 22px;
}
.profile-member-id { display: grid; gap: 6px; }
.profile-member-id span { color: var(--muted); }
.profile-member-id strong { color: var(--champagne); font-size: 1.55rem; }
.profile-card-note-block { margin-top: 22px; }

.membership-flip-card {
  width: min(100%, 680px);
  cursor: pointer;
}
.membership-flip-inner {
  aspect-ratio: 1.47 / 1;
}
.membership-face {
  border: 0;
  box-shadow: none;
  background: transparent;
}
.membership-front {
  overflow: visible;
}
.front-card-shell,
.membership-back {
  width: 100%;
  height: 100%;
  border-radius: 34px;
  overflow: hidden;
  border: 1px solid rgba(100, 239, 255, 0.28);
  box-shadow: 0 34px 110px rgba(0,0,0,.44), 0 0 34px rgba(0,212,216,.12);
}
.front-card-shell {
  background: rgba(4, 15, 22, .28);
}
.membership-front img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}
.membership-back {
  transform: rotateY(180deg);
  padding: 22px 24px 20px;
  display: grid;
  grid-template-rows: auto auto auto auto;
  gap: 18px;
  background: linear-gradient(160deg, rgba(5,18,28,.92), rgba(2,8,16,.98));
}
.back-top-band { display: none !important; }

@media (max-width: 1040px) {
  .customer-layout-clean,
  .profile-layout-grid,
  .digital-card-experience { grid-template-columns: 1fr; }
}
@media (max-width: 780px) {
  .membership-flip-inner { aspect-ratio: 1.47 / 1; }
}


/* === Hero product card replacement === */
.clean-single-product {
  width: min(620px, 100%);
  border-radius: 0;
  transform: rotate(0deg);
  box-shadow: none;
  filter: drop-shadow(0 34px 70px rgba(0,0,0,.45)) drop-shadow(0 0 28px rgba(56,232,255,.12));
}
.hero-card-clean-stage { width: min(620px, 100%); gap: 10px; }
.hero-product-clean { min-height: 520px; }
@media (max-width: 760px) {
  .clean-single-product { width: 100%; }
}


/* === Audit clean fix: visibility, clipping, header, hero === */
.brand { min-width: auto; gap: 0; }
.brand-img { display: none !important; }
.brand-text {
  display: inline-block;
  font-size: 1.35rem;
  line-height: 1;
  letter-spacing: -0.045em;
  white-space: nowrap;
}
.site-header { overflow: visible; }
.main-nav a, .btn { white-space: nowrap; }

.hero-card-clean-stage {
  width: min(620px, 100%) !important;
  min-height: 420px;
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 14px;
}
.clean-single-product {
  width: min(620px, 100%) !important;
  height: auto !important;
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  border-radius: 30px !important;
  transform: none !important;
  background: transparent !important;
  object-fit: contain !important;
  box-shadow: 0 34px 90px rgba(0,0,0,.42), 0 0 42px rgba(56,232,255,.16) !important;
  filter: none !important;
}
.hero-product-clean { overflow: visible !important; }
.hero-product-caption.clean-product-caption {
  max-width: 100%;
  position: relative;
  z-index: 3;
}

.selected-card-name {
  max-width: none !important;
  min-width: fit-content;
  overflow: visible !important;
  text-overflow: unset !important;
  white-space: nowrap !important;
}
.card-selector-header { flex-wrap: wrap; overflow: visible; }
.card-select-option { overflow: visible; }
.card-select-option img {
  object-fit: contain !important;
  background: rgba(3, 12, 18, .48);
}

.member-card-panel img,
.profile-card-art img,
.digital-card-large img,
.membership-front img {
  object-fit: contain !important;
  object-position: center center !important;
}

/* Make digital card front never crop its card image. */
.membership-front { overflow: visible !important; }
.front-card-shell {
  padding: 10px;
  background: rgba(5, 17, 24, .28) !important;
}
.front-card-shell img,
.membership-front img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
}
.membership-face { overflow: visible; }
.membership-back { overflow: hidden; }
.back-top-band { display: none !important; }

/* Prevent huge text/buttons clipping on smaller widths. */
.dashboard-hero { align-items: center; flex-wrap: wrap; }
.dashboard-hero h1 { word-break: normal; overflow-wrap: anywhere; }
.auth-panel, .glass-card, .offer-card, .pricing-card { overflow-wrap: anywhere; }

@media (max-width: 900px) {
  .site-header { grid-template-columns: auto auto; }
  .nav-actions { width: 100%; justify-content: flex-start; }
  .hero-card-clean-stage { min-height: auto; }
}
@media (max-width: 620px) {
  .brand-text { font-size: 1.1rem; }
  .selected-card-name { width: 100%; text-align: center; }
}


/* === Card-only visual audit fix === */
.membership-overlay,
.clean-membership-overlay,
.hero-product-caption.clean-product-caption,
.clean-product-caption,
.card-watermark-badge,
.preview-card-badge { display: none !important; }

.floating-preview,
.hero-card-clean-stage,
.profile-card-art,
.member-card-panel { overflow: visible !important; }

.floating-preview img,
.hero-single-card,
.clean-single-product,
.profile-card-art img,
.member-card-panel img,
.card-select-option img,
.card-choice-preview img,
.membership-front img {
  object-fit: contain !important;
  max-width: 100%;
}

.floating-preview {
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.floating-preview img {
  width: min(560px, 100%);
  border-radius: 26px;
  filter: drop-shadow(0 30px 70px rgba(0,0,0,.42));
}

.hero-card-clean-stage { gap: 0 !important; }
.clean-single-product,
.hero-single-card {
  border-radius: 26px;
  transform: none !important;
  box-shadow: 0 34px 90px rgba(0,0,0,.42), 0 0 34px rgba(56,232,255,.10) !important;
}

.card-select-option,
.card-choice-preview { min-width: 0; }
.card-select-option span,
.card-choice-label,
.selected-card-name,
.role-pill {
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  line-height: 1.25;
}

@media (max-width: 760px) {
  .floating-preview img,
  .clean-single-product,
  .hero-single-card { width: 100%; }
}


/* === OneSaver dynamic card system: selected plan + selected colour === */
.onesaver-card-art {
  --card-a: #00d4d8;
  --card-b: #004c57;
  --card-c: #03151d;
  --card-soft: rgba(0, 212, 216, .38);
  position: relative;
  width: 100%;
  aspect-ratio: 1.586 / 1;
  overflow: hidden;
  border-radius: 32px;
  isolation: isolate;
  color: #fff;
  background:
    radial-gradient(circle at 62% 22%, color-mix(in srgb, var(--card-a) 44%, transparent), transparent 42%),
    linear-gradient(130deg, color-mix(in srgb, var(--card-a) 24%, var(--card-c)) 0%, var(--card-c) 46%, color-mix(in srgb, var(--card-b) 70%, #000) 100%);
  border: 1px solid color-mix(in srgb, var(--card-a) 62%, rgba(255,255,255,.18));
  box-shadow:
    0 28px 86px rgba(0,0,0,.48),
    0 0 34px color-mix(in srgb, var(--card-a) 42%, transparent),
    inset 0 1px 0 rgba(255,255,255,.26);
}

.onesaver-card-art::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(115deg, transparent 0 36%, rgba(255,255,255,.12) 43%, transparent 52%),
    linear-gradient(180deg, rgba(255,255,255,.08), transparent 38%);
  opacity: .56;
  pointer-events: none;
  z-index: 2;
}

.onesaver-card-art::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: radial-gradient(rgba(255,255,255,.16) .55px, transparent .55px);
  background-size: 9px 9px;
  opacity: .07;
  mix-blend-mode: overlay;
  pointer-events: none;
  z-index: 2;
}

.card-edge-glow {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  box-shadow:
    inset 0 0 0 2px color-mix(in srgb, var(--card-a) 70%, rgba(255,255,255,.2)),
    inset 0 0 28px color-mix(in srgb, var(--card-a) 24%, transparent),
    0 0 24px color-mix(in srgb, var(--card-a) 34%, transparent);
  z-index: 5;
}

.card-logo-word {
  position: absolute;
  left: 8%;
  top: 17%;
  z-index: 6;
  font-size: clamp(1.55rem, 4vw, 3.1rem);
  font-weight: 900;
  letter-spacing: -.055em;
  color: #fff;
  text-shadow: 0 3px 16px rgba(0,0,0,.36);
}

.card-logo-word::before {
  content: "";
  display: inline-block;
  width: .7em;
  height: .7em;
  margin-right: .12em;
  border-radius: 50%;
  vertical-align: -.03em;
  border: .16em solid currentColor;
  border-right-color: transparent;
  box-shadow: inset 0 0 0 .07em rgba(255,255,255,.2);
}

.card-tier-label {
  position: absolute;
  right: 9%;
  bottom: 12%;
  z-index: 7;
  font-size: clamp(1.25rem, 2.7vw, 2.35rem);
  font-weight: 500;
  color: rgba(255,255,255,.94);
  text-shadow: 0 4px 18px rgba(0,0,0,.55);
  background: none !important;
  border: 0 !important;
  padding: 0 !important;
}

.card-abstract-shape {
  position: absolute;
  z-index: 1;
  pointer-events: none;
  opacity: .84;
  filter: drop-shadow(0 18px 28px rgba(0,0,0,.18));
}
.shape-one {
  width: 72%;
  height: 34%;
  left: 34%;
  top: 38%;
  transform: rotate(-48deg);
  border-radius: 0 40px 40px 0;
  background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--card-a) 76%, #fff), color-mix(in srgb, var(--card-b) 88%, #000));
}
.shape-two {
  width: 42%;
  height: 56%;
  right: -10%;
  top: 14%;
  clip-path: polygon(0 0, 100% 28%, 100% 100%, 0 73%);
  background: linear-gradient(180deg, color-mix(in srgb, var(--card-b) 60%, #fff), color-mix(in srgb, var(--card-c) 70%, #000));
}
.shape-three {
  width: 44%;
  height: 70%;
  left: -14%;
  bottom: -22%;
  transform: rotate(28deg);
  border-radius: 30px;
  background: linear-gradient(145deg, rgba(0,0,0,.48), transparent 72%);
}

.theme-teal { --card-a: #23e8ee; --card-b: #046b74; --card-c: #021522; --card-soft: rgba(35,232,238,.42); }
.theme-blue { --card-a: #2f8fff; --card-b: #063d83; --card-c: #031427; --card-soft: rgba(47,143,255,.42); }
.theme-purple { --card-a: #a85cff; --card-b: #4c188a; --card-c: #160622; --card-soft: rgba(168,92,255,.42); }
.theme-green { --card-a: #83e24d; --card-b: #2f761d; --card-c: #071c0b; --card-soft: rgba(131,226,77,.38); }
.theme-gold { --card-a: #ffc05c; --card-b: #8a5a13; --card-c: #1d1205; --card-soft: rgba(255,192,92,.38); }
.theme-orange { --card-a: #ff8a2e; --card-b: #a2450b; --card-c: #231004; --card-soft: rgba(255,138,46,.38); }
.theme-red { --card-a: #ff3e59; --card-b: #8c0e1d; --card-c: #230408; --card-soft: rgba(255,62,89,.38); }
.theme-pink { --card-a: #ff5ba8; --card-b: #a51664; --card-c: #250716; --card-soft: rgba(255,91,168,.38); }
.theme-black { --card-a: #c8d1d8; --card-b: #3a424a; --card-c: #030506; --card-soft: rgba(200,209,216,.24); }
.theme-holographic { --card-a: #a8fff4; --card-b: #9b6dff; --card-c: #101426; --card-soft: rgba(168,255,244,.36); }

.tier-standard .onesaver-card-art { filter: saturate(.94) contrast(.98); }
.tier-plus .onesaver-card-art { filter: saturate(1.08) contrast(1.04); }
.tier-family .onesaver-card-art .shape-three {
  background:
    radial-gradient(circle at 68% 24%, rgba(255,255,255,.16), transparent 18%),
    radial-gradient(circle at 58% 42%, rgba(255,255,255,.14), transparent 12%),
    radial-gradient(circle at 78% 50%, rgba(255,255,255,.11), transparent 15%),
    linear-gradient(145deg, rgba(0,0,0,.28), transparent 72%);
}

.hero-card-clean-stage {
  width: min(680px, 100%) !important;
  display: block !important;
}
.hero-dynamic-card {
  transform: rotate(-3deg);
  box-shadow:
    0 34px 95px rgba(0,0,0,.52),
    0 0 42px rgba(56,232,255,.14),
    inset 0 1px 0 rgba(255,255,255,.24);
}
.clean-product-caption,
.clean-membership-overlay,
.hero-product-caption,
.hero-product-badges,
.hero-card-clean-stage .badge,
.hero-card-clean-stage .status-pill {
  display: none !important;
}

.profile-card-art {
  padding: 12px !important;
  border-radius: 30px !important;
  border: 1px solid rgba(255,255,255,.1) !important;
  background: linear-gradient(180deg, rgba(255,255,255,.045), rgba(0,0,0,.18)) !important;
}
.profile-mini-card { border-radius: 24px; }
.profile-mini-card .card-logo-word { font-size: clamp(1.15rem, 2.2vw, 2rem); top: 22%; }
.profile-mini-card .card-tier-label { font-size: clamp(.9rem, 1.7vw, 1.35rem); }

.membership-flip-card {
  width: min(100%, 730px) !important;
  cursor: pointer;
  perspective: 1800px;
}
.membership-flip-inner {
  position: relative;
  width: 100%;
  aspect-ratio: 1.586 / 1 !important;
  transform-style: preserve-3d;
  transition: transform .82s cubic-bezier(.22,.61,.36,1);
}
.membership-flip-card:hover .membership-flip-inner,
.membership-flip-card.is-flipped .membership-flip-inner { transform: rotateY(180deg); }

.membership-face {
  position: absolute !important;
  inset: 0 !important;
  backface-visibility: hidden;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  overflow: visible !important;
  padding: 0 !important;
}
.membership-front .onesaver-card-art,
.membership-back .onesaver-card-art {
  width: 100%;
  height: 100%;
}
.membership-back { transform: rotateY(180deg) !important; }

.card-back-art {
  padding: 0;
  display: block;
}
.card-back-art .mag-strip {
  position: absolute;
  left: 0;
  right: 0;
  top: 15%;
  height: 17%;
  background: rgba(0,0,0,.72);
  z-index: 8;
}
.card-back-art .back-body-grid {
  position: absolute;
  left: 7%;
  right: 7%;
  top: 38%;
  z-index: 10;
  display: grid;
  grid-template-columns: 1fr 122px;
  gap: 22px;
  align-items: end;
}
.card-back-art .signature-area { display: grid; gap: 8px; }
.card-back-art .signature-area span,
.card-back-art .back-member-meta span,
.card-back-art .back-footer-grid span,
.card-back-art .qr-side small {
  font-size: .68rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(238,248,251,.78);
}
.card-back-art .signature-box {
  height: 52px;
  border-radius: 7px;
  background: linear-gradient(180deg, rgba(255,255,255,.94), rgba(229,238,242,.86));
  border: 1px solid rgba(0,0,0,.08);
}
.card-back-art .signature-area small { color: rgba(238,248,251,.68); }
.card-back-art .qr-side { display: grid; justify-items: center; gap: 8px; }
.card-back-art .qr-side img {
  width: 104px;
  height: 104px;
  border-radius: 10px;
  background: #fff;
  padding: 8px;
}
.card-back-art .back-member-meta {
  position: absolute;
  left: 7%;
  top: 66%;
  z-index: 10;
  display: grid;
  gap: 5px;
}
.card-back-art .back-member-meta strong {
  font-size: clamp(1.1rem, 2vw, 1.55rem);
  letter-spacing: .08em;
  color: var(--white-metal);
}
.card-back-art .back-barcode-shell {
  position: absolute;
  left: 7%;
  bottom: 10.5%;
  width: 52%;
  z-index: 10;
  background: linear-gradient(180deg, rgba(255,255,255,.97), rgba(229,236,241,.9));
  border-radius: 10px;
  padding: 9px 12px;
}
.card-back-art .back-barcode-shell img { width: 100%; height: 58px; object-fit: contain; }
.card-back-art .back-footer-grid {
  position: absolute;
  right: 7%;
  bottom: 10.5%;
  z-index: 10;
  display: grid;
  gap: 8px;
  width: 32%;
}
.card-back-art .back-footer-grid div {
  display: grid;
  gap: 4px;
  padding: 0;
  border: 0;
  background: transparent;
}
.card-back-art .back-footer-grid strong {
  color: var(--text);
  font-size: .9rem;
  word-break: break-word;
}
.back-top-band { display: none !important; }

.card-select-option .card-choice-preview img,
.public-card-grid img,
.card-selector-grid img {
  object-fit: contain !important;
  width: 100%;
  height: 100%;
  border-radius: 18px;
}
.selected-card-name,
.card-category-title small {
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: initial !important;
}

@media (max-width: 880px) {
  .hero-dynamic-card { transform: rotate(0deg); }
  .membership-flip-card { width: 100% !important; }
  .card-back-art .back-body-grid { grid-template-columns: 1fr 92px; gap: 12px; }
  .card-back-art .qr-side img { width: 82px; height: 82px; }
  .card-back-art .back-barcode-shell { width: 58%; }
  .card-back-art .back-footer-grid { display: none; }
}


/* === FIX: Digital card back layout - no overlaps === */
.membership-flip-card {
  width: min(100%, 760px) !important;
  max-width: 760px !important;
}

.membership-flip-inner {
  aspect-ratio: 1.586 / 1 !important;
}

.card-back-art {
  padding: 0 !important;
  overflow: hidden !important;
}

.card-back-art .mag-strip {
  top: 13% !important;
  height: 14% !important;
}

.card-back-art .back-body-grid {
  left: 7% !important;
  right: 7% !important;
  top: 33% !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 112px !important;
  gap: 26px !important;
  align-items: start !important;
}

.card-back-art .signature-area {
  min-width: 0 !important;
  display: grid !important;
  gap: 8px !important;
}

.card-back-art .signature-box {
  width: 100% !important;
  height: 44px !important;
  max-width: 420px !important;
}

.card-back-art .qr-side {
  justify-items: center !important;
  align-self: start !important;
}

.card-back-art .qr-side img {
  width: 94px !important;
  height: 94px !important;
  padding: 7px !important;
}

.card-back-art .back-member-meta {
  left: 7% !important;
  right: auto !important;
  top: 58% !important;
  width: 55% !important;
  z-index: 12 !important;
}

.card-back-art .back-member-meta strong {
  font-size: clamp(.92rem, 1.8vw, 1.32rem) !important;
  line-height: 1.1 !important;
  overflow-wrap: anywhere !important;
}

.card-back-art .back-barcode-shell {
  left: 7% !important;
  bottom: 13% !important;
  width: 50% !important;
  max-width: 390px !important;
  padding: 8px 10px !important;
  z-index: 12 !important;
}

.card-back-art .back-barcode-shell img {
  height: 44px !important;
  object-fit: contain !important;
}

.card-back-art .back-footer-grid {
  right: 7% !important;
  bottom: 13% !important;
  top: auto !important;
  width: 31% !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 8px !important;
  z-index: 12 !important;
}

.card-back-art .back-footer-grid div {
  display: grid !important;
  grid-template-columns: 64px 1fr !important;
  gap: 10px !important;
  align-items: baseline !important;
}

.card-back-art .back-footer-grid span,
.card-back-art .signature-area span,
.card-back-art .back-member-meta span,
.card-back-art .qr-side small {
  font-size: .58rem !important;
  letter-spacing: .14em !important;
  line-height: 1.15 !important;
}

.card-back-art .back-footer-grid strong {
  font-size: .78rem !important;
  line-height: 1.15 !important;
  word-break: normal !important;
  overflow-wrap: anywhere !important;
}

/* medium cards */
@media (max-width: 720px) {
  .card-back-art .back-body-grid {
    top: 31% !important;
    grid-template-columns: minmax(0, 1fr) 86px !important;
    gap: 14px !important;
  }

  .card-back-art .signature-box {
    height: 36px !important;
  }

  .card-back-art .qr-side img {
    width: 76px !important;
    height: 76px !important;
  }

  .card-back-art .back-member-meta {
    top: 57% !important;
    width: 58% !important;
  }

  .card-back-art .back-barcode-shell {
    bottom: 12% !important;
    width: 56% !important;
  }

  .card-back-art .back-footer-grid {
    bottom: 12% !important;
    width: 30% !important;
  }

  .card-back-art .back-footer-grid div {
    grid-template-columns: 1fr !important;
    gap: 2px !important;
  }

  .card-back-art .back-footer-grid strong {
    font-size: .68rem !important;
  }
}

/* very small mobile: hide compact footer to prevent any collision */
@media (max-width: 520px) {
  .card-back-art .mag-strip {
    top: 12% !important;
    height: 13% !important;
  }

  .card-back-art .back-body-grid {
    top: 31% !important;
    grid-template-columns: 1fr 68px !important;
    gap: 8px !important;
  }

  .card-back-art .signature-box {
    height: 31px !important;
  }

  .card-back-art .qr-side img {
    width: 58px !important;
    height: 58px !important;
    padding: 5px !important;
  }

  .card-back-art .qr-side small {
    display: none !important;
  }

  .card-back-art .back-member-meta {
    top: 57% !important;
    width: 86% !important;
  }

  .card-back-art .back-barcode-shell {
    left: 7% !important;
    right: 7% !important;
    bottom: 10% !important;
    width: auto !important;
    max-width: none !important;
  }

  .card-back-art .back-barcode-shell img {
    height: 34px !important;
  }

  .card-back-art .back-footer-grid {
    display: none !important;
  }
}

/* === FINAL PERMANENT WATERMARK REMOVAL ===
   Must remain at the absolute end of this stylesheet. */
.protected-watermark::before,
.protected-watermark::after,
[data-watermark]::before,
[data-watermark]::after,
body.os-capture-mask::before,
body.os-capture-mask::after,
body.os-print-block::before,
body.os-print-block::after {
  content: none !important;
  display: none !important;
  background: none !important;
  background-image: none !important;
}

body[data-screen-protect="on"],
body.os-privacy-blur,
body.os-capture-mask,
body.os-print-block,
.screen-protected,
[data-protected] {
  filter: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.support-message p {
  white-space: pre-line;
}

.support-topic-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width: 620px;
  margin-left: auto;
  margin-right: auto;
}

.support-topic-grid button {
  border-radius: 15px !important;
  min-height: 48px;
  text-align: left;
}

@media (max-width: 560px) {
  .support-topic-grid {
    grid-template-columns: 1fr;
  }
}

/* Customer dashboard: align side cards with the first offer row. */
.customer-layout-clean .dashboard-side-stack {
  padding-top: 42px !important;
}

.customer-layout-empty { grid-template-columns: 1fr; }
.customer-layout-empty .dashboard-side-stack { grid-template-columns: repeat(2,minmax(0,1fr)); padding-top: 0 !important; }
.dashboard-empty-state { grid-column: 1 / -1; min-height: 150px; padding: clamp(22px,3vw,34px); border: 1px dashed rgba(56,232,255,.28); border-radius: 24px; background: linear-gradient(135deg,rgba(56,232,255,.06),rgba(255,179,94,.055)); display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.dashboard-empty-state h3 { margin: 7px 0 6px; font-size: 1.35rem; }
.dashboard-empty-state p { max-width: 620px; margin: 0; color: var(--muted); line-height: 1.6; }
.dashboard-empty-state .btn { flex: 0 0 auto; }

@media (max-width: 900px) {
  .customer-layout-empty .dashboard-side-stack { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  .dashboard-empty-state { min-height: 0; align-items: flex-start; flex-direction: column; }
  .dashboard-empty-state .btn { width: 100%; }
}

@media (max-width: 900px) {
  .customer-layout-clean .dashboard-side-stack {
    padding-top: 0 !important;
  }
}

/* Screenshot watermark UI removed: membership cards stay clean. */
.protected-watermark::after,
body.os-capture-mask::before,
body.os-print-block::before {
  content: none !important;
  display: none !important;
}

/* Digital card barcode: use the full magnetic-strip-width area. */
.live-barcode-area {
  left: 7.5% !important;
  right: 7.5% !important;
  bottom: 7.5% !important;
  width: auto !important;
  padding: 8px 12px !important;
}

.live-barcode-area img {
  width: 100% !important;
  height: 52px !important;
  object-fit: fill !important;
}

.live-support-area {
  display: none !important;
}

/* Family tier: restrained premium light sweep without changing the artwork. */
.membership-image-flip-card.tier-family .membership-image-front::after {
  content: "";
  position: absolute;
  inset: -35%;
  pointer-events: none;
  background: linear-gradient(115deg, transparent 38%, rgba(255,255,255,.05) 45%, rgba(255,255,255,.25) 50%, rgba(255,255,255,.05) 55%, transparent 62%);
  transform: translateX(-65%) rotate(4deg);
  transition: transform 1.15s cubic-bezier(.22,.61,.36,1);
}

.membership-image-flip-card.tier-family:hover .membership-image-front::after {
  transform: translateX(65%) rotate(4deg);
}

.membership-image-flip-card.tier-family:hover {
  transform: translateY(-5px) rotateX(2deg) rotateY(-2deg);
  transition: transform .45s ease;
}

/* === Local Discover === */
.discover-page,.discover-detail-page{max-width:1500px;margin:0 auto}.discover-hero{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:30px}.discover-hero h1{font-size:clamp(2.5rem,5vw,5.4rem);max-width:900px;margin:12px 0}.discover-hero p{max-width:740px;color:var(--muted);font-size:1.08rem;line-height:1.8}.discover-hero-stat{display:grid;text-align:right}.discover-hero-stat strong{font-size:3rem;color:var(--champagne)}.discover-hero-stat span{color:var(--muted)}
.discover-map-shell{padding:18px;overflow:hidden}.discover-map-heading{display:flex;justify-content:space-between;align-items:center;padding:6px 6px 18px}.discover-map-heading>div{display:grid;grid-template-columns:auto 1fr;gap:3px 10px;align-items:center}.discover-map-heading small{grid-column:2;color:var(--muted)}.map-live-dot{width:11px;height:11px;border-radius:50%;background:var(--cyan);box-shadow:0 0 18px var(--cyan);grid-row:1/3}.discover-map,.business-location-map{height:560px;border-radius:24px;overflow:hidden;background:#091620}.discover-detail-map{height:390px;border-radius:20px;margin:18px 0}.leaflet-container{font-family:Inter,sans-serif}.leaflet-bar a{background:#0c1b25!important;color:#eafcff!important;border-color:rgba(255,255,255,.12)!important}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#091722;color:#eafcff}.os-map-popup{display:grid;gap:6px;min-width:190px}.os-map-popup span,.os-map-popup small{color:#9db5be}.os-map-popup b{color:#ffd79a}.os-map-popup a{color:#3be8ff;font-weight:800;margin-top:5px}
.discover-toolbar{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:54px 0 22px}.discover-toolbar h2{font-size:2rem;margin:0}.discover-toolbar p{color:var(--muted)}.discover-filter{display:flex;gap:8px;flex-wrap:wrap}.discover-filter button{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);color:var(--muted);border-radius:999px;padding:10px 16px;cursor:pointer}.discover-filter button.active{color:#061018;background:linear-gradient(135deg,var(--champagne),var(--cyan));font-weight:900}
.discover-feed{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.discover-card{border:1px solid rgba(255,255,255,.1);border-radius:26px;background:linear-gradient(180deg,rgba(13,28,39,.88),rgba(5,13,21,.9));overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.28);transition:.35s ease}.discover-card:hover{transform:translateY(-7px);border-color:rgba(59,232,255,.3)}.discover-banner{display:block;height:250px;position:relative;overflow:hidden}.discover-banner img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.discover-card:hover .discover-banner img{transform:scale(1.05)}.discover-banner span,.discover-banner strong{position:absolute;top:18px;border-radius:999px;padding:8px 12px;font-size:.78rem;font-weight:900}.discover-banner span{left:18px;background:rgba(3,12,19,.82);color:#eafcff}.discover-banner strong{right:18px;background:linear-gradient(135deg,#ffd39b,#3be8ff);color:#071017}.discover-card-body{padding:24px}.discover-business-line{display:flex;justify-content:space-between;gap:12px;color:var(--cyan);font-weight:800}.discover-business-line small{color:var(--muted);font-weight:600}.discover-card h3{font-size:1.45rem;margin:14px 0 9px}.discover-card p{color:var(--muted);line-height:1.7}.discover-card-actions{display:flex;justify-content:space-between;align-items:center;margin-top:20px}.discover-card-actions a,.discover-card-actions button{color:var(--champagne);font-weight:900;background:none;border:0;cursor:pointer}.discover-card-actions button{color:var(--cyan)}
.discover-detail-hero{display:grid;grid-template-columns:1.15fr 1fr;overflow:hidden;padding:0;margin:28px 0}.discover-detail-hero>img{width:100%;height:100%;min-height:480px;object-fit:contain;object-position:center;background:#091116}.discover-detail-hero>div{padding:clamp(30px,5vw,70px);align-self:center}.discover-detail-hero h1{font-size:clamp(2.4rem,4vw,4.6rem);margin:16px 0}.discover-detail-hero p{color:var(--muted);line-height:1.8}.discover-detail-meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:25px}.discover-detail-meta>*{padding:9px 13px;border-radius:999px;background:rgba(255,255,255,.06)}.discover-detail-meta strong{color:#071017;background:linear-gradient(135deg,var(--champagne),var(--cyan))}.discover-detail-grid{display:grid;grid-template-columns:1.5fr .75fr;gap:24px}.discover-detail-grid>.glass-card{padding:28px}.linked-discount{font-size:3.5rem;color:var(--champagne);font-weight:1000;margin:20px 0}.linked-offer-card p{color:var(--muted);line-height:1.7}.linked-offer-card .btn{margin-top:20px}
.location-picker-block{display:grid;gap:16px;margin:15px 0}.coordinate-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.business-updates-panel{margin-top:24px;padding:26px}.business-update-list{display:grid;gap:12px}.business-update-row{display:grid;grid-template-columns:90px 1fr auto;align-items:center;gap:16px;padding:12px;border-radius:16px;background:rgba(255,255,255,.035)}.business-update-row img{width:90px;height:62px;object-fit:cover;border-radius:12px}.business-update-row>div{display:grid;gap:4px}.business-update-row span{color:var(--muted)}
@media(max-width:1050px){.discover-feed{grid-template-columns:repeat(2,minmax(0,1fr))}.discover-detail-hero,.discover-detail-grid{grid-template-columns:1fr}.discover-detail-hero>img{min-height:360px}.discover-map,.business-location-map{height:480px}}
@media(max-width:680px){.discover-hero,.discover-toolbar,.discover-map-heading{align-items:stretch;flex-direction:column}.discover-hero-stat{text-align:left}.discover-feed{grid-template-columns:1fr}.discover-banner{height:220px}.discover-map,.business-location-map{height:420px}.coordinate-row{grid-template-columns:1fr}.discover-business-line{display:grid}.business-update-row{grid-template-columns:70px 1fr}.business-update-row img{width:70px}.business-update-row>.table-status{grid-column:2}}
@media(max-width:680px){.business-identity-fields{grid-template-columns:1fr}.business-identity-fields .btn{width:100%}}
.publishing-status-note{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:16px 18px;border-radius:18px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04)}.publishing-status-note strong{text-transform:none}.publishing-status-note span,.panel-note{color:var(--muted);font-size:.9rem}.trust-verified{color:#bfffea!important;border-color:rgba(70,255,187,.28)!important;background:rgba(70,255,187,.1)!important}.trust-trusted{color:#bcefff!important;border-color:rgba(59,232,255,.28)!important;background:rgba(59,232,255,.1)!important}.trust-review_required{color:#ffe0ad!important;border-color:rgba(255,190,94,.3)!important;background:rgba(255,190,94,.1)!important}.os-map-popup .popup-directions{color:#ffd79a}


/* === FINAL image-based membership card system === */
.image-hero-card-stage { width: min(680px, 100%) !important; display: grid !important; place-items: center; }
.hero-image-card { width: 100%; max-width: 680px; border-radius: 26px; filter: drop-shadow(0 34px 80px rgba(0,0,0,.46)) drop-shadow(0 0 24px rgba(56,232,255,.14)); transform: rotate(-2deg); }
.clean-product-caption, .hero-product-caption, .hero-product-badges, .clean-membership-overlay { display:none !important; }

.image-card-experience { grid-template-columns: minmax(320px, .82fr) minmax(420px, 1.18fr) !important; align-items: center; }
.image-card-visual { display:grid; gap:18px; justify-items:center; }
.membership-image-flip-card { width:min(100%, 760px); perspective:1800px; cursor:pointer; }
.membership-image-flip-inner { position:relative; width:100%; aspect-ratio: 1.95 / 1; transform-style:preserve-3d; transition: transform .82s cubic-bezier(.22,.61,.36,1); }
.membership-image-flip-card:hover .membership-image-flip-inner, .membership-image-flip-card.is-flipped .membership-image-flip-inner { transform: rotateY(180deg); }
.membership-image-face { position:absolute; inset:0; backface-visibility:hidden; display:grid; place-items:center; overflow:visible; }
.membership-image-back { transform: rotateY(180deg); }
.membership-image-face img { width:100%; height:100%; object-fit:contain; border-radius:22px; filter: drop-shadow(0 28px 70px rgba(0,0,0,.44)) drop-shadow(0 0 22px rgba(56,232,255,.10)); }

.image-profile-card-art { padding:10px !important; border-radius:26px !important; border:1px solid rgba(255,255,255,.10) !important; background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(0,0,0,.20)) !important; }
.image-profile-card-art img { width:100%; height:auto; object-fit:contain; border-radius:18px; filter: drop-shadow(0 18px 42px rgba(0,0,0,.36)); }
.profile-member-id strong { overflow-wrap:anywhere; }

/* Hide any older CSS-generated card art that might remain on old pages */
.onesaver-card-art:not(.profile-mini-card):not(.hero-dynamic-card) { }
.card-front-art, .card-back-art { }

@media (max-width: 1040px){ .image-card-experience{grid-template-columns:1fr !important;} .hero-image-card{transform:rotate(0deg);} }
@media (max-width: 620px){ .membership-image-flip-inner{aspect-ratio:1.75/1;} .membership-image-face img{border-radius:16px;} }


/* === Final card system cleanup: uniform assets, clean digital page, signature === */
.digital-card-clean-page .image-card-experience {
  grid-template-columns: minmax(320px, .78fr) minmax(520px, 1.22fr) !important;
  gap: 42px !important;
  align-items: center !important;
}

.digital-card-clean-page .digital-card-copy {
  max-width: 560px;
}

.digital-card-clean-page .digital-feature-list {
  gap: 14px;
}

.signature-card-form {
  display: grid;
  gap: 14px;
  padding: 18px;
}

.signature-card-form h3 {
  margin: 0 0 4px;
}

.signature-card-form p {
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
}

.signature-card-form label {
  display: grid;
  gap: 8px;
  color: var(--muted-strong);
  font-weight: 800;
}

.signature-card-form input {
  width: 100%;
  border-radius: 16px;
  border: 1px solid var(--line);
  background: rgba(0,0,0,.28);
  color: var(--text);
  padding: 13px 14px;
  outline: none;
}

.image-card-visual {
  align-items: center !important;
  justify-items: center !important;
  gap: 18px !important;
}

.membership-image-flip-card {
  width: min(100%, 820px) !important;
  max-width: 820px !important;
  perspective: 1800px !important;
  cursor: pointer;
}

.membership-image-flip-inner {
  position: relative !important;
  width: 100% !important;
  aspect-ratio: 1.586 / 1 !important;
  transform-style: preserve-3d !important;
  transition: transform .82s cubic-bezier(.22,.61,.36,1) !important;
}

.membership-image-flip-card:hover .membership-image-flip-inner,
.membership-image-flip-card.is-flipped .membership-image-flip-inner {
  transform: rotateY(180deg) !important;
}

.membership-image-face {
  position: absolute !important;
  inset: 0 !important;
  backface-visibility: hidden !important;
  display: block !important;
  overflow: visible !important;
}

.membership-image-back {
  transform: rotateY(180deg) !important;
}

.membership-image-face > img,
.live-card-back {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  border-radius: 32px !important;
  filter: drop-shadow(0 34px 90px rgba(0,0,0,.48)) drop-shadow(0 0 24px rgba(56,232,255,.10)) !important;
}

.membership-image-face > img {
  object-fit: contain !important;
}

.live-card-back {
  position: relative;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% 100%;
  overflow: hidden;
}

.live-signature-area {
  position: absolute;
  left: 7.5%;
  top: 36%;
  width: 50%;
  display: grid;
  gap: 8px;
}

.live-signature-area span,
.live-number-area span,
.live-support-area span,
.live-qr-area small {
  color: rgba(238,248,251,.78);
  font-size: .72rem;
  line-height: 1.1;
  text-transform: uppercase;
  letter-spacing: .17em;
  font-weight: 800;
}

.live-signature-box {
  min-height: 58px;
  border-radius: 9px;
  background: linear-gradient(180deg, rgba(255,255,255,.95), rgba(230,238,242,.88));
  color: #0b1620;
  display: flex;
  align-items: center;
  padding: 0 22px;
  font-family: "Segoe Script", "Brush Script MT", cursive;
  font-size: clamp(1rem, 2.1vw, 1.85rem);
  line-height: 1;
  overflow: hidden;
  white-space: nowrap;
}

.live-signature-area small {
  color: rgba(238,248,251,.68);
  font-size: .75rem;
}

.live-qr-area {
  position: absolute;
  right: 10%;
  top: 36.5%;
  width: 15%;
  display: grid;
  justify-items: center;
  gap: 8px;
}

.live-qr-area img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: contain;
  background: #fff;
  padding: 8px;
  border-radius: 11px;
}

.live-number-area {
  position: absolute;
  left: 7.5%;
  top: 62%;
  width: 58%;
  display: grid;
  gap: 6px;
}

.live-number-area strong {
  color: var(--white-metal);
  font-size: clamp(1rem, 2.1vw, 1.6rem);
  letter-spacing: .08em;
  overflow-wrap: anywhere;
  line-height: 1.1;
}

.live-barcode-area {
  position: absolute;
  left: 7.5%;
  bottom: 12%;
  width: 52%;
  border-radius: 10px;
  background: linear-gradient(180deg, rgba(255,255,255,.97), rgba(229,236,241,.92));
  padding: 10px 13px;
}

.live-barcode-area img {
  width: 100%;
  height: 58px;
  object-fit: contain;
  display: block;
}

.live-support-area {
  position: absolute;
  right: 9%;
  bottom: 12.5%;
  width: 29%;
  display: grid;
  gap: 6px;
}

.live-support-area strong {
  color: var(--text);
  font-size: clamp(.78rem, 1.15vw, .98rem);
  overflow-wrap: anywhere;
}

.card-meta-clean {
  position: static !important;
  width: min(100%, 820px) !important;
  margin: 0 !important;
  transform: none !important;
  z-index: auto !important;
  border-radius: 22px !important;
  background: linear-gradient(180deg, rgba(7,17,24,.86), rgba(6,12,18,.74)) !important;
  backdrop-filter: blur(18px) !important;
}

.card-meta-clean div {
  min-width: 0;
}

.card-meta-clean strong {
  overflow-wrap: anywhere;
}

/* Profile: keep savings only here, card preview same ratio and clean */
.image-profile-card-art {
  padding: 12px !important;
  border-radius: 30px !important;
}

.image-profile-card-art img {
  width: 100% !important;
  aspect-ratio: 1.586 / 1 !important;
  object-fit: contain !important;
  border-radius: 24px !important;
  display: block;
  filter: drop-shadow(0 20px 50px rgba(0,0,0,.42)) !important;
}

.profile-card-preview .savings-strip {
  margin-top: 4px;
}

/* Homepage hero: one clean image, no badges/captions */
.image-hero-card-stage {
  width: min(760px, 100%) !important;
  display: grid !important;
  place-items: center !important;
}

.hero-image-card-large,
.hero-image-card {
  width: 100% !important;
  max-width: 760px !important;
  aspect-ratio: 1.586 / 1 !important;
  object-fit: contain !important;
  border-radius: 32px !important;
  transform: rotate(-2deg) !important;
  filter: drop-shadow(0 34px 90px rgba(0,0,0,.48)) drop-shadow(0 0 28px rgba(56,232,255,.12)) !important;
}

.clean-product-caption,
.clean-membership-overlay,
.hero-product-caption,
.hero-product-badges {
  display: none !important;
}

@media (max-width: 1040px) {
  .digital-card-clean-page .image-card-experience {
    grid-template-columns: 1fr !important;
  }
  .digital-card-clean-page .digital-card-copy {
    max-width: none;
  }
}

@media (max-width: 680px) {
  .membership-image-flip-card,
  .card-meta-clean {
    width: 100% !important;
  }

  .live-signature-area {
    top: 34%;
    width: 52%;
  }

  .live-signature-box {
    min-height: 38px;
    padding: 0 12px;
    font-size: .95rem;
  }

  .live-qr-area {
    right: 8%;
    top: 36%;
    width: 16%;
  }

  .live-qr-area img {
    padding: 5px;
    border-radius: 8px;
  }

  .live-number-area {
    top: 60%;
    width: 80%;
  }

  .live-number-area strong {
    font-size: .92rem;
  }

  .live-barcode-area {
    width: 58%;
    bottom: 10%;
    padding: 7px 9px;
  }

  .live-barcode-area img {
    height: 36px;
  }

  .live-support-area {
    display: none;
  }

  .live-signature-area span,
  .live-number-area span,
  .live-qr-area small {
    font-size: .48rem;
  }

  .card-meta-clean {
    grid-template-columns: 1fr !important;
  }
}


/* === Micro-fix: back card spacing, no barcode/member-number collision === */
.live-signature-area {
  top: 34.5% !important;
  width: 50% !important;
}

.live-signature-box {
  min-height: 50px !important;
}

.live-number-area {
  top: 59.5% !important;
  width: 56% !important;
  z-index: 20 !important;
}

.live-number-area span {
  font-size: .68rem !important;
  letter-spacing: .16em !important;
}

.live-number-area strong {
  font-size: clamp(.9rem, 1.55vw, 1.28rem) !important;
  line-height: 1.05 !important;
  letter-spacing: .06em !important;
  display: block !important;
  max-width: 100% !important;
}

.live-barcode-area {
  left: 7.5% !important;
  bottom: 8.5% !important;
  width: 52% !important;
  padding: 9px 12px !important;
  z-index: 18 !important;
  border-radius: 9px !important;
}

.live-barcode-area img {
  height: 48px !important;
}

.live-qr-area {
  top: 35.5% !important;
  right: 10% !important;
  width: 15% !important;
}

.live-support-area {
  right: 8.5% !important;
  bottom: 10.5% !important;
  width: 30% !important;
}

.live-support-area strong {
  font-size: clamp(.72rem, 1vw, .9rem) !important;
  line-height: 1.15 !important;
}

/* Keep enough breathing room on laptop widths */
@media (max-width: 900px) {
  .live-number-area {
    top: 58.5% !important;
    width: 58% !important;
  }

  .live-number-area strong {
    font-size: .86rem !important;
  }

  .live-barcode-area {
    bottom: 8% !important;
    width: 55% !important;
  }

  .live-barcode-area img {
    height: 42px !important;
  }
}

/* Small mobile: simplify right side first, never overlap */
@media (max-width: 620px) {
  .live-signature-area {
    top: 33% !important;
    width: 53% !important;
  }

  .live-signature-box {
    min-height: 34px !important;
  }

  .live-number-area {
    top: 57.5% !important;
    width: 82% !important;
  }

  .live-number-area strong {
    font-size: .78rem !important;
  }

  .live-barcode-area {
    left: 7.5% !important;
    right: 7.5% !important;
    bottom: 8% !important;
    width: auto !important;
  }

  .live-barcode-area img {
    height: 32px !important;
  }

  .live-support-area {
    display: none !important;
  }
}


/* === Fix profile card preview: no double-card frame; Family Blue uses blue asset === */
.profile-card-preview .image-profile-card-art,
.profile-card-preview .profile-card-art {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 26px !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.profile-card-preview .image-profile-card-art img {
  width: 100% !important;
  aspect-ratio: 1.586 / 1 !important;
  object-fit: contain !important;
  border-radius: 26px !important;
  display: block !important;
  filter: drop-shadow(0 22px 54px rgba(0,0,0,.44)) drop-shadow(0 0 18px rgba(56,232,255,.10)) !important;
}

/* Card preview block itself remains premium, but image is only one card */
.profile-card-preview {
  overflow: visible !important;
}

/* Keep digital card front/back consistently sized */
.membership-image-face > img,
.live-card-back {
  object-fit: contain !important;
  border-radius: 32px !important;
}


/* === MAIN FIX: clean front-card selection grids, no photo backgrounds === */
.card-category-block {
  padding: 24px !important;
  border-radius: 28px !important;
  background: linear-gradient(180deg, rgba(10,26,40,.68), rgba(5,13,22,.76)) !important;
  border: 1px solid rgba(130,220,245,.14) !important;
  box-shadow: 0 28px 90px rgba(0,0,0,.28) !important;
}

.public-card-grid,
.card-selector-grid {
  gap: 18px !important;
}

.public-card-grid.category-standard,
.public-card-grid.category-family {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.public-card-grid.category-plus {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
}

.card-choice-preview,
.card-select-option {
  display: grid !important;
  place-items: center !important;
  min-height: 142px !important;
  padding: 14px !important;
  border-radius: 20px !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(255,255,255,.07), transparent 60%),
    rgba(255,255,255,.028) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  overflow: visible !important;
}

.card-choice-preview img,
.card-select-option img {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  aspect-ratio: 1.586 / 1 !important;
  object-fit: contain !important;
  border-radius: 16px !important;
  background: transparent !important;
  filter: drop-shadow(0 16px 34px rgba(0,0,0,.36)) drop-shadow(0 0 14px rgba(56,232,255,.08)) !important;
}

.card-choice-preview:hover,
.card-select-option:hover {
  transform: translateY(-5px) !important;
  border-color: rgba(56,232,255,.42) !important;
  box-shadow: 0 20px 58px rgba(0,0,0,.33), 0 0 28px rgba(56,232,255,.12) !important;
}

.card-select-option.selected {
  border-color: rgba(56,232,255,.86) !important;
  box-shadow: 0 0 0 2px rgba(56,232,255,.20), 0 0 38px rgba(56,232,255,.18) !important;
}

.card-select-option.selected::after {
  content: "✓";
  position: absolute;
  left: 11px;
  top: 10px;
  width: 25px;
  height: 25px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, #eaffff, #42e8ff);
  color: #07151b;
  font-weight: 1000;
  z-index: 3;
}

.category-standard .card-choice-preview,
.category-plus .card-choice-preview,
.category-family .card-choice-preview {
  aspect-ratio: auto !important;
}

.card-selector-grid.standard-only-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  max-height: none !important;
}

.card-selector-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  max-height: none !important;
  overflow: visible !important;
}

.upgrade-card-group .card-selector-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
}

.floating-preview {
  padding: 0 !important;
  border-radius: 30px !important;
}

.floating-preview img,
.hero-image-card-large,
.hero-image-card {
  object-fit: contain !important;
  aspect-ratio: 1.586 / 1 !important;
  background: transparent !important;
}

.image-profile-card-art img,
.membership-image-face > img {
  object-fit: contain !important;
  aspect-ratio: 1.586 / 1 !important;
}

.selected-card-name {
  min-width: fit-content !important;
  max-width: 100% !important;
  white-space: normal !important;
}

/* Make Plus/Family upgrade selector visually closer to the new card dashboard concept */
.upgrade-card-group {
  padding: 18px !important;
  border-radius: 24px !important;
  background: rgba(255,255,255,.025) !important;
  border: 1px solid rgba(255,255,255,.09) !important;
  margin-top: 18px !important;
}

.upgrade-card-group:not(.active) {
  display: none !important;
}

@media (max-width: 1080px) {
  .public-card-grid.category-plus,
  .card-selector-grid,
  .upgrade-card-group .card-selector-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 760px) {
  .public-card-grid.category-standard,
  .public-card-grid.category-plus,
  .public-card-grid.category-family,
  .card-selector-grid,
  .card-selector-grid.standard-only-grid,
  .upgrade-card-group .card-selector-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .card-choice-preview,
  .card-select-option {
    min-height: 118px !important;
    padding: 10px !important;
  }
}

@media (max-width: 480px) {
  .public-card-grid.category-standard,
  .public-card-grid.category-plus,
  .public-card-grid.category-family,
  .card-selector-grid,
  .card-selector-grid.standard-only-grid,
  .upgrade-card-group .card-selector-grid {
    grid-template-columns: 1fr !important;
  }
}


/* === Hero card removed: no more floating broken card mockup === */
.hero-no-card {
  min-height: 420px !important;
  display: grid !important;
  place-items: center !important;
}

.hero-proof-panel {
  width: min(100%, 560px);
  padding: clamp(24px, 4vw, 38px);
  border-radius: 34px;
  background:
    radial-gradient(circle at 78% 18%, rgba(56,232,255,.13), transparent 42%),
    linear-gradient(180deg, rgba(11,28,38,.74), rgba(4,13,20,.84));
  border: 1px solid rgba(255,255,255,.11);
  box-shadow: 0 32px 90px rgba(0,0,0,.34);
}

.hero-proof-panel h2 {
  margin: 10px 0 12px;
  font-size: clamp(2.1rem, 4vw, 3.75rem);
  line-height: .98;
  letter-spacing: -.065em;
}

.hero-proof-panel p {
  color: var(--muted-strong);
  line-height: 1.75;
  margin: 0 0 22px;
}

.hero-proof-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}

.hero-proof-grid div {
  padding: 14px;
  border-radius: 18px;
  background: rgba(0,0,0,.22);
  border: 1px solid rgba(255,255,255,.08);
  display: grid;
  gap: 5px;
}

.hero-proof-grid strong {
  color: var(--white-metal);
  font-size: 1.05rem;
}

.hero-proof-grid span {
  color: var(--muted);
  font-size: .86rem;
}

/* Ensure old hero image/card classes stay hidden even if browser cache keeps markup briefly */
.hero-card-clean-stage,
.image-hero-card-stage,
.hero-single-card,
.clean-single-product,
.hero-image-card,
.hero-image-card-large,
.clean-product-caption,
.clean-membership-overlay,
.hero-product-caption,
.hero-product-badges {
  display: none !important;
}

@media (max-width: 720px) {
  .hero-no-card { min-height: auto !important; }
  .hero-proof-grid { grid-template-columns: 1fr; }
}


/* === EXACT REFERENCE CARD IMAGES: do not regenerate/distort === */
.card-choice-preview,
.card-select-option {
  min-height: 0 !important;
  padding: 16px !important;
  border-radius: 22px !important;
  display: grid !important;
  place-items: center !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(255,255,255,.075), transparent 58%),
    rgba(255,255,255,.032) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  overflow: visible !important;
}

.card-choice-preview img,
.card-select-option img {
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  border-radius: 16px !important;
  background: transparent !important;
  filter: drop-shadow(0 18px 34px rgba(0,0,0,.38)) drop-shadow(0 0 14px rgba(56,232,255,.08)) !important;
}

/* grid uses actual image look like the references */
.public-card-grid.category-standard {
  grid-template-columns: repeat(2, minmax(280px, 1fr)) !important;
  gap: 22px !important;
}
.public-card-grid.category-plus {
  grid-template-columns: repeat(5, minmax(150px, 1fr)) !important;
  gap: 18px !important;
}
.public-card-grid.category-family {
  grid-template-columns: repeat(2, minmax(300px, 1fr)) !important;
  gap: 24px !important;
}

/* app form selectors */
.card-selector-grid.standard-only-grid {
  grid-template-columns: repeat(2, minmax(240px, 1fr)) !important;
}
.upgrade-card-group .card-selector-grid {
  grid-template-columns: repeat(5, minmax(150px, 1fr)) !important;
}
.upgrade-card-group[data-plan-group="family"] .card-selector-grid {
  grid-template-columns: repeat(2, minmax(280px, 1fr)) !important;
}

/* no forced credit-card ratio anywhere for exact reference front images */
.floating-preview img,
.image-profile-card-art img,
.membership-image-face > img {
  aspect-ratio: auto !important;
  object-fit: contain !important;
  width: 100% !important;
  height: auto !important;
}

/* Digital card front can use exact chosen image without stretching */
.membership-image-front {
  display: grid !important;
  place-items: center !important;
}
.membership-image-front img {
  max-width: 100% !important;
  max-height: 100% !important;
  border-radius: 24px !important;
}

/* Keep back card stable even if front reference image has a different natural ratio */
.membership-image-flip-card {
  width: min(100%, 820px) !important;
}
.membership-image-flip-inner {
  aspect-ratio: 1.586 / 1 !important;
}

@media (max-width: 1120px) {
  .public-card-grid.category-plus,
  .upgrade-card-group .card-selector-grid {
    grid-template-columns: repeat(3, minmax(160px, 1fr)) !important;
  }
}
@media (max-width: 760px) {
  .public-card-grid.category-standard,
  .public-card-grid.category-plus,
  .public-card-grid.category-family,
  .card-selector-grid.standard-only-grid,
  .upgrade-card-group .card-selector-grid,
  .upgrade-card-group[data-plan-group="family"] .card-selector-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .card-choice-preview,
  .card-select-option { padding: 10px !important; }
}
@media (max-width: 520px) {
  .public-card-grid.category-standard,
  .public-card-grid.category-plus,
  .public-card-grid.category-family,
  .card-selector-grid.standard-only-grid,
  .upgrade-card-group .card-selector-grid,
  .upgrade-card-group[data-plan-group="family"] .card-selector-grid {
    grid-template-columns: 1fr !important;
  }
}


/* === FINAL: exact card images + exact reference layout === */
/* Stop old forced 4-column / stretched-card overrides from earlier builds. */
.public-card-grid.category-plus {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 18px !important;
}
.public-card-grid.category-standard,
.public-card-grid.category-family {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 24px !important;
}

.card-category-block {
  padding: 24px !important;
  border-radius: 28px !important;
  background: linear-gradient(180deg, rgba(10,26,40,.68), rgba(5,13,22,.76)) !important;
  border: 1px solid rgba(130,220,245,.14) !important;
  box-shadow: 0 28px 90px rgba(0,0,0,.28) !important;
}

.public-card-grid .card-choice-preview,
.card-selector-grid .card-select-option {
  min-height: 0 !important;
  padding: 14px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 20px !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(255,255,255,.075), transparent 58%),
    rgba(255,255,255,.032) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  overflow: visible !important;
  aspect-ratio: auto !important;
}

.public-card-grid .card-choice-preview img,
.card-selector-grid .card-select-option img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  border-radius: 18px !important;
  background: transparent !important;
  filter: drop-shadow(0 18px 34px rgba(0,0,0,.38)) drop-shadow(0 0 14px rgba(56,232,255,.08)) !important;
}

/* Plus cards are naturally smaller in the reference panel, so padding stays tight. */
.public-card-grid.category-plus .card-choice-preview,
.upgrade-card-group[data-plan-group="plus"] .card-select-option {
  padding: 8px !important;
}

/* Standard and Family reference cards are larger panels. */
.public-card-grid.category-standard .card-choice-preview,
.public-card-grid.category-family .card-choice-preview,
.upgrade-card-group[data-plan-group="family"] .card-select-option,
.card-selector-grid.standard-only-grid .card-select-option {
  padding: 16px !important;
}

/* Form/register/upgrade selectors */
.card-selector-grid.standard-only-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  max-height: none !important;
  overflow: visible !important;
}
.upgrade-card-group[data-plan-group="plus"] .card-selector-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
}
.upgrade-card-group[data-plan-group="family"] .card-selector-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
.upgrade-card-group:not(.active) { display: none !important; }

/* Digital/profile cards must not be cropped either */
.floating-preview img,
.image-profile-card-art img,
.membership-image-face > img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  background: transparent !important;
}

.membership-image-front {
  display: grid !important;
  place-items: center !important;
}
.membership-image-front img {
  max-width: 100% !important;
  max-height: 100% !important;
}

/* keep back side stable */
.membership-image-flip-inner {
  aspect-ratio: 1.586 / 1 !important;
}

@media (max-width: 1120px) {
  .public-card-grid.category-plus,
  .upgrade-card-group[data-plan-group="plus"] .card-selector-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 760px) {
  .public-card-grid.category-plus,
  .public-card-grid.category-standard,
  .public-card-grid.category-family,
  .card-selector-grid.standard-only-grid,
  .upgrade-card-group[data-plan-group="plus"] .card-selector-grid,
  .upgrade-card-group[data-plan-group="family"] .card-selector-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 520px) {
  .public-card-grid.category-plus,
  .public-card-grid.category-standard,
  .public-card-grid.category-family,
  .card-selector-grid.standard-only-grid,
  .upgrade-card-group[data-plan-group="plus"] .card-selector-grid,
  .upgrade-card-group[data-plan-group="family"] .card-selector-grid {
    grid-template-columns: 1fr !important;
  }
}


/* === UNIFORM CARD SIZE FIX === */
.card-category-stack {
  display: flex !important;
  flex-direction: column !important;
  gap: 34px !important;
}

.public-card-grid,
.card-selector-grid {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 20px !important;
  align-items: flex-start !important;
}

.public-card-grid.category-standard,
.public-card-grid.category-plus,
.public-card-grid.category-family,
.card-selector-grid.standard-only-grid,
.upgrade-card-group[data-plan-group="plus"] .card-selector-grid,
.upgrade-card-group[data-plan-group="family"] .card-selector-grid {
  grid-template-columns: none !important;
}

.public-card-grid .card-choice-preview,
.card-selector-grid .card-select-option {
  flex: 0 0 222px !important;
  width: 222px !important;
  min-width: 222px !important;
  max-width: 222px !important;
  padding: 10px !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.02)) !important;
}

.public-card-grid .card-choice-preview img,
.card-selector-grid .card-select-option img {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  display: block !important;
  border-radius: 14px !important;
  object-fit: contain !important;
}

/* keep every website card visually same footprint */
.public-card-grid.category-standard .card-choice-preview,
.public-card-grid.category-plus .card-choice-preview,
.public-card-grid.category-family .card-choice-preview,
.card-selector-grid.standard-only-grid .card-select-option,
.upgrade-card-group[data-plan-group="plus"] .card-select-option,
.upgrade-card-group[data-plan-group="family"] .card-select-option {
  aspect-ratio: 1.58 / 1 !important;
}

@media (max-width: 1260px) {
  .public-card-grid .card-choice-preview,
  .card-selector-grid .card-select-option {
    flex-basis: 210px !important;
    width: 210px !important;
    min-width: 210px !important;
    max-width: 210px !important;
  }
}

@media (max-width: 900px) {
  .public-card-grid .card-choice-preview,
  .card-selector-grid .card-select-option {
    flex-basis: calc(50% - 10px) !important;
    width: calc(50% - 10px) !important;
    min-width: calc(50% - 10px) !important;
    max-width: calc(50% - 10px) !important;
  }
}

@media (max-width: 560px) {
  .public-card-grid .card-choice-preview,
  .card-selector-grid .card-select-option {
    flex-basis: 100% !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
  }
}

/* === Security system UI === */
.card-security-banner,
.card-status-panel,
.security-note-box {
  border: 1px solid rgba(56,232,255,.18);
  background: linear-gradient(180deg, rgba(4,27,35,.72), rgba(3,13,22,.78));
  border-radius: 18px;
  padding: 14px 16px;
  display: grid;
  gap: 6px;
}

.card-security-banner strong,
.card-status-panel strong,
.security-note-box strong { color: var(--white-metal); }

.card-security-banner span,
.security-note-box span { color: var(--muted-strong); }

.card-security-banner.status-lost,
.card-security-banner.status-frozen,
.card-status-panel.status-lost,
.card-status-panel.status-frozen {
  border-color: rgba(255,163,92,.42);
  background: linear-gradient(180deg, rgba(82,38,10,.42), rgba(9,14,22,.82));
}

.card-status-panel {
  grid-template-columns: repeat(3, 1fr);
  margin-top: 12px;
}

.card-status-panel div {
  display: grid;
  gap: 4px;
}

.card-status-panel span {
  color: var(--muted);
  font-size: .82rem;
  text-transform: uppercase;
  letter-spacing: .06em;
}

.profile-actions-row form,
.actions-cell form {
  margin: 0;
}

.management-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  min-width: 320px;
}

.verify-page {
  min-height: 70vh;
  display: grid;
  place-items: center;
}

.verify-card {
  max-width: 780px;
  width: min(100%, 780px);
  padding: clamp(24px, 4vw, 42px);
}

.verify-card h1 {
  margin: 12px 0;
  font-size: clamp(2.1rem, 5vw, 4.2rem);
}

.validation-warning {
  background: linear-gradient(135deg, rgba(255,193,94,.18), rgba(56,232,255,.08));
  border-color: rgba(255,193,94,.34);
}

.validation-error {
  border-color: rgba(255,93,93,.35);
}

@media (max-width: 760px) {
  .card-status-panel { grid-template-columns: 1fr; }
}

/* === Screenshot / copy deterrence layer === */
body[data-screen-protect="on"] {
  -webkit-user-select: none;
  user-select: none;
}

body[data-screen-protect="on"] img,
body[data-screen-protect="on"] .screen-protected {
  -webkit-user-drag: none;
  user-drag: none;
}

.screen-protected,
.protected-watermark {
  position: relative;
  overflow: hidden;
}

.protected-watermark::after {
  content: attr(data-watermark);
  position: absolute;
  inset: -20%;
  z-index: 30;
  pointer-events: none;
  display: grid;
  place-items: center;
  color: rgba(255,255,255,.105);
  font-weight: 900;
  font-size: clamp(.72rem, 1.5vw, 1.05rem);
  letter-spacing: .08em;
  text-transform: uppercase;
  transform: rotate(-22deg);
  background-image: repeating-linear-gradient(
    -22deg,
    transparent 0 78px,
    rgba(255,255,255,.055) 80px,
    transparent 84px
  );
  mix-blend-mode: screen;
}

body.os-privacy-blur .screen-protected,
body.os-privacy-blur [data-protected] {
  filter: blur(14px) brightness(.35) !important;
  transition: filter .14s ease;
}

body.os-capture-mask::before,
body.os-print-block::before {
  content: attr(data-capture-reason);
  position: fixed;
  inset: 0;
  z-index: 999999;
  display: grid;
  place-items: center;
  padding: 28px;
  background: rgba(1, 7, 13, .97);
  color: #e9fbff;
  text-align: center;
  font-size: clamp(1.4rem, 4vw, 3.2rem);
  font-weight: 1000;
  letter-spacing: -.04em;
}

body.os-capture-mask .screen-protected,
body.os-capture-mask [data-protected],
body.os-print-block .screen-protected,
body.os-print-block [data-protected] {
  opacity: 0 !important;
  visibility: hidden !important;
}

@media print {
  .screen-protected,
  [data-protected],
  .membership-image-flip-card,
  .profile-card-preview,
  .redeem-result,
  .verify-card {
    display: none !important;
  }

  body::before {
    content: "Printing protected OneSaver card content is not allowed.";
    display: block;
    color: #000;
    font-size: 28px;
    font-weight: 900;
    padding: 40px;
  }
}

/* === Security hardening UI === */
.security-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 22px;
}
.security-page .premium-table td {
  vertical-align: top;
}
.table-status.status-failed,
.table-status.status-blocked,
.table-status.status-rate_limited,
.table-status.status-danger {
  background: rgba(255, 92, 92, .14);
  color: #ffd1d1;
  border-color: rgba(255, 92, 92, .28);
}
.table-status.status-success {
  background: rgba(78, 255, 177, .12);
  color: #caffeb;
  border-color: rgba(78, 255, 177, .24);
}
.table-status.status-warning,
.table-status.status-suspicious {
  background: rgba(255, 190, 94, .13);
  color: #ffe6bd;
  border-color: rgba(255, 190, 94, .28);
}

/* === OneSaver final card presentation fix (2026-07-11) ===
   One authoritative footprint for Standard, Plus and Family cards.
   Category panels stay separated; individual cards no longer render as a box
   inside another box. Keep this block last so older experimental overrides
   cannot reintroduce the sizing glitch. */
.public-card-grid,
.card-selector-grid,
.public-card-grid.category-standard,
.public-card-grid.category-plus,
.public-card-grid.category-family,
.card-selector-grid.standard-only-grid,
.upgrade-card-group[data-plan-group="plus"] .card-selector-grid,
.upgrade-card-group[data-plan-group="family"] .card-selector-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 22px !important;
  align-items: stretch !important;
  max-height: none !important;
  overflow: visible !important;
}

.card-category-block,
.upgrade-card-group {
  padding: clamp(20px, 3vw, 34px) !important;
  border-radius: 28px !important;
}

.public-card-grid .card-choice-preview,
.card-selector-grid .card-select-option,
.public-card-grid.category-standard .card-choice-preview,
.public-card-grid.category-plus .card-choice-preview,
.public-card-grid.category-family .card-choice-preview,
.card-selector-grid.standard-only-grid .card-select-option,
.upgrade-card-group[data-plan-group="plus"] .card-select-option,
.upgrade-card-group[data-plan-group="family"] .card-select-option {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  min-height: 0 !important;
  aspect-ratio: 1.586 / 1 !important;
  padding: 0 !important;
  margin: 0 !important;
  display: grid !important;
  place-items: center !important;
  border: 1px solid transparent !important;
  border-radius: 18px !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

.public-card-grid .card-choice-preview:hover,
.card-selector-grid .card-select-option:hover {
  transform: translateY(-3px) !important;
  border-color: rgba(80, 229, 255, .34) !important;
  box-shadow: 0 18px 38px rgba(0, 0, 0, .32) !important;
}

.card-selector-grid .card-select-option.selected {
  border-color: var(--cyan) !important;
  box-shadow: 0 0 0 2px rgba(56, 232, 255, .18), 0 18px 42px rgba(0, 0, 0, .36) !important;
}

.public-card-grid .card-choice-preview img,
.card-selector-grid .card-select-option img {
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  aspect-ratio: 1.586 / 1 !important;
  object-fit: contain !important;
  display: block !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 18px !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: drop-shadow(0 16px 28px rgba(0, 0, 0, .38)) !important;
}

/* Profile always displays the saved, normalised account card once. */
.profile-card-preview .profile-card-art,
.profile-card-preview .image-profile-card-art {
  width: 100% !important;
  aspect-ratio: 1.586 / 1 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

.profile-card-preview .image-profile-card-art img {
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: 1.586 / 1 !important;
  object-fit: contain !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Front and back share exactly the same stable footprint. */
.membership-image-flip-card {
  width: min(100%, 820px) !important;
  aspect-ratio: 1.586 / 1 !important;
}

.membership-image-flip-inner,
.membership-image-face,
.membership-image-face > img,
.live-card-back {
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: 1.586 / 1 !important;
}

.membership-image-face {
  overflow: hidden !important;
  border-radius: 28px !important;
}

.membership-image-face > img {
  object-fit: contain !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
}

.live-card-back {
  background-size: 100% 100% !important;
  border-radius: 28px !important;
}

@media (max-width: 1180px) {
  .public-card-grid,
  .card-selector-grid,
  .public-card-grid.category-standard,
  .public-card-grid.category-plus,
  .public-card-grid.category-family,
  .card-selector-grid.standard-only-grid,
  .upgrade-card-group[data-plan-group="plus"] .card-selector-grid,
  .upgrade-card-group[data-plan-group="family"] .card-selector-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 820px) {
  .public-card-grid,
  .card-selector-grid,
  .public-card-grid.category-standard,
  .public-card-grid.category-plus,
  .public-card-grid.category-family,
  .card-selector-grid.standard-only-grid,
  .upgrade-card-group[data-plan-group="plus"] .card-selector-grid,
  .upgrade-card-group[data-plan-group="family"] .card-selector-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px !important;
  }
}

@media (max-width: 520px) {
  .public-card-grid,
  .card-selector-grid,
  .public-card-grid.category-standard,
  .public-card-grid.category-plus,
  .public-card-grid.category-family,
  .card-selector-grid.standard-only-grid,
  .upgrade-card-group[data-plan-group="plus"] .card-selector-grid,
  .upgrade-card-group[data-plan-group="family"] .card-selector-grid {
    grid-template-columns: 1fr !important;
  }
}

.customer-advertising { margin-top: 38px; }
.offer-distance{display:inline-flex;width:max-content;margin-bottom:8px;padding:5px 9px;border-radius:999px;background:rgba(59,232,255,.1);color:var(--cyan);font-weight:800}
.customer-advertising-heading { align-items: end; margin-bottom: 18px; }
.customer-advertising-heading h2 { margin: 7px 0 5px; }
.customer-advertising-heading p { margin: 0; color: var(--muted); }
.customer-advertising-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.customer-advertising-empty { min-height: 132px; }
.customer-advert-card { overflow: hidden; min-width: 0; border: 1px solid var(--line); border-radius: 24px; background: linear-gradient(160deg, rgba(21,40,50,.94), rgba(5,15,24,.96)); box-shadow: 0 18px 42px rgba(0,0,0,.25); }
.customer-advert-image { position: relative; display: block; aspect-ratio: 16 / 9; overflow: hidden; }
.customer-advert-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.customer-advert-card:hover .customer-advert-image img { transform: scale(1.035); }
.customer-advert-image span, .customer-advert-image strong { position: absolute; top: 12px; padding: 7px 10px; border-radius: 999px; color: #fff; font-size: .72rem; font-weight: 800; backdrop-filter: blur(12px); }
.customer-advert-image span { left: 12px; background: rgba(3,16,25,.78); }
.customer-advert-image strong { right: 12px; background: rgba(255,170,70,.9); color: #07131a; }
.customer-advert-body { padding: 17px; }
.customer-advert-body small { display: block; color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.customer-advert-body h3 { margin: 8px 0; font-size: 1.08rem; }
.customer-advert-body p { display: -webkit-box; min-height: 42px; margin: 0 0 15px; overflow: hidden; color: var(--muted); font-size: .88rem; line-height: 1.5; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.customer-advert-body > div { display: flex; justify-content: space-between; gap: 12px; }
.customer-advert-body a { font-size: .82rem; font-weight: 800; }
.business-update-actions { display: flex; align-items: center; justify-content: flex-end; gap: 10px; }
.private-feedback-card { display: grid; grid-template-columns: minmax(250px,.7fr) minmax(320px,1.3fr); gap: 34px; align-items: start; margin-top: 24px; padding: 28px; }
.private-feedback-copy h2 { margin: 9px 0; }
.private-feedback-copy p { color: var(--muted); line-height: 1.65; }
.private-feedback-form { padding: 0; border: 0; background: none; box-shadow: none; }
.private-feedback-form select { width: 100%; padding: 14px 16px; border: 1px solid rgba(255,255,255,.13); border-radius: 14px; background: rgba(0,0,0,.28); color: var(--text); }
.discover-reviews-card{display:grid;gap:24px;margin-top:24px;padding:28px}.review-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.review-heading h2{margin:9px 0}.review-heading p,.review-empty{margin:0;color:var(--muted)}.review-heading>strong{padding:9px 13px;border-radius:999px;background:rgba(56,232,255,.1);color:var(--cyan);white-space:nowrap}.review-form{display:grid;grid-template-columns:minmax(180px,.45fr) minmax(280px,1fr) auto;gap:14px;align-items:end;padding:20px;border:1px solid rgba(255,255,255,.1);border-radius:20px;background:rgba(255,255,255,.035)}.review-form textarea{min-height:96px}.member-review-list{display:grid;gap:12px}.member-review{padding:18px 20px;border:1px solid rgba(255,255,255,.1);border-radius:18px;background:rgba(255,255,255,.035)}.member-review>div{display:flex;justify-content:space-between;gap:16px}.member-review span{color:var(--champagne);letter-spacing:.08em}.member-review p{margin:12px 0 0;line-height:1.65}.member-review small{display:block;margin-top:10px;color:var(--champagne)}.member-review.review-pending{border-style:dashed;opacity:.88}

@media (max-width: 1100px) { .customer-advertising-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 620px) {
  .customer-advertising-grid { grid-template-columns: 1fr; }
  .customer-advertising-heading { align-items: flex-start; gap: 12px; }
  .business-update-actions { align-items: flex-end; flex-direction: column; }
  .private-feedback-card { grid-template-columns: 1fr; gap: 18px; padding: 20px; }
  .review-form { grid-template-columns: 1fr; }
  .review-heading { align-items: flex-start; flex-direction: column; }
  .discover-reviews-card { padding: 20px; }
}

@media (max-width: 1120px) {
  .site-footer { grid-template-columns: minmax(200px,.7fr) minmax(0,1.3fr); }
  .footer-legal { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; text-align: left; }
  .footer-legal nav { justify-content: flex-start; }
}

@media (max-width: 700px) {
  .site-footer { grid-template-columns: 1fr; gap: 26px; padding-top: 26px; }
  .footer-contact-grid { grid-template-columns: 1fr; gap: 14px; }
  .footer-legal { grid-column: auto; align-items: flex-start; flex-direction: column; }
}

/* === ABSOLUTE FINAL WATERMARK KILL SWITCH === */
.protected-watermark::before,
.protected-watermark::after,
[data-watermark]::before,
[data-watermark]::after,
body.os-capture-mask::before,
body.os-capture-mask::after,
body.os-print-block::before,
body.os-print-block::after {
  content: none !important;
  display: none !important;
  background: none !important;
  background-image: none !important;
}

body[data-screen-protect="on"],
body.os-privacy-blur,
body.os-capture-mask,
body.os-print-block,
.screen-protected,
[data-protected] {
  filter: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}
.linked-discount-field{min-width:0}
.linked-discount-field select{width:100%;min-height:54px;padding:14px 42px 14px 16px;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:#09131b;color:var(--text);font-weight:800;text-overflow:ellipsis}
.linked-discount-field select:focus{border-color:rgba(56,232,255,.52);box-shadow:0 0 0 4px rgba(56,232,255,.08);outline:none}
.linked-discount-field small{color:var(--muted);font-weight:600;line-height:1.45}
.linked-discount-picker{min-width:0;margin:2px 0;padding:0;border:0}.linked-discount-picker legend{width:100%;margin-bottom:11px;color:var(--muted-strong);font-weight:900}.linked-discount-picker>p{margin:10px 2px 0;color:var(--muted);font-size:.82rem;line-height:1.5}
.linked-discount-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.linked-discount-option{position:relative;display:grid!important;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:13px;min-width:0;padding:16px!important;border:1px solid rgba(255,255,255,.1);border-radius:17px;background:rgba(2,13,21,.66);cursor:pointer;transition:border-color .18s ease,transform .18s ease,background .18s ease}
.linked-discount-option.no-discount{grid-column:1/-1;grid-template-columns:auto minmax(0,1fr)}
.linked-discount-option:hover{transform:translateY(-2px);border-color:rgba(56,232,255,.3);background:rgba(13,34,44,.8)}
.linked-discount-option input{position:absolute;opacity:0;pointer-events:none}
.discount-radio-mark{width:20px;height:20px;border:2px solid rgba(255,255,255,.35);border-radius:50%;box-shadow:inset 0 0 0 4px #09131b;transition:.18s ease}
.linked-discount-option:has(input:checked){border-color:rgba(56,232,255,.65);background:linear-gradient(145deg,rgba(56,232,255,.1),rgba(255,211,154,.045));box-shadow:0 0 0 3px rgba(56,232,255,.07)}
.linked-discount-option input:checked~.discount-radio-mark{border-color:var(--cyan);background:var(--cyan)}
.linked-discount-value{display:grid;place-items:center;min-width:67px;padding:9px 10px;border-radius:13px;background:linear-gradient(135deg,var(--champagne),var(--cyan));color:#07131a;font-size:1.12rem;font-weight:1000;line-height:1}.linked-discount-value small{margin-top:3px;color:#07131a;font-size:.6rem;letter-spacing:.1em}
.linked-discount-copy{display:grid;gap:5px;min-width:0}.linked-discount-copy strong{overflow-wrap:anywhere;color:var(--text);font-size:.96rem}.linked-discount-copy small{overflow-wrap:anywhere;color:var(--muted);font-size:.76rem;font-weight:650;line-height:1.45}
.premium-form select,.discount-filter-panel select{width:100%;min-height:52px;padding:13px 42px 13px 15px;border:1px solid rgba(255,255,255,.13);border-radius:14px;background:#09131b;color:var(--text);font:inherit;font-weight:750}
.premium-form select:focus,.discount-filter-panel select:focus{border-color:rgba(56,232,255,.52);box-shadow:0 0 0 4px rgba(56,232,255,.08);outline:none}
.offer-speed-note{align-self:end;display:grid;gap:5px;min-height:52px;padding:12px 15px;border:1px solid rgba(56,232,255,.16);border-radius:14px;background:rgba(56,232,255,.045)}
.offer-speed-note strong{color:var(--champagne)}.offer-speed-note span{color:var(--muted);font-size:.82rem;line-height:1.45}
.discount-category-strip{display:grid;grid-template-columns:repeat(5,minmax(155px,1fr));gap:12px;margin:26px 0;overflow-x:auto;padding:4px 2px 10px}
.discount-category-chip{display:grid;gap:7px;min-height:88px;padding:17px;border:1px solid rgba(255,255,255,.09);border-radius:19px;background:rgba(255,255,255,.035);color:var(--text);text-decoration:none;transition:.2s ease}
.discount-category-chip:hover,.discount-category-chip.active{transform:translateY(-3px);border-color:rgba(56,232,255,.35);background:linear-gradient(145deg,rgba(56,232,255,.11),rgba(255,211,154,.06));box-shadow:0 18px 48px rgba(0,0,0,.22)}
.discount-category-chip strong{font-size:.92rem}.discount-category-chip span{color:var(--muted);font-size:.78rem}
.discount-filter-panel{display:grid;gap:20px;padding:26px;margin:24px 0 32px}
.discount-filter-heading{display:flex;justify-content:space-between;align-items:end;gap:20px}.discount-filter-heading h2{margin:6px 0 0}.discount-filter-heading>a{color:var(--champagne);font-weight:800}
.discount-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.discount-filter-grid label{display:grid;gap:8px;color:var(--muted-strong);font-weight:800}.discount-filter-grid input{width:100%;min-height:52px;padding:13px 15px;border:1px solid rgba(255,255,255,.13);border-radius:14px;background:rgba(0,0,0,.3);color:var(--text);font:inherit}
.discount-results-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:34px 0 18px}.discount-results-heading>div{display:flex;align-items:baseline;gap:10px}.discount-results-heading span{font-size:2.1rem;color:var(--champagne);font-weight:1000}.discount-results-heading h2{margin:0}.discount-results-heading small{color:var(--muted)}
.discount-result-top{display:flex;justify-content:space-between;align-items:start;gap:10px}.discount-result-top small{color:var(--muted);font-weight:750;text-align:right}.discount-empty-state{grid-column:1/-1;padding:38px;text-align:center}.discount-empty-state p{color:var(--muted);margin:10px auto 20px}
@media(max-width:900px){.discount-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.discount-category-strip{grid-template-columns:repeat(5,minmax(165px,1fr))}}
@media(max-width:620px){.discount-filter-grid{grid-template-columns:1fr}.discount-filter-heading,.discount-results-heading{align-items:flex-start;flex-direction:column}.discount-category-strip{display:flex}.discount-category-chip{min-width:170px}.discount-result-top{align-items:flex-start;flex-direction:column}.discount-result-top small{text-align:left}}
@media(max-width:720px){.linked-discount-options{grid-template-columns:1fr}.linked-discount-option.no-discount{grid-column:auto}}

/* Family membership and invitation management */
.family-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:24px 0}
.family-layout-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(310px,.65fr);gap:24px;align-items:start}
.family-member-stack,.family-controls-stack{display:grid;gap:16px}
.family-member-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:24px}
.family-member-card h2{margin:8px 0 4px}.family-member-card p{margin:0;color:var(--muted)}
.family-member-card .member-details{grid-column:1/-1}
.family-card-visual{width:150px}.family-card-visual img{display:block;width:100%;border-radius:13px;box-shadow:0 12px 30px rgba(0,0,0,.28)}
.family-member-barcode{grid-column:1/-1;width:100%;max-height:118px;object-fit:contain;border-radius:14px;background:#fff}
.family-status{display:inline-flex;padding:6px 10px;border-radius:999px;background:rgba(255,190,80,.12);color:var(--champagne);font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.family-status.active,.family-status.accepted{background:rgba(56,232,255,.1);color:var(--cyan)}
.family-member-actions{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:14px}
.family-card-ready{color:var(--cyan);font-weight:800}.family-card-pending{color:var(--champagne);font-weight:800}
.family-manual-link{padding:22px}.family-manual-link input{width:100%;margin-top:10px;padding:12px;border-radius:12px;background:#07131a;color:var(--text);border:1px solid rgba(255,255,255,.14)}
.family-invite-accept{width:min(760px,100%);margin:0 auto;padding:30px}.family-invite-accept>p{color:var(--muted);line-height:1.65}
.family-size-upgrade{margin:20px 0;padding:22px}.family-size-upgrade p{color:var(--muted)}
@media(max-width:850px){.family-summary-grid,.family-layout-grid{grid-template-columns:1fr}.family-member-card{grid-template-columns:1fr}.family-member-actions{align-items:flex-start;flex-direction:column}}

/* === Digital Card visual-quality pass === */
.digital-card-clean-page .image-card-visual{position:relative;padding:26px 22px 34px;border:1px solid rgba(255,255,255,.08);border-radius:34px;background:radial-gradient(circle at 50% 8%,rgba(56,232,255,.11),transparent 46%),linear-gradient(155deg,rgba(13,31,43,.82),rgba(3,10,17,.58));box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 35px 90px rgba(0,0,0,.28)}
.digital-card-clean-page .membership-image-flip-card{width:min(100%,680px)!important;aspect-ratio:1.613/1!important;filter:drop-shadow(0 30px 42px rgba(0,0,0,.48));transition:transform .28s ease,filter .28s ease;outline:none}
.digital-card-clean-page .membership-image-flip-card:hover{transform:translateY(-4px);filter:drop-shadow(0 38px 52px rgba(0,0,0,.54)) drop-shadow(0 0 18px rgba(56,232,255,.10))}
.digital-card-clean-page .membership-image-flip-card:focus-visible{box-shadow:0 0 0 4px rgba(56,232,255,.25);border-radius:26px}
.digital-card-clean-page .membership-image-flip-inner{aspect-ratio:1.613/1!important;transition:transform .72s cubic-bezier(.2,.75,.25,1);transform:translateZ(0)}
.digital-card-clean-page .membership-image-flip-card:hover .membership-image-flip-inner{transform:none}
.digital-card-clean-page .membership-image-flip-card.is-flipped .membership-image-flip-inner,.digital-card-clean-page .membership-image-flip-card.is-flipped:hover .membership-image-flip-inner{transform:rotateY(180deg)}
.digital-card-clean-page .membership-image-face{border-radius:25px!important;background:#06151d;box-shadow:inset 0 0 0 1px rgba(255,255,255,.16);isolation:isolate}
.digital-card-clean-page .membership-image-front:before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;border-radius:inherit;background:linear-gradient(118deg,rgba(255,255,255,.18),transparent 20%,transparent 70%,rgba(255,255,255,.045));mix-blend-mode:screen}
.digital-card-clean-page .membership-image-face>img{width:100%!important;height:100%!important;aspect-ratio:1.613/1!important;object-fit:cover!important;border-radius:25px!important;filter:saturate(1.06) contrast(1.035)!important;image-rendering:auto;transform:translateZ(0)}
.digital-card-clean-page .live-card-back{border-radius:25px!important;background-size:cover!important;filter:saturate(1.04) contrast(1.02)}
.digital-card-clean-page .flip-hint{width:min(100%,680px);padding:12px 16px;border-radius:16px;background:rgba(8,22,31,.78);backdrop-filter:blur(16px)}
.digital-card-clean-page .flip-hint strong{color:var(--cyan)}
.digital-card-clean-page .digital-meta-strip{width:min(100%,680px);border-color:rgba(56,232,255,.13);background:rgba(5,17,25,.76)}
.digital-feature-item .feature-icon-shell{display:grid;place-items:center;font-size:0;color:var(--cyan)}
.digital-feature-item .feature-icon-shell:before{font-size:1.15rem;line-height:1}
.digital-feature-item:nth-child(1) .feature-icon-shell:before{content:"◆"}
.digital-feature-item:nth-child(2) .feature-icon-shell:before{content:"▦"}
.digital-feature-item:nth-child(3) .feature-icon-shell:before{content:"✦"}
@media(max-width:620px){.digital-card-clean-page .image-card-visual{padding:18px 12px 24px;border-radius:25px}.digital-card-clean-page .membership-image-flip-card,.digital-card-clean-page .membership-image-flip-inner{aspect-ratio:1.613/1!important}.digital-card-clean-page .membership-image-face,.digital-card-clean-page .membership-image-face>img,.digital-card-clean-page .live-card-back{border-radius:18px!important}}

/* === FINAL CARD SIZE SYSTEM: every catalogue card is identical === */
:root{--onesaver-card-ratio:1.586 / 1;--onesaver-card-width:290px}
.public-card-grid,
.public-card-grid.category-standard,
.public-card-grid.category-plus,
.public-card-grid.category-family{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),var(--onesaver-card-width)))!important;
  justify-content:center!important;
  align-items:start!important;
  gap:22px!important;
}
.public-card-grid .card-choice-preview{
  width:100%!important;
  max-width:var(--onesaver-card-width)!important;
  aspect-ratio:var(--onesaver-card-ratio)!important;
  min-height:0!important;
  padding:0!important;
  border:1px solid rgba(255,255,255,.14)!important;
  border-radius:19px!important;
  overflow:hidden!important;
  background:#06141c!important;
  box-shadow:0 17px 36px rgba(0,0,0,.34)!important;
}
.card-selector-grid,
.card-selector-grid.standard-only-grid,
.upgrade-card-group .card-selector-grid,
.upgrade-card-group[data-plan-group="plus"] .card-selector-grid,
.upgrade-card-group[data-plan-group="family"] .card-selector-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),260px))!important;
  justify-content:center!important;
  gap:18px!important;
}
.card-selector-grid .card-select-option,
.upgrade-card-group[data-plan-group="plus"] .card-select-option,
.upgrade-card-group[data-plan-group="family"] .card-select-option{
  width:100%!important;
  max-width:260px!important;
  aspect-ratio:var(--onesaver-card-ratio)!important;
  min-height:0!important;
  padding:0!important;
  border:1px solid rgba(255,255,255,.14)!important;
  border-radius:18px!important;
  overflow:hidden!important;
  background:#06141c!important;
}
.public-card-grid .card-choice-preview img,
.card-selector-grid .card-select-option img,
.upgrade-card-group .card-select-option img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  max-width:100%!important;
  aspect-ratio:var(--onesaver-card-ratio)!important;
  object-fit:fill!important;
  border:0!important;
  border-radius:18px!important;
  margin:0!important;
  padding:0!important;
  filter:saturate(1.04) contrast(1.025)!important;
}
.floating-preview,
.profile-card-preview .profile-card-art,
.profile-card-preview .image-profile-card-art,
.family-card-visual{
  aspect-ratio:var(--onesaver-card-ratio)!important;
  overflow:hidden!important;
  border-radius:19px!important;
  background:#06141c!important;
}
.floating-preview img,
.profile-card-preview .image-profile-card-art img,
.family-card-visual img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  aspect-ratio:var(--onesaver-card-ratio)!important;
  object-fit:fill!important;
  margin:0!important;
  padding:0!important;
  border-radius:19px!important;
}
.family-card-visual{width:180px!important}

/* My Digital Card is intentionally the only large, two-sided card. */
.digital-card-clean-page .membership-image-flip-card{width:min(100%,760px)!important;aspect-ratio:var(--onesaver-card-ratio)!important}
.digital-card-clean-page .membership-image-flip-inner,
.digital-card-clean-page .membership-image-face,
.digital-card-clean-page .membership-image-face>img,
.digital-card-clean-page .live-card-back{aspect-ratio:var(--onesaver-card-ratio)!important}
.digital-card-clean-page .flip-hint,
.digital-card-clean-page .digital-meta-strip{width:min(100%,760px)!important}
@media(max-width:620px){:root{--onesaver-card-width:100%}.public-card-grid,.public-card-grid.category-standard,.public-card-grid.category-plus,.public-card-grid.category-family{grid-template-columns:1fr!important}.card-selector-grid,.card-selector-grid.standard-only-grid,.upgrade-card-group .card-selector-grid,.upgrade-card-group[data-plan-group="plus"] .card-selector-grid,.upgrade-card-group[data-plan-group="family"] .card-selector-grid{grid-template-columns:1fr!important}.public-card-grid .card-choice-preview,.card-selector-grid .card-select-option{max-width:100%!important}}

/* Premium digital-card light sweep. The artwork stays still while a restrained
   highlight travels across it, including keyboard focus and touch selection. */
.public-card-grid.category-plus .card-choice-preview,
.upgrade-card-group[data-plan-group="plus"] .card-select-option {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate;
}
.public-card-grid.category-plus .card-choice-preview::before,
.upgrade-card-group[data-plan-group="plus"] .card-select-option::before {
  content: "";
  position: absolute;
  z-index: 2;
  inset: -45% auto -45% -48%;
  width: 28%;
  pointer-events: none;
  opacity: 0;
  transform: skewX(-18deg);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.06), rgba(255,255,255,.34), rgba(101,243,255,.16), transparent);
  animation: onesaver-plus-sheen 4.8s cubic-bezier(.4,0,.2,1) infinite;
}
.public-card-grid.category-plus .card-choice-preview:nth-child(2n)::before,
.upgrade-card-group[data-plan-group="plus"] .card-select-option:nth-child(2n)::before { animation-delay: .55s; }
.public-card-grid.category-plus .card-choice-preview:nth-child(3n)::before,
.upgrade-card-group[data-plan-group="plus"] .card-select-option:nth-child(3n)::before { animation-delay: 1.1s; }
@keyframes onesaver-plus-sheen {
  0%, 18% { left: -48%; opacity: 0; }
  24% { opacity: .75; }
  52% { left: 122%; opacity: 0; }
  100% { left: 122%; opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .public-card-grid.category-plus .card-choice-preview::before,
  .upgrade-card-group[data-plan-group="plus"] .card-select-option::before { animation: none; }
}

/* Family artwork is naturally wider; preserve it inside the shared card frame. */
.public-card-grid.category-family .card-choice-preview,
.upgrade-card-group[data-plan-group="family"] .card-select-option,
.profile-card-preview .image-profile-card-art.tier-family,
.family-card-visual,
.digital-card-clean-page .membership-image-flip-card.tier-family .membership-image-front{
  background:radial-gradient(circle at 78% 20%,rgba(56,232,255,.14),transparent 38%),linear-gradient(145deg,#07323c,#041820)!important;
}
.public-card-grid.category-family .card-choice-preview img,
.upgrade-card-group[data-plan-group="family"] .card-select-option img,
.profile-card-preview .image-profile-card-art.tier-family img,
.family-card-visual img,
.digital-card-clean-page .membership-image-flip-card.tier-family .membership-image-front>img{
  object-fit:contain!important;
  aspect-ratio:auto!important;
  filter:saturate(1.04) contrast(1.025) drop-shadow(0 12px 22px rgba(0,0,0,.28))!important;
}

/* === Native card proportions: no stretching, no unnecessary height === */
.public-card-grid.category-standard .card-choice-preview,
.card-selector-grid.standard-only-grid .card-select-option{
  aspect-ratio:1.613 / 1!important;
}
.public-card-grid.category-plus .card-choice-preview,
.upgrade-card-group[data-plan-group="plus"] .card-select-option{
  aspect-ratio:1.585 / 1!important;
}
.public-card-grid.category-family .card-choice-preview,
.upgrade-card-group[data-plan-group="family"] .card-select-option,
.profile-card-preview .image-profile-card-art.tier-family,
.family-card-visual{
  aspect-ratio:1.98 / 1!important;
}
.public-card-grid .card-choice-preview img,
.card-selector-grid .card-select-option img,
.upgrade-card-group .card-select-option img,
.floating-preview img,
.profile-card-preview .image-profile-card-art img,
.family-card-visual img{
  object-fit:contain!important;
  aspect-ratio:auto!important;
  filter:saturate(1.025) contrast(1.015)!important;
}
.digital-card-clean-page .membership-image-flip-card{width:min(100%,700px)!important}
.digital-card-clean-page .flip-hint,
.digital-card-clean-page .digital-meta-strip{width:min(100%,700px)!important}

/* === Screenshot-led card cleanup: preserve artwork, remove UI damage === */
.public-card-grid .card-choice-preview,
.card-selector-grid .card-select-option,
.upgrade-card-group .card-select-option,
.public-card-grid.category-family .card-choice-preview,
.upgrade-card-group[data-plan-group="family"] .card-select-option{
  padding:0!important;
  background:transparent!important;
  border:1px solid transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.public-card-grid .card-choice-preview img,
.card-selector-grid .card-select-option img,
.upgrade-card-group .card-select-option img{
  background:transparent!important;
  box-shadow:none!important;
  border:0!important;
  border-radius:18px!important;
  filter:none!important;
}
.card-selector-grid .card-select-option.selected,
.upgrade-card-group .card-select-option.selected{
  border-color:var(--cyan)!important;
  box-shadow:0 0 0 3px rgba(56,232,255,.20),0 16px 38px rgba(0,0,0,.26)!important;
}
.card-selector-grid .card-select-option.selected::after,
.upgrade-card-group .card-select-option.selected::after{
  content:none!important;
  display:none!important;
}
.public-card-grid.category-plus .card-choice-preview img,
.upgrade-card-group[data-plan-group="plus"] .card-select-option img{
  filter:brightness(1.13) saturate(1.10) contrast(1.015)!important;
}
.public-card-grid.category-family .card-choice-preview img,
.upgrade-card-group[data-plan-group="family"] .card-select-option img,
.family-card-visual img{
  filter:brightness(1.055) saturate(1.06) contrast(1.01)!important;
}
.profile-card-preview .profile-card-art,
.profile-card-preview .image-profile-card-art{
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.profile-card-preview .image-profile-card-art img{
  background:transparent!important;
  filter:none!important;
  box-shadow:none!important;
}
.digital-card-clean-page .membership-image-face{
  overflow:visible!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.digital-card-clean-page .membership-image-front{
  padding:12px!important;
  box-sizing:border-box!important;
}
.digital-card-clean-page .membership-image-front>img{
  object-fit:contain!important;
  border-radius:22px!important;
  filter:none!important;
}
.digital-card-clean-page .membership-image-front:before{inset:12px!important;border-radius:22px!important}
.digital-card-clean-page .membership-image-back{overflow:hidden!important;border-radius:24px!important}
@media(max-width:620px){.digital-card-clean-page .membership-image-front{padding:7px!important}.digital-card-clean-page .membership-image-front:before{inset:7px!important}}

/* Rebuilt Family V2 fronts now use the same true card standard as all backs. */
.public-card-grid.category-family .card-choice-preview,
.upgrade-card-group[data-plan-group="family"] .card-select-option,
.profile-card-preview .image-profile-card-art.tier-family,
.family-card-visual{
  aspect-ratio:1.6 / 1!important;
  background:transparent!important;
}

/* Partner-managed food and drink menus */
.partner-workspace-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 24px}.partner-workspace-nav a,.partner-workspace-nav>.partner-workspace-disabled{display:grid;gap:5px;min-width:0;padding:17px 18px;border:1px solid rgba(255,255,255,.1);border-radius:18px;background:rgba(255,255,255,.035);transition:transform .2s ease,border-color .2s ease,background .2s ease}.partner-workspace-nav a:hover{transform:translateY(-2px);border-color:rgba(57,219,232,.3);background:rgba(57,219,232,.06)}.partner-workspace-nav>.partner-workspace-disabled{opacity:.56;cursor:not-allowed}.partner-workspace-nav span{color:var(--text);font-weight:900}.partner-workspace-nav small{color:var(--muted);line-height:1.4}.partner-workspace-nav .partner-workspace-menu{border-color:rgba(255,179,94,.34);background:linear-gradient(135deg,rgba(255,179,94,.1),rgba(57,219,232,.07))}.partner-workspace-nav .partner-workspace-menu span{color:var(--champagne)}#partner-offers,#food-menu,#business-updates{scroll-margin-top:110px}
.business-menu-panel{margin-top:24px;padding:clamp(22px,3vw,34px);overflow:hidden}.business-menu-panel .panel-heading{align-items:flex-start}.menu-count{padding:9px 14px;border:1px solid rgba(57,219,232,.28);border-radius:999px;color:var(--cyan);background:rgba(57,219,232,.08);white-space:nowrap}.menu-create-form{padding:22px;margin:22px 0;border:1px solid rgba(255,255,255,.09);border-radius:20px;background:linear-gradient(135deg,rgba(57,219,232,.055),rgba(255,179,94,.045))}.menu-form-grid{display:grid;grid-template-columns:1fr 1.6fr .7fr 1.2fr;gap:14px}.menu-availability{display:flex!important;align-items:center;gap:9px;width:max-content}.menu-availability input{width:18px;height:18px;margin:0}.business-menu-list{display:grid;gap:12px}.business-menu-editor{border:1px solid rgba(255,255,255,.1);border-radius:18px;background:rgba(255,255,255,.035);overflow:hidden}.business-menu-editor>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px;cursor:pointer;list-style:none}.business-menu-editor>summary::-webkit-details-marker{display:none}.business-menu-editor>summary>span:first-child{display:grid;gap:4px}.business-menu-editor summary small{color:var(--champagne);font-size:.72rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.business-menu-editor summary strong{font-size:1.08rem}.business-menu-editor summary em{color:var(--muted);font-size:.78rem;font-style:normal}.menu-summary-price{display:flex;align-items:flex-end;gap:11px;font-weight:900;color:var(--text);white-space:nowrap}.menu-summary-price b{padding:5px 9px;border-radius:999px;background:rgba(67,222,153,.12);color:#69e7ad;font-size:.68rem;text-transform:uppercase}.menu-unavailable{opacity:.68}.menu-unavailable .menu-summary-price b{background:rgba(255,112,112,.1);color:#ff9a9a}.menu-edit-form{padding:20px;border-top:1px solid rgba(255,255,255,.08)}.menu-edit-actions{display:flex;align-items:center;justify-content:space-between;gap:16px}.menu-delete-form{display:flex;justify-content:flex-end;padding:0 20px 18px}.menu-empty-state{display:grid;gap:5px;padding:24px;border:1px dashed rgba(57,219,232,.28);border-radius:18px;text-align:center;color:var(--muted)}.menu-empty-state strong{color:var(--text)}
.menu-locked-state{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-top:22px;padding:22px;border:1px dashed rgba(255,179,94,.38);border-radius:20px;background:rgba(255,179,94,.055)}.menu-locked-state>div{display:grid;gap:6px}.menu-locked-state span{color:var(--muted);line-height:1.55}.menu-locked-state .btn{flex:none}
.partner-menu-card{margin:24px 0;padding:clamp(26px,4vw,48px)}.partner-menu-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:30px}.partner-menu-heading h2{font-size:clamp(2rem,3vw,3.2rem);margin:10px 0 7px}.partner-menu-heading p{margin:0;color:var(--muted)}.partner-menu-heading>span{padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.06);color:var(--muted);white-space:nowrap}.partner-menu-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.partner-menu-group{min-width:0}.partner-menu-group h3{padding-bottom:12px;margin:0 0 6px;border-bottom:1px solid rgba(255,179,94,.28);color:var(--champagne);font-size:1rem;letter-spacing:.13em;text-transform:uppercase}.partner-menu-items{display:grid}.partner-menu-item{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:17px 2px;border-bottom:1px solid rgba(255,255,255,.075)}.partner-menu-item h4{margin:0 0 5px;font-size:1.05rem}.partner-menu-item p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.55}.partner-menu-item small{display:inline-block;margin-top:8px;padding:4px 8px;border-radius:999px;background:rgba(57,219,232,.08);color:var(--cyan)}.partner-menu-item>strong{font-size:1.08rem;white-space:nowrap}.partner-menu-note{display:block;margin-top:26px;color:var(--muted);line-height:1.5}
.partner-menu-item.has-image{display:grid;grid-template-columns:96px minmax(0,1fr) auto;align-items:center}.menu-photo-button{position:relative;width:96px;height:96px;padding:0;overflow:hidden;border:1px solid rgba(255,255,255,.1);border-radius:16px;background:#10161c;cursor:zoom-in}.menu-photo-button img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}.menu-photo-button span{position:absolute;right:7px;bottom:7px;padding:4px 7px;border-radius:999px;background:rgba(8,13,18,.82);color:#fff;font-size:.67rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;opacity:0;transform:translateY(4px);transition:.2s ease}.menu-photo-button:hover img,.menu-photo-button:focus-visible img{transform:scale(1.06)}.menu-photo-button:hover span,.menu-photo-button:focus-visible span{opacity:1;transform:none}.menu-photo-button:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}.business-menu-editor>summary>.business-menu-thumb{width:58px;height:58px;flex:none;border-radius:12px;object-fit:cover}.business-menu-editor>summary>.business-menu-thumb+span{margin-right:auto}
.menu-lightbox[hidden]{display:none}.menu-lightbox{position:fixed;z-index:1200;inset:0;display:grid;place-items:center;padding:24px}.menu-lightbox-backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;background:rgba(3,7,10,.88);backdrop-filter:blur(10px);cursor:default}.menu-lightbox-dialog{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);width:min(980px,100%);max-height:calc(100vh - 48px);overflow:auto;border:1px solid rgba(255,255,255,.14);border-radius:26px;background:#10171d;box-shadow:0 30px 90px rgba(0,0,0,.65)}.menu-lightbox-image{width:100%;height:100%;min-height:480px;object-fit:cover;background:#070b0e}.menu-lightbox-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(28px,5vw,58px)}.menu-lightbox-copy h2{margin:14px 0 12px;font-size:clamp(1.8rem,3vw,3rem)}.menu-lightbox-copy>p{color:var(--muted);line-height:1.7}.menu-lightbox-meta{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:22px}.menu-lightbox-meta small{padding:6px 10px;border-radius:999px;background:rgba(57,219,232,.08);color:var(--cyan)}.menu-lightbox-meta strong{color:var(--champagne);white-space:nowrap}.menu-lightbox-close{position:absolute;z-index:2;top:14px;right:14px;width:44px;height:44px;border:1px solid rgba(255,255,255,.16);border-radius:50%;background:rgba(7,11,14,.82);color:#fff;font-size:2rem;line-height:1;cursor:pointer}.menu-lightbox-close:hover,.menu-lightbox-close:focus-visible{border-color:var(--cyan);color:var(--cyan)}body.menu-lightbox-open{overflow:hidden}
@media(max-width:980px){.partner-workspace-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.menu-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.partner-menu-groups{grid-template-columns:1fr}}
@media(max-width:620px){.partner-workspace-nav{grid-template-columns:1fr}.menu-form-grid{grid-template-columns:1fr}.business-menu-editor>summary,.partner-menu-heading,.menu-locked-state{align-items:flex-start;flex-direction:column}.menu-locked-state .btn{width:100%}.menu-summary-price{width:100%;justify-content:space-between}.menu-edit-actions{align-items:stretch;flex-direction:column}.menu-edit-actions .btn{width:100%}.partner-menu-item{gap:12px}.partner-menu-item.has-image{grid-template-columns:78px minmax(0,1fr)}.partner-menu-item.has-image .menu-photo-button{width:78px;height:78px}.partner-menu-item.has-image>strong{grid-column:2}.menu-lightbox{padding:12px}.menu-lightbox-dialog{display:block;max-height:calc(100vh - 24px);border-radius:20px}.menu-lightbox-image{height:auto;min-height:0;max-height:52vh;aspect-ratio:1/1}.menu-lightbox-copy{padding:25px}.menu-lightbox-meta{align-items:flex-start;flex-direction:column}}
.business-name-onboarding{display:grid;gap:10px;max-width:760px;margin-top:24px;padding:clamp(20px,3vw,30px);border:1px solid rgba(57,219,232,.32);border-radius:24px;background:linear-gradient(135deg,rgba(57,219,232,.09),rgba(255,179,94,.08));box-shadow:0 20px 60px rgba(0,0,0,.18)}.business-name-onboarding>strong{font-size:1.35rem}.business-name-onboarding>span{color:var(--muted);line-height:1.6}.business-name-onboarding form{display:grid;gap:9px;margin-top:8px}.business-name-onboarding label{font-size:.78rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--champagne)}

/* Customer partner-menu directory: business first, menu second. */
.customer-menu-preview{margin-top:34px}.customer-menus-page,.customer-business-menu-page{max-width:1500px;margin:0 auto}.customer-menu-business-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.customer-menu-business-card{display:grid;grid-template-rows:220px 1fr;min-width:0;overflow:hidden;border:1px solid rgba(255,255,255,.1);border-radius:25px;background:linear-gradient(180deg,rgba(13,28,39,.9),rgba(5,13,21,.94));box-shadow:0 24px 60px rgba(0,0,0,.25);transition:transform .3s ease,border-color .3s ease}.customer-menu-business-card:hover{transform:translateY(-6px);border-color:rgba(57,219,232,.34)}.customer-menu-business-card img{width:100%;height:220px;object-fit:cover;background:#091116}.customer-menu-business-card>div{display:grid;align-content:start;gap:7px;padding:22px}.customer-menu-business-card small{color:var(--cyan);font-weight:800}.customer-menu-business-card h2,.customer-menu-business-card h3{margin:0;color:var(--text)}.customer-menu-business-card p{margin:0;color:var(--muted)}.customer-menu-business-card strong{margin-top:9px;color:var(--champagne)}.menu-directory-empty{grid-column:1/-1;padding:34px;text-align:center}.menu-directory-empty .btn{margin-top:12px}.menu-directory-back{display:inline-block;margin:0 0 18px;color:var(--champagne);font-weight:900}.customer-business-menu-hero{display:grid;grid-template-columns:minmax(300px,.85fr) minmax(360px,1.15fr);padding:0;overflow:hidden}.customer-business-menu-hero>img{width:100%;height:100%;min-height:390px;object-fit:cover;background:#091116}.customer-business-menu-hero>div{align-self:center;padding:clamp(30px,5vw,64px)}.customer-business-menu-hero h1{margin:12px 0;font-size:clamp(2.5rem,5vw,5rem)}.customer-business-menu-hero p{font-size:1.05rem}.customer-menu-business-grid-preview .customer-menu-business-card{grid-template-rows:180px 1fr}.customer-menu-business-grid-preview .customer-menu-business-card img{height:180px}
@media(max-width:980px){.customer-menu-business-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.customer-business-menu-hero{grid-template-columns:1fr}.customer-business-menu-hero>img{min-height:300px;max-height:420px}}
@media(max-width:620px){.customer-menu-business-grid{grid-template-columns:1fr}.customer-menu-business-card{grid-template-rows:190px 1fr}.customer-menu-business-card img{height:190px}.customer-business-menu-hero>img{min-height:230px}.customer-business-menu-hero>div{padding:25px}.customer-business-menu-hero h1{font-size:2.35rem}}

/* Keep anchored support actions below the sticky site navigation. */
#support-chat{scroll-margin-top:110px}

/* Management has additional navigation destinations; collapse before overflow. */
@media (max-width:1500px) {
  .site-header.role-management { grid-template-columns:auto auto; border-radius:28px; }
  .site-header.role-management .nav-toggle { display:block; justify-self:end; }
  .site-header.role-management .main-nav,
  .site-header.role-management .nav-actions {
    display:none;
    grid-column:1 / -1;
    justify-content:stretch;
    align-items:stretch;
    flex-direction:column;
    width:100%;
  }
  .site-header.role-management .main-nav.open,
  .site-header.role-management .nav-actions.open { display:flex; }
  .site-header.role-management .main-nav a,
  .site-header.role-management .nav-actions a { width:100%; justify-content:center; text-align:center; }
  .site-header.role-management .role-pill { text-align:center; }
}

/* Private pre-launch preview shield */
.preview-gate-page{min-height:100vh;overflow-x:hidden;background:#020910;color:var(--text)}
.preview-gate-shell{position:relative;z-index:5;display:grid;min-height:100vh;place-items:center;padding:28px 18px}
.preview-gate-card{width:min(100%,560px);padding:clamp(28px,5vw,52px);border:1px solid rgba(56,232,255,.2);border-radius:30px;background:linear-gradient(145deg,rgba(13,31,42,.96),rgba(5,12,20,.97));box-shadow:0 28px 90px rgba(0,0,0,.55),0 0 55px rgba(56,232,255,.07);backdrop-filter:blur(24px)}
.preview-gate-logo{display:block;width:min(230px,70%);height:auto;margin:0 auto 24px}
.preview-gate-label{display:block;color:var(--champagne);font-size:.76rem;font-weight:900;letter-spacing:.16em;text-align:center;text-transform:uppercase}
.preview-gate-card h1{margin:14px 0 12px;font-size:clamp(2.2rem,8vw,4.2rem);line-height:.95;text-align:center}
.preview-gate-card>p{margin:0 auto 28px;max-width:450px;color:var(--muted);line-height:1.65;text-align:center}
.preview-gate-form{margin-top:20px}
.preview-gate-card>small{display:block;margin-top:24px;color:var(--muted);font-size:.75rem;text-align:center}
.preview-gate-messages{display:grid;gap:8px;margin:0 0 16px}
.preview-gate-message{padding:12px 14px;border:1px solid rgba(255,255,255,.12);border-radius:13px;background:rgba(255,255,255,.06);font-weight:700;text-align:center}
.preview-gate-message.danger{border-color:rgba(255,100,120,.28);background:rgba(255,70,95,.1);color:#ffd7de}
.preview-gate-form button:disabled,.preview-gate-form input:disabled{cursor:not-allowed;opacity:.55}

.support-agent-console{display:grid;grid-template-columns:minmax(240px,1fr) auto auto;gap:18px;align-items:center;margin:0 0 24px;padding:22px}.support-agent-console h2,.support-agent-console p{margin:5px 0}.agent-status-actions{display:flex;gap:8px;flex-wrap:wrap}.support-agent-console form{margin:0}.support-agent-console button:disabled{cursor:not-allowed;opacity:.45}.agent-reservation-banner{display:flex;gap:12px;justify-content:space-between;margin:14px 0;padding:14px 16px;border:1px solid rgba(255,211,154,.24);border-radius:15px;background:rgba(255,177,76,.08)}.agent-reservation-banner span{color:var(--muted)}
.agent-console-help{display:block;margin-top:7px;color:var(--muted);line-height:1.45}
@media(max-width:900px){.support-agent-console{grid-template-columns:1fr}.agent-reservation-banner{display:grid}}
.single-auth-panel{grid-template-columns:minmax(0,650px);justify-content:center}.email-verification-banner{position:relative;z-index:6;display:flex;align-items:center;justify-content:center;gap:18px;padding:12px 20px;border-bottom:1px solid rgba(255,211,154,.2);background:rgba(255,177,76,.09);color:var(--muted-strong)}.email-verification-banner form{margin:0}.email-verification-banner .btn{padding:9px 14px}@media(max-width:700px){.email-verification-banner{align-items:flex-start;flex-direction:column}.email-verification-banner .btn{width:100%}}
.support-live-status{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:13px;align-items:center;margin:0 0 14px;padding:13px 15px;border:1px solid rgba(255,211,154,.3);border-radius:16px;background:linear-gradient(135deg,rgba(255,177,76,.1),rgba(56,232,255,.05))}.support-live-status.connected{border-color:rgba(81,255,176,.3);background:rgba(81,255,176,.07)}.support-live-main,.support-live-metrics{display:grid;gap:3px}.support-live-main span,.support-live-metrics span{color:var(--muted);font-size:.78rem}.support-live-metrics{text-align:right}.support-live-metrics strong{color:var(--champagne);font-size:.86rem}@media(max-width:700px){.support-live-status{grid-template-columns:auto 1fr}.support-live-metrics{grid-column:2;text-align:left}}

/* Membership subscription pricing and safely prepared checkout. */
.membership-pricing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;max-width:1200px;margin:0 auto}
.membership-pricing-grid .pricing-card{max-width:none;display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.membership-pricing-grid .pricing-card>.btn{width:100%;margin-top:auto;justify-content:center;text-align:center}
.membership-pricing-grid .pricing-card>p:not(.regular-plan-price){width:100%}
.membership-pricing-grid .pricing-card.featured{border-color:rgba(56,232,255,.3);box-shadow:0 24px 70px rgba(0,0,0,.3),0 0 28px rgba(56,232,255,.08)}
.plan-price{display:flex;align-items:baseline;gap:8px}.plan-price strong{font-size:clamp(2.2rem,4vw,4rem);color:var(--text)}
.plan-price span,.regular-plan-price{color:var(--muted)}
.payments-preview-note{display:flex;justify-content:center;gap:12px;max-width:800px;margin:22px auto 0;padding:16px}.payments-preview-note span{color:var(--muted)}
.prepared-checkout{display:grid;gap:5px;margin-top:16px;padding:16px;border:1px solid rgba(56,232,255,.22);border-radius:16px;background:rgba(56,232,255,.06)}
.prepared-checkout span{color:var(--champagne)}.prepared-checkout small{color:var(--muted)}
@media(max-width:800px){.membership-pricing-grid{grid-template-columns:1fr}.membership-pricing-grid .pricing-card{min-height:0}.payments-preview-note{align-items:flex-start;flex-direction:column}}

/* Rebuilt V2 fronts: one exact 1.6:1 geometry and unfiltered artwork everywhere. */
.public-card-grid.category-standard .card-choice-preview,
.public-card-grid.category-plus .card-choice-preview,
.public-card-grid.category-family .card-choice-preview,
.card-selector-grid.standard-only-grid .card-select-option,
.upgrade-card-group[data-plan-group="plus"] .card-select-option,
.upgrade-card-group[data-plan-group="family"] .card-select-option,
.profile-card-preview .image-profile-card-art,
.family-card-visual{
  aspect-ratio:1.6 / 1!important;
  background:transparent!important;
}
.public-card-grid.category-standard .card-choice-preview img,
.public-card-grid.category-plus .card-choice-preview img,
.public-card-grid.category-family .card-choice-preview img,
.card-selector-grid.standard-only-grid .card-select-option img,
.upgrade-card-group[data-plan-group="plus"] .card-select-option img,
.upgrade-card-group[data-plan-group="family"] .card-select-option img,
.profile-card-preview .image-profile-card-art img,
.family-card-visual img,
.digital-card-clean-page .membership-image-front>img{
  width:100%!important;
  height:100%!important;
  aspect-ratio:1.6 / 1!important;
  object-fit:contain!important;
  filter:none!important;
  background:transparent!important;
}
.public-card-grid.category-family .card-choice-preview img,
.upgrade-card-group[data-plan-group="family"] .card-select-option img,
.profile-card-preview .image-profile-card-art.tier-family img,
.family-card-visual img,
.digital-card-clean-page .membership-image-flip-card.tier-family .membership-image-front>img{
  width:100%!important;
  height:100%!important;
  aspect-ratio:1.6 / 1!important;
  object-fit:contain!important;
  filter:none!important;
  background:transparent!important;
}
