/* GROUPPY services clean V33: exact cabinet-style services flow + safety fixes */
body[data-active="services"] .tb-v33-layout,
.tb-v33-layout{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 360px !important;
  gap:36px !important;
  align-items:start !important;
  max-width:1420px !important;
  margin:0 auto 52px !important;
  padding:0 20px !important;
}
.tb-v33-panel{
  width:100% !important;
  max-width:none !important;
  min-height:0 !important;
  padding:42px 44px !important;
  overflow:hidden !important;
  border-radius:26px !important;
  border:1px solid rgba(82,111,255,.42) !important;
  background:linear-gradient(180deg,rgba(12,21,49,.92),rgba(5,9,24,.94)) !important;
  box-shadow:0 18px 60px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.045) !important;
}
.tb-v33-panel h1{
  margin:0 0 30px !important;
  color:#fff !important;
  font-size:clamp(34px,4vw,58px) !important;
  line-height:.96 !important;
  font-weight:950 !important;
  letter-spacing:-.035em !important;
  text-transform:uppercase !important;
  text-shadow:0 0 24px rgba(255,255,255,.18) !important;
}
.tb-v33-panel h1 span{
  display:inline-block !important;
  width:76px !important;
  height:12px !important;
  margin-left:12px !important;
  transform:skewX(-25deg) translateY(-4px) !important;
  background:linear-gradient(90deg,#635bff 0 31%,transparent 31% 42%,#4e6dff 42% 67%,transparent 67% 77%,#2d3b57 77%) !important;
  opacity:.75 !important;
}
.tb-v33-step{
  margin-top:26px !important;
}
.tb-v33-step:first-of-type{margin-top:0 !important;}
.tb-v33-step h2,
.tb-v33-buy-box h2,
.tb-v33-field h3{
  margin:0 0 18px !important;
  color:#fff !important;
  font-size:clamp(22px,2.5vw,32px) !important;
  line-height:1.05 !important;
  font-weight:950 !important;
  letter-spacing:-.025em !important;
  text-transform:uppercase !important;
}
.tb-v33-server-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:18px !important;
}
.tb-v33-server,
.tb-v33-service,
.tb-v33-active-service,
.tb-v33-buy-box,
.tb-v33-empty{
  border:1px solid rgba(84,116,255,.42) !important;
  background:linear-gradient(180deg,rgba(10,18,43,.92),rgba(4,8,22,.95)) !important;
  box-shadow:0 14px 38px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.04) !important;
}
.tb-v33-server{
  display:block !important;
  position:relative !important;
  min-height:102px !important;
  padding:20px 58px 18px 22px !important;
  border-radius:16px !important;
  text-decoration:none !important;
  overflow:hidden !important;
  transition:.16s ease !important;
}
.tb-v33-server:hover,
.tb-v33-server.is-active{
  border-color:rgba(77,164,255,.9) !important;
  box-shadow:0 0 34px rgba(75,140,255,.22), inset 0 1px 0 rgba(255,255,255,.07) !important;
  transform:translateY(-1px) !important;
}
.tb-v33-server b{
  display:block !important;
  color:#fff !important;
  font-size:17px !important;
  line-height:1.15 !important;
  font-weight:950 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
.tb-v33-server b span{margin-right:7px !important;font-size:12px !important;opacity:.95 !important;}
.tb-v33-server small{
  display:block !important;
  margin-top:12px !important;
  color:#c5cee5 !important;
  font-size:15px !important;
  font-weight:850 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
.tb-v33-server em{
  position:absolute !important;
  right:20px !important;
  bottom:18px !important;
  color:#fff !important;
  font-size:13px !important;
  font-style:normal !important;
  font-weight:950 !important;
}
.tb-v33-current{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  gap:12px !important;
  flex-wrap:wrap !important;
  margin:-8px 0 28px !important;
  color:#dce4f8 !important;
  font-size:18px !important;
  font-weight:850 !important;
}
.tb-v33-current b{color:#fff !important;text-transform:uppercase !important;}
.tb-v33-current strong{color:#fff !important;max-width:min(680px,100%) !important;white-space:nowrap !important;overflow:hidden !important;text-overflow:ellipsis !important;}
.tb-v33-current a,.tb-v33-buy-head a{color:#fff !important;text-decoration:none !important;font-size:22px !important;font-weight:950 !important;}
.tb-v33-active-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:16px !important;
}
.tb-v33-active-service{
  display:flex !important;
  align-items:center !important;
  gap:16px !important;
  min-height:112px !important;
  padding:18px !important;
  border-radius:18px !important;
}
.tb-v33-active-service b{
  display:block !important;
  color:#fff !important;
  font-size:17px !important;
  font-weight:950 !important;
  margin:0 0 8px !important;
}
.tb-v33-active-service small{
  display:block !important;
  color:#b7c0d8 !important;
  font-size:14px !important;
  line-height:1.35 !important;
  font-weight:750 !important;
}
.tb-v33-service-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:18px !important;
}
.tb-v33-service{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  min-height:282px !important;
  padding:24px !important;
  border-radius:20px !important;
  text-decoration:none !important;
  transition:.16s ease !important;
}
.tb-v33-service:hover{
  transform:translateY(-2px) !important;
  border-color:rgba(77,164,255,.9) !important;
  box-shadow:0 0 34px rgba(75,140,255,.24), inset 0 1px 0 rgba(255,255,255,.07) !important;
}
.tb-v33-icon{
  width:58px !important;
  height:58px !important;
  min-width:58px !important;
  max-width:58px !important;
  min-height:58px !important;
  max-height:58px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:16px !important;
  color:#8f8cff !important;
  background:linear-gradient(180deg,rgba(91,93,255,.32),rgba(38,55,138,.24)) !important;
  border:1px solid rgba(141,153,255,.18) !important;
  box-shadow:0 0 26px rgba(112,93,255,.2), inset 0 1px 0 rgba(255,255,255,.08) !important;
  overflow:hidden !important;
  flex:0 0 58px !important;
}
.tb-v33-svg,
.tb-v33-icon svg{
  width:30px !important;
  height:30px !important;
  min-width:30px !important;
  min-height:30px !important;
  max-width:30px !important;
  max-height:30px !important;
  color:inherit !important;
  display:block !important;
  filter:drop-shadow(0 0 9px rgba(139,126,255,.55)) !important;
}
.tb-v33-service b{
  margin:20px 0 12px !important;
  color:#fff !important;
  font-size:20px !important;
  line-height:1.05 !important;
  font-weight:950 !important;
}
.tb-v33-service p{
  margin:0 0 18px !important;
  color:#b7c0d8 !important;
  font-size:15px !important;
  line-height:1.35 !important;
  font-weight:800 !important;
}
.tb-v33-service strong{
  margin-top:auto !important;
  color:#fff !important;
  font-size:24px !important;
  font-weight:950 !important;
}
.tb-v33-service em,
.tb-v33-buy-box .btn{
  width:100% !important;
  min-height:46px !important;
  margin-top:14px !important;
  border:0 !important;
  border-radius:11px !important;
  display:grid !important;
  place-items:center !important;
  font-style:normal !important;
  color:#fff !important;
  font-size:15px !important;
  font-weight:950 !important;
  background:linear-gradient(135deg,#477cff,#7658ff) !important;
  box-shadow:0 0 22px rgba(101,99,255,.34) !important;
  cursor:pointer !important;
}
.tb-v33-buy-head{
  display:flex !important;
  align-items:center !important;
  gap:18px !important;
  flex-wrap:wrap !important;
  margin:-6px 0 24px !important;
  color:#d8def0 !important;
  font-size:17px !important;
  font-weight:850 !important;
}
.tb-v33-buy-head p{margin:0 !important;}
.tb-v33-buy-head b{color:#fff !important;}
.tb-v33-buy-box{
  padding:30px !important;
  border-radius:20px !important;
}
.tb-v33-option-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:14px !important;
  margin:0 0 22px !important;
}
.tb-v33-option input{position:absolute !important;opacity:0 !important;pointer-events:none !important;}
.tb-v33-option span{
  min-height:48px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:10px !important;
  border:1px solid rgba(255,255,255,.26) !important;
  background:rgba(4,8,20,.36) !important;
  color:#fff !important;
  font-size:16px !important;
  font-weight:950 !important;
  cursor:pointer !important;
}
.tb-v33-option input:checked + span,
.tb-v33-option.is-active span{
  border-color:rgba(120,104,255,.95) !important;
  background:linear-gradient(135deg,rgba(67,119,255,.62),rgba(112,79,255,.72)) !important;
}
.tb-v33-field{margin:22px 0 !important;}
.tb-v33-field select{
  width:min(360px,100%) !important;
  min-height:54px !important;
  padding:0 18px !important;
  border-radius:12px !important;
  border:1px solid rgba(92,121,255,.58) !important;
  background:#081126 !important;
  color:#fff !important;
  font-size:16px !important;
  font-weight:900 !important;
}
.tb-v33-warning{
  margin:18px 0 !important;
  padding:16px 18px !important;
  border-radius:13px !important;
  border:1px solid rgba(255,202,87,.28) !important;
  background:rgba(255,202,87,.08) !important;
  color:#ffd982 !important;
  font-weight:850 !important;
}
.tb-v33-empty{
  border-style:dashed !important;
  border-radius:16px !important;
  padding:28px !important;
  color:#c9d2e8 !important;
  font-size:16px !important;
  font-weight:850 !important;
}
.tb-v33-empty.compact{padding:22px !important;}

/* Safety: if an old services route still renders, не даём SVG-иконкам растянуть страницу */
body[data-active="services"] .cabinet-layout svg,
body[data-active="services"] main svg,
body[data-active="services"] .panel svg,
body[data-active="services"] .service-card svg,
body[data-active="services"] .services svg{
  width:30px !important;
  height:30px !important;
  max-width:30px !important;
  max-height:30px !important;
}
body[data-active="services"] .cabinet-layout .tb-v33-icon svg,
body[data-active="services"] .tb-v33-icon svg{width:30px !important;height:30px !important;}

@media (max-width:1180px){
  .tb-v33-layout{grid-template-columns:1fr !important;}
  .tb-v33-server-grid,.tb-v33-service-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .tb-v33-active-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media (max-width:760px){
  .tb-v33-layout{padding:0 12px !important;gap:18px !important;}
  .tb-v33-panel{padding:26px 18px !important;border-radius:20px !important;}
  .tb-v33-server-grid,.tb-v33-service-grid,.tb-v33-active-grid,.tb-v33-option-grid{grid-template-columns:1fr !important;}
  .tb-v33-service{min-height:240px !important;}
  .tb-v33-buy-head{font-size:15px !important;gap:10px !important;}
}
