:root {
  --bg-main: #faf9f8;
  --bg-input: #fafafa;
  --bg-hover: #f0ede8;
  --text-main: #313236;
  --text-second: #73726c;
  --text-button: #faf9f8;
  --primary: #3615a2;
  --primary-hover: #2b1080;
  --border: #d9d7cc;
  --thumb: #bfbdb4;
  --error: #fe150d;
  --bg-devices-mobile: #caccc4;
  --bg-devices-browser: #d2d4cc;
  --bg-devices-desktop: #dee0da;
}

[data-theme="dark"] {
  --bg-main: #1a1b1e;
  --bg-input: #2c2d31;
  --bg-hover: #37383d;
  --text-main: #e8e9ea;
  --text-second: #9a9b9f;
  --text-button: #faf9f8;
  --primary: #5f3cf0;      
  --primary-hover: #7355f2; 
  --border: #404145;
  --thumb: #5f6065;
  --error: #ff453a;
  --bg-devices-mobile: #2f3135;
  --bg-devices-browser: #3a3c41;
  --bg-devices-desktop: #45474c;
}

html {
  scroll-behavior: smooth;
  text-rendering: optimizeLegibility;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%
}

html::-webkit-scrollbar {
  width: 0;
  opacity: 0;
  display: none
}

*,
*:before,
*:after {
  box-sizing: border-box
}

ul[class],
ol[class] {
  padding: 0
}

* {
  margin: 0;
  padding: 0;
  transition: background-color 0.3s ease, 
              border-color 0.3s ease, 
              color 0.3s ease,
              fill 0.3s ease,
              stroke 0.3s ease;
}

ul {
  list-style: none
}

a:not([class]) {
  text-decoration-skip-ink: auto
}

img {
  max-width: 100%;
  display: block
}

article>*+* {
  margin-top: 1em
}

input,
button,
textarea,
select {
  font: inherit
}

input {
  -webkit-writing-mode: horizontal-tb !important;
  text-rendering: auto;
  color: initial;
  letter-spacing: normal;
  word-spacing: normal;
  text-transform: none;
  text-indent: 0;
  text-shadow: none;
  display: inline-block;
  text-align: start;
  -webkit-appearance: textfield;
  background-color: var(--bg-main);
  -webkit-rtl-ordering: logical;
  cursor: text;
  margin: 0;
  padding: 1px 0;
  border-width: 2px;
  border-style: inset;
  border-color: initial;
  border-image: initial;
  border-radius: 0
}

input[type=submit],
textarea {
  -webkit-appearance: none
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0
}

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

iframe {
  border: 0
}

body {
  background: var(--bg-main);
  color: var(--text-main);
  font-family: "Inter", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  text-rendering: optimizeSpeed;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  position: relative;
  overflow-x: hidden !important;
  -webkit-tap-highlight-color: transparent;
  min-height: 100vh;
  scroll-behavior: smooth;
}

.layout {
  flex: 1;
  width: 100%;
  max-width: 1270px;
  margin-inline: auto;
  padding-left: 26px;
  padding-right: 26px
}

@media (max-width: 479px) {
  .layout {
    padding-left: 8px;
    padding-right: 8px
  }
}

.layout-section {
  width: 100%;
  padding: 96px 0;
}

@media (max-width: 1365px) {
  .layout-section {
    padding: 80px 0;
  }
}

@media (max-width: 719px) {
  .layout-section {
    padding: 64px 0;
  }
}

@media (max-width: 479px) {
  .layout-section {
    padding: 56px 0;
  }
}

.section__title {
  font-size: 72px;
  font-weight: 600;
  margin-bottom: 24px;
}

@media (max-width: 1023px) {
  .section__title {
    font-size: 48px;
  }
}

@media (max-width: 479px) {
  .section__title {
    font-size: 32px;
  }
}

.section__text {
  font-size: 24px;
  font-weight: 400;
  line-height: 36px;
}

@media (max-width: 1023px) {
  .section__text {
    font-size: 22px;
    line-height: 33px;
  }
}

@media (max-width: 719px) {
  .section__text {
    font-size: 20px;
    line-height: 30px;
  }
}

@media (max-width: 479px) {
  .section__text {
    font-size: 18px;
    line-height: 27px;
  }
}

.flag-icon {
  width: 16px;
  height: 16px;
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  mask-image: url('/src/icon/flag.svg');
  -webkit-mask-image: url('/src/icon/flag.svg');
  background-color: var(--primary);
  transition: all 0.3s ease;
}

.mt-32 {
  margin-top: 32px;
}

.mt-48 {
  margin-top: 48px;
}