/* Aether Rust Theme CSS (copied from original standalone site) */
/* NOTE: This is a direct copy so Tailwind utility classes referenced still work via Tailwind CDN loaded in header. */
/* ---- ORIGINAL CONTENT START ---- */
:root {
	--color-bg: #0c0b10;
	--color-bg-alt: #17151f;
	--color-surface: #201d29;
	--color-surface-alt: #2a2635;
	--color-border: #3a3347;
	--color-accent: #9d58ff;
	--color-accent-glow: 157, 88, 255;
	--color-accent-alt: #caa4ff;
	--color-accent-soft: #6c3fb8;
	--color-success: #3cd97a;
	--color-warning: #ffb347;
	--color-info: #4db9ff;
	--color-text: #e5def3;
	--color-text-dim: #a395b8;
	--color-danger: #ff4d6d;
	--gradient-accent: linear-gradient(135deg, #9d58ff, #6a24ff 60%, #b577ff);
	--gradient-accent-soft: linear-gradient(135deg, #6c3fb8, #542091 60%, #8452c5);
	--radius-sm: 4px;
	--radius-md: 8px;
	--radius-lg: 18px;
	--radius-pill: 40px;
	--shadow-sm: 0 2px 4px -1px rgba(0, 0, 0, .4), 0 1px 2px rgba(0, 0, 0, .3);
	--shadow: 0 4px 24px -4px rgba(0, 0, 0, .5), 0 8px 32px -8px rgba(0, 0, 0, .6), 0 0 0 1px rgba(255, 255, 255, .05) inset;
	--shadow-glow: 0 0 0 1px rgba(var(--color-accent-glow), .5), 0 0 0 3px rgba(var(--color-accent-glow), .25), 0 0 32px -4px rgba(var(--color-accent-glow), .55);
	--font-display: 'Inter', 'Segoe UI', Tahoma, sans-serif;
	--font-body: 'Inter', 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
	--fs-xs: clamp(.65rem, .7rem + .15vw, .72rem);
	--fs-sm: clamp(.78rem, .78rem + .2vw, .9rem);
	--fs-base: clamp(.92rem, .9rem + .28vw, 1.05rem);
	--fs-md: clamp(1.05rem, 1rem + .6vw, 1.35rem);
	--fs-lg: clamp(1.35rem, 1.1rem + 1.1vw, 1.95rem);
	--fs-xl: clamp(1.85rem, 1.4rem + 2vw, 2.7rem);
	--fs-xxl: clamp(2.4rem, 1.8rem + 3vw, 3.4rem);
	--space-1: .25rem;
	--space-2: .5rem;
	--space-3: .75rem;
	--space-4: 1rem;
	--space-5: 1.5rem;
	--space-6: 2rem;
	--space-7: 2.75rem;
	--space-8: 3.5rem;
	--anim-speed: .35s;
	--anim-ease: cubic-bezier(.4, .8, .2, 1);
}

html { scroll-behavior: smooth; }
body { background: radial-gradient(circle at 20% 20%, #191624 0%, #0c0b10 65%), #0c0b10; color: var(--color-text); font-family: var(--font-body); font-size: var(--fs-base); -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
/* ==== BASE TYPOGRAPHY / HEADINGS (restored) ==== */
.h1 { font-size: var(--fs-xxl); font-weight: 800; letter-spacing:.5px; line-height:1.1; font-family: var(--font-display); }
.h2 { font-size: var(--fs-xl); font-weight: 700; letter-spacing:.5px; font-family: var(--font-display); }
.h3 { font-size: var(--fs-lg); font-weight: 600; }
.lead { font-size: var(--fs-md); line-height:1.45; font-weight:400; }

/* ==== CARD (restored) ==== */
.card { background: linear-gradient(145deg, rgba(255,255,255,.04), rgba(255,255,255,.02)); border:1px solid rgba(255,255,255,.06); border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); position:relative; overflow:hidden; transition: transform .38s cubic-bezier(.25,.9,.2,1), box-shadow .45s var(--anim-ease), filter .4s var(--anim-ease); will-change: transform; }
.card::before { content:""; position:absolute; inset:0; background: radial-gradient(circle at 30% 15%, rgba(var(--color-accent-glow), .12), transparent 60%); pointer-events:none; }
.card:not(.tilt-hover):hover { transform: perspective(900px) rotateX(4deg) rotateY(-4deg) translateY(-6px); box-shadow: var(--shadow-glow); filter: brightness(1.06) saturate(1.12); }
.card.no-tilt:hover { transform:none !important; box-shadow: var(--shadow-sm)!important; filter:none!important; }

/* ==== BUTTONS (restored) ==== */
.btn-primary { --btn-bg: var(--gradient-accent); position:relative; display:inline-flex; gap:.6rem; align-items:center; background:var(--btn-bg); color:#fff; padding:.85rem 1.35rem; font-weight:600; letter-spacing:.5px; border-radius: var(--radius-md); text-decoration:none; font-size:.95rem; border:1px solid rgba(255,255,255,.1); box-shadow:0 4px 18px -4px rgba(var(--color-accent-glow), .55), 0 0 0 1px rgba(255,255,255,.1) inset; transition: transform .26s cubic-bezier(.25,.9,.2,1), box-shadow .38s var(--anim-ease), filter .32s var(--anim-ease); will-change: transform; transform-style:preserve-3d; }
.btn-primary:hover { transform: perspective(640px) rotateX(6deg) rotateY(-6deg) translateY(-4px); box-shadow: var(--shadow-glow); filter: brightness(1.08) saturate(1.15); }
.btn-primary:active { transform: perspective(640px) rotateX(2deg) rotateY(-2deg) translateY(-1px); }
.btn-outline { background: rgba(255,255,255,.05); color: var(--color-text); border:1px solid rgba(255,255,255,.12); transition: transform .26s cubic-bezier(.25,.9,.2,1), background .38s var(--anim-ease), box-shadow .4s var(--anim-ease), filter .32s var(--anim-ease); will-change: transform; }
.btn-outline:hover { background: rgba(255,255,255,.12); transform: perspective(640px) rotateX(6deg) rotateY(-6deg) translateY(-4px); box-shadow:0 0 0 1px rgba(var(--color-accent-glow),.45), 0 8px 28px -6px rgba(var(--color-accent-glow),.55); filter: brightness(1.06) saturate(1.1); }
.btn-outline:active { transform: perspective(640px) rotateX(2deg) rotateY(-2deg) translateY(-1px); }
.btn-soft { background: var(--gradient-accent-soft); color:#fff; border:1px solid rgba(255,255,255,.08); border-radius: var(--radius-md); padding:.7rem 1.15rem; font-weight:500; font-size:.85rem; letter-spacing:.5px; box-shadow:0 4px 14px -4px rgba(var(--color-accent-glow), .4); transition: transform .26s cubic-bezier(.25,.9,.2,1), box-shadow .4s var(--anim-ease), filter .32s var(--anim-ease); will-change: transform; transform-style: preserve-3d; }
.btn-soft:hover { filter: hue-rotate(8deg) brightness(1.12) saturate(1.12); transform: perspective(640px) rotateX(6deg) rotateY(-6deg) translateY(-4px); box-shadow: var(--shadow-glow); }
.btn-soft:active { transform: perspective(640px) rotateX(2deg) rotateY(-2deg) translateY(-1px); }
.btn-primary.small { padding:.55rem 1rem; font-size: var(--fs-sm); }

/* ==== STRUCTURE (restored) ==== */
.section { padding:4.5rem 0 3rem; position:relative; }
.section h2 { font-family: var(--font-display); letter-spacing:.5px; font-size: var(--fs-lg); font-weight:700; }
.hero { position:relative; padding:7rem 0 5rem; }
.hero-bg-blur { position:absolute; inset:0; overflow:hidden; pointer-events:none; }
.hero-bg-blur::before, .hero-bg-blur::after { content:""; position:absolute; width:650px; height:650px; background: radial-gradient(circle at center, rgba(var(--color-accent-glow), .32), transparent 70%); filter: blur(88px); opacity:.45; }
.hero-bg-blur::before { top:-180px; left:-120px; }
.hero-bg-blur::after { bottom:-200px; right:-120px; }

/* Utility */
.gradient-text { background: var(--gradient-accent); -webkit-background-clip:text; background-clip:text; color:transparent; }

::-webkit-scrollbar { width: 12px; }
::-webkit-scrollbar-track { background: #120f18; }
::-webkit-scrollbar-thumb { background: #2d2540; border-radius: 6px; border: 2px solid #120f18; }
::-webkit-scrollbar-thumb:hover { background: #3a2b55; }
/* (Full original CSS merged. */
/* ---- ORIGINAL CONTENT CONTINUED ---- */
/* The remainder below is copied verbatim from original theme.css (from line ~401 onward) */
/* The following block resumes mid-file from original; preceding selectors already defined above. */
/* -- WooCommerce Catalog Redesign (Aether) ---------------------------------- */
.wc-hero {
	position: relative;
}
.wc-hero .wc-hero-bg {
	position:absolute;inset:0;opacity:.25;pointer-events:none;object-fit:cover;filter:blur(4px) saturate(1.2);
}
.wc-filter-bar {
	background:linear-gradient(135deg,#1c1329,#0c0b10 60%);
	border:1px solid #2d1f42;
	border-radius:14px;
	padding:1rem 1.25rem;
	display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between;
	box-shadow:0 4px 18px -6px rgba(0,0,0,.35),0 0 0 1px rgba(255,255,255,.03) inset;
}
.wc-filter-bar form,.wc-filter-bar .woocommerce-ordering{margin:0;}
.wc-filter-bar select.orderby {background:#150f20;border:1px solid #342049;border-radius:8px;color:#d8c4ff;font-size:.75rem;padding:.5rem .75rem;line-height:1;min-width:11rem;}
.wc-filter-bar .woocommerce-result-count{font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;color:#9c84c9;opacity:.85;margin:0;}

.wc-grid-switch {display:flex;gap:.35rem;align-items:center;}
.wc-grid-switch button {background:#1a1324;border:1px solid #2f1f43;color:#bca4e6;font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;padding:.55rem .7rem;border-radius:8px;cursor:pointer;line-height:1;font-weight:600;transition:.28s;}
.wc-grid-switch button:hover{background:inherit;color:inherit;border-color:inherit;}
.wc-grid-switch button.active{background:linear-gradient(135deg,#6b3fa5,#41295a);color:#fff;border-color:#7b51b6;box-shadow:0 0 0 1px rgba(255,255,255,.05) inset,0 4px 12px -4px #2d114fbd;}

.wc-products-grid{display:grid;gap:1.25rem;}
.wc-products-grid.cols-2{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));}
.wc-products-grid.cols-3{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));}
.wc-products-grid.cols-4{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));}
@media (min-width:640px){.wc-products-grid{gap:1.5rem;}}
@media (min-width:1024px){.wc-products-grid.cols-3{grid-template-columns:repeat(3,1fr);} .wc-products-grid.cols-4{grid-template-columns:repeat(4,1fr);} }

.product-card {position:relative;overflow:hidden;border:1px solid #261b35;background:#140f1c;border-radius:16px;box-shadow:0 6px 28px -12px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.04) inset;transition:transform .5s cubic-bezier(.22,.8,.32,1),box-shadow .4s,background .4s,border-color .4s;}
.product-card:hover{transform:translateY(-4px);border-color:#3f2b59;background:#1b1325;box-shadow:0 8px 36px -10px rgba(32,10,52,.9),0 0 0 1px rgba(255,255,255,.06) inset;}
.product-card .product-thumb{filter:saturate(1.15) contrast(1.05);}
.product-card .gradient-text{background:linear-gradient(95deg,#d2b4ff,#9d7bd6 45%,#f0d8ff);-webkit-background-clip:text;background-clip:text;color:transparent;}

.percent-badge{position:absolute;top:.7rem;left:.7rem;background:linear-gradient(145deg,#ff4271,#b91846);color:#fff;font-weight:700;font-size:.65rem;letter-spacing:.08em;padding:.45rem .55rem;border-radius:10px;line-height:1;display:inline-flex;align-items:center;box-shadow:0 4px 14px -4px rgba(0,0,0,.45),0 0 0 1px rgba(255,255,255,.12) inset;}

.btn-primary.small{padding:.55rem .85rem;font-size:.65rem;letter-spacing:.12em;}

/* line clamp utility (fallback) */
.line-clamp-3{display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}

/* Pagination styling */
.woocommerce nav.woocommerce-pagination{margin-top:2.25rem;text-align:center;}
.woocommerce nav.woocommerce-pagination ul{display:inline-flex;gap:.4rem;background:#140f1d;padding:.45rem .65rem;border:1px solid #2d1f42;border-radius:14px;box-shadow:0 4px 18px -6px rgba(0,0,0,.4);}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span{min-width:2.1rem;height:2.1rem;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;border-radius:10px;background:#1d1328;color:#bfa8e8;border:1px solid #2d1f42;transition:.3s;}
.woocommerce nav.woocommerce-pagination ul li a:hover{background:#2a183b;color:#fff;border-color:#56307f;}
.woocommerce nav.woocommerce-pagination ul li span.current{background:linear-gradient(135deg,#6b3fa5,#41295a);color:#fff;border-color:#7a51b4;box-shadow:0 0 0 1px rgba(255,255,255,.05) inset,0 4px 14px -6px #2d114fbd;}

/* Ordering dropdown fine-tune */
.woocommerce-ordering select.orderby{appearance:none;background:#1a1324 url('data:image/svg+xml;utf8,<svg fill="%23bfa8e8" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path d="M5.5 7l4.5 6 4.5-6" stroke="%23bfa8e8" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" fill="none"/></svg>') right .65rem center/14px 14px no-repeat;padding-right:2rem;}
.woocommerce-ordering select.orderby:focus{outline:none;}

/* Utility to hide default sale badge globally since we use percent-badge */
.woocommerce span.onsale{display:none !important;}
/* No orphaned declarations now. */

.feature-grid { display: grid; gap: 1.75rem; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); }
.footer { background: #0a090d; padding: 3.5rem 0 2rem; }
.footer a { color: var(--color-text-dim); text-decoration: none; }
.footer a:hover { color: var(--color-accent-alt); }
.reveal { --reveal-delay: 0ms; opacity: 0; transform: translateY(28px); transition: opacity .9s cubic-bezier(.25, .9, .2, 1) var(--reveal-delay), transform .9s cubic-bezier(.25, .9, .2, 1) var(--reveal-delay); }
.reveal.visible { opacity: 1; transform: none; }
.ribbon { position: absolute; top: .75rem; right: -.55rem; background: var(--gradient-accent); color: #fff; font-size: .55rem; font-weight: 600; letter-spacing: 1px; padding: .4rem .85rem .4rem .95rem; text-transform: uppercase; box-shadow: 0 4px 10px -2px rgba(var(--color-accent-glow), .5); clip-path: polygon(0 0, 100% 0, 85% 100%, 0 100%); }
.status-offline { background: repeating-linear-gradient(45deg, #231b30 0 8px, #1d1528 8px 16px); position: relative; }
.percent-badge { position: absolute; top: .6rem; left: .6rem; font-size: .6rem; font-weight: 600; letter-spacing: .5px; padding: .35rem .55rem; border-radius: var(--radius-pill); background: rgba(var(--color-accent-glow), .14); backdrop-filter: blur(6px); border: 1px solid rgba(var(--color-accent-glow), .3); color: var(--color-accent-alt); }
@keyframes pulse-glow { 0%,100% { box-shadow: 0 0 0 0 rgba(var(--color-accent-glow), .55); } 50% { box-shadow: 0 0 22px 4px rgba(var(--color-accent-glow), .45); } }
.pulse-glow { animation: pulse-glow 4s ease-in-out infinite; }
.tilt-hover { transition: transform .28s cubic-bezier(.25, .9, .2, 1), box-shadow .35s, filter .25s; }
.tilt-hover:hover { transform: perspective(650px) rotateX(5deg) rotateY(-5deg) translateY(-6px); box-shadow: var(--shadow-glow); filter: brightness(1.07) saturate(1.15); }
.modal-panel .modal-card.tilt-hover { transform-origin: center; }
.modal-panel .modal-card.tilt-hover:hover { transform: perspective(900px) rotateX(7deg) rotateY(-7deg) translateY(-4px); }
.modal-card { --enter-translate: 22px; opacity: 0; transform: translateY(var(--enter-translate)) scale(.985); transition: opacity .55s var(--anim-ease), transform .65s var(--anim-ease), box-shadow .4s var(--anim-ease); }
.modal-card.enter { opacity: 1; transform: none; }
.modal-card:hover, .modal-card:focus-within { box-shadow: var(--shadow-glow); }
.modal-card { transition-delay: var(--stagger, 0ms); }
.copy-feedback { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%) scale(.85); opacity: 0; pointer-events: none; font-size: .65rem; font-weight: 600; letter-spacing: 1px; background: rgba(0, 0, 0, .55); padding: .45rem .7rem; border-radius: var(--radius-pill); border: 1px solid rgba(255, 255, 255, .08); backdrop-filter: blur(8px); transition: all .45s var(--anim-ease); }
.copy-feedback.visible { opacity: 1; transform: translate(-50%, -50%) scale(1); }
.surface { background: var(--color-surface); border: 1px solid rgba(255, 255, 255, .06); border-radius: var(--radius-lg); }
.surface-alt { background: var(--color-surface-alt); border: 1px solid rgba(255, 255, 255, .05); border-radius: var(--radius-lg); }
.badge { display: inline-flex; align-items: center; gap: .35rem; padding: .35rem .6rem; font-size: .55rem; font-weight: 600; letter-spacing: .5px; text-transform: uppercase; border-radius: var(--radius-pill); background: rgba(var(--color-accent-glow), .14); border: 1px solid rgba(var(--color-accent-glow), .3); }
.badge-success { background: rgba(60, 217, 122, .15); border-color: rgba(60, 217, 122, .4); color: #6effa6; }
.badge-warning { background: rgba(255, 179, 71, .15); border-color: rgba(255, 179, 71, .4); color: #ffc98a; }
.badge-info { background: rgba(77, 185, 255, .16); border-color: rgba(77, 185, 255, .4); color: #97d8ff; }
.rank-bronze { --rank-color: #b8794a; color: var(--rank-color); }
.rank-silver { --rank-color: #c0c6cc; color: var(--rank-color); }
.rank-gold { --rank-color: #e0b657; color: var(--rank-color); }
.rank-diamond { --rank-color: #57d3ff; color: var(--rank-color); }
.rank-championship { --rank-color: #b84dff; color: var(--rank-color); }
.rank-outline { border: 1px solid var(--rank-color); }
.floating-nav { position: fixed; top: 18px; left: 50%; transform: translateX(-50%); width: min(1220px, 92%); background: rgba(18, 13, 27, .62); backdrop-filter: blur(18px) saturate(160%); border: 1px solid rgba(255, 255, 255, .08); border-radius: 22px; padding: .4rem .9rem; z-index: 70; box-shadow: 0 8px 30px -6px rgba(0, 0, 0, .6), 0 0 0 1px rgba(255, 255, 255, .05) inset; transition: box-shadow .45s var(--anim-ease), background .45s var(--anim-ease); }
.floating-nav.scrolled { background: rgba(18, 13, 27, .78); box-shadow: 0 12px 38px -8px rgba(0, 0, 0, .75), 0 0 0 1px rgba(255, 255, 255, .07) inset; }
.nav-inner { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; }
.brand { display: flex; align-items: center; gap: .75rem; text-decoration: none; }
.brand-logo { width: 42px; height: 42px; object-fit: cover; }
.brand-text { font-weight: 700; font-size: 1rem; letter-spacing: 1px; font-family: var(--font-display); }
.nav-links { list-style: none; display: none; align-items: center; gap: 1.6rem; font-size: .8rem; font-weight: 500; letter-spacing: .5px; }
@media (min-width: 768px) { .nav-links { display: flex; } }
.nav-link { position: relative; text-decoration: none; color: var(--color-text-dim); padding: .65rem .2rem; display: inline-flex; align-items: center; gap: .4rem; transition: color .4s var(--anim-ease); }
.nav-link::after { content: ""; position: absolute; left: 50%; bottom: 4px; width: 0; height: 2px; background: var(--gradient-accent); border-radius: 2px; box-shadow: 0 0 6px -2px rgba(var(--color-accent-glow), .9); transform: translateX(-50%); transition: width .45s var(--anim-ease); }
.nav-link:hover { color: #fff; }
.nav-link:hover::after { width: 60%; }
.nav-link-active { color: #fff; }
.nav-link-active::after { width: 60%; }
.btn-discord { --disc-bg: #5865F2; display: inline-flex; align-items: center; gap: .5rem; background: linear-gradient(135deg, #5865F2, #4752C4); padding: .55rem .95rem; font-size: .7rem; font-weight: 600; letter-spacing: .5px; border-radius: 999px; color: #fff; text-decoration: none; position: relative; box-shadow: 0 4px 18px -4px rgba(88, 101, 242, .55), 0 0 0 1px rgba(255, 255, 255, .08) inset; transition: all .45s var(--anim-ease); }
.btn-discord .icon { filter: drop-shadow(0 2px 4px rgba(0, 0, 0, .4)); }
.btn-discord:hover { transform: translateY(-3px); box-shadow: 0 0 0 1px rgba(255, 255, 255, .1) inset, 0 10px 28px -6px rgba(88, 101, 242, .7); }
.nav-toggle { background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .12); border-radius: 12px; width: 46px; height: 42px; display: flex; align-items: center; justify-content: center; position: relative; transition: all .4s var(--anim-ease); }
.nav-toggle .bars, .nav-toggle .bars::before, .nav-toggle .bars::after { content: ""; display: block; width: 18px; height: 2px; background: #fff; border-radius: 2px; position: relative; transition: all .45s var(--anim-ease); }
.nav-toggle .bars::before { position: absolute; top: -6px; left: 0; }
.nav-toggle .bars::after { position: absolute; bottom: -6px; left: 0; }
.nav-toggle.active .bars { background: transparent; }
.nav-toggle.active .bars::before { transform: translateY(6px) rotate(45deg); }
.nav-toggle.active .bars::after { transform: translateY(-6px) rotate(-45deg); }
.nav-mobile { padding: .75rem 1.25rem 1.25rem; }
.mobile-list { list-style: none; display: flex; flex-direction: column; gap: .35rem; }
.mobile-list .nav-link { padding: .9rem .4rem; font-size: .85rem; }
body { padding-top: 0; }
.modal-overlay { position: fixed; inset: 0; background: rgba(10, 7, 16, .75); backdrop-filter: blur(18px) saturate(160%); -webkit-backdrop-filter: blur(18px) saturate(160%); display: flex; align-items: center; justify-content: center; padding: 2.5rem 1.25rem; z-index: 120; opacity: 0; pointer-events: none; transition: opacity .4s var(--anim-ease); }
.modal-overlay.active { opacity: 1; pointer-events: auto; }
.modal-panel { width: 100%; max-width: 1180px; display: grid; gap: 1.75rem; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); }
.modal-card { position: relative; }
.modal-panel { perspective: 1400px; }
.modal-panel .modal-card.tilt-hover { transition: transform .35s cubic-bezier(.25, .9, .2, 1), box-shadow .4s var(--anim-ease), filter .35s; }
.modal-panel .modal-card.tilt-hover:hover { transform: translateY(-6px) rotateX(6deg) rotateY(-6deg); }
[data-rank-grid] { perspective: 1400px; }
[data-rank-grid] .tilt-hover { transition: transform .35s cubic-bezier(.25, .9, .2, 1), box-shadow .4s var(--anim-ease), filter .35s; transform-origin: center; }
[data-rank-grid] .tilt-hover:hover { transform: translateY(-6px) rotateX(6deg) rotateY(-6deg); box-shadow: var(--shadow-glow); filter: brightness(1.08) saturate(1.15); }
.modal-close { position: absolute; top: -42px; right: 0; background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .15); width: 42px; height: 42px; border-radius: 14px; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: all .4s var(--anim-ease); transform: translateY(-20px); }
.modal-close:hover { background: rgba(147, 51, 234, 0.85); box-shadow: 0 0 4px 4px rgba(93, 33, 150, 0.85); border-color: rgba(255, 255, 255, .25); transform: translateY(-18px); }
@media (max-width: 900px) { .hero { padding: 5rem 0 3rem; } }
/* ---- ORIGINAL CONTENT END ---- */
/* ==== OPTIMIZATION & ACCESSIBILITY ENHANCEMENTS ==== */
@media (prefers-reduced-motion: reduce) {
	* { animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important; }
	.reveal { opacity:1 !important; transform:none !important; }
}

/* GPU hint for heavily animated elements */
.tilt-hover, .card, .btn-primary, .btn-outline, .btn-soft { will-change: transform, filter; }

/* Slightly faster nav-link underline animation for responsiveness */
.nav-link::after { transition: width .35s var(--anim-ease); }

/* Focus styles unify */
a:focus-visible, button:focus-visible { outline:2px solid rgba(var(--color-accent-glow), .85); outline-offset:2px; border-radius:4px; }

/* Fine-tune modal stacking when WordPress admin bar present */
body.admin-bar .floating-nav { top: calc(18px + 32px); }

/* WooCommerce buttons alignment */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt {
	background: var(--gradient-accent);
	border:1px solid rgba(255,255,255,.1);
	color:#fff;
	font-weight:600;
	letter-spacing:.5px;
	border-radius: var(--radius-md);
	padding:.75rem 1.25rem;
	text-decoration:none;
	box-shadow:0 4px 16px -4px rgba(var(--color-accent-glow), .55), 0 0 0 1px rgba(255,255,255,.08) inset;
	transition: transform .26s cubic-bezier(.25,.9,.2,1), box-shadow .38s var(--anim-ease), filter .32s var(--anim-ease);
	display:inline-flex; align-items:center; gap:.5rem;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover,
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover, .woocommerce input.button.alt:hover {
	transform: translateY(-3px);
	filter: brightness(1.08) saturate(1.12);
	box-shadow: var(--shadow-glow);
}
/* Fallback explicit styles: */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button { background:var(--gradient-accent); border:1px solid rgba(255,255,255,.1); color:#fff; font-weight:600; letter-spacing:.5px; border-radius: var(--radius-md); padding:.7rem 1.2rem; text-decoration:none; box-shadow:0 4px 14px -4px rgba(var(--color-accent-glow), .5); }
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover { filter:brightness(1.08) saturate(1.12); box-shadow: var(--shadow-glow); }

/* Product loop adjustments */
.woocommerce ul.products li.product .price { font-weight:600; }
.woocommerce span.onsale { left:.6rem; right:auto; top:.6rem; min-width:auto; padding:.35rem .55rem; border-radius: var(--radius-pill); background:rgba(var(--color-accent-glow), .28); backdrop-filter:blur(6px); border:1px solid rgba(var(--color-accent-glow), .4); font-weight:600; font-size:.6rem; }

/* Reduce layout shift for images */
img { image-rendering:auto; }

