/*
Theme Name: tuxler-rus-lite
Author: AI WP Theme Builder
Description: Лёгкая SEO-friendly тема в стиле tuxlerVPN (без копирования). Оптимизирована под WP 6.x.
Version: 1.0.0
Text Domain: tuxler-rus-lite
*/

/* ============ CSS Variables ============ */
:root{
  --tvpn-bg:#ffffff;
  --tvpn-surface:#ffffff;
  --tvpn-text:#121417;
  --tvpn-muted:#5b6470;
  --tvpn-border:rgba(18,20,23,.10);

  --tvpn-amber:#F4B000;   /* brand-like */
  --tvpn-amber-2:#FFCF4A;
  --tvpn-teal:#20C997;    /* secondary */
  --tvpn-navy:#111827;

  --tvpn-radius:18px;
  --tvpn-radius-sm:12px;
  --tvpn-shadow:0 12px 30px rgba(17,24,39,.10);
  --tvpn-shadow-soft:0 10px 20px rgba(17,24,39,.08);

  --tvpn-container:1160px;
}

/* ============ Base ============ */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, "Noto Sans", "Helvetica Neue", sans-serif;
  color:var(--tvpn-text);
  background:var(--tvpn-bg);
  line-height:1.55;
}
img{max-width:100%;height:auto}
a{color:inherit}
a:hover{opacity:.92}
:focus-visible{outline:3px solid rgba(32,201,151,.35); outline-offset:3px}

/* ============ Utilities ============ */
.tvpn-container{max-width:var(--tvpn-container); margin:0 auto; padding:0 20px}
.tvpn-section{padding:72px 0}
.tvpn-section--tight{padding:44px 0}
.tvpn-grid{display:grid; gap:18px}
.tvpn-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.tvpn-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.tvpn-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.tvpn-muted{color:var(--tvpn-muted)}
.tvpn-badge{
  display:inline-flex; align-items:center; gap:8px;
  padding:7px 12px; border-radius:999px;
  border:1px solid var(--tvpn-border);
  background:rgba(244,176,0,.10);
  font-weight:700; font-size:13px;
}
.tvpn-badge__dot{width:8px;height:8px;border-radius:99px;background:var(--tvpn-teal)}
.tvpn-card{
  background:var(--tvpn-surface);
  border:1px solid var(--tvpn-border);
  border-radius:var(--tvpn-radius);
  box-shadow:var(--tvpn-shadow-soft);
  padding:20px;
}
.tvpn-card--flat{box-shadow:none}
.tvpn-kicker{letter-spacing:.12em;text-transform:uppercase;font-weight:800;font-size:12px;color:var(--tvpn-muted)}
.tvpn-h1{font-size:44px;line-height:1.08;margin:10px 0 14px}
.tvpn-h2{font-size:30px;line-height:1.18;margin:0 0 12px}
.tvpn-h3{font-size:18px;line-height:1.25;margin:0 0 8px}
.tvpn-lead{font-size:18px;color:var(--tvpn-muted);margin:0 0 20px}

.tvpn-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:12px 16px;
  border-radius:14px;
  border:1px solid transparent;
  font-weight:800;
  text-decoration:none;
  cursor:pointer;
  transition:transform .12s ease, box-shadow .12s ease, opacity .12s ease;
  user-select:none;
}
.tvpn-btn:active{transform:translateY(1px)}
.tvpn-btn--amber{
  background:linear-gradient(180deg,var(--tvpn-amber-2),var(--tvpn-amber));
  color:#1b1b1b;
  box-shadow:0 10px 24px rgba(244,176,0,.25);
}
.tvpn-btn--ghost{
  background:transparent;
  border-color:var(--tvpn-border);
}
.tvpn-btn--teal{
  background:rgba(32,201,151,.12);
  border-color:rgba(32,201,151,.22);
  color:var(--tvpn-navy);
}
.tvpn-btn__icon{width:18px;height:18px;display:inline-block}

/* ============ Header / Nav ============ */
.tvpn-header{
  position:sticky; top:0; z-index:50;
  background:rgba(255,255,255,.86);
  backdrop-filter:saturate(160%) blur(10px);
  border-bottom:1px solid var(--tvpn-border);
}
.tvpn-nav{
  display:flex; align-items:center; justify-content:space-between;
  height:72px;
}
.tvpn-brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.tvpn-logo{
  width:36px;height:36px;border-radius:10px;
  background:linear-gradient(180deg,var(--tvpn-amber-2),var(--tvpn-amber));
  display:grid;place-items:center;
  box-shadow:0 10px 22px rgba(244,176,0,.22);
}
.tvpn-logo svg{width:18px;height:18px}
.tvpn-brand__text{display:flex;flex-direction:column;line-height:1.05}
.tvpn-brand__name{font-weight:900}
.tvpn-brand__tag{font-size:12px;color:var(--tvpn-muted);font-weight:700}

.tvpn-menu{display:flex;align-items:center;gap:18px;margin:0;padding:0;list-style:none}
.tvpn-menu a{font-weight:800;text-decoration:none;color:var(--tvpn-text);opacity:.92}
.tvpn-menu a:hover{opacity:1}
.tvpn-menu .current-menu-item > a,
.tvpn-menu .current_page_item > a{color:var(--tvpn-navy); text-decoration:underline; text-underline-offset:6px}

.tvpn-menu-item{position:relative}
.tvpn-submenu{
  position:absolute; top:100%; left:0;
  min-width:240px;
  margin-top:10px;
  padding:10px;
  border-radius:16px;
  background:#fff;
  border:1px solid var(--tvpn-border);
  box-shadow:var(--tvpn-shadow);
  list-style:none;
  display:none;
}
.tvpn-submenu a{display:block;padding:10px 10px;border-radius:12px}
.tvpn-submenu a:hover{background:rgba(244,176,0,.10)}
.tvpn-menu-item:hover .tvpn-submenu{display:block}

/* Accessible submenu toggle (mobile) */
.tvpn-subtoggle{
  display:none;
  width:34px;height:34px;border-radius:10px;
  border:1px solid var(--tvpn-border);
  background:transparent;
  margin-left:8px;
}

.tvpn-actions{display:flex;align-items:center;gap:10px}
.tvpn-burger{
  display:none;
  width:44px;height:44px;border-radius:14px;
  border:1px solid var(--tvpn-border);
  background:transparent;
}
.tvpn-burger span{display:block;width:18px;height:2px;background:var(--tvpn-text);margin:4px auto;border-radius:9px}

/* Mobile menu panel */
.tvpn-mobile{
  display:none;
  border-top:1px solid var(--tvpn-border);
  padding:14px 0 20px;
}
.tvpn-mobile.is-open{display:block}
.tvpn-mobile .tvpn-menu{flex-direction:column;align-items:stretch;gap:8px}
.tvpn-mobile .tvpn-menu a{padding:12px 10px;border-radius:14px}
.tvpn-mobile .tvpn-menu a:hover{background:rgba(244,176,0,.10)}
.tvpn-mobile .tvpn-submenu{
  position:static; display:none; box-shadow:none; border:none; margin:0; padding:0 0 0 8px;
}
.tvpn-mobile .tvpn-menu-item.is-open > .tvpn-submenu{display:block}

/* ============ Hero ============ */
.tvpn-hero{
  padding:54px 0 38px;
  background:
    radial-gradient(900px 420px at 10% 0%, rgba(244,176,0,.18), transparent 55%),
    radial-gradient(820px 420px at 90% 10%, rgba(32,201,151,.16), transparent 55%);
}
.tvpn-hero__wrap{display:grid;grid-template-columns:1.2fr .8fr;gap:22px;align-items:center}
.tvpn-hero__panel{
  border-radius:var(--tvpn-radius);
  border:1px solid var(--tvpn-border);
  background:#fff;
  box-shadow:var(--tvpn-shadow);
  padding:18px;
}
.tvpn-device{
  border-radius:22px;
  border:1px solid rgba(17,24,39,.12);
  background:linear-gradient(180deg,#0b1220,#111827);
  padding:18px;
  color:#fff;
  overflow:hidden;
  position:relative;
	align-self: baseline;
}
.tvpn-device:before{
  content:"";
  position:absolute; inset:-40px -60px auto auto;
  width:220px;height:220px;border-radius:50%;
  background:radial-gradient(circle at 30% 30%, rgba(32,201,151,.55), transparent 60%);
  filter:blur(2px);
}
.tvpn-device__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.tvpn-pill{
  display:inline-flex;align-items:center;gap:8px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.16);
  padding:8px 10px;border-radius:999px;
  font-weight:800;font-size:12px;
}
.tvpn-toggle{
  width:54px;height:30px;border-radius:999px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.18);
  position:relative;
}
.tvpn-toggle:after{
  content:"";
  width:24px;height:24px;border-radius:50%;
  background:linear-gradient(180deg,var(--tvpn-amber-2),var(--tvpn-amber));
  position:absolute; top:2px; left:2px;
}
.tvpn-map{
  height:180px;
  border-radius:18px;
  background:
    radial-gradient(200px 120px at 40% 40%, rgba(32,201,151,.20), transparent 60%),
    radial-gradient(200px 120px at 70% 30%, rgba(244,176,0,.16), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.14);
  position:relative;
  overflow:hidden;
}
.tvpn-pin{
  position:absolute;
  width:10px;height:10px;border-radius:50%;
  background:var(--tvpn-teal);
  box-shadow:0 0 0 6px rgba(32,201,151,.14);
}
.tvpn-pin--1{top:32%;left:28%}
.tvpn-pin--2{top:44%;left:56%}
.tvpn-pin--3{top:58%;left:68%}
.tvpn-pin--4{top:38%;left:78%}

/* ============ Lists / Features ============ */
.tvpn-feature{display:flex;gap:12px;align-items:flex-start}
.tvpn-ico{
  flex:0 0 40px;
  width:40px;height:40px;border-radius:14px;
  background:rgba(244,176,0,.14);
  border:1px solid rgba(244,176,0,.20);
  display:grid;place-items:center;
}
.tvpn-ico svg{width:18px;height:18px}

/* ============ Pricing ============ */
.tvpn-pricing{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:stretch}
.tvpn-price{
  padding:22px;
  border-radius:22px;
}
.tvpn-price__head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.tvpn-price__money{font-size:40px;font-weight:1000;line-height:1}
.tvpn-price__per{font-size:14px;color:var(--tvpn-muted);font-weight:800}
.tvpn-ul{margin:14px 0 0; padding:0; list-style:none}
.tvpn-ul li{display:flex; gap:10px; padding:8px 0; border-bottom:1px dashed rgba(18,20,23,.10)}
.tvpn-ul li:last-child{border-bottom:none}
.tvpn-check{
  width:18px;height:18px;border-radius:6px;
  background:rgba(32,201,151,.16);
  border:1px solid rgba(32,201,151,.22);
  flex:0 0 18px; margin-top:2px;
}
.tvpn-price--premium{
  border:1px solid rgba(244,176,0,.35);
  background:
    radial-gradient(700px 240px at 10% 0%, rgba(244,176,0,.20), transparent 55%),
    #fff;
}

/* ============ FAQ ============ */
.tvpn-faq{border-top:1px solid var(--tvpn-border)}
.tvpn-faq__item{border-bottom:1px solid var(--tvpn-border)}
.tvpn-faq__btn{
  width:100%;
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  padding:16px 0;
  border:0; background:transparent;
  font-weight:900; font-size:16px;
  cursor:pointer; text-align:left;
}
.tvpn-faq__btn span{opacity:.9}
.tvpn-faq__btn i{
  width:34px;height:34px;border-radius:12px;
  border:1px solid var(--tvpn-border);
  display:grid;place-items:center;
}
.tvpn-faq__panel{display:none;padding:0 0 16px;color:var(--tvpn-muted)}
.tvpn-faq__item.is-open .tvpn-faq__panel{display:block}

/* ============ Breadcrumbs ============ */
.tvpn-bc{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:18px 0 0}
.tvpn-bc a{color:var(--tvpn-muted);text-decoration:none;font-weight:800}
.tvpn-bc__sep{opacity:.35}

/* ============ Content ============ */
.tvpn-content p{margin:0 0 12px}
.tvpn-content ul{margin:10px 0 16px;padding-left:18px}
.tvpn-content li{margin:6px 0}
.tvpn-note{
  padding:14px 16px;
  border-radius:16px;
  border:1px solid rgba(32,201,151,.22);
  background:rgba(32,201,151,.10);
  color:var(--tvpn-navy);
  font-weight:750;
}

/* ============ Footer ============ */
.tvpn-footer{
  border-top:1px solid var(--tvpn-border);
  padding:44px 0;
  background:
    radial-gradient(900px 320px at 0% 0%, rgba(244,176,0,.10), transparent 50%),
    radial-gradient(900px 320px at 100% 0%, rgba(32,201,151,.10), transparent 50%);
}
.tvpn-footer__grid{display:grid;grid-template-columns:1.4fr .6fr .6fr;gap:18px}
.tvpn-footer a{text-decoration:none;color:var(--tvpn-muted);font-weight:800}
.tvpn-footer a:hover{color:var(--tvpn-text)}
.tvpn-small{font-size:13px;color:var(--tvpn-muted)}

/* ============ Responsive ============ */
@media (max-width: 980px){
  .tvpn-hero__wrap{grid-template-columns:1fr;gap:14px}
  .tvpn-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tvpn-footer__grid{grid-template-columns:1fr 1fr}
}
@media (max-width: 760px){
  .tvpn-h1{font-size:36px}
	.tvpn-h2{font-size:26px}
  .tvpn-pricing{grid-template-columns:1fr}
  .tvpn-grid--2,.tvpn-grid--4{grid-template-columns:1fr}
  .tvpn-grid--3{grid-template-columns:1fr}
  .tvpn-section{padding:54px 0}
}
	@media (max-width: 920px){
  .tvpn-menu{display:none}
  .tvpn-burger{display:inline-block}
  .tvpn-subtoggle{display:inline-grid;place-items:center}

}
.tvpn-nav img, .tvpn-footer img{
	width: 35px;
}
@media (max-width: 470px){
	.tvpn-nav a.tvpn-btn.tvpn-btn--amber, .tvpn-nav a.tvpn-btn.tvpn-btn--ghost {
		display:none;}
	}
/* === FIX: mobile navigation visibility === */
@media (max-width: 920px){
  /* скрываем десктопное меню */
  .tvpn-nav > nav .tvpn-menu {
    display: none;
  }

  /* показываем меню внутри мобильной панели */
  .tvpn-mobile .tvpn-menu {
    display: flex;
    flex-direction: column;
    gap: 8px;
  }
}
@media (max-width: 920px){
  .tvpn-mobile .tvpn-menu a {
    padding: 14px 12px;
    border-radius: 14px;
    font-weight: 800;
  }

  .tvpn-mobile .tvpn-menu a:hover {
    background: rgba(244,176,0,.10);
  }
}
@media (max-width: 980px){
	.tvpn-device {display:none;}}
@media (max-width: 400px){
 	.tvpn-note, .tvpn-note a
  {font-weight: 600;}
	.tvpn-container {padding: 0 10px;}
	.tvpn-badge {display:none;}
}