


:root {
  --bg: #f3efff;
  --bg-2: #ece4ff;
  --surface: #fbf9ff;
  --surface-2: #ffffff;
  --line: #d8cbe9;
  --line-strong: #c7b6df;
  --ink: #1d162a;
  --ink-soft: #5e5670;
  --title-soft: #efe7ff;
  --title-strong: #5b2399;
  --brand: #6f2dbd;
  --brand-2: #9b4fd2;
  --silver: #c1c6d1;
  --silver-2: #edf1f7;
  --ok: #1d7c47;
  --err: #b83838;
}

* { box-sizing: border-box; }


body {
  margin: 0;
  color: var(--ink);
  font-family: "Poppins", "Nunito Sans", "Segoe UI", sans-serif;
  background:
    radial-gradient(900px 320px at 95% -6%, rgba(130, 79, 190, 0.18) 0%, rgba(130, 79, 190, 0) 72%),
    radial-gradient(820px 320px at 0% 0%, rgba(169, 120, 221, 0.18) 0%, rgba(169, 120, 221, 0) 68%),
    linear-gradient(180deg, #f7f3ff 0%, var(--bg) 48%, #f1ebff 100%);
}

.wrap { width: min(1140px, 94%); margin: 0 auto; }

.topbar {
  position: sticky;
  top: 0;
  z-index: 50;
  backdrop-filter: blur(10px);
  background: rgba(255, 255, 255, 0.92);
  border-bottom: 1px solid var(--silver);
  box-shadow: 0 6px 18px rgba(58, 43, 91, 0.08);
}

.nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 0;
}

.brand {
  font-size: 1.4rem;
  font-weight: 900;
  text-decoration: none;
  color: var(--title-strong);
  letter-spacing: 0.3px;
}

nav { display: flex; gap: 10px; flex-wrap: wrap; }
nav a {
  text-decoration: none;
  color: #2c2440;
  font-weight: 700;
  border-radius: 999px;
  padding: 5px 10px;
}

nav a:hover {
  background: var(--title-soft);
}

main { padding: 30px 0 48px; }


.card {
  margin: 28px 0;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: linear-gradient(180deg, var(--surface) 0%, var(--surface-2) 100%);
  padding: 22px;
  box-shadow:
    0 14px 28px rgba(63, 45, 100, 0.10),
    0 2px 0 rgba(255, 255, 255, 0.95) inset;
}

.card +

.card { margin-top: 34px; }

.card h2 {
  margin: 0 0 14px;
  padding: 10px 14px;
  border-radius: 10px;
  border: 1px solid #d7c6eb;
  background: linear-gradient(180deg, var(--title-soft) 0%, #f5f0ff 100%);
  color: var(--title-strong);
  font-size: clamp(1.2rem, 2vw, 1.45rem);
}

.hero h1 {
  margin-top: 0;
  color: #4a1d88;
  font-size: clamp(2rem, 4vw, 2.9rem);
  line-height: 1.1;
}

.hero-layout {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  align-items: center;
  gap: 14px;
}

.hero-cta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 16px 0 8px;
}

.hero-media {
  position: relative;
  border: 1px solid #d8cbe9;
  border-radius: 16px;
  background: linear-gradient(180deg, #efe6ff 0%, #f8f4ff 100%);
  overflow: hidden;
  min-height: 220px;
}

.hero-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.banner-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 14px;
}

.banner-item {
  border: 1px solid var(--line);
  border-radius: 14px;
  background: linear-gradient(180deg, #ffffff 0%, #f8f3ff 100%);
  padding: 12px;
}

.banner-item img {
  width: 100%;
  height: 145px;
  object-fit: cover;
  border: 1px solid #dbcdf0;
  border-radius: 10px;
  background: #fff;
}

.banner-item h3 {
  margin: 10px 0 6px;
  color: #4b1f8d;
}

.banner-item p {
  margin: 0;
}

.landing-split {
  display: grid;
  grid-template-columns: repeat(2, minmax(280px, 1fr));
  gap: 16px;
  align-items: stretch;
}

.landing-split .card {
  margin: 0;
  height: 100%;
}

.services-layout {
  display: grid;
  gap: 16px;
}

.services-layout.is-configurator-focus {
  grid-template-columns: 1fr;
  align-items: start;
}

.services-hub-lead {
  margin: 0 0 14px;
  color: #7a62a6;
  font-size: 0.98rem;
  max-width: 76ch;
}

.services-block {
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 14px;
  background: #fff;
  min-width: 0;
  overflow: hidden;
}

.info-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(260px, 1fr));
  gap: 16px;
}

.info-card {
  border: 1px solid rgba(225, 208, 243, 0.28);
  border-radius: 16px;
  padding: 18px;
  background: rgba(11, 9, 16, 0.62);
  box-shadow:
    0 14px 28px rgba(11, 3, 21, 0.16),
    0 0 0 1px rgba(255, 255, 255, 0.04) inset;
}

.info-card h3,
.info-card h4 {
  margin: 0 0 10px;
  color: #efc3ff;
}

.info-card p {
  margin: 0;
  color: #d8cfea;
}

.info-stack {
  display: grid;
  gap: 16px;
}

.list-clean {
  margin: 12px 0 0;
  padding-left: 18px;
  color: #efe7ff;
  display: grid;
  gap: 8px;
}

.meta-line {
  margin-top: 12px;
  color: #efe7ff;
  font-weight: 600;
}

.contact-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 14px;
}

.contact-kicker {
  margin: 0 0 10px;
  color: #d8cfea;
}

.support-compact-shell,
.support-form-shell {
  gap: 18px;
}

.support-quick-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
}

.support-quick-card {
  padding: 16px 18px;
}

.support-form-head {
  display: flex;
  gap: 16px;
  justify-content: space-between;
  align-items: flex-start;
}

.support-direct-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.services-block h3 {
  margin: 0 0 8px;
  color: #4b1f8d;
}

.services-configurator-block {
  display: grid;
  gap: 16px;
  min-width: 0;
  background:
    radial-gradient(circle at top right, rgba(194, 144, 255, 0.16) 0%, rgba(194, 144, 255, 0) 38%),
    linear-gradient(180deg, #ffffff 0%, #faf6ff 100%);
}

.configurator-toolbar.is-hidden-helper {
  display: none;
}

.configurator-edition-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
}

.configurator-edition-card {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  width: 100%;
  border: 1px solid rgba(152, 116, 212, 0.28);
  border-radius: 14px;
  padding: 10px 12px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(247, 241, 255, 0.98) 100%);
  color: #382054;
  text-align: left;
  cursor: pointer;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.configurator-edition-card:hover {
  border-color: rgba(123, 73, 198, 0.62);
  box-shadow: 0 10px 18px rgba(76, 43, 122, 0.14);
  transform: translateY(-1px);
}

.configurator-edition-card.is-active {
  border-color: #7b49c6;
  box-shadow: 0 0 0 2px rgba(123, 73, 198, 0.18);
  background: linear-gradient(180deg, rgba(249, 243, 255, 0.98) 0%, rgba(239, 226, 255, 0.98) 100%);
}

.configurator-edition-card .icon {
  width: 52px;
  height: 52px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: linear-gradient(160deg, rgba(82, 43, 130, 0.95) 0%, rgba(44, 24, 70, 0.98) 100%);
  color: #f4e8ff;
  font-size: 0.9rem;
  font-weight: 800;
  letter-spacing: 0.04em;
}

.configurator-edition-card .icon img {
  width: 34px;
  height: 34px;
  object-fit: contain;
}

.configurator-edition-card .meta {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.configurator-edition-card .meta strong {
  font-size: 0.92rem;
  line-height: 1.2;
  color: #31164f;
}

.configurator-edition-card .meta small {
  color: #7e689f;
  font-size: 0.78rem;
}

.floating-cart-widget {
  position: fixed;
  top: 18px;
  right: 18px;
  z-index: 62;
  width: 72px;
}

.section-cluster-page .lang-switcher-row {
  padding-right: 0;
  box-sizing: border-box;
}

.floating-cart-card {
  position: relative;
  color: #f6ebff;
}

.floating-cart-card h4,
.floating-cart-card p,
.floating-cart-card strong,
.floating-cart-card a {
  color: inherit;
}

.floating-cart-trigger,
.floating-cart-head,
.floating-cart-line {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
}

.floating-cart-trigger {
  justify-content: center;
  width: 64px;
  height: 64px;
  border: 1px solid rgba(214, 171, 255, 0.24);
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(39, 19, 55, 0.98) 0%, rgba(26, 11, 38, 0.99) 100%);
  box-shadow: 0 18px 34px rgba(22, 8, 36, 0.35);
  color: #f6ebff;
  text-decoration: none;
}

.floating-cart-icon {
  font-size: 1.5rem;
  line-height: 1;
}

.floating-cart-head {
  margin-bottom: 10px;
}

.floating-cart-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 34px;
  min-height: 34px;
  padding: 0 10px;
  border-radius: 999px;
  background: linear-gradient(180deg, #a947ff 0%, #6d28d9 100%);
  font-weight: 900;
}

.floating-cart-trigger .floating-cart-pill {
  position: absolute;
  top: -4px;
  right: -2px;
  min-width: 26px;
  min-height: 26px;
  padding: 0 8px;
  font-size: 0.82rem;
}

.floating-cart-popover {
  position: absolute;
  top: 0;
  right: 76px;
  width: min(320px, calc(100vw - 120px));
  border: 1px solid rgba(214, 171, 255, 0.22);
  border-radius: 22px;
  padding: 14px;
  background:
    radial-gradient(circle at top right, rgba(181, 96, 255, 0.22) 0%, rgba(181, 96, 255, 0) 35%),
    linear-gradient(180deg, rgba(39, 19, 55, 0.98) 0%, rgba(20, 8, 31, 0.99) 100%);
  box-shadow: 0 22px 46px rgba(22, 8, 36, 0.42);
  opacity: 0;
  pointer-events: none;
  transform: translateY(8px);
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.floating-cart-popover::after {
  content: "";
  position: absolute;
  top: 20px;
  right: -8px;
  width: 16px;
  height: 16px;
  border-top: 1px solid rgba(214, 171, 255, 0.22);
  border-right: 1px solid rgba(214, 171, 255, 0.22);
  background: rgba(30, 12, 43, 0.98);
  transform: rotate(45deg);
}

.floating-cart-card:hover .floating-cart-popover,
.floating-cart-card:focus-within .floating-cart-popover {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.floating-cart-lines {
  display: grid;
  gap: 8px;
  margin-top: 10px;
}

.floating-cart-line {
  padding: 10px 12px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.08) 0%, rgba(255, 255, 255, 0.04) 100%);
  font-size: 0.92rem;
}

.floating-cart-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

.floating-cart-actions .btn,
.floating-cart-actions a.btn {
  flex: 1 1 140px;
}

.configurator-auth-state {
  border: 1px solid rgba(111, 45, 189, 0.16);
  border-radius: 12px;
  padding: 12px 14px;
  background: linear-gradient(180deg, #fbf8ff 0%, #f2ebff 100%);
  color: #4b1f8d;
  font-weight: 600;
}

.configurator-toolbar,
.configurator-meta-card,
.configurator-selector-controls {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: end;
}

.configurator-toolbar label,
.configurator-selector-controls label {
  display: grid;
  gap: 8px;
  flex: 1 1 220px;
}

.configurator-selector-controls {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(180px, 0.72fr) auto;
  align-items: end;
  gap: 10px;
}

.configurator-selector-controls #configurator-search,
.configurator-selector-controls #configurator-type {
  grid-column: auto;
}

.configurator-selector-controls #configurator-search-btn {
  white-space: nowrap;
  min-width: 132px;
  align-self: stretch;
}

.configurator-workspace {
  display: grid;
  gap: 16px;
}

.configurator-workspace.is-modal-open {
  position: fixed;
  inset: 0;
  z-index: 80;
  padding: 64px 28px 28px;
  overflow: auto;
  border-radius: 0;
  background: linear-gradient(180deg, rgba(17, 7, 26, 0.98) 0%, rgba(27, 12, 39, 0.99) 100%);
  box-shadow: 0 26px 60px rgba(6, 2, 14, 0.52);
}

.configurator-workspace.is-modal-open::before,
#services-cart-block.is-open::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  background: rgba(10, 4, 16, 0.72);
  backdrop-filter: blur(8px);
}

.configurator-step-rail {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.configurator-scroll-top {
  position: fixed;
  right: 34px;
  bottom: 34px;
  z-index: 6;
  width: 58px;
  height: 58px;
  display: inline-grid;
  place-items: center;
  border: 1px solid rgba(189, 156, 245, 0.34);
  border-radius: 999px;
  background:
    radial-gradient(circle at top left, rgba(211, 178, 255, 0.3) 0%, rgba(211, 178, 255, 0) 34%),
    linear-gradient(180deg, rgba(121, 69, 210, 0.98) 0%, rgba(82, 38, 161, 0.99) 100%);
  box-shadow:
    0 18px 28px rgba(20, 8, 32, 0.34),
    inset 0 1px 0 rgba(255, 255, 255, 0.18);
  color: #fff7ff;
  cursor: pointer;
  transition: transform 0.18s ease, box-shadow 0.18s ease, opacity 0.18s ease;
}

.configurator-scroll-top:hover,
.configurator-scroll-top:focus-visible {
  transform: translateY(-2px);
  box-shadow:
    0 22px 34px rgba(20, 8, 32, 0.42),
    inset 0 1px 0 rgba(255, 255, 255, 0.24);
}

.configurator-scroll-top svg {
  width: 24px;
  height: 24px;
  fill: currentColor;
}

.configurator-workspace.is-modal-open .configurator-step-rail {
  position: static;
  z-index: 3;
  margin: 0 0 22px;
  padding: 10px 14px 20px;
  border: 1px solid rgba(196, 146, 255, 0.22);
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(76, 37, 120, 0.82) 0%, rgba(70, 34, 111, 0.74) 68%, rgba(70, 34, 111, 0.14) 100%);
  box-shadow: 0 18px 36px rgba(7, 2, 15, 0.28);
  backdrop-filter: blur(14px);
}

.configurator-step-chip,
.configurator-step-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border-radius: 999px;
  background: #f1e6ff;
  color: #5a2798;
  font-weight: 800;
}

.configurator-step-chip {
  padding: 9px 14px;
}

.configurator-step-chip.is-active {
  background: linear-gradient(180deg, #8f49f7 0%, #6628cf 100%);
  color: #fff;
}

.configurator-step-label {
  margin-bottom: 10px;
  padding: 6px 10px;
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.configurator-meta-card,
.configurator-panel {
  border: 1px solid rgba(111, 45, 189, 0.16);
  border-radius: 14px;
  padding: 16px;
  background: linear-gradient(180deg, #ffffff 0%, #faf6ff 100%);
}

.configurator-panel {
  min-height: 100%;
  transition:
    border-color 0.18s ease,
    box-shadow 0.18s ease,
    transform 0.18s ease;
}

.configurator-panel.is-current-stage {
  border-color: rgba(142, 83, 235, 0.28);
  box-shadow: 0 20px 36px rgba(18, 7, 29, 0.1);
  animation: configuratorStageIn 0.2s ease;
}

@keyframes configuratorStageIn {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.configurator-meta-card {
  justify-content: space-between;
  align-items: center;
}

.configurator-workspace.is-modal-open .configurator-meta-card {
  position: static;
  z-index: 3;
  margin: 0 0 40px;
  padding: 24px 22px;
  border-color: rgba(212, 172, 255, 0.26);
  background:
    linear-gradient(135deg, rgba(184, 129, 255, 0.16) 0%, rgba(184, 129, 255, 0.02) 38%),
    linear-gradient(180deg, rgba(76, 39, 118, 0.8) 0%, rgba(57, 28, 92, 0.72) 100%);
  box-shadow:
    0 22px 42px rgba(7, 2, 15, 0.34),
    inset 0 1px 0 rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(16px);
}

.configurator-workspace.is-modal-open .configurator-meta-card::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -28px;
  height: 28px;
  background: linear-gradient(180deg, rgba(24, 12, 36, 0.46) 0%, rgba(24, 12, 36, 0) 100%);
  pointer-events: none;
}

body.modal-open {
  overflow: hidden;
}

body.modal-open .site-footer {
  display: none !important;
}

body.configurator-active .site-footer {
  display: none !important;
}

.configurator-meta-card h4,
.configurator-panel h4 {
  margin: 0 0 8px;
  color: #4b1f8d;
}

.configurator-session-meta {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
}

.configurator-stat {
  border: 1px solid #e2d8f0;
  border-radius: 12px;
  padding: 12px;
  background: #fff;
}

.configurator-stat .label {
  display: block;
  color: #72559a;
  font-size: 0.82rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.configurator-stat .value {
  display: block;
  margin-top: 6px;
  color: #21132f;
  font-weight: 800;
}

.configurator-grid {
  display: grid;
  grid-template-columns: minmax(280px, 0.8fr) minmax(0, 1.25fr) minmax(0, 1.25fr);
  gap: 16px;
  align-items: start;
}

#configurator-selector-panel,
#configurator-build-panel,
#configurator-review-panel {
  grid-column: 2 / 4;
}

.configurator-slot-list,
.configurator-summary {
  display: grid;
  gap: 12px;
}

.configurator-summary {
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  align-items: start;
}

.configurator-review-actions {
  justify-content: space-between;
  align-items: center;
}

.configurator-review-actions #configurator-add-to-cart {
  min-width: 260px;
}

.configurator-slot-tools {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
}

.configurator-slots-page {
  min-width: 64px;
  text-align: center;
  font-weight: 800;
  color: #d8c3ff;
}

.configurator-selector-shell {
  display: grid;
  grid-template-columns: minmax(0, 1.85fr) minmax(260px, 1fr);
  gap: 14px;
  align-items: start;
}

.configurator-selector-actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin: 14px 0 16px;
  padding: 10px 2px 0;
  border-top: 1px solid rgba(183, 150, 238, 0.14);
}

.configurator-selector-actions .configurator-checkbox {
  min-height: auto;
  color: #d8c9f3;
}

.configurator-selector-actions #configurator-selector-next {
  min-width: 220px;
}

.configurator-step-actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-top: 18px;
}

.configurator-step-actions-top {
  margin: 10px 0 18px;
}

.configurator-box-frame {
  border: 1px solid rgba(154, 115, 222, 0.34);
  border-radius: 18px;
  padding: 14px;
  min-width: 0;
  background:
    radial-gradient(circle at top left, rgba(172, 118, 255, 0.16) 0%, rgba(172, 118, 255, 0) 34%),
    linear-gradient(180deg, rgba(36, 25, 54, 0.94) 0%, rgba(28, 20, 44, 0.98) 100%);
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.06),
    0 18px 28px rgba(24, 10, 39, 0.32);
}

.configurator-box-frame[data-box-theme="nebula"] {
  background:
    radial-gradient(circle at 18% 16%, rgba(210, 120, 255, 0.1) 0%, rgba(210, 120, 255, 0) 26%),
    radial-gradient(circle at 82% 22%, rgba(118, 142, 255, 0.08) 0%, rgba(118, 142, 255, 0) 28%),
    linear-gradient(180deg, rgba(36, 25, 54, 0.94) 0%, rgba(28, 20, 44, 0.98) 100%);
}

.configurator-box-frame[data-box-theme="grove"] {
  background:
    radial-gradient(circle at 16% 18%, rgba(134, 214, 123, 0.08) 0%, rgba(134, 214, 123, 0) 24%),
    radial-gradient(circle at 84% 80%, rgba(69, 153, 118, 0.06) 0%, rgba(69, 153, 118, 0) 30%),
    linear-gradient(180deg, rgba(26, 41, 36, 0.96) 0%, rgba(20, 31, 28, 0.99) 100%);
}

.configurator-box-frame[data-box-theme="shore"] {
  background:
    radial-gradient(circle at 18% 14%, rgba(118, 201, 255, 0.08) 0%, rgba(118, 201, 255, 0) 26%),
    radial-gradient(circle at 76% 82%, rgba(117, 155, 230, 0.06) 0%, rgba(117, 155, 230, 0) 30%),
    linear-gradient(180deg, rgba(24, 34, 57, 0.95) 0%, rgba(18, 27, 46, 0.99) 100%);
}

.configurator-box-frame[data-box-theme="forge"] {
  background:
    radial-gradient(circle at 20% 18%, rgba(255, 153, 92, 0.08) 0%, rgba(255, 153, 92, 0) 26%),
    radial-gradient(circle at 82% 78%, rgba(235, 96, 96, 0.06) 0%, rgba(235, 96, 96, 0) 28%),
    linear-gradient(180deg, rgba(46, 28, 29, 0.96) 0%, rgba(33, 19, 20, 0.99) 100%);
}

.configurator-box-frame[data-box-theme="meadow"] {
  background:
    radial-gradient(circle at 18% 18%, rgba(214, 242, 117, 0.07) 0%, rgba(214, 242, 117, 0) 22%),
    radial-gradient(circle at 78% 78%, rgba(121, 207, 132, 0.05) 0%, rgba(121, 207, 132, 0) 26%),
    linear-gradient(180deg, rgba(34, 44, 30, 0.95) 0%, rgba(24, 31, 23, 0.99) 100%);
}

.configurator-box-frame[data-box-theme="cavern"] {
  background:
    radial-gradient(circle at 20% 18%, rgba(148, 118, 96, 0.09) 0%, rgba(148, 118, 96, 0) 22%),
    radial-gradient(circle at 82% 20%, rgba(118, 136, 164, 0.05) 0%, rgba(118, 136, 164, 0) 26%),
    linear-gradient(180deg, rgba(39, 33, 36, 0.96) 0%, rgba(26, 22, 24, 0.99) 100%);
}

.configurator-box-frame[data-box-theme="aurora"] {
  background:
    radial-gradient(circle at 16% 16%, rgba(105, 231, 222, 0.08) 0%, rgba(105, 231, 222, 0) 24%),
    radial-gradient(circle at 84% 18%, rgba(177, 145, 255, 0.07) 0%, rgba(177, 145, 255, 0) 28%),
    linear-gradient(180deg, rgba(22, 33, 49, 0.95) 0%, rgba(16, 24, 38, 0.99) 100%);
}

.configurator-box-frame[data-box-theme="citron"] {
  background:
    radial-gradient(circle at 18% 20%, rgba(255, 214, 105, 0.07) 0%, rgba(255, 214, 105, 0) 24%),
    radial-gradient(circle at 80% 76%, rgba(170, 199, 83, 0.05) 0%, rgba(170, 199, 83, 0) 28%),
    linear-gradient(180deg, rgba(48, 44, 26, 0.95) 0%, rgba(34, 31, 18, 0.99) 100%);
}

.configurator-box-topbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  margin-bottom: 12px;
  padding: 10px 12px;
  border-radius: 12px;
  background: linear-gradient(180deg, #7f55d8 0%, #5532a5 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.14);
  color: #fcf8ff;
  font-weight: 800;
  letter-spacing: 0.02em;
}

.configurator-box-nav {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
}

#configurator-box-counter {
  min-width: 0;
  text-align: center;
  font-weight: 800;
  color: #ead6ff;
}

.configurator-preview-empty {
  min-height: 220px;
  display: grid;
  place-items: center;
  text-align: center;
}

.configurator-selector-results {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
}

.configurator-slot-card,
.configurator-result-card,
.configurator-product-card,
.configurator-summary-card {
  border: 1px solid #e2d8f0;
  border-radius: 12px;
  padding: 14px;
  background: #fff;
}

.configurator-summary-card.is-overview {
  padding: 16px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(246, 239, 255, 0.98) 100%);
  box-shadow:
    0 16px 28px rgba(18, 7, 29, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

.configurator-summary-card.is-overview h5 {
  margin-bottom: 12px;
}

.configurator-summary-card.is-overview .configurator-summary-kpis {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.configurator-summary-kpi {
  border: 1px solid rgba(177, 149, 232, 0.2);
  border-radius: 12px;
  padding: 10px 12px;
  background: rgba(255, 255, 255, 0.7);
}

.configurator-summary-kpi .label {
  display: block;
  margin-bottom: 4px;
  color: #7a62a6;
  font-size: 0.8rem;
  font-weight: 700;
}

.configurator-summary-kpi .value {
  display: block;
  color: #2a183f;
  font-size: 1rem;
  font-weight: 900;
}

.configurator-slot-card.is-active {
  border-color: #8c5bd6;
  box-shadow: 0 0 0 2px rgba(140, 91, 214, 0.14);
}

.configurator-slot-card.is-drop-target {
  border-color: #5c7fbb;
  box-shadow: 0 0 0 3px rgba(92, 127, 187, 0.2);
  background: linear-gradient(180deg, #ffffff 0%, #eef5ff 100%);
}

.configurator-slot-card.is-ready {
  border-color: rgba(22, 148, 84, 0.35);
}

.configurator-slot-card h5,
.configurator-result-card h5,
.configurator-product-card h5,
.configurator-summary-card h5 {
  margin: 0 0 8px;
  color: #3d186f;
}

.configurator-slot-title {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.configurator-sparkle-icon {
  display: inline-flex;
  width: 18px;
  height: 18px;
  color: #ffd24d;
  filter: drop-shadow(0 0 4px rgba(255, 210, 77, 0.55));
}

.configurator-sparkle-icon svg {
  width: 100%;
  height: 100%;
  fill: currentColor;
}

.configurator-slot-sparkle {
  width: 16px;
  height: 16px;
}

.configurator-product-card h5 {
  font-size: 1.2rem;
  line-height: 1.2;
}

.configurator-product-card {
  display: flex;
  flex-direction: column;
  gap: 8px;
  height: 100%;
}

.configurator-product-card .toolbar {
  margin-top: auto;
}

.configurator-product-head {
  display: grid;
  gap: 12px;
}

.configurator-audience-toggles {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  margin-top: 2px;
}

.configurator-shiny-toggle {
  width: 100%;
  justify-content: flex-start;
}

.configurator-audience-toggle {
  display: flex;
  align-items: center;
  gap: 10px;
  border: 1px solid rgba(152, 116, 212, 0.32);
  border-radius: 999px;
  padding: 10px 14px;
  background: rgba(248, 240, 255, 0.9);
  color: #3a1f5e;
  font-size: 0.9rem;
  font-weight: 600;
}

.configurator-audience-toggle input {
  margin: 0;
  width: 14px;
  height: 14px;
}

.configurator-legendary-only-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(152, 116, 212, 0.38);
  border-radius: 999px;
  padding: 6px 10px;
  background: rgba(247, 238, 255, 0.96);
  color: #3a1f5e;
  font-size: 0.8rem;
  font-weight: 700;
}

#configurator-products.grid.small {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
}

.configurator-service-edition-dropdown {
  border: 1px dashed rgba(152, 116, 212, 0.45);
  border-radius: 12px;
  padding: 8px 10px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(247, 240, 255, 0.98) 100%);
}

.configurator-service-edition-dropdown summary {
  cursor: pointer;
  font-weight: 700;
  color: #3b1a67;
}

.configurator-edition-selected-line {
  display: grid;
  gap: 6px;
}

.configurator-edition-selected-value {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr);
  gap: 8px;
  align-items: center;
}

.configurator-edition-selected-value .icon {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  overflow: hidden;
  display: grid;
  place-items: center;
  background: linear-gradient(160deg, rgba(82, 43, 130, 0.95) 0%, rgba(44, 24, 70, 0.98) 100%);
  color: #f4e8ff;
  font-size: 0.7rem;
  font-weight: 800;
}

.configurator-edition-selected-value .icon img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.configurator-service-edition-options {
  display: grid;
  gap: 8px;
  margin-top: 8px;
}

.configurator-service-edition-option {
  width: 100%;
  border: 1px solid rgba(152, 116, 212, 0.3);
  border-radius: 10px;
  padding: 7px 9px;
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  gap: 8px;
  align-items: center;
  background: #fff;
  cursor: pointer;
  text-align: left;
  color: #2f1d4c;
}

.configurator-service-edition-option .icon {
  width: 36px;
  height: 36px;
  border-radius: 9px;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: linear-gradient(160deg, rgba(82, 43, 130, 0.95) 0%, rgba(44, 24, 70, 0.98) 100%);
  color: #f4e8ff;
  font-size: 0.76rem;
  font-weight: 800;
}

.configurator-service-edition-option .icon img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.configurator-service-edition-option .label {
  font-size: 0.86rem;
  font-weight: 600;
}

.configurator-service-edition-option.is-active {
  border-color: #7b49c6;
  box-shadow: 0 0 0 2px rgba(123, 73, 198, 0.16);
}

.configurator-slot-sprite {
  width: 78px;
  height: 78px;
  margin: 0 0 10px;
  border-radius: 18px;
  display: grid;
  place-items: center;
  background:
    radial-gradient(circle at 32% 20%, rgba(122, 89, 182, 0.28) 0%, rgba(104, 74, 156, 0.14) 42%, rgba(62, 45, 93, 0.88) 100%),
    linear-gradient(180deg, rgba(66, 47, 99, 0.98) 0%, rgba(47, 34, 74, 1) 100%);
  border: 1px solid rgba(180, 149, 232, 0.18);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.06),
    0 8px 14px rgba(10, 8, 18, 0.08);
}

.configurator-slot-sprite-image {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center center;
  pointer-events: none;
  user-select: none;
  -webkit-user-drag: none;
  image-rendering: auto;
  mix-blend-mode: normal;
  filter: none;
}

.configurator-slot-actions,
.configurator-result-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}

.configurator-slot-actions .btn,
.configurator-review-actions .btn {
  flex: 1 1 0;
}

.configurator-checkbox {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
}

.configurator-checkbox input {
  width: auto;
}

.configurator-result-card p,
.configurator-product-card p,
.configurator-slot-card p,
.configurator-summary-card p {
  margin: 0 0 6px;
}

.configurator-result-card p {
  color: #d8caef;
}

.configurator-result-card strong {
  color: #f3e6ff;
}

.configured-cart-item {
  border: 1px solid rgba(111, 45, 189, 0.16);
  border-radius: 12px;
  padding: 14px;
  background: linear-gradient(180deg, #fbf8ff 0%, #f5efff 100%);
  margin-bottom: 12px;
}

#configured-cart-list:empty {
  display: none;
}

#services-cart-block.is-collapsed {
  display: none;
}

#services-cart-block {
  position: fixed;
  top: 28px;
  right: 28px;
  bottom: 28px;
  width: min(540px, calc(100vw - 40px));
  z-index: 90;
  overflow: auto;
  display: none;
  box-shadow: 0 24px 60px rgba(7, 2, 16, 0.48);
}

#services-cart-block.is-open {
  display: block;
}

.configurator-result-card {
  min-height: 94px;
  display: grid;
  place-items: center;
  padding: 10px;
  min-width: 0;
  background:
    radial-gradient(circle at top left, rgba(193, 151, 255, 0.16) 0%, rgba(193, 151, 255, 0) 30%),
    linear-gradient(180deg, rgba(57, 39, 86, 0.96) 0%, rgba(35, 26, 57, 0.99) 100%);
  border-color: rgba(176, 145, 230, 0.22);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.04),
    0 10px 18px rgba(17, 8, 28, 0.18);
}

.configurator-result-card.is-preview {
  border-color: rgba(171, 126, 255, 0.9);
  box-shadow:
    0 0 0 2px rgba(171, 126, 255, 0.24),
    0 18px 30px rgba(23, 10, 36, 0.28);
}

.configurator-result-card.is-empty {
  border-style: dashed;
  border-color: rgba(155, 129, 196, 0.18);
  background:
    linear-gradient(180deg, rgba(42, 31, 63, 0.72) 0%, rgba(31, 23, 48, 0.84) 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
  cursor: default;
}

.configurator-result-card.is-dragging {
  opacity: 0.5;
  transform: scale(0.98);
}

.configurator-result-sprite {
  width: 100%;
  min-height: 72px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  padding: 4px;
  background:
    radial-gradient(circle at 32% 20%, rgba(124, 91, 184, 0.3) 0%, rgba(106, 77, 160, 0.16) 42%, rgba(60, 43, 91, 0.9) 100%),
    linear-gradient(180deg, rgba(67, 48, 101, 0.98) 0%, rgba(46, 34, 73, 1) 100%);
  border: 1px solid rgba(181, 150, 234, 0.18);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.06),
    0 6px 10px rgba(14, 10, 22, 0.08);
  font-weight: 900;
  color: #4f2d93;
  overflow: hidden;
}

.configurator-result-empty {
  width: 100%;
  min-height: 72px;
  border-radius: 12px;
  background:
    radial-gradient(circle at center, rgba(129, 94, 188, 0.14) 0%, rgba(129, 94, 188, 0) 62%);
  box-shadow: inset 0 0 0 1px rgba(196, 175, 233, 0.08);
}

.configurator-result-fallback {
  font-size: 0.78rem;
  letter-spacing: 0.04em;
}

.configurator-result-card,
.configurator-result-sprite {
  cursor: grab;
}

.configurator-result-card:active,
.configurator-result-sprite:active {
  cursor: grabbing;
}

.configurator-result-sprite img,
.configurator-preview-art img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.configurator-result-icon-image {
  width: 100%;
  height: 100%;
  image-rendering: auto;
  object-fit: contain;
  object-position: center center;
  pointer-events: none;
  user-select: none;
  -webkit-user-drag: none;
  transform: scale(1);
  mix-blend-mode: normal;
  filter: none;
}

.configurator-preview {
  border: 1px solid rgba(162, 117, 234, 0.22);
  border-radius: 16px;
  padding: 14px;
  min-height: 100%;
  min-width: 0;
  position: sticky;
  top: 18px;
  background:
    radial-gradient(circle at top right, rgba(186, 123, 255, 0.18) 0%, rgba(186, 123, 255, 0) 34%),
    linear-gradient(180deg, rgba(28, 18, 44, 0.98) 0%, rgba(23, 15, 36, 0.99) 100%);
  box-shadow: 0 16px 30px rgba(15, 6, 25, 0.28);
}

.configurator-preview-empty {
  min-height: 240px;
  display: grid;
  place-items: center;
  text-align: center;
  color: #dcc9ff;
  border: 1px dashed rgba(185, 153, 238, 0.34);
  border-radius: 12px;
  padding: 20px;
  background: rgba(255, 255, 255, 0.03);
}

.configurator-preview-header {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
  align-items: start;
}

.configurator-preview-header h5 {
  margin: 0;
  color: #f2d6ff;
}

.configurator-preview-shiny-toggle {
  width: 100%;
  justify-content: flex-start;
  margin: 0 0 10px;
}

.configurator-preview-subtitle {
  margin: 6px 0 0;
  color: #c7b4eb;
  font-size: 0.84rem;
  word-break: break-word;
}

.configurator-preview-art {
  width: 100%;
  min-height: 180px;
  border: 1px solid rgba(197, 167, 243, 0.24);
  border-radius: 14px;
  margin-bottom: 12px;
  display: grid;
  place-items: center;
  position: relative;
  background:
    radial-gradient(circle at 30% 20%, rgba(112, 82, 164, 0.32) 0%, rgba(86, 60, 129, 0.2) 44%, rgba(55, 42, 78, 0.84) 100%);
  overflow: hidden;
}

.configurator-preview-sparkle {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 24px;
  height: 24px;
  z-index: 2;
}

.configurator-preview-art-fallback {
  font-size: 2rem;
  font-weight: 900;
  color: #d6b7ff;
}

.configurator-type-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 10px 0 12px;
}

.configurator-type-badge {
  border-radius: 999px;
  padding: 6px 10px;
  background: #ede5ff;
  color: #4c2e77;
  font-size: 0.82rem;
  font-weight: 800;
}

.configurator-stats {
  display: grid;
  gap: 10px;
  margin-top: 0;
}

.configurator-stat-row {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr) 42px;
  gap: 10px;
  align-items: center;
  font-size: 0.84rem;
}

.configurator-stat-row strong {
  color: #f1d7ff;
  line-height: 1.15;
}

.configurator-stat-bar {
  position: relative;
  height: 10px;
  border-radius: 999px;
  overflow: hidden;
  background: rgba(131, 92, 193, 0.2);
}

.configurator-stat-bar span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #6b87d9 0%, #7b5fd2 100%);
}

.configurator-stat-row > span:last-child {
  color: #f3e8ff;
  font-weight: 800;
  text-align: right;
}

.configurator-preview-stats-block {
  margin-top: 12px;
}

.configurator-preview-stats-title {
  margin: 0 0 12px;
  color: #f1d7ff;
  font-size: 0.92rem;
  font-weight: 900;
  letter-spacing: 0.01em;
}

.configurator-preview-total-block {
  margin-top: 14px;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid rgba(186, 158, 236, 0.2);
  background: linear-gradient(180deg, rgba(55, 38, 83, 0.92) 0%, rgba(37, 26, 58, 0.98) 100%);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.configurator-preview-total-label {
  color: #d9c4ff;
  font-size: 0.86rem;
  font-weight: 700;
}

.configurator-preview-total-value {
  color: #ffffff;
  font-size: 1.05rem;
  font-weight: 900;
}

.configurator-build-insights {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 14px;
}

.configurator-build-feedback {
  display: grid;
  gap: 10px;
  margin-bottom: 14px;
}

.configurator-build-feedback:empty {
  display: none;
  margin-bottom: 0;
}

.configurator-field-feedback {
  display: none;
  gap: 6px;
  margin-top: 6px;
}

.configurator-field-feedback.is-active {
  display: grid;
}

.configurator-field-feedback-item {
  margin: 0;
  padding: 8px 10px;
  border: 1px solid rgba(204, 125, 35, 0.24);
  border-radius: 10px;
  background: linear-gradient(180deg, rgba(255, 247, 236, 0.95) 0%, rgba(255, 238, 214, 0.98) 100%);
  color: #6b3b09;
  font-size: 0.84rem;
  font-weight: 700;
  line-height: 1.35;
}

.configurator-build-card {
  border: 1px solid rgba(111, 45, 189, 0.14);
  border-radius: 12px;
  padding: 12px;
  background: linear-gradient(180deg, #ffffff 0%, #f7f0ff 100%);
}

.configurator-build-card.is-warning {
  border-color: rgba(204, 125, 35, 0.28);
  background: linear-gradient(180deg, #fff9f0 0%, #fff2dd 100%);
}

.configurator-build-card.is-good {
  border-color: rgba(60, 138, 101, 0.26);
  background: linear-gradient(180deg, #f5fff7 0%, #ebfaef 100%);
}

.configurator-build-card h5 {
  margin: 0 0 8px;
  color: #4b1f8d;
}

.configurator-build-card p {
  margin: 0 0 6px;
  color: #342347;
}

.configurator-build-card .muted {
  font-size: 0.84rem;
}

.configurator-build-card ul {
  margin: 8px 0 0;
  padding-left: 18px;
  color: #342347;
}

.configurator-build-card li + li {
  margin-top: 4px;
}

.configurator-empty {
  border: 1px dashed #d7c6ee;
  border-radius: 12px;
  padding: 14px;
  background: #fcfaff;
  color: #6b5792;
}

.editions-toggle {
  margin-top: 12px;
  border: 1px dashed #ccb8e5;
  border-radius: 11px;
  padding: 10px;
  background: linear-gradient(180deg, #ffffff 0%, #f8f4ff 100%);
}

.editions-toggle summary {
  cursor: pointer;
  font-weight: 700;
  color: #4b1f8d;
}

.editions-toggle[open] summary {
  margin-bottom: 8px;
}

.auth-shell {
  max-width: 360px;
  margin: 8px auto 0;
}

.auth-card {
  margin: 0;
  padding: 16px;
}

.auth-switch {
  margin: 0;
}

.card p { color: var(--ink-soft); }

.badges { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.badge {
  display: inline-block;
  border: 1px solid var(--line-strong);
  border-radius: 999px;
  padding: 7px 12px;
  font-size: 0.84rem;
  background: #ffffff;
  color: #4a3670;
  font-weight: 600;
}

.grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
}

.grid.small { grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); }
.grid.two-col { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }

.item {
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 12px;
  background: #fff;
}

.toolbar { display: flex; gap: 14px; flex-wrap: wrap; margin: 18px 0; }
.total-line {
  font-size: 1.05rem;
  font-weight: 800;
  color: #3f2768;
}
.muted {
  color: #6c6380;
  font-size: 0.92rem;
}
.admin-filters input { min-width: 160px; max-width: 240px; }
.admin-ops input, .admin-ops select { max-width: 220px; }
.admin-console {
  overflow: hidden;
}

.admin-intro {
  margin-top: 0;
}

.admin-quick-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
  margin: 0 0 18px;
}

.admin-quick-card {
  border: 1px solid rgba(222, 199, 248, 0.16);
  border-radius: 14px;
  padding: 14px;
  background: rgba(58, 34, 86, 0.34);
}

.admin-quick-card h3 {
  margin: 0 0 8px;
  color: #f2b7ff;
  font-size: 0.96rem;
}

.admin-quick-card p,
.admin-panel-copy {
  margin: 0;
  color: #d6c8ed;
  line-height: 1.45;
}

.admin-shell {
  display: grid;
  grid-template-columns: minmax(180px, 220px) minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}

.admin-sidebar {
  display: grid;
  gap: 10px;
  position: sticky;
  top: 112px;
}

.admin-tab {
  width: 100%;
  justify-self: stretch;
}

.admin-stage {
  display: grid;
  gap: 16px;
  min-width: 0;
}

.admin-panel {
  display: none;
  gap: 14px;
  min-width: 0;
}

.admin-panel.is-active {
  display: grid;
}

.admin-panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.admin-panel-head h3,
.admin-form-card h4 {
  margin: 0;
  color: #f2b7ff;
}

.admin-form-card {
  border: 1px solid rgba(222, 199, 248, 0.18);
  border-radius: 16px;
  padding: 16px;
  background: rgba(58, 34, 86, 0.4);
  min-width: 0;
  overflow: hidden;
}

.admin-actions-inline {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.admin-split {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  min-width: 0;
}

.admin-split > * {
  min-width: 0;
}

.admin-form-card .request-spec-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
}

.admin-form-card .request-spec-grid > label {
  min-width: 0;
}

.admin-form-card input,
.admin-form-card select,
.admin-form-card textarea,
.admin-form-card .btn,
.admin-form-card .toolbar {
  min-width: 0;
  max-width: 100%;
}

.admin-data-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 16px;
  min-width: 0;
}

.admin-data-grid-dual {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.admin-data-card {
  min-width: 0;
  border: 1px solid rgba(222, 199, 248, 0.18);
  border-radius: 16px;
  padding: 16px;
  background: rgba(58, 34, 86, 0.4);
  overflow: hidden;
}

.admin-data-card h4 {
  margin: 0 0 12px;
  color: #f2b7ff;
}

.admin-table-scroll {
  width: 100%;
  max-width: 100%;
  overflow: auto;
}

.admin-json-preview {
  margin: 0;
  padding: 12px;
  border-radius: 12px;
  background: rgba(20, 10, 33, 0.62);
  border: 1px solid rgba(233, 224, 247, 0.22);
  color: #f8f5ff;
  white-space: pre-wrap;
  word-break: break-word;
  overflow: auto;
}

.toolbar.compact {
  margin: 6px 0 0;
}

.kpi-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 12px;
}

.kpi {
  border: 1px solid rgba(223, 208, 245, 0.16);
  border-radius: 14px;
  padding: 14px;
  background: rgba(54, 31, 81, 0.5);
}

.kpi .label {
  display: block;
  color: #cfc2e2;
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.kpi .value {
  display: block;
  margin-top: 6px;
  font-size: 1.5rem;
  font-weight: 900;
  color: #fff;
}

.form-grid { display: grid; gap: 16px; }
.form-grid > label {
  display: grid;
  gap: 8px;
}
#configurator-build-form {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: start;
}
#configurator-build-form button[type="submit"] {
  width: 100%;
}
#configurator-build-form > label {
  min-width: 0;
}
#configurator-build-form > label select {
  width: 100%;
  max-width: 360px;
}
.request-spec-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(240px, 1fr));
  gap: 14px;
}
.request-spec-grid > label {
  display: grid;
  gap: 8px;
}
.form-span-full {
  grid-column: 1 / -1;
}
.form-grid button[type="submit"] {
  margin-top: 8px;
}
fieldset {
  border: 1px dashed #ccb8e5;
  border-radius: 11px;
  padding: 12px;
  background: linear-gradient(180deg, #ffffff 0%, #f8f4ff 100%);
  margin: 4px 0;
}

legend { font-weight: 700; color: #4c2e77; }

input, select, textarea {
  width: 100%;
  padding: 10px;
  border: 1px solid #d0c2e5;
  border-radius: 9px;
  font: inherit;
  background: #fff;
  color: var(--ink);
}

input:focus, select:focus, textarea:focus {
  outline: 2px solid rgba(111, 45, 189, 0.25);
  border-color: #9f79d1;
}

.configurator-moves-fieldset {
  grid-column: span 2;
}

.moves-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.moves-grid select {
  width: 100%;
  max-width: 320px;
  justify-self: start;
}
.ev-grid {
  grid-template-columns: repeat(3, minmax(72px, 112px));
  justify-content: start;
}

.ev-grid .field-input {
  max-width: 112px;
  text-align: center;
}

.configurator-spread-fieldset {
  padding-top: 18px;
}

.configurator-spread-columns {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 28px;
  align-items: start;
}

.configurator-spread-block {
  display: grid;
  gap: 12px;
  align-content: start;
}

.configurator-spread-input {
  display: grid;
  gap: 6px;
  justify-items: stretch;
}

.configurator-spread-stat-label {
  display: block;
  text-align: center;
  color: #d8c4f8;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.configurator-spread-input .field-input,
.configurator-spread-input input {
  margin: 0;
}

.configurator-spread-block h5 {
  margin: 0;
  font-size: 1rem;
  font-weight: 800;
  color: #f1dcff;
}

.btn {
  border: none;
  border-radius: 10px;
  padding: 10px 14px;
  background: linear-gradient(135deg, var(--brand) 0%, #5f27a9 100%);
  color: #fff;
  font-weight: 800;
  cursor: pointer;
}

.toolbar .btn {
  margin-top: 2px;
}

.btn.ghost {
  background: linear-gradient(135deg, #b8bfd0 0%, #8e96a9 100%);
  color: #1f2230;
}

.btn:hover { filter: brightness(0.98); }
.btn:disabled { opacity: 0.6; cursor: not-allowed; }
.btn.is-loading { position: relative; }

.alert {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  border-radius: 16px;
  padding: 14px 18px;
  margin: 10px 0;
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: 0.01em;
  border: 1px solid rgba(229, 213, 255, 0.18);
  box-shadow: 0 18px 38px rgba(13, 2, 24, 0.34);
  backdrop-filter: blur(12px);
  position: relative;
  overflow: hidden;
}

.alert::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  border-radius: 16px 0 0 16px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.95) 0%, rgba(231, 165, 255, 0.88) 100%);
}

.alert-close {
  border: none;
  background: transparent;
  color: inherit;
  cursor: pointer;
  font-weight: 900;
}

.alert.ok {
  color: #f9f4ff;
  background:
    radial-gradient(circle at 18% 20%, rgba(190, 126, 255, 0.12), transparent 34%),
    radial-gradient(circle at 88% 78%, rgba(255, 143, 214, 0.10), transparent 36%),
    linear-gradient(135deg, rgba(16, 14, 20, 0.98) 0%, rgba(20, 16, 27, 0.97) 56%, rgba(15, 13, 19, 0.99) 100%);
  border-color: rgba(224, 195, 255, 0.20);
}

.alert.err {
  color: #fff2f7;
  background:
    radial-gradient(circle at 18% 20%, rgba(255, 129, 170, 0.10), transparent 32%),
    radial-gradient(circle at 88% 78%, rgba(255, 110, 150, 0.10), transparent 34%),
    linear-gradient(135deg, rgba(16, 14, 20, 0.98) 0%, rgba(23, 16, 24, 0.98) 58%, rgba(15, 13, 19, 0.99) 100%);
  border-color: rgba(255, 176, 205, 0.22);
}

.alert.err::before {
  background: linear-gradient(180deg, rgba(255, 226, 234, 0.98) 0%, rgba(255, 143, 182, 0.9) 100%);
}

.hidden { display: none; }

.output {
  background: linear-gradient(165deg, #2b1d42 0%, #3a2757 100%);
  color: #f8f5ff;
  border-radius: 10px;
  padding: 10px 10px 6px;
  min-height: 150px;
  overflow: auto;
  border: 1px solid rgba(233, 224, 247, 0.4);
  min-width: 0;
}

.output table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
  min-width: 640px;
}

.output th,
.output td {
  border-bottom: 1px solid rgba(255, 255, 255, 0.20);
  text-align: left;
  padding: 6px 8px;
  vertical-align: top;
}

.kpi-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 8px;
}

.kpi {
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 8px;
  padding: 8px;
  background: rgba(255, 255, 255, 0.05);
}

.kpi .label { display: block; opacity: 0.75; }
.kpi .value { font-weight: 800; font-size: 1.1rem; }

.status-badge {
  display: inline-block;
  border-radius: 999px;
  padding: 2px 8px;
  border: 1px solid rgba(255, 255, 255, 0.35);
  background: rgba(255, 255, 255, 0.18);
  font-size: 0.8rem;
  font-weight: 700;
}

.status-new, .status-open, .status-pending { background: #6f4b0e; color: #ffedc4; }
.status-reviewed, .status-quoted, .status-in-progress, .status-processing { background: #3d248f; color: #e7ddff; }
.status-completed, .status-resolved, .status-paid { background: #1f6a3a; color: #d9ffe9; }
.status-rejected, .status-cancelled, .status-refunded, .status-closed, .status-high { background: #7f1f3f; color: #ffd9e7; }
.status-normal { background: #474050; color: #f1f1f1; }
.status-low { background: #3f5d2f; color: #e7ffd8; }

.inline-preview {
  border: 1px dashed #c8b1e3;
  border-radius: 10px;
  padding: 10px;
  min-height: 50px;
  background: rgba(255, 255, 255, 0.7);
}

.pokemon-card {
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
  padding: 12px;
  cursor: default;
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.pokemon-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 16px rgba(45, 25, 81, 0.14);
}

.pokemon-art {
  width: 96px;
  height: 96px;
  object-fit: contain;
  display: block;
  margin: 0 auto 6px;
}

.pokemon-card h4 { margin: 0 0 6px; }

.pokemon-meta {
  font-size: 0.9rem;
  opacity: 0.9;
}

.pokemon-popup {
  position: fixed;
  z-index: 1000;
  width: min(360px, 92vw);
  border: 1px solid rgba(222, 210, 241, 0.8);
  border-radius: 12px;
  background: linear-gradient(180deg, #ffffff 0%, #f3ecff 100%);
  color: #271a3f;
  padding: 10px;
  box-shadow: 0 10px 24px rgba(34, 24, 54, 0.22);
  pointer-events: none;
}

.pokemon-popup h4 { margin: 0 0 8px; }

.popup-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(100px, 1fr));
  gap: 4px 10px;
  font-size: 0.86rem;
}

.popup-list {
  margin: 8px 0 0;
  font-size: 0.84rem;
  max-height: 120px;
  overflow: auto;
}

.site-footer {
  margin-top: 16px;
  border-top: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.9);
}

.experience-page .site-footer {
  position: relative;
  z-index: 2;
  border-top-color: rgba(255, 255, 255, 0.1);
  background: linear-gradient(180deg, rgba(16, 6, 27, 0.56) 0%, rgba(23, 8, 35, 0.76) 100%);
  backdrop-filter: blur(8px);
}

.footer-wrap {
  width: min(1140px, 94%);
  margin: 0 auto;
  padding: 14px 0 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.footer-copy {
  margin: 0;
  color: #5f5674;
  font-size: 0.9rem;
}

.experience-page .footer-copy {
  color: #d8cfea;
}

.footer-links {
  display: flex;
  align-items: center;
  gap: 10px;
}

.footer-link {
  width: 38px;
  height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #d7c6eb;
  border-radius: 10px;
  background: #fff;
  transition: transform 0.16s ease, box-shadow 0.16s ease;
}

.experience-page .footer-link {
  border-color: rgba(226, 210, 247, 0.2);
  background: rgba(255, 255, 255, 0.08);
}

.footer-link:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 14px rgba(49, 29, 84, 0.12);
}

.footer-link-mail:hover {
  border-color: #efb9b9;
  background: #fff2f2;
}

.experience-page .footer-link-mail:hover {
  border-color: rgba(255, 194, 194, 0.42);
  background: rgba(255, 242, 242, 0.14);
}

.footer-link img {
  width: 22px;
  height: 22px;
  display: block;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.experience-page {
  position: relative;
  min-height: 100vh;
  color: #fff7ff;
  background: #2b123d;
  overflow-x: hidden;
}

.experience-page::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 85% 12%, rgba(245, 232, 255, 0.35) 0%, rgba(245, 232, 255, 0.05) 13%, rgba(245, 232, 255, 0) 25%),
    linear-gradient(135deg, #170518 0%, #331044 34%, #5e247f 62%, #e09ed1 100%);
}

.experience-shell {
  min-height: calc(100vh - 74px);
  position: relative;
  isolation: isolate;
  padding: 24px 0 0;
}

.experience-alerts {
  position: fixed;
  top: 24px;
  left: 50%;
  z-index: 40;
  width: min(560px, 92vw);
  transform: translateX(-50%);
}

.lang-switcher {
  position: absolute;
  left: auto;
  bottom: auto;
  z-index: 60;
  width: 136px;
  max-width: calc(100vw - 16px);
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 4px;
  padding: 8px 8px 5px;
  border: 1px solid rgba(228, 210, 246, 0.22);
  border-radius: 10px;
  background: linear-gradient(180deg, rgba(26, 10, 39, 0.82) 0%, rgba(45, 18, 63, 0.78) 100%);
  box-shadow: 0 12px 28px rgba(9, 2, 18, 0.22);
  backdrop-filter: blur(10px);
}

.experience-shell {
  position: relative;
}

.lang-switcher-row {
  width: min(1140px, 94%);
  margin: 14px auto 0;
  display: flex;
  justify-content: flex-end;
  position: relative;
  z-index: 12;
}

.lang-switcher-home {
  top: 14px;
  right: 14px;
}

.lang-switcher-section {
  position: relative;
  top: auto;
  right: auto;
}

.lang-switcher-label {
  color: #f3ddff;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1;
  width: 100%;
  text-align: left;
}

.lang-switcher-select {
  width: 100%;
  min-width: 0;
  max-width: none;
  padding: 8px 26px 8px 10px;
  border: 1px solid rgba(209, 189, 233, 0.26);
  border-radius: 8px;
  background: rgba(13, 8, 20, 0.76);
  color: #fff4ff;
  font-size: 0.84rem;
}

.lang-switcher-select:focus {
  outline: 2px solid rgba(196, 120, 255, 0.28);
}

@media (max-width: 720px) {
  .lang-switcher {
    padding: 7px 7px 4px;
    gap: 4px;
    width: 124px;
    max-width: calc(100vw - 16px);
  }

  .lang-switcher-row {
    margin-top: 10px;
  }

  .lang-switcher-home {
    top: 10px;
    right: 10px;
  }

  .lang-switcher-section {
    top: auto;
  }

  .section-page-main {
    padding-top: 0;
  }

  .lang-switcher-label {
    font-size: 0.68rem;
  }

  .lang-switcher-select {
    padding: 7px 22px 7px 8px;
    font-size: 0.78rem;
  }
}

.cloud-field {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}

.cloud {
  position: absolute;
  width: 34vw;
  min-width: 260px;
  aspect-ratio: 2.2 / 1;
  border-radius: 999px;
  background:
    radial-gradient(ellipse at 22% 50%, rgba(255, 255, 255, 0.38) 0 22%, rgba(255, 255, 255, 0) 48%),
    radial-gradient(ellipse at 46% 42%, rgba(243, 228, 255, 0.32) 0 24%, rgba(243, 228, 255, 0) 52%),
    radial-gradient(ellipse at 68% 54%, rgba(255, 255, 255, 0.34) 0 22%, rgba(255, 255, 255, 0) 48%),
    radial-gradient(ellipse at 84% 50%, rgba(232, 213, 255, 0.28) 0 18%, rgba(232, 213, 255, 0) 42%);
  filter: blur(34px);
  opacity: 0.42;
  animation: cloudPass linear infinite;
}

.cloud-a { top: 8%; animation-duration: 58s; animation-delay: -8s; }
.cloud-b { top: 18%; animation-duration: 66s; animation-delay: -32s; width: 42vw; opacity: 0.44; }
.cloud-c { top: 30%; animation-duration: 62s; animation-delay: -14s; width: 30vw; }
.cloud-d { top: 44%; animation-duration: 74s; animation-delay: -50s; width: 48vw; opacity: 0.38; }
.cloud-e { top: 56%; animation-duration: 61s; animation-delay: -22s; width: 28vw; }
.cloud-f { top: 68%; animation-duration: 70s; animation-delay: -42s; width: 40vw; opacity: 0.5; }
.cloud-g { top: 78%; animation-duration: 64s; animation-delay: -18s; width: 32vw; }
.cloud-h { top: 88%; animation-duration: 76s; animation-delay: -58s; width: 50vw; opacity: 0.34; }

.experience-page > :not(.cloud-field) {
  position: relative;
  z-index: 1;
}

.experience-stage {
  position: relative;
  min-height: calc(100vh - 150px);
  padding: 16px 0 30px;
}

.experience-intro,
.cluster-stage {
  position: relative;
  width: min(1200px, 94vw);
  min-height: calc(100vh - 200px);
  margin: 0 auto;
}

.scene-ball {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 5;
  transform: translate(-50%, -50%);
}

.scene-ball-master {
  animation: masterBallArrival 2.2s cubic-bezier(0.2, 0.78, 0.12, 1) forwards;
}

.scene-ball-register {
  animation: registerBallArrival 1.9s cubic-bezier(0.23, 0.78, 0.16, 1) forwards;
}

.scene-cluster .scene-ball-master {
  top: 50%;
  left: 50%;
  z-index: 14;
  animation: masterBallCluster 1.2s cubic-bezier(0.2, 0.78, 0.12, 1) forwards;
}

.experience-stage[data-user-role="guest"] .scene-ball-master,
.experience-stage[data-user-role="user"] .scene-ball-master {
  top: 53%;
}

.masterball-panel {
  position: absolute;
  top: clamp(calc(50% + 74px), calc(50% + 6.9vw), calc(50% + 108px));
  left: 50%;
  z-index: 13;
  width: min(320px, 74vw);
  text-align: center;
  transform: translate(-50%, -50%);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.28s ease, transform 0.28s ease;
}

.scene-cluster .masterball-panel {
  opacity: 1;
  transform: translate(-50%, 0);
}

.masterball-title {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: min(166px, 46vw);
  margin: 0 0 9px;
  padding: clamp(8px, 0.42rem + 0.28vw, 11px) clamp(9px, 0.5rem + 0.12vw, 12px);
  border: 1px solid rgba(106, 79, 139, 0.56);
  border-radius: 18px;
  background:
    linear-gradient(180deg, rgba(244, 237, 251, 0.97) 0%, rgba(230, 218, 245, 0.97) 100%);
  box-shadow:
    0 16px 34px rgba(16, 4, 28, 0.18),
    0 0 0 1px rgba(255, 255, 255, 0.5) inset;
  color: #23182f;
  font-size: clamp(0.98rem, 0.86rem + 0.9vw, 1.34rem);
  font-weight: 800;
  letter-spacing: clamp(0.02em, 0.015em + 0.08vw, 0.05em);
  text-shadow: none;
}

.masterball-copy {
  margin: 0 auto;
  max-width: min(250px, 70vw);
  color: #f2eafb;
  font-size: clamp(0.84rem, 0.76rem + 0.22vw, 0.98rem);
  line-height: 1.4;
  font-weight: 600;
  transition: opacity 0.22s ease, transform 0.22s ease;
}

.masterball-copy-hover {
  position: absolute;
  left: 50%;
  top: 100%;
  z-index: 18;
  width: min(260px, 66vw);
  padding: 9px 11px;
  border: 1px solid rgba(165, 132, 206, 0.98);
  border-radius: 14px;
  background:
    linear-gradient(180deg, rgba(253, 248, 255, 0.99) 0%, rgba(235, 220, 250, 0.99) 100%);
  box-shadow:
    0 20px 38px rgba(28, 14, 43, 0.28),
    0 0 0 1px rgba(255, 255, 255, 0.58) inset;
  color: #120d18;
  font-size: clamp(0.74rem, 0.69rem + 0.18vw, 0.86rem);
  font-weight: 700;
  line-height: 1.36;
  transform: translate(-50%, -8px);
  opacity: 0;
}

.scene-ball-master:hover ~ .masterball-panel .masterball-copy-default,
.scene-ball-master:focus-visible ~ .masterball-panel .masterball-copy-default {
  opacity: 0;
  transform: translateY(-6px);
}

.scene-ball-master:hover ~ .masterball-panel .masterball-copy-hover,
.scene-ball-master:focus-visible ~ .masterball-panel .masterball-copy-hover {
  opacity: 1;
  transform: translate(-50%, 0);
}

.scene-panel {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 12;
  transform: translate(-50%, -50%);
  width: min(420px, calc(100vw - 34px));
  opacity: 0;
  pointer-events: none;
}

.experience-stage[data-user-role="guest"] .masterball-panel,
.experience-stage[data-user-role="user"] .masterball-panel {
  top: clamp(calc(53% + 74px), calc(53% + 6.9vw), calc(53% + 108px));
}

.scene-login .scene-panel:not(.hidden),
.scene-register .scene-panel:not(.hidden) {
  animation: panelReveal 0.8s ease forwards;
  animation-delay: 1.35s;
}

.scene-cluster .scene-panel {
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, -44%) scale(0.94);
}

.auth-panel {
  padding: 22px;
  border: 1px solid rgba(241, 214, 255, 0.34);
  border-radius: 26px;
  background: linear-gradient(180deg, rgba(27, 8, 40, 0.84) 0%, rgba(54, 20, 70, 0.82) 100%);
  box-shadow:
    0 26px 54px rgba(12, 2, 20, 0.45),
    0 0 0 1px rgba(255, 255, 255, 0.05) inset;
  backdrop-filter: blur(14px);
}

.scene-form {
  display: grid;
  gap: 14px;
}

.scene-form h1 {
  margin: 0 0 6px;
  text-align: center;
  font-size: clamp(1.8rem, 2.6vw, 2.2rem);
  color: #ffe5ff;
}

.scene-form input {
  background: rgba(255, 255, 255, 0.94);
}

.scene-form .btn {
  padding: 12px 16px;
  font-size: 1rem;
  background: linear-gradient(135deg, #a336a0 0%, #6f2dbd 52%, #2b163f 100%);
}

.scene-switch {
  margin: 0;
  text-align: center;
  color: #f2ddff;
  font-size: 0.95rem;
}

.scene-switch button {
  padding: 0;
  border: none;
  background: transparent;
  color: #ffe88d;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}

.pkx-ball {
  position: relative;
  display: block;
  width: 92px;
  aspect-ratio: 1;
  border-radius: 50%;
  border: 4px solid #26222b;
  overflow: hidden;
  box-shadow:
    0 18px 34px rgba(0, 0, 0, 0.22),
    0 0 0 2px rgba(255, 255, 255, 0.1) inset;
  transition: transform 0.24s ease, box-shadow 0.24s ease;
}

.pkx-ball-asset {
  border: none;
  border-radius: 50%;
  overflow: hidden;
  background: transparent;
  box-shadow: none;
  isolation: isolate;
}

.pkx-ball-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  opacity: 0.98;
  transform: scale(1.04);
  filter: drop-shadow(0 12px 18px rgba(8, 1, 17, 0.26));
}

.pkx-ball-asset::before {
  display: block;
  content: "";
  position: absolute;
  inset: 8%;
  border-radius: 50%;
  background:
    radial-gradient(circle at 32% 24%, rgba(255, 255, 255, 0.24) 0 9%, rgba(255, 255, 255, 0) 24%),
    radial-gradient(circle at 70% 78%, rgba(0, 0, 0, 0.12) 0 12%, rgba(0, 0, 0, 0) 28%);
  z-index: 1;
  pointer-events: none;
}

.pkx-ball::before,
.pkx-ball::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
}

.pkx-ball-asset::after {
  display: none;
}

.pkx-ball::before {
  top: 0;
  height: 50%;
}

.pkx-ball::after {
  top: calc(50% - 4px);
  height: 8px;
  background: #26222b;
  z-index: 3;
}

.pkx-ball .ball-center {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 4;
  width: 22px;
  height: 22px;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  border: 4px solid #26222b;
  background: radial-gradient(circle at 40% 40%, #ffffff 0%, #d9d6de 62%, #a19ba7 100%);
}

.pkx-ball .ball-accent,
.pkx-ball .ball-symbol {
  position: absolute;
  z-index: 2;
}

.pkx-ball .ball-symbol {
  top: 12%;
  left: 50%;
  transform: translateX(-50%);
  font-size: 1.5rem;
  font-weight: 900;
  color: #fff6ff;
  text-shadow: 0 3px 10px rgba(25, 17, 31, 0.35);
}

.ball-accent-left,
.ball-accent-right {
  top: 11%;
  width: 28%;
  height: 23%;
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(255, 146, 210, 1) 0%, rgba(196, 68, 161, 1) 100%);
}

.ball-accent-left { left: 10%; transform: rotate(-16deg); }
.ball-accent-right { right: 10%; transform: rotate(16deg); }

.pkx-ball-poke::before { background: linear-gradient(180deg, #ff6d7b 0%, #c6374e 100%); }
.pkx-ball-poke { background: linear-gradient(180deg, #fcfcfe 50%, #d6d9df 100%); }

.pkx-ball-super::before {
  background:
    radial-gradient(circle at 18% 18%, rgba(255, 255, 255, 0.28) 0 10%, rgba(255, 255, 255, 0) 12%),
    linear-gradient(180deg, #4dc5ff 0%, #2381df 100%);
}
.pkx-ball-super {
  background: linear-gradient(180deg, #fefefe 50%, #d8dce5 100%);
}
.pkx-ball-super .ball-center::before,
.pkx-ball-ultra .ball-center::before,
.pkx-ball-turn .ball-center::before {
  content: "";
  position: absolute;
  top: -24px;
  left: 50%;
  width: 7px;
  height: 24px;
  transform: translateX(-50%);
  background: #26222b;
}
.pkx-ball-super .ball-center::after,
.pkx-ball-super .ball-center::before {
  border-radius: 999px;
}
.pkx-ball-super::after {
  background:
    linear-gradient(90deg, #26222b 0 18%, transparent 18% 82%, #26222b 82% 100%);
}
.pkx-ball-super .ball-center {
  box-shadow:
    -18px -26px 0 -8px #e25464,
    18px -26px 0 -8px #e25464;
}

.pkx-ball-ultra::before {
  background:
    radial-gradient(circle at 18% 16%, rgba(255, 255, 255, 0.2) 0 9%, rgba(255, 255, 255, 0) 12%),
    linear-gradient(180deg, #34323a 0%, #16141a 100%);
}
.pkx-ball-ultra { background: linear-gradient(180deg, #fcfcfd 50%, #d6d9df 100%); }
.pkx-ball-ultra .ball-center::after,
.pkx-ball-ultra .ball-center::before {
  content: "";
  position: absolute;
  top: -24px;
  width: 14px;
  height: 24px;
  background: linear-gradient(180deg, #ffd44f 0%, #c79e1a 100%);
}
.pkx-ball-ultra .ball-center::before { left: -18px; transform: skewX(-12deg); }
.pkx-ball-ultra .ball-center::after { right: -18px; transform: skewX(12deg); }
.pkx-ball-ultra .ball-center {
  box-shadow:
    -24px -28px 0 -10px #f0c53e,
    24px -28px 0 -10px #f0c53e;
}

.pkx-ball-master::before {
  background:
    radial-gradient(circle at 20% 18%, rgba(255, 255, 255, 0.2) 0 9%, rgba(255, 255, 255, 0) 12%),
    linear-gradient(180deg, #6150c2 0%, #2d255f 100%);
}
.pkx-ball-master { background: linear-gradient(180deg, #fbfbfd 50%, #d7dae1 100%); }

.pkx-ball-honor::before {
  background:
    radial-gradient(circle at 18% 18%, rgba(255, 255, 255, 0.3) 0 10%, rgba(255, 255, 255, 0) 13%),
    linear-gradient(180deg, #fdfdff 0%, #e4e8ef 100%);
}
.pkx-ball-honor { background: linear-gradient(180deg, #fbfbfd 50%, #d7dae1 100%); }
.pkx-ball-honor::after { background: linear-gradient(90deg, transparent 0, #d94a58 12%, #d94a58 88%, transparent 100%); }
.pkx-ball-honor .ball-center {
  box-shadow: 0 0 0 5px #ffffff, 0 0 0 8px #cf4957;
}

.pkx-ball-gs::before {
  background:
    radial-gradient(circle at 18% 18%, rgba(255, 255, 255, 0.24) 0 10%, rgba(255, 255, 255, 0) 13%),
    linear-gradient(180deg, #ffe167 0%, #d4a820 100%);
}
.pkx-ball-gs { background: linear-gradient(180deg, #fcfcfd 50%, #d7dae1 100%); }
.pkx-ball-gs .ball-center { border-color: #987320; background: radial-gradient(circle at 40% 40%, #ffefaa 0%, #d3ac2e 72%, #a37d10 100%); }
.pkx-ball-gs::after { background: linear-gradient(90deg, transparent 0, #2d86da 12%, #2d86da 88%, transparent 100%); }
.pkx-ball-gs .ball-center {
  box-shadow: 0 0 0 5px #f0c84b;
}

.pkx-ball-dusk::before {
  background:
    radial-gradient(circle at 18% 16%, rgba(255, 255, 255, 0.2) 0 9%, rgba(255, 255, 255, 0) 12%),
    radial-gradient(circle at 30% 30%, #53b85e 0 10%, rgba(83, 184, 94, 0) 12%),
    radial-gradient(circle at 70% 24%, #53b85e 0 10%, rgba(83, 184, 94, 0) 12%),
    linear-gradient(180deg, #282a31 0%, #111319 100%);
}
.pkx-ball-dusk { background: linear-gradient(180deg, #23252a 50%, #191a1f 100%); }
.pkx-ball-dusk::after { background: linear-gradient(90deg, transparent 0, #df7a21 14%, #df7a21 86%, transparent 100%); }
.pkx-ball-dusk .ball-center { border-color: #8f4614; }

.pkx-ball-glory::before {
  background:
    radial-gradient(circle at 20% 18%, rgba(255, 255, 255, 0.28) 0 9%, rgba(255, 255, 255, 0) 12%),
    linear-gradient(180deg, #f77949 0%, #ce5129 100%);
}
.pkx-ball-glory { background: linear-gradient(180deg, #eb604e 50%, #c13f37 100%); }
.pkx-ball-glory::after { background: linear-gradient(90deg, transparent 0, #7f2626 16%, #7f2626 84%, transparent 100%); }
.pkx-ball-glory .ball-center { border-color: #7f2626; background: radial-gradient(circle at 40% 40%, #ff9a78 0%, #db5734 72%, #aa3416 100%); }

.pkx-ball-turn::before {
  background:
    radial-gradient(circle at 18% 18%, rgba(255, 255, 255, 0.24) 0 9%, rgba(255, 255, 255, 0) 12%),
    linear-gradient(180deg, #35373d 0%, #111217 100%);
}
.pkx-ball-turn { background: linear-gradient(180deg, #fcfcfd 50%, #d7dae1 100%); }
.pkx-ball-turn .ball-center::after,
.pkx-ball-turn .ball-center::before {
  content: "";
  position: absolute;
  top: -23px;
  width: 14px;
  height: 21px;
  border-radius: 999px;
  background: linear-gradient(180deg, #ff6767 0%, #ba2e35 100%);
}
.pkx-ball-turn .ball-center::before { left: -20px; transform: rotate(-28deg); }
.pkx-ball-turn .ball-center::after { right: -20px; transform: rotate(28deg); }

.is-xl {
  width: min(28vw, 280px);
  border-width: 7px;
  box-shadow:
    0 34px 72px rgba(8, 1, 17, 0.32),
    0 0 0 3px rgba(255, 255, 255, 0.12) inset;
}

.pkx-ball-asset.is-xl {
  box-shadow: none;
}

.is-xl::after {
  top: calc(50% - 6px);
  height: 12px;
}

.is-xl .ball-center {
  width: 54px;
  height: 54px;
  border-width: 7px;
}

.is-xl .ball-symbol {
  font-size: clamp(2.5rem, 4vw, 3.6rem);
}

.cluster-stage {
  position: absolute;
  inset: 0;
  opacity: 0;
  transform: scale(0.97);
  transition: opacity 0.6s ease, transform 0.6s ease;
  pointer-events: none;
}

.cluster-stage.is-live {
  opacity: 1;
  transform: scale(1);
  pointer-events: auto;
}

.cluster-map {
  position: relative;
  width: min(1040px, 94vw);
  height: min(780px, 74vh);
  margin: 0 auto;
}

.cluster-lines {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  overflow: visible;
  pointer-events: none;
}

.cluster-line {
  stroke: rgba(228, 191, 255, 0.9);
  stroke-width: 3.2;
  stroke-linecap: round;
  filter: drop-shadow(0 0 12px rgba(223, 173, 255, 0.42));
  animation: armPulse 4.6s ease-in-out infinite;
}

.experience-stage[data-user-role="user"] .node-admin,
.experience-stage[data-user-role="guest"] .node-admin {
  display: none;
}

.cluster-node {
  position: absolute;
  z-index: 2;
  display: grid;
  justify-items: center;
  gap: 10px;
  text-decoration: none;
  color: #fff8ff;
  transform: translate(-50%, -50%);
  animation: floatNode 5.4s ease-in-out infinite;
}

.node-admin {
  z-index: 15;
}

.cluster-node::after {
  content: attr(data-summary);
  position: absolute;
  z-index: 16;
  bottom: calc(100% + 10px);
  left: 50%;
  width: clamp(168px, 11vw, 188px);
  padding: clamp(6px, 0.35vw, 7px) clamp(7px, 0.45vw, 9px);
  border: 1px solid rgba(196, 180, 224, 0.95);
  border-radius: 14px;
  background: rgba(242, 235, 250, 0.96);
  box-shadow:
    0 14px 28px rgba(25, 12, 40, 0.2),
    0 0 0 1px rgba(255, 255, 255, 0.4) inset;
  color: #18131f;
  font-size: clamp(0.68rem, 0.62rem + 0.12vw, 0.74rem);
  font-weight: 600;
  line-height: 1.18;
  text-align: center;
  transform: translate(-50%, 10px);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.cluster-node:hover::after,
.cluster-node:focus-visible::after {
  opacity: 1;
  transform: translate(-50%, 0);
}

.node-services::after {
  width: clamp(154px, 10vw, 170px);
  padding: clamp(5px, 0.32vw, 6px) clamp(6px, 0.38vw, 8px);
  font-size: clamp(0.66rem, 0.6rem + 0.1vw, 0.71rem);
  line-height: 1.14;
  top: calc(100% + 6px);
  bottom: auto;
  transform: translate(-50%, -10px);
}

.node-support::after,
.node-admin::after {
  top: calc(100% + 10px);
  bottom: auto;
  transform: translate(-50%, -10px);
}

.node-support:hover::after,
.node-support:focus-visible::after,
.node-admin:hover::after,
.node-admin:focus-visible::after {
  transform: translate(-50%, 0);
}

.cluster-node:hover .pkx-ball,
.cluster-node:focus-visible .pkx-ball {
  transform: scale(1.08);
  box-shadow:
    0 26px 42px rgba(0, 0, 0, 0.32),
    0 0 0 2px rgba(255, 255, 255, 0.14) inset;
}

.cluster-label {
  opacity: 1;
  font-size: 0.84rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  transition: opacity 0.18s ease;
}

.node-services .cluster-label {
  order: -1;
}

.experience-stage[data-user-role="admin"] .node-services .cluster-label {
  order: 0;
}

.experience-stage[data-user-role="admin"] .node-services {
  top: 25%;
  left: 21%;
}

.node-services { top: 17%; left: 21%; animation-delay: -0.1s; }
.node-support { top: 81%; left: 21%; animation-delay: -0.6s; }
.node-admin { top: 81%; left: 79%; animation-delay: -1.1s; }
.node-account { top: 25%; left: 79%; animation-delay: -1.4s; }

.experience-stage[data-user-role="user"] .node-support::after,
.experience-stage[data-user-role="guest"] .node-support::after {
  top: calc(100% + 12px);
  bottom: auto;
  width: min(clamp(182px, 13vw, 204px), 56vw);
  padding: clamp(6px, 0.35vw, 7px) clamp(6px, 0.42vw, 8px);
  font-size: clamp(0.68rem, 0.62rem + 0.12vw, 0.74rem);
  line-height: 1.16;
  transform: translate(-50%, -10px);
}

.experience-stage[data-user-role="guest"] .node-support:hover::after,
.experience-stage[data-user-role="guest"] .node-support:focus-visible::after,
.experience-stage[data-user-role="user"] .node-support:hover::after,
.experience-stage[data-user-role="user"] .node-support:focus-visible::after {
  transform: translate(-50%, 0);
}

.experience-stage[data-user-role="admin"] .node-admin::after {
  width: min(clamp(210px, 18vw, 244px), 23vw);
  padding: clamp(6px, 0.38vw, 8px) clamp(7px, 0.48vw, 9px);
  font-size: clamp(0.66rem, 0.6rem + 0.12vw, 0.72rem);
  line-height: 1.16;
}

.experience-stage[data-user-role="admin"] .node-services::after {
  top: auto;
  bottom: calc(100% + 18px);
  width: min(clamp(206px, 15vw, 236px), 21vw);
  padding: clamp(6px, 0.32vw, 7px) clamp(7px, 0.46vw, 9px);
  font-size: clamp(0.7rem, 0.64rem + 0.14vw, 0.76rem);
  line-height: 1.08;
  transform: translate(-50%, 10px);
}

.experience-stage[data-user-role="guest"] .node-services,
.experience-stage[data-user-role="user"] .node-services {
  top: 20%;
  left: 50%;
}

.experience-stage[data-user-role="user"] .node-services {
  top: 20%;
}

.experience-stage[data-user-role="user"] .node-services::after {
  top: calc(100% + 16px);
}

.experience-stage[data-user-role="guest"] .node-account,
.experience-stage[data-user-role="user"] .node-account {
  top: 76%;
  left: 80%;
}

.experience-stage[data-user-role="user"] .node-account::after {
  top: calc(100% + 12px);
  bottom: auto;
  transform: translate(-50%, -10px);
}

.experience-stage[data-user-role="user"] .node-account:hover::after,
.experience-stage[data-user-role="user"] .node-account:focus-visible::after {
  transform: translate(-50%, 0);
}

.experience-stage[data-user-role="guest"] .node-support,
.experience-stage[data-user-role="user"] .node-support {
  top: 76%;
  left: 20%;
}
.site-footer-experience {
  position: relative;
  z-index: 5;
  margin-top: 0;
  border-top-color: rgba(255, 255, 255, 0.1);
  background: rgba(13, 6, 21, 0.52);
  backdrop-filter: blur(8px);
}

.section-cluster-page {
  color: #f7f2ff;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

.section-cluster-header {
  position: sticky;
  top: 0;
  z-index: 45;
  padding: 18px 0 8px;
  backdrop-filter: blur(10px);
  background: rgba(18, 8, 30, 0.34);
}

.section-cluster-nav {
  position: relative;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  padding: 12px 14px 18px;
  border: 1px solid rgba(227, 212, 247, 0.2);
  border-radius: 28px;
  background: linear-gradient(180deg, rgba(34, 15, 50, 0.64) 0%, rgba(22, 10, 34, 0.56) 100%);
  box-shadow:
    0 18px 36px rgba(11, 3, 21, 0.22),
    0 0 0 1px rgba(255, 255, 255, 0.04) inset;
  overflow: hidden;
}

.section-cluster-line {
  position: absolute;
  top: 78px;
  left: 7%;
  right: 7%;
  height: 5px;
  border-radius: 999px;
  background: rgba(255, 250, 255, 1);
  box-shadow:
    0 0 0 1px rgba(255, 250, 255, 1),
    0 0 8px rgba(246, 212, 255, 0.82),
    0 0 14px rgba(222, 154, 255, 0.58);
  pointer-events: none;
}

.section-cluster-line::before,
.section-cluster-line::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  border-radius: 999px;
}

.section-cluster-line::before {
  top: 50%;
  height: 11px;
  transform: translateY(-50%);
  background: rgba(225, 146, 255, 0.62);
  filter: blur(5px);
  opacity: 1;
}

.section-cluster-line::after {
  top: 50%;
  height: 20px;
  transform: translateY(-50%);
  background: rgba(156, 62, 255, 0.34);
  filter: blur(10px);
  opacity: 1;
}

.section-cluster-link {
  position: relative;
  z-index: 1;
  min-width: 0;
  display: grid;
  justify-items: center;
  gap: 8px;
  text-decoration: none;
  color: #fff8ff;
}

.section-cluster-link.hidden {
  display: none;
}

.section-cluster-link .pkx-ball {
  transition: transform 0.22s ease, filter 0.22s ease;
}

.section-cluster-link:hover .pkx-ball,
.section-cluster-link:focus-visible .pkx-ball {
  transform: scale(1.08);
  filter: drop-shadow(0 10px 18px rgba(8, 1, 17, 0.34));
}

.section-cluster-link.is-active .pkx-ball {
  transform: scale(1.12);
  filter: drop-shadow(0 14px 22px rgba(244, 220, 255, 0.24));
}

.section-cluster-label {
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-align: center;
  color: #f9f2ff;
  text-shadow: 0 5px 14px rgba(15, 5, 27, 0.28);
}

.section-cluster-link.is-active .section-cluster-label {
  color: #ffeaa5;
}

.section-nav-ball {
  width: 74px;
}

.section-nav-ball.is-home {
  width: 82px;
}

.section-page-main {
  position: relative;
  z-index: 2;
  padding-top: 0;
  flex: 1 0 auto;
}

.section-page-main .card {
  border-color: rgba(225, 208, 243, 0.45);
  background: linear-gradient(180deg, rgba(252, 249, 255, 0.96) 0%, rgba(255, 255, 255, 0.94) 100%);
  box-shadow:
    0 18px 34px rgba(15, 4, 29, 0.16),
    0 2px 0 rgba(255, 255, 255, 0.95) inset;
}

@keyframes cloudPass {
  from { transform: translateX(110vw); }
  to { transform: translateX(-46vw); }
}

@keyframes masterBallArrival {
  0% { transform: translate(55vw, -50%) rotate(0deg) scale(0.8); }
  56% { transform: translate(-50%, -50%) rotate(-720deg) scale(1); }
  100% { transform: translate(-50%, -50%) rotate(-720deg) scale(1); }
}

@keyframes registerBallArrival {
  0% { transform: translate(-155%, -50%) rotate(0deg) scale(0.8); }
  56% { transform: translate(-50%, -50%) rotate(720deg) scale(1); }
  100% { transform: translate(-50%, -50%) rotate(720deg) scale(1); }
}

@keyframes panelReveal {
  from { opacity: 0; transform: translate(-50%, -42%) scale(0.94); }
  to { opacity: 1; pointer-events: auto; transform: translate(-50%, -50%) scale(1); }
}

@keyframes masterBallCluster {
  0% { transform: translate(-50%, -50%) rotate(-720deg) scale(1); }
  55% { transform: translate(-50%, -50%) rotate(-760deg) scale(0.55); }
  100% { transform: translate(-50%, -50%) rotate(-760deg) scale(0.55); }
}

@keyframes floatNode {
  0%, 100% { transform: translate(-50%, -50%) translateY(0); }
  50% { transform: translate(-50%, -50%) translateY(-10px); }
}

@keyframes armPulse {
  0%, 100% { opacity: 0.88; }
  50% { opacity: 0.55; }
}

@media (max-width: 760px) {
  .wrap {
    width: min(100%, calc(100vw - 16px));
  }

  .floating-cart-widget {
    top: auto;
    right: 12px;
    bottom: 14px;
    width: 64px;
  }

  .floating-cart-popover {
    right: 0;
    top: auto;
    bottom: 74px;
    width: min(300px, calc(100vw - 24px));
  }

  .configurator-workspace.is-modal-open {
    inset: 0;
    padding: 68px 14px 14px;
  }

  .configurator-scroll-top {
    right: 18px;
    bottom: 18px;
    width: 52px;
    height: 52px;
  }

  #services-cart-block {
    top: 12px;
    right: 12px;
    bottom: 12px;
    width: calc(100vw - 24px);
  }
  .section-page-main .card {
    padding: 14px;
  }
  .services-block {
    padding: 10px;
  }
  .services-layout.is-configurator-focus {
    grid-template-columns: 1fr;
  }
  #configurator-products.grid.small {
    grid-template-columns: 1fr;
  }
  .configurator-audience-toggles {
    grid-template-columns: 1fr;
  }
  .configurator-edition-cards {
    grid-template-columns: 1fr;
  }
  .nav { align-items: flex-start; flex-direction: column; }
  .ev-grid { grid-template-columns: repeat(2, minmax(90px, 1fr)); }
  .hero-layout { grid-template-columns: 1fr; }
  .hero-media { min-height: 180px; }
  .landing-split { grid-template-columns: 1fr; }
  .request-spec-grid { grid-template-columns: 1fr; }
  .configurator-grid { grid-template-columns: 1fr; }
  #configurator-selector-panel,
  #configurator-build-panel,
  #configurator-review-panel {
    grid-column: auto;
  }
  .configurator-selector-shell { grid-template-columns: 1fr; }
  .configurator-selector-results { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .configurator-build-insights { grid-template-columns: 1fr; }
  .configurator-summary { grid-template-columns: 1fr; }
  .configurator-toolbar,
  .configurator-meta-card {
    flex-direction: column;
    align-items: stretch;
  }
  .configurator-slot-tools {
    flex-wrap: wrap;
    justify-content: center;
  }
  .configurator-toolbar label,
  .configurator-selector-controls label {
    flex-basis: auto;
  }
  .configurator-selector-controls {
    grid-template-columns: 1fr;
    align-items: stretch;
  }
  .configurator-selector-controls #configurator-search,
  .configurator-selector-controls #configurator-type {
    grid-column: 1 / -1;
  }
  .configurator-selector-toolbar,
  .configurator-step-actions,
  .configurator-selector-actions {
    flex-direction: column;
    align-items: stretch;
  }
  .configurator-review-actions #configurator-add-to-cart {
    min-width: 0;
    width: 100%;
  }
  .configurator-preview {
    padding: 12px;
  }
  .configurator-preview-art {
    min-height: 156px;
  }
  .configurator-box-topbar {
    grid-template-columns: 1fr;
    justify-items: start;
  }
  .configurator-box-nav {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  #configurator-box-counter {
    grid-column: auto;
    order: initial;
    width: 100%;
  }
  .configurator-box-nav .btn:first-child,
  .configurator-box-nav .btn:last-child {
    justify-self: stretch;
    width: 100%;
  }
  .configurator-preview-empty {
    min-height: 160px;
    padding: 18px;
  }
  .moves-grid { grid-template-columns: 1fr; }
  .configurator-moves-fieldset {
    grid-column: 1 / -1;
  }
  .admin-shell,
  .admin-split,
  .admin-data-grid,
  .admin-data-grid-dual { grid-template-columns: 1fr; }
  .admin-form-card .request-spec-grid {
    grid-template-columns: 1fr;
  }
  .support-form-head {
    display: grid;
    grid-template-columns: 1fr;
  }
  .admin-sidebar {
    position: static;
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  }
  .footer-wrap { flex-direction: column; align-items: flex-start; }
  .experience-stage { min-height: calc(100vh - 132px); }
  .experience-intro,
  .cluster-stage { min-height: calc(100vh - 210px); }
  .scene-panel { width: min(92vw, 360px); }
  .is-xl { width: min(58vw, 220px); }
  .masterball-panel {
    top: calc(50% + 68px);
    width: min(264px, 80vw);
  }
  .masterball-title {
    font-size: clamp(0.94rem, 0.84rem + 0.55vw, 1.08rem);
    min-width: min(152px, 54vw);
    padding: 8px 9px;
    border-radius: 16px;
  }
  .masterball-copy {
    max-width: 190px;
    font-size: 0.82rem;
  }
  .masterball-copy-hover {
    width: min(208px, 72vw);
    padding: 7px 8px;
    font-size: 0.7rem;
  }
  .section-cluster-header {
    padding: 12px 0 4px;
  }
  .section-cluster-nav {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: start;
    justify-items: center;
    gap: 10px 6px;
    padding: 12px 8px 14px;
    border-radius: 22px;
    overflow: visible;
    justify-content: stretch;
  }
  .section-cluster-line {
    display: block;
    left: 46px;
    right: 46px;
    top: 62px;
    height: 4px;
  }
  .section-cluster-link {
    min-width: 0;
    gap: 6px;
  }
  .section-cluster-label {
    font-size: 0.64rem;
    letter-spacing: 0.04em;
    line-height: 1.15;
  }
  .section-nav-ball {
    width: min(100%, 58px);
  }
  .section-nav-ball.is-home {
    width: min(100%, 64px);
  }
  body[data-user-role="admin"] .section-cluster-nav {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    align-items: start;
    justify-items: center;
    gap: 8px 4px;
    padding: 12px 6px 14px;
    overflow: visible;
  }
  body[data-user-role="admin"] .section-cluster-line {
    display: block;
    left: 26px;
    right: 26px;
    top: 56px;
  }
  body[data-user-role="admin"] .section-cluster-link {
    min-width: 0;
    width: 100%;
    gap: 5px;
  }
  body[data-user-role="admin"] .section-cluster-label {
    font-size: 0.55rem;
    letter-spacing: 0.03em;
    line-height: 1.1;
  }
  body[data-user-role="admin"] .section-nav-ball {
    width: min(100%, 46px);
  }
  body[data-user-role="admin"] .section-nav-ball.is-home {
    width: min(100%, 52px);
  }
  .cluster-map {
    width: min(94vw, 420px);
    height: 660px;
  }
  .cloud { width: 60vw; min-width: 180px; }
  .node-services { top: 17%; left: 22%; }
  .node-support { top: 76%; left: 22%; }
  .node-admin { top: 76%; left: 78%; }
  .node-account { top: 24%; left: 78%; }
  .experience-stage[data-user-role="admin"] .cluster-map {
    height: 700px;
  }
  .experience-stage[data-user-role="admin"] .node-admin {
    top: 68%;
    left: 78%;
  }
  .experience-stage[data-user-role="admin"] .node-support {
    top: 68%;
    left: 22%;
  }
  .experience-stage[data-user-role="admin"] .node-services {
    top: 24%;
    left: 22%;
  }
  .experience-stage[data-user-role="guest"] .node-services,
  .experience-stage[data-user-role="user"] .node-services {
    top: 16%;
    left: 50%;
  }
  .experience-stage[data-user-role="user"] .node-services {
    top: 16%;
  }
  .experience-stage[data-user-role="user"] .node-services::after {
    top: calc(100% + 14px);
  }
  .experience-stage[data-user-role="guest"] .node-account,
  .experience-stage[data-user-role="user"] .node-account {
    top: 76%;
    left: 81%;
  }
  .experience-stage[data-user-role="user"] .node-account::after {
    top: calc(100% + 10px);
    bottom: auto;
  }
  .experience-stage[data-user-role="guest"] .node-support,
  .experience-stage[data-user-role="user"] .node-support {
    top: 76%;
    left: 19%;
  }
  .experience-stage[data-user-role="admin"] .node-admin::after {
    top: calc(100% + 10px);
    bottom: auto;
    width: min(184px, 54vw);
    padding: 6px 7px;
    font-size: 0.64rem;
    line-height: 1.12;
  }
  .experience-stage[data-user-role="admin"] .node-admin::after {
    left: 50%;
    right: auto;
    transform: translate(-50%, -10px);
  }
  .experience-stage[data-user-role="admin"] .node-services::after {
    top: auto;
    bottom: calc(100% + 15px);
    width: min(194px, 50vw);
    padding: 6px 7px;
    font-size: 0.66rem;
    line-height: 1.06;
    transform: translate(-50%, 10px);
  }
  .experience-stage[data-user-role="admin"] .node-support::after {
    top: calc(100% + 10px);
    bottom: auto;
    left: 50%;
    right: auto;
    width: min(184px, 54vw);
    padding: 6px 7px;
    font-size: 0.64rem;
    line-height: 1.12;
    transform: translate(-50%, -10px);
  }
  .experience-stage[data-user-role="admin"] .node-admin:hover::after,
  .experience-stage[data-user-role="admin"] .node-admin:focus-visible::after {
    transform: translate(-50%, 0);
  }
  .experience-stage[data-user-role="admin"] .node-services:hover::after,
  .experience-stage[data-user-role="admin"] .node-services:focus-visible::after {
    transform: translate(-50%, 0);
  }
  .experience-stage[data-user-role="admin"] .node-support:hover::after,
  .experience-stage[data-user-role="admin"] .node-support:focus-visible::after {
    transform: translate(-50%, 0);
  }
  .cluster-node::after {
    width: 154px;
    padding: 6px 7px;
    font-size: 0.64rem;
    line-height: 1.12;
  }
  .cluster-label { opacity: 1; }
}

@media (max-width: 1280px) {
  .wrap {
    width: min(1180px, 95%);
  }

  .services-hub {
    padding: 18px;
  }

  .configurator-grid {
    grid-template-columns: minmax(240px, 0.82fr) minmax(0, 1.18fr);
  }

  #configurator-selector-panel,
  #configurator-build-panel,
  #configurator-review-panel {
    grid-column: 2;
  }

  .configurator-selector-results {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .admin-split {
    grid-template-columns: 1fr;
  }

  .info-grid {
    grid-template-columns: 1fr;
  }

  .support-quick-grid,
  .admin-quick-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 1080px) {
  .section-page-main {
    padding-bottom: 34px;
  }

  .services-hub {
    padding: 16px;
  }

  .configurator-grid {
    grid-template-columns: 1fr;
  }

  #configurator-selector-panel,
  #configurator-build-panel,
  #configurator-review-panel {
    grid-column: auto;
  }

  .configurator-selector-shell {
    grid-template-columns: 1fr;
  }

  .configurator-preview {
    order: initial;
    position: static;
  }

  .configurator-selector-results {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .configurator-meta-card {
    gap: 14px;
  }

  .configurator-summary {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 920px) {
  .wrap {
    width: min(100%, calc(100vw - 24px));
  }

  .section-page-main .card {
    padding: 16px;
  }

  .services-block {
    padding: 12px;
  }
  .services-layout.is-configurator-focus {
    grid-template-columns: 1fr;
  }
  #configurator-products.grid.small {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .configurator-audience-toggles {
    grid-template-columns: 1fr;
  }

  .toolbar {
    gap: 10px;
  }

  .configurator-selector-results {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .configurator-slot-actions .btn,
  .configurator-review-actions .btn,
  .configurator-step-actions .btn {
    width: 100%;
  }

  .configurator-box-nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  #configurator-box-counter {
    grid-column: 1 / -1;
    order: -1;
  }

  #configurator-box-prev,
  #configurator-box-next {
    width: 100%;
  }

  .configurator-selector-controls {
    grid-template-columns: 1fr;
  }

  .configurator-selector-controls #configurator-search,
  .configurator-selector-controls #configurator-type,
  .configurator-selector-controls .configurator-checkbox,
  .configurator-selector-controls #configurator-search-btn {
    grid-column: 1 / -1;
  }

  .configurator-build-form .grid,
  .moves-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #configurator-build-form {
    grid-template-columns: 1fr;
  }
  .configurator-moves-fieldset {
    grid-column: 1 / -1;
  }

  .configurator-summary-card.is-overview .configurator-summary-kpis {
    grid-template-columns: 1fr;
  }

  .ev-grid {
    grid-template-columns: repeat(2, minmax(72px, 112px));
    justify-content: start;
  }

  .configurator-spread-columns {
    grid-template-columns: 1fr;
    gap: 18px;
  }
}

@media (min-width: 1100px) {
  .cluster-node::after {
    width: clamp(198px, 13.5vw, 228px);
    padding: clamp(7px, 0.45vw, 9px) clamp(8px, 0.55vw, 11px);
    font-size: clamp(0.74rem, 0.6rem + 0.28vw, 0.84rem);
    line-height: 1.22;
  }

  .node-services::after {
    width: clamp(176px, 11.5vw, 198px);
    padding: clamp(6px, 0.4vw, 8px) clamp(7px, 0.5vw, 10px);
    font-size: clamp(0.7rem, 0.58rem + 0.22vw, 0.78rem);
    line-height: 1.18;
    top: calc(100% + 6px);
    bottom: auto;
  }

  .experience-stage[data-user-role="user"] .node-support::after,
  .experience-stage[data-user-role="guest"] .node-support::after {
    width: clamp(196px, 13.8vw, 224px);
    padding: clamp(7px, 0.45vw, 9px) clamp(8px, 0.55vw, 11px);
    font-size: clamp(0.73rem, 0.6rem + 0.24vw, 0.82rem);
    line-height: 1.22;
  }

  .experience-stage[data-user-role="admin"] .node-admin::after {
    width: min(clamp(228px, 16vw, 288px), 24vw);
    padding: clamp(8px, 0.48vw, 10px) clamp(9px, 0.6vw, 12px);
    font-size: clamp(0.74rem, 0.6rem + 0.24vw, 0.84rem);
    line-height: 1.22;
  }
}


.experience-page {
  --pkx-lavender-panel: rgba(242, 230, 255, 0.94);
  --pkx-lavender-panel-strong: rgba(229, 204, 250, 0.96);
  --pkx-purple-panel: rgba(76, 30, 112, 0.94);
  --pkx-purple-panel-strong: rgba(44, 12, 66, 0.97);
  --pkx-purple-ink: #2e164c;
  --pkx-soft-ink: #5c4d73;
  --pkx-soft-border: rgba(126, 67, 189, 0.28);
}

.section-page-main .card,
.section-page-main .services-block,
.section-page-main .item,
.section-page-main .output,
.services-configurator-block {
  background:
    radial-gradient(circle at 10% 0%, rgba(255, 255, 255, 0.62), transparent 32%),
    linear-gradient(145deg, var(--pkx-lavender-panel), rgba(250, 244, 255, 0.91));
  border-color: var(--pkx-soft-border);
  color: var(--pkx-purple-ink);
  box-shadow: 0 22px 54px rgba(28, 7, 48, 0.2);
}

.section-page-main .card h2,
.section-page-main .card h3,
.section-page-main .services-block h3,
.section-page-main .item h3,
.section-page-main .item h4,
.section-page-main .output h3,
.section-page-main strong {
  color: #4c1f8c;
}

.section-page-main .card p,
.section-page-main .card li,
.section-page-main .services-block p,
.section-page-main .item p,
.section-page-main .output p,
.section-page-main .muted,
.section-page-main .total-line {
  color: var(--pkx-soft-ink);
}

.section-page-main .card > h2,
.section-page-main .services-block > h3,
.section-page-main .item > h3,
.section-page-main .output > h3 {
  background: linear-gradient(135deg, rgba(242, 232, 255, 0.98), rgba(227, 205, 250, 0.96));
  border: 1px solid rgba(127, 70, 194, 0.24);
  color: #55209b;
}

.section-page-main .info-card,
.section-page-main .service-card,
.section-page-main .configurator-product-card,
.section-page-main .configurator-summary-card,
.section-page-main .configurator-build-card,
.section-page-main .configurator-meta-card,
.section-page-main .configurator-panel,
.section-page-main .configurator-preview-card {
  background:
    radial-gradient(circle at 18% 0%, rgba(255, 212, 255, 0.18), transparent 38%),
    linear-gradient(145deg, var(--pkx-purple-panel), var(--pkx-purple-panel-strong));
  border-color: rgba(236, 206, 255, 0.22);
  color: #f7efff;
}

.section-page-main .info-card h3,
.section-page-main .info-card h4,
.section-page-main .service-card h3,
.section-page-main .configurator-product-card h3,
.section-page-main .configurator-summary-card h3,
.section-page-main .configurator-build-card h5,
.section-page-main .configurator-meta-card h5,
.section-page-main .configurator-panel h3,
.section-page-main .configurator-preview-card h5 {
  color: #ffc8ff;
}

.section-page-main .info-card p,
.section-page-main .info-card li,
.section-page-main .service-card p,
.section-page-main .configurator-product-card p,
.section-page-main .configurator-summary-card p,
.section-page-main .configurator-build-card p,
.section-page-main .configurator-meta-card p,
.section-page-main .configurator-panel p,
.section-page-main .configurator-preview-card p {
  color: #eadfff;
}

.section-page-main .configurator-product-card details,
.section-page-main .configurator-checkbox,
.section-page-main .notice,
.section-page-main .status-badge,
.section-page-main .configurator-slot-card,
.section-page-main .configurator-selected-edition,
.section-page-main .form-grid input,
.section-page-main .form-grid textarea,
.section-page-main .form-grid select,
.section-page-main .request-spec-grid input,
.section-page-main .request-spec-grid textarea,
.section-page-main .request-spec-grid select {
  background: rgba(246, 235, 255, 0.9);
  border-color: rgba(134, 76, 199, 0.3);
  color: #341756;
}

.section-page-main .form-grid > label,
.section-page-main .request-spec-grid > label,
.section-page-main label,
.section-page-main legend {
  color: #f8efff;
}

.section-page-main .card .form-grid > label,
.section-page-main .card .request-spec-grid > label,
.section-page-main .services-block .form-grid > label,
.section-page-main .services-block .request-spec-grid > label {
  color: #3a1c5e;
}

.section-page-main input::placeholder,
.section-page-main textarea::placeholder {
  color: rgba(70, 45, 92, 0.7);
}

.section-cluster-link {
  gap: 13px;
}

.section-cluster-link .pkx-ball {
  position: relative;
  z-index: 1;
  transform-origin: center;
}

.section-cluster-label {
  position: relative;
  z-index: 4;
  text-shadow: 0 2px 10px rgba(20, 6, 32, 0.78);
}

.section-cluster-link:hover .pkx-ball,
.section-cluster-link:focus-visible .pkx-ball {
  transform: translateY(2px) scale(1.04);
  filter: drop-shadow(0 0 16px rgba(241, 186, 255, 0.72));
}

.section-cluster-link.is-active .pkx-ball {
  transform: translateY(3px) scale(1.05);
  box-shadow: 0 0 0 5px rgba(246, 232, 255, 0.7), 0 0 28px rgba(246, 178, 255, 0.72);
}

.floating-cart-trigger {
  background: linear-gradient(145deg, rgba(96, 39, 145, 0.98), rgba(171, 92, 206, 0.96));
  border-color: rgba(251, 226, 255, 0.38);
  color: #fff7ff;
  box-shadow: 0 18px 38px rgba(42, 9, 63, 0.34);
}

.floating-cart-popover {
  background:
    radial-gradient(circle at 86% 0%, rgba(255, 199, 255, 0.16), transparent 36%),
    linear-gradient(160deg, rgba(101, 40, 145, 0.98), rgba(55, 15, 82, 0.98));
  border-color: rgba(245, 214, 255, 0.28);
  color: #fff7ff;
}

.floating-cart-popover::after {
  background: rgba(101, 40, 145, 0.98);
}

.floating-cart-card h4,
.floating-cart-card p,
.floating-cart-card strong,
.floating-cart-card a,
.floating-cart-line,
.floating-cart-popover .muted {
  color: #fff2ff;
}

#services-cart-block {
  background:
    radial-gradient(circle at 8% 4%, rgba(255, 210, 255, 0.18), transparent 34%),
    linear-gradient(150deg, rgba(109, 47, 151, 0.98), rgba(52, 15, 77, 0.98));
  border-color: rgba(246, 222, 255, 0.32);
  color: #fff4ff;
  box-shadow: 0 26px 88px rgba(17, 3, 31, 0.42);
}

#services-cart-block.is-open::before {
  background: rgba(36, 12, 52, 0.46);
  backdrop-filter: blur(5px);
}

#services-cart-block h3,
#services-cart-block p,
#services-cart-block strong,
#services-cart-block .muted,
#services-cart-block .total-line {
  color: #fff2ff;
}

#services-cart-block .item,
#services-cart-block .output {
  background: rgba(244, 230, 255, 0.12);
  border-color: rgba(244, 218, 255, 0.22);
  color: #fff2ff;
}

#services-cart-block .btn.ghost,
.section-page-main .btn.ghost {
  background: rgba(242, 229, 255, 0.92);
  border-color: rgba(135, 76, 202, 0.24);
  color: #2f164f;
}

.bizum-payment-card {
  margin: 16px 0 20px;
  padding: 18px;
  border: 1px solid rgba(255, 222, 255, 0.34);
  border-radius: 18px;
  background:
    radial-gradient(circle at 88% 12%, rgba(255, 210, 255, 0.2), transparent 34%),
    linear-gradient(145deg, rgba(83, 30, 127, 0.94), rgba(132, 66, 173, 0.9));
  color: #fff4ff;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12), 0 16px 34px rgba(31, 8, 49, 0.22);
}

.bizum-payment-card h4,
.bizum-payment-card p,
.bizum-payment-card strong {
  color: #fff4ff;
}

.bizum-payment-card h4 {
  margin: 0 0 8px;
  color: #ffd1ff;
}

.bizum-payment-card p {
  margin: 8px 0 0;
}

.bizum-phone,
#bizum-payment-reference {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  margin-left: 6px;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(255, 244, 255, 0.92);
  color: #371558;
  font-weight: 900;
  letter-spacing: 0.02em;
}

.bizum-result {
  margin-bottom: 16px;
  border-color: rgba(255, 222, 255, 0.42);
  background: linear-gradient(145deg, rgba(68, 29, 107, 0.95), rgba(139, 70, 181, 0.92));
  color: #fff4ff;
}

.bizum-result strong,
.bizum-result p {
  color: #fff4ff;
}

.configurator-scroll-top {
  width: 46px;
  height: 46px;
  right: 22px;
  bottom: 22px;
  z-index: 120;
  background: linear-gradient(145deg, rgba(113, 47, 176, 0.98), rgba(207, 119, 230, 0.98));
  border-color: rgba(255, 235, 255, 0.42);
  box-shadow: 0 16px 36px rgba(34, 9, 51, 0.34);
}

.configurator-scroll-top svg {
  width: 20px;
  height: 20px;
}

.experience-page .footer-link {
  background: rgba(246, 226, 255, 0.18);
  border-color: rgba(246, 226, 255, 0.42);
  box-shadow: 0 10px 24px rgba(24, 5, 38, 0.28);
}

.experience-page .footer-link img {
  filter: brightness(0) invert(1) drop-shadow(0 0 7px rgba(255, 204, 255, 0.55));
  opacity: 0.96;
}

@media (max-width: 720px) {
  .configurator-scroll-top {
    width: 42px;
    height: 42px;
    right: 16px;
    bottom: 16px;
  }

  .section-cluster-link {
    gap: 10px;
  }
}


#services-cart-block {
  border: 5px solid #fff !important;
}

#services-cart-block .configured-cart-item.item,
#services-cart-block #cart-list .item,
#services-cart-block .item,
#services-cart-block .output,
#services-cart-block .bizum-payment-card {
  border: 4px solid #fff !important;
}


.floating-cart-trigger {
  background:
    radial-gradient(circle at 28% 18%, rgba(255, 221, 255, 0.34), transparent 34%),
    linear-gradient(145deg, rgba(97, 37, 139, 0.99), rgba(45, 13, 67, 0.99));
  border: 3px solid rgba(255, 235, 255, 0.72);
  color: #fff4ff;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.18),
    0 0 0 5px rgba(80, 27, 112, 0.72),
    0 0 24px rgba(235, 174, 255, 0.42),
    0 18px 34px rgba(20, 4, 34, 0.44);
}

.floating-cart-icon {
  position: relative;
  width: 31px;
  height: 31px;
  font-size: 0;
  line-height: 0;
}

.floating-cart-icon::before {
  content: "";
  position: absolute;
  left: 3px;
  right: 3px;
  bottom: 1px;
  height: 21px;
  border: 3px solid #fff8ff;
  border-radius: 9px 9px 13px 13px;
  background:
    linear-gradient(90deg, transparent 44%, rgba(255, 248, 255, 1) 44% 56%, transparent 56%),
    linear-gradient(180deg, rgba(224, 159, 255, 1) 0 48%, rgba(65, 19, 92, 1) 48% 100%);
  box-shadow:
    inset 0 0 0 2px rgba(46, 17, 70, 0.4),
    0 0 10px rgba(255, 235, 255, 0.5);
}

.floating-cart-icon::after {
  content: "";
  position: absolute;
  left: 9px;
  right: 9px;
  top: 0;
  height: 12px;
  border: 3px solid #fff8ff;
  border-bottom: 0;
  border-radius: 999px 999px 0 0;
  filter: drop-shadow(0 0 6px rgba(255, 235, 255, 0.46));
}

.floating-cart-trigger .floating-cart-pill {
  background: linear-gradient(145deg, #8c3ee3, #c06aff);
  border: 2px solid rgba(255, 238, 255, 0.74);
  color: #fff;
  box-shadow: 0 0 14px rgba(196, 104, 255, 0.62);
}

.floating-cart-popover {
  border: 2px solid rgba(255, 229, 255, 0.52);
  background:
    radial-gradient(circle at 88% 8%, rgba(214, 119, 255, 0.34), transparent 30%),
    linear-gradient(160deg, rgba(126, 48, 174, 0.985), rgba(55, 13, 83, 0.99) 58%, rgba(39, 8, 61, 0.995));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.12),
    inset 0 0 0 1px rgba(255, 238, 255, 0.08),
    0 0 0 3px rgba(64, 17, 92, 0.84),
    0 0 26px rgba(218, 142, 255, 0.34),
    0 24px 46px rgba(18, 4, 32, 0.58);
}

.floating-cart-popover::after {
  border-top: 2px solid rgba(255, 229, 255, 0.52);
  border-right: 2px solid rgba(255, 229, 255, 0.52);
  background: rgba(105, 35, 151, 0.99);
}

.floating-cart-widget {
  top: 18px;
  right: 18px;
  bottom: auto;
  width: 58px;
}

.floating-cart-trigger {
  width: 44px;
  height: 44px;
  border-width: 3px;
}

.floating-cart-icon {
  width: 19px;
  height: 19px;
}

.floating-cart-icon::before {
  left: 2px;
  right: 2px;
  bottom: 0;
  height: 14px;
  border-width: 2px;
  background:
    linear-gradient(90deg, transparent 43%, #fff 43% 57%, transparent 57%),
    linear-gradient(180deg, #fff3ff 0 46%, #41135c 46% 100%);
  box-shadow:
    inset 0 0 0 2px rgba(37, 9, 56, 0.62),
    0 0 12px rgba(255, 255, 255, 0.72),
    0 0 18px rgba(231, 156, 255, 0.58);
}

.floating-cart-icon::after {
  left: 6px;
  right: 6px;
  height: 8px;
  border-width: 2px;
  filter: drop-shadow(0 0 8px rgba(255, 255, 255, 0.62));
}

.floating-cart-trigger .floating-cart-pill {
  top: -8px;
  right: -8px;
  min-width: 27px;
  min-height: 27px;
  padding: 0 8px;
  font-size: 0.84rem;
}

.page-scroll-top {
  position: fixed;
  width: 44px;
  height: 44px;
  left: auto !important;
  right: 22px !important;
  bottom: 22px !important;
  z-index: 121;
  display: inline-grid;
  place-items: center;
  border: 3px solid #fff;
  border-radius: 999px;
  background: linear-gradient(145deg, rgba(113, 47, 176, 0.98), rgba(207, 119, 230, 0.98));
  color: #fff;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.22),
    0 16px 32px rgba(24, 5, 38, 0.42);
  cursor: pointer;
  transform: none;
}

.page-scroll-top.hidden {
  display: none;
}

.page-scroll-top svg {
  width: 20px;
  height: 20px;
  fill: currentColor;
}

.page-scroll-top:hover,
.page-scroll-top:focus-visible {
  transform: translateY(-2px);
}

@media (max-width: 760px) {
  .floating-cart-widget {
    top: 12px;
    right: 12px;
    bottom: auto;
    width: 54px;
  }

  .floating-cart-trigger {
    width: 42px;
    height: 42px;
  }

  .floating-cart-icon {
    width: 18px;
    height: 18px;
  }

  .floating-cart-icon::before {
    height: 13px;
  }

  .floating-cart-popover {
    top: 0;
    right: 62px;
    bottom: auto;
    width: min(292px, calc(100vw - 86px));
  }

  .page-scroll-top {
    width: 42px;
    height: 42px;
    left: auto !important;
    right: 14px !important;
    bottom: 14px !important;
  }
}

#services-cart-block {
  border: 3px solid rgba(255, 229, 255, 0.68);
  border-radius: 28px;
  background:
    radial-gradient(circle at 68% 8%, rgba(214, 126, 232, 0.24), transparent 34%),
    linear-gradient(180deg, rgba(95, 38, 126, 0.985), rgba(115, 48, 144, 0.985));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.16),
    inset 0 0 0 1px rgba(255, 238, 255, 0.12),
    0 0 0 5px rgba(49, 13, 73, 0.76),
    0 0 34px rgba(218, 142, 255, 0.22),
    0 26px 50px rgba(12, 3, 23, 0.5);
}

#services-cart-block.is-open::before {
  background: rgba(25, 6, 38, 0.58);
  backdrop-filter: none;
}

#services-cart-block .configured-cart-item.item,
#services-cart-block #cart-list .item,
#services-cart-block .item,
#services-cart-block .output {
  border-radius: 22px;
  overflow: hidden;
}

#services-cart-block .configured-cart-item.item {
  padding: 20px 22px;
  border-color: rgba(255, 222, 255, 0.34);
  background:
    radial-gradient(circle at 88% 12%, rgba(255, 210, 255, 0.2), transparent 34%),
    linear-gradient(145deg, rgba(83, 30, 127, 0.94), rgba(132, 66, 173, 0.9));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12), 0 16px 34px rgba(31, 8, 49, 0.22);
}

#services-cart-block .configured-cart-title {
  margin: 0 0 14px;
  color: #ffd1ff;
  font-weight: 900;
  font-size: 1.05rem;
}

#services-cart-block .configured-cart-title + p {
  margin-top: 0;
}

#services-cart-block .configured-cart-item.item h3,
#services-cart-block #cart-list .item h3,
#services-cart-block .item > h3,
.section-page-main #account-summary.item > h3,
.section-page-main #login-form.auth-card > h3 {
  border-radius: 16px;
}

.section-page-main #account-summary.item,
.section-page-main #login-form.auth-card {
  border-radius: 24px;
  overflow: hidden;
}

.section-page-main #account-summary.item {
  padding: 16px;
}

.section-page-main #login-form.auth-card {
  padding: 16px;
}

.section-page-main #account-summary.item,
.section-page-main #login-form.auth-card {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  overflow: visible;
}

.section-page-main #account-summary.item > h3,
.section-page-main #login-form.auth-card > h3 {
  border-radius: 14px;
}


.section-cluster-nav,
.section-page-main .card,
.section-page-main .services-block,
.section-page-main .item,
.section-page-main .output,
.services-configurator-block,
.section-page-main .configurator-product-card,
.section-page-main .configurator-panel,
.section-page-main .configurator-summary-card,
.section-page-main .configurator-build-card,
.section-page-main .configurator-meta-card,
.section-page-main .configurator-preview-card,
.section-page-main .info-card,
.floating-cart-trigger,
.floating-cart-popover,
#services-cart-block,
.bizum-payment-card {
  border-color: rgba(255, 255, 255, 0.88);
  border-width: 2px;
}

.section-cluster-nav,
.section-page-main .card,
.section-page-main .services-block,
.section-page-main .item,
.section-page-main .output,
.services-configurator-block,
.section-page-main .configurator-product-card,
.section-page-main .configurator-panel,
.section-page-main .configurator-summary-card,
.section-page-main .configurator-build-card,
.section-page-main .configurator-meta-card,
.section-page-main .configurator-preview-card,
.section-page-main .info-card,
.bizum-payment-card {
  border-style: solid;
}

.section-cluster-nav,
.section-page-main .card,
.section-page-main .services-block,
#services-cart-block {
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.22),
    0 20px 46px rgba(18, 4, 32, 0.28);
}

.floating-cart-trigger {
  border-color: #fff;
  border-width: 3px;
}

.floating-cart-icon::before {
  border-color: #fff;
  background:
    linear-gradient(90deg, transparent 43%, #fff 43% 57%, transparent 57%),
    linear-gradient(180deg, #fff 0 46%, #f7e9ff 46% 100%);
  box-shadow:
    inset 0 0 0 2px rgba(65, 19, 92, 0.46),
    0 0 14px rgba(255, 255, 255, 0.78),
    0 0 22px rgba(231, 156, 255, 0.58);
}

.floating-cart-icon::after {
  border-color: #fff;
}

.section-cluster-nav,
.section-page-main .card,
.section-page-main .services-block,
.section-page-main .item,
.section-page-main .output,
.services-configurator-block,
.section-page-main .configurator-product-card,
.section-page-main .configurator-panel,
.section-page-main .configurator-summary-card,
.section-page-main .configurator-build-card,
.section-page-main .configurator-meta-card,
.section-page-main .configurator-preview-card,
.section-page-main .info-card,
.bizum-payment-card {
  border: 3px solid rgba(255, 255, 255, 0.92);
}

.floating-cart-popover {
  border: 3px solid rgba(255, 255, 255, 0.92);
  outline: 0;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.12),
    0 24px 46px rgba(18, 4, 32, 0.58);
}

.floating-cart-popover::after {
  border-top-color: rgba(255, 255, 255, 0.92);
  border-right-color: rgba(255, 255, 255, 0.92);
  box-shadow: none;
}

.floating-cart-trigger {
  border: 4px solid #fff;
  outline: 0;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.18),
    0 18px 34px rgba(20, 4, 34, 0.44);
}

#services-cart-block {
  border: 4px solid rgba(255, 255, 255, 0.94);
  outline: 0;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.16),
    0 26px 50px rgba(12, 3, 23, 0.5);
}

.section-cluster-page .lang-switcher-row {
  width: min(1140px, 94%);
  margin: 10px auto 0;
  padding-right: 0;
  justify-content: flex-end;
}

.section-cluster-page .lang-switcher-section {
  margin-right: 0;
}

@media (max-width: 720px) {
  .section-cluster-page .lang-switcher-row {
    width: min(1140px, 94%);
    margin-top: 8px;
    padding-right: 0;
  }
}


#services-cart-block {
  border: 4px solid #fff !important;
}

#services-cart-block .configured-cart-item.item,
#services-cart-block #cart-list .item,
#services-cart-block .item,
#services-cart-block .output,
#services-cart-block .bizum-payment-card {
  border: 4px solid #fff !important;
}


.section-page-main #account-summary.item > h3,
.section-page-main #login-form.auth-card > h3,
.section-page-main #password-card.item > h3,
#services-configurator-block > h3 {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.section-cluster-nav,
.section-page-main .card,
.section-page-main .services-block,
.section-page-main .item,
.section-page-main .output,
.services-configurator-block,
.section-page-main .configurator-product-card,
.section-page-main .configurator-panel,
.section-page-main .configurator-summary-card,
.section-page-main .configurator-build-card,
.section-page-main .configurator-meta-card,
.section-page-main .configurator-preview-card,
.section-page-main .info-card,
.bizum-payment-card {
  border: 4px solid #fff !important;
}

.floating-cart-popover {
  border: 5px solid #fff !important;
}

#services-cart-block .configured-cart-item.item,
#services-cart-block #cart-list .item,
#services-cart-block .item,
#services-cart-block .output,
#services-cart-block .bizum-payment-card {
  border: 5px solid #fff !important;
}

#page-scroll-top.page-scroll-top {
  position: fixed !important;
  left: auto !important;
  right: 22px !important;
  bottom: 22px !important;
  transform: none;
}

#page-scroll-top.page-scroll-top:hover,
#page-scroll-top.page-scroll-top:focus-visible {
  transform: translateY(-2px);
}

@media (max-width: 760px) {
  #page-scroll-top.page-scroll-top {
    left: auto !important;
    right: 14px !important;
    bottom: 14px !important;
  }
}

.section-page-main #account-summary.item,
.section-page-main #login-form.auth-card {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#services-configurator-block > h3,
.services-configurator-block > h3,
.section-page-main #services-configurator-block.services-block > h3,
.section-page-main .services-configurator-block.services-block > h3 {
  display: block !important;
  width: auto !important;
  margin: 0 0 18px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.experience-page .footer-link-mail {
  border: 3px solid #fff !important;
  background: linear-gradient(145deg, rgba(113, 47, 176, 0.98), rgba(207, 119, 230, 0.98)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.22),
    0 16px 32px rgba(24, 5, 38, 0.42) !important;
}


.floating-cart-icon {
  position: relative !important;
  display: inline-block !important;
  width: 25px !important;
  height: 22px !important;
  color: #fff !important;
  font-size: 0 !important;
  line-height: 0 !important;
  overflow: visible !important;
}

.floating-cart-icon::before {
  content: "" !important;
  position: absolute !important;
  box-sizing: border-box !important;
  left: 7px !important;
  right: auto !important;
  top: 5px !important;
  bottom: auto !important;
  width: 16px !important;
  height: 9px !important;
  border: 2.8px solid #fff !important;
  border-radius: 2px 2px 6px 6px !important;
  background: transparent !important;
  box-shadow: 0 0 9px rgba(255, 255, 255, 0.72) !important;
  transform: skewX(-8deg) !important;
}

.floating-cart-icon::after {
  content: "" !important;
  position: absolute !important;
  box-sizing: border-box !important;
  left: 0 !important;
  right: auto !important;
  top: 0 !important;
  width: 25px !important;
  height: 22px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background:
    linear-gradient(34deg, transparent 0 43%, #fff 44% 60%, transparent 61% 100%) 0 1px / 11px 12px no-repeat,
    radial-gradient(circle, #fff 0 2.7px, transparent 2.9px) 7px 17px / 7px 7px no-repeat,
    radial-gradient(circle, #fff 0 2.7px, transparent 2.9px) 19px 17px / 7px 7px no-repeat !important;
  filter: drop-shadow(0 0 7px rgba(255, 255, 255, 0.7)) !important;
}


.floating-cart-trigger {
  border: 3px solid #fff !important;
  background: linear-gradient(145deg, rgba(113, 47, 176, 0.98), rgba(207, 119, 230, 0.98)) !important;
  color: #fff !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.22),
    0 16px 32px rgba(24, 5, 38, 0.42) !important;
}

.floating-cart-icon {
  width: 23px !important;
  height: 23px !important;
  background: #fff !important;
  color: #fff !important;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 4h2l2.4 11.2a2 2 0 0 0 2 1.6h7.8a2 2 0 0 0 1.9-1.4L21 8H7' fill='none' stroke='black' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='10' cy='20' r='1.75' fill='black'/%3E%3Ccircle cx='18' cy='20' r='1.75' fill='black'/%3E%3C/svg%3E") center / contain no-repeat !important;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 4h2l2.4 11.2a2 2 0 0 0 2 1.6h7.8a2 2 0 0 0 1.9-1.4L21 8H7' fill='none' stroke='black' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='10' cy='20' r='1.75' fill='black'/%3E%3Ccircle cx='18' cy='20' r='1.75' fill='black'/%3E%3C/svg%3E") center / contain no-repeat !important;
  filter: drop-shadow(0 0 7px rgba(255, 255, 255, 0.68)) !important;
}

.floating-cart-icon::before,
.floating-cart-icon::after {
  display: none !important;
  content: none !important;
}


html.pkx-notice-open,
body.pkx-notice-open {
  width: 100% !important;
  height: 100% !important;
  overflow: hidden !important;
  overscroll-behavior: contain !important;
}

.pkx-compliance-notice {
  position: fixed !important;
  inset: 0 !important;
  z-index: 99999 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 100vh !important;
  min-height: 100dvh !important;
  padding: max(18px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left)) !important;
  background:
    radial-gradient(circle at 18% 12%, rgba(220, 142, 242, 0.36), transparent 30%),
    radial-gradient(circle at 82% 82%, rgba(125, 50, 196, 0.42), transparent 34%),
    rgba(15, 3, 25, 0.9) !important;
  backdrop-filter: blur(12px) !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  overscroll-behavior: contain !important;
}

.pkx-compliance-card {
  width: min(760px, calc(100vw - 32px));
  max-height: calc(100vh - 36px);
  max-height: calc(100dvh - 36px);
  padding: clamp(22px, 4vw, 42px);
  border: 4px solid #fff;
  border-radius: clamp(22px, 5vw, 28px);
  background:
    linear-gradient(145deg, rgba(77, 24, 108, 0.98), rgba(130, 52, 175, 0.98)),
    radial-gradient(circle at 82% 18%, rgba(255, 255, 255, 0.18), transparent 34%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.22),
    0 34px 80px rgba(8, 2, 15, 0.68);
  color: #fff;
  box-sizing: border-box;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}

.pkx-compliance-kicker {
  display: inline-flex;
  margin-bottom: 12px;
  padding: 8px 14px;
  border: 2px solid rgba(255, 255, 255, 0.72);
  border-radius: 999px;
  background: rgba(38, 12, 58, 0.68);
  color: #f7c7ff;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.pkx-compliance-card h2 {
  margin: 0 0 16px;
  color: #fff;
  font-size: clamp(1.7rem, 4vw, 3rem);
  line-height: 1.04;
}

.pkx-compliance-card p {
  margin: 0 0 16px;
  color: #fff4ff;
  font-size: clamp(1.02rem, 2.1vw, 1.22rem);
  line-height: 1.56;
}

.pkx-compliance-check {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 24px 0 18px;
  padding: 15px 16px;
  border: 3px solid #fff;
  border-radius: 18px;
  background: rgba(43, 13, 64, 0.72);
  color: #fff;
  font-weight: 900;
}

.pkx-compliance-check input {
  width: 22px;
  height: 22px;
  accent-color: #8a37e6;
}

.pkx-compliance-card .btn {
  width: 100%;
  min-height: 52px;
}

@media (max-width: 640px) {
  .pkx-compliance-notice {
    align-items: flex-start !important;
    padding-top: max(14px, env(safe-area-inset-top)) !important;
    padding-bottom: max(14px, env(safe-area-inset-bottom)) !important;
  }

  .pkx-compliance-card {
    width: calc(100vw - 22px);
    max-height: calc(100vh - 28px);
    max-height: calc(100dvh - 28px);
    padding: 22px 18px;
    border-width: 4px;
    border-radius: 24px;
  }

  .pkx-compliance-kicker {
    margin-bottom: 10px;
    padding: 7px 12px;
    font-size: 0.78rem;
  }

  .pkx-compliance-card h2 {
    font-size: clamp(1.68rem, 10vw, 2.35rem);
    line-height: 1.08;
  }

  .pkx-compliance-card p {
    font-size: clamp(0.96rem, 4.9vw, 1.08rem);
    line-height: 1.5;
  }

  .pkx-compliance-check {
    align-items: flex-start;
    margin: 18px 0 14px;
    padding: 13px 14px;
    border-width: 3px;
    font-size: 0.94rem;
  }
}

.configurator-public-notice {
  margin: 0 0 24px !important;
  padding: clamp(18px, 2.6vw, 28px) !important;
  border: 4px solid #fff !important;
  border-radius: 24px !important;
  background: linear-gradient(145deg, rgba(113, 47, 176, 0.98), rgba(207, 119, 230, 0.94)) !important;
  color: #fff !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.24),
    0 18px 38px rgba(28, 5, 43, 0.34) !important;
  font-size: clamp(1.18rem, 2.2vw, 1.72rem) !important;
  font-weight: 950 !important;
  line-height: 1.38 !important;
}

.admin-row-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.btn.danger,
.admin-row-actions .btn.danger {
  border-color: rgba(255, 255, 255, 0.9);
  background: linear-gradient(145deg, rgba(130, 31, 72, 0.98), rgba(206, 62, 118, 0.94));
  color: #fff;
}

.admin-form-card.is-admin-loaded {
  outline: 4px solid #fff;
  box-shadow:
    0 0 0 7px rgba(196, 113, 245, 0.44),
    0 18px 42px rgba(20, 3, 31, 0.38);
}

.admin-selected-user-note {
  margin: 0 0 12px;
  padding: 12px 14px;
  border: 2px solid rgba(255, 255, 255, 0.78);
  border-radius: 16px;
  background: rgba(44, 16, 66, 0.56);
  color: #f6e7ff;
  font-weight: 800;
}

.footer-links {
  min-width: 48px;
  justify-content: flex-end;
}

.experience-page .footer-link-mail {
  border: 3px solid #fff !important;
  background: linear-gradient(145deg, rgba(113, 47, 176, 0.98), rgba(207, 119, 230, 0.98)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.22),
    0 16px 32px rgba(24, 5, 38, 0.42) !important;
}

@media (max-width: 1080px) {
  .section-cluster-page .floating-cart-widget {
    top: 142px !important;
    right: 14px !important;
    bottom: auto !important;
    width: 52px !important;
    z-index: 84 !important;
  }

  .section-cluster-page .floating-cart-trigger {
    width: 42px !important;
    height: 42px !important;
  }

  .section-cluster-page .floating-cart-icon {
    width: 20px !important;
    height: 20px !important;
  }

  .section-cluster-page .floating-cart-popover {
    top: 0 !important;
    right: 56px !important;
    bottom: auto !important;
    width: min(300px, calc(100vw - 86px)) !important;
  }
}

@media (max-width: 760px) {
  .section-cluster-page .floating-cart-widget {
    top: 226px !important;
    right: 10px !important;
    bottom: auto !important;
  }

  body[data-user-role="admin"].section-cluster-page .floating-cart-widget {
    top: 238px !important;
  }

  .section-cluster-page .floating-cart-popover {
    right: 52px !important;
    width: min(292px, calc(100vw - 74px)) !important;
  }

  #page-scroll-top.page-scroll-top {
    left: auto !important;
    right: 14px !important;
    bottom: 14px !important;
    z-index: 78 !important;
  }
}


.section-cluster-page .wrap,
.section-cluster-page .lang-switcher-row {
  width: min(1440px, calc(100vw - clamp(34px, 4.8vw, 96px))) !important;
}

.section-cluster-page .section-cluster-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 180 !important;
  padding: 14px 0 8px !important;
  overflow: visible !important;
}

.section-cluster-page .section-cluster-nav {
  isolation: isolate;
  min-height: 150px;
  padding: 24px clamp(20px, 2.6vw, 38px) 26px !important;
  padding-right: clamp(92px, 8vw, 126px) !important;
  overflow: visible !important;
}

.section-cluster-page .section-cluster-line {
  top: 86px !important;
  right: clamp(96px, 9vw, 138px) !important;
}

.section-cluster-page .section-cluster-link {
  z-index: 2;
}

.section-cluster-page .floating-cart-widget.in-section-nav {
  position: absolute !important;
  top: 17px !important;
  right: 18px !important;
  bottom: auto !important;
  left: auto !important;
  z-index: 5 !important;
  width: 50px !important;
  pointer-events: auto;
}

.section-cluster-page .floating-cart-widget.in-section-nav .floating-cart-trigger {
  width: 46px !important;
  height: 46px !important;
  border: 4px solid #fff !important;
}

.section-cluster-page .floating-cart-widget.in-section-nav .floating-cart-icon {
  width: 20px !important;
  height: 20px !important;
}

.section-cluster-page .floating-cart-widget.in-section-nav .floating-cart-trigger .floating-cart-pill {
  top: -11px !important;
  right: -10px !important;
  min-width: 28px !important;
  min-height: 28px !important;
  padding: 0 8px !important;
  border: 2px solid rgba(255, 255, 255, 0.7);
}

.section-cluster-page .floating-cart-widget.in-section-nav .floating-cart-popover {
  top: 0 !important;
  right: 60px !important;
  bottom: auto !important;
  width: min(360px, calc(100vw - 96px)) !important;
  z-index: 6 !important;
}

@media (max-width: 1080px) {
  .section-cluster-page .wrap,
  .section-cluster-page .lang-switcher-row {
    width: calc(100vw - clamp(28px, 5vw, 58px)) !important;
  }

  .section-cluster-page .section-cluster-nav {
    min-height: 140px;
    padding-top: 22px !important;
    padding-bottom: 22px !important;
    padding-right: 82px !important;
  }

  .section-cluster-page .section-cluster-line {
    top: 80px !important;
    right: 82px !important;
  }

  .section-cluster-page .floating-cart-widget.in-section-nav {
    top: 15px !important;
    right: 16px !important;
    width: 46px !important;
  }

  .section-cluster-page .floating-cart-widget.in-section-nav .floating-cart-trigger {
    width: 42px !important;
    height: 42px !important;
  }

  .section-cluster-page .floating-cart-widget.in-section-nav .floating-cart-icon {
    width: 18px !important;
    height: 18px !important;
  }

  .section-cluster-page .floating-cart-widget.in-section-nav .floating-cart-popover {
    right: 54px !important;
    width: min(318px, calc(100vw - 78px)) !important;
  }
}

@media (max-width: 760px) {
  .section-cluster-page .wrap,
  .section-cluster-page .lang-switcher-row {
    width: calc(100vw - 30px) !important;
  }

  .section-cluster-page .section-cluster-header {
    padding-top: 8px !important;
  }

  .section-cluster-page .section-cluster-nav {
    min-height: 126px;
    padding: 18px 10px 18px !important;
    padding-right: 68px !important;
  }

  body[data-user-role="admin"].section-cluster-page .section-cluster-nav {
    min-height: 122px;
    padding-top: 18px !important;
    padding-bottom: 18px !important;
    padding-right: 62px !important;
  }

  .section-cluster-page .section-cluster-line,
  body[data-user-role="admin"].section-cluster-page .section-cluster-line {
    left: 30px !important;
    right: 64px !important;
    top: 64px !important;
  }

  .section-cluster-page .floating-cart-widget.in-section-nav,
  body[data-user-role="admin"].section-cluster-page .floating-cart-widget.in-section-nav {
    top: 14px !important;
    right: 13px !important;
    width: 42px !important;
  }

  .section-cluster-page .floating-cart-widget.in-section-nav .floating-cart-trigger {
    width: 38px !important;
    height: 38px !important;
    border-width: 3px !important;
  }

  .section-cluster-page .floating-cart-widget.in-section-nav .floating-cart-icon {
    width: 16px !important;
    height: 16px !important;
  }

  .section-cluster-page .floating-cart-widget.in-section-nav .floating-cart-trigger .floating-cart-pill {
    top: -10px !important;
    right: -9px !important;
    min-width: 25px !important;
    min-height: 25px !important;
    font-size: 0.78rem !important;
  }

  .section-cluster-page .floating-cart-widget.in-section-nav .floating-cart-popover {
    right: 48px !important;
    width: min(292px, calc(100vw - 68px)) !important;
  }
}

body.configurator-active .section-cluster-header,
body.configurator-active .floating-cart-widget.in-section-nav {
  display: none !important;
}

body.cart-drawer-active .section-cluster-header,
body.cart-drawer-active .floating-cart-widget.in-section-nav {
  display: none !important;
}

#services-cart-block.is-open {
  z-index: 360 !important;
  top: clamp(12px, 2vw, 28px) !important;
}

.section-cluster-page {
  --pkx-master-panel: linear-gradient(145deg, rgba(43, 12, 66, 0.97), rgba(80, 28, 116, 0.95));
  --pkx-master-panel-soft: linear-gradient(145deg, rgba(72, 24, 105, 0.96), rgba(39, 10, 62, 0.98));
  --pkx-master-card: linear-gradient(145deg, rgba(82, 30, 120, 0.96), rgba(45, 11, 70, 0.98));
  --pkx-master-card-bright: linear-gradient(145deg, rgba(112, 49, 160, 0.97), rgba(152, 72, 189, 0.94));
  --pkx-master-edge: rgba(204, 147, 239, 0.72);
  --pkx-master-edge-strong: rgba(230, 188, 255, 0.9);
  --pkx-master-ink: #fff6ff;
  --pkx-master-muted: #eadcff;
  --pkx-master-title: #ffcfff;
  --pkx-field-bg: rgba(242, 225, 255, 0.95);
  --pkx-field-ink: #251035;
}

.section-cluster-page .section-cluster-nav,
.section-page-main .card,
.section-page-main .services-block,
.section-page-main .item,
.section-page-main .output,
.section-page-main .configurator-product-card,
.section-page-main .configurator-panel,
.section-page-main .configurator-summary-card,
.section-page-main .configurator-build-card,
.section-page-main .configurator-meta-card,
.section-page-main .configurator-preview-card,
.section-page-main .info-card,
.section-page-main .service-card,
.section-page-main .admin-quick-card,
.section-page-main .admin-data-card,
.section-page-main .admin-form-card,
.section-page-main .configurator-summary-kpi,
#services-cart-block,
#services-cart-block .configured-cart-item.item,
#services-cart-block #cart-list .item,
#services-cart-block .item,
#services-cart-block .output,
#services-cart-block .bizum-payment-card {
  border-color: var(--pkx-master-edge-strong) !important;
  background: var(--pkx-master-panel) !important;
  color: var(--pkx-master-ink) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 226, 255, 0.12),
    0 22px 48px rgba(18, 4, 34, 0.38) !important;
}

.section-page-main .card,
.section-page-main .services-block,
#services-cart-block {
  border-width: 3px !important;
}

.section-cluster-page .section-cluster-nav {
  border: 3px solid var(--pkx-master-edge-strong) !important;
  background:
    radial-gradient(circle at 92% 10%, rgba(210, 138, 245, 0.18), transparent 30%),
    linear-gradient(145deg, rgba(31, 7, 49, 0.98), rgba(54, 17, 80, 0.96)) !important;
}

.section-page-main .configurator-product-card,
.section-page-main .info-card,
.section-page-main .service-card,
.section-page-main .admin-quick-card,
.section-page-main .admin-data-card,
.section-page-main .admin-form-card,
.section-page-main .configurator-summary-kpi,
#services-cart-block .configured-cart-item.item,
#services-cart-block #cart-list .item,
#services-cart-block .item,
#services-cart-block .output,
#services-cart-block .bizum-payment-card {
  border-width: 2px !important;
  background: var(--pkx-master-card) !important;
}

#services-cart-block .configured-cart-item.item,
#services-cart-block #cart-list .item,
#services-cart-block .bizum-payment-card,
.configurator-public-notice {
  background: var(--pkx-master-card-bright) !important;
}

.section-page-main .card > h2,
.section-page-main .services-block > h3,
.section-page-main .item > h3,
.section-page-main .output > h3 {
  border: 2px solid var(--pkx-master-edge) !important;
  background: linear-gradient(135deg, rgba(74, 27, 107, 0.96), rgba(104, 49, 137, 0.92)) !important;
  color: var(--pkx-master-title) !important;
}

.section-page-main h2,
.section-page-main h3,
.section-page-main h4,
.section-page-main h5,
.section-page-main strong,
.section-page-main .configurator-product-card h5,
.section-page-main .admin-quick-card h3,
.section-page-main .admin-data-card h4,
.section-page-main .configurator-summary-kpi .value {
  color: var(--pkx-master-title) !important;
}

.section-page-main p,
.section-page-main li,
.section-page-main .muted,
.section-page-main .total-line,
.section-page-main .admin-intro,
.section-page-main .admin-panel-copy,
.section-page-main .configurator-product-card p,
.section-page-main .configurator-summary-kpi .label,
.section-page-main .admin-quick-card p,
.section-page-main .admin-data-card p,
#services-cart-block p,
#services-cart-block .muted,
#services-cart-block .total-line {
  color: var(--pkx-master-muted) !important;
}

.section-page-main .configurator-audience-toggle,
.section-page-main .configurator-checkbox,
.section-page-main .configurator-product-card details,
.section-page-main .configurator-service-edition-dropdown summary,
.section-page-main .notice,
.section-page-main .status-badge,
.section-page-main .configurator-slot-card,
.section-page-main .configurator-selected-edition,
.section-page-main .form-grid input,
.section-page-main .form-grid textarea,
.section-page-main .form-grid select,
.section-page-main .request-spec-grid input,
.section-page-main .request-spec-grid textarea,
.section-page-main .request-spec-grid select {
  border: 2px solid rgba(195, 132, 230, 0.58) !important;
  background: var(--pkx-field-bg) !important;
  color: var(--pkx-field-ink) !important;
}

.section-page-main .configurator-audience-toggle span,
.section-page-main .configurator-checkbox span,
.section-page-main .configurator-service-edition-dropdown summary,
.section-page-main .status-badge {
  color: var(--pkx-field-ink) !important;
}

.section-page-main input::placeholder,
.section-page-main textarea::placeholder {
  color: rgba(44, 19, 63, 0.66) !important;
}

.section-page-main table,
.section-page-main th,
.section-page-main td,
.section-page-main .admin-table,
.section-page-main .admin-json-preview {
  color: var(--pkx-master-muted) !important;
}

.section-page-main th,
.section-page-main thead td {
  color: var(--pkx-master-title) !important;
}

.section-page-main .btn.ghost,
.section-page-main button.ghost,
.section-page-main .admin-tab.ghost,
#services-cart-block .btn.ghost {
  border-color: rgba(207, 151, 241, 0.55) !important;
  background: rgba(45, 17, 66, 0.88) !important;
  color: var(--pkx-master-ink) !important;
}

.section-page-main .btn.ghost:hover,
.section-page-main button.ghost:hover,
.section-page-main .admin-tab.ghost:hover {
  background: rgba(83, 34, 118, 0.94) !important;
}

.section-page-main .form-grid > label,
.section-page-main .request-spec-grid > label,
.section-page-main label,
.section-page-main legend {
  color: var(--pkx-master-muted) !important;
}

.section-page-main #account-summary.item,
.section-page-main #login-form.auth-card {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.section-page-main #account-summary.item > h3,
.section-page-main #login-form.auth-card > h3,
.section-page-main #password-card.item > h3,
#services-configurator-block > h3,
.services-configurator-block > h3,
.section-page-main #services-configurator-block.services-block > h3,
.section-page-main .services-configurator-block.services-block > h3 {
  width: auto !important;
  margin: 0 0 18px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.floating-cart-trigger,
.section-cluster-page .floating-cart-widget.in-section-nav .floating-cart-trigger,
.floating-cart-popover,
.experience-page .footer-link-mail,
#page-scroll-top.page-scroll-top {
  border-color: var(--pkx-master-edge-strong) !important;
  background: linear-gradient(145deg, rgba(117, 48, 177, 0.98), rgba(189, 89, 221, 0.96)) !important;
}

.floating-cart-popover {
  border-width: 3px !important;
}

.floating-cart-popover::after {
  background: rgba(117, 48, 177, 0.98) !important;
  border-top-color: var(--pkx-master-edge-strong) !important;
  border-right-color: var(--pkx-master-edge-strong) !important;
}

.configurator-public-notice {
  border: 3px solid var(--pkx-master-edge-strong) !important;
  color: #fff8ff !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 226, 255, 0.18),
    0 18px 38px rgba(28, 5, 43, 0.34) !important;
}

.admin-form-card.is-admin-loaded {
  outline-color: var(--pkx-master-edge-strong) !important;
}

.admin-selected-user-note {
  border-color: var(--pkx-master-edge) !important;
  background: rgba(44, 16, 66, 0.78) !important;
}

.pkx-compliance-card,
.pkx-compliance-check {
  border-color: var(--pkx-master-edge-strong) !important;
}

.pkx-compliance-card {
  background:
    radial-gradient(circle at 82% 18%, rgba(224, 146, 245, 0.18), transparent 34%),
    linear-gradient(145deg, rgba(77, 24, 108, 0.98), rgba(130, 52, 175, 0.98)) !important;
}

.pkx-compliance-kicker {
  border-color: var(--pkx-master-edge) !important;
}

@media (max-width: 920px) {
  .section-page-main .admin-quick-grid,
  .section-page-main .admin-data-grid {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 760px) {
  #configurator-products.grid.small {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }

  .section-page-main {
    gap: 26px !important;
  }

  .section-page-main .card,
  .section-page-main .services-block,
  .section-page-main .item,
  .section-page-main .output {
    padding: clamp(18px, 5.8vw, 28px) !important;
  }

  .section-page-main .configurator-product-card {
    width: 100% !important;
    min-width: 0 !important;
    padding: clamp(18px, 5.5vw, 26px) !important;
  }

  .configurator-product-head {
    gap: 16px !important;
  }

  .configurator-audience-toggles {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .section-page-main .configurator-audience-toggle {
    width: 100% !important;
    min-width: 0 !important;
  }

  .configurator-public-notice {
    padding: 18px !important;
    font-size: clamp(1rem, 5vw, 1.18rem) !important;
    line-height: 1.42 !important;
  }

  .section-page-main .btn,
  .section-page-main button {
    max-width: 100% !important;
  }
}

.section-page-main .configurator-workspace,
.section-page-main .configurator-workspace.is-modal-open {
  color-scheme: light !important;
}

.section-page-main .configurator-step-rail,
.section-page-main .configurator-workspace.is-modal-open .configurator-step-rail,
.section-page-main .configurator-meta-card,
.section-page-main .configurator-panel,
.section-page-main .configurator-selector-shell,
.section-page-main .configurator-box-frame,
.section-page-main .configurator-preview,
.section-page-main .configurator-stat,
.section-page-main .configurator-slot-card,
.section-page-main .configurator-summary-card,
.section-page-main .configurator-summary-card.is-overview,
.section-page-main .configurator-summary-kpi,
.section-page-main .configurator-build-card,
.section-page-main #configurator-build-form fieldset,
.section-page-main .configurator-moves-fieldset,
.section-page-main .configurator-spread-fieldset,
.section-page-main .configurator-spread-block,
.section-page-main .configurator-preview-total-block,
.section-page-main .configurator-empty {
  border-color: var(--pkx-master-edge-strong) !important;
  background:
    radial-gradient(circle at 88% 12%, rgba(207, 121, 238, 0.16), transparent 34%),
    linear-gradient(145deg, rgba(61, 17, 91, 0.98), rgba(36, 8, 58, 0.99)) !important;
  color: var(--pkx-master-ink) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 226, 255, 0.12),
    0 20px 42px rgba(14, 3, 28, 0.32) !important;
}

.section-page-main .configurator-stat,
.section-page-main .configurator-summary-kpi,
.section-page-main .configurator-build-card,
.section-page-main .configurator-slot-card,
.section-page-main .configurator-summary-card,
.section-page-main .configurator-preview-total-block,
.section-page-main .configurator-empty {
  border-width: 2px !important;
}

.section-page-main .configurator-stat .label,
.section-page-main .configurator-summary-kpi .label,
.section-page-main .configurator-preview-total-label,
.section-page-main .configurator-field-feedback,
.section-page-main .configurator-spread-stat-label,
.section-page-main .configurator-build-card .muted,
.section-page-main .configurator-empty {
  color: var(--pkx-master-muted) !important;
}

.section-page-main .configurator-stat .value,
.section-page-main .configurator-summary-kpi .value,
.section-page-main .configurator-preview-total-value,
.section-page-main .configurator-build-card p,
.section-page-main .configurator-build-card li,
.section-page-main .configurator-slot-card p,
.section-page-main .configurator-summary-card p,
.section-page-main .configurator-result-card p,
.section-page-main .configurator-preview-empty {
  color: var(--pkx-master-ink) !important;
}

.section-page-main .configurator-build-card h5,
.section-page-main .configurator-slot-card h5,
.section-page-main .configurator-summary-card h5,
.section-page-main .configurator-preview h5,
.section-page-main .configurator-spread-block h5,
.section-page-main #configurator-build-form legend {
  color: var(--pkx-master-title) !important;
}

.section-page-main .configurator-build-card.is-warning,
.section-page-main .configurator-build-card.is-good,
.section-page-main .configurator-field-feedback-item {
  border-color: rgba(255, 218, 151, 0.72) !important;
  background:
    radial-gradient(circle at 90% 8%, rgba(255, 219, 151, 0.18), transparent 30%),
    linear-gradient(145deg, rgba(73, 32, 83, 0.98), rgba(43, 14, 64, 0.99)) !important;
  color: #fff3d8 !important;
}

.section-page-main .configurator-build-card.is-good {
  border-color: rgba(184, 255, 214, 0.56) !important;
}

.section-page-main .configurator-field-feedback-item {
  font-weight: 800 !important;
}

.section-page-main .configurator-step-chip,
.section-page-main .configurator-step-label {
  border: 2px solid var(--pkx-master-edge-strong) !important;
  background: linear-gradient(145deg, rgba(69, 24, 101, 0.98), rgba(37, 10, 58, 0.98)) !important;
  color: var(--pkx-master-ink) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 226, 255, 0.14),
    0 8px 18px rgba(10, 2, 22, 0.3) !important;
}

.section-page-main .configurator-step-chip.is-active {
  border-color: #fff !important;
  background: linear-gradient(145deg, rgba(145, 54, 236, 1), rgba(103, 36, 198, 1)) !important;
  color: #fff !important;
}

.section-page-main .configurator-workspace select,
.section-page-main .configurator-workspace input,
.section-page-main .configurator-workspace textarea,
.section-page-main .configurator-workspace .field-input {
  border: 2px solid rgba(221, 162, 255, 0.78) !important;
  background: rgba(232, 207, 248, 0.96) !important;
  color: #21102f !important;
}

.section-page-main .configurator-workspace select option {
  color: #21102f !important;
  background: #f3e5ff !important;
}

.section-page-main .configurator-workspace input::placeholder,
.section-page-main .configurator-workspace textarea::placeholder {
  color: rgba(45, 18, 68, 0.72) !important;
}

.section-page-main .configurator-workspace .configurator-checkbox,
.section-page-main .configurator-workspace .configurator-audience-toggle,
.section-page-main .configurator-workspace .configurator-service-edition-dropdown summary,
.section-page-main .configurator-workspace .status-badge,
.section-page-main .configurator-type-badge {
  border: 2px solid rgba(224, 172, 255, 0.68) !important;
  background: linear-gradient(145deg, rgba(83, 30, 120, 0.98), rgba(48, 13, 74, 0.98)) !important;
  color: var(--pkx-master-ink) !important;
}

.section-page-main .configurator-workspace .configurator-checkbox span,
.section-page-main .configurator-workspace .configurator-audience-toggle span,
.section-page-main .configurator-workspace .status-badge,
.section-page-main .configurator-type-badge {
  color: var(--pkx-master-ink) !important;
}

.section-page-main .configurator-spread-input {
  color: var(--pkx-master-muted) !important;
}

.section-page-main .configurator-stat-bar {
  background: rgba(166, 92, 214, 0.28) !important;
}

.section-page-main .configurator-stat-bar span {
  background: linear-gradient(90deg, #8db8ff 0%, #d487ff 100%) !important;
}

.section-cluster-page .section-cluster-link .pkx-ball {
  transform: translateY(0) scale(1) !important;
}

.section-cluster-page .section-cluster-link:hover .pkx-ball,
.section-cluster-page .section-cluster-link:focus-visible .pkx-ball {
  transform: translateY(1px) scale(1.025) !important;
}

.section-cluster-page .section-cluster-link.is-active .pkx-ball {
  transform: translateY(1px) scale(1.015) !important;
  box-shadow:
    0 0 0 4px rgba(246, 232, 255, 0.76),
    0 0 22px rgba(246, 178, 255, 0.62) !important;
}

@media (max-width: 760px) {
  .section-cluster-page .section-cluster-line {
    top: 73px !important;
  }

  body[data-user-role="admin"].section-cluster-page .section-cluster-line {
    top: 64px !important;
  }

  .section-cluster-page .section-cluster-link.is-active .pkx-ball {
    transform: translateY(0) scale(1) !important;
    box-shadow:
      0 0 0 3px rgba(246, 232, 255, 0.76),
      0 0 18px rgba(246, 178, 255, 0.58) !important;
  }

  .section-page-main .configurator-session-meta {
    grid-template-columns: 1fr 1fr !important;
  }

  .section-page-main .configurator-step-rail {
    gap: 12px !important;
  }

  .section-page-main #configurator-build-form fieldset,
  .section-page-main .configurator-moves-fieldset,
  .section-page-main .configurator-spread-fieldset {
    padding: 16px !important;
  }
}

body.section-cluster-page .section-page-main .configurator-workspace,
body.section-cluster-page .section-page-main .configurator-workspace.is-modal-open {
  background:
    radial-gradient(circle at 82% 8%, rgba(162, 74, 216, 0.12), transparent 28%),
    linear-gradient(180deg, rgba(8, 2, 16, 0.99), rgba(18, 4, 31, 0.99)) !important;
}

body.section-cluster-page .section-page-main .configurator-session-meta .configurator-stat,
body.section-cluster-page .section-page-main .configurator-workspace .configurator-stat,
body.section-cluster-page .section-page-main .configurator-workspace .configurator-slot-card,
body.section-cluster-page .section-page-main .configurator-workspace .configurator-summary-card,
body.section-cluster-page .section-page-main .configurator-workspace .configurator-summary-kpi,
body.section-cluster-page .section-page-main .configurator-workspace .configurator-build-card,
body.section-cluster-page .section-page-main .configurator-workspace .configurator-preview,
body.section-cluster-page .section-page-main .configurator-workspace .configurator-preview-total-block,
body.section-cluster-page .section-page-main .configurator-workspace .configurator-moves-fieldset,
body.section-cluster-page .section-page-main .configurator-workspace .configurator-spread-fieldset,
body.section-cluster-page .section-page-main .configurator-workspace .configurator-spread-block,
body.section-cluster-page .section-page-main .configurator-workspace .configurator-field-feedback-item {
  border-color: rgba(235, 199, 255, 0.94) !important;
  background:
    radial-gradient(circle at 92% 8%, rgba(196, 96, 231, 0.16), transparent 30%),
    linear-gradient(145deg, rgba(74, 20, 107, 0.98), rgba(32, 6, 53, 0.99)) !important;
  color: #fff5ff !important;
  opacity: 1 !important;
}

body.section-cluster-page .section-page-main .configurator-workspace .configurator-field-feedback-item {
  color: #fff0d8 !important;
}

body.section-cluster-page .section-page-main .configurator-workspace .configurator-stat .label,
body.section-cluster-page .section-page-main .configurator-workspace .configurator-summary-kpi .label,
body.section-cluster-page .section-page-main .configurator-workspace .configurator-slot-card p,
body.section-cluster-page .section-page-main .configurator-workspace .configurator-summary-card p,
body.section-cluster-page .section-page-main .configurator-workspace .configurator-build-card p,
body.section-cluster-page .section-page-main .configurator-workspace .configurator-build-card li,
body.section-cluster-page .section-page-main .configurator-workspace .configurator-preview-empty,
body.section-cluster-page .section-page-main .configurator-workspace .configurator-spread-stat-label,
body.section-cluster-page .section-page-main .configurator-workspace .configurator-field-feedback,
body.section-cluster-page .section-page-main .configurator-workspace label,
body.section-cluster-page .section-page-main .configurator-workspace legend {
  color: #f4e3ff !important;
  opacity: 1 !important;
}

body.section-cluster-page .section-page-main .configurator-workspace .configurator-stat .value,
body.section-cluster-page .section-page-main .configurator-workspace .configurator-summary-kpi .value,
body.section-cluster-page .section-page-main .configurator-workspace .configurator-slot-card strong,
body.section-cluster-page .section-page-main .configurator-workspace .configurator-summary-card strong,
body.section-cluster-page .section-page-main .configurator-workspace .configurator-build-card strong,
body.section-cluster-page .section-page-main .configurator-workspace .configurator-preview h5,
body.section-cluster-page .section-page-main .configurator-workspace .configurator-build-card h5,
body.section-cluster-page .section-page-main .configurator-workspace .configurator-slot-card h5,
body.section-cluster-page .section-page-main .configurator-workspace .configurator-summary-card h5 {
  color: #fff8ff !important;
  opacity: 1 !important;
}

body.section-cluster-page .section-page-main .configurator-workspace .configurator-slot-card {
  box-shadow:
    inset 0 1px 0 rgba(255, 235, 255, 0.16),
    0 20px 44px rgba(11, 2, 24, 0.36) !important;
}

body.section-cluster-page .section-page-main .configurator-workspace .configurator-slot-card .btn,
body.section-cluster-page .section-page-main .configurator-workspace .configurator-build-card .btn {
  color: #fff8ff !important;
}

body.section-cluster-page .section-page-main .configurator-workspace .configurator-spread-block,
body.section-cluster-page .section-page-main .configurator-workspace .configurator-moves-fieldset,
body.section-cluster-page .section-page-main .configurator-workspace .configurator-spread-fieldset {
  border-width: 2px !important;
}

body.section-cluster-page .section-page-main .configurator-workspace select,
body.section-cluster-page .section-page-main .configurator-workspace input,
body.section-cluster-page .section-page-main .configurator-workspace textarea,
body.section-cluster-page .section-page-main .configurator-workspace .field-input {
  background: rgba(234, 212, 249, 0.98) !important;
  color: #1c0d28 !important;
  border-color: rgba(225, 154, 255, 0.92) !important;
}

body.section-cluster-page .section-page-main .configurator-workspace .configurator-step-chip:not(.is-active),
body.section-cluster-page .section-page-main .configurator-workspace .configurator-step-label {
  background: linear-gradient(145deg, rgba(55, 16, 82, 0.98), rgba(31, 8, 50, 0.99)) !important;
  color: #f8eaff !important;
}

@media (max-width: 760px) {
  body.section-cluster-page .section-cluster-nav {
    align-items: flex-start !important;
  }

  body.section-cluster-page .section-cluster-line,
  body[data-user-role="admin"].section-cluster-page .section-cluster-line {
    top: 91px !important;
  }

  body.section-cluster-page .section-cluster-link .pkx-ball,
  body.section-cluster-page .section-cluster-link.is-active .pkx-ball,
  body.section-cluster-page .section-cluster-link:hover .pkx-ball,
  body.section-cluster-page .section-cluster-link:focus-visible .pkx-ball {
    transform: none !important;
  }

  body.section-cluster-page .section-cluster-link.is-active .pkx-ball {
    box-shadow:
      0 0 0 2px rgba(246, 232, 255, 0.72),
      0 0 14px rgba(246, 178, 255, 0.5) !important;
  }

  body.section-cluster-page .section-nav-ball,
  body.section-cluster-page .section-nav-ball.is-home {
    width: clamp(46px, 12vw, 64px) !important;
  }

  body.section-cluster-page .section-cluster-link {
    gap: 9px !important;
  }
}

.section-cluster-page .section-cluster-line,
.section-cluster-page .section-cluster-line::before,
.section-cluster-page .section-cluster-line::after,
body[data-user-role="admin"].section-cluster-page .section-cluster-line,
body[data-user-role="admin"].section-cluster-page .section-cluster-line::before,
body[data-user-role="admin"].section-cluster-page .section-cluster-line::after {
  display: none !important;
  opacity: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;
}

.experience-page .footer-link-mail,
.experience-page .footer-link-mail:visited,
.experience-page .footer-link-mail:hover,
.experience-page .footer-link-mail:focus-visible {
  border: 3px solid #fff !important;
  background: linear-gradient(145deg, rgba(116, 50, 184, 0.98), rgba(198, 95, 226, 0.98)) !important;
  color: #fff !important;
  outline-color: #fff !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.24),
    0 16px 32px rgba(24, 5, 38, 0.42) !important;
}

.experience-page .footer-link-mail img {
  filter: brightness(0) invert(1) drop-shadow(0 0 7px rgba(255, 255, 255, 0.42)) !important;
  opacity: 1 !important;
}

.experience-stage[data-user-role="guest"] .cluster-line.arm-admin,
.experience-stage[data-user-role="user"] .cluster-line.arm-admin {
  display: none !important;
  opacity: 0 !important;
}

@media (max-width: 720px) {
  .scene-cluster .scene-ball-master .pkx-ball.is-xl {
    width: min(42vw, 156px) !important;
  }

  .scene-cluster .cluster-node .pkx-ball {
    width: clamp(70px, 19vw, 84px) !important;
  }

  .experience-stage[data-user-role="admin"].scene-cluster .cluster-node .pkx-ball {
    width: clamp(62px, 17vw, 76px) !important;
  }

  .scene-cluster .cluster-node {
    gap: 8px !important;
  }

  .scene-cluster .cluster-label {
    font-size: clamp(0.68rem, 2.5vw, 0.82rem) !important;
  }

  .experience-stage[data-user-role="guest"] .node-services,
  .experience-stage[data-user-role="user"] .node-services {
    top: 13.5% !important;
  }

  .experience-stage[data-user-role="user"] .node-services {
    top: 13.5% !important;
  }

  .experience-stage[data-user-role="admin"] .node-services {
    top: 22.5% !important;
  }
}

.scene-cluster .cluster-label {
  font-size: clamp(0.62rem, 0.9vw, 0.78rem) !important;
  letter-spacing: 0.065em !important;
}

.scene-cluster .cluster-node::after,
.experience-stage[data-user-role="user"] .cluster-node::after,
.experience-stage[data-user-role="guest"] .cluster-node::after,
.experience-stage[data-user-role="admin"] .cluster-node::after {
  width: min(150px, 38vw) !important;
  padding: 5px 7px !important;
  border-radius: 11px !important;
  font-size: clamp(0.58rem, 0.72vw, 0.68rem) !important;
  line-height: 1.12 !important;
}

.experience-stage[data-user-role="admin"] .node-admin::after,
.experience-stage[data-user-role="admin"] .node-services::after,
.experience-stage[data-user-role="user"] .node-support::after,
.experience-stage[data-user-role="guest"] .node-support::after {
  width: min(158px, 40vw) !important;
  padding: 5px 7px !important;
  font-size: clamp(0.58rem, 0.74vw, 0.68rem) !important;
  line-height: 1.12 !important;
}

.scene-cluster .masterball-copy {
  max-width: 176px !important;
  font-size: clamp(0.7rem, 1vw, 0.86rem) !important;
}

.scene-cluster .masterball-copy-hover {
  width: min(190px, 48vw) !important;
  padding: 7px 8px !important;
  border-radius: 12px !important;
  font-size: clamp(0.58rem, 0.8vw, 0.7rem) !important;
  line-height: 1.12 !important;
}

@media (max-width: 720px) {
  .scene-cluster .cluster-label {
    font-size: clamp(0.58rem, 2.15vw, 0.72rem) !important;
  }

  .scene-cluster .cluster-node::after,
  .experience-stage[data-user-role="user"] .cluster-node::after,
  .experience-stage[data-user-role="guest"] .cluster-node::after,
  .experience-stage[data-user-role="admin"] .cluster-node::after,
  .experience-stage[data-user-role="admin"] .node-admin::after,
  .experience-stage[data-user-role="admin"] .node-services::after,
  .experience-stage[data-user-role="user"] .node-support::after,
  .experience-stage[data-user-role="guest"] .node-support::after {
    width: min(132px, 34vw) !important;
    padding: 4px 6px !important;
    border-radius: 10px !important;
    font-size: clamp(0.52rem, 1.9vw, 0.62rem) !important;
    line-height: 1.08 !important;
  }

  .scene-cluster .masterball-copy {
    max-width: 156px !important;
    font-size: clamp(0.64rem, 2.25vw, 0.78rem) !important;
  }

  .scene-cluster .masterball-copy-hover {
    width: min(162px, 44vw) !important;
    padding: 6px 7px !important;
    font-size: clamp(0.52rem, 1.85vw, 0.62rem) !important;
    line-height: 1.08 !important;
  }
}

.configurator-auth-state {
  border: 2px solid rgba(255, 255, 255, 0.72) !important;
  background: linear-gradient(135deg, rgba(87, 30, 128, 0.96), rgba(45, 12, 70, 0.98)) !important;
  color: #fff8ff !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.2),
    0 18px 34px rgba(16, 4, 30, 0.24) !important;
}

.configurator-auth-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 14px;
}

.configurator-auth-actions .btn {
  border: 2px solid rgba(255, 255, 255, 0.82) !important;
}

.configurator-product-card .toolbar {
  margin-top: 24px !important;
}

.configurator-start-btn,
#configurator-selector-next,
#configurator-build-next,
#configurator-add-to-cart,
#checkout-btn {
  border: 2px solid rgba(255, 255, 255, 0.88) !important;
  background: linear-gradient(135deg, #b93dd5 0%, #7b2ce3 55%, #421071 100%) !important;
  color: #fff !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.32),
    0 16px 30px rgba(36, 4, 67, 0.42),
    0 0 0 3px rgba(255, 255, 255, 0.08) !important;
  text-shadow: 0 1px 0 rgba(29, 5, 43, 0.55) !important;
}

.configurator-start-btn:hover,
#configurator-selector-next:hover,
#configurator-build-next:hover,
#configurator-add-to-cart:hover,
#checkout-btn:hover {
  transform: translateY(-1px);
  filter: brightness(1.08);
}

.configurator-start-btn.ghost {
  background: linear-gradient(145deg, rgba(56, 20, 78, 0.98), rgba(29, 8, 45, 0.99)) !important;
}

.scene-cluster .cluster-node:hover,
.scene-cluster .cluster-node:focus-visible {
  z-index: 30;
}

.scene-cluster .node-services:hover,
.scene-cluster .node-services:focus,
.scene-cluster .node-services:focus-visible,
.scene-cluster .node-services:active {
  z-index: 80 !important;
}

.scene-cluster:has(.node-services:hover) .cluster-stage,
.scene-cluster:has(.node-services:focus) .cluster-stage,
.scene-cluster:has(.node-services:focus-visible) .cluster-stage,
.scene-cluster:has(.node-services:active) .cluster-stage {
  z-index: 22 !important;
}

.scene-cluster .node-services::after {
  z-index: 81 !important;
}

.experience-stage[data-user-role="guest"] .node-services::after,
.experience-stage[data-user-role="user"] .node-services::after {
  top: calc(100% + 12px) !important;
  bottom: auto !important;
  transform: translate(-50%, -10px) !important;
}

.experience-stage[data-user-role="guest"] .node-services:hover::after,
.experience-stage[data-user-role="guest"] .node-services:focus-visible::after,
.experience-stage[data-user-role="user"] .node-services:hover::after,
.experience-stage[data-user-role="user"] .node-services:focus-visible::after {
  transform: translate(-50%, 0) !important;
}

.experience-stage[data-user-role="guest"] .node-account::after,
.experience-stage[data-user-role="user"] .node-account::after {
  top: calc(100% + 12px) !important;
  bottom: auto !important;
  transform: translate(-50%, -10px) !important;
}

.experience-stage[data-user-role="guest"] .node-account:hover::after,
.experience-stage[data-user-role="guest"] .node-account:focus-visible::after,
.experience-stage[data-user-role="user"] .node-account:hover::after,
.experience-stage[data-user-role="user"] .node-account:focus-visible::after {
  transform: translate(-50%, 0) !important;
}

.section-page-main .btn:not(.danger),
.section-page-main button.ghost,
.section-page-main .admin-tab,
#services-cart-block .btn:not(.danger),
.floating-cart-actions .btn,
body.section-cluster-page .section-page-main .configurator-workspace .btn:not(.danger) {
  border: 2px solid rgba(255, 255, 255, 0.88) !important;
  background: linear-gradient(135deg, #b93dd5 0%, #7b2ce3 55%, #421071 100%) !important;
  color: #fff !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.32),
    0 16px 30px rgba(36, 4, 67, 0.42),
    0 0 0 3px rgba(255, 255, 255, 0.08) !important;
  text-shadow: 0 1px 0 rgba(29, 5, 43, 0.55) !important;
}

.section-page-main .btn:not(.danger):hover,
.section-page-main button.ghost:hover,
.section-page-main .admin-tab:hover,
#services-cart-block .btn:not(.danger):hover,
.floating-cart-actions .btn:hover,
body.section-cluster-page .section-page-main .configurator-workspace .btn:not(.danger):hover {
  transform: translateY(-1px);
  filter: brightness(1.08);
}

.section-page-main .configurator-session-meta .configurator-stat,
.section-page-main .configurator-summary-kpi,
.section-page-main .kpi,
body.section-cluster-page .section-page-main .configurator-workspace .configurator-summary-kpi {
  border: 2px solid rgba(255, 255, 255, 0.88) !important;
  background: linear-gradient(135deg, #b93dd5 0%, #7b2ce3 55%, #421071 100%) !important;
  color: #fff !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.32),
    0 16px 30px rgba(36, 4, 67, 0.32),
    0 0 0 3px rgba(255, 255, 255, 0.08) !important;
}

.section-page-main .configurator-session-meta .configurator-stat .label,
.section-page-main .configurator-summary-kpi .label,
.section-page-main .kpi .label,
body.section-cluster-page .section-page-main .configurator-workspace .configurator-summary-kpi .label {
  color: #fff !important;
}

.section-page-main .configurator-session-meta .configurator-stat .value,
.section-page-main .configurator-summary-kpi .value,
.section-page-main .kpi .value,
body.section-cluster-page .section-page-main .configurator-workspace .configurator-summary-kpi .value {
  color: #fff !important;
}

.floating-cart-popover {
  background:
    radial-gradient(circle at 88% 8%, rgba(170, 75, 230, 0.18), transparent 32%),
    linear-gradient(145deg, rgba(73, 23, 111, 0.99), rgba(43, 10, 69, 0.995) 62%, rgba(25, 5, 43, 0.995)) !important;
}

.floating-cart-popover::after {
  background: rgba(55, 14, 84, 0.995) !important;
}

#support-form > button[type="submit"],
#password-change-form > button[type="submit"] {
  justify-self: start !important;
  align-self: start !important;
  width: auto !important;
  inline-size: fit-content !important;
  min-width: min(230px, 100%) !important;
  max-width: 100% !important;
  padding-inline: 24px !important;
}

@media (max-width: 540px) {
  #support-form > button[type="submit"],
  #password-change-form > button[type="submit"] {
    min-width: min(200px, 100%) !important;
  }
}
