/* RIFT SHOP V8 — premium storefront visual system */
:root{
  --v8-bg:#03050a;--v8-panel:rgba(10,14,22,.78);--v8-panel2:rgba(14,19,30,.88);
  --v8-line:rgba(255,255,255,.085);--v8-line2:rgba(255,255,255,.14);--v8-text:#f7f9fd;--v8-muted:#8793a7;
  --v8-blue:#76a9ff;--v8-purple:#a27cff;--v8-green:#5de0ad;--v8-red:#ff7186;
}
body.v8{background:
 radial-gradient(900px 500px at 50% -180px,rgba(96,142,255,.13),transparent 65%),
 radial-gradient(700px 600px at 100% 35%,rgba(145,88,255,.08),transparent 68%),
 radial-gradient(600px 500px at 0 75%,rgba(38,190,255,.045),transparent 70%),#03050a;}
body.v8:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-4;opacity:.24;background-image:linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(to bottom,#000,transparent 78%)}
body.v8 .nav{height:82px;border-color:rgba(255,255,255,.055);background:rgba(3,5,10,.72);backdrop-filter:blur(24px);box-shadow:0 16px 50px rgba(0,0,0,.18)}
body.v8 .brand{font-weight:900;letter-spacing:-.04em}.brand-mark{box-shadow:0 0 0 1px rgba(118,169,255,.08),0 0 28px rgba(118,169,255,.08)}
body.v8 .links a{color:#7e899b;transition:color .2s,background .2s,transform .2s}.v8 .links a:hover{color:#fff}.v8 .links .nav-cta{color:#0a0d13;background:#f5f7fb;border-color:#f5f7fb;padding:10px 14px;border-radius:10px}
.v8-topbar{position:relative;z-index:70;height:34px;display:flex;align-items:center;justify-content:center;gap:7px;background:linear-gradient(90deg,rgba(86,126,255,.08),rgba(162,124,255,.1),rgba(86,126,255,.08));border-bottom:1px solid rgba(255,255,255,.055);font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:#7d8ba1}.v8-topbar b{color:#dfe7f5}.v8-topbar a{color:#a9c4ff;margin-left:7px}
.v8-page{width:min(1280px,calc(100% - 40px));margin:auto;padding:74px 0 110px}.v8-page-head{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:34px}.v8-kicker{display:inline-flex;align-items:center;gap:9px;color:#718097;font-size:9px;font-weight:900;letter-spacing:.28em;text-transform:uppercase}.v8-kicker:before{content:"";width:24px;height:1px;background:linear-gradient(90deg,var(--v8-blue),transparent)}.v8-page-head h1{font:800 clamp(48px,7vw,88px)/.9 "Space Grotesk",Inter,sans-serif;letter-spacing:-.075em;margin:14px 0 15px}.v8-page-head h1 em{font-style:normal;color:var(--v8-blue)}.v8-page-head p{max-width:620px;color:#7e8b9f;font-size:13px;line-height:1.75;margin:0}
.v8-surface{background:linear-gradient(145deg,rgba(17,23,35,.78),rgba(6,9,15,.88));border:1px solid var(--v8-line);box-shadow:0 30px 100px rgba(0,0,0,.24),inset 0 1px rgba(255,255,255,.025);border-radius:22px}
.v8-glow{position:relative;isolation:isolate}.v8-glow:before{content:"";position:absolute;inset:-1px;border-radius:inherit;background:radial-gradient(600px 180px at 30% 0,rgba(118,169,255,.09),transparent 70%);z-index:-1;pointer-events:none}
/* Product/catalog refresh */
.products-shell{width:min(1280px,calc(100% - 40px));padding:78px 0 110px;margin:auto}.products-hero{position:relative;overflow:hidden;border:1px solid var(--v8-line);border-radius:28px;padding:54px 52px;background:linear-gradient(135deg,rgba(13,19,30,.96),rgba(5,8,14,.94));box-shadow:0 35px 100px rgba(0,0,0,.24);display:flex;align-items:end;justify-content:space-between;gap:30px}.products-hero:before{content:"";position:absolute;width:520px;height:520px;right:-170px;top:-250px;border-radius:50%;border:1px solid rgba(118,169,255,.13);box-shadow:0 0 100px rgba(118,169,255,.09),inset 0 0 90px rgba(162,124,255,.06)}.products-hero:after{content:"RIFT";position:absolute;right:34px;bottom:-42px;font:900 150px/1 "Space Grotesk";letter-spacing:-.09em;color:rgba(255,255,255,.025);transform:skew(-10deg);pointer-events:none}.products-kicker{position:relative;color:#718097;font-size:9px;font-weight:900;letter-spacing:.27em}.products-hero h1{position:relative;font:800 clamp(58px,8vw,105px)/.84 "Space Grotesk";letter-spacing:-.085em;margin:17px 0 20px}.products-hero h1 em{color:var(--v8-blue);font-style:normal}.products-hero p{position:relative;color:#7d899d;max-width:600px;line-height:1.75;font-size:13px}.products-metrics{position:relative;display:flex;gap:28px}.products-metric{min-width:80px;padding-left:16px;border-left:1px solid var(--v8-line2)}.products-metric b{display:block;font:800 24px/1 "Space Grotesk"}.products-metric span{display:block;color:#657389;font-size:9px;text-transform:uppercase;letter-spacing:.14em;margin-top:7px}
.products-toolbar{margin:18px 0 13px;display:grid;grid-template-columns:minmax(0,1fr) 190px 120px;gap:9px}.products-search,.products-select,.products-view{height:50px;border:1px solid var(--v8-line);border-radius:13px;background:rgba(7,10,16,.8);color:#9aa7ba}.products-search{display:flex;align-items:center;padding:0 15px;gap:10px}.products-search span{font-size:18px;color:#59677b}.products-search input{width:100%;border:0;outline:0;background:transparent;color:#fff}.products-select,.products-view{padding:0 14px}.products-view{cursor:pointer;background:rgba(255,255,255,.035);font-weight:800}.products-toolbar>*:focus-within{border-color:rgba(118,169,255,.42);box-shadow:0 0 0 3px rgba(118,169,255,.06)}
.products-tabs{gap:7px}.products-tab{border-radius:999px;padding:10px 14px;background:rgba(255,255,255,.025);border-color:var(--v8-line);transition:.2s}.products-tab:hover{background:rgba(255,255,255,.06);transform:translateY(-1px)}.products-tab.active{background:linear-gradient(135deg,#f5f7fb,#cddcff);box-shadow:0 8px 30px rgba(112,157,255,.12)}
.products-layout{grid-template-columns:190px minmax(0,1fr);gap:20px}.products-sidebar{top:105px;background:rgba(7,11,18,.72);border-radius:18px}.products-side-link.active{background:linear-gradient(90deg,rgba(118,169,255,.12),transparent);color:#dce8ff;border-left:2px solid var(--v8-blue)}
.products-grid{gap:15px}.v5-card{border-radius:20px;background:linear-gradient(145deg,rgba(13,18,28,.95),rgba(7,10,16,.96));border-color:rgba(255,255,255,.075);box-shadow:0 16px 50px rgba(0,0,0,.18)}.v5-card:hover{transform:translateY(-6px);border-color:rgba(118,169,255,.28);box-shadow:0 30px 75px rgba(0,0,0,.3),0 0 0 1px rgba(118,169,255,.05)}.v5-art{border-radius:15px;border-color:rgba(255,255,255,.06);background:linear-gradient(135deg,#0d1420,#070a10)}.v5-body{padding:18px}.v5-top h3{font-size:15px}.v5-price{font-size:16px}.v5-buy{padding:9px 12px;border-radius:10px;background:linear-gradient(135deg,#f5f7fb,#dce6ff);transition:transform .2s,box-shadow .2s}.v5-buy:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(118,169,255,.13)}
/* Global cards/buttons/forms */
.v8 .primary{background:linear-gradient(135deg,#f7f9fd,#dbe6ff);color:#080b11;border-color:#fff;box-shadow:0 12px 35px rgba(118,169,255,.12)}.v8 .primary:hover{box-shadow:0 16px 45px rgba(118,169,255,.2)}.v8 .secondary{background:rgba(255,255,255,.035);border-color:var(--v8-line2)}.v8 input:focus,.v8 select:focus,.v8 textarea:focus{border-color:rgba(118,169,255,.4)!important;box-shadow:0 0 0 3px rgba(118,169,255,.055)!important}
.v8 footer{position:relative;background:rgba(2,4,8,.72);border-top:1px solid rgba(255,255,255,.06)}
/* Checkout V8 */
.checkout-v63{width:min(1280px,calc(100% - 40px));margin:auto;padding:64px 0 100px}.checkout-v63 .checkout-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:28px}.checkout-v63 .checkout-heading h1{font:800 clamp(50px,6.7vw,84px)/.9 "Space Grotesk";letter-spacing:-.08em;margin:14px 0 15px}.checkout-v63 .checkout-heading h1 span{color:var(--v8-blue)}.checkout-v63 .checkout-heading p{max-width:690px;color:#7d899c;font-size:12px;line-height:1.7;margin:0}.checkout-v63 .checkout-shell{grid-template-columns:minmax(0,1.08fr) minmax(360px,.72fr);gap:18px;align-items:start}.checkout-v63 .card{background:linear-gradient(145deg,rgba(13,18,28,.9),rgba(6,9,15,.96));border:1px solid var(--v8-line);border-radius:22px;box-shadow:0 30px 90px rgba(0,0,0,.22);overflow:hidden}.checkout-v63 .summary{padding:27px}.checkout-v63 .summary-head{display:flex;justify-content:space-between;color:#64738a;font-size:9px;font-weight:900;letter-spacing:.18em;padding-bottom:17px;border-bottom:1px solid var(--v8-line)}.checkout-v63 .checkout-line{display:flex;justify-content:space-between;gap:18px;padding:21px 0;border-bottom:1px solid rgba(255,255,255,.055)}.checkout-v63 .checkout-line strong{display:block;font-size:14px}.checkout-v63 .checkout-line small{display:block;color:#657389;margin-top:6px;font-size:10px}.checkout-v63 .checkout-line b{font:700 15px "Space Grotesk"}.checkout-v63 .coupon-box{display:grid;grid-template-columns:1fr auto;gap:9px;padding:20px 0;border-bottom:1px solid var(--v8-line)}.checkout-v63 .coupon-box label{grid-column:1;color:#8c98aa;font-size:10px;font-weight:700}.checkout-v63 .coupon-box input{margin-top:7px}.checkout-v63 .coupon-box button{grid-column:2;grid-row:1;align-self:end}.checkout-v63 .coupon-box .helper{grid-column:1/-1}.checkout-v63 .summary-row{padding:14px 0;border-bottom:1px solid rgba(255,255,255,.05)}.checkout-v63 .summary-row span{color:#748197}.checkout-v63 .summary-row.total{padding-top:19px;border-bottom:0}.checkout-v63 .summary-row.total span{color:#dbe2ed;font-size:14px}.checkout-v63 .summary-row.total strong{font:800 24px "Space Grotesk"}.checkout-v63 .secure-line{display:flex;align-items:center;gap:12px;margin-top:15px;padding:14px;border:1px solid rgba(93,224,173,.13);background:rgba(93,224,173,.035);border-radius:13px}.checkout-v63 .secure-line>span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;color:var(--v8-green);border:1px solid rgba(93,224,173,.2);font-weight:900}.checkout-v63 .secure-line strong{display:block;font-size:11px}.checkout-v63 .secure-line small{display:block;color:#68768b;font-size:9px;margin-top:3px;line-height:1.5}
.checkout-v63 .form-card{padding:0}.checkout-v63 .form-heading{display:flex;align-items:center;gap:15px;padding:26px 27px 22px;border-bottom:1px solid var(--v8-line)}.checkout-v63 .form-heading .step{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:rgba(118,169,255,.08);border:1px solid rgba(118,169,255,.16);color:#a8c5ff;font:800 12px "Space Grotesk"}.checkout-v63 .form-heading h2{font:700 25px/1 "Space Grotesk";letter-spacing:-.04em;margin:8px 0 0}.checkout-v63 .form{padding:25px 27px 27px}.checkout-v63 .form label{color:#7f8da2;font-size:10px}.checkout-v63 .form input,.checkout-v63 .form select{height:52px;border-radius:13px;background:#070b12;border-color:rgba(255,255,255,.09)}.checkout-v63 .checkout-total{display:flex;justify-content:space-between;align-items:center;margin-top:3px;padding:16px 0;border-top:1px solid var(--v8-line);border-bottom:1px solid var(--v8-line);color:#7e8ba0;font-size:11px}.checkout-v63 .checkout-total strong{font:800 21px "Space Grotesk";color:#fff}.checkout-v63 .checkout-btn{width:100%;height:55px;border-radius:13px;font-size:12px;font-weight:900;letter-spacing:.01em}.checkout-v63 .payment-icons{display:flex;gap:7px;flex-wrap:wrap;margin-top:14px}.checkout-v63 .payment-icons span{padding:6px 8px;border:1px solid rgba(255,255,255,.07);border-radius:7px;color:#68758a;font-size:8px;font-weight:900;letter-spacing:.08em;background:rgba(255,255,255,.018)}
.checkout-methods{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:9px}.checkout-method{border:1px solid rgba(255,255,255,.07);border-radius:11px;padding:11px 9px;background:rgba(255,255,255,.018);cursor:pointer;text-align:left;color:#79869a;transition:.2s}.checkout-method:hover{border-color:rgba(118,169,255,.25);background:rgba(118,169,255,.04)}.checkout-method.active{border-color:rgba(118,169,255,.48);background:linear-gradient(145deg,rgba(118,169,255,.1),rgba(162,124,255,.055));color:#eef4ff;box-shadow:0 0 0 1px rgba(118,169,255,.08) inset}.checkout-method b{display:block;color:inherit;font-size:10px}.checkout-method small{display:block;color:#5f6d81;font-size:8px;margin-top:4px}.checkout-method.active small{color:#8298b7}
.checkout-trust{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}.checkout-trust div{padding:11px;border:1px solid rgba(255,255,255,.055);border-radius:11px;color:#68768b;font-size:8px;line-height:1.45}.checkout-trust b{display:block;color:#b4c0d1;font-size:9px;margin-bottom:3px}
@media(max-width:980px){.products-hero{padding:40px 34px}.products-layout{grid-template-columns:1fr}.products-sidebar{display:none}.products-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.checkout-v63 .checkout-shell{grid-template-columns:1fr}.checkout-v63 .form-card{max-width:none}.checkout-v63 .checkout-heading{align-items:flex-start;flex-direction:column}}
@media(max-width:680px){.v8-topbar{font-size:7px;height:32px;letter-spacing:.12em;padding:0 10px;text-align:center}.products-shell,.checkout-v63,.v8-page{width:calc(100% - 22px);padding-top:38px}.products-hero{padding:32px 23px;display:block;border-radius:21px}.products-hero h1{font-size:58px}.products-metrics{margin-top:28px;gap:14px}.products-toolbar{grid-template-columns:1fr}.products-grid{grid-template-columns:1fr}.checkout-v63 .checkout-heading h1{font-size:52px}.checkout-v63 .summary,.checkout-v63 .form{padding:20px}.checkout-v63 .form-heading{padding:21px 20px}.checkout-methods{grid-template-columns:1fr 1fr}.checkout-trust{grid-template-columns:1fr}.checkout-v63 .coupon-box{grid-template-columns:1fr}.checkout-v63 .coupon-box button{grid-column:1;grid-row:auto;width:100%}}
@media(prefers-reduced-motion:reduce){body.v8:before{display:none}.v5-card,.v5-buy{transition:none}}

/* RIFT SHOP V8.1 — Typography readability pass
   Removes the overly-small micro-text treatment across the storefront. */
body.v8{
  --v8-readable: #a9b5c7;
}
body.v8 .v8-topbar{font-size:11px;letter-spacing:.14em}
body.v8 .v8-kicker,
body.v8 .products-kicker,
body.v8 .eyebrow{font-size:11px;letter-spacing:.20em}
body.v8 .v8-page-head p,
body.v8 .products-hero p{font-size:15px;line-height:1.7}
body.v8 .products-metric span{font-size:11px}
body.v8 .products-search input,
body.v8 .products-select,
body.v8 .products-view{font-size:14px}
body.v8 .products-tab{font-size:13px}
body.v8 .products-side-link{font-size:13px}
body.v8 .v5-top h3{font-size:17px}
body.v8 .v5-price{font-size:17px}
body.v8 .v5-body p,
body.v8 .v5-meta,
body.v8 .v5-art small{font-size:12px}

/* Checkout: readable labels, descriptions and payment choices. */
.checkout-v63 .summary-head{font-size:11px;letter-spacing:.14em}
.checkout-v63 .checkout-line strong{font-size:15px}
.checkout-v63 .checkout-line small{font-size:12px;line-height:1.5}
.checkout-v63 .coupon-box label,
.checkout-v63 .form label{font-size:13px;color:#aab6c7;font-weight:700}
.checkout-v63 .coupon-box input,
.checkout-v63 .form input,
.checkout-v63 .form select{font-size:14px}
.checkout-v63 .coupon-box .helper{font-size:12px}
.checkout-v63 .summary-row{font-size:14px}
.checkout-v63 .summary-row.total span{font-size:15px}
.checkout-v63 .secure-line strong{font-size:13px}
.checkout-v63 .secure-line small{font-size:11px;line-height:1.55}
.checkout-v63 .form-heading .step{font-size:13px}
.checkout-v63 .checkout-heading p{font-size:14px;line-height:1.7}
.checkout-v63 .checkout-total{font-size:13px}
.checkout-v63 .checkout-btn{font-size:14px}
.checkout-v63 .checkout-method b{font-size:13px}
.checkout-v63 .checkout-method small{font-size:11px;line-height:1.35}
.checkout-v63 .checkout-trust div{font-size:11px;line-height:1.55}
.checkout-v63 .checkout-trust b{font-size:12px}
.checkout-v63 .payment-icons span{font-size:10px;padding:7px 9px}

/* Native select/options: browser controls the popup rendering, but the
   closed field is deliberately larger and clearer. */
body.v8 select,
body.v8 select option{font-size:14px;line-height:1.4}
body.v8 input::placeholder,
body.v8 textarea::placeholder{font-size:13px;color:#68758a}
body.v8 .helper,
body.v8 .muted,
body.v8 .meta,
body.v8 small{font-size:12px}

/* General UI labels that inherited the old 8–10px aesthetic. */
body.v8 button,
body.v8 .btn,
body.v8 a.secondary,
body.v8 a.primary{font-size:13px}
body.v8 footer{font-size:12px}

@media(max-width:680px){
  body.v8 .v8-topbar{font-size:10px;letter-spacing:.08em}
  body.v8 .v8-kicker,
  body.v8 .products-kicker,
  body.v8 .eyebrow{font-size:10px}
  .checkout-v63 .checkout-heading p{font-size:13px}
  .checkout-v63 .form label,
  .checkout-v63 .coupon-box label{font-size:13px}
  .checkout-v63 .checkout-method b{font-size:13px}
  .checkout-v63 .checkout-method small{font-size:11px}
}

.payment-error{border-color:rgba(255,100,120,.32)!important;background:rgba(255,70,90,.07)!important;color:#ffb4bd!important}.checkout-method:disabled{opacity:.45;cursor:not-allowed}
