@font-face{font-family:'Inter';font-weight:400;font-style:normal;font-display:swap;src:local(''), url('../fonts/Inter-Regular.woff2') format('woff2'), url('../fonts/Inter-Regular.woff') format('woff')}
@font-face{font-family:'Inter';font-weight:500;font-style:normal;font-display:swap;src:local(''), url('../fonts/Inter-Medium.woff2') format('woff2'), url('../fonts/Inter-Medium.woff') format('woff')}
@font-face{font-family:'Inter';font-weight:700;font-style:normal;font-display:swap;src:local(''), url('../fonts/Inter-Bold.woff2') format('woff2'), url('../fonts/Inter-Bold.woff') format('woff')}

:root{
	--border-radius-0: 0;
	--border-radius-1: 10px;
    --border-radius-1-0-0-0: 8px 0 0 0;
    --border-radius-0-1-0-0: 0 8px 0 0;
    --border-radius-0-0-1-0: 0 0 8px 0;
    --border-radius-0-0-0-1: 0 0 0 8px;
    --border-radius-1-1-0-0: 10px 10px 0 0;
    --border-radius-0-1-1-0: 0 8px 8px 0;
    --border-radius-0-0-1-1: 0 0 8px 8px;
    --border-radius-1-0-0-1: 8px 0 0 8px;
    --border-radius-0-1-1-1: 0 8px 8px 8px;
    --border-radius-1-0-1-1: 8px 0 8px 8px;
    --border-radius-1-1-0-1: 8px 8px 0 8px;
    --border-radius-1-1-1-0: 8px 8px 8px 0;
}

body {font-family:'Inter', sans-serif;font-weight:400;color:#222;line-height:1.7em;width:100%}
h1, h2, h3, h4, h5, h6 {font-weight:700;color:#444}
h1 {margin:0 0 20px;font-size:1.8em}
h2 {margin:0 0 15px;font-size:1.6em}
h3 {margin:0 0 15px;font-size:1.4em}
h4 {font-size:1.2em}
h5 {font-size:1.1em}
h6 {font-size:1em}
a {color:#23a1d1}
a:hover {text-decoration:none}
a, a:focus, a:hover, a:visited{outline:none !important}
legend {font-size:18px;padding:7px 0px}
label {font-weight:500}

.form-control{
	font-size:12px;
	border-color:#ddd;
	box-shadow:none;
	border-radius:var(--border-radius-1)
}

.form-control:not(textarea){
	height:34px;
}

.input-group input, .input-group select, .input-group .dropdown-menu, .input-group .popover {font-size:12px}
.input-group .input-group-addon {font-size:12px;height:30px}
button,select,.btn,.btn:active,.btn:hover,.btn:focus,.nav-tabs .li {outline:none!important;-moz-user-select:none!important;-webkit-user-select:none!important}
span.hidden-xs, span.hidden-sm, span.hidden-md, span.hidden-lg {display:inline}
.nav-tabs {margin-bottom:15px}
div.required .control-label:before {content:'* ';color:#f00;font-weight:700}
.dropdown-menu li > a:hover, .dropdown-menu li > button:hover {text-decoration:none;color:#333;background:rgba(0 0 0 /.05)}

.row-flex{display:flex;flex-wrap:wrap}
.sticky{position:sticky;top:15px}

#top {background-color:#eee;margin:0 0 25px;min-height:38px}
#top * {font-size:12px}
#top .container{display:flex;align-items:center;min-height:36px}
#top #form-currency .currency-select,#top #form-language .language-select {text-align:left}
#top .container div:not(#top-links){flex:1 1 auto}
#top .btn-link, #top-links li, #top-links a {color:#888;text-decoration:none}
#top-links .dropdown-menu a {text-shadow:none}
#top .container div:not(#top-links) .dropdown-toggle{padding:0 15px 0 0}
#top ul{margin:0}
#top-links .list-inline > li{padding:0}
#top-links .list-inline > li + li{margin:0 0 0 15px}
#top-links a + a {margin-left:15px}

#logo {margin:0 0 15px}

#search {width:100%;margin-bottom:15px}
#search .input-lg {height:38px;line-height:20px;padding:0 10px;border-radius:var(--border-radius-1)}
#search .btn-lg {position:absolute;z-index:99;top:1px;right:6px;font-size:15px;line-height:15px;padding:10px 15px;background:rgba(0 0 0 / .01);border-radius:var(--border-radius-0-1-1-0)}

/* cart */
#cart {margin-bottom:15px}
#cart td{white-space:nowrap}
#cart > .btn {display:flex;justify-content:center;align-items:center;height:38px;font-weight:700;font-size:12px;color:#333;background:#f5f5f5}
#cart.open > .btn {box-shadow:none;text-shadow:none}
#cart.open > .btn:hover {color:#444}
#cart > .btn i{margin:0 10px 0 0;font-size:1.8em;color:#229AC8}
#cart .dropdown-menu {background:#f5f5f5;z-index:1001}
#cart .dropdown-menu {right:15px;min-width:100%;overflow-y:auto;max-height:800px;scrollbar-width:thin;overflow-x:hidden}
#cart .dropdown-menu table {margin-bottom:10px}
#cart .dropdown-menu table td {vertical-align:middle}
#cart .dropdown-menu li > div {min-width:427px;padding:0 10px}
#cart .dropdown-menu li p {margin:20px 0}
#menu {margin:0 0 25px;background-color:#229ac8;min-height:46px;border:none;border-radius:var(--border-radius-1)}
#menu .nav > li > a {color:#fff;padding:13px 20px;min-height:15px}
#menu .nav > li > a:hover, #menu .nav > li.open > a {background-color:rgba(0, 0, 0, 0.1)}

#menu .dropdown-inner {display:table}
#menu .dropdown-inner ul {display:table-cell}
#menu .dropdown-inner a {min-width:250px;display:block;padding:5px 10px;clear:both;line-height:20px;color:#333333}
#menu li.dropdown > a:after{display:inline-block;content:'›';margin:0 0 0 10px;font-weight:700;color:inherit;transform:rotate(90deg)}
#menu li.dropdown.open > a:after, #menu li.dropdown:hover > a:after{transform:rotate(-90deg)}
#menu .dropdown-inner li a:hover {color:#229ac8;background:none}
#menu .see-all {display:none;margin:10px}
#menu .see-all:hover, #menu .see-all:focus {text-decoration:none;color:#fff;background:none}
#menu #category {float:left;padding-left:15px;font-size:1.2em;font-weight:700;line-height:44px;color:#fff}
#menu .btn-navbar {font-size:15px;font-stretch:expanded;color:#fff;padding:2px 15px;float:right;background-color:#229ac8;border:solid 1px rgba(0 0 0 /.1)}
#menu .btn-navbar:hover, #menu .btn-navbar:focus, #menu .btn-navbar:active, #menu .btn-navbar.disabled, #menu .btn-navbar[disabled] {color:#fff;background-color:#229ac8}

#content {min-height:600px}

footer {margin-top:30px;padding-top:30px;background-color:#333;color:#e2e2e2}
footer hr {border-top:1px solid #444}
footer a {color:#ccc}
footer a:hover {color:#fff}
footer h5 {margin:0 0 15px;font-weight:700;font-size:1.2em;color:#fff}
footer li{padding:0 0 5px}

.alert {padding:8px 14px 8px 14px}
.alert > .close {
	position: relative;
	top: -2px;
	right: 0px;
	color: inherit;
}

.breadcrumb {margin:0 0 20px 0;font-size:.85em;border-radius:var(--border-radius-1)}
.breadcrumb i {font-size:15px}
.breadcrumb > li {position:relative;white-space:nowrap}
.breadcrumb > li + li:before {content:'»';padding:0 6px;color:#666}

.dropdown-menu{min-width:250px;padding:10px;border:none;border-radius:var(--border-radius-1)}
.dropdown-menu > li > a, .dropdown-menu > li > button {padding:7px 10px;border-radius:var(--border-radius-1)}

.nav-tabs > li > a{font-size:1.1em;border-radius:var(--border-radius-1-1-0-0)}

html[dir=rtl] .breadcrumb > li::after {
  top:-3px;
  left:-5px;
  width:26px;
  height:26px;
  border-left:1px solid #DDD;
  border-top:1px solid #DDD;
  right:unset;
  border-right:unset;
  border-bottom:unset;
}
.pagination {margin:0}

.buttons {margin:1em 0}

.btn {padding:8.5px 12px;font-size:12px;border:none;border-radius:var(--border-radius-1)}
.btn-xs {padding:5px 8px;font-size:9px}
.btn-sm {font-size:11px}
.btn-lg {padding:10px 16px;font-size:15px}

.btn-group > .btn, .btn-group > .dropdown-menu, .btn-group > .popover {font-size:12px}
.btn-group > .btn-xs {font-size:9px}
.btn-group > .btn-sm {font-size:10.2px}
.btn-group > .btn-lg {font-size:15px}

.btn-default {color:#777;background-color:#eee}
.btn-primary {color:#fff;background-color:#229ac8}
.btn-primary:hover, .btn-primary:active, .btn-primary.active, .btn-primary.disabled, .btn-primary[disabled] {background-color:#1f90bb;background-position:0 -15px}
.btn-warning {color:#fff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#faa732;background-image:linear-gradient(to bottom, #fbb450, #f89406);background-repeat:repeat-x;border-color:#f89406 #f89406 #ad6704}
.btn-warning:hover, .btn-warning:active, .btn-warning.active, .btn-warning.disabled, .btn-warning[disabled] {box-shadow:inset 0 1000px 0 rgba(0, 0, 0, 0.1)}
.btn-danger {color:#fff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#da4f49;background-image:linear-gradient(to bottom, #ee5f5b, #bd362f);background-repeat:repeat-x;border-color:#bd362f #bd362f #802420}
.btn-danger:hover, .btn-danger:active, .btn-danger.active, .btn-danger.disabled, .btn-danger[disabled] {box-shadow:inset 0 1000px 0 rgba(0, 0, 0, 0.1)}
.btn-success {color:#fff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#5bb75b;background-image:linear-gradient(to bottom, #62c462, #51a351);background-repeat:repeat-x;border-color:#51a351 #51a351 #387038}
.btn-success:hover, .btn-success:active, .btn-success.active, .btn-success.disabled, .btn-success[disabled] {box-shadow:inset 0 1000px 0 rgba(0, 0, 0, 0.1)}
.btn-info {color:#fff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#df5c39;background-image:linear-gradient(to bottom, #e06342, #dc512c);background-repeat:repeat-x;border-color:#dc512c #dc512c #a2371a}
.btn-info:hover, .btn-info:active, .btn-info.active, .btn-info.disabled, .btn-info[disabled] {background-image:none;background-color:#df5c39}
.btn-link {border-color:rgba(0, 0, 0, 0);cursor:pointer;color:#23A1D1;border-radius:0}
.btn-link, .btn-link:active, .btn-link[disabled] {background-color:rgba(0, 0, 0, 0);background-image:none;box-shadow:none}
.btn-inverse {color:#fff;background-color:#333}
.btn-inverse:hover, .btn-inverse:active, .btn-inverse.active, .btn-inverse.disabled, .btn-inverse[disabled] {background-color:#222}

/* list group */
.list-group a {border:1px solid #ddd;color:#888;padding:10px 12px}
.list-group a.active, .list-group a.active:hover, .list-group a:hover {color:#444;background:#eee;border:1px solid #ddd;text-shadow:0 1px 0 #fff}
.list-group-item:first-child {border-radius:var(--border-radius-1-1-0-0)}
.list-group-item:last-child {border-radius:var(--border-radius-0-0-1-1)}

/* carousel */
.carousel-caption {color:#fff;text-shadow:0 1px 0 #000}
.carousel-control .icon-prev:before {content:'\f053';font-family:FontAwesome}
.carousel-control .icon-next:before {content:'\f054';font-family:FontAwesome}

.category__category-list{margin:15px -10px 25px;padding:0;list-style:none}
.category__category-list-item{margin:0 10px 10px}
.category__category-list-item a{display:block;padding:10px 15px;background:#F5F5F5;border-radius:var(--border-radius-1)}

.product-thumb {width:100%;border:1px solid #ddd;margin-bottom:25px;padding:15px;border-radius:var(--border-radius-1)}
.product-thumb .image {text-align:center}
.product-thumb .image a {display:block}
.product-thumb .image a:hover {opacity:0.8}
.product-thumb .image img {margin-left:auto;margin-right:auto}
.product-thumb .caption {min-height:180px;margin:0 0 15px}
.product-thumb .caption h4{font-size:1.1em}
.product-thumb .rating {padding-bottom:10px}
.product-thumb .price {margin:0 0 15px;color:#444;font-size:1.3em;font-weight:700}
.product-thumb .price-old {color:#999;text-decoration:line-through;margin-left:10px}
.product-thumb .price-tax {color:#999;font-weight:400;font-size:.65em;display:block;margin:5px 0 0}
.product-thumb .button-group {display:flex;overflow:auto;border:none;overflow:hidden;max-width:300px}
.product-thumb .button-group button {border:none;padding:5px 15px;background-color:#eee;color:#666;text-align:center;white-space:nowrap;border-radius:var(--border-radius-1)}
.product-thumb .button-group button:first-child{flex:1 1 100%;color:#fff;background:#229ac8}
.product-thumb .button-group button + button {margin:0 0 0 15px;color:#666;background:#f7f7f7}
.product-thumb .button-group button:first-child:hover {background:#33a3d2;text-decoration:none;cursor:pointer}
.product-thumb .button-group button + button:hover{color:#229ac8}

.product-layout:not(.product-list) .product-thumb {display:flex;flex-direction:column}
.product-layout:not(.product-list) .product-thumb .image {margin-bottom:10px}
.product-grid .button-group{margin:0}

.rating .fa-stack {font-size:8px}
.rating .fa-star-o {color:#999;font-size:15px}
.rating .fa-star {color:#FC0;font-size:15px}
.rating .fa-star + .fa-star-o {color:#E69500}
h2.price {margin:0}

.product-page__price{margin:20px 0 10px}

.product-page__qty-btn{display:flex;align-items:center;margin:30px 0;white-space:nowrap}
.product-page__qty-btn input[name="quantity"]{width:60px;height:38px;margin:0 20px;text-align:center}
.product-page__qty-btn .btn{height:38px}

.thumbnails {overflow:auto;clear:both;list-style:none;padding:0;margin:0}
.thumbnails > li {margin-left:20px}
.thumbnails {margin-left:-20px}
.thumbnails > img {width:100%}
.image-additional a {margin-bottom:20px;padding:5px;display:block;border:1px solid #ddd}
.image-additional {max-width:78px}
.thumbnails .image-additional {float:left;margin-left:20px}
.thumbnail {border-radius:var(--border-radius-1)}

.swiper-viewport{border:none !important;box-shadow:none !important}
.swiper-viewport .swiper-container{border:solid #ddd 1px;border-radius:var(--border-radius-1);background-clip:padding-box}
.swiper-viewport, .swiper-viewport img{border-radius:var(--border-radius-1) !important}
.swiper-slide{display:flex;align-items:center;justify-content:center}
.swiper-pagination-bullet{background:#ddd !important;box-shadow:none !important}
.swiper-pagination-bullet-active{background:#229ac8 !important}
.panel-group .panel{margin:0 0 15px;border-radius:var(--border-radius-1)}
.panel-group .panel-heading{border-radius:5px 5px 0 0}
#product-product .tab-content{margin:0 0 40px}

#account-login #content > .row{display:flex;flex-wrap:wrap}
#account-login #content > .row .col-sm-6 {flex:1 0 50%;margin:0 0 20px}
#account-login #content > .row .well{display:flex;flex-wrap:wrap;height:100%}
#account-login #content > .row .well h2{width:100%}
#account-login #content > .row .well h2 + p {display:none;margin:0 0 auto}
#account-login #content > .row .well form {/* margin:auto 0 0; */}
#account-login #content > .row .well .control-label{display:none}
#account-login #content > .row .well input + a {display:inline-block;margin:10px 0 }
#account-login #content > .row .well .btn {margin:auto 0 0}
#account-login #content > .row .well input.btn {margin:auto 0 -10px}

#account-account .list-unstyled{display:flex;flex-wrap:wrap;margin:0 0 20px}
#account-account .list-unstyled li{margin:0 15px 15px 0;padding:10px 15px;background:rgba(0 0 0 / .03);border-radius:var(--border-radius-1)}
#account-account .list-unstyled li:last-child{margin-right:0}

.row-flex > div {display:flex}
.row-flex > div .caption {display:flex;flex-direction:column;flex: 1 1 auto;min-height:0;margin:0;overflow:hidden}
.row-flex > div .caption p:not(.price){margin:0 0 auto;padding:0 0 15px}

.cookie-notification{position:fixed;bottom:0;left:0;right:0;background:rgba(0 0 0 / .7);color:#fff;padding:15px 0;z-index: 9999}
.cookie-notification__container{display:flex;justify-content:center;align-items:center}
.cookie-notification__info{padding:0 30px 0 0}
.cookie-notification__info a{white-space:nowrap}
.cookie-notification__btn{height:fit-content}

@media (max-width:478px) {
	#cart .dropdown-menu {width:100%}
	#cart .dropdown-menu li > div {min-width:100%}
}

@media (max-width:767px) {
	#logo img{margin:0 auto}
	#menu {}
	#menu .navbar-nav{margin:0 -15px}
	#menu div.dropdown-inner > ul.list-unstyled {display:block}
	#menu div.dropdown-menu {padding:10px;background-color:rgba(0, 0, 0, 0.05)}
	#menu .dropdown-inner {display:block}
	#menu .dropdown-inner a {width:100%;color:#fff}
	#menu .dropdown-menu ul li a:hover {background:rgba(0, 0, 0, 0.1)}
	#menu .see-all {display:block;margin:10px 10px 0;font-weight:700;font-size:.85em;border:none;border-radius:0;color:#fff}
	#menu .nav > li{border-top:solid 1px rgba(0 0 0 /.1)}
	
	.cookie-notification__container{flex-wrap:wrap}
	.cookie-notification__info{flex:1 1 100%;padding:0 0 30px}
	.product-list .product-thumb .caption {min-height:0;margin-left:0}
	.product-grid .product-thumb .caption {min-height:0}

	#product-product .sticky{position:static}
}

@media (max-width:1200px) {
	.product-grid .product-thumb .caption {min-height:210px;padding:0 10px}
}

@media (min-width:1440px) {
    .container{width:1350px}
}

@media (min-width:1200px) {
	#content .col-lg-2:nth-child(6n+1),
	#content .col-lg-3:nth-child(4n+1),
	#content .col-lg-4:nth-child(3n+1),
	#content .col-lg-6:nth-child(2n+1) {
		clear:left;
	}
}
@media (min-width:992px) and (max-width:1199px) {
	#content .col-md-2:nth-child(6n+1),
	#content .col-md-3:nth-child(4n+1),
	#content .col-md-4:nth-child(3n+1),
	#content .col-md-6:nth-child(2n+1) {
		clear:left;
	}
}
@media (min-width:768px) and (max-width:991px) {
	#content .col-sm-2:nth-child(6n+1),
	#content .col-sm-3:nth-child(4n+1),
	#content .col-sm-4:nth-child(3n+1),
	#content .col-sm-6:nth-child(2n+1) {
		clear:left;
	}

	.product-page__qty-btn{flex-wrap:wrap}
	.product-page__qty-btn .btn{margin-top:20px}
}

@media (min-width:768px) {
	html[dir=rtl] .navbar-nav {
        float:right;
        margin:0;
    }
    
    html[dir=rtl] .navbar-nav > li {
        float:right;
    }
	
	#menu .navbar-collapse {padding:0}
	#menu .dropdown:hover .dropdown-menu {display:block}
	#menu .nav > li:first-child > a {border-radius:var(--border-radius-1-0-0-1)}
	
    #column-left  .product-layout .col-md-3 {width:100%}
	#column-left + #content .product-layout .col-md-3 {width:50%}
	#column-left + #content + #column-right .product-layout .col-md-3 {width:100%}
    #content + #column-right .product-layout .col-md-3 {width:100%}
	
	.product-list .product-thumb .image {float:left;padding:0 15px 0 0}
	.product-list .product-thumb .caption {height:calc(100% - 34px)}
}

#column-left .product-layout, #column-right .product-layout {width:100%}

.input-group .form-control[name^=quantity] {min-width:50px}

.btn-info:hover, .btn-info:active, .btn-info.active, .btn-info.disabled, .btn-info[disabled] {
    background-image:none;
    background-color:#df5c39;
}

html[dir=rtl] .checkbox input[type="checkbox"],
html[dir=rtl] .checkbox-inline input[type="checkbox"],
html[dir=rtl] .radio input[type="radio"],
html[dir=rtl] .radio-inline input[type="radio"] {position:absolute;margin-top:4px\9;margin-right:-20px;margin-left:unset}
html[dir=rtl] .input-group-btn:last-child > .btn {border-top-right-radius:0;border-bottom-right-radius:0;border-top-left-radius:5px;border-bottom-left-radius:5px}
html[dir=rtl] .input-group .form-control:first-child {border-top-right-radius:5px;border-bottom-right-radius:5px;border-top-left-radius:unset;border-bottom-left-radius:unset}
html[dir=rtl] .container .row:first-child  .col-sm-4, html[dir=rtl] .container .row:first-child  .col-sm-5 {float:right}
html[dir=rtl] #cart .dropdown-menu {left:0;right:auto}

/* ===== VPN BILLING PANEL DARK THEME ===== */
:root {
  --vpn-bg: #080c18;
  --vpn-bg2: #0d1225;
  --vpn-card: rgba(255,255,255,0.04);
  --vpn-card-border: rgba(255,255,255,0.08);
  --vpn-accent: #6c3fff;
  --vpn-accent2: #4f8cff;
  --vpn-green: #10d48e;
  --vpn-text: #e8eaf6;
  --vpn-muted: #8892a4;
  --vpn-gradient: linear-gradient(135deg, #6c3fff 0%, #4f8cff 100%);
}

body.vpn-theme {
  background: var(--vpn-bg);
  color: var(--vpn-text);
  font-family: 'Inter', sans-serif;
}

body.vpn-theme #top {
  position: relative;
  z-index: 10000;
  background: rgba(8,12,24,0.95);
  border-bottom: 1px solid var(--vpn-card-border);
  margin: 0;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

body.vpn-theme #top .btn-link,
body.vpn-theme #top-links li,
body.vpn-theme #top-links a {
  color: var(--vpn-muted);
}

body.vpn-theme #top-links a:hover { color: var(--vpn-accent2); }

/* Скрываем переключатели валюты, языка и блога — не нужны для биллинга */
body.vpn-theme #form-currency,
body.vpn-theme #form-language,
body.vpn-theme .blog_menu,
body.vpn-theme #top > .container > div:not(#top-links) { display: none !important; }

/* Тёмные дропдауны если вдруг нужны */
body.vpn-theme .dropdown-menu {
  background: #12182e;
  border: 1px solid var(--vpn-card-border);
  box-shadow: 0 8px 32px rgba(0,0,0,0.5);
  z-index: 10001 !important;
}
body.vpn-theme .dropdown-menu > li > a,
body.vpn-theme .dropdown-menu > li > button {
  color: var(--vpn-text);
}
body.vpn-theme .dropdown-menu > li > a:hover,
body.vpn-theme .dropdown-menu > li > button:hover {
  background: rgba(108,63,255,0.15);
  color: #fff;
}

/* Стили для форм и ввода */
body.vpn-theme legend {
  border-bottom: 1px solid var(--vpn-card-border);
  color: #fff;
  font-weight: 700;
}
body.vpn-theme label,
body.vpn-theme .control-label {
  color: var(--vpn-text);
}
body.vpn-theme .form-control {
  background: rgba(255,255,255,0.03);
  border: 1px solid var(--vpn-card-border);
  color: #fff;
}
body.vpn-theme .form-control:focus {
  border-color: var(--vpn-accent2);
  box-shadow: 0 0 8px rgba(79, 140, 255, 0.2);
  background: rgba(255,255,255,0.05);
}
body.vpn-theme select.form-control option {
  background: var(--vpn-bg2);
  color: #fff;
}
body.vpn-theme .well {
  background: var(--vpn-card);
  border: 1px solid var(--vpn-card-border);
  border-radius: 16px;
  color: var(--vpn-text);
}
body.vpn-theme h1,
body.vpn-theme h2,
body.vpn-theme h3,
body.vpn-theme h4 {
  color: #fff;
}
body.vpn-theme .alert {
  border-radius: 12px;
}
body.vpn-theme .table {
  color: var(--vpn-text);
  border-color: var(--vpn-card-border);
}
body.vpn-theme .table-bordered,
body.vpn-theme .table-bordered > tbody > tr > td,
body.vpn-theme .table-bordered > tfoot > tr > td,
body.vpn-theme .table-bordered > thead > tr > td {
  border-color: var(--vpn-card-border);
}
body.vpn-theme .table-hover > tbody > tr:hover {
  background-color: rgba(255, 255, 255, 0.02);
}
body.vpn-theme .list-group a {
  background: var(--vpn-card);
  border-color: var(--vpn-card-border);
  color: var(--vpn-text);
}
body.vpn-theme .list-group a:hover,
body.vpn-theme .list-group a.active {
  background: rgba(108,63,255,0.15);
  border-color: rgba(108,63,255,0.3);
  color: #fff;
}
body.vpn-theme input[type="radio"],
body.vpn-theme input[type="checkbox"] {
  accent-color: var(--vpn-accent);
}

body.vpn-theme header {
  background: rgba(8,12,24,0.98);
  border-bottom: 1px solid var(--vpn-card-border);
  padding: 10px 0;
}

body.vpn-theme #logo { margin: 0; }
body.vpn-theme #logo h1 a {
  font-size: 1.6em;
  font-weight: 700;
  background: var(--vpn-gradient);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-decoration: none;
}

body.vpn-theme #menu {
  display: none !important;
}

body.vpn-theme #search { display: none; }
body.vpn-theme #cart { display: none; }

body.vpn-theme footer {
  background: #060912;
  border-top: 1px solid var(--vpn-card-border);
  color: var(--vpn-muted);
  margin-top: 0;
  padding: 40px 0 20px;
}
body.vpn-theme footer h5 { color: var(--vpn-text); font-size: 1em; }
body.vpn-theme footer a { color: var(--vpn-muted); }
body.vpn-theme footer a:hover { color: var(--vpn-accent2); }
body.vpn-theme footer hr { border-color: var(--vpn-card-border); }

body.vpn-theme #common-home {
  max-width: 100%;
  width: 100%;
  padding: 0;
  margin: 0;
}

body.vpn-theme #common-home > .row { margin: 0; }
body.vpn-theme #content { min-height: unset; padding: 0; }

/* ---- LANDING SECTIONS ---- */
.vpn-landing * { box-sizing: border-box; }

.vpn-hero {
  position: relative;
  min-height: 90vh;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: var(--vpn-bg);
}

.vpn-hero__bg {
  position: absolute;
  inset: 0;
  background-image: url('/image/vpn/hero_bg.png');
  background-size: cover;
  background-position: center;
  opacity: 0.55;
  z-index: 0;
}

.vpn-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to right, rgba(8,12,24,0.97) 35%, rgba(8,12,24,0.4) 100%);
  z-index: 1;
}

.vpn-hero__content {
  position: relative;
  z-index: 2;
  max-width: 1200px;
  margin: 0 auto;
  padding: 80px 40px;
  width: 100%;
}

.vpn-hero__badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(108,63,255,0.15);
  border: 1px solid rgba(108,63,255,0.4);
  border-radius: 50px;
  padding: 6px 16px;
  font-size: 0.85em;
  color: #a78bfa;
  margin-bottom: 24px;
  animation: fadeInUp 0.6s ease both;
}

.vpn-hero__badge::before {
  content: '';
  width: 8px; height: 8px;
  background: var(--vpn-green);
  border-radius: 50%;
  box-shadow: 0 0 8px var(--vpn-green);
  animation: pulse-dot 1.5s infinite;
}

@keyframes pulse-dot {
  0%,100% { transform: scale(1); opacity:1; }
  50% { transform: scale(1.4); opacity:0.7; }
}

.vpn-hero__title {
  font-size: clamp(2.4em, 5vw, 4.2em);
  font-weight: 700;
  line-height: 1.15;
  color: #fff;
  margin: 0 0 20px;
  animation: fadeInUp 0.7s 0.1s ease both;
}

.vpn-hero__title span {
  background: var(--vpn-gradient);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.vpn-hero__desc {
  font-size: 1.15em;
  color: var(--vpn-muted);
  max-width: 520px;
  line-height: 1.7;
  margin: 0 0 36px;
  animation: fadeInUp 0.7s 0.2s ease both;
}

.vpn-hero__btns {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  animation: fadeInUp 0.7s 0.3s ease both;
}

.vpn-btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--vpn-gradient);
  color: #fff !important;
  padding: 14px 32px;
  border-radius: 12px;
  font-size: 1em;
  font-weight: 600;
  text-decoration: none !important;
  transition: transform 0.2s, box-shadow 0.2s;
  box-shadow: 0 4px 24px rgba(108,63,255,0.4);
}

.vpn-btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 32px rgba(108,63,255,0.6);
  color: #fff !important;
}

.vpn-btn-secondary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.15);
  color: var(--vpn-text) !important;
  padding: 14px 32px;
  border-radius: 12px;
  font-size: 1em;
  font-weight: 600;
  text-decoration: none !important;
  transition: all 0.2s;
}

.vpn-btn-secondary:hover {
  background: rgba(255,255,255,0.1);
  color: #fff !important;
  transform: translateY(-2px);
}

.vpn-hero__stats {
  display: flex;
  gap: 40px;
  margin-top: 56px;
  flex-wrap: wrap;
  animation: fadeInUp 0.7s 0.4s ease both;
}

.vpn-stat__num {
  font-size: 2em;
  font-weight: 700;
  color: #fff;
  line-height: 1;
}

.vpn-stat__num span {
  background: var(--vpn-gradient);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.vpn-stat__label { font-size: 0.85em; color: var(--vpn-muted); margin-top: 4px; }

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

/* ---- FEATURES ---- */
.vpn-section {
  padding: 80px 40px;
  max-width: 1200px;
  margin: 0 auto;
}

.vpn-section-full {
  padding: 80px 0;
  background: var(--vpn-bg2);
}

.vpn-section-full .vpn-section-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 40px;
}

.vpn-section-title {
  text-align: center;
  margin-bottom: 56px;
}

.vpn-section-title h2 {
  font-size: clamp(1.8em, 3vw, 2.6em);
  color: #fff;
  margin: 0 0 12px;
  font-weight: 700;
}

.vpn-section-title p {
  color: var(--vpn-muted);
  font-size: 1.05em;
  max-width: 500px;
  margin: 0 auto;
}

.vpn-features-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 24px;
}

.vpn-feature-card {
  background: var(--vpn-card);
  border: 1px solid var(--vpn-card-border);
  border-radius: 20px;
  padding: 36px 28px;
  transition: all 0.3s;
  position: relative;
  overflow: hidden;
}

.vpn-feature-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: var(--vpn-gradient);
  opacity: 0;
  transition: opacity 0.3s;
}

.vpn-feature-card:hover {
  transform: translateY(-6px);
  border-color: rgba(108,63,255,0.3);
  background: rgba(108,63,255,0.07);
}

.vpn-feature-card:hover::before { opacity: 1; }

.vpn-feature-icon {
  width: 72px;
  height: 72px;
  margin: 0 0 20px;
  border-radius: 16px;
  object-fit: contain;
}

.vpn-feature-card h3 {
  font-size: 1.2em;
  color: #fff;
  margin: 0 0 10px;
}

.vpn-feature-card p {
  color: var(--vpn-muted);
  font-size: 0.95em;
  line-height: 1.6;
  margin: 0;
}

/* ---- PRICING ---- */
.vpn-pricing-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 24px;
  max-width: 860px;
  margin: 0 auto;
}

.vpn-price-card {
  background: var(--vpn-card);
  border: 1px solid var(--vpn-card-border);
  border-radius: 24px;
  padding: 36px 28px;
  text-align: center;
  position: relative;
  transition: all 0.3s;
}

.vpn-price-card.popular {
  background: rgba(108,63,255,0.12);
  border-color: rgba(108,63,255,0.5);
  transform: scale(1.04);
}

.vpn-price-card:hover {
  transform: translateY(-4px) scale(1.01);
  box-shadow: 0 20px 60px rgba(108,63,255,0.2);
}

.vpn-price-card.popular:hover {
  transform: translateY(-4px) scale(1.04);
}

.vpn-popular-badge {
  position: absolute;
  top: -14px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--vpn-gradient);
  color: #fff;
  padding: 4px 18px;
  border-radius: 50px;
  font-size: 0.78em;
  font-weight: 600;
  white-space: nowrap;
}

.vpn-price-period {
  color: var(--vpn-muted);
  font-size: 0.9em;
  margin: 0 0 12px;
}

.vpn-price-amount {
  font-size: 3em;
  font-weight: 700;
  color: #fff;
  line-height: 1;
  margin: 0 0 4px;
}

.vpn-price-amount sup {
  font-size: 0.45em;
  vertical-align: super;
  font-weight: 400;
  color: var(--vpn-muted);
}

.vpn-price-month {
  color: var(--vpn-muted);
  font-size: 0.85em;
  margin: 0 0 24px;
}

.vpn-price-features {
  list-style: none;
  padding: 0;
  margin: 0 0 28px;
  text-align: left;
}

.vpn-price-features li {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--vpn-muted);
  font-size: 0.9em;
  padding: 6px 0;
  border-bottom: 1px solid rgba(255,255,255,0.05);
}

.vpn-price-features li::before {
  content: '✓';
  color: var(--vpn-green);
  font-weight: 700;
  flex-shrink: 0;
}

/* ---- HOW IT WORKS ---- */
.vpn-steps-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 32px;
  position: relative;
}

.vpn-step {
  text-align: center;
}

.vpn-step__num {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: var(--vpn-gradient);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4em;
  font-weight: 700;
  color: #fff;
  margin: 0 auto 20px;
  box-shadow: 0 4px 20px rgba(108,63,255,0.4);
}

.vpn-step h4 {
  color: #fff;
  font-size: 1.05em;
  margin: 0 0 8px;
}

.vpn-step p {
  color: var(--vpn-muted);
  font-size: 0.9em;
  line-height: 1.6;
  margin: 0;
}

/* ---- CTA ---- */
.vpn-cta {
  background: linear-gradient(135deg, rgba(108,63,255,0.2) 0%, rgba(79,140,255,0.2) 100%);
  border: 1px solid rgba(108,63,255,0.3);
  border-radius: 28px;
  padding: 64px 40px;
  text-align: center;
  margin: 0 auto 80px;
  max-width: 1200px;
  position: relative;
  overflow: hidden;
}

.vpn-cta::before {
  content: '';
  position: absolute;
  top: -50%; left: -50%;
  width: 200%; height: 200%;
  background: radial-gradient(circle at center, rgba(108,63,255,0.15) 0%, transparent 60%);
  animation: rotateBg 8s linear infinite;
}

@keyframes rotateBg {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

.vpn-cta h2 {
  font-size: clamp(1.6em, 3vw, 2.4em);
  color: #fff;
  margin: 0 0 12px;
  position: relative;
}

.vpn-cta p {
  color: var(--vpn-muted);
  font-size: 1.05em;
  margin: 0 0 32px;
  position: relative;
}

.vpn-cta__btns {
  display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap;
  position: relative;
}

/* ---- ACCOUNT/BILLING DASHBOARD ---- */
body.vpn-theme #account-account { background: var(--vpn-bg); min-height: 100vh; }
body.vpn-theme .breadcrumb { background: transparent; color: var(--vpn-muted); }
body.vpn-theme .breadcrumb a { color: var(--vpn-muted); }
body.vpn-theme .breadcrumb a:hover { color: var(--vpn-accent2); }

.vpn-dashboard { max-width: 960px; margin: 0 auto; padding: 40px 20px; }

.vpn-dash-header {
  margin-bottom: 32px;
}

.vpn-dash-header h1 {
  font-size: 1.8em;
  color: #fff;
  margin: 0 0 6px;
}

.vpn-dash-header p { color: var(--vpn-muted); margin: 0; }

.vpn-dash-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-bottom: 28px;
}

@media (max-width: 640px) {
  .vpn-dash-grid { grid-template-columns: 1fr; }
}

.vpn-dash-card {
  background: var(--vpn-card);
  border: 1px solid var(--vpn-card-border);
  border-radius: 20px;
  padding: 24px;
}

.vpn-dash-card.active-sub {
  background: linear-gradient(135deg, rgba(16,212,142,0.08) 0%, rgba(79,140,255,0.08) 100%);
  border-color: rgba(16,212,142,0.25);
  grid-column: 1 / -1;
}

.vpn-sub-status {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 20px;
}

.vpn-sub-status__info h3 {
  color: #fff;
  margin: 0 0 6px;
  font-size: 1.2em;
}

.vpn-sub-status__info p { color: var(--vpn-muted); margin: 0; font-size: 0.9em; }

.vpn-status-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 14px;
  border-radius: 50px;
  font-size: 0.85em;
  font-weight: 600;
}

.vpn-status-badge.active {
  background: rgba(16,212,142,0.15);
  color: var(--vpn-green);
  border: 1px solid rgba(16,212,142,0.3);
}

.vpn-status-badge.active::before {
  content: '';
  width: 7px; height: 7px;
  background: var(--vpn-green);
  border-radius: 50%;
  box-shadow: 0 0 6px var(--vpn-green);
  animation: pulse-dot 1.5s infinite;
}

.vpn-status-badge.inactive {
  background: rgba(239,68,68,0.12);
  color: #f87171;
  border: 1px solid rgba(239,68,68,0.25);
}

.vpn-dash-card__label {
  font-size: 0.8em;
  color: var(--vpn-muted);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: 8px;
}

.vpn-dash-card__value {
  font-size: 1.5em;
  font-weight: 700;
  color: #fff;
}

.vpn-dash-card__value.green { color: var(--vpn-green); }

.vpn-quick-links {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 16px;
  margin-bottom: 28px;
}

.vpn-quick-link {
  display: flex;
  align-items: center;
  gap: 12px;
  background: var(--vpn-card);
  border: 1px solid var(--vpn-card-border);
  border-radius: 14px;
  padding: 16px 20px;
  color: var(--vpn-text) !important;
  text-decoration: none !important;
  transition: all 0.2s;
  font-size: 0.95em;
}

.vpn-quick-link:hover {
  background: rgba(108,63,255,0.1);
  border-color: rgba(108,63,255,0.3);
  color: #fff !important;
  transform: translateY(-2px);
}

.vpn-quick-link__icon {
  width: 36px; height: 36px;
  border-radius: 10px;
  background: var(--vpn-gradient);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1em;
  flex-shrink: 0;
}

/* ---- RESPONSIVE ---- */
@media (max-width: 768px) {
  .vpn-hero__content { padding: 60px 20px; }
  .vpn-section { padding: 60px 20px; }
  .vpn-section-full .vpn-section-inner { padding: 0 20px; }
  .vpn-cta { padding: 48px 24px; margin: 0 16px 60px; }
  .vpn-hero__stats { gap: 24px; }
}