/* VPS SELECTOR PAGE - built on your existing Royal Server design */
.vps-selector-hero{
    position:relative;
    overflow:hidden;
}
.vps-selector-hero:before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:
        radial-gradient(circle at 20% 20%,rgba(0,255,208,.14),transparent 32%),
        radial-gradient(circle at 82% 14%,rgba(0,168,255,.14),transparent 34%);
}
.vps-selector-hero .hero-grid{
    position:relative;
    z-index:2;
}
.vps-selector-panel{
    position:relative;
    overflow:hidden;
}
.os-visual-stage{
    position:relative;
    min-height:330px;
    display:grid;
    place-items:center;
    margin:18px 0;
}
.os-orbit{
    position:absolute;
    width:260px;
    height:260px;
    border-radius:50%;
    border:1px solid rgba(0,255,208,.20);
    box-shadow:0 0 60px rgba(0,255,208,.10), inset 0 0 45px rgba(0,168,255,.08);
    animation:vpsOrbitPulse 3.4s ease-in-out infinite;
}
.os-orbit:before,
.os-orbit:after{
    content:"";
    position:absolute;
    inset:34px;
    border-radius:50%;
    border:1px dashed rgba(0,168,255,.28);
    animation:vpsSpin 14s linear infinite;
}
.os-orbit:after{
    inset:72px;
    border-color:rgba(0,255,208,.35);
    animation-duration:9s;
    animation-direction:reverse;
}
.os-mini{
    position:absolute;
    width:150px;
    height:150px;
    border-radius:34px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:7px;
    background:linear-gradient(180deg,rgba(8,20,31,.92),rgba(2,6,12,.98));
    border:1px solid rgba(255,255,255,.09);
    box-shadow:0 24px 70px rgba(0,0,0,.34);
}
.linux-mini{
    left:24px;
    top:48px;
    border-color:rgba(0,255,208,.20);
}
.windows-mini{
    right:24px;
    bottom:44px;
    border-color:rgba(0,168,255,.24);
}
.os-mini strong{
    font-family:"Orbitron",sans-serif;
    color:#fff;
    font-size:16px;
}
.os-mini small{
    color:#96a4b2;
    font-weight:800;
}
.windows-logo-mini,
.windows-logo{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:5px;
    transform:perspective(280px) rotateY(-14deg) rotateX(4deg);
    filter:drop-shadow(0 0 22px rgba(49,230,255,.42));
}
.windows-logo-mini{
    width:58px;
    height:58px;
}
.windows-logo{
    width:88px;
    height:88px;
}
.windows-logo-mini span,
.windows-logo span{
    display:block;
    border-radius:5px;
    background:linear-gradient(135deg,#00a8ff,#31e6ff);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.22);
}
.tux-mini{
    position:relative;
    width:58px;
    height:68px;
}
.tux-logo{
    position:relative;
    width:92px;
    height:104px;
}
.tux-head{
    position:absolute;
    left:50%;
    top:0;
    width:46%;
    height:40%;
    transform:translateX(-50%);
    border-radius:50%;
    background:linear-gradient(180deg,#19212c,#05090f);
    border:1px solid rgba(255,255,255,.10);
}
.tux-body{
    position:absolute;
    left:50%;
    bottom:8%;
    width:58%;
    height:68%;
    transform:translateX(-50%);
    border-radius:48% 48% 35% 35%;
    background:linear-gradient(180deg,#18202b,#05090f);
    border:1px solid rgba(255,255,255,.10);
}
.tux-belly{
    position:absolute;
    left:50%;
    bottom:12%;
    width:34%;
    height:48%;
    transform:translateX(-50%);
    border-radius:50%;
    background:linear-gradient(180deg,#f8fbfb,#dfe8ea);
}
.tux-eye{
    position:absolute;
    top:16%;
    width:6%;
    height:8%;
    border-radius:50%;
    background:#fff;
    z-index:3;
}
.tux-eye.left{left:42%}
.tux-eye.right{right:42%}
.tux-beak{
    position:absolute;
    left:50%;
    top:26%;
    width:16%;
    height:9%;
    transform:translateX(-50%);
    border-radius:50%;
    background:#ffcc3d;
    z-index:3;
}
.tux-wing{
    position:absolute;
    top:40%;
    width:21%;
    height:40%;
    border-radius:50%;
    background:#070c14;
}
.tux-wing.left{
    left:7%;
    transform:rotate(18deg);
}
.tux-wing.right{
    right:7%;
    transform:rotate(-18deg);
}
.tux-foot{
    position:absolute;
    bottom:1%;
    width:32%;
    height:12%;
    border-radius:50%;
    background:#ffcc3d;
}
.tux-foot.left{left:14%}
.tux-foot.right{right:14%}

.vps-choice-section{
    position:relative;
}
.vps-choice-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:28px;
}
.vps-os-card{
    position:relative;
    overflow:hidden;
    min-height:640px;
    display:flex;
    flex-direction:column;
    padding:34px;
    border-radius:34px;
    background:
        radial-gradient(circle at 0% 0%,rgba(0,255,208,.10),transparent 34%),
        linear-gradient(180deg,rgba(8,20,31,.94),rgba(2,6,12,.98));
    border:1px solid rgba(255,255,255,.08);
    box-shadow:0 34px 100px rgba(0,0,0,.34);
    transition:.35s cubic-bezier(.2,.8,.2,1);
    transform-style:preserve-3d;
}
.windows-os-card{
    background:
        radial-gradient(circle at 100% 0%,rgba(0,168,255,.15),transparent 34%),
        linear-gradient(180deg,rgba(8,20,31,.94),rgba(2,6,12,.98));
}
.vps-os-card:before{
    content:"";
    position:absolute;
    inset:-1px;
    border-radius:inherit;
    background:linear-gradient(135deg,rgba(0,255,208,.26),transparent 40%,rgba(0,168,255,.22));
    opacity:.55;
    pointer-events:none;
    z-index:0;
    mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
    -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
    padding:1px;
    -webkit-mask-composite:xor;
    mask-composite:exclude;
}
.vps-os-card:hover{
    box-shadow:0 44px 125px rgba(0,0,0,.44),0 0 60px rgba(0,255,208,.10);
}
.windows-os-card:hover{
    box-shadow:0 44px 125px rgba(0,0,0,.44),0 0 60px rgba(0,168,255,.14);
}
.os-card-bg{
    position:absolute;
    width:420px;
    height:420px;
    border-radius:50%;
    right:-170px;
    top:-190px;
    background:rgba(0,255,208,.08);
    filter:blur(8px);
}
.windows-os-card .os-card-bg{
    background:rgba(0,168,255,.10);
}
.vps-os-top,
.vps-os-content,
.vps-os-actions{
    position:relative;
    z-index:2;
}
.vps-os-top{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:18px;
    margin-bottom:28px;
}
.vps-os-icon{
    width:136px;
    height:136px;
    border-radius:34px;
    display:grid;
    place-items:center;
    background:
        radial-gradient(circle at 50% 0%,rgba(255,255,255,.10),transparent 44%),
        linear-gradient(135deg,rgba(0,255,208,.15),rgba(0,168,255,.10));
    border:1px solid rgba(255,255,255,.08);
    box-shadow:0 0 45px rgba(0,255,208,.10);
}
.windows-icon{
    box-shadow:0 0 45px rgba(0,168,255,.14);
}
.vps-os-badge{
    padding:10px 13px;
    border-radius:999px;
    background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.08);
    color:#dffff8;
    font-size:12px;
    font-weight:950;
}
.vps-os-content small{
    display:block;
    color:#00ffd0;
    font-size:12px;
    font-weight:950;
    letter-spacing:.14em;
    margin-bottom:12px;
}
.windows-os-card .vps-os-content small{
    color:#31e6ff;
}
.vps-os-content h3{
    font-family:"Orbitron",sans-serif;
    color:#fff;
    font-size:clamp(30px,3vw,44px);
    line-height:1.08;
    margin-bottom:16px;
}
.vps-os-content p{
    color:#aeb7c2;
    line-height:1.8;
    font-size:16px;
    margin-bottom:22px;
}
.vps-os-specs{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:12px;
    margin-bottom:24px;
}
.vps-os-specs div{
    padding:15px;
    border-radius:18px;
    background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.07);
}
.vps-os-specs strong{
    display:block;
    color:#fff;
    font-family:"Orbitron",sans-serif;
    font-size:16px;
    margin-bottom:5px;
}
.vps-os-specs span{
    display:block;
    color:#8f9aa7;
    font-size:12px;
    line-height:1.35;
}
.vps-os-content ul{
    display:grid;
    gap:12px;
    list-style:none;
    margin-bottom:28px;
}
.vps-os-content li{
    display:flex;
    gap:10px;
    color:#dce8f3;
    font-size:14px;
    line-height:1.5;
}
.vps-os-content li:before{
    content:"✓";
    color:#00ff88;
    font-weight:950;
}
.vps-os-actions{
    margin-top:auto;
    display:grid;
    gap:12px;
}
.vps-os-btn{
    min-height:60px;
    border-radius:18px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:950;
    transition:.25s cubic-bezier(.2,.8,.2,1);
}
.linux-btn{
    background:linear-gradient(90deg,#00ffd0,#00a8ff);
    color:#00110f;
    box-shadow:0 0 35px rgba(0,255,208,.20);
}
.windows-btn{
    background:linear-gradient(90deg,#00a8ff,#31e6ff);
    color:#00110f;
    box-shadow:0 0 35px rgba(0,168,255,.20);
}
.vps-os-btn:hover{
    transform:translateY(-4px) scale(1.01);
}
.vps-os-link{
    text-align:center;
    color:#9ca8b6;
    font-weight:800;
    font-size:14px;
}
.vps-os-link:hover{
    color:#fff;
}
.vps-help-section{
    position:relative;
}
.os-help-panel .deploy-option b{
    min-width:58px;
    text-align:right;
}
@keyframes vpsSpin{
    to{transform:rotate(360deg)}
}
@keyframes vpsOrbitPulse{
    0%,100%{transform:scale(1);opacity:.9}
    50%{transform:scale(1.04);opacity:1}
}
@media(max-width:980px){
    .vps-choice-grid{
        grid-template-columns:1fr;
    }
    .vps-os-card{
        min-height:auto;
    }
    .os-visual-stage{
        min-height:260px;
    }
    .linux-mini{
        left:0;
    }
    .windows-mini{
        right:0;
    }
}
@media(max-width:640px){
    .vps-os-card{
        padding:22px;
        border-radius:26px;
    }
    .vps-os-top{
        display:grid;
    }
    .vps-os-specs{
        grid-template-columns:1fr;
    }
    .os-mini{
        position:relative;
        left:auto;
        right:auto;
        top:auto;
        bottom:auto;
        margin:8px;
    }
    .os-visual-stage{
        display:flex;
        flex-wrap:wrap;
        justify-content:center;
        min-height:auto;
        padding:24px 0;
    }
    .os-orbit{
        width:220px;
        height:220px;
    }
}