:root {
  --gap-halfff: 4.33px;
  --gap-halff: 8.67px;
  --gap-half: 17.35px;
  --gap: 34.7px;
  --gapp: 69.4px;
  --gappp: 104.1px;
  --txt: #2d3a42;
  --white: #faf9f6;
  --purple: #9e2fb9;
  --yellow: #fab31d;
  --green: #38c791;
  --red: #e45057;
  --orange: #fe9345;
  --blue: #249cea;
  --silver: #f3f2ed;
  --gray: #e4e2db;
  --dark: #b8b091;
  --black: #000;
}

.str-1 {
  height: var(--gap);
}

.str-2 {
  height: calc(2 * var(--gap));
}

.str-3 {
  height: calc(3 * var(--gap));
}

.str-4 {
  height: calc(4 * var(--gap));
}

.str-5 {
  height: calc(5 * var(--gap));
}

.str-6 {
  height: calc(6 * var(--gap));
}

.row,
.row-bc {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  gap: var(--gap);
  max-width: 100%;
  border-style: none;
  box-sizing: border-box;
}

.row-bc {
  align-items: center;
  align-content: center;
}

.row-ltc {
  display: flex;
  justify-content: start;
  align-items: center;
  align-content: center;
  gap: var(--gap);
}

.row-c {
  display: flex;
  justify-content: center;
  align-items: center;
  align-content: center;
  gap: var(--gap);
}

.row-rtc {
  display: flex;
  justify-content: end;
  align-items: center;
  align-content: center;
  gap: var(--gap);
}

.nowrap {
  flex-wrap: nowrap;
}

.div-3-kolonku {
  flex: 1 1 calc(33.333% - var(--gap));
}

.s0 {
  background: radial-gradient(circle at top, #0b1c2d, #02060c);
}

.s1 {
  background: linear-gradient(135deg, #b64396, #f771d1);
}

.s2 {
  background: linear-gradient(135deg, #6ec6ff, #71e3c7);
}

.s3 {
  background: linear-gradient(135deg, #9b8cff, #c9a7ff);
}

.s4 {
  background: linear-gradient(135deg, #e0e0e0, #f5f5f5);
}

.s5 {
  background: linear-gradient(135deg, #172554, #2563eb);
}

figure,
iframe {
  width: 100%;
  padding: 0;
  margin: 0;
}

body,
div,
section,
header,
article,
main,
aside,
footer,
textarea,
#video-fon,
button,
nav,
ol,
ul,
li,
a,
s,
u,
i,
sup,
sub,
span,
input,
textarea {
  max-width: 100%;
  border-style: none;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

table {
  caption-side: bottom;
  border-collapse: collapse;
}

caption {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  color: #6c757d;
  text-align: left;
}

th {
  text-align: inherit;
  text-align: -webkit-match-parent;
}

tbody,
tfoot,
tr,
td,
th {
  border-color: inherit;
  border-style: solid;
  border-width: 0;
}

thead {
  background: var(--blue);
}

td,
th {
  border-bottom: 1px solid var(--txt);
  padding: 8px 10px;
}

tr:nth-child(even) {
  background: rgba(101, 140, 184, 0.1);
}

tr:hover {
  background: rgba(196, 79, 172, 0.2);
  color: var(--white);
}

s {
  text-decoration: none;
  font-style: normal;
  margin: 0;
}

img {
  max-width: 100%;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  text-transform: uppercase;
  width: 100%;
  font-weight: 700;
  display: inline-block;
  margin: 0 0 var(--gap-half) 0;
  padding: 0;
  text-decoration: none;
  line-height: 1;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

h1 {
  font-size: 2.1rem;
  letter-spacing: -0.02em;
  margin-top: var(--gap);
  border-left: var(--gap-halff) solid var(--purple);
  padding-left: var(--gap-half);
}

h1>span {
  font-size: 1.5rem;
  letter-spacing: 1px;
}

/* H2 — Розділення секцій з м'яким підкресленням */
h2 {
  font-size: 1.85rem;
  margin-top: var(--gap);
  display: flex;
  align-items: center;
  gap: var(--gap-half);
}

h2::after {
  content: "";
  height: 2px;
  flex-grow: 1;
  background: linear-gradient(to right, var(--gray), transparent);
}

/* H3 — Картковий стиль або назви підрозділів */
h3 {
  font-size: 1.4rem;
  position: relative;
  color: var(--dark);
  margin-top: var(--gap);
  padding: var(--gap-halff) var(--gap-halff) var(--gap-halff) var(--gap-half);
  border-bottom: 1px dotted #e3dbb7;
  background: #f6f3e9;
}

h3::before {
  position: absolute;
  bottom: 7px;
  left: -14px;
  content: "〚";
  font-size: 1.1em;

}

/* H4 — Малий заголовок для форм або карток */
h4 {
  font-size: 1.1rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--green);
  margin-top: var(--gap-halff);
  padding: var(--gap-halff) var(--gap-half) var(--gap-halff) 0;
  background: #eef7e7;
}

h4>span {
  text-transform: lowercase;
  color: var(--black);
  font-size: 0.8em;
}

h4>span u {
  color: var(--dark);
}

h4>span i {
  font-weight: 100;
}

p {
  text-align: justify;
  margin: 0 0 var(--gap-halff) 0;
  font-size: 16px;
  line-height: 1.4;
  letter-spacing: 1px;
}

b,
strong {
  font-weight: 700;
}

.qoute {
  position: relative;
  margin: var(--gap-half) 0;
  line-height: 1.3;
  font-weight: 100;
  padding: var(--gap-half) 0 var(--gap-half) var(--gap);
  quotes: "\201c" "\201d" "\2018" "\2019";
  font-size: 1.1em;
  font-style: italic;
  border-left: 2px solid var(--red);
}

.qoute::before {
  content: open-quote;
  font-size: 3em;
  color: var(--red);
  position: absolute;
  top: -3px;
  left: -1px;
}

.qoute::after {
  content: close-quote;
  font-size: 3em;
  color: var(--red);
  position: absolute;
  bottom: -10px;
  right: 10px;
  height: 28px;
}

.qoute-v2 {
  quotes: "\00AB\00A0" "\00A0\00BB";
}

.texkontyr {
  text-shadow: black 1px 1px 0, black -1px -1px 0, black -1px 1px 0, black 1px -1px 0;
}

.texkontyr-m {
  text-shadow: 0px 1px 1px black;
}

.shadow {
  box-shadow: rgb(0 0 0 / 99%) 0px 0px 20px;
}

pre {
  white-space: pre-wrap;
  word-wrap: break-word;
  border-radius: 16px;
  line-height: 1.6;
  border: 1px dashed var(--gray);
  padding: 15px;
  color: var(--dark);
}

pre s {
  color: var(--yellow);
  font-weight: bold;
  font-size: 1.1em;
}

a {
  display: inline-block;
  color: var(--blue);
  text-decoration: none;
}

a:hover,
button:hover {
  filter: hue-rotate(18deg);
  cursor: pointer;
}

a:not([href]):not([class]),
a:not([href]):not([class]):hover {
  color: inherit;
  text-decoration: none;
}

hr {
  margin: var(--gap-half) 0;
  height: 1px;
  background-color: var(--gray);
  border: 0;
  opacity: 0.7;
}

.a-center {
  text-align: center;
  width: 100%;
  vertical-align: baseline;
}

.nodispl,
.wievnot,
.none,
.hidden {
  display: none;
}

.rel,
.relative {
  position: relative;
}

.clear {
  display: block;
  position: relative;
  padding: 1px 0;
  width: 100%;
  min-height: 1px;
  font-size: 2px;
  float: none;
  clear: both;
}

select,
textarea,
input {
  position: relative;
  font-size: 14px;
  display: inline-block;
  padding: var(--gap-halff);
  line-height: 1;
  background-color: var(--silver);
  color: var(--txt);
  letter-spacing: 1px;
  border: none;
  border-bottom: 1px solid var(--gray);
  border-radius: 12px;
}

select option {
  border: none;
  outline: none;
}

textarea {
  height: auto;
  margin: 0;
  overflow: auto;
  vertical-align: top;
  resize: vertical;
}

textarea:focus,
select:active,
select:focus,
.uneditable-input:focus,
input:focus,
input:active,
input:target,
input:focus-visible {
  border-color: var(--txt2);
  outline: none;
}

input::-moz-placeh:activeolder,
textarea::-moz-placeholder,
input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
  opacity: 0.7;
}

input {
  color: var(--txt);
  background: var(--silver);
}

input:not(:placeholder-shown) {
  background: var(--silver);
}

input:focus {
  background: var(--silver);
  color: var(--blue)
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  background-color: var(--silver) !important;
}

input[type="number"] {
  -moz-appearance: textfield;
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

label {
  position: relative;
  display: inline-block;
}

ul,
ol {
  list-style: none;
  margin: var(--gap-half) 0;
  padding: 0 0 0 var(--gap-half);
}

li {
  padding: var(--gap-halfff) 0 4px var(--gap-half);
  font-size: 14px;
  line-height: 1.2;
  letter-spacing: 1px;
  position: relative;
}

ul li::after {
  content: '';
  width: 8px;
  height: 8px;
  background: var(--txt);
  border: 1px solid var(--txt);
  position: absolute;
  left: -10px;
  top: 6px;
  padding: 2px;
  background-clip: content-box;
}

ol {
  counter-reset: list;
}

ol li::before {
  content: counter(list);
  counter-increment: list;
  color: var(--txt);
  position: absolute;
  left: -10px;
  top: 4px;
}

html {
  height: 100vh;
  min-height: 100vh;
  margin: 0;
  padding: 0;
}

body {
  overflow-x: hidden;
  padding-top: 55px;
  display: block;
  min-height: 100%;
  width: 100% !important;
  max-width: 100% !important;
  background: var(--white);
  color: var(--txt);
  font-family: "Tahoma", Arial, sans-serif;
  font-optical-sizing: auto;
  font-size: 12px;
  font-weight: 400;
  line-height: 1;
}

#ramka,
.ramka {
  width: 1000px;
  max-width: 1000px;
  position: relative;
  margin: 0 auto;
  padding: 0;
}

button {
  background-color: var(--dark);
  color: var(--txt);
}

/* приховуємо стрілочки вверх вниз */
input[type="number"] {
  -moz-appearance: textfield;
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.icon {
  width: 26px;
  height: 26px;
  color: gray;
  stroke: gray;
}

/* end| R E S E T  -----------------------*/

/* ==== UX/UI INPUT ==== */
.stylinput {
  width: 100%;
  padding: 12px 14px;
  font-size: 15px;
  line-height: 1.4;
  color: var(--input-text, #1f2937);
  background-color: var(--input-bg, #ffffff);

  border: 1.5px solid var(--input-border, #d1d5db);
  border-radius: 40px;

  outline: none;
  transition:
    border-color 0.25s ease,
    box-shadow 0.25s ease,
    background-color 0.25s ease;
}

/* Hover */
.stylinput:hover {
  border-color: var(--input-border-hover, #9ca3af);
}

/* Focus */
.stylinput:focus {
  border-color: var(--input-focus, #6366f1);
  background-color: #fff;
  box-shadow: 0 0 0 4px rgba(99, 102, 241, 0.15);
}

/* Placeholder */
.stylinput::placeholder {
  color: #9ca3af;
  font-size: 14px;
}

/* Disabled */
.stylinput:disabled {
  background-color: #f3f4f6;
  color: #9ca3af;
  cursor: not-allowed;
}

/* Error state */
.stylinput.error {
  border-color: #ef4444;
}

.stylinput.error:focus {
  box-shadow: 0 0 0 4px rgba(239, 68, 68, 0.2);
}

/* Success state */
.stylinput.success {
  border-color: #22c55e;
}

.stylinput.success:focus {
  box-shadow: 0 0 0 4px rgba(34, 197, 94, 0.2);
}

.yakpracue li {
  font-size: 16px;
}


.row.heder {
  width: 1000px;
  max-width: 1000px;
  left: calc((100% - 1000px) / 2);
  position: fixed;
  top: 0;
  z-index: 222;
  background-color: var(--white);
  border-bottom: 1px solid var(--gray);
}

.heder .icon {
  width: 36px;
  height: 36px;
}

.heder .btn-close {
  float: right;
  font-size: x-large;
  margin: var(--gap-half) var(--gap-half) 0 0;
  cursor: pointer;
}

.hed-logo.row-c,
.fotslogan {
  gap: var(--gap-halfff);
  font-size: x-large;
  color: var(--green);
}

.hed-logo span,
.fotslogan span {
  color: var(--purple);
}

.hed-logo b,
.fotslogan b {
  color: var(--yellow);
}

.hed-logo img {
  height: 36px;
  width: auto;
}

#hedmenu {
  display: none;
  width: 100%;
  min-height: 100vh;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 666;
  padding: var(--gapp);
  background-color: var(--white);
  font-size: larger;
  opacity: .96;
}

#hedmenu .hedmenu-ul {
  border: 2px solid var(--gray);
  margin: 0;
  padding: var(--gap-half) var(--gap-half) var(--gap) var(--gap-half);
  border-radius: 18px;
}

.hedmenu-ul li {
  margin: var(--gap-half) 0 0 var(--gap-half);
  border-bottom: 1px dotted gray;
  padding-bottom: 24px;
}

.hedmenu-ul a {
  font-size: 1.8em;
  font-weight: 700;
}

#hedmenu.is-open {
  display: block;
}

.row-ltc.kruhtu {
  gap: var(--gap-halff);
}

.kruhtu {
  list-style: none;
  margin: 4px 0;
  padding: 0 0 var(--gap) 0;
}

.kruhtu li {
  margin: 4px 0;
  padding: 4px 0;
}

.kruhtu li::before {
  display: none;
}

.artkblock h2,
.artkblock h3,
.artkblock h4 {
  margin: var(--gap) 0 var(--gap-half) 0;
}



.bl-vm2 main {
  flex: 1;
}

.bl-vm2 aside {
  width: 320px;
}

.bl-vm2 img {
  border-radius: var(--gap-half);
}

.bl-vm2 {
  flex: 1 1 calc(33.333% - var(--gap));
}

.contblinf>div {
  flex: 1 1 calc(50% - var(--gap));
}

.contblinf svg {
  width: 16px;
  height: 16px;
}

h1 .fotslogan {
  text-transform: none;
  font-size: 1.4em;
}

pre {
  white-space: pre-wrap;
  word-wrap: break-word;
  border-radius: 16px;
  line-height: 1.6;
  border: 1px dashed var(--gray);
  padding: 15px;
  color: var(--dark);
}

pre s {
  color: var(--yellow);
  font-weight: bold;
  font-size: 1.1em;
}

.footer {
  padding: var(--gap-half) 0;
  margin-top: var(--gap);
}

.foot-txt {
  padding: var(--gap-half) 0 0 0;
}

.foot-txt sub {
  font-size: small;
  letter-spacing: 2px;
}

.foot-nav {
  min-width: 320px;
}

.foot-nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.foot-nav ul li {
  margin: var(--gap-halff) 0;
}

.foot-nav ul li::after,
.stylinputt {
  display: none;
}

.polesr {
  margin: var(--gap-half) 0;
}


@media (max-width:1000px) {

  #ramka,
  .ramka {
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0 var(--gap-half);
  }

  .row.heder {
    width: 100%;
    max-width: 100%;
    left: 0;
    margin: 0;
    padding: 0 var(--gap-half);
  }
}

@media (max-width: 670px) {

  #ramka,
  .ramka {
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0 var(--gap-halff);
  }

  .row-c.heder {
    gap: var(--gap);
  }

  .footer.row.nowrap {
    flex-wrap: wrap;
  }

  .footer.row.nowrap>.foot-txt {
    width: 100%;
  }
}

@media (max-width:420px) {
  .row-c.heder {
    gap: var(--gap-half);
  }

  .hed-logo.row-c {
    font-size: large;
  }

  #hedmenu {
    padding: var(--gap-half);
  }

  .row.heder {
    padding: 0 var(--gap-halff);
  }

}



.pricing-container {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 25px;
  max-width: 1000px;
  width: 100%;
}

.pricing-card {
  background: var(--white);
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.05);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  display: flex;
  flex-direction: column;
}

.pricing-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1);
}

.card-header {
  padding: 40px 20px;
  text-align: center;
}

.tier-name {
  margin: 0;
  text-transform: uppercase;
  font-size: 1.2rem;
  letter-spacing: 1px;
}

.price {
  font-size: 2.5rem;
  font-weight: bold;
  margin-top: 10px;
}

.price span {
  font-size: 1rem;
  font-weight: normal;
}

.card-body {
  padding: 30px;
  text-align: center;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.description {
  color: #666;
  line-height: 1.6;
  margin-bottom: 30px;
}

.btn {
  border: none;
  padding: 15px 30px;
  border-radius: 50px;
  color: white;
  font-weight: bold;
  cursor: pointer;
  transition: opacity 0.2s;
}

.btn:hover {
  opacity: 0.9;
}

/* Виділення центральної картки */
.featured {
  border: 2px solid var(--purple);
  transform: scale(1.05);
}

.featured:hover {
  transform: scale(1.08) translateY(-10px);
}

#test input[type="email"] {
  display: none;
}

.form-group>.stylinput {
  margin: var(--gap-half) auto;
  width: 50%;
  text-align: center;
}

.zagtestbl>div {
  width: 45%;
  font-size: 14px;
  line-height: 1.4;
}

.user-limits {
  padding: var(--gap-half);
  background: var(--white);
  border-radius: 16px;
  box-shadow: 0 8px 14px rgba(0, 0, 0, 0.04);
  margin-top: -12px;
}

.limit-item {
  text-align: center;
  padding: var(--gap-halff);
  background: var(--silver);
  border-radius: 12px;
}

.limit-value {
  display: block;
  width: 100%;
  text-shadow: black 1px 1px 0, black -1px -1px 0, black -1px 1px 0, black 1px -1px 0;
  font-size: 19px;
  font-weight: 700;
  line-height: 1;
  color: var(--white);
}

.limit-label {
  font-size: 11px;
  font-weight: 800;
  color: var(--txt);
  white-space: wrap;
}

.limit-item {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.limit-item:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(36, 156, 234, 0.2);
}

.imgsr {
  border-radius: var(--gap);
}