/*
Theme Name: Eletroprint 3D
Author: WordPress Telex
Description: A futuristic neon-infused WordPress block theme for Eletroprint 3D — 3D printing, technology, and custom products. Plasma Forge aesthetic with electric cyan and magenta accents on dark void backgrounds.
Version: 0.1.0
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 7.4
License: GPLv2 or later
Text Domain: eletroprint-3d
Tags: block-theme, full-site-editing, dark, neon, futuristic
*/

/* ══════════════════════════════════════════
   SPLASH SCREEN — NEW SYSTEM (ep-sp-)
   ══════════════════════════════════════════ */

#ep-splash {
    position: fixed;
    inset: 0;
    z-index: 999999;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    transition: opacity 1s cubic-bezier(0.22, 0.61, 0.36, 1), visibility 1s, transform 1s cubic-bezier(0.22, 0.61, 0.36, 1);
}

#ep-splash.ep-sp--hide {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: scale(1.05);
}

/* Background */
.ep-sp-bg {
    position: absolute;
    inset: 0;
    background: #050508;
    z-index: 0;
}

/* Perspective grid */
.ep-sp-grid {
    position: absolute;
    inset: -50%;
    background-image:
        linear-gradient(rgba(0, 245, 255, 0.025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0, 245, 255, 0.025) 1px, transparent 1px);
    background-size: 60px 60px;
    transform: perspective(500px) rotateX(45deg);
    transform-origin: center 70%;
    animation: epSpGridPulse 4s ease-in-out infinite;
    opacity: 0.6;
    z-index: 1;
}

@keyframes epSpGridPulse {
    0%, 100% { opacity: 0.3; background-size: 60px 60px; }
    50% { opacity: 0.7; background-size: 62px 62px; }
}

/* Particles */
.ep-sp-particles {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 3;
    overflow: hidden;
}

.ep-sp-particles i {
    position: absolute;
    border-radius: 50%;
    display: block;
}

.ep-sp-particles i:nth-child(1) { top: 15%; left: 10%; width: 2px; height: 2px; background: #00F5FF; animation: epSpFloat 3s ease-in-out 0.3s infinite; }
.ep-sp-particles i:nth-child(2) { top: 25%; right: 15%; width: 3px; height: 3px; background: #FF00A8; animation: epSpFloat 3.5s ease-in-out 0.6s infinite; }
.ep-sp-particles i:nth-child(3) { bottom: 20%; left: 20%; width: 2px; height: 2px; background: #00F5FF; animation: epSpFloat 2.8s ease-in-out 0.9s infinite; }
.ep-sp-particles i:nth-child(4) { bottom: 30%; right: 12%; width: 2px; height: 2px; background: #FF00A8; animation: epSpFloat 3.2s ease-in-out 0.2s infinite; }
.ep-sp-particles i:nth-child(5) { top: 45%; left: 5%; width: 1px; height: 1px; background: #7B2FFF; animation: epSpFloat 4s ease-in-out 1.2s infinite; }
.ep-sp-particles i:nth-child(6) { top: 10%; right: 25%; width: 2px; height: 2px; background: #FF00A8; animation: epSpFloat 3.6s ease-in-out 0.4s infinite; }
.ep-sp-particles i:nth-child(7) { top: 60%; left: 30%; width: 1px; height: 1px; background: #00F5FF; animation: epSpRise 5s ease-in-out 0.7s infinite; }
.ep-sp-particles i:nth-child(8) { top: 70%; right: 35%; width: 2px; height: 2px; background: #7B2FFF; animation: epSpRise 4.5s ease-in-out 1s infinite; }
.ep-sp-particles i:nth-child(9) { top: 80%; left: 45%; width: 1px; height: 1px; background: #00F5FF; animation: epSpRise 6s ease-in-out 0.5s infinite; }
.ep-sp-particles i:nth-child(10) { top: 55%; right: 8%; width: 3px; height: 3px; background: #FF00A8; animation: epSpFloat 4.2s ease-in-out 1.4s infinite; }
.ep-sp-particles i:nth-child(11) { top: 35%; left: 40%; width: 1px; height: 1px; background: #7B2FFF; animation: epSpRise 5.5s ease-in-out 0.8s infinite; }
.ep-sp-particles i:nth-child(12) { bottom: 10%; right: 40%; width: 2px; height: 2px; background: #00F5FF; animation: epSpFloat 3.8s ease-in-out 1.6s infinite; }

@keyframes epSpFloat {
    0%, 100% { opacity: 0; transform: translateY(0) scale(1); }
    15% { opacity: 0.5; }
    50% { opacity: 0.8; transform: translateY(-25px) scale(1.8); }
    85% { opacity: 0.3; }
}

@keyframes epSpRise {
    0% { opacity: 0; transform: translateY(0) translateX(0); }
    20% { opacity: 0.6; }
    50% { opacity: 0.5; transform: translateY(-60px) translateX(15px); }
    80% { opacity: 0.2; }
    100% { opacity: 0; transform: translateY(-100px) translateX(-10px); }
}

/* Rotating rings */
.ep-sp-rings {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    pointer-events: none;
    z-index: 2;
}

.ep-sp-ring {
    position: absolute;
    border-radius: 50%;
    border: 1px solid transparent;
    top: 50%;
    left: 50%;
}

.ep-sp-ring--1 {
    width: 320px; height: 320px; margin-top: -160px; margin-left: -160px;
    border-color: rgba(0, 245, 255, 0.08);
    border-top-color: rgba(0, 245, 255, 0.35);
    opacity: 0;
    animation: epSpSpin1 8s linear 0.3s infinite, epSpFadeUp 0.8s ease 0.3s forwards;
}

.ep-sp-ring--2 {
    width: 380px; height: 380px; margin-top: -190px; margin-left: -190px;
    border-color: rgba(255, 0, 168, 0.05);
    border-bottom-color: rgba(255, 0, 168, 0.25);
    opacity: 0;
    animation: epSpSpin2 12s linear 0.5s infinite, epSpFadeUp 0.8s ease 0.5s forwards;
}

.ep-sp-ring--3 {
    width: 440px; height: 440px; margin-top: -220px; margin-left: -220px;
    border-color: rgba(123, 47, 255, 0.03);
    border-right-color: rgba(123, 47, 255, 0.15);
    opacity: 0;
    animation: epSpSpin3 16s linear 0.7s infinite, epSpFadeUp 0.8s ease 0.7s forwards;
}

@keyframes epSpSpin1 { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
@keyframes epSpSpin2 { from { transform: rotate(0deg); } to { transform: rotate(-360deg); } }
@keyframes epSpSpin3 { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }

/* Lightning bolts */
.ep-sp-bolts {
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    width: 600px; height: 400px;
    pointer-events: none;
    z-index: 4;
}

.ep-sp-bolt {
    position: absolute;
    top: 50%;
    width: 2px;
    opacity: 0;
    transform-origin: top center;
    filter: blur(0.5px);
}

.ep-sp-bolt::before {
    content: '';
    position: absolute;
    bottom: 30%; left: 0;
    width: 1.5px; height: 40px;
    background: inherit;
    opacity: 0.6;
    transform: rotate(-30deg);
    transform-origin: top left;
}

.ep-sp-bolt::after {
    content: '';
    position: absolute;
    bottom: 55%; left: 0;
    width: 1px; height: 30px;
    background: inherit;
    opacity: 0.4;
    transform: rotate(25deg);
    transform-origin: top left;
}

.ep-sp-bolt--1 {
    left: 10%; height: 120px; transform: rotate(-35deg);
    background: linear-gradient(180deg, #00F5FF, rgba(0, 245, 255, 0.3), transparent);
    box-shadow: 0 0 8px #00F5FF, 0 0 20px rgba(0, 245, 255, 0.3);
    animation: epSpBoltFlash 3s ease-in-out 1.5s infinite;
}

.ep-sp-bolt--2 {
    right: 10%; height: 100px; transform: rotate(40deg);
    background: linear-gradient(180deg, #FF00A8, rgba(255, 0, 168, 0.3), transparent);
    box-shadow: 0 0 8px #FF00A8, 0 0 20px rgba(255, 0, 168, 0.3);
    animation: epSpBoltFlash 3.5s ease-in-out 2s infinite;
}

.ep-sp-bolt--3 {
    left: 25%; height: 80px; transform: rotate(-55deg);
    background: linear-gradient(180deg, #00F5FF, rgba(0, 245, 255, 0.3), transparent);
    box-shadow: 0 0 8px #00F5FF, 0 0 20px rgba(0, 245, 255, 0.3);
    animation: epSpBoltFlash 2.8s ease-in-out 2.5s infinite;
}

.ep-sp-bolt--4 {
    right: 25%; height: 90px; transform: rotate(50deg);
    background: linear-gradient(180deg, #7B2FFF, rgba(123, 47, 255, 0.3), transparent);
    box-shadow: 0 0 8px #7B2FFF, 0 0 20px rgba(123, 47, 255, 0.3);
    animation: epSpBoltFlash 3.2s ease-in-out 1.8s infinite;
}

.ep-sp-bolt--5 {
    left: 5%; height: 140px; transform: rotate(-20deg);
    background: linear-gradient(180deg, #FF00A8, rgba(255, 0, 168, 0.2), transparent);
    box-shadow: 0 0 6px #FF00A8, 0 0 15px rgba(255, 0, 168, 0.2);
    animation: epSpBoltFlash 4s ease-in-out 3s infinite;
}

.ep-sp-bolt--6 {
    right: 5%; height: 130px; transform: rotate(25deg);
    background: linear-gradient(180deg, #00F5FF, rgba(0, 245, 255, 0.3), transparent);
    box-shadow: 0 0 8px #00F5FF, 0 0 20px rgba(0, 245, 255, 0.3);
    animation: epSpBoltFlash 3.7s ease-in-out 2.2s infinite;
}

@keyframes epSpBoltFlash {
    0%, 100% { opacity: 0; }
    2% { opacity: 0.9; }
    4% { opacity: 0.1; }
    5% { opacity: 0.8; }
    7% { opacity: 0; }
    50% { opacity: 0; }
    52% { opacity: 0.7; }
    53% { opacity: 0.15; }
    54% { opacity: 0.6; }
    56% { opacity: 0; }
}

/* Scan beams */
.ep-sp-beam {
    position: absolute;
    width: 100%; height: 1px;
    z-index: 6;
    pointer-events: none;
    opacity: 0;
}

.ep-sp-beam--1 {
    top: 0; left: -100%;
    background: linear-gradient(90deg, transparent, #00F5FF, transparent);
    box-shadow: 0 0 20px rgba(0, 245, 255, 0.5), 0 0 50px rgba(0, 245, 255, 0.15);
    animation: epSpBeam1 3.5s ease-in-out 0.8s forwards;
}

.ep-sp-beam--2 {
    top: 92%; left: 100%;
    background: linear-gradient(90deg, transparent, #FF00A8, transparent);
    box-shadow: 0 0 20px rgba(255, 0, 168, 0.4), 0 0 50px rgba(255, 0, 168, 0.1);
    animation: epSpBeam2 4s ease-in-out 2s forwards;
}

@keyframes epSpBeam1 {
    0% { top: 8%; left: -100%; opacity: 0; }
    10% { opacity: 1; }
    50% { top: 92%; left: 100%; opacity: 0.7; }
    100% { top: 100%; left: 100%; opacity: 0; }
}

@keyframes epSpBeam2 {
    0% { top: 92%; left: 100%; opacity: 0; }
    10% { opacity: 0.8; }
    50% { top: 8%; left: -100%; opacity: 0.5; }
    100% { top: 0%; left: -100%; opacity: 0; }
}

/* Corner brackets */
.ep-sp-corners {
    position: absolute;
    width: 240px; height: 240px;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    pointer-events: none;
    z-index: 4;
}

.ep-sp-corners::before {
    content: '';
    position: absolute;
    top: -50px; left: -50px;
    width: 70px; height: 70px;
    border-top: 2px solid #00F5FF;
    border-left: 2px solid #00F5FF;
    opacity: 0;
    animation: epSpCornerTL 0.8s cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s forwards;
    box-shadow: -4px -4px 20px rgba(0, 245, 255, 0.15);
}

.ep-sp-corners::after {
    content: '';
    position: absolute;
    bottom: -50px; right: -50px;
    width: 70px; height: 70px;
    border-bottom: 2px solid #FF00A8;
    border-right: 2px solid #FF00A8;
    opacity: 0;
    animation: epSpCornerBR 0.8s cubic-bezier(0.22, 0.61, 0.36, 1) 0.5s forwards;
    box-shadow: 4px 4px 20px rgba(255, 0, 168, 0.15);
}

@keyframes epSpCornerTL {
    from { opacity: 0; width: 20px; height: 20px; }
    to { opacity: 0.7; width: 70px; height: 70px; }
}

@keyframes epSpCornerBR {
    from { opacity: 0; width: 20px; height: 20px; }
    to { opacity: 0.7; width: 70px; height: 70px; }
}

/* Content */
.ep-sp-content {
    position: relative;
    z-index: 10;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    text-align: center;
    padding: 0 2rem;
}

.ep-sp-label {
    font-family: 'Rajdhani', sans-serif;
    font-size: 0.8rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5em;
    color: #FF00A8;
    margin: 0;
    opacity: 0;
    animation: epSpFadeUp 0.7s ease 0.2s forwards;
    text-shadow: 0 0 20px rgba(255, 0, 168, 0.3);
}

.ep-sp-title {
    font-family: 'Bebas Neue', Impact, sans-serif;
    font-size: clamp(2.5rem, 8vw, 5.5rem);
    letter-spacing: 4px;
    text-transform: uppercase;
    color: #FFFFFF;
    line-height: 1;
    margin: 0;
    opacity: 0;
    animation: epSpTitleIn 1s cubic-bezier(0.22, 0.61, 0.36, 1) 0.5s forwards;
}

.ep-sp-title span {
    color: #00F5FF;
    text-shadow: 0 0 20px rgba(0, 245, 255, 0.5), 0 0 60px rgba(0, 245, 255, 0.2);
}

.ep-sp-subtitle {
    font-family: 'Rajdhani', sans-serif;
    font-size: clamp(0.9rem, 2vw, 1.2rem);
    font-weight: 300;
    letter-spacing: 0.35em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.55);
    margin: 0;
    opacity: 0;
    animation: epSpFadeUp 0.7s ease 1s forwards;
}

.ep-sp-loader {
    width: 260px;
    height: 2px;
    background: rgba(255, 255, 255, 0.06);
    margin-top: 2rem;
    position: relative;
    overflow: visible;
    opacity: 0;
    animation: epSpFadeUp 0.5s ease 1.3s forwards;
    border-radius: 1px;
}

.ep-sp-loader-bar {
    position: absolute;
    top: 0; left: 0;
    height: 100%;
    width: 0%;
    background: linear-gradient(90deg, #00F5FF, #7B2FFF, #FF00A8);
    box-shadow: 0 0 12px rgba(0, 245, 255, 0.5), 0 0 25px rgba(255, 0, 168, 0.3);
    animation: epSpLoaderFill 4.8s cubic-bezier(0.08, 0.40, 0.26, 1) 1.5s forwards;
    border-radius: 1px;
}

.ep-sp-loader-glow {
    position: absolute;
    top: -4px; right: 0;
    width: 8px; height: 10px;
    background: #00F5FF;
    border-radius: 50%;
    filter: blur(4px);
    opacity: 0;
    animation: epSpGlowMove 4.8s cubic-bezier(0.08, 0.40, 0.26, 1) 1.5s forwards;
}

.ep-sp-pct {
    font-family: 'Rajdhani', sans-serif;
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.2em;
    color: rgba(0, 245, 255, 0.5);
    margin: 0.5rem 0 0;
    opacity: 0;
    animation: epSpFadeUp 0.4s ease 1.5s forwards;
}

@keyframes epSpFadeUp {
    from { opacity: 0; transform: translateY(15px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes epSpTitleIn {
    0% { opacity: 0; transform: translateY(30px) scale(0.85); letter-spacing: 16px; filter: blur(10px); }
    40% { opacity: 0.8; filter: blur(2px); }
    70% { opacity: 1; filter: blur(0); letter-spacing: 6px; }
    100% { opacity: 1; transform: translateY(0) scale(1); letter-spacing: 4px; filter: blur(0); }
}

@keyframes epSpLoaderFill {
    0% { width: 0%; }
    15% { width: 12%; }
    35% { width: 35%; }
    55% { width: 55%; }
    75% { width: 78%; }
    90% { width: 92%; }
    100% { width: 100%; }
}

@keyframes epSpGlowMove {
    0% { left: 0%; opacity: 0; }
    5% { opacity: 1; }
    95% { opacity: 1; }
    100% { left: calc(100% - 4px); opacity: 0; }
}

/* No scroll while splash visible */
body.ep-splash-active {
    overflow: hidden;
}

/* ── Grid overlay on hero ── */
.plasma-grid-overlay {
    position: relative;
}
.plasma-grid-overlay::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background-image:
        linear-gradient(rgba(0, 245, 255, 0.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0, 245, 255, 0.04) 1px, transparent 1px);
    background-size: 44px 44px;
}

/* ── Accent corner brackets ── */
.plasma-corners {
    position: relative;
}
.plasma-corners::before,
.plasma-corners::after {
    content: '';
    position: absolute;
    width: 80px;
    height: 80px;
    z-index: 5;
    pointer-events: none;
    opacity: 0.45;
}
.plasma-corners::before {
    top: 24px;
    left: 24px;
    border-top: 2px solid #00F5FF;
    border-left: 2px solid #00F5FF;
}
.plasma-corners::after {
    bottom: 24px;
    right: 24px;
    border-bottom: 2px solid #FF00A8;
    border-right: 2px solid #FF00A8;
}

/* ── Neon glow text utility ── */
.neon-cyan-glow {
    text-shadow: 0 0 12px rgba(0, 245, 255, 0.5), 0 0 40px rgba(0, 245, 255, 0.15);
}
.neon-magenta-glow {
    text-shadow: 0 0 12px rgba(255, 0, 168, 0.5), 0 0 40px rgba(255, 0, 168, 0.15);
}

/* ── Hero title strike-through line ── */
.hero-strike-line {
    position: relative;
    display: inline-block;
}
.hero-strike-line::after {
    content: '';
    position: absolute;
    top: 52%;
    left: -8%;
    width: 116%;
    height: 2px;
    background: #00F5FF;
    box-shadow: 0 0 10px #00F5FF, 0 0 24px #00F5FF;
    z-index: 3;
    pointer-events: none;
}

/* ── Hex / angular button style ── */
.hex-buttons .wp-block-button__link {
    clip-path: polygon(12px 0, 100% 0, 100% calc(100% - 12px), calc(100% - 12px) 100%, 0 100%, 0 12px);
    background: rgba(0, 10, 15, 0.85) !important;
    border: 1px solid #00F5FF !important;
    color: #00F5FF !important;
    font-family: 'Rajdhani', sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    padding: 0.75rem 2rem !important;
    transition: all 0.3s ease;
    font-size: 0.95rem;
}
.hex-buttons .wp-block-button__link:hover {
    background: #00F5FF !important;
    color: #0A0A0F !important;
    box-shadow: 0 0 30px rgba(0, 245, 255, 0.4);
    transform: translateY(-3px);
}
.hex-buttons .wp-block-button:nth-child(even) .wp-block-button__link {
    border-color: #FF00A8 !important;
    color: #FF00A8 !important;
}
.hex-buttons .wp-block-button:nth-child(even) .wp-block-button__link:hover {
    background: #FF00A8 !important;
    color: #0A0A0F !important;
    box-shadow: 0 0 30px rgba(255, 0, 168, 0.4);
}

/* ══════════════════════════════════════════
   HOMEPAGE — ELECTRIC HERO EFFECTS
   ══════════════════════════════════════════ */

/* ── MEGA Lightning bolts from hero title — HUGE and very visible ── */
.ep-hero-lightning {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    max-width: 1400px;
    height: 900px;
    pointer-events: none;
    z-index: 2;
}

.ep-hero-bolt {
    position: absolute;
    top: 50%;
    width: 4px;
    background: linear-gradient(180deg, #00F5FF, rgba(0, 245, 255, 0.5), rgba(0, 245, 255, 0.15), transparent);
    opacity: 0;
    transform-origin: top center;
    filter: blur(0.2px);
    box-shadow: 0 0 20px #00F5FF, 0 0 50px rgba(0, 245, 255, 0.5), 0 0 100px rgba(0, 245, 255, 0.2);
}

.ep-hero-bolt::before {
    content: '';
    position: absolute;
    bottom: 20%;
    left: 0;
    width: 3px;
    height: 100px;
    background: inherit;
    opacity: 0.8;
    transform: rotate(-35deg);
    transform-origin: top left;
    filter: blur(0.2px);
}

.ep-hero-bolt::after {
    content: '';
    position: absolute;
    bottom: 45%;
    left: 0;
    width: 2.5px;
    height: 80px;
    background: inherit;
    opacity: 0.6;
    transform: rotate(30deg);
    transform-origin: top left;
    filter: blur(0.4px);
}

.ep-hero-bolt--1 {
    left: 2%;
    height: 380px;
    transform: rotate(-18deg);
    animation: epHeroBoltFlash 2.2s ease-in-out 0.3s infinite;
}

.ep-hero-bolt--2 {
    right: 2%;
    left: auto;
    height: 360px;
    transform: rotate(20deg);
    animation: epHeroBoltFlash 2.8s ease-in-out 0.9s infinite;
    background: linear-gradient(180deg, #FF00A8, rgba(255, 0, 168, 0.5), rgba(255, 0, 168, 0.15), transparent);
    box-shadow: 0 0 20px #FF00A8, 0 0 50px rgba(255, 0, 168, 0.5), 0 0 100px rgba(255, 0, 168, 0.2);
}

.ep-hero-bolt--3 {
    left: 10%;
    height: 300px;
    transform: rotate(-35deg);
    animation: epHeroBoltFlash 2s ease-in-out 1.6s infinite;
}

.ep-hero-bolt--4 {
    right: 10%;
    left: auto;
    height: 320px;
    transform: rotate(32deg);
    animation: epHeroBoltFlash 2.5s ease-in-out 0.5s infinite;
    background: linear-gradient(180deg, #7B2FFF, rgba(123, 47, 255, 0.5), rgba(123, 47, 255, 0.15), transparent);
    box-shadow: 0 0 20px #7B2FFF, 0 0 50px rgba(123, 47, 255, 0.5), 0 0 100px rgba(123, 47, 255, 0.2);
}

.ep-hero-bolt--5 {
    left: -1%;
    height: 420px;
    transform: rotate(-10deg);
    animation: epHeroBoltFlash 3.2s ease-in-out 1.2s infinite;
    background: linear-gradient(180deg, #FF00A8, rgba(255, 0, 168, 0.4), rgba(255, 0, 168, 0.1), transparent);
    box-shadow: 0 0 18px #FF00A8, 0 0 45px rgba(255, 0, 168, 0.4), 0 0 90px rgba(255, 0, 168, 0.15);
}

.ep-hero-bolt--6 {
    right: -1%;
    left: auto;
    height: 400px;
    transform: rotate(12deg);
    animation: epHeroBoltFlash 3s ease-in-out 2s infinite;
}

.ep-hero-bolt--7 {
    left: 20%;
    height: 250px;
    transform: rotate(-50deg);
    animation: epHeroBoltFlash 1.8s ease-in-out 2.5s infinite;
    background: linear-gradient(180deg, #00F5FF, rgba(0, 245, 255, 0.3), transparent);
    box-shadow: 0 0 15px #00F5FF, 0 0 35px rgba(0, 245, 255, 0.3);
}

.ep-hero-bolt--8 {
    right: 20%;
    left: auto;
    height: 270px;
    transform: rotate(45deg);
    animation: epHeroBoltFlash 2.3s ease-in-out 0.7s infinite;
    background: linear-gradient(180deg, #FF00A8, rgba(255, 0, 168, 0.3), transparent);
    box-shadow: 0 0 15px #FF00A8, 0 0 35px rgba(255, 0, 168, 0.3);
}

/* Extra large bolts 9-12 for more dramatic effect */
.ep-hero-bolt--9 {
    left: 5%;
    height: 340px;
    width: 3px;
    transform: rotate(-28deg);
    animation: epHeroBoltFlash 2.7s ease-in-out 1.8s infinite;
    background: linear-gradient(180deg, #7B2FFF, rgba(123, 47, 255, 0.4), transparent);
    box-shadow: 0 0 15px #7B2FFF, 0 0 40px rgba(123, 47, 255, 0.3);
}

.ep-hero-bolt--10 {
    right: 5%;
    left: auto;
    height: 350px;
    width: 3px;
    transform: rotate(25deg);
    animation: epHeroBoltFlash 2.4s ease-in-out 0.2s infinite;
}

.ep-hero-bolt--11 {
    left: 30%;
    height: 200px;
    width: 3px;
    transform: rotate(-60deg);
    animation: epHeroBoltFlash 1.9s ease-in-out 3s infinite;
    background: linear-gradient(180deg, #FF00A8, rgba(255, 0, 168, 0.25), transparent);
    box-shadow: 0 0 12px #FF00A8, 0 0 30px rgba(255, 0, 168, 0.2);
}

.ep-hero-bolt--12 {
    right: 30%;
    left: auto;
    height: 220px;
    width: 3px;
    transform: rotate(55deg);
    animation: epHeroBoltFlash 2.1s ease-in-out 1.4s infinite;
    background: linear-gradient(180deg, #00F5FF, rgba(0, 245, 255, 0.25), transparent);
    box-shadow: 0 0 12px #00F5FF, 0 0 30px rgba(0, 245, 255, 0.2);
}

@keyframes epHeroBoltFlash {
    0%, 100% { opacity: 0; }
    1% { opacity: 1; }
    2% { opacity: 0.1; }
    3% { opacity: 0.95; }
    4.5% { opacity: 0.05; }
    5.5% { opacity: 0.9; }
    7% { opacity: 0.15; }
    8% { opacity: 0.8; }
    10% { opacity: 0; }
    40% { opacity: 0; }
    41% { opacity: 0.95; }
    42% { opacity: 0.05; }
    43% { opacity: 0.85; }
    44% { opacity: 0.1; }
    45% { opacity: 0.75; }
    47% { opacity: 0; }
}

/* ── Hero title — static, no glitch animation ── */
.ep-hero-title-electric {
    position: relative;
    display: inline-block;
}

/* No glitch pseudo-elements — title is completely static */

/* ── Electric arc around hero title — bigger and more dramatic ── */
.ep-hero-arc {
    position: absolute;
    width: 100%;
    max-width: 1000px;
    height: 350px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    pointer-events: none;
    z-index: 1;
}

.ep-hero-arc__line {
    position: absolute;
    height: 2px;
    background: linear-gradient(90deg, transparent, #00F5FF, #00F5FF, transparent);
    box-shadow: 0 0 12px rgba(0, 245, 255, 0.5), 0 0 30px rgba(0, 245, 255, 0.15);
    opacity: 0;
}

.ep-hero-arc__line--top {
    top: 0;
    left: 5%;
    right: 5%;
    animation: epArcSweep 3.5s ease-in-out infinite;
}

.ep-hero-arc__line--bottom {
    bottom: 0;
    left: 8%;
    right: 8%;
    background: linear-gradient(90deg, transparent, #FF00A8, #FF00A8, transparent);
    box-shadow: 0 0 12px rgba(255, 0, 168, 0.5), 0 0 30px rgba(255, 0, 168, 0.15);
    animation: epArcSweep 4.5s ease-in-out 1s infinite;
}

@keyframes epArcSweep {
    0%, 100% { opacity: 0; transform: scaleX(0.2); }
    15% { opacity: 0.9; transform: scaleX(0.5); }
    50% { opacity: 1; transform: scaleX(1); }
    85% { opacity: 0.5; transform: scaleX(0.6); }
}

/* ── Electric energy particles around hero ── */
.ep-hero-energy {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 3;
    overflow: hidden;
}

.ep-hero-spark {
    position: absolute;
    width: 3px;
    height: 3px;
    border-radius: 50%;
    opacity: 0;
}

.ep-hero-spark--1 { top: 20%; left: 8%; background: #00F5FF; box-shadow: 0 0 6px #00F5FF; animation: epSparkDrift 3s ease-in-out 0.2s infinite; }
.ep-hero-spark--2 { top: 30%; right: 10%; background: #FF00A8; box-shadow: 0 0 6px #FF00A8; animation: epSparkDrift 3.5s ease-in-out 0.8s infinite; }
.ep-hero-spark--3 { top: 65%; left: 12%; background: #7B2FFF; box-shadow: 0 0 6px #7B2FFF; animation: epSparkDrift 2.8s ease-in-out 1.4s infinite; }
.ep-hero-spark--4 { top: 75%; right: 15%; background: #00F5FF; box-shadow: 0 0 6px #00F5FF; animation: epSparkDrift 4s ease-in-out 0.5s infinite; }
.ep-hero-spark--5 { top: 40%; left: 3%; background: #FF00A8; box-shadow: 0 0 4px #FF00A8; animation: epSparkDrift 3.2s ease-in-out 2s infinite; }
.ep-hero-spark--6 { top: 55%; right: 5%; background: #00F5FF; box-shadow: 0 0 4px #00F5FF; animation: epSparkDrift 3.8s ease-in-out 1s infinite; }
.ep-hero-spark--7 { top: 15%; left: 35%; width: 2px; height: 2px; background: #FF00A8; box-shadow: 0 0 4px #FF00A8; animation: epSparkOrbit 5s linear infinite; }
.ep-hero-spark--8 { top: 80%; right: 30%; width: 2px; height: 2px; background: #7B2FFF; box-shadow: 0 0 4px #7B2FFF; animation: epSparkOrbit 6s linear 1.5s infinite; }

@keyframes epSparkDrift {
    0%, 100% { opacity: 0; transform: translate(0, 0) scale(0.5); }
    15% { opacity: 0.8; }
    50% { opacity: 1; transform: translate(15px, -25px) scale(1.5); }
    85% { opacity: 0.4; }
}

@keyframes epSparkOrbit {
    0% { opacity: 0; transform: translate(0, 0); }
    10% { opacity: 0.7; }
    25% { transform: translate(20px, -15px); }
    50% { opacity: 0.5; transform: translate(-10px, -30px); }
    75% { transform: translate(-20px, -10px); }
    90% { opacity: 0.3; }
    100% { opacity: 0; transform: translate(0, 0); }
}

/* ── Homepage hero buttons — static, hover only ── */
.ep-hero-buttons .wp-block-button__link {
    position: relative;
}

.ep-hero-buttons .wp-block-button:nth-child(odd) .wp-block-button__link:hover {
    box-shadow: 0 0 25px rgba(0, 245, 255, 0.6), 0 0 50px rgba(0, 245, 255, 0.25), 0 0 80px rgba(0, 245, 255, 0.1) !important;
    transform: translateY(-3px);
}

.ep-hero-buttons .wp-block-button:nth-child(even) .wp-block-button__link:hover {
    box-shadow: 0 0 25px rgba(255, 0, 168, 0.6), 0 0 50px rgba(255, 0, 168, 0.25), 0 0 80px rgba(255, 0, 168, 0.1) !important;
    transform: translateY(-3px);
}

/* ── Neon card section electric border ── */
.ep-electric-section .neon-card {
    position: relative;
}

.ep-electric-section .neon-card::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 2px;
    background: linear-gradient(90deg, #00F5FF, #FF00A8);
    box-shadow: 0 0 8px rgba(0, 245, 255, 0.4);
    transition: width 0.5s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.ep-electric-section .neon-card:hover::after {
    width: 80%;
}

/* ── Stats section — static text, hover-only glow ── */
.ep-stats-electric .wp-block-heading {
    transition: text-shadow 0.3s ease;
}

.ep-stats-electric:hover .wp-block-heading {
    text-shadow: 0 0 20px currentColor, 0 0 40px currentColor;
}

/* ── GLOBAL: Remove ALL auto-animations from text & buttons ── */
/* Splash screen uses <div> elements so it is NOT affected by this rule */
.wp-block-heading,
.wp-block-paragraph,
.wp-block-button__link,
.wp-element-button,
.wp-site-blocks h1, .wp-site-blocks h2, .wp-site-blocks h3,
.wp-site-blocks h4, .wp-site-blocks h5, .wp-site-blocks h6,
.wp-site-blocks p, a.wp-block-button__link {
    animation: none !important;
}

/* Re-enable decorative element animations */
.ep-hero-bolt,
.ep-hero-spark,
.ep-hero-arc__line,
.scroll-pulse,
.ep-glitch-text::before,
.ep-glitch-text::after {
    animation: revert !important;
}

/* ── Responsive: reduce effects on mobile ── */
@media (max-width: 768px) {
    .ep-hero-lightning {
        display: none;
    }

    .ep-hero-energy {
        display: none;
    }

    .ep-hero-arc {
        display: none;
    }
}

/* ── On tablet: scale down bolts a bit ── */
@media (max-width: 1024px) and (min-width: 769px) {
    .ep-hero-lightning {
        max-width: 900px;
        height: 600px;
    }

    .ep-hero-bolt {
        width: 3px;
    }

    .ep-hero-bolt--1 { height: 250px; }
    .ep-hero-bolt--2 { height: 230px; }
    .ep-hero-bolt--3 { height: 200px; }
    .ep-hero-bolt--4 { height: 210px; }
    .ep-hero-bolt--5 { height: 280px; }
    .ep-hero-bolt--6 { height: 260px; }
    .ep-hero-bolt--7 { height: 160px; }
    .ep-hero-bolt--8 { height: 180px; }
    .ep-hero-bolt--9 { height: 220px; }
    .ep-hero-bolt--10 { height: 230px; }
    .ep-hero-bolt--11 { height: 140px; }
    .ep-hero-bolt--12 { height: 150px; }
}

/* ══════════════════════════════════════════
   ELECTRIC BUTTON EFFECTS — SITE-WIDE
   ══════════════════════════════════════════ */

/* All site buttons — static, no auto-animations */
.wp-block-button__link,
.wp-element-button {
    position: relative;
    overflow: visible;
    transition: all 0.3s ease, box-shadow 0.3s ease, filter 0.3s ease, transform 0.3s ease;
}

/* No auto-shimmer or auto-pulse — buttons are completely static */

/* Neon glow intensify on hover for all buttons */
.wp-block-button__link:hover,
.wp-element-button:hover {
    filter: brightness(1.1);
}

/* Hex-buttons — static, hover-only effects */
.cta-bottom .wp-block-button__link,
.hex-buttons .wp-block-button__link {
    background-clip: padding-box;
}

/* ── BUTTON LIGHTNING ON CLICK ── */
.ep-btn-bolt {
    position: absolute;
    width: 2px;
    opacity: 0;
    pointer-events: none;
    z-index: 100;
    filter: blur(0.3px);
    transform-origin: top center;
}

.ep-btn-bolt--cyan {
    background: linear-gradient(180deg, #00F5FF, rgba(0, 245, 255, 0.4), transparent);
    box-shadow: 0 0 10px #00F5FF, 0 0 25px rgba(0, 245, 255, 0.4);
}

.ep-btn-bolt--magenta {
    background: linear-gradient(180deg, #FF00A8, rgba(255, 0, 168, 0.4), transparent);
    box-shadow: 0 0 10px #FF00A8, 0 0 25px rgba(255, 0, 168, 0.4);
}

.ep-btn-bolt--purple {
    background: linear-gradient(180deg, #7B2FFF, rgba(123, 47, 255, 0.4), transparent);
    box-shadow: 0 0 10px #7B2FFF, 0 0 25px rgba(123, 47, 255, 0.4);
}

.ep-btn-bolt.ep-bolt-flash {
    animation: epBtnBoltFlash 0.6s ease-out forwards;
}

@keyframes epBtnBoltFlash {
    0% { opacity: 0; }
    5% { opacity: 1; }
    10% { opacity: 0.2; }
    15% { opacity: 0.9; }
    25% { opacity: 0.1; }
    30% { opacity: 0.8; }
    50% { opacity: 0.5; }
    70% { opacity: 0.2; }
    100% { opacity: 0; }
}

/* Button glow flash on click */
.wp-block-button__link.ep-btn-clicked,
.wp-element-button.ep-btn-clicked {
    box-shadow: 0 0 30px rgba(0, 245, 255, 0.5), 0 0 60px rgba(0, 245, 255, 0.2) !important;
}

.hex-buttons .wp-block-button:nth-child(even) .wp-block-button__link.ep-btn-clicked {
    box-shadow: 0 0 30px rgba(255, 0, 168, 0.5), 0 0 60px rgba(255, 0, 168, 0.2) !important;
}

/* ── Equal-height card columns ── */
.equal-cards > .wp-block-column {
    display: flex;
    flex-direction: column;
    flex-grow: 0;
}
.equal-cards > .wp-block-column > .wp-block-group {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}
.equal-cards .cta-bottom {
    margin-top: auto;
    justify-content: center;
}

/* ── Neon-bordered card ── */
.neon-card {
    border: 1px solid rgba(0, 245, 255, 0.2);
    transition: border-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease;
}
.neon-card:hover {
    border-color: #00F5FF;
    box-shadow: 0 0 20px rgba(0, 245, 255, 0.15);
    transform: translateY(-4px);
}
.neon-card-magenta {
    border-color: rgba(255, 0, 168, 0.2);
}
.neon-card-magenta:hover {
    border-color: #FF00A8;
    box-shadow: 0 0 20px rgba(255, 0, 168, 0.15);
}

/* ── Section divider glow line ── */
.plasma-divider {
    position: relative;
}
.plasma-divider::after {
    content: '';
    display: block;
    width: 120px;
    height: 2px;
    background: linear-gradient(90deg, #00F5FF, #FF00A8);
    box-shadow: 0 0 8px rgba(0, 245, 255, 0.4), 0 0 8px rgba(255, 0, 168, 0.4);
    margin: 0 auto;
}

/* ── Scroll indicator pulse ── */
@keyframes plasma-pulse {
    0% { opacity: 0.3; height: 40px; }
    50% { opacity: 1; height: 65px; }
    100% { opacity: 0.3; height: 40px; }
}
.scroll-pulse {
    width: 2px;
    background: linear-gradient(to bottom, #00F5FF, transparent);
    animation: plasma-pulse 2s infinite;
    height: 50px;
}

/* ── Stagger fade-in — disabled, all content static ── */
.fade-in-up {
    opacity: 1;
    transform: none;
}
.fade-delay-1,
.fade-delay-2,
.fade-delay-3,
.fade-delay-4 {
    opacity: 1;
    transform: none;
}

/* ── Subtle glow on section headings ── */
.section-heading-cyan {
    position: relative;
    display: inline-block;
}
.section-heading-cyan::before {
    content: '';
    position: absolute;
    bottom: -6px;
    left: 0;
    width: 60px;
    height: 3px;
    background: #00F5FF;
    box-shadow: 0 0 8px #00F5FF;
}

/* ── Footer link glow ── */
.plasma-footer a {
    color: rgba(255,255,255,0.7);
    text-decoration: none;
    transition: color 0.3s ease;
}
.plasma-footer a:hover {
    color: #00F5FF;
}

/* ── Header nav styling ── */
.wp-block-navigation .wp-block-navigation-item a {
    color: rgba(255, 255, 255, 0.7);
    text-decoration: none;
    position: relative;
    padding-bottom: 4px;
    transition: color 0.3s ease;
    font-family: 'Rajdhani', sans-serif;
}

.wp-block-navigation .wp-block-navigation-item a:hover {
    color: #00F5FF;
}

.wp-block-navigation .wp-block-navigation-item a::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 2px;
    background: linear-gradient(90deg, #00F5FF, #FF00A8);
    transition: width 0.3s ease;
}

.wp-block-navigation .wp-block-navigation-item a:hover::after {
    width: 100%;
}

/* ══════════════════════════════════════════
   MEGA MENU — MODERN GLASS STYLE
   ══════════════════════════════════════════ */
.wp-block-navigation-submenu {
    position: relative;
}

/* ── Main dropdown panel ── */
.wp-block-navigation-submenu .wp-block-navigation__submenu-container {
    background: rgba(12, 12, 20, 0.92) !important;
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-top: none;
    box-shadow:
        0 24px 80px rgba(0, 0, 0, 0.65),
        0 0 1px rgba(255, 255, 255, 0.1);
    padding: 0.75rem 0 !important;
    min-width: 280px;
    margin-top: 0 !important;
    animation: megaMenuReveal 0.35s cubic-bezier(0.22, 0.61, 0.36, 1);
    position: relative;
    overflow: hidden;
    backdrop-filter: blur(24px) saturate(1.4);
    -webkit-backdrop-filter: blur(24px) saturate(1.4);
    border-radius: 0 0 6px 6px;
}

/* Top accent line — gradient bar */
.wp-block-navigation-submenu .wp-block-navigation__submenu-container::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, #00F5FF, #FF00A8);
    z-index: 10;
    opacity: 0.8;
}

/* Subtle inner glow */
.wp-block-navigation-submenu .wp-block-navigation__submenu-container::after {
    content: '';
    position: absolute;
    top: 2px;
    left: 0;
    right: 0;
    height: 40px;
    background: linear-gradient(180deg, rgba(0, 245, 255, 0.03) 0%, transparent 100%);
    pointer-events: none;
    z-index: 1;
}

@keyframes megaMenuReveal {
    0% {
        opacity: 0;
        transform: translateY(-6px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ── Individual menu items ── */
.wp-block-navigation-submenu .wp-block-navigation__submenu-container .wp-block-navigation-item {
    border-bottom: none;
    opacity: 0;
    animation: megaItemSlideIn 0.3s ease forwards;
    position: relative;
    z-index: 5;
}

.wp-block-navigation-submenu .wp-block-navigation__submenu-container .wp-block-navigation-item:nth-child(1) { animation-delay: 0.04s; }
.wp-block-navigation-submenu .wp-block-navigation__submenu-container .wp-block-navigation-item:nth-child(2) { animation-delay: 0.08s; }
.wp-block-navigation-submenu .wp-block-navigation__submenu-container .wp-block-navigation-item:nth-child(3) { animation-delay: 0.12s; }
.wp-block-navigation-submenu .wp-block-navigation__submenu-container .wp-block-navigation-item:nth-child(4) { animation-delay: 0.16s; }
.wp-block-navigation-submenu .wp-block-navigation__submenu-container .wp-block-navigation-item:nth-child(5) { animation-delay: 0.20s; }
.wp-block-navigation-submenu .wp-block-navigation__submenu-container .wp-block-navigation-item:nth-child(6) { animation-delay: 0.24s; }
.wp-block-navigation-submenu .wp-block-navigation__submenu-container .wp-block-navigation-item:nth-child(7) { animation-delay: 0.28s; }
.wp-block-navigation-submenu .wp-block-navigation__submenu-container .wp-block-navigation-item:nth-child(8) { animation-delay: 0.32s; }
.wp-block-navigation-submenu .wp-block-navigation__submenu-container .wp-block-navigation-item:nth-child(9) { animation-delay: 0.36s; }
.wp-block-navigation-submenu .wp-block-navigation__submenu-container .wp-block-navigation-item:nth-child(10) { animation-delay: 0.40s; }

@keyframes megaItemSlideIn {
    0% {
        opacity: 0;
        transform: translateY(-4px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ── Item link styles ── */
.wp-block-navigation-submenu .wp-block-navigation__submenu-container .wp-block-navigation-item a {
    color: rgba(255, 255, 255, 0.55) !important;
    font-family: 'Rajdhani', sans-serif;
    font-size: 0.82rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    padding: 0.65rem 1.5rem !important;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    position: relative;
    transition: color 0.2s ease, background-color 0.2s ease, padding-left 0.25s ease;
    border-left: 2px solid transparent;
    overflow: hidden;
}

/* Hover background highlight */
.wp-block-navigation-submenu .wp-block-navigation__submenu-container .wp-block-navigation-item a::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(0, 245, 255, 0.06), transparent);
    opacity: 0;
    transition: opacity 0.2s ease;
    z-index: -1;
}

.wp-block-navigation-submenu .wp-block-navigation__submenu-container .wp-block-navigation-item a:hover::before {
    opacity: 1;
}

/* Hover state */
.wp-block-navigation-submenu .wp-block-navigation__submenu-container .wp-block-navigation-item a:hover {
    color: #FFFFFF !important;
    padding-left: 1.75rem !important;
    border-left-color: #00F5FF;
}

/* Alternating accent on even items */
.wp-block-navigation-submenu .wp-block-navigation__submenu-container .wp-block-navigation-item:nth-child(even) a:hover {
    border-left-color: #FF00A8;
}

.wp-block-navigation-submenu .wp-block-navigation__submenu-container .wp-block-navigation-item:nth-child(even) a::before {
    background: linear-gradient(90deg, rgba(255, 0, 168, 0.05), transparent);
}

/* Remove default underline animation */
.wp-block-navigation-submenu .wp-block-navigation__submenu-container .wp-block-navigation-item a::after {
    display: none !important;
}

/* ── Submenu caret / arrow ── */
.wp-block-navigation-submenu > .wp-block-navigation-item__content::after {
    content: '';
    display: inline-block;
    width: 5px;
    height: 5px;
    border-right: 1.5px solid rgba(255, 255, 255, 0.4);
    border-bottom: 1.5px solid rgba(255, 255, 255, 0.4);
    transform: rotate(45deg);
    margin-left: 6px;
    vertical-align: middle;
    transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1), border-color 0.2s ease;
}

.wp-block-navigation-submenu:hover > .wp-block-navigation-item__content::after {
    transform: rotate(-135deg);
    border-color: #00F5FF;
}

/* ── Submenu toggle button ── */
.wp-block-navigation-submenu__toggle {
    color: rgba(255, 255, 255, 0.5) !important;
    background: transparent !important;
    border: none !important;
    padding: 0 4px !important;
    transition: color 0.2s ease;
}

.wp-block-navigation-submenu__toggle:hover {
    color: #00F5FF !important;
}

.wp-block-navigation-submenu__toggle svg {
    fill: currentColor;
    width: 10px;
    height: 10px;
}

/* ── Separator between items ── */
.wp-block-navigation-submenu .wp-block-navigation__submenu-container .wp-block-navigation-item + .wp-block-navigation-item {
    border-top: 1px solid rgba(255, 255, 255, 0.03);
}

/* ── Mobile submenu inside overlay ── */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0.5rem 0 !important;
    margin-top: 0 !important;
    position: relative !important;
    width: 100% !important;
    min-width: unset !important;
    animation: none !important;
    border-radius: 0 !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container::before,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container::after {
    display: none !important;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item {
    border-bottom: none;
    border-top: none;
    opacity: 0;
    animation: mobileSubItemFade 0.3s ease forwards;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item + .wp-block-navigation-item {
    border-top: none;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item:nth-child(1) { animation-delay: 0.05s; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item:nth-child(2) { animation-delay: 0.1s; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item:nth-child(3) { animation-delay: 0.15s; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item:nth-child(4) { animation-delay: 0.2s; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item:nth-child(5) { animation-delay: 0.25s; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item:nth-child(6) { animation-delay: 0.3s; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item:nth-child(7) { animation-delay: 0.35s; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item:nth-child(8) { animation-delay: 0.4s; }

@keyframes mobileSubItemFade {
    from { opacity: 0; transform: translateX(-6px); }
    to { opacity: 1; transform: translateX(0); }
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item a {
    color: rgba(255, 255, 255, 0.55) !important;
    font-size: 0.95rem !important;
    letter-spacing: 1.5px !important;
    padding: 0.65rem 0 !important;
    border-left: none !important;
    transition: color 0.2s ease, padding-left 0.2s ease;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item a::before {
    display: none !important;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item a:hover {
    color: #00F5FF !important;
    background-color: transparent !important;
    padding-left: 0.5rem !important;
}

/* ── Mobile menu overlay styling ── */
.wp-block-navigation__responsive-container.is-menu-open {
    background-color: #0A0A0F !important;
    padding: 2rem;
    animation: mobileMenuOpen 0.4s cubic-bezier(0.22, 0.61, 0.36, 1);
}

@keyframes mobileMenuOpen {
    from { opacity: 0; }
    to { opacity: 1; }
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
    padding-top: 3rem;
    gap: 0;
    align-items: center;
    justify-content: center;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
    width: 100%;
    text-align: center;
    border-bottom: 1px solid rgba(0, 245, 255, 0.08);
    opacity: 0;
    animation: mobileItemFade 0.4s ease forwards;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:nth-child(1) { animation-delay: 0.1s; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:nth-child(2) { animation-delay: 0.18s; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:nth-child(3) { animation-delay: 0.26s; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:nth-child(4) { animation-delay: 0.34s; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:nth-child(5) { animation-delay: 0.42s; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:nth-child(6) { animation-delay: 0.5s; }

@keyframes mobileItemFade {
    from { opacity: 0; transform: translateY(15px); }
    to { opacity: 1; transform: translateY(0); }
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:last-child {
    border-bottom: none;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item a {
    color: rgba(255, 255, 255, 0.85);
    font-family: 'Rajdhani', sans-serif;
    font-size: 1.2rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 2px;
    padding: 1rem 0;
    display: block;
    transition: color 0.3s ease, text-shadow 0.3s ease, transform 0.2s ease;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item a:hover,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item a:focus {
    color: #00F5FF;
    text-shadow: 0 0 12px rgba(0, 245, 255, 0.4);
    transform: scale(1.03);
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item a::after {
    display: none;
}



/* ── Mobile menu hamburger button ── */
.wp-block-navigation__responsive-container-close {
    color: #00F5FF !important;
    font-size: 1.5rem;
    transition: color 0.3s ease, transform 0.3s ease;
}

.wp-block-navigation__responsive-container-close:hover {
    color: #FF00A8 !important;
    transform: rotate(90deg);
}

.wp-block-navigation__responsive-close-button {
    color: #00F5FF !important;
}

.wp-block-navigation__responsive-container-open {
    color: #00F5FF !important;
    transition: color 0.3s ease, transform 0.3s ease;
}

.wp-block-navigation__responsive-container-open:hover {
    color: #FF00A8 !important;
    transform: scale(1.15);
}

.wp-block-navigation__responsive-container-open svg {
    fill: #00F5FF;
    width: 28px;
    height: 28px;
    transition: fill 0.3s ease;
}

.wp-block-navigation__responsive-container-open:hover svg {
    fill: #FF00A8;
}

.wp-block-navigation__responsive-container-close svg {
    fill: #00F5FF;
    transition: fill 0.3s ease;
}

.wp-block-navigation__responsive-container-close:hover svg {
    fill: #FF00A8;
}

/* ── Sticky header z-index ── */
.wp-block-group[style*="position:sticky"],
.wp-block-group.is-position-sticky {
    z-index: 100;
}

/* ── Remove top margin from site blocks direct children ── */
.wp-site-blocks > * + * {
    margin-block-start: 0;
}
.wp-site-blocks > footer {
    margin-block-start: 0;
}



/* ── Cover image filter for atmosphere ── */
.plasma-hero-cover .wp-block-cover__image-background {
    filter: contrast(1.1) brightness(0.85) saturate(1.2);
    object-fit: cover;
}

/* ── Smooth scroll behavior ── */
html {
    scroll-behavior: smooth;
}

/* ── Link transition improvements ── */
a {
    transition: color 0.3s ease;
}

/* ── Button focus states for accessibility ── */
.wp-block-button__link:focus-visible,
.wp-element-button:focus-visible {
    outline: 2px solid #00F5FF;
    outline-offset: 2px;
}

/* ══════════════════════════════════════════
   RESPONSIVE — TABLET (max-width: 1024px)
   ══════════════════════════════════════════ */
@media (max-width: 1024px) {
    /* Hero text scaling */
    .plasma-hero-cover .wp-block-cover__inner-container {
        padding: 0 1rem;
    }

    /* Columns go 2-col on tablet */
    .equal-cards {
        flex-wrap: wrap !important;
    }

    .equal-cards > .wp-block-column {
        flex-basis: 48% !important;
        max-width: 48% !important;
    }

    /* Stats row */
    .wp-block-columns.are-vertically-aligned-center > .wp-block-column {
        flex-basis: 50% !important;
        margin-bottom: 1.5rem;
    }

    /* Reduce section padding */
    .wp-block-group[style*="padding-top:var(--wp--preset--spacing--60)"] {
        padding-top: var(--wp--preset--spacing--50) !important;
        padding-bottom: var(--wp--preset--spacing--50) !important;
    }

    .wp-block-group[style*="padding-top:var(--wp--preset--spacing--70)"] {
        padding-top: var(--wp--preset--spacing--60) !important;
        padding-bottom: var(--wp--preset--spacing--50) !important;
    }

    /* Corner brackets smaller */
    .plasma-corners::before,
    .plasma-corners::after {
        width: 50px;
        height: 50px;
    }

    /* Side-by-side sections stack */
    .wp-block-columns[style*="flex-basis:55%"],
    .wp-block-columns[style*="flex-basis:45%"],
    .wp-block-columns[style*="flex-basis:60%"],
    .wp-block-columns[style*="flex-basis:40%"],
    .wp-block-columns[style*="flex-basis:50%"] {
        flex-wrap: wrap !important;
    }

    /* Footer columns */
    .plasma-footer .wp-block-columns {
        flex-wrap: wrap !important;
    }

    .plasma-footer .wp-block-columns > .wp-block-column {
        flex-basis: 48% !important;
        margin-bottom: 1.5rem;
    }

    .plasma-footer .wp-block-columns > .wp-block-column:first-child {
        flex-basis: 100% !important;
        margin-bottom: 2rem;
    }

    /* Brands row on reparacoes */
    .wp-block-columns > .wp-block-column[style*="flex-basis:16.66%"] {
        flex-basis: 30% !important;
        max-width: 30% !important;
    }
}

/* ══════════════════════════════════════════
   RESPONSIVE — MOBILE (max-width: 768px)
   ══════════════════════════════════════════ */
@media (max-width: 768px) {
    /* ── Header nav tighter on mobile ── */
    .wp-block-group[style*="padding-left:2rem"] .wp-block-navigation {
        font-size: 0.8rem;
    }

    /* ── Hero section ── */
    .wp-block-cover[style*="min-height:100vh"] {
        min-height: 85vh !important;
    }

    .wp-block-cover[style*="min-height:60vh"],
    .wp-block-cover[style*="min-height:55vh"] {
        min-height: 50vh !important;
    }

    .hero-strike-line::after {
        display: none;
    }

    /* ── Hex buttons ── */
    .hex-buttons {
        flex-direction: column !important;
        align-items: stretch !important;
    }

    .hex-buttons .wp-block-button {
        width: 100%;
    }

    .hex-buttons .wp-block-button__link {
        padding: 0.65rem 1.25rem !important;
        font-size: 0.8rem;
        width: 100%;
        text-align: center;
        display: block;
    }

    /* ── Equal card columns stack ── */
    .equal-cards {
        flex-direction: column !important;
    }

    .equal-cards > .wp-block-column {
        flex-basis: 100% !important;
        max-width: 100% !important;
    }

    /* ── General columns stack ── */
    .wp-block-columns {
        flex-wrap: wrap !important;
    }

    .wp-block-columns > .wp-block-column {
        flex-basis: 100% !important;
        max-width: 100% !important;
    }

    /* ── Section padding reduced ── */
    .wp-block-group[style*="padding-left:2rem"] {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }

    .wp-block-cover[style*="padding-left:2rem"] {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }

    .wp-block-group[style*="padding-top:var(--wp--preset--spacing--60)"] {
        padding-top: var(--wp--preset--spacing--40) !important;
        padding-bottom: var(--wp--preset--spacing--40) !important;
    }

    .wp-block-group[style*="padding-top:var(--wp--preset--spacing--70)"] {
        padding-top: var(--wp--preset--spacing--50) !important;
        padding-bottom: var(--wp--preset--spacing--40) !important;
    }

    .wp-block-group[style*="padding-top:var(--wp--preset--spacing--50)"] {
        padding-top: var(--wp--preset--spacing--30) !important;
        padding-bottom: var(--wp--preset--spacing--30) !important;
    }

    /* ── Corner brackets ── */
    .plasma-corners::before,
    .plasma-corners::after {
        width: 35px;
        height: 35px;
    }

    .plasma-corners::before {
        top: 12px;
        left: 12px;
    }

    .plasma-corners::after {
        bottom: 12px;
        right: 12px;
    }

    /* ── Neon card ── */
    .neon-card {
        margin-bottom: 0;
    }

    .neon-card:hover {
        transform: none;
    }

    /* ── Stats row ── */
    .wp-block-columns.are-vertically-aligned-center {
        gap: 1.5rem;
    }

    .wp-block-columns.are-vertically-aligned-center > .wp-block-column {
        flex-basis: 50% !important;
        max-width: 50% !important;
    }

    /* ── Footer ── */
    .plasma-footer {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }

    .plasma-footer .wp-block-columns > .wp-block-column {
        flex-basis: 100% !important;
        max-width: 100% !important;
        margin-bottom: 1.5rem;
    }

    /* ── Grid overlay less visible on mobile ── */
    .plasma-grid-overlay::before {
        background-size: 30px 30px;
        opacity: 0.5;
    }

    /* ── Typography scaling ── */
    .wp-block-heading.has-display-font-family[style*="font-size:2.5rem"] {
        font-size: 1.75rem !important;
    }

    /* ── Image hover disabled on touch ── */
    .neon-card:hover .wp-block-image img {
        transform: none;
    }

    /* ── WooCommerce sidebar layout ── */
    .wc-block-components-sidebar-layout .wc-block-components-main {
        padding-right: 0;
    }

    .wc-block-components-sidebar {
        margin-top: 1.5rem;
    }

    /* ── Contact form two-column layout ── */
    .wp-block-columns > .wp-block-column[style*="flex-basis:60%"],
    .wp-block-columns > .wp-block-column[style*="flex-basis:40%"] {
        flex-basis: 100% !important;
        max-width: 100% !important;
    }

    /* ── Brands row on reparacoes ── */
    .wp-block-columns > .wp-block-column[style*="flex-basis:16.66%"] {
        flex-basis: 45% !important;
        max-width: 45% !important;
    }

    /* ── WooCommerce product grid ── */
    .wc-plasma-products .wp-block-post-template {
        grid-template-columns: repeat(2, 1fr) !important;
    }

    /* ── Scroll pulse hide on mobile ── */
    .scroll-pulse {
        display: none;
    }
}

/* ══════════════════════════════════════════
   RESPONSIVE — SMALL MOBILE (max-width: 480px)
   ══════════════════════════════════════════ */
@media (max-width: 480px) {
    /* Tight padding */
    .wp-block-group[style*="padding-left:2rem"],
    .wp-block-group[style*="padding-left:1rem"] {
        padding-left: 0.75rem !important;
        padding-right: 0.75rem !important;
    }

    .wp-block-cover[style*="padding-left:2rem"],
    .wp-block-cover[style*="padding-left:1rem"] {
        padding-left: 0.75rem !important;
        padding-right: 0.75rem !important;
    }

    /* Stats 1-col on very small */
    .wp-block-columns.are-vertically-aligned-center > .wp-block-column {
        flex-basis: 100% !important;
        max-width: 100% !important;
    }

    /* Hex buttons full width */
    .hex-buttons .wp-block-button__link {
        padding: 0.6rem 1rem !important;
        font-size: 0.75rem;
        clip-path: polygon(8px 0, 100% 0, 100% calc(100% - 8px), calc(100% - 8px) 100%, 0 100%, 0 8px);
    }

    /* Neon card internal padding */
    .neon-card[style*="padding-top:2rem"] {
        padding-top: 1.25rem !important;
        padding-bottom: 1.25rem !important;
    }

    .neon-card[style*="padding-left:1.5rem"] {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }

    /* WooCommerce product grid single col */
    .wc-plasma-products .wp-block-post-template {
        grid-template-columns: 1fr !important;
    }

    /* Brands row single col */
    .wp-block-columns > .wp-block-column[style*="flex-basis:16.66%"] {
        flex-basis: 100% !important;
        max-width: 100% !important;
    }

    /* Corner brackets even smaller */
    .plasma-corners::before,
    .plasma-corners::after {
        width: 25px;
        height: 25px;
    }

    .plasma-corners::before {
        top: 8px;
        left: 8px;
    }

    .plasma-corners::after {
        bottom: 8px;
        right: 8px;
    }

    /* Letter spacing reductions for tight screens */
    .wp-block-heading[style*="letter-spacing:3px"] {
        letter-spacing: 1px !important;
    }

    .wp-block-heading[style*="letter-spacing:2px"] {
        letter-spacing: 1px !important;
    }

    p[style*="letter-spacing:0.3em"] {
        letter-spacing: 0.15em !important;
    }

    p[style*="letter-spacing:0.45em"] {
        letter-spacing: 0.2em !important;
    }

    /* Footer credit centered */
    .plasma-footer .wp-block-paragraph {
        text-align: center;
    }
}

/* ══════════════════════════════════════════
   404 PAGE — GLITCH & ANIMATIONS
   ══════════════════════════════════════════ */

/* Glitch text effect */
.ep-glitch-text {
    position: relative;
    display: inline-block;
}

.ep-glitch-text::before,
.ep-glitch-text::after {
    content: '404';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

.ep-glitch-text::before {
    color: #FF00A8;
    animation: epGlitch1 3s infinite linear alternate-reverse;
    clip-path: inset(0 0 65% 0);
    z-index: -1;
}

.ep-glitch-text::after {
    color: #00F5FF;
    animation: epGlitch2 3s infinite linear alternate-reverse;
    clip-path: inset(65% 0 0 0);
    z-index: -1;
}

@keyframes epGlitch1 {
    0%, 93% { transform: translate(0); }
    94% { transform: translate(-4px, 2px); }
    95% { transform: translate(3px, -1px); }
    96% { transform: translate(-2px, 3px); }
    97% { transform: translate(4px, -2px); }
    98% { transform: translate(-3px, 1px); }
    99% { transform: translate(2px, -3px); }
    100% { transform: translate(0); }
}

@keyframes epGlitch2 {
    0%, 93% { transform: translate(0); }
    94% { transform: translate(3px, -2px); }
    95% { transform: translate(-4px, 1px); }
    96% { transform: translate(2px, -3px); }
    97% { transform: translate(-3px, 2px); }
    98% { transform: translate(4px, -1px); }
    99% { transform: translate(-2px, 3px); }
    100% { transform: translate(0); }
}

/* 404 card hover animations */
.ep-404-card {
    transition: all 0.4s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.ep-404-card:hover {
    transform: translateY(-6px);
}

/* ── Image hover zoom effect ── */
.neon-card .wp-block-image {
    overflow: hidden;
}
.neon-card .wp-block-image img {
    transition: transform 0.5s ease;
}
.neon-card:hover .wp-block-image img {
    transform: scale(1.05);
}

/* ── WooCommerce Cart & Checkout Plasma Styling ── */
.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout {
    --wc-cart-header-color: #FFFFFF;
    font-family: 'Rajdhani', sans-serif;
}

.wp-block-woocommerce-cart .wc-block-cart__submit-container a.wc-block-cart__submit-button,
.wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button {
    background-color: #00F5FF !important;
    color: #0A0A0F !important;
    font-family: 'Rajdhani', sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    border: none;
    border-radius: 0;
    clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px);
    transition: all 0.3s ease;
    padding: 0.9rem 2rem;
}

.wp-block-woocommerce-cart .wc-block-cart__submit-container a.wc-block-cart__submit-button:hover,
.wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button:hover {
    background-color: #FF00A8 !important;
    color: #FFFFFF !important;
    box-shadow: 0 0 25px rgba(255, 0, 168, 0.4);
    transform: translateY(-2px);
}

.wc-block-components-totals-wrapper,
.wc-block-components-panel {
    border-color: rgba(0, 245, 255, 0.12) !important;
}

.wc-block-components-order-summary .wc-block-components-order-summary-item__description {
    color: rgba(255, 255, 255, 0.7);
}

.wc-block-components-totals-item__label,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
    color: rgba(255, 255, 255, 0.85);
    font-family: 'Rajdhani', sans-serif;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.wc-block-components-totals-item__value,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
    color: #00F5FF;
    font-family: 'Rajdhani', sans-serif;
    font-weight: 700;
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
    color: #FF00A8;
    font-size: 1.2rem;
}

.wc-block-components-text-input input,
.wc-block-components-text-input textarea,
.wc-block-components-select .wc-block-components-select__container select {
    background-color: #12121C !important;
    border: 1px solid rgba(0, 245, 255, 0.2) !important;
    color: #FFFFFF !important;
    font-family: 'Rajdhani', sans-serif;
    border-radius: 0 !important;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.wc-block-components-text-input input:focus,
.wc-block-components-text-input textarea:focus,
.wc-block-components-select .wc-block-components-select__container select:focus {
    border-color: #00F5FF !important;
    box-shadow: 0 0 8px rgba(0, 245, 255, 0.2) !important;
    outline: none !important;
}

.wc-block-components-text-input label {
    color: rgba(255, 255, 255, 0.5) !important;
    font-family: 'Rajdhani', sans-serif;
}

.wc-block-components-title {
    font-family: 'Bebas Neue', Impact, sans-serif !important;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: #FFFFFF;
}

.wc-block-components-radio-control__option,
.wc-block-components-checkbox .wc-block-components-checkbox__label {
    color: rgba(255, 255, 255, 0.8);
    font-family: 'Rajdhani', sans-serif;
}

.wc-block-cart-item__product .wc-block-cart-item__wrap .wc-block-components-product-name {
    color: #FFFFFF;
    font-family: 'Rajdhani', sans-serif;
    font-weight: 600;
}

.wc-block-cart-item__total .wc-block-components-product-price {
    color: #00F5FF;
    font-weight: 700;
}

.wc-block-components-quantity-selector {
    border-color: rgba(0, 245, 255, 0.2);
}

.wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input {
    background-color: #12121C !important;
    color: #FFFFFF !important;
    border: none !important;
    font-family: 'Rajdhani', sans-serif;
}

.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button {
    color: #00F5FF;
    background: transparent;
}

.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:hover {
    color: #FF00A8;
}

.wc-block-components-product-badge {
    background-color: #1A1A2E;
    color: #00F5FF;
    border: 1px solid rgba(0, 245, 255, 0.2);
    font-family: 'Rajdhani', sans-serif;
}

.wc-block-components-sidebar-layout .wc-block-components-main {
    padding-right: 2rem;
}

.wc-block-components-sidebar {
    background-color: #12121C;
    border: 1px solid rgba(0, 245, 255, 0.1);
    padding: 1.5rem;
}

.wc-block-components-shipping-rates-control__package .wc-block-components-radio-control .wc-block-components-radio-control__input {
    border-color: #00F5FF;
}

.wc-block-components-radio-control__input:checked::before {
    background-color: #00F5FF;
}

a.wc-block-components-checkout-return-to-cart-button {
    color: rgba(255, 255, 255, 0.5);
    font-family: 'Rajdhani', sans-serif;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-size: 0.85rem;
}

a.wc-block-components-checkout-return-to-cart-button:hover {
    color: #00F5FF;
}

.wc-block-components-notice-banner {
    background-color: #1A1A2E;
    border-left: 3px solid #00F5FF;
    color: rgba(255, 255, 255, 0.85);
    font-family: 'Rajdhani', sans-serif;
}

.wc-block-components-notice-banner.is-error {
    border-left-color: #FF00A8;
}

.wc-block-components-form .wc-block-components-text-input,
.wc-block-components-form .wc-block-components-country-input,
.wc-block-components-form .wc-block-components-state-input {
    margin-bottom: 1rem;
}

.wc-block-components-payment-method-label {
    color: #FFFFFF;
    font-family: 'Rajdhani', sans-serif;
}

.wc-block-components-express-payment--cart .wc-block-components-express-payment__title-container,
.wc-block-components-express-payment--checkout .wc-block-components-express-payment__title-container {
    border-color: rgba(0, 245, 255, 0.15);
}

.wc-block-components-express-payment--cart .wc-block-components-express-payment__title-container::after,
.wc-block-components-express-payment--checkout .wc-block-components-express-payment__title-container::after {
    background: #0A0A0F;
    color: rgba(255, 255, 255, 0.5);
    font-family: 'Rajdhani', sans-serif;
}

/* ── WooCommerce Product Grid (Archive & Collection) ── */
.wc-plasma-products .wc-block-grid__products,
.wc-plasma-products .wp-block-post-template {
    gap: 1.5rem;
}

.wc-product-card {
    border: 1px solid rgba(0, 245, 255, 0.15);
    transition: border-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease;
    overflow: hidden;
}

.wc-product-card:hover {
    border-color: #00F5FF;
    box-shadow: 0 0 20px rgba(0, 245, 255, 0.12);
    transform: translateY(-4px);
}

.wc-product-card:nth-child(even) {
    border-color: rgba(255, 0, 168, 0.15);
}

.wc-product-card:nth-child(even):hover {
    border-color: #FF00A8;
    box-shadow: 0 0 20px rgba(255, 0, 168, 0.12);
}

.wc-product-card .wc-block-components-product-image img,
.wc-product-card .wp-block-woocommerce-product-image img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    display: block;
}

/* WooCommerce product buttons in grid */
.wc-product-card .wp-block-button .wp-block-button__link,
.wc-product-card .wc-block-components-product-button__button {
    background-color: #00F5FF !important;
    color: #0A0A0F !important;
    font-family: 'Rajdhani', sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    border-radius: 0;
    border: none;
    font-size: 0.85rem;
    padding: 0.6rem 1.5rem;
    clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px);
    transition: all 0.3s ease;
    width: 100%;
    text-align: center;
}

.wc-product-card .wp-block-button .wp-block-button__link:hover,
.wc-product-card .wc-block-components-product-button__button:hover {
    background-color: #FF00A8 !important;
    color: #FFFFFF !important;
    box-shadow: 0 0 20px rgba(255, 0, 168, 0.3);
}

/* WooCommerce product price styling */
.wc-product-card .wc-block-components-product-price {
    color: #00F5FF;
    font-family: 'Rajdhani', sans-serif;
    font-weight: 700;
}

.wc-product-card .wc-block-components-product-price del {
    color: rgba(255, 255, 255, 0.35);
}

.wc-product-card .wc-block-components-product-price ins {
    color: #FF00A8;
    text-decoration: none;
}

/* WooCommerce product name in grid */
.wc-product-card .wc-block-components-product-name {
    color: #FFFFFF;
    font-family: 'Bebas Neue', Impact, sans-serif;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 1.1rem;
    text-decoration: none;
}

.wc-product-card .wc-block-components-product-name:hover {
    color: #00F5FF;
}

/* ── WooCommerce Single Product — Modern Layout ── */
.product-gallery-wrap {
    overflow: hidden;
    position: relative;
}

.product-gallery-wrap::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 60px;
    height: 60px;
    border-top: 2px solid rgba(0, 245, 255, 0.3);
    border-left: 2px solid rgba(0, 245, 255, 0.3);
    z-index: 2;
    pointer-events: none;
}

.product-gallery-wrap::after {
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    width: 60px;
    height: 60px;
    border-bottom: 2px solid rgba(255, 0, 168, 0.3);
    border-right: 2px solid rgba(255, 0, 168, 0.3);
    z-index: 2;
    pointer-events: none;
}

.product-gallery-wrap .woocommerce-product-gallery {
    background: #12121C;
}

.product-gallery-wrap .woocommerce-product-gallery img,
.product-gallery-wrap img {
    transition: transform 0.5s ease;
}

.product-gallery-wrap:hover .woocommerce-product-gallery__image img,
.product-gallery-wrap:hover > img {
    transform: scale(1.03);
}

.product-gallery-wrap .woocommerce-product-gallery__image {
    overflow: hidden;
}

.product-gallery-wrap .flex-control-thumbs {
    display: flex;
    gap: 0.5rem;
    margin-top: 0.75rem;
    padding: 0 0.5rem;
}

.product-gallery-wrap .flex-control-thumbs li {
    list-style: none;
    flex: 1;
    max-width: 80px;
}

.product-gallery-wrap .flex-control-thumbs li img {
    border: 1px solid rgba(0, 245, 255, 0.1);
    transition: border-color 0.3s ease, opacity 0.3s ease;
    cursor: pointer;
    opacity: 0.6;
}

.product-gallery-wrap .flex-control-thumbs li img:hover,
.product-gallery-wrap .flex-control-thumbs li img.flex-active {
    border-color: #00F5FF;
    opacity: 1;
}

/* Product meta grid styling */
.product-meta-grid {
    padding: 0.75rem 1rem;
    background: rgba(18, 18, 28, 0.6);
    border-left: 2px solid rgba(0, 245, 255, 0.15);
}

/* Product trust badges */
.product-trust-badges {
    gap: 1.25rem;
}

/* Add-to-cart form styling on single product */
.wp-block-woocommerce-add-to-cart-form .wc-block-components-product-add-to-cart {
    display: flex;
    gap: 0.75rem;
    align-items: stretch;
}

.wp-block-woocommerce-add-to-cart-form .wc-block-components-product-add-to-cart-quantity {
    width: 80px;
    flex-shrink: 0;
}

.wp-block-woocommerce-add-to-cart-form .wc-block-components-product-add-to-cart-button {
    flex-grow: 1;
}

/* Product details tabs modern styling */
.plasma-product-tabs .wc-block-components-tab-panel {
    background: transparent;
}

.plasma-product-tabs .wc-block-components-tab-panel__tabs {
    border-bottom: 1px solid rgba(0, 245, 255, 0.12);
    margin-bottom: 1.5rem;
    gap: 0;
}

.plasma-product-tabs .wc-block-components-tab-panel__tab {
    padding: 0.75rem 1.5rem !important;
    position: relative;
    background: transparent !important;
    border: none !important;
}

.plasma-product-tabs .wc-block-components-tab-panel__tab::after {
    content: '';
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 100%;
    height: 2px;
    background: transparent;
    transition: background 0.3s ease, box-shadow 0.3s ease;
}

.plasma-product-tabs .wc-block-components-tab-panel__tab--active::after {
    background: linear-gradient(90deg, #00F5FF, #FF00A8);
    box-shadow: 0 0 8px rgba(0, 245, 255, 0.3);
}

.plasma-product-tabs .wc-block-components-tab-panel__tab-content {
    padding: 0.5rem 0;
}

.woocommerce-product-gallery {
    background: #12121C;
}

.woocommerce-product-gallery img {
    border: 1px solid rgba(0, 245, 255, 0.1);
}

/* Single product responsive — TABLET */
@media (max-width: 1024px) {
    .product-gallery-wrap::before,
    .product-gallery-wrap::after {
        width: 40px;
        height: 40px;
    }

    .product-meta-grid {
        padding: 0.5rem 0.75rem;
    }

    .product-trust-badges {
        gap: 0.75rem !important;
    }

    .plasma-product-tabs .wc-block-components-tab-panel__tab {
        padding: 0.6rem 1rem !important;
        font-size: 0.8rem;
    }
}

/* Single product responsive — MOBILE */
@media (max-width: 768px) {
    .product-gallery-wrap::before,
    .product-gallery-wrap::after {
        width: 25px;
        height: 25px;
    }

    .product-gallery-wrap::before {
        top: 8px;
        left: 8px;
    }

    .product-gallery-wrap::after {
        bottom: 8px;
        right: 8px;
    }

    .product-meta-grid {
        padding: 0.4rem 0.5rem;
        font-size: 0.8rem;
    }

    .product-trust-badges {
        justify-content: center !important;
        gap: 0.5rem !important;
        flex-wrap: wrap;
    }

    .product-trust-badges .wp-block-group {
        min-width: auto;
    }

    /* Compact add-to-cart on mobile */
    .single_add_to_cart_button,
    .wp-block-woocommerce-add-to-cart-form .wc-block-components-product-add-to-cart-button {
        padding: 0.7rem 1.5rem !important;
        font-size: 0.85rem !important;
    }

    /* Product tabs compact */
    .plasma-product-tabs .wc-block-components-tab-panel__tab {
        padding: 0.5rem 0.75rem !important;
        font-size: 0.75rem;
        letter-spacing: 0.5px;
    }

    .plasma-product-tabs .wc-block-components-tab-panel__tabs {
        gap: 0;
        overflow-x: auto;
        flex-wrap: nowrap;
        -webkit-overflow-scrolling: touch;
    }

    /* Related products 2-col on mobile */
    .wp-block-woocommerce-related-products .wp-block-post-template {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 0.75rem !important;
    }

    .wp-block-woocommerce-related-products .neon-card.wc-product-card {
        padding-bottom: 1rem;
    }

    .wp-block-woocommerce-related-products .wc-product-card .wp-block-woocommerce-product-image img,
    .wp-block-woocommerce-related-products .wc-product-card img {
        height: 150px;
    }
}

/* Single product — SMALL MOBILE */
@media (max-width: 480px) {
    /* Related products single col on very small screens */
    .wp-block-woocommerce-related-products .wp-block-post-template {
        grid-template-columns: repeat(2, 1fr) !important;
    }

    .product-trust-badges {
        flex-direction: row !important;
        gap: 0.35rem !important;
    }

    .product-trust-badges > .wp-block-group {
        flex: 1;
    }

    .product-trust-badges p {
        font-size: 0.6rem !important;
    }
}

.single_add_to_cart_button,
.wp-block-woocommerce-add-to-cart-form .wc-block-components-product-add-to-cart-button {
    background-color: #00F5FF !important;
    color: #0A0A0F !important;
    font-family: 'Rajdhani', sans-serif !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: 1px;
    border: none !important;
    border-radius: 0 !important;
    clip-path: polygon(12px 0, 100% 0, 100% calc(100% - 12px), calc(100% - 12px) 100%, 0 100%, 0 12px);
    padding: 0.9rem 2.5rem !important;
    font-size: 1rem !important;
    transition: all 0.3s ease;
}

.single_add_to_cart_button:hover,
.wp-block-woocommerce-add-to-cart-form .wc-block-components-product-add-to-cart-button:hover {
    background-color: #FF00A8 !important;
    color: #FFFFFF !important;
    box-shadow: 0 0 25px rgba(255, 0, 168, 0.4);
    transform: translateY(-2px);
}

.wc-block-components-product-add-to-cart-quantity {
    background-color: #12121C !important;
    border: 1px solid rgba(0, 245, 255, 0.2) !important;
    color: #FFFFFF !important;
    font-family: 'Rajdhani', sans-serif;
    border-radius: 0 !important;
}

/* Product tabs (description, reviews, etc.) */
.plasma-product-tabs .wc-tab,
.wc-block-components-tab-panel__tab-content {
    color: rgba(255, 255, 255, 0.85);
    font-family: 'Rajdhani', sans-serif;
}

.woocommerce-tabs ul.tabs li a,
.wc-block-components-tab-panel__tab {
    color: rgba(255, 255, 255, 0.6) !important;
    font-family: 'Rajdhani', sans-serif;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    border-bottom: 2px solid transparent;
    transition: color 0.3s ease, border-color 0.3s ease;
}

.woocommerce-tabs ul.tabs li.active a,
.wc-block-components-tab-panel__tab--active {
    color: #00F5FF !important;
    border-bottom-color: #00F5FF !important;
}

.woocommerce-tabs ul.tabs li a:hover,
.wc-block-components-tab-panel__tab:hover {
    color: #FFFFFF !important;
}

/* WooCommerce breadcrumbs */
.woocommerce-breadcrumb,
.wp-block-woocommerce-breadcrumbs {
    font-family: 'Rajdhani', sans-serif;
    font-size: 0.85rem;
}

.woocommerce-breadcrumb a,
.wp-block-woocommerce-breadcrumbs a {
    color: rgba(255, 255, 255, 0.5);
    text-decoration: none;
    transition: color 0.3s ease;
}

.woocommerce-breadcrumb a:hover,
.wp-block-woocommerce-breadcrumbs a:hover {
    color: #00F5FF;
}

/* WooCommerce sale badge */
.wc-block-components-product-sale-badge,
.onsale {
    background-color: #FF00A8 !important;
    color: #FFFFFF !important;
    font-family: 'Rajdhani', sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    border-radius: 0 !important;
    font-size: 0.75rem;
}

/* WooCommerce star rating */
.wc-block-components-product-rating .wc-block-components-product-rating__stars,
.star-rating span::before {
    color: #00F5FF;
}

/* ── WooCommerce Mini Cart (header widget) ── */
.wc-block-mini-cart__badge {
    background-color: #FF00A8 !important;
    color: #FFFFFF !important;
    font-family: 'Rajdhani', sans-serif;
    font-weight: 700;
}

.wc-block-mini-cart__drawer {
    background-color: #0A0A0F;
    border-left: 1px solid rgba(0, 245, 255, 0.15);
}

/* ── WooCommerce Notices (added to cart, etc.) ── */
.woocommerce-message,
.woocommerce-info {
    background-color: #1A1A2E !important;
    border-left: 3px solid #00F5FF !important;
    color: rgba(255, 255, 255, 0.85) !important;
    font-family: 'Rajdhani', sans-serif;
    padding: 1rem 1.5rem !important;
}

.woocommerce-message *,
.woocommerce-info * {
    color: rgba(255, 255, 255, 0.85) !important;
}

.woocommerce-error {
    background-color: #1A1A2E !important;
    border-left: 3px solid #FF00A8 !important;
    color: rgba(255, 255, 255, 0.85) !important;
    font-family: 'Rajdhani', sans-serif;
    padding: 1rem 1.5rem !important;
}

.woocommerce-error * {
    color: rgba(255, 255, 255, 0.85) !important;
}

.woocommerce-message a.button,
.woocommerce-info a.button {
    background-color: #00F5FF !important;
    color: #0A0A0F !important;
    font-family: 'Rajdhani', sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    border-radius: 0;
}

/* ── WooCommerce Notice Banners (block-based) ── */
.wc-block-components-notice-banner {
    background-color: #1A1A2E !important;
    border-left: 3px solid #00F5FF !important;
    color: rgba(255, 255, 255, 0.85) !important;
    font-family: 'Rajdhani', sans-serif;
}

.wc-block-components-notice-banner * {
    color: rgba(255, 255, 255, 0.85) !important;
}

.wc-block-components-notice-banner.is-error {
    border-left-color: #FF00A8 !important;
}

.wc-block-components-notice-banner.is-success {
    border-left-color: #00F5FF !important;
}

.wc-block-components-notice-banner.is-info {
    border-left-color: #00F5FF !important;
}

.wc-block-components-notice-banner.is-warning {
    border-left-color: #FFB800 !important;
}

.wc-block-components-notice-banner .wc-block-components-notice-banner__content {
    color: rgba(255, 255, 255, 0.85) !important;
}

.wc-block-components-notice-banner .wc-block-components-notice-banner__content a {
    color: #00F5FF !important;
    text-decoration: underline;
}

.wc-block-components-notice-banner .wc-block-components-notice-banner__content a:hover {
    color: #FF00A8 !important;
}

.wc-block-components-notice-banner svg {
    fill: #00F5FF !important;
}

.wc-block-components-notice-banner.is-error svg {
    fill: #FF00A8 !important;
}

/* ── WooCommerce general notice/info boxes with white background fix ── */
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-error,
.woocommerce .woocommerce-noreviews,
.woocommerce .woocommerce-no-products-found {
    background-color: #1A1A2E !important;
    color: rgba(255, 255, 255, 0.85) !important;
    border-color: rgba(0, 245, 255, 0.2) !important;
}

.woocommerce .woocommerce-info::before,
.woocommerce .woocommerce-message::before {
    color: #00F5FF !important;
}

.woocommerce .woocommerce-error::before {
    color: #FF00A8 !important;
}

/* Fix any WooCommerce alert/notice with white/light background */
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-notices-wrapper .woocommerce-error {
    background-color: #1A1A2E !important;
    color: rgba(255, 255, 255, 0.85) !important;
}

.woocommerce-notices-wrapper .woocommerce-message a,
.woocommerce-notices-wrapper .woocommerce-info a,
.woocommerce-notices-wrapper .woocommerce-error a {
    color: #00F5FF !important;
}

/* ── Force dark background on ALL WooCommerce notices everywhere ── */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-store-notice,
div.woocommerce-message,
div.woocommerce-info,
div.woocommerce-error,
ul.woocommerce-error,
.wc-block-components-notice-banner,
.wc-block-components-notice-banner > * {
    background-color: #1A1A2E !important;
    color: rgba(255, 255, 255, 0.85) !important;
}

.woocommerce-message a,
.woocommerce-info a,
.woocommerce-error a {
    color: #00F5FF !important;
}

.woocommerce-message .button,
.woocommerce-info .button {
    background-color: #00F5FF !important;
    color: #0A0A0F !important;
}

/* ── WooCommerce My Account ── */
.woocommerce-MyAccount-navigation {
    background: #12121C;
    border: 1px solid rgba(0, 245, 255, 0.12);
    padding: 0.5rem 0;
    position: relative;
    overflow: hidden;
}

.woocommerce-MyAccount-navigation::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, #00F5FF, #FF00A8, #00F5FF);
    background-size: 200% 100%;
    animation: epNavGradientSlide 4s linear infinite;
}

.woocommerce-MyAccount-navigation ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.woocommerce-MyAccount-navigation ul li a {
    color: rgba(255, 255, 255, 0.7);
    font-family: 'Rajdhani', sans-serif;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 0.75rem 1.25rem;
    display: block;
    border-left: 3px solid transparent;
    transition: all 0.3s ease;
    text-decoration: none;
    font-size: 0.9rem;
}

.woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-MyAccount-navigation ul li a:hover {
    color: #00F5FF;
    border-left-color: #00F5FF;
    background: rgba(0, 245, 255, 0.06);
}

.woocommerce-MyAccount-navigation ul li.is-active a {
    text-shadow: 0 0 10px rgba(0, 245, 255, 0.3);
}

/* ── My Account Layout (side-by-side) ── */
.woocommerce-account .woocommerce {
    display: flex;
    gap: 2rem;
    align-items: flex-start;
}

.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation {
    flex: 0 0 260px;
    min-width: 220px;
}

.woocommerce-account .woocommerce .woocommerce-MyAccount-content {
    flex: 1;
    min-width: 0;
}

@media (max-width: 768px) {
    .woocommerce-account .woocommerce {
        flex-direction: column;
    }

    .woocommerce-account .woocommerce .woocommerce-MyAccount-navigation {
        flex: none;
        width: 100%;
    }

    .woocommerce-MyAccount-navigation ul {
        display: flex;
        flex-wrap: wrap;
        gap: 0;
    }

    .woocommerce-MyAccount-navigation ul li {
        flex: 0 0 auto;
    }

    .woocommerce-MyAccount-navigation ul li a {
        border-left: none;
        border-bottom: 2px solid transparent;
        padding: 0.6rem 0.85rem;
        font-size: 0.75rem;
        white-space: nowrap;
    }

    .woocommerce-MyAccount-navigation ul li.is-active a,
    .woocommerce-MyAccount-navigation ul li a:hover {
        border-left: none;
        border-bottom-color: #00F5FF;
    }
}

.woocommerce-MyAccount-content {
    font-family: 'Rajdhani', sans-serif;
    color: rgba(255, 255, 255, 0.85);
}

.woocommerce-MyAccount-content p {
    color: rgba(255, 255, 255, 0.85);
}

.woocommerce-MyAccount-content a {
    color: #00F5FF;
}

.woocommerce-MyAccount-content a:hover {
    color: #FF00A8;
}

.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3 {
    font-family: 'Bebas Neue', Impact, sans-serif;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: #FFFFFF;
}

.woocommerce-MyAccount-content table {
    width: 100%;
    border-collapse: collapse;
    font-family: 'Rajdhani', sans-serif;
    background: rgba(18, 18, 28, 0.5);
}

.woocommerce-MyAccount-content table th {
    font-family: 'Rajdhani', sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-size: 0.8rem;
    color: rgba(255, 255, 255, 0.5);
    border-bottom: 1px solid rgba(0, 245, 255, 0.12);
    padding: 0.75rem 0.5rem;
    text-align: left;
    background: rgba(12, 12, 20, 0.6);
}

.woocommerce-MyAccount-content table td {
    padding: 0.75rem 0.5rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    color: rgba(255, 255, 255, 0.75);
    font-size: 0.9rem;
}

.woocommerce-MyAccount-content table tbody tr:hover {
    background: rgba(0, 245, 255, 0.03);
}

.woocommerce-MyAccount-content table a {
    color: #00F5FF;
    text-decoration: none;
    font-weight: 600;
    transition: color 0.3s ease;
}

.woocommerce-MyAccount-content table a:hover {
    color: #FF00A8;
}

.woocommerce-MyAccount-content .woocommerce-Button,
.woocommerce-MyAccount-content .button {
    background-color: #00F5FF !important;
    color: #0A0A0F !important;
    font-family: 'Rajdhani', sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    border: none;
    border-radius: 0;
    clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px);
    padding: 0.7rem 1.5rem;
    font-size: 0.85rem;
    transition: all 0.3s ease;
    cursor: pointer;
    text-decoration: none;
    display: inline-block;
}

.woocommerce-MyAccount-content .woocommerce-Button:hover,
.woocommerce-MyAccount-content .button:hover {
    background-color: #FF00A8 !important;
    color: #FFFFFF !important;
    box-shadow: 0 0 20px rgba(255, 0, 168, 0.3);
    transform: translateY(-2px);
}

.woocommerce-MyAccount-content .woocommerce-address-fields input,
.woocommerce-MyAccount-content .woocommerce-address-fields select,
.woocommerce-MyAccount-content .woocommerce-address-fields textarea,
.woocommerce-MyAccount-content .woocommerce-EditAccountForm input,
.woocommerce-MyAccount-content .woocommerce-EditAccountForm select,
.woocommerce-MyAccount-content input[type="text"],
.woocommerce-MyAccount-content input[type="email"],
.woocommerce-MyAccount-content input[type="password"],
.woocommerce-MyAccount-content input[type="tel"],
.woocommerce-MyAccount-content input[type="number"],
.woocommerce-MyAccount-content select,
.woocommerce-MyAccount-content textarea {
    background-color: #12121C !important;
    border: 1px solid rgba(0, 245, 255, 0.2) !important;
    color: #FFFFFF !important;
    font-family: 'Rajdhani', sans-serif;
    border-radius: 0 !important;
    padding: 0.65rem 1rem;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
    width: 100%;
    box-sizing: border-box;
}

.woocommerce-MyAccount-content .woocommerce-address-fields input:focus,
.woocommerce-MyAccount-content .woocommerce-EditAccountForm input:focus,
.woocommerce-MyAccount-content input:focus,
.woocommerce-MyAccount-content select:focus,
.woocommerce-MyAccount-content textarea:focus {
    border-color: #00F5FF !important;
    box-shadow: 0 0 8px rgba(0, 245, 255, 0.2) !important;
    outline: none !important;
}

.woocommerce-MyAccount-content label {
    font-family: 'Rajdhani', sans-serif;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-size: 0.8rem;
    color: rgba(255, 255, 255, 0.6);
}

/* ── My Account Dashboard welcome message ── */
.woocommerce-MyAccount-content > p:first-child {
    color: rgba(255, 255, 255, 0.75);
    font-size: 0.95rem;
    line-height: 1.7;
    padding: 1.25rem 1.5rem;
    border: 1px solid rgba(0, 245, 255, 0.12);
    margin-bottom: 1.5rem;
    background: rgba(18, 18, 28, 0.6);
    position: relative;
    overflow: hidden;
}

.woocommerce-MyAccount-content > p:first-child::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, #00F5FF, #FF00A8, transparent);
}

.woocommerce-MyAccount-content > p:first-child a {
    color: #00F5FF;
    font-weight: 600;
}

.woocommerce-MyAccount-content > p:first-child a:hover {
    color: #FF00A8;
}

/* ── Force all WooCommerce content text to be readable on dark bg ── */
.woocommerce-MyAccount-content p,
.woocommerce-MyAccount-content span,
.woocommerce-MyAccount-content div,
.woocommerce-MyAccount-content li,
.woocommerce-MyAccount-content td,
.woocommerce-MyAccount-content th,
.woocommerce-MyAccount-content address,
.woocommerce-MyAccount-content mark,
.woocommerce-MyAccount-content .woocommerce-Message {
    color: rgba(255, 255, 255, 0.85);
}

.woocommerce-MyAccount-content .woocommerce-Message {
    background: rgba(18, 18, 28, 0.6) !important;
    border: 1px solid rgba(0, 245, 255, 0.12);
    padding: 1.25rem 1.5rem;
}

.woocommerce-MyAccount-content .woocommerce-Message a.woocommerce-Button {
    color: #0A0A0F !important;
    background-color: #00F5FF !important;
}

/* ── Fix select2 and dropdown styling in account area ── */
.woocommerce-MyAccount-content .select2-container--default .select2-selection--single {
    background-color: #12121C !important;
    border: 1px solid rgba(0, 245, 255, 0.2) !important;
    color: #FFFFFF !important;
    border-radius: 0 !important;
}

.woocommerce-MyAccount-content .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #FFFFFF !important;
}

.select2-dropdown {
    background-color: #12121C !important;
    border: 1px solid rgba(0, 245, 255, 0.2) !important;
}

.select2-results__option {
    color: rgba(255, 255, 255, 0.85) !important;
    background-color: #12121C !important;
}

.select2-results__option--highlighted {
    background-color: rgba(0, 245, 255, 0.15) !important;
    color: #FFFFFF !important;
}

.select2-container--default .select2-search--dropdown .select2-search__field {
    background-color: #0A0A0F !important;
    border: 1px solid rgba(0, 245, 255, 0.2) !important;
    color: #FFFFFF !important;
}

/* ── Hide duplicate page title from WooCommerce ── */
.ep-account-area .entry-title,
.ep-account-area .page-title,
.ep-account-area .woocommerce-MyAccount-content > .woocommerce-column__title:first-child {
    display: none;
}

/* ── Account area base styling (pseudo-elements defined in MY ACCOUNT ANIMATIONS section below) ── */

/* ── Energy lines on sides of account area ── */
.ep-account-area .woocommerce {
    position: relative;
    z-index: 5;
}

/* ── Corner bracket decoration on account content ── */
.ep-account-area .woocommerce-MyAccount-content {
    position: relative;
}

.ep-account-area .woocommerce-MyAccount-content::before {
    content: '';
    position: absolute;
    top: -8px;
    left: -8px;
    width: 40px;
    height: 40px;
    border-top: 2px solid rgba(0, 245, 255, 0.2);
    border-left: 2px solid rgba(0, 245, 255, 0.2);
    pointer-events: none;
    z-index: 10;
    transition: all 0.4s ease;
}

.ep-account-area .woocommerce-MyAccount-content::after {
    content: '';
    position: absolute;
    bottom: -8px;
    right: -8px;
    width: 40px;
    height: 40px;
    border-bottom: 2px solid rgba(255, 0, 168, 0.2);
    border-right: 2px solid rgba(255, 0, 168, 0.2);
    pointer-events: none;
    z-index: 10;
    transition: all 0.4s ease;
}

/* ── Holographic shimmer on nav items ── */
.ep-account-area .woocommerce-MyAccount-navigation ul li a {
    position: relative;
    overflow: hidden;
}

.ep-account-area .woocommerce-MyAccount-navigation ul li a::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(0, 245, 255, 0.06), transparent);
    transition: left 0.5s ease;
    pointer-events: none;
}

.ep-account-area .woocommerce-MyAccount-navigation ul li a:hover::before {
    left: 100%;
}

/* ── Pulsing glow on active nav ── */
.ep-account-area .woocommerce-MyAccount-navigation ul li.is-active a {
    position: relative;
    animation: epNavActivePulse 3s ease-in-out infinite;
}

@keyframes epNavActivePulse {
    0%, 100% { box-shadow: inset 3px 0 10px rgba(0, 245, 255, 0.04); }
    50% { box-shadow: inset 3px 0 18px rgba(0, 245, 255, 0.08); }
}

/* ── Table row hover glow line ── */
.ep-account-area .woocommerce-MyAccount-content table tbody tr {
    transition: all 0.3s ease;
    position: relative;
}

.ep-account-area .woocommerce-MyAccount-content table tbody tr:hover {
    background: rgba(0, 245, 255, 0.03);
    box-shadow: inset 3px 0 0 #00F5FF;
}

/* ── Button shimmer sweep ── */
.ep-account-area .woocommerce-Button,
.ep-account-area .button {
    position: relative;
    overflow: hidden;
}

.ep-account-area .woocommerce-Button::before,
.ep-account-area .button::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.1), transparent);
    transition: left 0.5s ease;
    pointer-events: none;
}

.ep-account-area .woocommerce-Button:hover::before,
.ep-account-area .button:hover::before {
    left: 100%;
}

/* ── Input focus glow pulse ── */
.ep-account-area input:focus,
.ep-account-area select:focus,
.ep-account-area textarea:focus {
    animation: epInputGlowPulse 2s ease-in-out infinite !important;
}

@keyframes epInputGlowPulse {
    0%, 100% { box-shadow: 0 0 8px rgba(0, 245, 255, 0.15); }
    50% { box-shadow: 0 0 16px rgba(0, 245, 255, 0.25), 0 0 35px rgba(0, 245, 255, 0.05); }
}

/* ── Login/register form entrance ── */
.ep-account-area .woocommerce-form-login,
.ep-account-area .woocommerce-form-register {
    animation: epFormMaterialize 0.6s cubic-bezier(0.22, 0.61, 0.36, 1);
}

@keyframes epFormMaterialize {
    from { opacity: 0; transform: translateY(20px) scale(0.97); filter: blur(6px); }
    to { opacity: 1; transform: translateY(0) scale(1); filter: blur(0); }
}

/* ── Address cards hover corner expand ── */
.ep-account-area .woocommerce-Addresses .woocommerce-Address {
    position: relative;
    transition: all 0.4s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.ep-account-area .woocommerce-Addresses .woocommerce-Address:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.3), 0 0 15px rgba(0, 245, 255, 0.05);
    border-color: rgba(0, 245, 255, 0.2);
}

/* ── Downloads table fix ── */
.woocommerce-MyAccount-content .woocommerce-order-downloads,
.woocommerce-MyAccount-content .woocommerce-table--order-downloads {
    background: rgba(18, 18, 28, 0.5);
}

.woocommerce-MyAccount-content .woocommerce-order-downloads th,
.woocommerce-MyAccount-content .woocommerce-table--order-downloads th {
    background: rgba(12, 12, 20, 0.6);
    color: rgba(255, 255, 255, 0.5);
}

/* ── Addresses display ── */
.woocommerce-MyAccount-content .woocommerce-Addresses {
    display: flex;
    gap: 1.5rem;
    flex-wrap: wrap;
}

.woocommerce-MyAccount-content .woocommerce-Addresses .woocommerce-Address {
    flex: 1;
    min-width: 250px;
    background: rgba(18, 18, 28, 0.6);
    border: 1px solid rgba(0, 245, 255, 0.1);
    padding: 1.5rem;
}

.woocommerce-MyAccount-content .woocommerce-Addresses .woocommerce-Address header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid rgba(0, 245, 255, 0.08);
}

.woocommerce-MyAccount-content .woocommerce-Addresses .woocommerce-Address header h3 {
    margin: 0;
    font-size: 1.25rem;
}

.woocommerce-MyAccount-content .woocommerce-Addresses .woocommerce-Address header a {
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.woocommerce-MyAccount-content .woocommerce-Addresses .woocommerce-Address address {
    color: rgba(255, 255, 255, 0.65);
    font-style: normal;
    line-height: 1.8;
    font-size: 0.9rem;
}

@media (max-width: 768px) {
    .woocommerce-MyAccount-content .woocommerce-Addresses {
        flex-direction: column;
    }

    .woocommerce-MyAccount-content table {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
}

/* My Account login form */
.woocommerce-form-login,
.woocommerce-form-register {
    background: #12121C;
    border: 1px solid rgba(0, 245, 255, 0.12);
    padding: 2.5rem;
    position: relative;
    overflow: hidden;
    max-width: 480px;
}

.woocommerce-form-login::before,
.woocommerce-form-register::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, #00F5FF, #FF00A8, transparent);
}

/* Login/register page layout */
.woocommerce-account:not(.logged-in) .woocommerce {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2rem;
}

.woocommerce-account:not(.logged-in) .woocommerce > h2,
.woocommerce-account:not(.logged-in) #customer_login > h2,
#customer_login h2 {
    font-family: 'Bebas Neue', Impact, sans-serif;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: #FFFFFF;
    text-align: center;
    font-size: 1.5rem;
}

/* Two-column login/register */
#customer_login {
    display: flex;
    gap: 2rem;
    width: 100%;
    max-width: 960px;
}

#customer_login .u-column1,
#customer_login .u-column2 {
    flex: 1;
}

@media (max-width: 768px) {
    #customer_login {
        flex-direction: column;
    }

    .woocommerce-form-login,
    .woocommerce-form-register {
        max-width: 100%;
    }
}

.woocommerce-form-login input[type="text"],
.woocommerce-form-login input[type="password"],
.woocommerce-form-login input[type="email"],
.woocommerce-form-register input[type="text"],
.woocommerce-form-register input[type="password"],
.woocommerce-form-register input[type="email"] {
    background-color: #0A0A0F !important;
    border: 1px solid rgba(0, 245, 255, 0.2) !important;
    color: #FFFFFF !important;
    font-family: 'Rajdhani', sans-serif;
    border-radius: 0 !important;
    padding: 0.75rem 1rem;
    width: 100%;
    box-sizing: border-box;
}

.woocommerce-form-login input:focus,
.woocommerce-form-register input:focus {
    border-color: #00F5FF !important;
    box-shadow: 0 0 8px rgba(0, 245, 255, 0.2) !important;
    outline: none !important;
}

.woocommerce-form-login .woocommerce-Button,
.woocommerce-form-register .woocommerce-Button {
    width: 100%;
    text-align: center;
    margin-top: 0.5rem;
    background-color: #00F5FF !important;
    color: #0A0A0F !important;
    font-family: 'Rajdhani', sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    border: none;
    border-radius: 0;
    clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px);
    padding: 0.8rem 1.5rem;
    font-size: 0.9rem;
    cursor: pointer;
    transition: all 0.3s ease;
}

.woocommerce-form-login .woocommerce-Button:hover,
.woocommerce-form-register .woocommerce-Button:hover {
    background-color: #FF00A8 !important;
    color: #FFFFFF !important;
    box-shadow: 0 0 20px rgba(255, 0, 168, 0.3);
}

.woocommerce-form-login label,
.woocommerce-form-register label {
    font-family: 'Rajdhani', sans-serif;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-size: 0.85rem;
    color: rgba(255, 255, 255, 0.65);
}

.woocommerce-form-login .woocommerce-form-login__rememberme {
    color: rgba(255, 255, 255, 0.5);
    font-family: 'Rajdhani', sans-serif;
}

.woocommerce-form-login .woocommerce-form-login__rememberme input[type="checkbox"] {
    accent-color: #00F5FF;
}

.woocommerce-LostPassword {
    margin-top: 1rem;
    text-align: center;
}

.woocommerce-LostPassword a {
    color: #FF00A8;
    font-family: 'Rajdhani', sans-serif;
    text-decoration: none;
    font-size: 0.85rem;
    transition: color 0.3s ease;
}

.woocommerce-LostPassword a:hover {
    color: #00F5FF;
}

/* ── Registration form specific ── */
.woocommerce-form-register {
    background: #12121C;
    border: 1px solid rgba(255, 0, 168, 0.12);
    padding: 2.5rem;
    position: relative;
    overflow: hidden;
    max-width: 480px;
}

.woocommerce-form-register::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, #FF00A8, #00F5FF, transparent);
}

.woocommerce-form-register .woocommerce-Button {
    width: 100%;
    text-align: center;
    margin-top: 0.5rem;
    background-color: #FF00A8 !important;
    color: #FFFFFF !important;
    font-family: 'Rajdhani', sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    border: none;
    border-radius: 0;
    clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px);
    padding: 0.8rem 1.5rem;
    font-size: 0.9rem;
    cursor: pointer;
    transition: all 0.3s ease;
}

.woocommerce-form-register .woocommerce-Button:hover {
    background-color: #00F5FF !important;
    color: #0A0A0F !important;
    box-shadow: 0 0 20px rgba(0, 245, 255, 0.3);
}

.woocommerce-form-register input[type="text"],
.woocommerce-form-register input[type="password"],
.woocommerce-form-register input[type="email"] {
    background-color: #0A0A0F !important;
    border: 1px solid rgba(255, 0, 168, 0.2) !important;
    color: #FFFFFF !important;
    font-family: 'Rajdhani', sans-serif;
    border-radius: 0 !important;
    padding: 0.75rem 1rem;
    width: 100%;
    box-sizing: border-box;
}

.woocommerce-form-register input:focus {
    border-color: #FF00A8 !important;
    box-shadow: 0 0 8px rgba(255, 0, 168, 0.2) !important;
    outline: none !important;
}

.woocommerce-form-register label {
    font-family: 'Rajdhani', sans-serif;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-size: 0.85rem;
    color: rgba(255, 255, 255, 0.65);
}

.woocommerce-form-register .woocommerce-privacy-policy-text {
    color: rgba(255, 255, 255, 0.45);
    font-size: 0.8rem;
}

.woocommerce-form-register .woocommerce-privacy-policy-text a {
    color: #FF00A8;
}

/* Two-column login/register layout improvements */
#customer_login {
    display: flex;
    gap: 2rem;
    width: 100%;
    max-width: 1100px;
}

#customer_login .u-column1 {
    flex: 0 0 420px;
    max-width: 420px;
}

#customer_login .u-column2 {
    flex: 1;
}

#customer_login h2 {
    font-family: 'Bebas Neue', Impact, sans-serif;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: #FFFFFF;
    font-size: 1.5rem;
    margin-bottom: 1.5rem;
}

#customer_login .u-column1 h2 {
    color: #00F5FF;
    text-shadow: 0 0 10px rgba(0, 245, 255, 0.2);
}

#customer_login .u-column2 h2 {
    color: #FF00A8;
    text-shadow: 0 0 10px rgba(255, 0, 168, 0.2);
}

/* Separator between login and register */
#customer_login .u-column1 {
    position: relative;
}

#customer_login .u-column1::after {
    content: '';
    position: absolute;
    top: 10%;
    right: -1rem;
    width: 1px;
    height: 80%;
    background: linear-gradient(180deg, transparent, rgba(0, 245, 255, 0.15), rgba(255, 0, 168, 0.15), transparent);
}

/* Registration form — wider to fit all fields */
.woocommerce-form-register {
    max-width: 100%;
}

/* ── Registration form sections ── */
.ep-reg-section {
    margin-bottom: 1.5rem;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid rgba(255, 0, 168, 0.08);
    position: relative;
}

.ep-reg-section:last-of-type {
    border-bottom: none;
    margin-bottom: 0.5rem;
    padding-bottom: 0.5rem;
}

.ep-reg-section__header {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
}

.ep-reg-section__icon {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: rgba(0, 245, 255, 0.06);
    align-items: center;
    justify-content: center;
}

.ep-reg-section__title {
    font-family: 'Rajdhani', sans-serif;
    font-size: 0.8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: rgba(255, 255, 255, 0.7);
}

/* Registration form row layout for inline fields */
.ep-reg-row {
    display: flex;
    gap: 1rem;
    width: 100%;
}

.ep-reg-row .form-row-first,
.ep-reg-row .form-row-last {
    flex: 1;
    display: block;
    width: auto;
}

.woocommerce-form-register .form-row-first,
.woocommerce-form-register .form-row-last {
    display: inline-block;
    width: 48%;
    vertical-align: top;
}

.woocommerce-form-register .form-row-first {
    margin-right: 2%;
}

/* Registration form field spacing */
.ep-reg-field {
    margin-bottom: 0.85rem !important;
}

.woocommerce-form-register .woocommerce-form-row {
    margin-bottom: 1rem;
}

.woocommerce-form-register .woocommerce-form-row label {
    display: block;
    margin-bottom: 0.35rem;
}

/* Field help text */
.ep-reg-field__help {
    display: block;
    font-family: 'Rajdhani', sans-serif;
    font-size: 0.72rem;
    font-weight: 300;
    color: rgba(255, 255, 255, 0.3);
    margin-top: 0.3rem;
    letter-spacing: 0.3px;
    line-height: 1.4;
}

/* Registration form inputs */
.woocommerce-form-register .woocommerce-form-row input[type="text"],
.woocommerce-form-register .woocommerce-form-row input[type="tel"],
.woocommerce-form-register .woocommerce-form-row input[type="email"],
.woocommerce-form-register .woocommerce-form-row input[type="password"] {
    background-color: #0A0A0F !important;
    border: 1px solid rgba(255, 0, 168, 0.2) !important;
    color: #FFFFFF !important;
    font-family: 'Rajdhani', sans-serif;
    border-radius: 0 !important;
    padding: 0.75rem 1rem;
    width: 100%;
    box-sizing: border-box;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
    font-size: 0.95rem;
}

.woocommerce-form-register .woocommerce-form-row input::placeholder {
    color: rgba(255, 255, 255, 0.2);
    font-weight: 300;
}

.woocommerce-form-register .woocommerce-form-row input:focus {
    border-color: #FF00A8 !important;
    box-shadow: 0 0 8px rgba(255, 0, 168, 0.2) !important;
    outline: none !important;
}

.woocommerce-form-register .woocommerce-form-row input:hover {
    border-color: rgba(255, 0, 168, 0.35) !important;
}

/* Filled/valid input state */
.woocommerce-form-register .woocommerce-form-row input:not(:placeholder-shown):valid {
    border-color: rgba(0, 245, 255, 0.3) !important;
}

/* Required asterisk styling */
.woocommerce-form-register .required {
    color: #FF00A8;
    font-weight: 700;
}

/* Registration form submit button improvements */
.woocommerce-form-register .woocommerce-Button {
    margin-top: 1rem !important;
    position: relative;
    overflow: hidden;
}

.woocommerce-form-register .woocommerce-Button::after {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.08), transparent);
    transition: left 0.5s ease;
    pointer-events: none;
}

.woocommerce-form-register .woocommerce-Button:hover::after {
    left: 100%;
}

/* Progress indicator dots at bottom of register form */
.woocommerce-form-register .ep-reg-section:nth-child(1) .ep-reg-section__icon {
    background: rgba(0, 245, 255, 0.08);
}

.woocommerce-form-register .ep-reg-section:nth-child(2) .ep-reg-section__icon {
    background: rgba(255, 0, 168, 0.08);
}

.woocommerce-form-register .ep-reg-section:nth-child(3) .ep-reg-section__icon {
    background: rgba(123, 47, 255, 0.08);
}

@media (max-width: 768px) {
    #customer_login {
        flex-direction: column;
    }

    #customer_login .u-column1 {
        flex: none;
        max-width: 100%;
    }

    #customer_login .u-column1::after {
        display: none;
    }

    .woocommerce-form-login,
    .woocommerce-form-register {
        max-width: 100%;
    }

    .ep-reg-row {
        flex-direction: column;
        gap: 0;
    }

    .ep-reg-row .form-row-first,
    .ep-reg-row .form-row-last {
        width: 100%;
    }

    .woocommerce-form-register .form-row-first,
    .woocommerce-form-register .form-row-last {
        display: block;
        width: 100%;
        margin-right: 0;
    }

    .woocommerce-form-register {
        padding: 2rem 1.5rem !important;
    }
}

/* ── Password reset form ── */
.woocommerce-ResetPassword {
    background: #12121C;
    border: 1px solid rgba(0, 245, 255, 0.12);
    padding: 2.5rem;
    max-width: 480px;
    margin: 0 auto;
}

.woocommerce-ResetPassword p {
    color: rgba(255, 255, 255, 0.75);
}

.woocommerce-ResetPassword label {
    color: rgba(255, 255, 255, 0.65);
}

.woocommerce-ResetPassword input[type="text"],
.woocommerce-ResetPassword input[type="email"] {
    background-color: #0A0A0F !important;
    border: 1px solid rgba(0, 245, 255, 0.2) !important;
    color: #FFFFFF !important;
    font-family: 'Rajdhani', sans-serif;
    border-radius: 0 !important;
    padding: 0.75rem 1rem;
    width: 100%;
    box-sizing: border-box;
}

/* ── Payment method badges in footer ── */
.ep-payment-methods .ep-pay-badge:hover {
    background: rgba(0, 245, 255, 0.08) !important;
    border-color: rgba(0, 245, 255, 0.25) !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(0, 245, 255, 0.08);
}

@media (max-width: 480px) {
    .ep-payment-methods {
        gap: 0.5rem !important;
    }
    .ep-payment-methods .ep-pay-badge {
        min-width: 60px !important;
        padding: 0.3rem 0.5rem !important;
        height: 32px !important;
    }
}

/* ══════════════════════════════════════════
   MY ACCOUNT — FUTURISTIC ANIMATIONS
   ══════════════════════════════════════════ */

/* ── Account area scanline overlay ── */
.ep-account-area {
    position: relative;
    overflow: hidden;
}

.ep-account-area::before {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 1;
    background: repeating-linear-gradient(
        0deg,
        transparent,
        transparent 2px,
        rgba(0, 245, 255, 0.015) 2px,
        rgba(0, 245, 255, 0.015) 4px
    );
    animation: epScanlineScroll 8s linear infinite;
}

.ep-account-area::after {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 2px;
    background: linear-gradient(90deg, transparent, #00F5FF, transparent);
    z-index: 2;
    pointer-events: none;
    animation: epScanBeam 6s ease-in-out infinite;
    box-shadow: 0 0 15px rgba(0, 245, 255, 0.3), 0 0 40px rgba(0, 245, 255, 0.1);
}

@keyframes epScanlineScroll {
    from { background-position: 0 0; }
    to { background-position: 0 100px; }
}

@keyframes epScanBeam {
    0% { top: 0; left: -100%; opacity: 0; }
    10% { opacity: 1; }
    50% { top: 100%; left: 100%; opacity: 1; }
    60% { opacity: 0; }
    100% { top: 0; left: -100%; opacity: 0; }
}

/* NOTE: The ::before and ::after pseudo-elements above define the final
   styling for .ep-account-area. Earlier definitions in this file for
   floating particles and scan beam on .ep-account-area are intentionally
   overridden by these animation rules. */

/* ── Holographic card effects ── */
.ep-holo-card {
    position: relative;
    overflow: hidden;
    transition: all 0.4s cubic-bezier(0.22, 0.61, 0.36, 1);
}

/* Animated corner brackets on holo cards */
.ep-holo-card::before {
    content: '';
    position: absolute;
    top: 8px;
    left: 8px;
    width: 30px;
    height: 30px;
    border-top: 2px solid rgba(0, 245, 255, 0.4);
    border-left: 2px solid rgba(0, 245, 255, 0.4);
    z-index: 3;
    pointer-events: none;
    transition: all 0.4s ease;
}

.ep-holo-card::after {
    content: '';
    position: absolute;
    bottom: 8px;
    right: 8px;
    width: 30px;
    height: 30px;
    border-bottom: 2px solid rgba(255, 0, 168, 0.4);
    border-right: 2px solid rgba(255, 0, 168, 0.4);
    z-index: 3;
    pointer-events: none;
    transition: all 0.4s ease;
}

.ep-holo-card:hover::before {
    width: 45px;
    height: 45px;
    border-color: #00F5FF;
    box-shadow: -4px -4px 15px rgba(0, 245, 255, 0.15);
}

.ep-holo-card:hover::after {
    width: 45px;
    height: 45px;
    border-color: #FF00A8;
    box-shadow: 4px 4px 15px rgba(255, 0, 168, 0.15);
}

/* Hover glow pulse on holo cards */
.ep-holo-card:hover {
    transform: translateY(-6px) scale(1.02);
    box-shadow:
        0 0 25px rgba(0, 245, 255, 0.1),
        0 15px 40px rgba(0, 0, 0, 0.4),
        inset 0 1px 0 rgba(0, 245, 255, 0.1);
}

.ep-holo-card.neon-card-magenta:hover {
    box-shadow:
        0 0 25px rgba(255, 0, 168, 0.1),
        0 15px 40px rgba(0, 0, 0, 0.4),
        inset 0 1px 0 rgba(255, 0, 168, 0.1);
}

/* Staggered entrance for shortcut cards */
.ep-account-shortcuts .ep-holo-cards > .wp-block-column {
    opacity: 0;
    animation: epHoloCardEntrance 0.6s cubic-bezier(0.22, 0.61, 0.36, 1) forwards;
}

.ep-account-shortcuts .ep-holo-cards > .wp-block-column:nth-child(1) { animation-delay: 0.1s; }
.ep-account-shortcuts .ep-holo-cards > .wp-block-column:nth-child(2) { animation-delay: 0.2s; }
.ep-account-shortcuts .ep-holo-cards > .wp-block-column:nth-child(3) { animation-delay: 0.3s; }
.ep-account-shortcuts .ep-holo-cards > .wp-block-column:nth-child(4) { animation-delay: 0.4s; }

@keyframes epHoloCardEntrance {
    from {
        opacity: 0;
        transform: translateY(30px) scale(0.92) rotateX(8deg);
        filter: blur(4px);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1) rotateX(0deg);
        filter: blur(0);
    }
}

/* ── Stats section pulse glow ── */
.ep-account-stats .wp-block-column {
    position: relative;
}

.ep-account-stats .wp-block-column::after {
    content: '';
    position: absolute;
    bottom: -8px;
    left: 50%;
    transform: translateX(-50%);
    width: 50px;
    height: 2px;
    border-radius: 1px;
    animation: epStatGlow 3s ease-in-out infinite;
}

.ep-account-stats .wp-block-column:nth-child(odd)::after {
    background: #00F5FF;
    box-shadow: 0 0 8px rgba(0, 245, 255, 0.4);
}

.ep-account-stats .wp-block-column:nth-child(even)::after {
    background: #FF00A8;
    box-shadow: 0 0 8px rgba(255, 0, 168, 0.4);
}

@keyframes epStatGlow {
    0%, 100% { width: 30px; opacity: 0.4; }
    50% { width: 60px; opacity: 1; }
}

/* ── Enhanced WooCommerce My Account nav — futuristic ── */
.ep-account-area .woocommerce-MyAccount-navigation {
    background: rgba(18, 18, 28, 0.9);
    border: 1px solid rgba(0, 245, 255, 0.12);
    position: relative;
    overflow: hidden;
}

.ep-account-area .woocommerce-MyAccount-navigation::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, #00F5FF, #FF00A8, #00F5FF);
    background-size: 200% 100%;
    animation: epNavGradientSlide 4s linear infinite;
}

@keyframes epNavGradientSlide {
    from { background-position: 0% 0; }
    to { background-position: 200% 0; }
}

.ep-account-area .woocommerce-MyAccount-navigation ul li a {
    position: relative;
    overflow: hidden;
    transition: all 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.ep-account-area .woocommerce-MyAccount-navigation ul li a::after {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(0, 245, 255, 0.06), transparent);
    transition: left 0.5s ease;
    pointer-events: none;
}

.ep-account-area .woocommerce-MyAccount-navigation ul li a:hover::after {
    left: 100%;
}

.ep-account-area .woocommerce-MyAccount-navigation ul li.is-active a {
    background: rgba(0, 245, 255, 0.08);
    border-left-color: #00F5FF;
    box-shadow: inset 3px 0 15px rgba(0, 245, 255, 0.06);
}

/* ── Form inputs futuristic focus ── */
.ep-account-area .woocommerce-MyAccount-content input:focus,
.ep-account-area .woocommerce-MyAccount-content select:focus,
.ep-account-area .woocommerce-MyAccount-content textarea:focus {
    border-color: #00F5FF !important;
    box-shadow: 0 0 12px rgba(0, 245, 255, 0.2), 0 0 30px rgba(0, 245, 255, 0.05) !important;
    outline: none !important;
    animation: epInputFocusPulse 2s ease-in-out infinite;
}

@keyframes epInputFocusPulse {
    0%, 100% { box-shadow: 0 0 8px rgba(0, 245, 255, 0.15), 0 0 20px rgba(0, 245, 255, 0.03); }
    50% { box-shadow: 0 0 15px rgba(0, 245, 255, 0.25), 0 0 35px rgba(0, 245, 255, 0.08); }
}

/* ── Enhanced login/register forms ── */
.ep-account-area .woocommerce-form-login,
.ep-account-area .woocommerce-form-register {
    position: relative;
    overflow: hidden;
    background: #12121C;
    border: 1px solid rgba(0, 245, 255, 0.12);
    padding: 2.5rem;
    animation: epFormMaterialize 0.6s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.ep-account-area .woocommerce-form-login::before,
.ep-account-area .woocommerce-form-register::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, #00F5FF, #FF00A8, transparent);
}

@keyframes epFormMaterialize {
    from {
        opacity: 0;
        transform: translateY(20px) scale(0.97);
        filter: blur(6px);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
        filter: blur(0);
    }
}

/* ── Buttons hover glow in account area ── */
.ep-account-area .woocommerce-Button,
.ep-account-area .button,
.ep-account-area .woocommerce-MyAccount-content .woocommerce-Button {
    position: relative;
    overflow: hidden;
}

.ep-account-area .woocommerce-Button::before,
.ep-account-area .button::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.1), transparent);
    transition: left 0.5s ease;
    pointer-events: none;
}

.ep-account-area .woocommerce-Button:hover::before,
.ep-account-area .button:hover::before {
    left: 100%;
}

/* ── Table rows hover effect ── */
.ep-account-area .woocommerce-MyAccount-content table tr {
    transition: all 0.3s ease;
}

.ep-account-area .woocommerce-MyAccount-content table tbody tr:hover {
    background: rgba(0, 245, 255, 0.03);
    box-shadow: inset 3px 0 0 #00F5FF;
}

/* ── Force dark theme on My Account page globally ── */
.ep-myaccount-page .woocommerce,
.ep-myaccount-page .woocommerce-MyAccount-content,
.ep-myaccount-page .woocommerce-MyAccount-navigation {
    color: rgba(255, 255, 255, 0.85);
}

.ep-myaccount-page .woocommerce p,
.ep-myaccount-page .woocommerce span,
.ep-myaccount-page .woocommerce div,
.ep-myaccount-page .woocommerce li,
.ep-myaccount-page .woocommerce address {
    color: rgba(255, 255, 255, 0.85);
}

.ep-myaccount-page .woocommerce mark,
.ep-myaccount-page .woocommerce .woocommerce-privacy-policy-text p {
    color: rgba(255, 255, 255, 0.65);
    background: transparent;
}

/* ── Pagination styling ── */
.wp-block-query-pagination .wp-block-query-pagination-numbers .page-numbers,
.woocommerce-pagination .page-numbers {
    color: rgba(255, 255, 255, 0.6);
    font-family: 'Rajdhani', sans-serif;
    font-weight: 600;
    padding: 0.5rem 0.85rem;
    border: 1px solid rgba(0, 245, 255, 0.15);
    transition: all 0.3s ease;
    text-decoration: none;
}

.wp-block-query-pagination .wp-block-query-pagination-numbers .page-numbers.current,
.wp-block-query-pagination .wp-block-query-pagination-numbers .page-numbers:hover,
.woocommerce-pagination .page-numbers.current,
.woocommerce-pagination .page-numbers:hover {
    color: #0A0A0F;
    background-color: #00F5FF;
    border-color: #00F5FF;
}