.pcw-neon-banner,
.pcw-neon-banner * {
    box-sizing: border-box;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

.pcw-neon-banner {
    --pcw-primary: #d931ff;
    --pcw-secondary: #7b2cff;
    --pcw-accent: #ff2fa8;
    --pcw-bg: #090414;
    position: relative;
    width: 100%;
    min-height: 200px;
    overflow: hidden;
    isolation: isolate;
    padding: 18px 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    background:
        radial-gradient(circle at 14% 18%, rgba(217,49,255,.30), transparent 28%),
        radial-gradient(circle at 86% 12%, rgba(123,44,255,.30), transparent 27%),
        radial-gradient(circle at 50% 112%, rgba(255,47,168,.24), transparent 37%),
        linear-gradient(135deg, #05020b 0%, var(--pcw-bg) 46%, #14002a 100%);
    color: #fff;
    border-top: 1px solid rgba(255,255,255,.10);
    border-bottom: 1px solid rgba(217,49,255,.45);
}

.pcw-neon-banner::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -6;
    background:
        linear-gradient(115deg, transparent 0 37%, rgba(255,255,255,.06) 44%, transparent 51% 100%),
        repeating-linear-gradient(90deg, rgba(255,255,255,.022) 0 1px, transparent 1px 80px);
    opacity: .72;
}

.pcw-neon-banner::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -48px;
    width: min(980px, 92vw);
    height: 88px;
    transform: translateX(-50%);
    border-radius: 999px;
    background: radial-gradient(ellipse, rgba(217,49,255,.44), transparent 72%);
    filter: blur(18px);
    z-index: -4;
}

.pcw-neon-banner__stars {
    position: absolute;
    inset: 0;
    z-index: -5;
    background-image:
        radial-gradient(circle, rgba(255,255,255,.95) 0 1px, transparent 1.5px),
        radial-gradient(circle, rgba(217,49,255,.8) 0 1px, transparent 1.5px),
        radial-gradient(circle, rgba(123,44,255,.8) 0 1px, transparent 1.5px);
    background-size: 130px 130px, 180px 180px, 230px 230px;
    background-position: 10px 22px, 60px 90px, 130px 40px;
    opacity: .32;
}

.pcw-neon-banner__grid {
    position: absolute;
    left: 50%;
    bottom: -22px;
    width: 120vw;
    height: 55%;
    transform: translateX(-50%) perspective(520px) rotateX(64deg);
    transform-origin: bottom center;
    z-index: -3;
    background-image:
        linear-gradient(rgba(217,49,255,.23) 1px, transparent 1px),
        linear-gradient(90deg, rgba(123,44,255,.24) 1px, transparent 1px);
    background-size: 54px 54px;
    opacity: .38;
    mask-image: linear-gradient(to top, #000 20%, transparent 92%);
}

.pcw-neon-banner__glow {
    position: absolute;
    border-radius: 999px;
    pointer-events: none;
    z-index: -2;
    filter: blur(16px);
}

.pcw-neon-banner__glow--one {
    right: 6%;
    top: -8%;
    width: 150px;
    height: 150px;
    background: rgba(123,44,255,.22);
}

.pcw-neon-banner__glow--two {
    left: 4%;
    bottom: -26%;
    width: 150px;
    height: 150px;
    background: rgba(255,47,168,.18);
}

.pcw-neon-banner--pulse .pcw-neon-banner__price-wrap,
.pcw-neon-banner--pulse .pcw-neon-banner__button--primary,
.pcw-neon-banner--pulse .pcw-neon-banner__orb {
    animation: pcwNeonPulse 2.6s ease-in-out infinite;
}

@keyframes pcwNeonPulse {
    0%,100% { filter: drop-shadow(0 0 6px rgba(217,49,255,.58)); }
    50% { filter: drop-shadow(0 0 20px rgba(255,47,168,.90)); }
}

.pcw-neon-banner__inner {
    position: relative;
    width: 100%;
    margin: 0 auto;
    display: block;
}

.pcw-neon-banner__content {
    position: relative;
    z-index: 2;
    width: min(1040px, 100%);
    margin: 0 auto;
    text-align: center;
    padding: 0 clamp(22px, 4vw, 50px);
}

.pcw-neon-banner__brandrow,
.pcw-neon-banner__logo,
.pcw-neon-banner__eyebrow,
.pcw-neon-banner__button--secondary {
    display: none !important;
}

.pcw-neon-banner__headline-row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    flex-wrap: wrap;
    margin: 0 0 8px;
}

.pcw-neon-banner__headline {
    margin: 0;
    font-size: clamp(28px, 3.0vw, 46px);
    line-height: 1.02;
    letter-spacing: -0.025em;
    text-transform: uppercase;
    font-weight: 900;
    color: #fff;
    text-shadow: 0 0 14px rgba(123,44,255,.34);
}

.pcw-neon-banner__headline br {
    display: none;
}

.pcw-neon-banner__price-wrap {
    display: inline-block;
    width: fit-content;
    padding: 2px;
    border-radius: 15px;
    background: linear-gradient(90deg, var(--pcw-accent), var(--pcw-primary), var(--pcw-secondary));
    box-shadow: 0 0 30px rgba(217,49,255,.26), inset 0 0 14px rgba(255,255,255,.12);
}

.pcw-neon-banner__price {
    position: relative;
    padding: 8px 17px;
    border-radius: 13px;
    background: rgba(9,4,20,.91);
    color: #fff;
    font-size: clamp(26px, 3.0vw, 44px);
    line-height: 1;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: -0.018em;
    box-shadow: inset 0 0 24px rgba(217,49,255,.22);
    white-space: nowrap;
}

.pcw-neon-banner__subtitle {
    max-width: 860px;
    margin: 0 auto 11px;
    color: rgba(255,255,255,.88);
    font-size: clamp(13px, 1.05vw, 16px);
    line-height: 1.35;
    font-weight: 500;
}

.pcw-neon-banner__bottomrow {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    flex-wrap: wrap;
}

.pcw-neon-banner__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 9px 18px;
    border-radius: 13px;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .055em;
    text-decoration: none !important;
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.pcw-neon-banner__button:hover,
.pcw-neon-banner__button:focus {
    transform: translateY(-2px);
    text-decoration: none !important;
}

.pcw-neon-banner__button--primary {
    color: #fff !important;
    background: linear-gradient(90deg, var(--pcw-accent), var(--pcw-primary), var(--pcw-secondary));
    box-shadow: 0 0 26px rgba(217,49,255,.42);
}

.pcw-neon-banner__button--primary span {
    margin-left: 9px;
    font-size: 1.2em;
}

.pcw-neon-banner__features {
    display: inline-flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 7px;
}

.pcw-neon-banner__features span {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 5px 10px;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,.15);
    background: rgba(255,255,255,.08);
    color: rgba(255,255,255,.9);
    font-size: 11px;
    font-weight: 750;
    box-shadow: inset 0 0 16px rgba(255,255,255,.04);
    white-space: nowrap;
}

.pcw-neon-banner__visual {
    position: absolute;
    top: 50%;
    right: clamp(10px, 4vw, 70px);
    transform: translateY(-50%);
    width: clamp(120px, 14vw, 190px);
    min-height: 126px;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: .92;
}

.pcw-neon-banner__orb {
    position: absolute;
    width: clamp(120px, 13vw, 170px);
    max-width: 94%;
    aspect-ratio: 1;
    border-radius: 50%;
    background:
        radial-gradient(circle at 45% 35%, rgba(255,255,255,.18), transparent 17%),
        radial-gradient(circle, rgba(217,49,255,.36), rgba(123,44,255,.12) 47%, transparent 71%);
    border: 1px solid rgba(217,49,255,.34);
    box-shadow: inset 0 0 44px rgba(217,49,255,.12), 0 0 48px rgba(123,44,255,.25);
}

.pcw-neon-banner__device-card {
    position: relative;
    width: min(170px, 100%);
    min-height: 108px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 17px;
    border: 1px solid rgba(255,255,255,.18);
    background: linear-gradient(135deg, rgba(255,255,255,.12), rgba(255,255,255,.04));
    box-shadow: 0 20px 50px rgba(0,0,0,.28), inset 0 0 26px rgba(255,255,255,.055);
    backdrop-filter: blur(14px);
    overflow: hidden;
}

.pcw-neon-banner__device-card::before {
    content: "";
    position: absolute;
    inset: -2px;
    border-radius: inherit;
    padding: 2px;
    background: linear-gradient(135deg, rgba(255,47,168,.65), rgba(217,49,255,.16), rgba(123,44,255,.65));
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
}

.pcw-neon-banner__device-card img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 108px;
    object-fit: cover;
}

.pcw-neon-banner__device-icons {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    padding: 10px;
}

.pcw-neon-banner__icon {
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    border-radius: 12px;
    font-size: 21px;
    border: 1px solid rgba(255,255,255,.18);
    background: rgba(0,0,0,.28);
    box-shadow: 0 0 24px rgba(217,49,255,.22);
}

@media (max-width: 980px) {
    .pcw-neon-banner {
        min-height: 220px;
        padding: 18px 16px;
    }

    .pcw-neon-banner__content {
        padding: 0;
    }

    .pcw-neon-banner__visual {
        display: none;
    }
}

@media (max-width: 640px) {
    .pcw-neon-banner {
        min-height: 260px;
        padding: 20px 15px;
    }

    .pcw-neon-banner__headline-row {
        gap: 9px;
    }

    .pcw-neon-banner__headline {
        font-size: clamp(28px, 9vw, 42px);
    }

    .pcw-neon-banner__price {
        font-size: clamp(26px, 8.5vw, 40px);
        white-space: normal;
    }

    .pcw-neon-banner__button {
        width: min(100%, 260px);
    }

    .pcw-neon-banner__features {
        width: 100%;
    }
}


/* Version 1.0.4: compact centered layout with no right-side visual */
.pcw-neon-banner__visual,
.pcw-neon-banner__device-card,
.pcw-neon-banner__orb,
.pcw-neon-banner__device-icons {
    display: none !important;
}

@media (min-width: 768px) {
    .pcw-neon-banner__content {
        max-width: 1180px;
    }
}


/* Version 1.0.5: button can be hidden from Elementor settings */
.pcw-neon-banner__bottomrow:empty { display: none; }
