/*!***************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./src/Goya/assets/styles/main.scss ***!
  \***************************************************************************************************************************/
@charset "UTF-8";
@font-face {
  font-family: "fontello";
  src: url(../../../Goya/assets/fonts/fontello.eot);
  src: url(../../../Goya/assets/fonts/fontello.eot#iefix) format("embedded-opentype"), url(../../../Goya/assets/fonts/fontello.woff2) format("woff2"), url(../../../Goya/assets/fonts/fontello.woff) format("woff"), url(../../../Goya/assets/fonts/fontello.ttf) format("truetype"), url(../../../Goya/assets/images/fontello.svg#fontello) format("svg");
  font-weight: normal;
  font-style: normal;
}
/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */
/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */
/*
@media screen and (-webkit-min-device-pixel-ratio:0) {
  @font-face {
    font-family: 'fontello';
    src: url('../fonts/fontello.svg?52256836#fontello') format('svg');
  }
}
*/
[class^=icon-]:before, [class*=" icon-"]:before {
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  speak: never;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  margin-right: 0.2em;
  text-align: center;
  /* opacity: .8; */
  /* For safety - reset parent styles, that can break glyph codes*/
  font-variant: normal;
  text-transform: none;
  /* fix buttons height, for twitter bootstrap */
  line-height: 1em;
  /* Animation center compensation - margins should be symmetric */
  /* remove if not needed */
  margin-left: 0.2em;
  /* you can be more comfortable with increased icons size */
  /* font-size: 120%; */
  /* Font smoothing. That was taken from TWBS */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  /* Uncomment for 3D effect */
  /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
}

.icon-home:before {
  content: "\e800";
} /* '' */
.icon-finger:before {
  content: "\e801";
} /* '' */
.icon-star:before {
  content: "\e802";
} /* '' */
.icon-gift:before {
  content: "\e803";
} /* '' */
.icon-check:before {
  content: "\e804";
} /* '' */
.icon-pause:before {
  content: "\e805";
} /* '' */
.icon-menu:before {
  content: "\e806";
} /* '' */
.icon-profile:before {
  content: "\e807";
} /* '' */
.icon-search:before {
  content: "\e808";
} /* '' */
.icon-close:before {
  content: "\e809";
} /* '' */
.icon-trash:before {
  content: "\e80a";
} /* '' */
.icon-basket:before {
  content: "\e80b";
} /* '' */
.icon-facebook:before {
  content: "\e80c";
} /* '' */
.icon-in:before {
  content: "\e80d";
} /* '' */
.icon-inst:before {
  content: "\e80e";
} /* '' */
.icon-x:before {
  content: "\e80f";
} /* '' */
.icon-play:before {
  content: "\e810";
} /* '' */
.icon-arrow_down:before {
  content: "\e811";
} /* '' */
.icon-arrow_left:before {
  content: "\e812";
} /* '' */
.icon-arrow_right:before {
  content: "\e813";
} /* '' */
.icon-arrow_up:before {
  content: "\e814";
} /* '' */
.icon-expand:before {
  content: "\e815";
} /* '' */
.icon-finger_down:before {
  content: "\e816";
} /* '' */
.icon-information:before {
  content: "\e817";
} /* '' */
.icon-lock:before {
  content: "\e818";
} /* '' */
.icon-sort-by:before {
  content: "\e819";
} /* '' */
.icon-youtube:before {
  content: "\e81a";
} /* '' */
.icon-user-circle-o:before {
  content: "\f2be";
} /* '' */
/* Анимация загрузчика */
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
@keyframes spin-line {
  0% {
    width: 0;
    left: 50%;
  }
  50% {
    width: 40px;
    left: 50%;
  }
  100% {
    width: 0;
    left: 50%;
  }
}
/***
.header {
    height: 80px;

    @include xl {
        height: 70px; // Чуть меньше на обычных мониторах
    }

    @include lg {
        padding: 0 15px; // Убираем лишние отступы на ноутбуках
    }

    @include md {
        height: 60px; // Компактный вид для мобильных
    }

    @include sm {
        // Здесь можно скрыть часть текста в кнопках или уменьшить логотип
    }
}
 */
.gap-xs {
  gap: 5px;
}

.gap-sm {
  gap: 10px;
}

.gap-md {
  gap: 20px;
}

.gap-lg {
  gap: 50px;
}

.gap-xl {
  gap: 40px;
}

.gap-xxl {
  gap: 60px;
}

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

*, *:focus, *:active, *:hover {
  outline: 0 !important;
  outline: none !important;
  -webkit-tap-highlight-color: transparent !important;
  box-shadow: none !important;
}

a, button, input, textarea, select {
  outline: 0 !important;
  outline: none !important;
}

body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  margin: 0;
  padding: 0;
  font-family: "Red Hat Display", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 20px;
  text-rendering: optimizeSpeed;
}

html {
  color: #1A1E25;
  font-family: "Red Hat Display", sans-serif;
}

img, svg {
  display: block;
  max-width: 100%;
  height: auto;
}

h1, h2, h3, h4, h5, .text-large {
  font-family: "Red Hat Display", sans-serif;
  margin: 0;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

button, input, textarea {
  font-family: "Red Hat Display", sans-serif !important;
}

h1 {
  font-weight: 700;
  font-size: 64px;
  line-height: 78px;
}

h2 {
  font-weight: 700;
  font-size: 40px;
  line-height: 53px;
}

h3 {
  font-weight: 500;
  font-size: 30px;
  line-height: 40px;
}

h4 {
  font-weight: 500;
  font-size: 20px;
  line-height: 26px;
}

h5 {
  font-weight: 400;
  font-size: 13px;
  line-height: 17px;
}

a {
  color: #1A1E25;
  text-decoration: underline;
  transition: color 0.2s ease-in-out, opacity 0.2s ease-in-out;
}
a:hover {
  text-decoration: none;
  opacity: 0.8;
}

sup {
  color: #D4473A;
}

.cursor-pointer {
  cursor: pointer;
}

.text-extra-large {
  font-size: 44px;
  line-height: 52px;
  font-weight: 700;
}

.text-extra, .accordion .accordion-header, .simple__content h2 {
  font-size: 20px;
  line-height: 26px;
  font-weight: 500;
}

.text-large {
  font-size: 18px;
  line-height: 24px;
}

.text-regular, .simple__content, p {
  font-size: 16px;
  line-height: 21px;
}

.text-small, .footer-description, footer .footer__action, .form-field .alert--input {
  font-size: 13px;
  line-height: 18px;
}

.caption, header .header-action .profile-balance .balance-title {
  font-size: 11px;
  line-height: 16px;
}

.text-uppercase {
  text-transform: uppercase;
}

.fw-bold {
  font-weight: 700;
}

.fw-medium {
  font-weight: 500;
}

.fw-regular {
  font-weight: 400;
}

.d-none {
  display: none;
}

.d-block {
  display: block;
}

.d-inline-block {
  display: inline-block;
}

.d-flex {
  display: flex;
}

.align-center {
  align-items: center;
}

.align-baseline {
  align-items: baseline;
}

.self-center {
  align-self: center;
}

.justify-between {
  justify-content: space-between;
}

.justify-center {
  justify-content: center;
}

.flex-column {
  flex-direction: column;
}

.flex-row {
  flex-direction: row;
}

.d-flex-3 {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: space-between;
}
.d-flex-3 > * {
  flex: 0 0 calc(33.33% - 20px);
}

@media (max-width: 768px) {
  .d-flex-3 > * {
    flex: 0 0 calc(50% - 20px);
  }
}
@media (max-width: 480px) {
  .d-flex-3 > * {
    flex: 0 0 100%;
  }
}
.grow {
  flex-grow: 1;
}

.grow-0 {
  flex-grow: 0;
}

.flex-0 {
  flex: 0;
}

.flex-1 {
  flex: 1;
}

/* Классы для равных элементов */
.flex-equal {
  display: flex;
}

.flex-equal > * {
  flex: 1;
}

.flex-auto {
  flex: auto;
}

.flex-none {
  flex: none;
}

.text-left {
  text-align: left;
}

.text-right {
  text-align: right;
}

.text-center {
  text-align: center;
}

.text-strike {
  text-decoration: line-through;
}

.mx-auto {
  margin-left: auto;
  margin-right: auto;
}

.ml-auto {
  margin-left: auto;
}

.mr-auto {
  margin-right: auto;
}

.minh-260 {
  min-height: 260px;
}

.minh-500 {
  min-height: 500px;
}

.mw-360 {
  max-width: 360px;
}

.minw-360 {
  min-width: 360px;
}

.mw-400 {
  max-width: 400px;
}

.mw-500 {
  max-width: 500px;
}

.mw-600 {
  max-width: 600px;
}

.mw-700 {
  max-width: 700px;
}

.mw-800 {
  max-width: 800px;
}

.w-100 {
  width: 100%;
}

.w-50 {
  width: 50%;
}

.pointer-none a {
  pointer-events: none;
}

.divider {
  width: 1px;
  background-color: #DBDCE0;
  align-self: stretch;
}

.mobile-only, .mobile-flex-only, .tablet-only, .tablet-flex-only {
  display: none !important;
}

.radius-md {
  border-radius: 8px;
}

.radius-lg {
  border-radius: 20px;
}

.radius-circle {
  border-radius: 100%;
}

.rate-full {
  color: #FFB200;
}

.rate-none {
  color: #DBDCE0;
}

.icon-star:before {
  margin: 0;
}

.menus.menu__line {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
}
.menus > * {
  position: relative;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 5px;
  height: 37px;
  padding: 10px 30px;
  border-radius: 500px;
  color: #1A1E25;
  text-align: center;
  text-decoration: none;
}
.menus > *.active {
  background: #1A1E25;
  color: #FFFFFF;
}

.btn, header .header-action .profile-balance {
  position: relative;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 5px;
  text-align: center;
  height: 50px;
  padding: 0 20px;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.3s ease;
  border: 1px solid transparent;
  text-decoration: none;
  font-weight: 700;
  font-size: 16px;
  line-height: 21px;
  white-space: nowrap;
}
.btn:active, header .header-action .profile-balance:active {
  transform: scale(0.97);
}
.btn:hover, header .header-action .profile-balance:hover, .btn:focus, header .header-action .profile-balance:focus {
  opacity: 1;
}
.btn--primary {
  color: #FFFFFF;
  background: #FFB200;
  border-color: #FFB200;
}
.btn--primary:hover {
  background: #FF9500;
  border-color: #FF9500;
}
.btn--dark {
  background: #1A1E25;
  color: #FFFFFF;
  border-color: #1A1E25;
}
.btn--dark:hover {
  background: #4B5159;
  color: #FFFFFF;
  border-color: #4B5159;
}
.btn--dark-outline {
  background: transparent;
  color: #1A1E25;
  border-color: #1A1E25;
}
.btn--dark-outline:hover {
  background: #DBDCE0;
  color: #1A1E25;
  border-color: #1A1E25;
}
.btn--blue, header.scrolled .btn--top.btn--grant, header.fixed-style .btn--top.btn--grant, header .header-action .btn--grant {
  background: linear-gradient(90deg, #546DDC 0%, #4940CE 100%);
  color: #FFFFFF;
  border-color: linear-gradient(90deg, #546DDC 0%, #4940CE 100%);
}
.btn--blue:hover, header.scrolled .btn--top.btn--grant:hover, header.fixed-style .btn--top.btn--grant:hover, header .header-action .btn--grant:hover {
  background: linear-gradient(90deg, #546DDC 0%, #4940CE 100%);
  color: #FFFFFF;
  border-color: linear-gradient(90deg, #546DDC 0%, #4940CE 100%);
}
.btn--green {
  background: #4BC54F;
  color: #FFFFFF;
  border-color: #4BC54F;
}
.btn--green:hover {
  background: #4BC54F;
  color: #FFFFFF;
  border-color: #4BC54F;
}
.btn--gray {
  background: #4B5159;
  color: #FFFFFF;
  border-color: #4B5159;
}
.btn--gray:hover {
  background: #4B5159;
  color: #FFFFFF;
  border-color: #4B5159;
  opacity: 0.8;
}
.btn--white {
  background: #FFFFFF;
  color: #1A1E25;
  border-color: #FFFFFF;
}
.btn--white:hover {
  background: #FFFFFF;
  color: #1A1E25;
  border-color: #FFFFFF;
  opacity: 0.8;
}
.btn--light-gray {
  background: #F6F7FA;
  color: #1A1E25;
  border-color: #F6F7FA;
}
.btn--light-gray:hover {
  background: #F6F7FA;
  color: #1A1E25;
  border-color: #F6F7FA;
  opacity: 0.8;
}
.btn--large, .btn--large-none {
  height: 60px;
  padding: 0 40px;
  text-transform: uppercase;
  font-size: 18px;
  line-height: 24px;
}
.btn--large-none {
  text-transform: none;
}
.btn--small, header .header-action .profile-balance {
  height: 40px;
  padding: 0 20px;
  font-size: 13px;
  line-height: 18px;
}
.btn--small.btn--icon, header .header-action .btn--icon.profile-balance {
  padding: 0 10px;
}
.btn--full {
  width: 100%;
}
.btn--loader:disabled {
  opacity: 0.5;
  cursor: wait;
}
.btn--loader:disabled::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  max-width: 120px;
  height: 6px;
  background: #1A1E25;
  border-radius: 4px;
  opacity: 1;
  transition: opacity 0.3s;
  animation: spin-line 2s infinite linear;
}

.form-group-fields {
  display: flex;
  align-items: center;
  gap: 15px;
}

/* Базовые стили для контейнера полей для ввода */
.form-field {
  position: relative;
  margin-bottom: 20px;
  width: 100%;
}
.form-field input, .form-field textarea {
  width: 100%;
  height: 50px;
  padding: 20px 15px 0 15px;
  background-color: #FFFFFF;
  border: 1px solid #DBDCE0;
  border-radius: 8px;
  font-size: 16px;
  line-height: 20px;
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}
.form-field textarea {
  height: auto;
}
.form-field label {
  position: absolute;
  left: 15px;
  top: 50%;
  transform: translateY(-50%);
  color: #4B5159;
  font-size: 16px;
  line-height: 20px;
  pointer-events: none;
  transition: top 0.3s ease, font-size 0.3s ease, color 0.3s ease, transform 0.3s ease;
}
.form-field .alert--input {
  position: absolute;
  left: 15px;
  bottom: -18px;
  color: #D4473A;
}
.form-field textarea + label {
  top: 11px !important;
  transform: none;
}
.form-field {
  /* Когда поле в фокусе или не пустой, label съезжает вверх и уменьшается */
}
.form-field input:focus + label,
.form-field input:not(:placeholder-shown) + label,
.form-field textarea:focus + label,
.form-field textarea:not(:placeholder-shown) + label,
.form-field input.on_top + label, .form-field textarea.on_top + label {
  top: 13px;
  font-size: 12px;
  transform: translateY(-50%);
}
.form-field input:focus::placeholder, .form-field textarea:focus::placeholder {
  color: transparent;
}
.form-field {
  /* Состояние фокуса (синяя обводка) */
}
.form-field input:focus, .form-field textarea:focus {
  border-color: #1971C2;
  outline: none;
}
.form-field.error input, .form-field.error textarea {
  border-color: #D4473A;
}
.form-field .error-message {
  position: absolute;
  bottom: 9px;
  left: 15px;
  font-size: 11px;
  color: #D4473A;
}

.chips {
  display: inline-block;
  padding: 0 12px;
  line-height: 24px;
  font-size: 13px;
  font-weight: 700;
  border-radius: 12px;
  background-color: #F6F7FA;
}

.custom-select {
  position: relative;
  width: 100%;
  /* Основное поле */
}
.custom-select .select-trigger {
  position: relative;
  width: 100%;
  height: 50px;
  padding: 20px 15px 0 15px;
  background-color: #FFFFFF;
  border: 1px solid #DBDCE0;
  border-radius: 8px;
  box-sizing: border-box;
  outline: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.custom-select .select-trigger .select-label {
  position: absolute;
  top: 6px;
  transform: translateY(0);
  font-size: 12px;
  left: 12px;
  pointer-events: none;
  line-height: 1;
}
.custom-select {
  /* Стрелка */
}
.custom-select .icon-arrow_down {
  position: absolute;
  right: 12px;
  top: 16px;
}
.custom-select.is-open .select-trigger {
  border-color: #1971C2;
}
.custom-select.is-open .icon-arrow_down {
  transform: rotate(180deg);
}
.custom-select {
  /* Выпадающий список */
}
.custom-select .select-options {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  margin-top: 4px;
  background: white;
  border: 1px solid #DBDCE0;
  border-radius: 8px;
  max-height: 240px;
  overflow-y: auto;
  z-index: 1000;
  list-style: none;
  padding: 0;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
.custom-select {
  /* Пункты списка */
}
.custom-select .option {
  padding: 10px 15px;
  cursor: pointer;
  transition: background 0.2s ease;
}
.custom-select .option:hover,
.custom-select .option.is-selected {
  color: #1971C2;
  background: #F6F7FA;
}
.custom-select {
  /* Анимация появления */
}
.custom-select .fade-enter-active,
.custom-select .fade-leave-active {
  transition: opacity 0.3s ease, transform 0.3s ease;
  transform-origin: top;
}
.custom-select .fade-enter-from,
.custom-select .fade-leave-to {
  opacity: 0;
  transform: scaleY(0.85);
}
.custom-select .search-wrapper {
  padding: 8px;
  position: sticky;
  top: 0;
  background: #FFFFFF;
  z-index: 1;
}
.custom-select .search-input {
  width: 100%;
  padding: 6px 10px;
  border: 1px solid #DBDCE0;
  border-radius: 4px;
  outline: none;
}
.custom-select .option-empty {
  padding: 10px;
  text-align: center;
}

.filter-sorts {
  display: inline-block;
  position: relative;
}
.filter-sorts .filter-btn {
  display: flex;
  gap: 6px;
  align-items: center;
  justify-content: center;
  color: #1A1E25;
  background: #FFFFFF;
  border: 1px solid #DBDCE0;
  font-size: 16px;
  font-weight: 500;
  cursor: pointer;
  padding: 12px 20px;
  border-radius: 8px;
  transition: all 0.3s ease;
}
.filter-sorts .filter-container {
  position: absolute;
  z-index: 50;
  right: 0;
  top: 50px;
  width: 200px;
  border: 1px solid #DBDCE0;
  border-radius: 8px;
  background: #FFFFFF;
}
.filter-sorts .filter-item-btn {
  display: flex;
  align-items: center;
  width: 100%;
  padding: 10px 15px;
  cursor: pointer;
}
.filter-sorts .filter-item-btn:hover, .filter-sorts .filter-item-btn.active {
  background: #F6F7FA;
}

header {
  position: fixed;
  top: 0;
  width: 100%;
  height: 70px;
  z-index: 10000;
  background-color: transparent;
  transition: background-color 0.3s, box-shadow 0.3s;
}
header .container {
  display: flex;
  align-items: center;
  gap: 40px;
}
header .header__logo-box .header__action {
  display: none;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.1s ease, visibility 0s linear 0.1s;
}
header .logo {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 70px;
}
header .logo img {
  height: 28px;
  max-width: none;
}
header .logo-black {
  display: none;
}
header .logo-white {
  display: block;
}
header .header__action {
  color: #FFFFFF;
}
header .header__action a {
  text-decoration: underline;
}
header a {
  text-decoration: none;
  color: #FFFFFF;
  cursor: pointer;
}
header .header-menu {
  height: 70px;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
}
header .header-menu a {
  display: block;
  position: relative;
}
header .header-menu a::after {
  position: absolute;
  bottom: -2px;
  left: 0;
  content: "";
  width: 0;
  height: 2px;
  background: #1971C2;
  border-radius: 3px;
  opacity: 0;
  transition: all 0.3s ease-out;
}
header .header-menu a:hover::after {
  width: 100%;
  opacity: 1;
}
header .header-menu .shopMenu {
  margin-left: 22px;
}
header .header-menu .shopMenu::before {
  position: absolute;
  top: -2px;
  left: -22px;
  content: "\e806";
  font-family: "fontello";
}
header .header__main-box {
  display: flex;
  align-items: center;
  width: 100%;
}
header .header-action {
  display: flex;
  align-items: center;
  justify-content: right;
  gap: 15px;
}
header .header-action .link {
  color: #FFFFFF;
}
@media (max-width: 900px) {
  header .header-action .user {
    padding: 0;
    width: 38px;
  }
  header .header-action .user span {
    display: none;
  }
}
header .header-action .profile-balance {
  cursor: text;
  background: #F6F7FA;
}
header .header-action .profile-balance:hover, header .header-action .profile-balance:focus {
  transform: scale(1);
}
header .header-action .profile-balance .balance-title {
  font-weight: 400;
}
header .header-action .btn--grant:hover, header .header-action .btn--grant:focus {
  opacity: 0.8 !important;
}
header.scrolled, header.fixed-style {
  background-color: #FFFFFF;
  box-shadow: 0 1px 0 -1px rgba(0, 0, 0, 0.01), 0 1px 10px 0 rgba(0, 0, 0, 0.08), 0 1px 5px 0 rgba(0, 0, 0, 0.03);
}
header.scrolled .header__action *, header.fixed-style .header__action * {
  color: #1A1E25;
}
header.scrolled .logo-black, header.fixed-style .logo-black {
  display: block;
}
header.scrolled .logo-white, header.fixed-style .logo-white {
  display: none;
}
header.scrolled .header-menu a, header.fixed-style .header-menu a {
  color: #1A1E25;
}
header.scrolled .btn--top, header.fixed-style .btn--top {
  background: #F6F7FA;
  border-color: #F6F7FA;
  color: #1A1E25;
}
header.scrolled .btn--top:hover, header.scrolled .btn--top:focus, header.fixed-style .btn--top:hover, header.fixed-style .btn--top:focus {
  background: #F6F7FA;
  border-color: #1971C2;
  color: #1A1E25;
  opacity: 0.8;
}
header.scrolled .btn--top.btn--grant:hover, header.scrolled .btn--top.btn--grant:focus, header.fixed-style .btn--top.btn--grant:hover, header.fixed-style .btn--top.btn--grant:focus {
  opacity: 0.8 !important;
  background: linear-gradient(90deg, #546DDC 0%, #4940CE 100%);
  color: #FFFFFF;
  border-color: linear-gradient(90deg, #546DDC 0%, #4940CE 100%);
}
header.mini-style {
  height: 70px;
}

main {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  padding-top: 70px;
  transition: all 0.3s ease;
}

main:has(.main-full) {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.main-full {
  padding: 50px;
}

footer {
  background: #1A1E25;
  color: #FFFFFF;
  padding-top: 50px;
  padding-bottom: 20px;
}
footer a {
  color: #FFFFFF;
}
footer .footer-main {
  display: flex;
  justify-content: space-between;
  gap: 60px;
  padding-bottom: 30px;
}
footer .footer-col h5 {
  margin: 10px 0 20px;
  color: #DBDCE0;
}
footer .footer-menu {
  display: flex;
  flex-direction: column;
  gap: 10px;
  font-size: 16px;
}
footer .footer__action {
  display: flex;
  position: relative;
  flex-direction: column;
  gap: 5px;
  padding: 14px 30px 14px 30px;
  background: linear-gradient(90deg, #546DDC 0%, #4940CE 100%);
  color: #FFFFFF;
  border-radius: 1000px;
  text-decoration: none;
}
footer .footer__action i {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 10px;
}
footer .footer__disclaimer {
  border-top: 1px solid #4B5159;
  font-size: 11px;
  color: #DBDCE0;
  margin-top: 30px;
  padding-top: 30px;
}
footer .footer__disclaimer nav {
  display: flex;
  gap: 20px;
}
footer .footer__copy {
  display: flex;
  justify-content: space-between;
}
footer img.rated {
  max-width: 150px;
}
footer .social-networks {
  display: flex;
  gap: 20px;
  align-items: center;
  margin-top: 20px;
}

.footer-description {
  line-height: 1.4;
  color: #F6F7FA;
  margin-bottom: 20px;
  max-width: 300px;
}

.container {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 20px;
}
.container .content {
  padding: 20px 0;
}

.promotion {
  overflow: hidden;
  display: flex;
  flex-flow: column;
  justify-content: center;
  aspect-ratio: 1920/760;
  position: relative;
  margin-top: -70px;
  background: #1A1E25;
}
.promotion img, .promotion video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover !important;
  transition: all 0.4s ease-in-out;
}
.promotion__content {
  position: relative;
  z-index: 1000;
  margin: 0 auto;
  max-width: 1280px;
  width: 100%;
  padding: 0 20px;
  color: #FFFFFF;
  text-align: center;
}
.promotion__title {
  font-size: 74px;
  line-height: 80px;
}
.promotion__title strong {
  font-weight: 900;
}

.page-single h2, .page-single h3, .page-single h4 {
  font-weight: 700;
}
.page-single h2 {
  margin: 1.5rem 0 0.5rem;
}
.page-single h3 {
  margin: 1.25rem 0 0.5rem;
}
.page-single h4 {
  margin: 1rem 0 0.25rem;
}
.page-single h2:first-child, .page-single h3:first-child, .page-single h4:first-child {
  margin-top: 0;
}
.page-single ul, .page-single ol {
  margin-top: 1.2rem;
  margin-bottom: 1.2rem;
  padding-left: 2rem;
}
.page-single li {
  margin-bottom: 0.35rem;
}
.page-single li:last-child {
  margin-bottom: 0;
}
.page-single h2 + ul, .page-single h3 + ul, .page-single h4 + ul {
  margin-top: 0;
}

.large-content {
  padding: 200px 0;
  background: radial-gradient(#8507ac, #18022f);
  color: #FFFFFF;
}

.short-about {
  position: relative;
  aspect-ratio: 1920/1000;
}
.short-about .short-image {
  display: none;
}
.short-about video {
  margin: 150px 0 100px;
}
.short-about > div {
  position: absolute;
  z-index: 1000;
  width: 100%;
}
.short-about .short-top {
  top: 100px;
}
.short-about .short-top p {
  font-size: 18px;
  line-height: 24px;
  margin-top: 30px;
}
.short-about .short-top img {
  margin: 30px auto;
}
.short-about .short-bottom {
  bottom: 100px;
}
.short-about .short-bottom img {
  max-height: 24px;
}

.simple__content h2 {
  margin: 10px 0;
  font-weight: 700;
}
.simple__content p {
  margin-bottom: 20px;
}

/* Аккордеон */
.accordion {
  width: 100%;
}
.accordion .accordion-item {
  display: flex;
  flex-direction: column;
  border-bottom: 1px solid #DBDCE0;
}
.accordion .accordion-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 20px 0;
  cursor: pointer;
  font-weight: 700;
}
.accordion .accordion-header i::before {
  transition: all 0.4s ease-in-out;
}
.accordion .accordion-body {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.accordion .accordion-content {
  padding: 0 20px 20px 0;
}
.accordion > .active .accordion-header i::before {
  transform: rotate(-180deg);
}
.accordion > .active .accordion-body {
  max-height: 10000px;
}

.breadcrumbs .container {
  display: flex;
  align-items: center;
  padding-top: 20px;
  padding-bottom: 20px;
  overflow-x: auto;
  white-space: nowrap;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.breadcrumbs .container::-webkit-scrollbar {
  display: none;
}
.breadcrumbs [itemprop=itemListElement] {
  display: flex;
  align-items: center;
}
.breadcrumbs [itemprop=itemListElement]:not(:last-child)::after {
  content: "/";
  margin: 0 10px;
  color: #4B5159;
  flex-shrink: 0;
}
.breadcrumbs a {
  color: #4B5159;
  text-decoration: none;
  line-height: 26px;
  display: inline-flex;
  align-items: center;
}
.breadcrumbs a:hover {
  text-decoration: underline;
}
.breadcrumbs span[itemprop=name] {
  color: #4B5159;
  line-height: 26px;
  max-width: 300px;
  overflow: hidden;
  text-overflow: ellipsis;
  display: inline-block;
  vertical-align: middle;
}

/* пагинация */
.pagination {
  padding-top: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
}
.pagination > button, .pagination > a {
  background: transparent;
  cursor: pointer;
  text-decoration: underline;
}
.pagination > button:disabled, .pagination > a:disabled {
  cursor: default;
  text-decoration: none;
}
.pagination > button:hover, .pagination > a:hover {
  text-decoration: none;
}
.pagination > * {
  padding: 5px 10px;
  font-weight: 500;
  font-size: 16px;
  position: relative;
}
.pagination .pager-active {
  color: #1A1E25;
  text-decoration: none;
}
.pagination .pager-active:after {
  position: absolute;
  content: "";
  bottom: 0;
  left: 0;
  right: 0;
  background: #1A1E25;
  height: 1px;
}
.pagination .pager-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}

/* Базовые стили для контейнера и элементов Слайдера */
.slide-me {
  display: flex;
  gap: 40px;
  /* активируем слайдер только при наличии класса .slider-active (Мобильный режим) */
}
.slide-me.slider-active {
  flex-wrap: nowrap;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  padding-left: 0;
  padding-right: 0;
  gap: 0;
  /* скрываем полосу прокрутки на мобильных устройствах */
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.slide-me.slider-active::-webkit-scrollbar {
  display: none;
}
.slide-me.slider-active {
  /* Настройка ширины самих "слайдов" в активном режиме */
}
.slide-me.slider-active .slider-item {
  flex: 0 0 100%;
  width: 100%;
  scroll-snap-align: start;
  box-sizing: border-box;
  padding: 0 20px;
}

/* Стили пагинации для слайдера */
.slider-pagination {
  display: flex;
  justify-content: center;
  margin-top: 20px;
  gap: 8px;
}
.slider-pagination .pagination-dot {
  display: block;
  width: 20px;
  height: 5px;
  background-color: #DBDCE0;
  opacity: 0.5;
  border-radius: 5px;
}
.slider-pagination .pagination-dot.active {
  opacity: 1;
  width: 40px;
}

/* горизонтальный слайдер */
.line-scroll {
  overflow: hidden;
  contain: content;
}
.line-scroll .scroll-track {
  display: flex;
  width: max-content;
  gap: 34px;
}

.line-scroll-item {
  flex: 0 0 auto;
  width: auto;
  scroll-snap-align: start;
  padding: 10px;
  background-color: transparent;
  border-radius: 10px;
}
.line-scroll-item > * {
  color: #FFFFFF !important;
}
.line-scroll-item > *:hover, .line-scroll-item > *:focus {
  color: #FFFFFF !important;
}

.offer-timer {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 4px;
  font-size: 36px;
  line-height: 36px;
  color: #FFFFFF;
}
.offer-timer .t-group {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.offer-timer .t-digits {
  display: flex;
  gap: 2px;
}
.offer-timer .t-num {
  width: 48px;
  height: 48px;
  padding: 6px 0;
  border-radius: 8px;
  background: rgba(0, 0, 0, 0.6);
  text-align: center;
  font-variant-numeric: tabular-nums;
}
.offer-timer .t-label {
  font-size: 10px;
  text-transform: uppercase;
  margin-top: 5px;
  color: #F6F7FA;
}
.offer-timer .t-sep {
  font-size: 24px;
  padding-top: 4px;
  animation: blink 1s step-end infinite;
}
@keyframes blink {
  50% {
    opacity: 0;
  }
}

.modal-dialog {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10009;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.1s ease, visibility 0s linear 0.1s;
  background: rgba(0, 0, 0, 0.4);
  pointer-events: none;
}
.modal-dialog.is-open {
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: auto;
  opacity: 1;
  visibility: visible;
  transition: opacity 0.1s ease, visibility 0s linear 0s;
}
.modal-dialog .modal-container {
  background: #FFFFFF;
  border-radius: 16px;
  padding: 20px;
  width: 100%;
  max-width: 900px;
  margin: 0 20px;
}
.modal-dialog .modal-header {
  position: relative;
  padding-left: 40px;
  padding-right: 40px;
  text-align: center;
}
.modal-dialog .modal-header a {
  position: absolute;
  right: -10px;
  top: -5px;
  cursor: pointer;
  color: #1A1E25;
  font-size: 30px;
}

.profile-set > div {
  min-height: 260px;
}
@media (max-width: 768px) {
  .profile-set > div {
    min-height: 235px;
  }
}

/* Medium devices (landscape tablets, 768px and up) */
@media (min-width: 768px) and (max-width: 991.98px) {
  .d-none.d-md-block {
    display: block !important;
  }
  .d-none.d-md-inline {
    display: inline !important;
  }
}
/* Large devices (laptops/desktops, 992px and up) */
@media (min-width: 992px) and (max-width: 1199.98px) {
  .d-none.d-lg-block {
    display: block !important;
  }
  .d-none.d-lg-inline {
    display: inline !important;
  }
}
/* Extra large devices (large laptops and desktops, 1200px and up) */
@media (min-width: 1200px) {
  .d-none.d-xl-block {
    display: block !important;
  }
  .d-none.d-xl-inline {
    display: inline !important;
  }
}
/* Инверсные классы (показать на меньших размерах) */
@media (min-width: 576px) {
  .d-xs-none {
    display: none !important;
  }
}
@media (min-width: 768px) {
  .d-sm-none {
    display: none !important;
  }
}
@media (min-width: 992px) {
  .d-md-none {
    display: none !important;
  }
}
@media (min-width: 1200px) {
  .d-lg-none {
    display: none !important;
  }
}
.vue-alert {
  position: fixed;
  top: 20px;
  left: 50%;
  transform: translateX(-50%);
  max-width: 400px;
  padding: 15px;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  animation: fadeIn 0.3s ease-out;
  z-index: 9999999;
  display: flex;
  align-items: center;
  gap: 12px;
}

.vue-alert-content {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 1;
}

.vue-alert-message {
  flex: 1;
  font-family: Arial, sans-serif;
  line-height: 1.4;
}

.vue-alert-close {
  background: none;
  border: none;
  font-size: 18px;
  cursor: pointer;
  color: #666;
  transition: color 0.2s;
}

.vue-alert-close:hover {
  color: #000;
}

/* Стили для разных типов */
.vue-alert-success {
  background-color: #d4edda;
  border-left: 4px solid #28a745;
  color: #155724;
}

.vue-alert-error {
  background-color: #f8d7da;
  border-left: 4px solid #dc3545;
  color: #721c24;
}

.vue-alert-info {
  background-color: #d1ecf1;
  border-left: 4px solid #17a2b8;
  color: #0c5460;
}

.vue-alert-warning {
  background-color: #fff3cd;
  border-left: 4px solid #ffc107;
  color: #856404;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateX(20px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
.m-0 {
  margin: 0 !important;
}

.mx-0 {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.my-0 {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.mt-0 {
  margin-top: 0 !important;
}

.mb-0 {
  margin-bottom: 0 !important;
}

.ml-0 {
  margin-left: 0 !important;
}

.mr-0 {
  margin-right: 0 !important;
}

.m-xs {
  margin: 5px !important;
}

.mx-xs {
  margin-left: 5px !important;
  margin-right: 5px !important;
}

.my-xs {
  margin-top: 5px !important;
  margin-bottom: 5px !important;
}

.mt-xs {
  margin-top: 5px !important;
}

.mb-xs {
  margin-bottom: 5px !important;
}

.ml-xs {
  margin-left: 5px !important;
}

.mr-xs {
  margin-right: 5px !important;
}

.m-sm {
  margin: 10px !important;
}

.mx-sm {
  margin-left: 10px !important;
  margin-right: 10px !important;
}

.my-sm {
  margin-top: 10px !important;
  margin-bottom: 10px !important;
}

.mt-sm {
  margin-top: 10px !important;
}

.mb-sm {
  margin-bottom: 10px !important;
}

.ml-sm {
  margin-left: 10px !important;
}

.mr-sm {
  margin-right: 10px !important;
}

.m-md {
  margin: 20px !important;
}

.mx-md {
  margin-left: 20px !important;
  margin-right: 20px !important;
}

.my-md {
  margin-top: 20px !important;
  margin-bottom: 20px !important;
}

.mt-md {
  margin-top: 20px !important;
}

.mb-md {
  margin-bottom: 20px !important;
}

.ml-md {
  margin-left: 20px !important;
}

.mr-md {
  margin-right: 20px !important;
}

.m-ml {
  margin: 30px !important;
}

.mx-ml {
  margin-left: 30px !important;
  margin-right: 30px !important;
}

.my-ml {
  margin-top: 30px !important;
  margin-bottom: 30px !important;
}

.mt-ml {
  margin-top: 30px !important;
}

.mb-ml {
  margin-bottom: 30px !important;
}

.ml-ml {
  margin-left: 30px !important;
}

.mr-ml {
  margin-right: 30px !important;
}

.m-lg {
  margin: 50px !important;
}

.mx-lg {
  margin-left: 50px !important;
  margin-right: 50px !important;
}

.my-lg {
  margin-top: 50px !important;
  margin-bottom: 50px !important;
}

.mt-lg {
  margin-top: 50px !important;
}

.mb-lg {
  margin-bottom: 50px !important;
}

.ml-lg {
  margin-left: 50px !important;
}

.mr-lg {
  margin-right: 50px !important;
}

.m-xl {
  margin: 100px !important;
}

.mx-xl {
  margin-left: 100px !important;
  margin-right: 100px !important;
}

.my-xl {
  margin-top: 100px !important;
  margin-bottom: 100px !important;
}

.mt-xl {
  margin-top: 100px !important;
}

.mb-xl {
  margin-bottom: 100px !important;
}

.ml-xl {
  margin-left: 100px !important;
}

.mr-xl {
  margin-right: 100px !important;
}

.m-xxl {
  margin: 180px !important;
}

.mx-xxl {
  margin-left: 180px !important;
  margin-right: 180px !important;
}

.my-xxl {
  margin-top: 180px !important;
  margin-bottom: 180px !important;
}

.mt-xxl {
  margin-top: 180px !important;
}

.mb-xxl {
  margin-bottom: 180px !important;
}

.ml-xxl {
  margin-left: 180px !important;
}

.mr-xxl {
  margin-right: 180px !important;
}

.m-3xl {
  margin: 240px !important;
}

.mx-3xl {
  margin-left: 240px !important;
  margin-right: 240px !important;
}

.my-3xl {
  margin-top: 240px !important;
  margin-bottom: 240px !important;
}

.mt-3xl {
  margin-top: 240px !important;
}

.mb-3xl {
  margin-bottom: 240px !important;
}

.ml-3xl {
  margin-left: 240px !important;
}

.mr-3xl {
  margin-right: 240px !important;
}

.p-0 {
  padding: 0 !important;
}

.px-0 {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.py-0 {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.pt-0 {
  padding-top: 0 !important;
}

.pb-0 {
  padding-bottom: 0 !important;
}

.pl-0 {
  padding-left: 0 !important;
}

.pr-0 {
  padding-right: 0 !important;
}

.p-xs {
  padding: 5px !important;
}

.px-xs {
  padding-left: 5px !important;
  padding-right: 5px !important;
}

.py-xs {
  padding-top: 5px !important;
  padding-bottom: 5px !important;
}

.pt-xs {
  padding-top: 5px !important;
}

.pb-xs {
  padding-bottom: 5px !important;
}

.pl-xs {
  padding-left: 5px !important;
}

.pr-xs {
  padding-right: 5px !important;
}

.p-sm {
  padding: 10px !important;
}

.px-sm {
  padding-left: 10px !important;
  padding-right: 10px !important;
}

.py-sm {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}

.pt-sm {
  padding-top: 10px !important;
}

.pb-sm {
  padding-bottom: 10px !important;
}

.pl-sm {
  padding-left: 10px !important;
}

.pr-sm {
  padding-right: 10px !important;
}

.p-md {
  padding: 20px !important;
}

.px-md {
  padding-left: 20px !important;
  padding-right: 20px !important;
}

.py-md {
  padding-top: 20px !important;
  padding-bottom: 20px !important;
}

.pt-md {
  padding-top: 20px !important;
}

.pb-md {
  padding-bottom: 20px !important;
}

.pl-md {
  padding-left: 20px !important;
}

.pr-md {
  padding-right: 20px !important;
}

.p-ml {
  padding: 30px !important;
}

.px-ml {
  padding-left: 30px !important;
  padding-right: 30px !important;
}

.py-ml {
  padding-top: 30px !important;
  padding-bottom: 30px !important;
}

.pt-ml {
  padding-top: 30px !important;
}

.pb-ml {
  padding-bottom: 30px !important;
}

.pl-ml {
  padding-left: 30px !important;
}

.pr-ml {
  padding-right: 30px !important;
}

.p-lg {
  padding: 50px !important;
}

.px-lg {
  padding-left: 50px !important;
  padding-right: 50px !important;
}

.py-lg {
  padding-top: 50px !important;
  padding-bottom: 50px !important;
}

.pt-lg {
  padding-top: 50px !important;
}

.pb-lg {
  padding-bottom: 50px !important;
}

.pl-lg {
  padding-left: 50px !important;
}

.pr-lg {
  padding-right: 50px !important;
}

.p-xl {
  padding: 100px !important;
}

.px-xl {
  padding-left: 100px !important;
  padding-right: 100px !important;
}

.py-xl {
  padding-top: 100px !important;
  padding-bottom: 100px !important;
}

.pt-xl {
  padding-top: 100px !important;
}

.pb-xl {
  padding-bottom: 100px !important;
}

.pl-xl {
  padding-left: 100px !important;
}

.pr-xl {
  padding-right: 100px !important;
}

.p-xxl {
  padding: 180px !important;
}

.px-xxl {
  padding-left: 180px !important;
  padding-right: 180px !important;
}

.py-xxl {
  padding-top: 180px !important;
  padding-bottom: 180px !important;
}

.pt-xxl {
  padding-top: 180px !important;
}

.pb-xxl {
  padding-bottom: 180px !important;
}

.pl-xxl {
  padding-left: 180px !important;
}

.pr-xxl {
  padding-right: 180px !important;
}

.p-3xl {
  padding: 240px !important;
}

.px-3xl {
  padding-left: 240px !important;
  padding-right: 240px !important;
}

.py-3xl {
  padding-top: 240px !important;
  padding-bottom: 240px !important;
}

.pt-3xl {
  padding-top: 240px !important;
}

.pb-3xl {
  padding-bottom: 240px !important;
}

.pl-3xl {
  padding-left: 240px !important;
}

.pr-3xl {
  padding-right: 240px !important;
}

.text-total-black {
  color: #000 !important;
}

.bg-total-black {
  background-color: #000 !important;
}

.text-black {
  color: #1A1E25 !important;
}

.bg-black {
  background-color: #1A1E25 !important;
}

.text-dark-gray {
  color: #4B5159 !important;
}

.bg-dark-gray {
  background-color: #4B5159 !important;
}

.text-white {
  color: #FFFFFF !important;
}

.bg-white {
  background-color: #FFFFFF !important;
}

.text-gray {
  color: #DBDCE0 !important;
}

.bg-gray {
  background-color: #DBDCE0 !important;
}

.text-light-gray {
  color: #F6F7FA !important;
}

.bg-light-gray {
  background-color: #F6F7FA !important;
}

.text-yellow {
  color: #FFB200 !important;
}

.bg-yellow {
  background-color: #FFB200 !important;
}

.text-light-yellow {
  color: #FFF9EB !important;
}

.bg-light-yellow {
  background-color: #FFF9EB !important;
}

.text-yellow-dark {
  color: #FF9500 !important;
}

.bg-yellow-dark {
  background-color: #FF9500 !important;
}

.text-azure {
  color: #122349 !important;
}

.bg-azure {
  background-color: #122349 !important;
}

.text-blue {
  color: #1971C2 !important;
}

.bg-blue {
  background-color: #1971C2 !important;
}

.text-light-blue {
  color: #E8F0FE !important;
}

.bg-light-blue {
  background-color: #E8F0FE !important;
}

.text-steel {
  color: #CECDFF !important;
}

.bg-steel {
  background-color: #CECDFF !important;
}

.text-light-steel {
  color: #E5E9FF !important;
}

.bg-light-steel {
  background-color: #E5E9FF !important;
}

.text-red {
  color: #D4473A !important;
}

.bg-red {
  background-color: #D4473A !important;
}

.text-light-red {
  color: #FF8181 !important;
}

.bg-light-red {
  background-color: #FF8181 !important;
}

.text-rose {
  color: #FFE0DE !important;
}

.bg-rose {
  background-color: #FFE0DE !important;
}

.text-light-green {
  color: #B4F2B6 !important;
}

.bg-light-green {
  background-color: #B4F2B6 !important;
}

.text-green {
  color: #4BC54F !important;
}

.bg-green {
  background-color: #4BC54F !important;
}

.bg-blue-gradient {
  background: linear-gradient(90deg, #546DDC 0%, #4940CE 100%);
}

.bg-blue-line-gradient {
  background: linear-gradient(90deg, #2279E2 0%, #3152D4 100%);
}

.bg-blue-light-gradient {
  background: linear-gradient(90deg, #BAC9FF 0%, #EFF3FF 100%);
}

.bg-yellow-line-gradient {
  background: linear-gradient(90deg, #FFC43D 0%, #FFB200 100%);
}

.bg-pink-gradient {
  background: radial-gradient(#8507ac, #18022f);
}

.bg-yellow-target, .bg-blue-gift {
  position: relative;
  z-index: 1;
}
.bg-yellow-target::before, .bg-blue-gift::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: url(../../../Goya/assets/images/target.png) no-repeat right 12px bottom 0;
  opacity: 0.8;
  z-index: -1;
}

.bg-blue-gift::before {
  background: url(../../../Goya/assets/images/gift.png) no-repeat right 12px bottom 0;
}

.products {
  padding: 50px 0;
}
.products__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 30px;
}
.products__footer {
  display: none;
  text-align: center;
  padding-top: 30px;
}
.products__filters {
  display: flex;
  align-items: center;
  padding-bottom: 30px;
}
.products__content {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 30px;
}
@media (max-width: 1200px) {
  .products .product-card {
    margin: 0 auto;
    min-width: 150px;
  }
}
@media (max-width: 992px) {
  .products__content {
    gap: 20px;
  }
}
@media (max-width: 768px) {
  .products {
    padding: 30px 0;
  }
  .products__content {
    grid-template-columns: repeat(2, 1fr);
  }
  .products__header {
    display: block;
    text-align: center;
    margin-bottom: 20px;
  }
  .products__header > a {
    opacity: 0;
    visibility: hidden;
    display: none;
  }
  .products__footer {
    display: block;
  }
}
@media (max-width: 576px) {
  .products__footer a > i {
    display: none;
  }
  .products .product-card {
    background-color: transparent;
    padding: 0;
    border: 0;
    border-radius: 0;
    min-width: 0;
    max-width: 300px;
    overflow: hidden;
  }
  .products .product-card .play-icon {
    display: none;
  }
}

.product-card {
  text-decoration: none;
  background-color: #FFFFFF;
  border: 1px solid #F6F7FA;
  border-radius: 8px;
  padding: 10px;
  cursor: pointer;
  min-width: 200px;
  max-width: 300px;
  transition: all 0.4s ease-in-out;
  position: relative;
}
.product-card:hover, .product-card:focus {
  box-shadow: 0 4px 30px 0 rgba(0, 0, 0, 0.25);
}
.product-card__thumbnail {
  width: 100%;
  aspect-ratio: 1/1;
  background-color: #F6F7FA;
  border-radius: 8px;
  overflow: hidden;
  margin-bottom: 10px;
  position: relative;
}
.product-card__thumbnail img {
  width: 100%;
  height: auto;
  object-fit: cover;
}
.product-card__thumbnail video {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.product-card__header {
  display: flex;
  justify-content: space-between;
  gap: 10px;
}
.product-card__header .product-card__title {
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.product-card__header .product-card__rate {
  display: flex;
  align-items: center;
  gap: 5px;
}
.product-card .play-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 20px;
  right: 20px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.8);
  transition: opacity 0.3s ease, visibility 0.3s ease;
  opacity: 1;
  visibility: visible;
}
.product-card:hover video {
  opacity: 1;
}
.product-card:hover .play-icon {
  opacity: 0;
  visibility: hidden;
}

.product-card__prices {
  display: flex;
  gap: 5px;
  margin-top: 7px;
}
.product-card__prices .product-card__sale_price {
  font-weight: 700;
}
.product-card__prices .product-card__price {
  color: #4B5159;
  text-decoration: line-through;
}

.products_items {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.products_items .product__item {
  display: flex;
  gap: 20px;
  border-radius: 8px;
  padding: 10px;
  font-size: 13px;
  line-height: 18px;
}
.products_items .product__item:hover {
  background: #F6F7FA;
}
.products_items .product__thumbnail {
  width: 70px;
  min-width: 70px;
  border-radius: 8px;
}
.products_items .product__thumbnail img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
  border-radius: 8px;
}
.products_items .product__info {
  width: 100%;
}
.products_items .product__title {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: #1A1E25;
  text-decoration: none;
}
.products_items .product__variations {
  display: flex;
  gap: 10px;
  margin: 10px 0;
}
.products_items .product__delete {
  margin-top: 10px;
  padding: 0;
  background: transparent;
  cursor: pointer;
}
.products_items .product__prices {
  text-align: right;
}
.products_items .product__sale_price {
  font-size: 16px;
  line-height: 21px;
  font-weight: 700;
}
.products_items .product__price {
  margin-top: 5px;
  font-size: 13px;
  line-height: 17px;
  font-weight: 400;
  text-decoration: line-through;
}

.card-container {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  justify-content: space-between;
}
.card-container a {
  text-decoration: none;
}
.card-container .thumbnail {
  display: block;
  position: relative;
  aspect-ratio: 400/215; /* задаем нужное соотношение сторон */
  overflow: hidden;
  border-radius: 20px;
  margin-bottom: 20px;
}
.card-container .thumbnail img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
  animation-delay: 0.6s;
}
.card-container .thumbnail:hover img {
  transform: scale(1.1);
}
.card-container > div {
  overflow: hidden;
  transition: box-shadow 0.3s ease;
  display: flex;
  flex-direction: column;
}
.card-container > div:hover img {
  transform: scale(1.1);
}
.card-container .subtitle-categories, .card-container .post__categories {
  font-size: 16px;
  line-height: 21px;
  margin-bottom: 5px;
  color: #4B5159;
}
.card-container .date_format, .card-container .post__date {
  font-size: 13px;
  line-height: 17px;
  margin-top: 5px;
  color: #4B5159;
}
.card-container .card-col-1 {
  width: 100%; /* 1 card in row */
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
}
.card-container .card-col-1 h3 {
  font-size: 40px;
  font-weight: 700;
  line-height: 53px;
}
.card-container .card-col-1 .thumbnail {
  padding-top: 28.125%;
  aspect-ratio: auto;
  margin-bottom: 0;
}
.card-container .card-col-1 > * {
  width: calc(50% - 30px);
}
@media (max-width: 768px) {
  .card-container .card-col-1 > * {
    width: auto;
  }
}
.card-container .card-col-3 {
  width: calc(33.333% - 30px); /* 3 cards in row */
  min-width: 250px;
}
.card-container .card-col-3 h3 {
  font-size: 20px;
  font-weight: 500;
  line-height: 26px;
}
@media (max-width: 992px) {
  .card-container .card-col-3 {
    width: calc(50% - 30px); /* 2 cards in row */
  }
}
@media (max-width: 768px) {
  .card-container .card-col-3 {
    width: 100%; /* 1 card in row */
  }
}

.posts {
  padding: 50px 0;
}
.posts__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 30px;
}
.posts__content {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}
@media (max-width: 992px) {
  .posts__content {
    gap: 20px;
  }
}
.post-card a {
  text-decoration: none;
}
.post-card .post__thumbnail {
  display: block;
  width: 100%;
  aspect-ratio: 400/214;
  background-color: #F6F7FA;
  border-radius: 8px;
  overflow: hidden;
  margin-bottom: 20px;
}
.post-card .post__thumbnail img {
  width: 100%;
  height: auto;
  object-fit: cover;
  transition: transform 0.4s ease;
  animation-delay: 0.6s;
}
.post-card h3 {
  font-size: 16px;
  line-height: 22px;
  font-weight: 700;
  margin: 10px 0;
}
.post-card .post__categories {
  font-size: 13px;
  line-height: 18px;
}
.post-card .post__date {
  font-size: 11px;
  line-height: 16px;
}
.post-card:hover img {
  transform: scale(1.1);
}

.blog-single h1 {
  font-size: 44px;
  font-weight: 700;
}
.blog-single h2 {
  line-height: 52px;
  margin: 0 0 30px;
}
.blog-single h3 {
  line-height: 39px;
}
.blog-single p, .blog-single ul, .blog-single ol {
  margin: 0 0 30px;
  font-size: 16px;
  line-height: 28px;
}
.blog-single li {
  margin-bottom: 5px;
}
.blog-single .blog-single-content {
  margin: 30px 150px 0 150px;
}
.blog-single .content_gallery img {
  max-width: 100%;
  height: auto;
  border-radius: 20px;
  margin: 30px auto;
  display: block;
}
.blog-single .post-navigations {
  display: flex;
  align-items: center;
  padding: 30px 0;
  border: 1px solid #DBDCE0;
  border-left: none;
  border-right: none;
}
.blog-single .post-navigation-item {
  transition: all 0.3s;
  max-width: 400px;
  text-decoration: none;
}
.blog-single .post-navigation-item h3 {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 16px;
  line-height: 27px;
  margin: 0;
  color: #1A1E25;
}
.blog-single .post-navigation-item .navigation-label {
  margin-top: 15px;
  font-size: 16px;
  color: #1A1E25;
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  line-height: 24px;
}
.blog-single .post-navigation-item.next .navigation-label {
  justify-content: end;
}
.blog-single .post-navigation-item:hover h3 {
  color: #1A1E25;
  opacity: 0.7;
}
.blog-single .post-navigation-content {
  display: flex;
  align-items: center;
  gap: 20px;
}
.blog-single .post-thumbnail {
  width: 150px;
  height: 100px;
  object-fit: cover;
  border-radius: 8px;
}
@media (max-width: 768px) {
  .blog-single .post-navigation-item {
    width: 100%;
    flex-direction: column;
  }
  .blog-single .navigation-label, .blog-single .post-thumbnail {
    display: none;
  }
}

.product-single {
  display: flex;
  gap: 60px;
}
@media (max-width: 992px) {
  .product-single {
    gap: 40px;
  }
}
@media (max-width: 768px) {
  .product-single {
    flex-direction: column;
  }
}
.product-single .product-media {
  flex: 1;
  min-width: 0;
}
.product-single .product-info {
  flex: 0 0 500px;
}
@media (max-width: 992px) {
  .product-single .product-info {
    flex: 0 0 380px;
  }
}
@media (max-width: 768px) {
  .product-single .product-info {
    flex: 0 0 100%;
    width: 100%;
  }
}
.product-single .product-info .fixed-roll {
  position: sticky;
  top: 100px;
}
@media (max-width: 768px) {
  .product-single .product-info .fixed-roll {
    position: static;
  }
}
.product-single .product-info .rates {
  display: flex;
  align-items: center;
  gap: 10px;
}
.product-single .product-info .prices {
  display: flex;
  align-items: baseline;
  gap: 10px;
  font-size: 16px;
  margin-bottom: 20px;
}
.product-single .product-info .prices .sale_price {
  font-size: 30px;
  line-height: 40px;
  font-weight: 700;
}
.product-single .product-info .prices .price {
  text-decoration: line-through;
  color: #4B5159;
}

/* Галерея */
.gallery-container {
  position: relative;
  display: flex;
  gap: 10px;
  align-items: flex-start;
  width: 100%;
  max-height: 610px;
  overflow: hidden;
  /* индикатор загрузки */
}
.gallery-container .loading-indicator {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.8);
  display: flex;
  justify-content: center;
  align-items: center;
}
.gallery-container {
  /* стили для загрузчика */
}
.gallery-container .loader {
  width: 40px;
  height: 40px;
  border: 4px solid rgba(26, 30, 37, 0.2);
  border-top-color: #D4473A;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}
.gallery-container {
  /* Кнопка фуллскрин */
}
.gallery-container .full-size {
  position: absolute;
  top: 10px;
  left: 10px;
  padding: 6px;
  font-size: 20px;
  background: rgba(246, 247, 250, 0.6);
  border-radius: 100px;
  cursor: pointer;
  z-index: 11;
}
.gallery-container .full-size:hover {
  background: rgba(246, 247, 250, 0.9);
}
.gallery-container {
  /* кнопки управления слайдером */
}
.gallery-container .controls {
  position: absolute;
  top: 0;
  height: 100%;
  left: 10px;
  right: 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  z-index: 10;
}
.gallery-container .controls > button {
  position: relative;
  cursor: pointer;
  border-radius: 100%;
  width: 40px;
  height: 40px;
  text-align: center;
  background: rgba(246, 247, 250, 0.6);
}
.gallery-container .controls > button:before {
  content: "";
  position: absolute;
  cursor: pointer;
  top: -120px;
  bottom: -120px;
  left: -10px;
  right: -10px;
}
.gallery-container .controls > button.control-play {
  width: 60px;
  height: 60px;
}
.gallery-container .controls > button:hover {
  background: rgba(246, 247, 250, 0.9);
}

/* Контейнер миниатюр */
.gallery-items {
  width: 100px;
  height: 100%;
  max-height: 584px;
  overflow-y: auto;
}
.gallery-items::-webkit-scrollbar {
  display: none;
}
.gallery-items {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

/* Миниатюра */
.gallery-item {
  cursor: pointer;
  border: 2px solid transparent;
  width: 80px;
  height: 80px;
  padding: 3px;
  border-radius: 8px;
  transition: border-color 0.3s ease;
  margin-bottom: 10px;
}
.gallery-item img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  border-radius: 6px;
  opacity: 0.6;
}
.gallery-item:hover {
  opacity: 1;
}
.gallery-item.active {
  border-color: #FFB200;
}
.gallery-item.active img {
  opacity: 1;
}

/* Контейнер основного изображения */
.main-media {
  position: relative;
  width: 100%;
  overflow: hidden;
  aspect-ratio: 1/1;
  height: auto;
  border-radius: 8px;
}
.main-media img, .main-media video, .main-media .fallback-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  aspect-ratio: 1/1;
  height: auto;
  object-fit: cover;
  transition: opacity 0.3s ease;
}

/* Адаптивность */
@media (max-width: 1200px) {
  .product-single {
    gap: 30px;
  }
}
@media (max-width: 992px) {
  .product-single .product-info {
    flex: 0 0 360px;
  }
}
@media (max-width: 768px) {
  .gallery-container {
    flex-direction: column;
    gap: 15px;
    max-height: none;
  }
  .gallery-items {
    order: 2;
    width: 100%;
    max-height: 100px;
    display: flex;
    gap: 10px;
    overflow-x: auto;
    margin-bottom: 0;
  }
  .gallery-items .gallery-item {
    flex: 0 0 auto;
    margin-bottom: 0;
  }
  .main-media {
    max-height: none;
    order: 1;
  }
}
/* SKU */
.sku-groups {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin: 20px 0;
}
.sku-groups .sku-group {
  display: flex;
  gap: 20px;
  align-items: center;
}
.sku-groups .sku-group-name {
  font-size: 20px;
  line-height: 26px;
  font-weight: 700;
}
.sku-groups .sku-items {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.sku-groups .sku-item {
  cursor: pointer;
  border: 2px solid #FFFFFF;
  opacity: 0.6;
  border-radius: 8px;
  transition: border-color 0.3s ease;
}
.sku-groups .sku-item.active {
  opacity: 1;
  border-color: #D4473A;
}
.sku-groups .sku-item:hover {
  opacity: 1;
}
.sku-groups .sku-item.disabled {
  opacity: 0.6;
  cursor: auto;
}
.sku-groups .sku-item-image {
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 70px;
  height: 100%;
  border-radius: 8px;
}
.sku-groups .sku-item-image img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
}
.sku-groups .sku-item-title {
  padding: 10px 15px;
  background: #F6F7FA;
  font-size: 16px;
  line-height: 20px;
  font-weight: 600;
}

.reviews-summary {
  margin-top: 30px;
  padding: 20px;
  background: #F6F7FA;
  border-radius: 20px;
}
.reviews-summary h4 {
  font-size: 20px;
  line-height: 26px;
  font-weight: 500;
}
.reviews-summary p {
  margin: 10px 0;
}
.reviews-summary .reviews-computed {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}
.reviews-summary .reviews-avg {
  font-size: 40px;
  font-weight: 700;
  line-height: 53px;
}
.reviews-summary .reviews-count {
  color: #4B5159;
  font-size: 13px;
  line-height: 16px;
}

.reviews .review-item {
  margin-top: 20px;
  width: 100%;
  border-radius: 8px;
  padding: 20px;
  background: #F6F7FA;
}
.reviews .rates {
  display: flex;
  align-items: center;
  gap: 10px;
}
.reviews .rates .rate-separate {
  color: #DBDCE0;
}
.reviews .rates .rate-recommend {
  display: flex;
  gap: 5px;
  color: #4BC54F;
  font-weight: 700;
}
.reviews .review-author {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 10px 0;
}
.reviews .review-author .review-author-verify {
  font-size: 13px;
  line-height: 16px;
}
.reviews .review-tips {
  margin: 30px 0 10px;
  font-size: 11px;
  line-height: 15px;
}
.reviews .review-likes {
  display: flex;
  align-items: center;
  gap: 10px;
}
.reviews .review-likes .user-vote {
  color: #4BC54F;
}

/* Базовые стили для модального окна */
.gallery-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(26, 30, 37, 0.7);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 999999;
}
.gallery-modal.open {
  opacity: 1;
  transform: scale(1);
}
.gallery-modal.close {
  opacity: 0;
  transform: scale(0.9);
}
.gallery-modal .loading {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 18px;
  color: #333;
  animation: pulse 1.5s ease-in-out infinite;
}
@keyframes pulse {
  0% {
    opacity: 0.2;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0.2;
  }
}

.gallery-modal-content {
  display: flex;
  width: 80%;
  height: 90%;
  min-height: 400px;
  border-radius: 16px;
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  max-width: 1200px;
}

/* Стили для основного просмотрщика */
.gallery-modal .viewer {
  flex: 1;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.gallery-modal .viewer img {
  max-width: 100%;
  max-height: 100%;
  height: auto;
  width: auto;
  object-fit: contain;
  display: block;
  border-radius: 16px;
}
.gallery-modal .viewer video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  border-radius: 16px;
}
.gallery-modal .viewer .fallback-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Стили для боковой панели */
.gallery-modal .gallery-sidebar {
  width: 20%;
  display: flex;
  flex-direction: column;
  gap: 12px;
  overflow-y: auto;
  direction: rtl;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.gallery-modal .gallery-sidebar::-webkit-scrollbar {
  display: none;
}
.gallery-modal .gallery-sidebar > * {
  direction: ltr;
}
.gallery-modal .gallery-sidebar .thumbnail {
  position: relative;
  overflow: hidden;
  width: 120px;
  height: 120px;
  aspect-ratio: 1/1;
  border-radius: 8px;
  cursor: pointer;
  transition: transform 0.2s ease;
}
.gallery-modal .gallery-sidebar .thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.gallery-modal .gallery-sidebar .thumbnail:hover {
  transform: scale(1.02);
}
.gallery-modal .gallery-sidebar .thumbnail.active {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.gallery-modal {
  /* Кнопка закрытия */
}
.gallery-modal .close-btn {
  position: absolute;
  top: 16px;
  right: 24px;
  width: 40px;
  height: 40px;
  background: #FFFFFF;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  font-size: 20px;
  line-height: 20px;
  color: #333;
}
.gallery-modal {
  /* Адаптивные стили */
}
@media (max-width: 1200px) {
  .gallery-modal .modal-content {
    width: 95%;
    height: 95%;
  }
}
@media (max-width: 768px) {
  .gallery-modal .modal-content {
    width: 100%;
    height: 100%;
  }
  .gallery-modal .viewer {
    width: 100%;
  }
  .gallery-modal .gallery-sidebar {
    display: none;
  }
}

#basketMenu.lamp-on:after {
  content: "";
  position: absolute;
  top: 11px;
  left: 50%;
  transform: translateX(2px);
  width: 6px;
  height: 6px;
  border-radius: 100%;
  background: #D4473A;
}

.basket {
  position: relative;
  display: flex;
}
.basket__menu {
  position: absolute;
  top: 63px;
  right: 0;
  bottom: 0;
  opacity: 0;
  visibility: hidden;
  width: 100%;
  height: calc(100vh - 80px);
  min-width: 515px;
  transition: opacity 0.1s ease, visibility 0s linear 0.1s;
  z-index: 10010;
  border-radius: 8px;
  cursor: auto;
}
.basket__menu.is-open {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.1s ease, visibility 0s linear 0s;
}
.basket__wrap {
  background: #FFFFFF;
  box-shadow: 0 4px 15px 0 rgba(0, 0, 0, 0.15);
  padding: 20px;
  border-radius: 8px;
}
.basket__container {
  max-height: 338px;
}
.basket__empty {
  max-height: 100px;
  text-align: center;
}
.basket__title {
  padding: 0 15px 15px;
  border-bottom: 1px solid #DBDCE0;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.basket__items {
  overflow-y: auto;
  scrollbar-width: none;
  scrollbar-color: transparent transparent;
  -ms-overflow-style: none;
  max-height: 338px;
}
.basket__items::-webkit-scrollbar {
  display: none;
  width: 0;
  background: transparent;
}
.basket__action {
  background: #FFFFFF;
}
.basket__subtotal {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 15px;
  border-top: 1px solid #DBDCE0;
}
.basket__title, .basket__subtotal {
  font-size: 16px;
  line-height: 20px;
  font-weight: 700;
}

/* Основные стили для боковой панели */
.sidebar {
  position: fixed;
  top: 0;
  left: 0;
  height: 100vh;
  width: 0;
  transition: width 0.3s ease;
  z-index: 10001;
}
.sidebar .logo {
  max-height: 30px;
}
.sidebar a {
  text-decoration: none;
}
.sidebar ul {
  list-style: none;
  padding-left: 0;
  margin: 0;
}
.sidebar ul li {
  padding: 0;
  margin: 0;
}

.sidebar-content {
  height: 100%;
  overflow-y: auto;
}

.sidebar.is-open .sidebar-content {
  width: 300px;
  background-color: #FFFFFF;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.sidebar-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 10px 20px 10px;
}

.category-item {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 20px;
  cursor: pointer;
  transition: background-color 0.3s;
  color: #1A1E25;
}
.category-item:hover, .category-item.active {
  background-color: #F6F7FA;
  color: #1A1E25;
}
.category-item {
  /* Анимация для разворачивания иконок */
}
.category-item.active::after {
  transform: rotate(180deg);
}

.sidebar ul.category-list .skeleton-box,
.sidebar ul.submenu .skeleton-box {
  padding: 15px 20px;
  position: relative;
}
.sidebar ul.category-list .skeleton-box::before,
.sidebar ul.submenu .skeleton-box::before {
  content: "";
  display: block;
  height: 6px; /* Высота строки */
  background: linear-gradient(90deg, #F6F7FA 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 200% 100%;
  border-radius: 8px;
  animation: skeleton-loading 2.5s infinite linear;
}

.sidebar ul.submenu .skeleton-box::before {
  background: linear-gradient(90deg, #F6F7FA 25%, #e0e0e0 50%, #f0f0f0 75%);
}

/* Анимация "бегущей волны" */
@keyframes skeleton-loading {
  0% {
    background-position: 200% 0;
  }
  100% {
    background-position: -200% 0;
  }
}
/* Стили для подкатегорий */
.submenu {
  display: block;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 300px;
  width: 300px;
  background: #FFFFFF;
  padding: 10px 0;
  overflow: hidden;
  transition: left 0.3s ease-out;
}
.submenu a {
  display: flex;
  padding: 10px 20px;
  color: #1A1E25;
}
.submenu a:hover {
  background-color: #F6F7FA;
  color: #1A1E25;
}

#search-app:has(.is-open)::before {
  content: " ";
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  z-index: 10009;
  background: rgba(0, 0, 0, 0.4);
}

.search-menu {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  opacity: 0;
  visibility: hidden;
  width: 100%;
  transition: opacity 0.1s ease, visibility 0s linear 0.1s;
  z-index: 10010;
}
.search-menu.is-open {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.1s ease, visibility 0s linear 0s;
}

.search-container {
  position: relative;
  z-index: 10011;
  max-width: 600px;
  margin: 0 auto;
}

.search-header {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 70px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.search-header .search-form {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  height: 40px;
  border-radius: 40px;
  padding: 10px 12px;
  background: #F6F7FA;
  border: 1px solid #1971C2;
}
.search-header .search-form:focus-within {
  border-color: #1971C2;
}
.search-header .search-form input {
  width: 100%;
  box-sizing: border-box;
  border: none;
  background: none;
  font-size: 16px;
  outline: none;
}
.search-header .search-form input:focus {
  outline: none;
}

.search-result {
  position: relative;
  top: 80px;
  width: 100%;
  max-height: calc(100vh - 150px);
  overflow-y: auto;
  background: #FFFFFF;
  border-radius: 8px;
  scrollbar-width: none;
  scrollbar-color: transparent transparent;
  -ms-overflow-style: none;
}
.search-result::-webkit-scrollbar {
  display: none;
  width: 0;
  background: transparent;
}

.search-result-card {
  width: 100%;
}
.search-result-card .search-query {
  padding: 20px 30px 15px;
}
.search-result-card .search-items {
  display: flex;
  flex-direction: column;
}
.search-result-card .item {
  display: flex;
  flex-direction: row;
  gap: 30px;
  padding: 15px 30px;
  border-radius: 8px;
  text-decoration: none;
}
.search-result-card .item:hover {
  background: #F6F7FA;
  color: #1A1E25;
}
.search-result-card .item:hover::after {
  display: none;
}
.search-result-card .item .thumbnail {
  width: 80px;
  min-width: 80px;
  height: 80px;
  border-radius: 8px;
}
.search-result-card .item .thumbnail img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
  border-radius: 8px;
}
.search-result-card .item .prices {
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.search-result-card .item .prices .sale_price {
  color: #1A1E25;
  font-weight: 500;
}
.search-result-card .item .prices .price {
  color: #DBDCE0;
  text-decoration: line-through;
}
.search-result-card .info {
  width: 100%;
}
.search-result-card .info .product-title {
  line-height: 1.5;
  padding-right: 10px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

#checkout-app {
  background: linear-gradient(to right, #FFFFFF 50%, #F6F7FA 50%);
  background: -webkit-linear-gradient(to right, #FFFFFF 50%, #F6F7FA 50%);
  display: flex;
  flex-direction: column;
  flex: 1;
}
#checkout-app .container {
  padding-top: 50px;
  padding-bottom: 50px;
}

.empty-cart {
  display: flex;
}
.empty-cart .empty-alert {
  margin: 0 auto;
  text-align: center;
  width: 100%;
  max-width: 600px;
  padding: 50px;
}

.checkout-container {
  display: flex;
  flex-wrap: wrap;
  gap: 200px;
  width: 100%;
}
.checkout-container > div {
  flex: 1;
}
.checkout-container .payment-methods {
  display: flex;
  gap: 4px;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}
.checkout-container .payment-methods > * {
  height: 30px;
}
.checkout-container .subtotal {
  border-top: 1px solid #DBDCE0;
}

@media (max-width: 1200px) {
  .checkout-container {
    gap: 50px;
  }
}
@media (max-width: 768px) {
  #checkout-app {
    background: #FFFFFF;
  }
  #checkout-app .container {
    padding-top: 20px;
    padding-bottom: 0;
  }
  .checkout-container {
    flex-direction: column;
    gap: 10px;
  }
}
.image-container {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
}
.image-container img {
  max-width: 100%;
  height: auto;
}

.tree__content {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
@media (max-width: 992px) {
  .tree__content {
    gap: 20px;
  }
}
@media (max-width: 768px) {
  .tree__content {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 576px) {
  .tree__content {
    grid-template-columns: 1fr;
  }
}

.bg-image-graph {
  background-color: #010509;
  background-repeat: no-repeat;
  background-position: bottom right;
  background-image: url(../../../Goya/assets/images/graph.svg);
  position: relative;
}

.bg-image-graph::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  background: linear-gradient(24deg, #010509 0%, #010509 50%, transparent 80%, transparent 100%);
}

.bg-image-graph .container {
  position: relative;
  z-index: 2;
}

.bg-image-about {
  background-color: #010509;
  background-repeat: no-repeat;
  background-size: cover;
  background-image: url(../../../Goya/assets/images/people_1920.jpg);
  background-position: top center;
}

@media (max-width: 1279px) {
  .bg-image-about {
    background-image: url(../../../Goya/assets/images/people_1260.jpg);
  }
}
@media (max-width: 991px) {
  .bg-image-about {
    background-image: url(../../../Goya/assets/images/people_768.jpg);
  }
}
@media (max-width: 767px) {
  .bg-image-about {
    background-size: auto;
    background-position: center;
  }
}
.success-payment {
  padding-top: 50px !important;
  padding-bottom: 50px !important;
}

.success-orders {
  margin: 0 auto;
  border-radius: 10px;
}
.success-orders__item {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 15px;
  border-bottom: 1px solid #DBDCE0;
}
.success-orders__item:last-child {
  border-bottom: none;
}
.success-orders__content {
  display: flex;
  align-items: center;
  gap: 20px;
  width: 100%;
}
.success-orders__thumbnail img {
  display: inline-block;
  max-width: fit-content;
  border-radius: 10px;
  max-height: 140px;
}

.success-call {
  position: relative;
  border-radius: 20px;
  padding: 50px;
  margin-top: 50px;
  background: #1971C2;
  color: #FFFFFF;
}
.success-call .success-content {
  display: flex;
  flex-direction: column;
  padding-right: 540px;
}
.success-call .success-women {
  position: absolute;
  top: -30px;
  right: 50px;
  bottom: 0;
  width: 481px;
}
.success-call .success-women:before, .success-call .success-women:after {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
}
.success-call .success-women:before {
  content: "";
  position: absolute;
  top: 0;
  background-image: url(../../../Goya/assets/images/women.png);
  background-repeat: no-repeat;
  z-index: 10;
}
.success-call .success-women:after {
  content: "";
  position: absolute;
  top: 30px;
  background: radial-gradient(circle, rgb(255, 255, 255) 0%, rgba(255, 255, 255, 0) 70%);
  z-index: 9;
}

@media (max-width: 768px) {
  .success-orders__content {
    flex-direction: column;
    gap: 10px;
    align-items: start;
  }
  .success-orders .product-title-same {
    max-width: 100%;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
}
@media (max-width: 576px) {
  .success-orders__item {
    align-items: start;
  }
}
.orders__items {
  position: relative;
  min-height: 100px;
}
.orders__item > a {
  width: 40px;
  text-align: center;
}
.orders .loader-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  background: rgba(255, 255, 255, 0.6);
  z-index: 10;
  backdrop-filter: blur(2px);
}
.orders .spinner {
  width: 40px;
  height: 40px;
  border: 4px solid #f3f3f3;
  border-top: 4px solid #3498db; /* Твой основной цвет */
  border-radius: 50%;
  animation: spin 1s linear infinite;
}
@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

.expand-item {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-top: 20px;
}
.expand-item__thumbnail img {
  display: inline-block;
  max-width: fit-content;
  border-radius: 10px;
  max-height: 140px;
}

.slide-fade-enter-active, .slide-fade-leave-active {
  transition: all 0.3s ease;
}

.slide-fade-enter-from, .slide-fade-leave-to {
  transform: translateY(-10px);
  opacity: 0;
}

@media (max-width: 768px) {
  .profile-set {
    flex-direction: column;
  }
  .orders__item-price {
    flex-direction: column;
  }
}
@media (max-width: 576px) {
  .orders__item {
    flex-direction: column;
    align-items: start;
  }
  .orders__item > a {
    width: 100%;
  }
  .orders__item-price {
    margin: 10px 0;
    flex-direction: row;
  }
  .expand-item {
    flex-direction: column;
    align-items: start;
  }
  .expand-item__thumbnail img {
    max-height: 110px;
  }
}
@media (max-width: 1440px) {
  .short-about .short-bottom {
    bottom: 50px;
  }
  .short-about video {
    margin-top: 125px;
  }
}
@media (max-width: 1200px) {
  .promotion {
    aspect-ratio: 2/1;
  }
  .short-about {
    aspect-ratio: 4/3.8;
  }
  .short-about .short-bottom {
    bottom: 50px;
  }
}
@media (max-width: 992px) {
  h1 {
    font-size: 48px;
    line-height: 58px;
  }
  h2 {
    font-size: 32px;
    line-height: 42px;
  }
  .tablet-only {
    display: block !important;
  }
  .tablet-flex-only {
    display: flex !important;
  }
  header {
    height: 109px;
  }
  header .container {
    display: block;
  }
  header .logo {
    height: 50px;
  }
  header .logo img {
    height: auto;
    max-height: 25px;
  }
  header .header__logo-box {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  header .header__logo-box .header__action {
    display: block;
    opacity: 1;
    visibility: visible;
  }
  header .header-menu {
    height: 52px;
    justify-content: start;
  }
  header .header-action .profile-balance,
  header .header-action .btn--grant {
    display: none;
  }
  main {
    padding-top: 109px;
  }
  header.mini-style {
    height: 50px;
  }
  header.mini-style + main {
    padding-top: 50px;
  }
  footer .footer-main {
    gap: 50px;
  }
  .basket__menu {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: 100vh;
    min-width: auto;
    width: 100%;
    padding: 10px;
  }
  .basket__menu .basket__container, .basket__menu .basket__items {
    max-height: calc(100vh - 250px);
  }
  .promotion {
    aspect-ratio: auto;
    padding: 119px 0 50px;
    margin-top: -109px;
  }
  .promotion .promotion__title {
    font-size: 64px;
    line-height: 78px;
  }
  .short-about {
    aspect-ratio: 4/5;
  }
  .short-about .short-top {
    top: 50px;
  }
  .short-about .short-top img {
    height: 40px !important;
  }
  .success-payment {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
  }
  .success-call .success-content {
    padding-right: 350px;
  }
  .success-call .success-women {
    width: 300px;
    top: 0;
  }
  .success-call .success-women:before, .success-call .success-women:after {
    background-size: contain;
    background-position: bottom;
  }
}
@media (max-width: 768px) {
  h2 {
    font-size: 28px;
    line-height: 36px;
  }
  h3 {
    font-size: 24px;
    line-height: 32px;
  }
  h4 {
    font-size: 18px;
    line-height: 24px;
  }
  .tablet-only, .mobile-none {
    display: none !important;
  }
  .mobile-only {
    display: block !important;
  }
  .mobile-flex-only {
    display: flex !important;
  }
  header .header-action, header .header-menu {
    gap: 10px;
  }
  header .header-menu .shopMenu {
    margin-left: 0;
  }
  .shopMenu::before, .shopMenu::after {
    display: none;
  }
  .promotion .promotion__title {
    font-size: 54px;
    line-height: 68px;
  }
  .promotion .promotion__title strong {
    font-weight: 700;
  }
  .large-content {
    padding: 100px 0;
  }
  .short-about {
    aspect-ratio: 3.8/5;
  }
  .short-about .short-bottom .container > div {
    flex-wrap: wrap-reverse;
  }
  footer {
    padding-top: 30px;
    padding-bottom: 30px;
  }
  footer .footer-col, footer .footer-description {
    width: 100%;
    max-width: none;
  }
  footer .footer-description {
    margin-bottom: 0;
  }
  footer .footer-main {
    flex-direction: column;
    gap: 20px;
    align-items: start;
  }
  footer .footer-col h5 {
    margin-top: 0;
  }
  footer .social-networks {
    margin-top: 10px;
    gap: 15px;
  }
  footer .footer__disclaimer {
    margin-top: 30px;
    justify-content: space-between;
    flex-wrap: nowrap;
  }
  footer .footer__copy {
    flex-direction: column;
    gap: 10px;
    align-items: start;
  }
  footer .accordion .accordion-item {
    border: none;
  }
  footer .accordion .accordion-header {
    padding: 10px 0;
    font-size: 13px;
    line-height: 17px;
    color: #F6F7FA;
  }
  footer .accordion .accordion-header i {
    color: #FFFFFF;
  }
  footer .accordion .accordion-content {
    padding-top: 10px;
  }
  .success-payment {
    padding-top: 20px !important;
    padding-bottom: 0 !important;
  }
  .success-call {
    border-radius: 0;
    margin-top: 20px;
    margin-left: -20px;
    margin-right: -20px;
    padding: 30px 30px 0;
    background: radial-gradient(circle at 50% 70%, #a8c8ff 0%, #546DDC 60%, #4940CE 100%);
  }
  .success-call .success-content {
    padding-right: 0;
    text-align: center;
  }
  .success-call .success-content h4 {
    font-size: 30px;
    line-height: 30px;
  }
  .success-call .success-women {
    margin: 20px auto 0;
    height: 309px;
    width: 358px;
    position: relative;
    top: auto;
    right: auto;
    bottom: auto;
  }
  .success-call .success-women:after {
    display: none;
  }
  .success-call .success-women:before {
    top: 0;
    bottom: 0;
    background-size: contain;
    background-position: bottom;
  }
}
@media (max-width: 576px) {
  h1 {
    font-size: 44px;
    line-height: 54px;
  }
  .container {
    padding: 0 14px;
  }
  .promotion .promotion__title {
    font-size: 44px;
    line-height: 54px;
  }
  .promotion .promotion__content {
    margin: 100px 0;
  }
  .large-content {
    padding: 50px 0;
  }
  .short-about {
    aspect-ratio: auto;
    padding: 30px 0;
  }
  .short-about video {
    display: none;
  }
  .short-about .short-image {
    display: block;
    margin: 30px 0;
  }
  .short-about .short-top {
    position: relative;
    top: 0;
  }
  .short-about .short-top br {
    display: none;
  }
  .short-about .short-bottom {
    position: relative;
    bottom: 0;
  }
  .basket__subtotal, .basket__computed {
    flex-direction: column;
    align-items: start;
    gap: 10px;
  }
  .success-content .btn {
    width: 100%;
  }
  .success-call {
    margin-left: -14px;
    margin-right: -14px;
  }
  .success-call .success-women {
    height: 270px;
    width: 280px;
  }
}
:root {
  --orange:#FF6B35;
  --orange-dark:#E85D2A;
  --orange-light:#FF8F65;
  --orange-50:rgba(255,107,53,.05);
  --orange-100:rgba(255,107,53,.1);
  --orange-glow:rgba(255,107,53,.15);
  --accent:#F59E0B;
  --accent-dark:#D97706;
  --accent-light:#FBBF24;
  --accent-50:rgba(245,158,11,.05);
  --accent-100:rgba(245,158,11,.1);
  --accent-glow:rgba(245,158,11,.15);
  --navy:#0F172A;
  --slate-900:#1E293B;
  --slate-700:#334155;
  --slate-500:#64748B;
  --slate-400:#94A3B8;
  --slate-300:#CBD5E1;
  --slate-200:#E2E8F0;
  --slate-100:#F1F5F9;
  --slate-50:#F8FAFC;
  --white:#FFFFFF;
  --page-bg:#F5F5F7;
  --f-display:'Fraunces',serif;
  --f-serif:'DM Serif Display',Georgia,serif;
  --f-body:'DM Sans',system-ui,sans-serif;
  --f-mono:'DM Mono',monospace;
  --max-w:1200px;
  --r:14px;
  --r-sm:8px;
  --r-full:100px;
}

body {
  font-family: var(--f-body);
  color: var(--navy);
  background: var(--page-bg);
  line-height: 1.6;
  overflow-x: hidden;
}

.container {
  max-width: var(--max-w);
  margin: 0 auto;
  padding: 0 24px;
  overflow: visible;
}

select {
  height: 30px;
  padding: 5px;
  border-radius: 5px;
  border-color: #ccc;
}

/* ===== NAV ===== */
nav {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(15, 23, 42, 0.92);
  backdrop-filter: blur(20px) saturate(1.4);
  -webkit-backdrop-filter: blur(20px) saturate(1.4);
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  padding: 0 24px;
  height: 70px;
  overflow: visible;
}

.nav-inner {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  height: 100%;
  gap: 12px;
}

.nav-logo {
  font-family: var(--f-display);
  font-size: 18px;
  font-weight: 700;
  color: #fff;
  text-decoration: none;
  letter-spacing: -0.02em;
  flex-shrink: 0;
}

.nav-logo span {
  color: var(--orange);
}

/* Categories button in nav */
.nav-cat-btn {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 7px 16px;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.7);
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.06);
  cursor: pointer;
  font-family: var(--f-body);
  transition: all 0.3s;
  outline: none;
  flex-shrink: 0;
}

.nav-cat-btn:hover {
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
  border-color: rgba(255, 255, 255, 0.1);
}

.nav-cat-btn.open {
  background: var(--orange);
  color: #fff;
  border-color: var(--orange);
}

.nav-cat-btn .cat-icon {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
}

.nav-cat-btn .cat-chev {
  width: 9px;
  height: 9px;
  transition: transform 0.3s;
  flex-shrink: 0;
  opacity: 0.5;
}

.nav-cat-btn.open .cat-chev {
  transform: rotate(180deg);
  opacity: 1;
}

.nav-search {
  flex: 1;
  min-width: 0;
  position: relative;
  display: flex;
  align-items: center;
}

.nav-search input {
  width: 100%;
  padding: 9px 14px 9px 36px;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 12px;
  font-size: 13px;
  color: #fff;
  outline: none;
  font-family: var(--f-body);
  transition: background 0.2s, border 0.2s, box-shadow 0.2s;
}

.nav-search input::placeholder {
  color: rgba(255, 255, 255, 0.4);
}

.nav-search input:focus {
  background: rgba(255, 255, 255, 0.15);
  border-color: rgba(255, 255, 255, 0.22);
  box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.06);
}

.nav-search-icon {
  position: absolute;
  left: 12px;
  color: rgba(255, 255, 255, 0.45);
  pointer-events: none;
}

/* Right actions */
.nav-actions {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
  margin-left: auto !important;
}

.nav-signin {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 7px 14px;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.6);
  text-decoration: none;
  transition: all 0.25s;
  font-family: var(--f-body);
  border: 1px solid transparent;
  white-space: nowrap;
}

.nav-signin:hover {
  color: #fff;
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.06);
}

.nav-signin svg {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  opacity: 0.5;
}

.nav-signin:hover svg {
  opacity: 0.8;
}

.nav-item-co {
  position: relative;
  display: flex;
  align-items: center;
}

.nav-item-btn {
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 7px 14px;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.6);
  background: none;
  border: 1px solid transparent;
  cursor: pointer;
  font-family: var(--f-body);
  transition: all 0.25s;
  white-space: nowrap;
}

.nav-item-btn:hover, .nav-item-co.open .nav-item-btn {
  color: #fff;
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.06);
}

.nav-chevron {
  width: 10px;
  height: 10px;
  flex-shrink: 0;
  opacity: 0.5;
  transition: transform 0.3s, opacity 0.25s;
}

.nav-item-btn:hover .nav-chevron, .nav-item-co.open .nav-chevron {
  opacity: 0.8;
}

.nav-item-co.open .nav-chevron {
  transform: rotate(180deg);
}

.nav-mega-co {
  position: absolute;
  top: calc(100% + 12px);
  right: -20px;
  transform: translateY(8px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: all 0.3s cubic-bezier(0.22, 1, 0.36, 1);
  z-index: 200;
}

.nav-item-co.open .nav-mega-co {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}

.nav-mega-co::after {
  content: "";
  position: absolute;
  top: -6px;
  right: 40px;
  width: 12px;
  height: 12px;
  background: rgba(15, 23, 42, 0.88);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-bottom: none;
  border-right: none;
  transform: rotate(45deg);
  border-radius: 2px 0 0 0;
}

.nav-mega-glass {
  position: relative;
  background: rgba(15, 23, 42, 0.88);
  backdrop-filter: blur(20px) saturate(1.5);
  -webkit-backdrop-filter: blur(20px) saturate(1.5);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 16px;
  box-shadow: 0 32px 80px rgba(0, 0, 0, 0.3), 0 0 0 1px rgba(255, 255, 255, 0.04) inset;
  padding: 24px;
  overflow: hidden;
  min-width: 440px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px 20px;
}

.nav-mega-glass::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 16px;
  pointer-events: none;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.07) 0%, rgba(255, 255, 255, 0.02) 25%, transparent 50%, transparent 75%, rgba(255, 255, 255, 0.03) 100%);
}

.nav-mega-glass::before {
  content: "";
  position: absolute;
  top: 0;
  left: 6%;
  right: 6%;
  height: 1px;
  z-index: 1;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.22), transparent);
}

.nav-mega-title {
  grid-column: 1/-1;
  font-size: 0.65rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: rgba(255, 107, 53, 0.75);
  margin-bottom: 14px;
  padding: 0 8px;
  position: relative;
  z-index: 2;
}

.nav-mega-link {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px;
  border-radius: 10px;
  font-size: 0.85rem;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.8);
  line-height: 1.25;
  transition: all 0.2s;
  cursor: pointer;
  position: relative;
  z-index: 2;
  text-decoration: none;
}

.nav-mega-link:hover {
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
  transform: translateX(2px);
}

.nav-mega-icon {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  background: rgba(255, 107, 53, 0.1);
  border: 1px solid rgba(255, 107, 53, 0.18);
  transition: all 0.25s;
  color: rgba(255, 107, 53, 0.75);
}

.nav-mega-icon svg {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}

.nav-mega-link:hover .nav-mega-icon {
  background: rgba(255, 107, 53, 0.15);
  border-color: rgba(255, 107, 53, 0.25);
  color: rgba(255, 107, 53, 0.9);
}

.nav-cart {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.06);
  color: rgba(255, 255, 255, 0.6);
  cursor: pointer;
  transition: all 0.25s;
  outline: none;
  flex-shrink: 0;
}

.nav-cart:hover {
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
  border-color: rgba(255, 255, 255, 0.1);
}

.nav-cart svg {
  width: 17px;
  height: 17px;
  flex-shrink: 0;
}

.cart-badge {
  position: absolute;
  top: -4px;
  right: -4px;
  min-width: 16px;
  height: 16px;
  border-radius: 50%;
  background: var(--orange);
  color: #fff;
  font-size: 9px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--f-body);
  line-height: 1;
  box-shadow: 0 2px 6px rgba(255, 107, 53, 0.3);
}

.nav-mobile-toggle {
  display: none;
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
}

.nav-mobile-toggle span {
  display: block;
  width: 18px;
  height: 2px;
  background: #fff;
  margin: 4px 0;
  border-radius: 2px;
  transition: transform 0.3s, opacity 0.3s;
}

.nav-mobile-toggle.open span:nth-child(1) {
  transform: translateY(6px) rotate(45deg);
}

.nav-mobile-toggle.open span:nth-child(2) {
  opacity: 0;
}

.nav-mobile-toggle.open span:nth-child(3) {
  transform: translateY(-6px) rotate(-45deg);
}

/* Mobile menu panel */
.nav-mobile-panel {
  display: none;
  position: fixed;
  top: 70px;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 99;
  background: rgba(15, 23, 42, 0.97);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  padding: 24px;
  overflow-y: auto;
  transform: translateY(-10px);
  opacity: 0;
  transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.3s;
}

.nav-mobile-panel.open {
  display: flex;
  flex-direction: column;
  gap: 8px;
  transform: translateY(0);
  opacity: 1;
}

.nav-mobile-panel-search {
  display: flex;
  align-items: center;
  position: relative;
  margin-bottom: 16px;
}

.nav-mobile-panel-search input {
  width: 100%;
  padding: 12px 14px 12px 40px;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 12px;
  font-size: 14px;
  color: #fff;
  outline: none;
  font-family: var(--f-body);
}

.nav-mobile-panel-search input::placeholder {
  color: rgba(255, 255, 255, 0.4);
}

.nav-mobile-panel-search svg {
  position: absolute;
  left: 12px;
  color: rgba(255, 255, 255, 0.45);
  pointer-events: none;
}

.nav-mobile-link {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  border-radius: 12px;
  font-size: 15px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.75);
  text-decoration: none;
  transition: all 0.2s;
  border: 1px solid rgba(255, 255, 255, 0.06);
}

.nav-mobile-link:hover, .nav-mobile-link:active {
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
}

.nav-mobile-link svg {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  opacity: 0.5;
}

.nav-mobile-divider {
  height: 1px;
  background: rgba(255, 255, 255, 0.06);
  margin: 8px 0;
}

@media (max-width: 960px) {
  .nav-signin span {
    display: none;
  }
  .nav-signin {
    padding: 7px 10px;
  }
  .nav-search {
    max-width: 200px;
  }
  .nav-actions {
    gap: 4px;
  }
}
/* ===== DARK MEGA MENU ===== */
.mega-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.35);
  z-index: 98;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.4s;
}

.mega-overlay.open {
  opacity: 1;
  pointer-events: auto;
}

.mega-menu {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%) translateY(-8px);
  z-index: 99;
  width: 100%;
  max-width: 1100px;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
  transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.35s;
  border-radius: 0 0 20px 20px;
}

.mega-menu.open {
  transform: translateX(-50%) translateY(0);
  opacity: 1;
  pointer-events: auto;
}

.mega-menu-inner {
  background: rgba(15, 23, 42, 0.88);
  backdrop-filter: blur(20px) saturate(1.5);
  -webkit-backdrop-filter: blur(20px) saturate(1.5);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-top: none;
  border-radius: 0 0 20px 20px;
  box-shadow: 0 32px 80px rgba(0, 0, 0, 0.3), 0 0 0 1px rgba(255, 255, 255, 0.04) inset;
}

.mega-menu-content {
  max-width: var(--max-w);
  margin: 0 auto;
  padding: 32px 24px 40px;
}

.mega-menu-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 28px;
}

.mega-menu-label {
  font-family: var(--f-mono);
  font-size: 10px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--orange);
}

.mega-menu-viewall {
  font-size: 12px;
  font-weight: 600;
  color: var(--orange);
  text-decoration: none;
  transition: opacity 0.2s;
}

.mega-menu-viewall:hover {
  opacity: 0.7;
}

.mega-menu-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  column-gap: 40px;
  max-height: 65vh;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, 0.1) transparent;
  padding-right: 8px;
}

.mega-menu-grid::-webkit-scrollbar {
  width: 4px;
}

.mega-menu-grid::-webkit-scrollbar-track {
  background: transparent;
}

.mega-menu-grid::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.12);
  border-radius: 4px;
}

.mega-menu-grid::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 255, 255, 0.2);
}

.mega-col {
  display: flex;
  flex-direction: column;
  gap: 0;
  border-right: 1px solid rgba(255, 255, 255, 0.04);
  padding-right: 32px;
}

.mega-col:last-child {
  border: none;
  padding-right: 0;
}

.mega-cat-head {
  align-items: center;
  gap: 10px;
  padding: 10px 0 6px;
  margin-bottom: 0;
  cursor: pointer;
  transition: opacity 0.2s;
}

.mega-cat-head:hover {
  opacity: 0.8;
}

.mega-cat-title, .mega-cat-name {
  font-size: 13.5px;
  font-weight: 700;
  color: #fff;
  text-decoration: none;
}

.mega-sub-link {
  display: block;
  padding: 5px 0 5px 20px;
  font-size: 12.5px;
  color: rgba(255, 255, 255, 0.4);
  text-decoration: none;
  transition: color 0.2s;
  font-family: var(--f-body);
  cursor: pointer;
}

.mega-sub-link:hover {
  color: var(--orange);
}

.mega-cat-divider {
  height: 1px;
  background: rgba(255, 255, 255, 0.04);
  margin: 14px 0;
}

@media (max-width: 768px) {
  .mega-menu-grid {
    grid-template-columns: repeat(2, 1fr);
    column-gap: 24px;
  }
  .mega-col {
    border: none;
    padding-right: 0;
  }
  .nav-search {
    display: none;
  }
  .nav-cat-btn {
    display: none;
  }
  .nav-item-co {
    display: none;
  }
  .nav-mobile-toggle {
    display: block;
  }
  .nav-inner {
    gap: 8px;
  }
  .nav-actions {
    gap: 4px;
  }
  .nav-signin {
    display: flex;
    padding: 7px 8px;
  }
  .nav-signin span {
    display: none;
  }
  .nav-signin svg {
    opacity: 0.7;
  }
  nav {
    height: 56px;
  }
  .nav-mobile-panel {
    top: 56px;
  }
}
@media (max-width: 480px) {
  .mega-menu-grid {
    grid-template-columns: 1fr;
  }
}
/* ===== PRODUCT CARDS (spec) ===== */
/* Carousel wrapper */
.pcard-carousel {
  position: relative;
  margin-top: -8px;
  margin-bottom: -24px;
}

.pcard-carousel::before, .pcard-carousel::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 52px;
  z-index: 3;
  pointer-events: none;
}

.pcard-carousel::before {
  left: -52px;
}

.pcard-carousel::after {
  right: -52px;
}

.pcard-track {
  display: flex;
  gap: 12px;
  overflow-x: auto;
  scrollbar-width: none;
  scroll-behavior: smooth;
  padding: 12px 0 32px;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  cursor: grab;
}

.pcard-track.dragging {
  cursor: grabbing;
  user-select: none;
  -webkit-user-select: none;
}

.pcard-track.dragging * {
  pointer-events: none;
}

.browse-track.dragging, .blog-grid.dragging, .cstory-grid.dragging {
  cursor: grabbing !important;
  user-select: none;
  -webkit-user-select: none;
}

.browse-track.dragging *, .blog-grid.dragging *, .cstory-grid.dragging * {
  pointer-events: none;
}

.pcard-track::-webkit-scrollbar {
  display: none;
}

.pcard-track .pcard {
  flex-shrink: 0;
  width: calc((100% - 48px) / 5);
  scroll-snap-align: start;
}

.pcard-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-55%);
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.6);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 5;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.35s, transform 0.35s, background 0.2s, color 0.2s, box-shadow 0.35s;
  color: var(--slate-500);
  padding: 0;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06), 0 0 0 1px rgba(0, 0, 0, 0.03);
}

.pcard-arrow::before {
  content: "";
  position: absolute;
  top: -20px;
  bottom: -20px;
  width: 70px;
}

.pcard-arrow-l::before {
  right: -30px;
}

.pcard-arrow-r::before {
  left: -30px;
}

.pcard-arrow-r.show {
  pointer-events: auto;
}

.pcard-carousel:hover .pcard-arrow-r.show {
  opacity: 1;
}

.pcard-arrow-l.show {
  pointer-events: auto;
}

.pcard-carousel:hover .pcard-arrow-l.show {
  opacity: 1;
}

.pcard-arrow-r.show:hover, .pcard-arrow-l.show:hover {
  opacity: 1;
}

.pcard-arrow:hover {
  background: rgba(255, 255, 255, 0.95);
  color: var(--navy);
  transform: translateY(-55%) scale(1.1);
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.1), 0 0 0 1px rgba(0, 0, 0, 0.04);
}

.pcard-arrow:active {
  transform: translateY(-55%) scale(0.95);
}

.pcard-arrow-l {
  left: -48px;
}

.pcard-arrow-r {
  right: -48px;
}

.pcard-arrow svg {
  width: 16px;
  height: 16px;
  stroke-width: 2.2;
}

@media (max-width: 900px) {
  .pcard-track .pcard {
    width: calc((100% - 24px) / 2.3);
  }
}
@media (max-width: 768px) {
  .pcard-arrow {
    display: none;
  }
  .pcard-track .pcard {
    width: calc((100% - 20px) / 2.2);
  }
  .pcard-track {
    scroll-behavior: auto;
    scroll-snap-type: x proximity;
  }
}
@media (max-width: 540px) {
  .pcard-track .pcard {
    width: 44%;
    min-width: 155px;
  }
  .pcard-track {
    gap: 10px;
  }
  .pcard-viewall {
    width: 44%;
    min-width: 155px;
  }
}
/* View All end card */
.pcard-viewall {
  flex-shrink: 0;
  width: calc((100% - 48px) / 5);
  border-radius: 18px;
  background: rgba(15, 23, 42, 0.03);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.45s cubic-bezier(0.22, 1, 0.36, 1);
  scroll-snap-align: start;
}

.pcard-viewall:hover {
  background: rgba(15, 23, 42, 0.06);
}

.pcard-viewall-btn {
  padding: 10px 22px;
  border-radius: 50px;
  background: var(--navy);
  color: #fff;
  font-family: var(--f-body);
  font-size: 12px;
  font-weight: 700;
  border: none;
  pointer-events: none;
  transition: all 0.4s cubic-bezier(0.22, 1, 0.36, 1);
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.15);
}

.pcard-viewall:hover .pcard-viewall-btn {
  transform: scale(1.06);
  box-shadow: 0 8px 28px rgba(15, 23, 42, 0.2);
}

@media (max-width: 900px) {
  .pcard-viewall {
    width: calc((100% - 24px) / 2.3);
  }
}
@media (max-width: 540px) {
  .pcard-viewall {
    width: 44%;
    min-width: 155px;
  }
}
.pcard {
  position: relative;
  cursor: pointer;
  border-radius: 18px;
  display: flex;
  flex-direction: column;
  min-width: 0;
  background: linear-gradient(165deg, rgba(210, 215, 225, 0.5), rgba(180, 185, 200, 0.35) 30%, rgba(160, 168, 185, 0.3) 50%, rgba(180, 185, 200, 0.35) 70%, rgba(210, 215, 225, 0.45));
  padding: 1.5px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04), 0 2px 6px rgba(15, 23, 42, 0.04), 0 0 0 0.5px rgba(255, 255, 255, 0.5) inset;
  transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}

.pcard:hover {
  transform: translateY(-5px);
  box-shadow: 0 4px 8px rgba(15, 23, 42, 0.04), 0 8px 20px rgba(15, 23, 42, 0.06), 0 0 0 0.5px rgba(255, 255, 255, 0.6) inset;
}

.pcard-inner {
  position: relative;
  overflow: hidden;
  border-radius: 17px;
  background: linear-gradient(175deg, rgba(255, 255, 255, 0.96) 0%, rgba(252, 252, 254, 0.94) 30%, rgba(250, 250, 252, 0.95) 60%, rgba(255, 255, 255, 0.96) 100%);
  display: flex;
  flex-direction: column;
  height: 100%;
  min-width: 0;
}

.pcard-inner::before {
  content: "";
  position: absolute;
  top: 0;
  left: 5%;
  right: 5%;
  height: 1px;
  z-index: 4;
  pointer-events: none;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.7) 30%, rgba(255, 255, 255, 0.9) 50%, rgba(255, 255, 255, 0.7) 70%, transparent);
}

.pcard-top {
  aspect-ratio: 1/1;
  position: relative;
  overflow: hidden;
  margin: 5px 5px 0;
  border-radius: 13px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08) inset;
  background: linear-gradient(135deg, #f0ebe4 0%, #e8e3dc 50%, #ddd8d0 100%);
  display: flex;
  align-items: center;
  justify-content: center;
}

.pcard-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.7s cubic-bezier(0.22, 1, 0.36, 1), filter 0.5s;
}

.pcard:hover .pcard-img {
  transform: scale(1.05);
  filter: brightness(1.04);
}

.pcard-top::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  border-radius: 13px;
  background: linear-gradient(180deg, transparent 40%, rgba(15, 23, 42, 0.55) 100%);
  opacity: 0;
  transition: opacity 0.4s;
  pointer-events: none;
}

.pcard:hover .pcard-top::before {
  opacity: 1;
}

.pcard-cart {
  position: absolute;
  bottom: 12px;
  left: 12px;
  right: 12px;
  z-index: 4;
  padding: 10px;
  border-radius: 10px;
  text-align: center;
  background: rgba(255, 107, 53, 0.92);
  color: #fff;
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  transform: translateY(14px);
  opacity: 0;
  transition: all 0.4s cubic-bezier(0.22, 1, 0.36, 1);
  border: 1px solid rgba(255, 107, 53, 0.3);
  cursor: pointer;
}

.pcard:hover .pcard-cart {
  opacity: 1;
  transform: translateY(0);
}

.pcard-cart:hover {
  background: #fff !important;
  color: #FF6B35 !important;
  border-color: rgba(255, 107, 53, 0.4) !important;
}

.pcard-badge {
  position: absolute;
  top: 10px;
  left: 10px;
  padding: 3px 9px;
  border-radius: 8px;
  font-size: 0.55rem;
  font-weight: 700;
  color: #fff;
  z-index: 5;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(255, 255, 255, 0.15);
}

.pcard-badge.hot {
  background: rgba(225, 29, 72, 0.82);
}

.pcard-badge.new {
  background: rgba(5, 150, 105, 0.82);
}

.pcard-body {
  padding: 10px 12px 14px;
  position: relative;
  z-index: 2;
  flex: 1;
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
}

.pcard-cat {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 5px;
  text-decoration: none;
  background: rgba(15, 23, 42, 0.04);
  font-size: 0.5rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--slate-400);
  margin-bottom: 6px;
  align-self: flex-start;
}

.pcard-name {
  font-family: var(--f-serif);
  font-size: 0.85rem;
  color: var(--navy);
  margin-bottom: 8px;
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  mask-image: linear-gradient(90deg, #000 75%, transparent 98%);
  -webkit-mask-image: linear-gradient(90deg, #000 75%, transparent 98%);
}

.pcard-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  border-top: 1px solid rgba(15, 23, 42, 0.06);
  padding-top: 8px;
  margin-top: auto;
}

.pcard-prices {
  display: flex;
  align-items: center;
  gap: 6px;
  width: 100%;
}

.pcard-price {
  font-size: 0.88rem;
  font-weight: 800;
  color: var(--navy);
}

.pcard-price-old, .pcard-prices .old {
  font-size: 0.65rem;
  color: var(--slate-300);
  text-decoration: line-through;
}

.pcard-rating {
  display: flex;
  align-items: center;
  gap: 4px;
}

.pcard-stars {
  display: flex;
  gap: 1px;
  color: #F59E0B;
  font-size: 0.6rem;
  line-height: 1;
}

.pcard-reviews {
  font-size: 0.55rem;
  color: var(--slate-400);
  font-weight: 500;
}

.pcard-cats {
  height: 30px;
  overflow: hidden;
}

.pcard {
  will-change: transform;
}

.browse-card {
  will-change: transform;
}

.blog-card {
  will-change: transform;
}

/* ===== RESPONSIVE ===== */
@media (max-width: 1024px) {
  .mh-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .arrivals-grid, .stories-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .arrivals-grid > :nth-child(3), .stories-grid > :nth-child(3) {
    display: none;
  }
}
@media (max-width: 768px) {
  .slider-track {
    height: 460px;
  }
  .slide-dark .slide-glass {
    padding: 24px 20px;
    left: 16px;
    bottom: 16px;
    right: 16px;
    max-width: none;
  }
  .slide-dark h2, .slide-overlay h2 {
    font-size: 20px;
  }
  .slide-overlay {
    left: 16px;
    bottom: 16px;
    right: 16px;
    max-width: none;
    padding: 22px 20px;
  }
  .slider-glow-left, .slider-glow-right, .slider-glow-top {
    display: none;
  }
  .slider-arrow {
    display: none;
  }
  .top10-grid {
    grid-template-columns: 1fr;
  }
  .mh-grid {
    grid-template-columns: 1fr;
  }
  .arrivals-grid, .stories-grid {
    grid-template-columns: 1fr;
  }
  .arrivals-grid > :nth-child(3), .stories-grid > :nth-child(3) {
    display: flex;
  }
  .hero-story h2 {
    font-size: 22px;
  }
  .hero-story-footer {
    flex-wrap: wrap;
    width: auto;
  }
  .hero-story-footer button {
    margin-left: 0;
    width: 100%;
  }
  .slide-product-icon {
    width: 32px;
    height: 32px;
    border-radius: 8px;
  }
  .slide-product-info h4 {
    font-size: 9.5px;
  }
  .slide-product-info span {
    font-size: 8px;
  }
  .slide-product-row {
    gap: 8px;
  }
  .slide p {
    display: none;
  }
}
@media (max-width: 540px) {
  .pcard {
    border-radius: 18px;
  }
  .pcard-inner {
    border-radius: 17px;
  }
  .pcard-inner::before {
    display: none;
  }
  .pcard-top {
    margin: 6px 6px 0;
    border-radius: 13px;
  }
  .pcard-badge {
    top: 8px;
    left: 8px;
    padding: 3px 8px;
    border-radius: 6px;
    font-size: 0.56rem;
  }
  .pcard-cart {
    bottom: 8px;
    left: 8px;
    right: 8px;
    padding: 8px;
    border-radius: 8px;
    font-size: 0.7rem;
  }
  .pcard-body {
    padding: 10px 12px 14px;
  }
  .pcard-cat {
    font-size: 0.54rem;
    padding: 2px 7px;
    margin-bottom: 6px;
  }
  .pcard-name {
    font-size: 0.88rem;
    margin-bottom: 8px;
  }
  .pcard-foot {
    padding-top: 8px;
  }
  .pcard-price {
    font-size: 0.92rem;
  }
  .pcard-price-old {
    font-size: 0.66rem;
  }
  .pcard-stars {
    font-size: 0.65rem;
  }
  .pcard-reviews {
    font-size: 0.56rem;
  }
}
.cart-drawer-overlay {
  position: fixed;
  inset: 0;
  z-index: 250;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.35s cubic-bezier(0.22, 1, 0.36, 1), visibility 0.35s;
}

.cart-drawer-overlay.open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.cart-drawer-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 42, 0.5);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
}

.cart-drawer {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: min(380px, 88vw);
  background: rgba(15, 23, 42, 0.88);
  backdrop-filter: blur(20px) saturate(1.5);
  -webkit-backdrop-filter: blur(20px) saturate(1.5);
  border-left: 1px solid rgba(255, 255, 255, 0.06);
  box-shadow: -8px 0 40px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(255, 255, 255, 0.04) inset;
  display: flex;
  flex-direction: column;
  transform: translateX(100%);
  transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
  overflow: hidden;
}

.cart-drawer-overlay.open .cart-drawer {
  transform: translateX(0);
}

.cart-drawer-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 20px 16px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  flex-shrink: 0;
  position: relative;
  z-index: 2;
}

.cart-drawer-title {
  font-family: var(--f-display);
  font-size: 1.1rem;
  color: #fff;
  display: flex;
  align-items: center;
  gap: 8px;
}

.cart-drawer-count {
  padding: 2px 8px;
  border-radius: 100px;
  background: rgba(251, 191, 36, 0.12);
  color: #FBBF24;
  font-size: 0.7rem;
  font-weight: 700;
}

.cart-drawer-close {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.08);
  color: rgba(255, 255, 255, 0.5);
  cursor: pointer;
  transition: all 0.25s;
}

.cart-drawer-close svg {
  width: 16px;
  height: 16px;
}

.cart-drawer-close:hover {
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
}

.cart-drawer-body {
  flex: 1;
  overflow-y: auto;
  padding: 16px 20px;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, 0.1) transparent;
  position: relative;
  z-index: 2;
}

.cart-drawer-body::-webkit-scrollbar {
  width: 4px;
}

.cart-drawer-body::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.1);
  border-radius: 4px;
}

.cart-item {
  display: flex;
  gap: 14px;
  padding: 16px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.cart-item:last-child {
  border-bottom: none;
}

.cart-item-img {
  width: 68px;
  height: 68px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.06);
  overflow: hidden;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.8rem;
}

.cart-item-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.cart-item-info {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.cart-item-name {
  font-size: 0.85rem;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.9);
  white-space: nowrap;
  overflow: hidden;
  mask-image: linear-gradient(90deg, #000 70%, transparent 98%);
  -webkit-mask-image: linear-gradient(90deg, #000 70%, transparent 98%);
}

.cart-item-cat {
  font-size: 0.65rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: rgba(255, 255, 255, 0.3);
}

.cart-item-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: auto;
}

.cart-item-price {
  font-size: 0.9rem;
  font-weight: 800;
  color: #fff;
}

.cart-item-qty {
  display: flex;
  align-items: center;
  gap: 0;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 8px;
  overflow: hidden;
}

.cart-item-qty button {
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.04);
  color: rgba(255, 255, 255, 0.5);
  font-size: 0.8rem;
  font-weight: 600;
  transition: all 0.2s;
  border: none;
  cursor: pointer;
  font-family: var(--f-body);
}

.cart-item-qty button:hover {
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
}

.cart-item-qty span {
  width: 28px;
  text-align: center;
  font-size: 0.78rem;
  font-weight: 700;
  color: #fff;
}

.cart-item-remove {
  color: rgba(255, 255, 255, 0.2);
  cursor: pointer;
  font-size: 0.65rem;
  font-weight: 600;
  transition: color 0.2s;
  align-self: flex-start;
  margin-top: 2px;
}

.cart-item-remove:hover {
  color: #DC2626;
}

.cart-drawer-footer {
  flex-shrink: 0;
  padding: 16px 20px 20px;
  border-top: 1px solid rgba(255, 255, 255, 0.07);
  position: relative;
  z-index: 2;
}

.cart-drawer-subtotal {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
}

.cart-drawer-subtotal-label {
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.5);
}

.cart-drawer-subtotal-val {
  font-family: var(--f-display);
  font-size: 1.2rem;
  color: #fff;
}

.cart-drawer-checkout {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  padding: 16px;
  border-radius: 8px;
  background: var(--orange);
  color: #fff;
  box-shadow: 0 4px 20px rgba(255, 107, 53, 0.25);
  font-size: 1rem;
  font-weight: 700;
  border: none;
  cursor: pointer;
  font-family: var(--f-body);
  line-height: 1.2;
  transition: all 0.25s;
}

.cart-drawer-checkout:hover {
  background: #fff;
  color: var(--orange);
  transform: translateY(-2px);
  box-shadow: 0 8px 32px rgba(255, 107, 53, 0.35);
}

.cart-drawer-continue {
  display: block;
  width: 100%;
  text-align: center;
  padding: 10px;
  margin-top: 8px;
  font-size: 0.78rem;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.4);
  cursor: pointer;
  transition: color 0.2s;
  background: none;
  border: none;
  font-family: var(--f-body);
}

.cart-drawer-continue:hover {
  color: rgba(255, 255, 255, 0.7);
}

.cart-drawer-empty {
  text-align: center;
  padding: 60px 20px;
  color: rgba(255, 255, 255, 0.3);
}

.cart-drawer-empty-icon {
  font-size: 2.5rem;
  margin-bottom: 16px;
}

.cart-drawer-empty h4 {
  font-family: var(--f-display);
  font-size: 1.1rem;
  color: rgba(255, 255, 255, 0.5);
  margin-bottom: 6px;
}

.cart-drawer-empty p {
  font-size: 0.82rem;
}

.footer {
  background: #0F172A;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  color: rgba(255, 255, 255, 0.5);
  position: relative;
  overflow: hidden;
}

.footer::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent 10%, rgba(255, 255, 255, 0.1) 50%, transparent 90%);
  pointer-events: none;
  z-index: 2;
}

.footer::before {
  content: "";
  position: absolute;
  top: -200px;
  left: 50%;
  transform: translateX(-50%);
  width: 600px;
  height: 400px;
  background: radial-gradient(ellipse, rgba(255, 107, 53, 0.08), transparent 70%);
  pointer-events: none;
}

.footer .container {
  position: relative;
  z-index: 1;
  padding-top: 80px;
}

.footer-top {
  display: grid;
  grid-template-columns: 1.4fr 1fr 0.8fr 1.8fr;
  gap: 48px;
  padding-bottom: 56px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

@media (max-width: 900px) {
  .footer-top {
    grid-template-columns: 1fr 1fr;
    gap: 32px;
  }
}
@media (max-width: 540px) {
  .footer-top {
    grid-template-columns: 1fr;
    gap: 28px;
  }
}
.footer-brand {
  font-family: var(--f-display);
  font-size: 1.4rem;
  color: #fff;
  margin-bottom: 14px;
}

.footer-tagline {
  font-size: 0.82rem;
  line-height: 1.7;
  margin-bottom: 24px;
}

.footer-action {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, 0.06);
  background: rgba(255, 255, 255, 0.02);
  color: rgba(255, 255, 255, 0.6);
  font-size: 0.8rem;
  font-weight: 500;
  margin-bottom: 8px;
  cursor: pointer;
  transition: all 0.3s;
}

.footer-action:hover {
  border-color: rgba(255, 107, 53, 0.35);
  background: rgba(255, 255, 255, 0.04);
  color: #fff;
}

.footer-action-icon {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 107, 53, 0.12);
  border: 1px solid rgba(255, 107, 53, 0.2);
  color: rgba(255, 107, 53, 0.75);
  transition: all 0.3s;
}

.footer-action-icon svg {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}

.footer-action:hover .footer-action-icon {
  background: rgba(255, 107, 53, 0.22);
  border-color: rgba(255, 107, 53, 0.35);
  color: rgb(255, 107, 53);
}

.footer-col h4 {
  font-size: 0.65rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: rgba(255, 255, 255, 0.25);
  margin-bottom: 20px;
}

.footer a {
  text-decoration: none;
}

.footer-col a {
  display: block;
  font-size: 0.82rem;
  color: rgba(255, 255, 255, 0.45);
  padding: 5px 0;
  transition: all 0.25s;
  position: relative;
  padding-left: 0;
}

.footer-col a:hover {
  color: var(--orange);
  padding-left: 6px;
}

.footer-col-toggle {
  display: none;
}

.footer-col-chevron {
  display: none;
}

@media (max-width: 540px) {
  .footer-col {
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  }
  .footer-col h4 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0;
    padding: 16px 0;
    cursor: pointer;
    -webkit-user-select: none;
    user-select: none;
  }
  .footer-col-chevron {
    display: block;
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    color: rgba(255, 255, 255, 0.25);
    transition: transform 0.3s;
  }
  .footer-col.open .footer-col-chevron {
    transform: rotate(180deg);
    color: var(--orange);
  }
  .footer-col-links {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.35s cubic-bezier(0.22, 1, 0.36, 1), padding 0.35s;
    padding: 0;
  }
  .footer-col.open .footer-col-links {
    max-height: 500px;
    padding: 0 0 16px;
  }
}
.footer-mission h4 {
  font-size: 0.65rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: rgba(255, 255, 255, 0.25);
  margin-bottom: 20px;
}

.footer-mission p {
  font-size: 0.8rem;
  line-height: 1.7;
  margin-bottom: 16px;
}

.footer-mission strong {
  color: var(--orange);
  font-weight: 600;
}

.footer-social {
  display: flex;
  gap: 10px;
  margin-top: 24px;
}

.footer-social a {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: rgba(255, 107, 53, 0.12);
  border: 1px solid rgba(255, 107, 53, 0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s;
  color: rgba(255, 107, 53, 0.75);
}

.footer-social a svg {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}

.footer-social a:hover {
  background: rgba(255, 107, 53, 0.22);
  border-color: rgba(255, 107, 53, 0.35);
  color: rgb(255, 107, 53);
  transform: translateY(-2px);
}

.footer-newsletter {
  display: flex;
  align-items: center;
  gap: 24px;
  padding: 32px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

@media (max-width: 768px) {
  .footer-newsletter {
    flex-direction: column;
    gap: 16px;
    text-align: center;
  }
}
.footer-newsletter-text {
  flex: 1;
}

.footer-newsletter-text h4 {
  font-family: var(--f-display);
  font-size: 1.1rem;
  color: #fff;
  margin-bottom: 4px;
}

.footer-newsletter-text p {
  font-size: 0.78rem;
}

.footer-newsletter-form {
  display: flex;
  gap: 8px;
  flex-shrink: 0;
}

.footer-newsletter-input {
  padding: 12px 16px;
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(255, 255, 255, 0.03);
  color: #fff;
  font-size: 0.82rem;
  width: 260px;
  outline: none;
  font-family: var(--f-body);
  transition: border-color 0.3s;
}

.footer-newsletter-input::placeholder {
  color: rgba(255, 255, 255, 0.25);
}

.footer-newsletter-input:focus {
  border-color: rgba(255, 107, 53, 0.5);
}

.footer-newsletter-btn {
  padding: 12px 24px;
  border-radius: 10px;
  background: var(--orange);
  color: #fff;
  font-size: 0.82rem;
  font-weight: 700;
  border: none;
  cursor: pointer;
  font-family: var(--f-body);
  transition: all 0.3s;
}

.footer-newsletter-btn:hover {
  background: #fff;
  color: var(--orange);
  transform: translateY(-1px);
}

.footer-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 24px 0;
  font-size: 0.72rem;
  flex-wrap: wrap;
  gap: 16px;
}

@media (max-width: 640px) {
  .footer-bottom {
    justify-content: center;
    text-align: center;
  }
  .footer-bottom-left, .footer-bottom-center, .footer-bottom-right {
    width: 100%;
    justify-content: center;
  }
}
.footer-bottom-left {
  display: flex;
  align-items: center;
  gap: 6px;
  line-height: 1;
  white-space: nowrap;
}

.footer-bottom-flag {
  font-size: 1rem;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  vertical-align: middle;
}

.footer-bottom-center {
  display: flex;
  gap: 16px;
}

.footer-bottom-center a {
  color: rgba(255, 255, 255, 0.35);
  transition: color 0.2s;
}

.footer-bottom-center a:hover {
  color: var(--orange);
}

.footer-bottom-right {
  display: flex;
  gap: 8px;
  align-items: center;
}

.footer-payment {
  padding: 4px 10px;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.06);
  font-size: 0.65rem;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.4);
  letter-spacing: 0.02em;
}

.footer-totop {
  position: fixed;
  bottom: 24px;
  right: 24px;
  z-index: 90;
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: rgba(15, 23, 42, 0.8);
  border: 1px solid rgba(255, 255, 255, 0.08);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  color: #fff;
  font-size: 1.1rem;
  cursor: pointer;
  display: none;
  align-items: center;
  justify-content: center;
  transition: all 0.3s;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
}

.footer-totop:hover {
  background: rgba(255, 107, 53, 0.9);
  color: #fff;
  border-color: rgba(255, 107, 53, 0.4);
}

.footer-totop.vis {
  display: flex;
}

/* ===== CATEGORY SECTIONS ===== */
.categories-page {
  background: linear-gradient(180deg, var(--page-bg) 0%, #F0EFED 30%, var(--page-bg) 50%, #F0EFED 80%, var(--page-bg) 100%);
  padding-bottom: 80px;
}

.cat-section {
  padding: 0 0 64px;
  content-visibility: auto;
  contain-intrinsic-size: auto 800px;
}

.cat-section:first-child {
  padding-top: 36px;
}

.cat-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 24px;
}

.cat-head-title {
  font-family: var(--f-display);
  font-size: 1.65rem;
  color: var(--navy);
  font-weight: 700;
  letter-spacing: -0.01em;
}

.cat-head-link {
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--orange);
  display: inline-flex;
  align-items: center;
  gap: 4px;
  text-decoration: none;
  transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.2s;
  white-space: nowrap;
  flex-shrink: 0;
}

.cat-head-link:hover {
  transform: translateX(-4px);
}

.cat-head-link .arrow {
  display: inline-block;
  transition: none;
}

@media (max-width: 768px) {
  .cat-head {
    align-items: flex-start;
  }
  .cat-head-title {
    font-size: 1.3rem;
    line-height: 1.3;
  }
  .cat-head-link {
    margin-top: 4px;
  }
}
/* ===== PRODUCT GRIDS ===== */
.product-row-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-bottom: 20px;
}

.product-row-4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  margin-bottom: 20px;
}

.product-row-5 {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 12px;
  margin-bottom: 12px;
}

.product-row-4:last-child {
  margin-bottom: 0;
}

.product-row-3:last-child {
  margin-bottom: 0;
}

.product-row-5:last-child {
  margin-bottom: 0;
}

@media (max-width: 900px) {
  .product-row-3 {
    grid-template-columns: repeat(2, 1fr);
  }
  .product-row-4 {
    grid-template-columns: repeat(2, 1fr);
  }
  .product-row-5 {
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
  }
}
@media (max-width: 540px) {
  .product-row-3 {
    grid-template-columns: 1fr 1fr;
    gap: 14px;
  }
  .product-row-4 {
    grid-template-columns: 1fr 1fr;
    gap: 14px;
  }
  .product-row-5 {
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }
}
/* ===== LOAD MORE ===== */
.load-more-wrap {
  text-align: center;
  padding: 24px 0 0;
}

.btn-load {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 36px;
  border-radius: var(--r-full);
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--navy);
  border: 2px solid var(--slate-200);
  background: var(--white);
  transition: border-color 0.25s, background 0.25s, color 0.25s, transform 0.25s;
  cursor: pointer;
}

.btn-load:hover {
  border-color: var(--orange);
  background: var(--orange-50);
  color: var(--orange);
  transform: translateY(-2px);
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.04), 0 10px 24px rgba(0, 0, 0, 0.06);
}

.btn-load svg {
  width: 18px;
  height: 18px;
}

/* ===== ANIMATIONS ===== */
@keyframes fadeUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.reveal {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1), transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}

.reveal.vis {
  opacity: 1;
  transform: translateY(0);
}

/* ===== CTA BANNER ===== */
.cta-banner {
  background: linear-gradient(135deg, #080E1A 0%, #0F172A 50%, #162032 100%);
  border-radius: 20px;
  padding: 52px 40px;
  text-align: center;
  position: relative;
  overflow: hidden;
  margin: 0 0 0;
}

.cta-banner::before {
  content: "";
  position: absolute;
  top: -80px;
  right: -80px;
  width: 280px;
  height: 280px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 107, 53, 0.15), transparent 70%);
}

.cta-banner h2 {
  font-family: var(--f-display);
  font-size: clamp(1.4rem, 3vw, 1.9rem);
  color: var(--white);
  margin-bottom: 10px;
  position: relative;
  z-index: 2;
}

.cta-banner p {
  color: rgba(255, 255, 255, 0.5);
  max-width: 460px;
  margin: 0 auto 24px;
  position: relative;
  z-index: 2;
  font-size: 0.92rem;
}

.btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 28px;
  border-radius: var(--r-sm);
  font-size: 0.95rem;
  font-weight: 700;
  background: var(--orange);
  color: #fff;
  box-shadow: 0 4px 20px rgba(255, 107, 53, 0.25);
  transition: background 0.25s, transform 0.25s, box-shadow 0.25s;
  line-height: 1.2;
  border: none;
  cursor: pointer;
  position: relative;
  z-index: 2;
}

.btn-primary:hover {
  background: #fff;
  color: var(--orange);
  transform: translateY(-2px);
  box-shadow: 0 8px 32px rgba(255, 107, 53, 0.35);
}

.btn-primary svg {
  width: 18px;
  height: 18px;
}

@media (max-width: 640px) {
  .cta-banner {
    padding: 36px 20px;
    border-radius: 16px;
  }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}
.cat-count {
  font-family: var(--f-body);
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--slate-400);
  background: rgba(15, 23, 42, 0.04);
  padding: 3px 10px;
  border-radius: var(--r-full);
  vertical-align: middle;
  margin-left: 8px;
  letter-spacing: 0.02em;
}

@media (max-width: 768px) {
  .cat-count {
    display: block;
    margin-left: 0;
    margin-top: 6px;
    width: fit-content;
  }
}
/* Override pcard discount badge for orange */
.pcard-discount {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 5;
  padding: 4px 10px;
  border-radius: 8px;
  background: rgba(15, 23, 42, 0.88);
  color: var(--orange-light);
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.03em;
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.pcard-cart:hover {
  background: rgba(255, 107, 53, 0.95);
  color: #fff;
}

/* ===== PAGE HERO ===== */
.page-hero {
  padding: 28px 0 48px;
  background: linear-gradient(180deg, #0F172A 0%, #162032 60%, #1a2640 100%);
  position: relative;
  overflow: hidden;
  margin: 0;
  width: 100%;
}

.page-hero::before {
  content: "";
  position: absolute;
  top: -40%;
  right: -10%;
  width: 400px;
  height: 400px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 107, 53, 0.08), transparent 70%);
}

.page-hero-inner {
  text-align: center;
  position: relative;
  z-index: 2;
}

.page-hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 16px;
  background: rgba(255, 107, 53, 0.08);
  border: 1px solid rgba(255, 107, 53, 0.15);
  border-radius: var(--r-full);
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--orange-light);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: 16px;
}

.page-hero-badge-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--orange-light);
  box-shadow: 0 0 6px rgba(255, 107, 53, 0.5);
}

.page-hero h1 {
  font-family: var(--f-display);
  font-size: clamp(2rem, 5vw, 3.2rem);
  color: #F1F5F9;
  line-height: 1.1;
  margin-bottom: 12px;
  letter-spacing: -0.02em;
}

.page-hero h1 span {
  color: var(--orange-light);
}

.page-hero p {
  font-size: clamp(0.88rem, 1.3vw, 0.98rem);
  color: rgba(241, 245, 249, 0.4);
  max-width: 520px;
  margin: 0 auto;
  line-height: 1.7;
}

.cta-banner {
  background: linear-gradient(135deg, #080E1A 0%, #0F172A 50%, #162032 100%);
  border-radius: 20px;
  padding: 52px 40px;
  text-align: center;
  position: relative;
  overflow: hidden;
  margin: 0;
}

.cta-banner::before {
  display: none;
}

.cta-banner h2 {
  font-family: var(--f-display);
  font-size: clamp(1.4rem, 3vw, 1.9rem);
  color: var(--white);
  margin-bottom: 10px;
  position: relative;
  z-index: 2;
}

.cta-banner p {
  color: rgba(255, 255, 255, 0.5);
  max-width: 460px;
  margin: 0 auto 24px;
  position: relative;
  z-index: 2;
  font-size: 0.92rem;
}

.slv-search-product {
  top: 100%;
}

/*# sourceMappingURL=main.css.map*/