/* RyftHost public storefront v2 — isolated from logged-in billing/admin pages. */
body:has(.ryf-store) {
  /* Match Paymenter's utility palette to the dark storefront; avoid low-contrast navigation text. */
  --color-base: 225 70% 96%;
  --color-muted: 220 26% 72%;
  --color-background: 226 50% 7%;
  --color-background-secondary: 223 45% 10%;
  --color-neutral: 223 28% 24%;
  --color-primary: 173 78% 65%;
  --ryf-bg: #080d1c;
  --ryf-surface: #10182b;
  --ryf-surface2: #151f36;
  --ryf-border: rgba(160, 180, 230, .15);
  --ryf-text: #f3f7ff;
  --ryf-muted: #a4b3d2;
  --ryf-teal: #5de9d0;
  --ryf-blue: #7b91ff;
  --ryf-purple: #c09fff;
  --ryf-gradient: linear-gradient(105deg, #80a8ff 0%, #b7a0ff 47%, #77ebdf 100%);
  color: var(--ryf-text);
  background: var(--ryf-bg);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  color-scheme: dark;
}
body:has(.ryf-store) > div, body:has(.ryf-store) main { background: var(--ryf-bg); }
body:has(.ryf-store) nav.fixed {
  background: rgba(9, 15, 30, .92);
  border-color: rgba(160, 180, 230, .14);
  -webkit-backdrop-filter: blur(22px);
  backdrop-filter: blur(22px);
}
body:has(.ryf-store) nav.fixed a { transition: color .2s, opacity .2s; }
body:has(.ryf-store) nav.fixed a:hover { color: #8ceedd; }
body:has(.ryf-store) nav.fixed a[href="/"] > span,
body:has(.ryf-store) nav.fixed a[href="https://billing.ryfthost.tiandi.hr"] > span {
  font-weight: 850; letter-spacing: -.055em; font-size: 1.5rem;
}
body:has(.ryf-store) nav.fixed a[href="/"] > span::first-letter { color: #7f9aff; }
body:has(.ryf-store) [class*="bg-background-secondary"]:not(.ryf-store *) { background-color: #11192c; }
body:has(.ryf-store) footer { background: #090e1c !important; border-color: var(--ryf-border) !important; color: #adbbd8; }
body:has(.ryf-store) footer a { color: #b8c4dc; }
body:has(.ryf-store) footer a:hover { color: white; }
body:has(.ryf-store) :focus-visible { outline: 2px solid #79e8db; outline-offset: 3px; }
.ryf-store { color: var(--ryf-text); background: #080d1c; min-height: 55vh; overflow: clip; }
.ryf-store *, .ryf-store *:before, .ryf-store *:after { box-sizing: border-box; }
.ryf-wrap { width: min(100% - 40px, 1200px); margin-inline: auto; }
.ryf-kicker { display: inline-flex; gap: 9px; align-items: center; color: #8aeada; font-size: .72rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.ryf-kicker:before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; box-shadow: 0 0 15px currentColor; }
.ryf-hero {
  position: relative; padding: 100px 0 72px; isolation: isolate; overflow: hidden;
  background: radial-gradient(ellipse 48% 62% at 85% 38%, rgba(93, 99, 222, .23), transparent 74%),
  radial-gradient(ellipse 38% 43% at 20% 26%, rgba(41, 93, 184, .14), transparent 76%),
  linear-gradient(180deg, #0b1224 0%, #080d1c 100%);
  border-bottom: 1px solid var(--ryf-border);
}
.ryf-hero:before {
  content: ""; position: absolute; inset: 0; z-index: -1;
  background-image: linear-gradient(rgba(166,188,241,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(166,188,241,.035) 1px, transparent 1px);
  background-size: 54px 54px; mask-image: linear-gradient(90deg,transparent 2%,black 65%,transparent 100%);
}
.ryf-hero-inner { display: grid; grid-template-columns: 1.07fr .93fr; gap: 42px; align-items: center; }
.ryf-pill { display: inline-flex; gap: 9px; align-items: center; border: 1px solid rgba(105,229,205,.25); background: rgba(77,215,194,.07); color:#b2ffef; font-size:.76rem; font-weight:700; padding: 8px 13px; border-radius: 99px; margin-bottom: 25px; }
.ryf-pill-dot { height: 7px; width: 7px; border-radius:50%; background:#70ebc9; box-shadow:0 0 0 4px rgba(112,235,201,.12); }
.ryf-h1 { font-size: clamp(3rem, 5.5vw, 5.4rem); font-weight: 850; letter-spacing: -.072em; line-height:1.01; max-width: 660px; margin: 0; }
.ryf-glow-text { background: var(--ryf-gradient); -webkit-background-clip:text; background-clip:text; color:transparent; }
.ryf-lead { color: var(--ryf-muted); max-width: 560px; font-size: 1.07rem; line-height:1.8; margin: 24px 0 27px; }
.ryf-actions { display:flex; gap: 12px; flex-wrap:wrap; }
.ryf-btn { text-decoration:none !important; font-weight: 780; border-radius: 12px; display:inline-flex; align-items:center; justify-content:center; gap:10px; padding: 13px 21px; font-size:.89rem; min-height: 46px; transition: transform .2s, box-shadow .2s, background .2s, border-color .2s; }
.ryf-btn:hover { transform: translateY(-2px); }
.ryf-btn-main { color:#071326 !important; background:linear-gradient(110deg,#82a8ff,#76ece0); box-shadow:0 13px 29px rgba(74,135,229,.18); }
.ryf-btn-main:hover { box-shadow:0 19px 38px rgba(74,135,229,.3); }
.ryf-btn-ghost { border:1px solid rgba(159,180,226,.25); color:#e7ecff !important; background:rgba(255,255,255,.035); }
.ryf-btn-ghost:hover { border-color:rgba(151,182,247,.58); background:rgba(153,172,251,.08); }
.ryf-hero-notes { display:flex; flex-wrap:wrap; gap:10px 19px; color: #a5b3d3; font-size:.76rem; margin-top:31px; }
.ryf-hero-notes span { display:flex; align-items:center; gap:6px; }
.ryf-hero-notes span:before {content:"✓"; font-weight:800; color:#76ddcb;}
.ryf-stage { position:relative; aspect-ratio:1.02/1; min-height:355px; perspective:950px; }
.ryf-stage-orbit {position:absolute; inset:9%; border-radius:50%; border:1px solid rgba(132,159,245,.13); box-shadow: 0 0 0 38px rgba(113,136,223,.025), 0 0 0 78px rgba(113,136,223,.018);}
.ryf-stage:before {content:""; position:absolute; width:78%; height:78%; left:11%; top:11%; border-radius:50%; background: radial-gradient(circle,rgba(110,120,252,.21),transparent 67%); filter:blur(13px);}
.ryf-server-panel {position:absolute; left:15%; right:10%; top:14%; bottom:16%; background:linear-gradient(145deg,#18223b,#0e1527 75%); border:1px solid rgba(155,181,250,.23); border-radius:20px; transform:rotateY(-11deg) rotateX(5deg) rotateZ(-3deg); box-shadow:28px 30px 52px rgba(0,0,0,.36), -1px -1px 22px rgba(80,126,229,.09); padding:18px; overflow:hidden;}
.ryf-server-head {height:32px; display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid rgba(158,174,231,.12); padding-bottom:14px; color:#dfe8ff; font-size:.76rem; letter-spacing:.02em; font-weight:750;}
.ryf-server-indicator {font-size:.65rem; color:#72e9c3; padding:5px 8px; border:1px solid rgba(114,233,195,.22); background:rgba(114,233,195,.08); border-radius:99px;}
.ryf-server-lines {display:grid; gap:12px; margin-top:22px;}
.ryf-server-line {background:linear-gradient(90deg,#1e2b48,#19243e); border:1px solid rgba(126,148,212,.14); border-radius:9px; padding:13px 13px; display:flex; justify-content:space-between; gap:20px; align-items:center;}
.ryf-server-line:nth-child(2){opacity:.79}.ryf-server-line:nth-child(3){opacity:.62}
.ryf-server-blips {display:flex; gap:5px}.ryf-server-blips i{display:block;width:5px;height:5px;border-radius:50%;background:#5de3c4;box-shadow:0 0 7px #5de3c479}
.ryf-server-blips i:last-child{background:#7a8ef8;box-shadow:0 0 7px #7a8ef881}
.ryf-server-name{font-size:.66rem;color:#aec0e8;white-space:nowrap;}
.ryf-server-bar{height:6px;width:27%;background:#0d1629;border-radius:6px;overflow:hidden;}
.ryf-server-bar:before{content:"";display:block;height:100%;width:65%;background:linear-gradient(90deg,#527eff,#69dbc7);border-radius:6px}
.ryf-floating {position:absolute; z-index:2; padding:12px 15px; background:rgba(24,35,60,.96); border:1px solid rgba(134,167,245,.28); border-radius:13px; box-shadow:0 15px 25px rgba(0,0,0,.22); backdrop-filter:blur(10px);}
.ryf-float-left{left:0;bottom:25%;transform:rotate(-5deg)}
.ryf-float-right{right:0;top:23%;transform:rotate(6deg)}
.ryf-float-number {display:block;font-size:1.18rem;line-height:1.1;font-weight:850;color:#f1f8ff}
.ryf-float-caption {display:block;font-size:.64rem;color:#a7b6d4;margin-top:4px}
.ryf-statbar{border-bottom:1px solid var(--ryf-border);background:rgba(21,31,52,.44);}
.ryf-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));}
.ryf-stat{display:flex;align-items:center;justify-content:center;gap:11px;padding:24px 16px;border-right:1px solid var(--ryf-border);color:#b5c3dd;font-size:.79rem;}
.ryf-stat:first-child{border-left:1px solid var(--ryf-border)}
.ryf-stat-icon{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:9px;color:#86dfe4;background:rgba(91,191,238,.085);font-size:1rem;}
.ryf-stat strong{display:block;color:#edf5ff;font-weight:760;font-size:.87rem}
.ryf-section{padding:88px 0;}
.ryf-section-subtle{background:linear-gradient(180deg,#0a1122,#0e1629);}
.ryf-section-kicker {color:#80e5d6;font-size:.73rem;text-transform:uppercase;letter-spacing:.13em;font-weight:800;}
.ryf-section-title {font-size:clamp(1.75rem,3vw,2.85rem);line-height:1.15;letter-spacing:-.048em;font-weight:830;margin:12px 0;}
.ryf-section-desc {color:var(--ryf-muted);font-size:.98rem;line-height:1.7;max-width:625px;}
.ryf-section-header {display:flex;align-items:end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:32px;}
.ryf-link {color:#8eeadd;text-decoration:none !important;font-weight:720;font-size:.85rem;display:inline-flex;align-items:center;gap:8px;}
.ryf-link:hover{color:white;}
.ryf-game-grid {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;}
.ryf-game-card {position:relative;min-height:200px;padding:25px 19px;border-radius:18px;border:1px solid var(--ryf-border);text-decoration:none !important;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;background: radial-gradient(ellipse at 82% 12%,var(--ryf-game-glow,rgba(90,117,232,.23)),transparent 65%),linear-gradient(155deg,#17213a,#0f1729);overflow:hidden;transition:transform .2s,border-color .2s,box-shadow .2s;}
.ryf-game-card:hover{transform:translateY(-5px);border-color:rgba(141,165,240,.52);box-shadow:0 18px 40px rgba(0,0,0,.18);}
.ryf-game-card:after {content:"";position:absolute;right:-15px;bottom:-55px;width:130px;height:130px;border:1px solid rgba(215,222,255,.075);border-radius:28px;transform:rotate(-30deg);}
.ryf-game-symbol{font-size:1.8rem;line-height:1;display:grid;place-items:center;width:54px;height:54px;border-radius:14px;border:1px solid rgba(211,223,255,.14);background:rgba(255,255,255,.055);}
.ryf-game-name{position:relative;z-index:1;font-size:1.08rem;line-height:1.2;font-weight:790;color:#f4f7ff;}
.ryf-game-meta{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:8px;color:#a9b8d4;width:100%;font-size:.71rem;margin-top:8px}
.ryf-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
.ryf-product-card{position:relative;background:linear-gradient(165deg,#18233c,#101a2e 63%,#111c31);border:1px solid var(--ryf-border);border-radius:18px;padding:25px;display:flex;flex-direction:column;min-height:287px;transition:transform .2s,border-color .2s,box-shadow .2s;}
.ryf-product-card:hover{transform:translateY(-3px);border-color:rgba(138,171,245,.49);box-shadow:0 19px 35px rgba(0,0,0,.14);}
.ryf-product-card.ryf-highlight {border-color:rgba(117,221,205,.47);background:radial-gradient(ellipse at 100% 0%,rgba(99,189,213,.1),transparent 66%),linear-gradient(165deg,#1b2945,#121c31);}
.ryf-product-title{font-size:1.13rem;font-weight:820;letter-spacing:-.018em;line-height:1.3;max-width:95%;}
.ryf-product-subtitle{font-size:.72rem;color:#b8c6dd;margin-top:7px;}
.ryf-plan-label {font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;font-weight:800;color:#8fe7d6;margin-bottom:11px;}
.ryf-price {display:flex;align-items:baseline;gap:6px;margin-top:20px;font-weight:830;font-size:2.2rem;line-height:1.1;letter-spacing:-.05em;color:#fff;}
.ryf-price small{font-size:.76rem;color:#99abc9;font-weight:500;letter-spacing:0;}
.ryf-specs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;border-top:1px solid var(--ryf-border);border-bottom:1px solid var(--ryf-border);padding:16px 0;margin-top:18px;}
.ryf-spec label{display:block;color:#8194b7;text-transform:uppercase;letter-spacing:.065em;font-size:.59rem;font-weight:750;margin-bottom:5px;}
.ryf-spec b{color:#e8f1ff;font-size:.88rem;font-weight:760;white-space:nowrap;}
.ryf-product-footer {display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:auto;padding-top:17px;}
.ryf-card-status{font-size:.68rem;font-weight:740;color:#ddbfa0;background:rgba(229,161,96,.1);border:1px solid rgba(218,155,109,.2);border-radius:99px;padding:6px 9px;}
.ryf-card-link{font-size:.8rem;font-weight:770;color:#8fe9dd;text-decoration:none!important;}
.ryf-card-link:hover{color:white;}
.ryf-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:35px;}
.ryf-feature{background:#121c30;border:1px solid var(--ryf-border);border-radius:18px;padding:30px;}
.ryf-feature-icon{display:grid;place-items:center;background:rgba(94,158,244,.09);border:1px solid rgba(135,178,245,.2);border-radius:12px;width:46px;height:46px;font-size:1.4rem;margin-bottom:23px;}
.ryf-feature-title{font-size:1.12rem;font-weight:790;margin-bottom:9px;}
.ryf-feature-copy{font-size:.85rem;color:#9db0ce;line-height:1.75;}
.ryf-callout{display:flex;align-items:center;justify-content:space-between;gap:32px;background:radial-gradient(ellipse at 90% 15%,rgba(92,147,238,.18),transparent 60%),linear-gradient(115deg,#182946,#101a30);border:1px solid rgba(139,172,240,.25);border-radius:22px;padding:40px 44px;box-shadow:0 25px 55px rgba(0,0,0,.13);}
.ryf-page-hero{padding:70px 0 50px;background:radial-gradient(ellipse at 72% 15%,rgba(81,116,213,.22),transparent 55%),linear-gradient(180deg,#0d1529,#080d1c);border-bottom:1px solid var(--ryf-border);}
.ryf-page-title{font-size:clamp(2.4rem,5vw,4.3rem);letter-spacing:-.065em;line-height:1.08;font-weight:850;margin:14px 0;}
.ryf-page-lead{color:#acbbda;font-size:1.05rem;max-width:780px;line-height:1.73;}
.ryf-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;font-size:.78rem;color:#97aacd;}
.ryf-breadcrumb a{color:#8ceadd;text-decoration:none!important;}
.ryf-preview-banner{background:linear-gradient(100deg,rgba(89,153,236,.09),rgba(106,219,194,.06));border:1px solid rgba(127,169,226,.23);border-radius:14px;padding:17px 19px;color:#bed0ea;font-size:.84rem;line-height:1.6;}
.ryf-preview-banner strong{color:#f3f9ff;}
.ryf-chips{display:flex;flex-wrap:wrap;gap:9px;margin:25px 0 0;}
.ryf-chip{display:inline-flex;align-items:center;gap:7px;padding:9px 14px;border-radius:99px;background:#17223a;color:#bbcae8;text-decoration:none!important;border:1px solid rgba(133,166,231,.2);font-size:.78rem;font-weight:700;transition:background .2s;}
.ryf-chip:hover{background:#22314d;color:#fff;}
.ryf-content-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;margin-top:32px;}
.ryf-content-card{background:linear-gradient(155deg,#151f34,#10182b);border:1px solid var(--ryf-border);border-radius:18px;padding:28px;}
.ryf-content-card h2{font-size:1.3rem;font-weight:800;letter-spacing:-.022em;margin-bottom:15px;}
.ryf-content-card p,.ryf-content-card li{color:#b2c2df;font-size:.92rem;line-height:1.85;}
.ryf-content-card p+p{margin-top:10px;}
.ryf-content-card ul{list-style:disc;margin-left:1.4rem;display:grid;gap:5px;}
.ryf-details-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);gap:26px;padding:50px 0 90px;}
.ryf-details-spec-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;}
.ryf-details-tile{border:1px solid var(--ryf-border);background:#162137;border-radius:13px;padding:18px;}
.ryf-details-tile small{display:block;color:#98aac8;letter-spacing:.065em;text-transform:uppercase;font-size:.65rem;font-weight:750;margin-bottom:8px;}
.ryf-details-tile strong{font-size:1.4rem;font-weight:830;}
.ryf-details-price{font-size:2.8rem;font-weight:850;letter-spacing:-.045em;}
.ryf-details-price span{font-size:.82rem;color:#a7b9d7;font-weight:500;letter-spacing:0;}
.ryf-horizon{height:1px;background:var(--ryf-border);margin:22px 0;}
.ryf-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:32px;}
.ryf-step{display:flex;gap:13px;align-items:flex-start;}
.ryf-step-number{display:grid;place-items:center;border:1px solid rgba(145,177,248,.35);background:#1a2a47;border-radius:10px;width:34px;height:34px;flex:none;font-size:.82rem;font-weight:850;color:#91e2db;}
.ryf-step strong{display:block;font-size:.85rem;margin-bottom:6px}.ryf-step p{font-size:.76rem;color:#9cafcb;line-height:1.6;}
.ryf-footer{background:#080d19;border-top:1px solid var(--ryf-border);padding:46px 0 26px;}
.ryf-footer-top{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:42px;}
.ryf-footer-brand{font-size:1.5rem;font-weight:850;letter-spacing:-.05em;color:white;}
.ryf-footer-brand em{font-style:normal;color:#81e7d7;}
.ryf-footer-copy{color:#8397ba;line-height:1.7;font-size:.77rem;margin-top:11px;max-width:320px;}
.ryf-footer-link-label{font-size:.72rem;letter-spacing:.11em;text-transform:uppercase;font-weight:770;color:#c9d5f1;margin-bottom:15px;}
.ryf-footer-links{display:grid;gap:10px;}
.ryf-footer-links a{font-size:.82rem;color:#95a9cb;text-decoration:none!important;}
.ryf-footer-links a:hover{color:#8be7da;}
.ryf-footer-bottom{border-top:1px solid var(--ryf-border);margin-top:32px;padding-top:18px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:.68rem;color:#778eae;}
/* Remove duplicate stock Paymenter footer ONLY on public storefront pages. */
body:has(.ryf-store) .ryf-site-original-footer {display:none;}
body:has(.ryf-store) footer.w-full {display:none;}
@media (max-width:1100px) { .ryf-game-grid{grid-template-columns:repeat(3,minmax(0,1fr))} }
@media (max-width:900px) {
  .ryf-hero-inner{grid-template-columns:1fr;}
  .ryf-hero{padding:70px 0 50px;}
  .ryf-stage{width:min(100%,490px);margin-inline:auto;min-height:310px;}
  .ryf-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .ryf-details-layout{grid-template-columns:1fr;}
  .ryf-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .ryf-stat:nth-child(3){border-left:1px solid var(--ryf-border);}
  .ryf-stat:nth-child(-n+2){border-bottom:1px solid var(--ryf-border);}
}
@media(max-width:630px){
  .ryf-wrap{width:min(100% - 32px,1200px);}
  .ryf-h1{font-size:clamp(2.72rem,11vw,4rem);}
  .ryf-hero{padding:48px 0;}
  .ryf-hero-inner{gap:26px;}
  .ryf-stage{min-height:280px;}
  .ryf-server-panel{left:11%;right:8%;}
  .ryf-float-left{left:0;bottom:11%;}
  .ryf-float-right{right:0;top:13%;}
  .ryf-stat{padding:16px 7px;justify-content:flex-start;font-size:.72rem;}
  .ryf-section{padding:55px 0;}
  .ryf-game-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  .ryf-game-card{padding:19px 15px;min-height:170px;}
  .ryf-game-symbol{width:44px;height:44px;font-size:1.5rem;}
  .ryf-game-name{font-size:.95rem;}
  .ryf-product-grid,.ryf-feature-grid,.ryf-steps{grid-template-columns:1fr;}
  .ryf-product-card{min-height:260px;}
  .ryf-callout{padding:27px 23px;flex-direction:column;align-items:flex-start;}
  .ryf-page-hero{padding:42px 0 30px;}
  .ryf-details-layout{padding:32px 0 60px;gap:18px;}
  .ryf-details-spec-grid{gap:9px;}
  .ryf-footer-top{grid-template-columns:1fr 1fr;gap:27px;}
  .ryf-footer-top>div:first-child{grid-column:1/-1;}
  .ryf-feature{padding:24px;}
  .ryf-content-card{padding:23px;}
}
@media(prefers-reduced-motion:reduce){
  .ryf-store *,.ryf-store *:before,.ryf-store *:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}
}


/* V3 — accessible two-mode theme switch and responsive Shop category mega menu */
.ryf-header-theme { flex: none; }
.ryf-mode-toggle {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-width: 78px; height: 37px; padding: 0 11px; cursor: pointer;
  border-radius: 11px; border: 1px solid rgba(146,167,215,.26);
  background: rgba(126,149,211,.075); color: var(--ryf-text, #f2f6ff);
  font-size: .77rem; font-weight: 760; line-height: 1;
  transition: background .2s, transform .2s, border-color .2s;
}
.ryf-mode-toggle:hover { background: rgba(127,161,229,.14); border-color: rgba(139,176,235,.58); }
.ryf-mode-toggle:focus-visible { outline: 2px solid #2fb3a7; outline-offset: 3px; }
.ryf-mode-icon { display:inline-flex; align-items:center; justify-content:center; color:var(--ryf-teal, #5de9d0); }
.ryf-mode-label { white-space:nowrap; }
.ryf-shop-wrap { align-self: center; }
.ryf-shop-trigger {
  display:flex; align-items:center; gap:8px; justify-content:center;
  padding: 11px 14px; color:var(--ryf-text,#f2f6ff);
  font-size:.85rem; font-weight:760; border-radius:11px; cursor:pointer;
  transition: background .15s,color .15s;
}
.ryf-shop-trigger:hover, .ryf-shop-trigger[aria-expanded="true"] { background:rgba(128,170,233,.10); color:var(--ryf-teal,#5de9d0); }
.ryf-shop-trigger svg { transition:transform .15s ease; }
.ryf-shop-trigger:focus-visible { outline:2px solid var(--ryf-teal,#54d4c8);outline-offset:2px; }
.ryf-shop-menu {
  --ryf-shop-surface: #101a2f;
  --ryf-shop-muted: #98a9c7;
  position:absolute; left:-65px; top:calc(100% + 8px); z-index:60;
  width: min(575px, calc(100vw - 48px)); padding: 20px;
  color:var(--ryf-text,#f2f6ff); background:var(--ryf-shop-surface);
  border:1px solid var(--ryf-border,rgba(153,179,229,.18)); border-radius:19px;
  box-shadow:0 30px 68px rgba(0,0,0,.38), 0 0 30px rgba(45,81,154,.09);
}
.ryf-shop-menu-top { display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:14px;padding:0 3px; }
.ryf-shop-eyebrow {font-size:.66rem;letter-spacing:.12em;font-weight:820;color:var(--ryf-shop-muted);}
.ryf-shop-prelaunch {font-size:.67rem;font-weight:720;color:var(--ryf-teal,#5de9d0);}
.ryf-shop-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
.ryf-shop-item {display:flex;align-items:center;gap:11px;min-height:76px;padding:12px 10px;text-decoration:none!important;border-radius:13px;border:1px solid transparent;transition:background .16s,border-color .16s;}
.ryf-shop-item:hover,.ryf-shop-item:focus-visible {background:rgba(116,155,222,.11);border-color:rgba(117,169,225,.25);}
.ryf-shop-icon {display:grid;flex:none;place-items:center;width:40px;height:40px;border-radius:11px;color:#80e9d9;background:rgba(68,187,170,.12);font-size:1.25rem;}
.ryf-shop-icon-rust {color:#f0a979;background:rgba(241,165,94,.12);}
.ryf-shop-icon-ark {color:#b6a2ff;background:rgba(173,144,246,.13);}
.ryf-shop-icon-source {color:#8cafff;background:rgba(110,146,242,.13);}
.ryf-shop-icon-voice {color:#f2a1cb;background:rgba(242,142,191,.11);}
.ryf-shop-item-text{display:grid;gap:4px;min-width:0;flex:1;}
.ryf-shop-item-text strong{font-size:.81rem;color:var(--ryf-text,#f2f6ff);font-weight:770;line-height:1.2;}
.ryf-shop-item-text small{font-size:.69rem;color:var(--ryf-shop-muted);white-space:normal;line-height:1.3;}
.ryf-shop-item-arrow{color:var(--ryf-shop-muted);font-size:.85rem;}
.ryf-shop-menu-bottom{margin-top:13px;padding:14px 15px;display:flex;justify-content:space-between;align-items:center;gap:10px;border-radius:11px;background:linear-gradient(105deg,rgba(98,148,236,.12),rgba(67,208,184,.08));color:var(--ryf-teal,#5de9d0);text-decoration:none!important;font-size:.79rem;font-weight:800;}
.ryf-shop-menu-bottom:hover{background:linear-gradient(105deg,rgba(98,148,236,.20),rgba(67,208,184,.14));}
@media(max-width:650px) {
  .ryf-mode-toggle{min-width:36px;width:36px;height:36px;padding:0;}
  .ryf-mode-label{display:none;}
}

/* The storefront respects Paymenter's Alpine theme state: dark class on body. */
/* Light mode overrides only public catalog pages, not customer invoices/admin screens. */
body:not(.dark):has(.ryf-store) {
  --color-base: 220 55% 17%;
  --color-muted: 222 18% 37%;
  --color-background: 220 48% 98%;
  --color-background-secondary: 0 0% 100%;
  --color-neutral: 219 32% 87%;
  --color-primary: 173 75% 31%;
  --ryf-bg: #f5f8ff;
  --ryf-surface: #fff;
  --ryf-surface2: #edf3ff;
  --ryf-border: rgba(73,102,150,.18);
  --ryf-text: #16243c;
  --ryf-muted: #566783;
  --ryf-teal: #087e76;
  --ryf-blue: #365eb8;
  --ryf-purple: #654fb2;
  --ryf-gradient: linear-gradient(105deg, #416bcb 0%, #7660c8 48%, #058d84 100%);
  background:#f5f8ff; color:#17243e; color-scheme:light;
}
body:not(.dark):has(.ryf-store) > div,body:not(.dark):has(.ryf-store) main {background:var(--ryf-bg);}
body:not(.dark):has(.ryf-store) .ryf-store {color:var(--ryf-text);background:var(--ryf-bg);}
body:not(.dark):has(.ryf-store) nav.fixed {
  background:rgba(255,255,255,.96); border-color:rgba(68,100,156,.13);box-shadow:0 4px 30px rgba(45,68,110,.045);
}
body:not(.dark):has(.ryf-store) nav.fixed a:hover{color:#0e8177;}
body:not(.dark):has(.ryf-store) [class*="bg-background-secondary"]:not(.ryf-store *) {background-color:#fff;}
body:not(.dark):has(.ryf-store) .ryf-mode-toggle{color:#263d5a;background:#eff4fb;border-color:#d6e0f1;}
body:not(.dark):has(.ryf-store) .ryf-mode-toggle:hover{background:#e4edfc;}
body:not(.dark):has(.ryf-store) .ryf-shop-menu{--ryf-shop-surface:#fff;--ryf-shop-muted:#657892;box-shadow:0 25px 62px rgba(48,75,122,.19);}
body:not(.dark):has(.ryf-store) .ryf-shop-item:hover,body:not(.dark):has(.ryf-store) .ryf-shop-item:focus-visible{background:#eff5ff;border-color:#d8e5f9;}
body:not(.dark):has(.ryf-store) .ryf-shop-menu-bottom{background:#eff6ff;}
body:not(.dark):has(.ryf-store) .ryf-shop-menu-bottom:hover{background:#e0edff;}
body:not(.dark):has(.ryf-store) .ryf-hero{
 background:radial-gradient(ellipse 50% 60% at 86% 40%,rgba(142,161,244,.21),transparent 74%),
 radial-gradient(ellipse 37% 46% at 13% 28%,rgba(93,180,198,.09),transparent 70%),
 linear-gradient(180deg,#f7f9ff,#eff5ff);
}
body:not(.dark):has(.ryf-store) .ryf-hero:before{background-image:linear-gradient(rgba(65,108,163,.075) 1px,transparent 1px),linear-gradient(90deg,rgba(65,108,163,.075) 1px,transparent 1px);}
body:not(.dark):has(.ryf-store) .ryf-pill{background:#e9f8f5;border-color:#bbe8df;color:#116b66;}
body:not(.dark):has(.ryf-store) .ryf-pill-dot{background:#108979;box-shadow:0 0 0 4px rgba(14,142,122,.10);}
body:not(.dark):has(.ryf-store) .ryf-glow-text{background:var(--ryf-gradient);background-clip:text;-webkit-background-clip:text;}
body:not(.dark):has(.ryf-store) .ryf-lead{color:#5a6b85;}
body:not(.dark):has(.ryf-store) .ryf-hero-notes{color:#536885;}
body:not(.dark):has(.ryf-store) .ryf-hero-notes span:before{color:#088d77;}
body:not(.dark):has(.ryf-store) .ryf-btn-main{color:#fff!important;background:linear-gradient(105deg,#406bd2,#087e84);box-shadow:0 12px 30px rgba(49,105,194,.19);}
body:not(.dark):has(.ryf-store) .ryf-btn-ghost{color:#234268!important;background:rgba(255,255,255,.72);border-color:#c6d5e9;}
body:not(.dark):has(.ryf-store) .ryf-btn-ghost:hover{background:#fff;border-color:#90a8d8;}
body:not(.dark):has(.ryf-store) .ryf-statbar{background:#fff;}
body:not(.dark):has(.ryf-store) .ryf-stat{color:#546882;}
body:not(.dark):has(.ryf-store) .ryf-stat strong{color:#20304a;}
body:not(.dark):has(.ryf-store) .ryf-stat-icon{background:#edf5fd;color:#187a87;}
body:not(.dark):has(.ryf-store) .ryf-section-subtle{background:linear-gradient(180deg,#edf3fe,#e7eefb);}
body:not(.dark):has(.ryf-store) .ryf-section-kicker,body:not(.dark):has(.ryf-store) .ryf-link{color:#087d76;}
body:not(.dark):has(.ryf-store) .ryf-link:hover{color:#194a97;}
body:not(.dark):has(.ryf-store) .ryf-game-card{
 background:radial-gradient(ellipse at 82% 12%,var(--ryf-game-glow,rgba(90,117,232,.12)),transparent 68%),linear-gradient(155deg,#fff,#eef4ff);
 box-shadow:0 5px 22px rgba(50,83,135,.055);
}
body:not(.dark):has(.ryf-store) .ryf-game-card:hover{box-shadow:0 16px 32px rgba(50,83,135,.13);}
body:not(.dark):has(.ryf-store) .ryf-game-card:after{border-color:rgba(56,86,148,.09);}
body:not(.dark):has(.ryf-store) .ryf-game-name{color:#21334d;}
body:not(.dark):has(.ryf-store) .ryf-game-meta{color:#5c6d87;}
body:not(.dark):has(.ryf-store) .ryf-game-symbol{background:rgba(255,255,255,.83);border-color:rgba(85,106,164,.18);}
body:not(.dark):has(.ryf-store) .ryf-product-card{background:linear-gradient(155deg,#fff,#f1f6ff 100%);box-shadow:0 5px 20px rgba(58,88,141,.06);}
body:not(.dark):has(.ryf-store) .ryf-product-card.ryf-highlight{background:radial-gradient(ellipse at 100% 0%,rgba(79,181,170,.12),transparent 65%),linear-gradient(150deg,#fff,#ecf5ff);border-color:#81c8c3;}
body:not(.dark):has(.ryf-store) .ryf-product-card:hover{box-shadow:0 16px 34px rgba(63,88,141,.13);}
body:not(.dark):has(.ryf-store) .ryf-plan-label{color:#0d8175;}
body:not(.dark):has(.ryf-store) .ryf-product-subtitle{color:#667791;}
body:not(.dark):has(.ryf-store) .ryf-price{color:#182c4a;}
body:not(.dark):has(.ryf-store) .ryf-price small{color:#61728c;}
body:not(.dark):has(.ryf-store) .ryf-spec label{color:#61728c;}
body:not(.dark):has(.ryf-store) .ryf-spec b{color:#263a5c;}
body:not(.dark):has(.ryf-store) .ryf-card-status{color:#985917;background:#fff5e6;border-color:#f4d6a4;}
body:not(.dark):has(.ryf-store) .ryf-card-link{color:#096f73;}
body:not(.dark):has(.ryf-store) .ryf-card-link:hover{color:#144d98;}
body:not(.dark):has(.ryf-store) .ryf-feature{background:#fff;box-shadow:0 7px 25px rgba(65,92,150,.045);}
body:not(.dark):has(.ryf-store) .ryf-feature-icon{background:#edf5ff;border-color:#d6e4fa;}
body:not(.dark):has(.ryf-store) .ryf-feature-copy{color:#5e6f88;}
body:not(.dark):has(.ryf-store) .ryf-callout{background:radial-gradient(ellipse at 92% 7%,rgba(92,148,238,.16),transparent 60%),linear-gradient(115deg,#eef5ff,#fbfdff);border-color:#c6d6f4;box-shadow:0 12px 32px rgba(52,82,138,.085);}
body:not(.dark):has(.ryf-store) .ryf-page-hero{background:radial-gradient(ellipse at 72% 15%,rgba(83,133,234,.12),transparent 55%),linear-gradient(180deg,#f7f9ff,#eef4ff);}
body:not(.dark):has(.ryf-store) .ryf-page-lead{color:#5b6d86;}
body:not(.dark):has(.ryf-store) .ryf-breadcrumb{color:#637894;}
body:not(.dark):has(.ryf-store) .ryf-breadcrumb a{color:#0a7b78;}
body:not(.dark):has(.ryf-store) .ryf-preview-banner{background:#eaf4ff;border-color:#c5dafa;color:#455d7c;}
body:not(.dark):has(.ryf-store) .ryf-preview-banner strong{color:#1d3b65;}
body:not(.dark):has(.ryf-store) .ryf-chip{background:#fff;color:#485f7c;border-color:#cfddf0;}
body:not(.dark):has(.ryf-store) .ryf-chip:hover{background:#eaf2ff;color:#274b91;}
body:not(.dark):has(.ryf-store) .ryf-content-card{background:linear-gradient(155deg,#fff,#f5f8ff);box-shadow:0 5px 19px rgba(60,89,144,.035);}
body:not(.dark):has(.ryf-store) .ryf-content-card p,body:not(.dark):has(.ryf-store) .ryf-content-card li{color:#536780;}
body:not(.dark):has(.ryf-store) .ryf-details-tile{background:#f1f6ff;}
body:not(.dark):has(.ryf-store) .ryf-details-tile small{color:#637791;}
body:not(.dark):has(.ryf-store) .ryf-steps .ryf-step-number{background:#e2f3f4;color:#08776e;border-color:#bde3df;}
body:not(.dark):has(.ryf-store) .ryf-step p{color:#5c718e;}
body:not(.dark):has(.ryf-store) .ryf-product-card [style*="color:#a5b5d1"]{color:#586c87!important;}
body:not(.dark):has(.ryf-store) .ryf-store [style*="color:#8f9fbe"]{color:#5b6d86!important;}
body:not(.dark):has(.ryf-store) footer{background:#f0f5ff!important;border-color:#cfdaec!important;color:#536886;}
body:not(.dark):has(.ryf-store) .ryf-footer-brand{color:#193052;}
body:not(.dark):has(.ryf-store) .ryf-footer-brand em{color:#087e75;}
body:not(.dark):has(.ryf-store) .ryf-footer-copy{color:#58708b;}
body:not(.dark):has(.ryf-store) .ryf-footer-link-label{color:#2c4364;}
body:not(.dark):has(.ryf-store) .ryf-footer-links a{color:#536d8a;}
body:not(.dark):has(.ryf-store) .ryf-footer-links a:hover{color:#056e6d;}
body:not(.dark):has(.ryf-store) .ryf-footer-bottom{color:#617892;}
body:not(.dark):has(.ryf-store) footer a{color:#536d8a;}
body:not(.dark):has(.ryf-store) footer a:hover{color:#056e6d;}


/* Preserve readable, branded nav controls on client login/dashboard routes too. */
body:not(.dark) .ryf-mode-toggle {
  color:#213654; background:#eef4fc; border-color:#d4e0f1;
}
body:not(.dark) .ryf-shop-trigger {color:#213654;}
body:not(.dark) .ryf-shop-menu {
  --ryf-shop-surface:#fff;
  --ryf-shop-muted:#60758f;
  --ryf-text:#213654;
  --ryf-teal:#087d74;
  --ryf-border:#d5e0ef;
  box-shadow:0 24px 55px rgba(32,60,102,.20);
}
body:not(.dark) .ryf-shop-item:hover,body:not(.dark) .ryf-shop-item:focus-visible {background:#edf5ff;border-color:#d7e5f5;}
body:not(.dark) .ryf-shop-menu-bottom{background:#eaf3ff;}
body:not(.dark) .ryf-shop-menu-bottom:hover{background:#dceaff;}
body.dark .ryf-mode-toggle{color:#f0f7ff;background:rgba(124,154,220,.10);}
body.dark .ryf-shop-trigger{color:#f0f7ff;}
