*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { scroll-behavior: smooth; }
/*
a {
  text-decoration: none;
  outline: none;
}
*/
a, a:hover, a:focus, a:active, a:visited {
    color: var(--white);
    text-decoration: none; /* убрать подчеркивание, если нужно */
}
/*
a:hover {
  text-decoration: none;
}

a:focus {
  outline: none;
  text-decoration: none;
}

a:active {
  outline: none;
}*/

body {
  background: var(--bg);
  font-family: 'Inter', sans-serif;
  color: var(--white);
  -webkit-font-smoothing: antialiased;
  transition: background 0.3s, color 0.3s;
  min-width: 320px;
}

.container {
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 var(--container-pad);
}

.section-title {
  font-family: 'Unbounded', 'RoadRadio', sans-serif;
  font-size: 22px;
  font-weight: 500;
  color: var(--white);
  line-height: 1;
  transition: color 0.3s;
  display: flex;
  align-items: center;
  gap: 10px;
}

/* ── THEME TOGGLE ── */
.theme-toggle {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
}

.toggle-track {
  width: 46px;
  height: 26px;
  background: var(--toggle-bg);
  border-radius: 13px;
  position: relative;
  transition: background 0.3s;
  border: 1.5px solid var(--white-14);
  flex-shrink: 0;
}

.toggle-thumb {
  position: absolute;
  top: 3px;
  left: var(--toggle-thumb-x);
  width: 18px;
  height: 18px;
  background: var(--toggle-thumb);
  border-radius: 50%;
  transition: left 0.3s cubic-bezier(0.4,0,0.2,1), background 0.3s;
  box-shadow: 0 1px 4px rgba(0,0,0,0.25);
}

.toggle-label {
  font-size: 12px;
  font-weight: 600;
  color: var(--white-70);
  transition: color 0.3s;
  white-space: nowrap;
}

/* ── RESPONSIVE CONTAINER ── */
@media (max-width: 1300px) {
  :root { --container-pad: 100px; }
}
@media (max-width: 1100px) {
  :root { --container-pad: 48px; }
}
@media (max-width: 900px) {
  :root { --container-pad: 32px; }
}
@media (max-width: 700px) {
  :root { --container-pad: 20px; }
}

/* ── MOBILE BASE ── */
@media (max-width: 510px) {
  /* nav is now sticky (in-flow) — no body padding-top needed */
  body { padding-top: 0; }
  .container { padding: 0 16px; }
  .section-title { font-size: 18px; }
  .products-section { padding: 28px 0 0; }
}
.wrapper-flash {font-weight: bold;}
.flashmessage {font-size: 16px;padding: 18px 50px 18px 10px;width: 100%;top:0px;z-index: 8;text-align: center;color: #ffffff;position: relative;}
.flashmessage + .flashmessage, .flashmessage + #flash_js + .flashmessage {margin-top:10px;}
.flashmessage-warning,.help-box {background-color: #d0a52a;border: solid 1px #93741e;}
.flashmessage-error {background-color: #c44e20;border: solid 1px #873616;}
.flashmessage-ok {background-color: #839b44;border: solid 1px #4f5e29;}
.flashmessage-info {background-color: #30a0ef;border: solid 1px #2477b2;}
.flashmessage a {color:#fff;text-decoration:underline;}
.flashmessage a:hover {color:#fff;text-decoration:none;}
.help-box {padding: 5px 10px;display: inline-block;color: #fff;font-size: 14px;margin: 10px 0;}
.flashmessage .ico-close {transition:0.1s;position: absolute; top: 50%; right: 5px; float: right; font-size: 18px; color: white; text-shadow: none; text-decoration: none; font-weight: bold; cursor: pointer; padding: 0; line-height: 40px; border: none; width: 40px; height: 40px; margin-top: -20px; background: rgba(0,0,0,0.2); }
.flashmessage .ico-close:hover {background:rgba(0,0,0,0.3);}
.flashmessage-error .close {color: #B94A48;}
.flashmessage-warning .close {color: #C09853;}
.flashmessage-success .close,.flashmessage-information .close {color: #3A87AD;}

/* Для существующих checkbox с классом .your-checkbox-class */
.your-checkbox-class {
  appearance: none;
  -webkit-appearance: none;
  width: 38px;
  height: 22px;
  border-radius: 100px;
  background: var(--white-14);
  cursor: pointer;
  position: relative;
  transition: background 0.2s;
}

.your-checkbox-class:checked {
  background: var(--purple);
}

.your-checkbox-class::before {
  content: '';
  position: absolute;
  top: 3px;
  left: 3px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 3px rgba(0,0,0,0.3);
  transition: transform 0.18s;
}

.your-checkbox-class:checked::before {
  transform: translateX(16px);
}