@charset "UTF-8";
/*! Typography settings */
@font-face{
  font-family:"DM Sans";
  src:url(../fonts/dm-sans-regular.woff2) format("woff2");
  font-weight:400;
  font-style:normal;
  font-display:fallback;
}
@font-face{
  font-family:"DM Sans";
  src:url(../fonts/dm-sans-medium.woff2) format("woff2");
  font-weight:500;
  font-style:normal;
  font-display:fallback;
}
@font-face{
  font-family:"DM Sans";
  src:url(../fonts/dm-sans-bold.woff2) format("woff2");
  font-weight:700;
  font-style:normal;
  font-display:fallback;
}
@font-face{
  font-family:"Futura PT Demi";
  src:url(../fonts/futura-pt-demi.woff2) format("woff2");
  font-weight:400;
  font-style:normal;
  font-display:fallback;
}
@font-face{
  font-family:"Futura PT Book";
  src:url(../fonts/futura-pt-book.woff2) format("woff2");
  font-weight:400;
  font-style:normal;
  font-display:fallback;
}
@font-face{
  font-family:"Marcellus";
  src:url(../fonts/marcellus-regular.woff2) format("woff2");
  font-weight:400;
  font-style:normal;
  font-display:fallback;
}
@font-face{
  font-family:"Marcellus SC";
  src:url(../fonts/marcellus-sc-regular.woff2) format("woff2");
  font-weight:400;
  font-style:normal;
  font-display:fallback;
}
@font-face{
  font-family:"Neue Machina";
  src:url(../fonts/neue-machina-regular.woff2) format("woff2");
  font-weight:400;
  font-style:normal;
  font-display:fallback;
}
@font-face{
  font-family:"Plus Jakarta Sans";
  src:url(../fonts/plus-jakarta-sans-medium.woff2) format("woff2");
  font-weight:500;
  font-style:normal;
  font-display:fallback;
}
:root{
  --font-dm:"DM Sans", sans-serif;
  --font-futura-demi:"Futura PT Demi", sans-serif;
  --font-futura-book:"Futura PT Book", sans-serif;
  --font-marcellus:"Marcellus", sans-serif;
  --font-marcellus-sc:"Marcellus SC", sans-serif;
  --font-neue:"Neue Machina", sans-serif;
  --font-jakarta:"Plus Jakarta Sans", sans-serif;
}

.f-dm-400{
  font-family:var(--font-dm);
  font-weight:400;
}

.f-dm-500{
  font-family:var(--font-dm);
  font-weight:500;
}

.f-dm-700{
  font-family:var(--font-dm);
  font-weight:700;
}

.f-futura-demi-400{
  font-family:var(--font-futura-demi);
  font-weight:400;
}

.f-futura-book-400{
  font-family:var(--font-futura-book);
  font-weight:400;
}

.f-marcellus-400{
  font-family:var(--font-marcellus);
  font-weight:400;
}

.f-marcellus-sc-400{
  font-family:var(--font-marcellus-sc);
  font-weight:400;
}

.f-neue-400{
  font-family:var(--font-neue);
  font-weight:400;
}

.f-jakarta-500{
  font-family:var(--font-jakarta);
  font-weight:500;
}

.critical-css-font-carrier{
  font-family:var(--font-dm), var(--font-futura-demi), var(--font-futura-book), var(--font-marcellus), var(--font-marcellus-sc), var(--font-neue), var(--font-jakarta);
}

.f-body{
  font-family:var(--text-body-ff);
  font-size:var(--text-body-fz);
  line-height:var(--text-body-lh);
}

/*! Initial styling for basic html-elements */
*,
::before,
::after{
  box-sizing:border-box;
}

*{
  padding:0;
  margin:0;
}
*:focus{
  outline:none;
}
*:not(input, textarea, .button):focus-visible{
  outline:1px dashed var(--tab-focus-color);
  outline-offset:0.5rem;
}

html{
  height:100%;
  font-family:system-ui, "-apple-system", "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
  font-size:10px;
  background-color:var(--html-bg-color);
  scroll-behavior:smooth;
  -webkit-tap-highlight-color:transparent;
  -webkit-text-size-adjust:100%;
}

body{
  --text-body-ff:var(--font-dm);
  --text-body-fz:1.6rem;
  --text-body-lh:1.5;
  display:flex;
  flex-direction:column;
  overflow-x:hidden;
  min-width:32rem;
  min-height:100%;
  height:auto;
  font-family:var(--text-body-ff);
  font-size:var(--text-body-fz);
  line-height:var(--text-body-lh);
  font-weight:400;
  color:var(--text-body-color);
  -webkit-font-smoothing:antialiased;
  font-variant-numeric:lining-nums;
}
body.no-transition *{
  transition:none !important;
}
body.no-transition *::before, body.no-transition *::after{
  transition:none !important;
}

p,
h1,
h2,
h3,
h4,
h5,
h6{
  overflow-wrap:break-word;
}

h1,
.h1,
h2,
.h2,
h3,
.h3{
  font-family:var(--font-marcellus);
  font-weight:500;
  text-transform:uppercase;
}

h1,
.h1{
  font-family:var(--font-marcellus);
  font-size:3rem;
  line-height:3.8rem;
  letter-spacing:0.05em;
  color:var(--color-grey-1);
}

.h1{
  margin-bottom:1rem;
}

h2,
.h2{
  font-size:2.4rem;
}

.h2{
  margin-bottom:1.2rem;
}

h3,
.h3{
  font-size:2rem;
}

.h3{
  margin-bottom:1rem;
}

.p{
  margin-bottom:1.6rem;
}

br.md-only{
  display:none;
}

br.lg{
  display:none;
}

ul,
ol{
  list-style:none;
  list-style-position:inside;
}

.ul,
.ol,
.p{
  margin-bottom:1.6rem;
}

a{
  --color:var(--content-link-color);
  --color-hover:var(--content-link-color-hover);
  --color-active:var(--content-link-color-active);
  text-decoration-color:transparent;
  color:var(--color);
  transition-property:var(--transition-props-color);
  transition-timing-function:var(--transition-func-cubic);
  transition-duration:var(--transition-duration-short);
}
a:hover, a:focus-visible{
  text-decoration-color:currentColor;
  color:var(--color-hover);
}
a:active{
  color:var(--color-active);
}
a[target]{
  text-decoration-color:currentColor;
}
a[target]:hover, a[target]:focus-visible{
  text-decoration-color:transparent;
}

button,
input,
optgroup,
select,
textarea{
  font-family:inherit;
  font-size:100%;
  line-height:var(--text-body-lh);
  font-weight:inherit;
  font-variant-numeric:inherit;
  color:inherit;
}

button,
select{
  text-transform:none;
  -webkit-user-select:none;
          user-select:none;
}

select{
  visibility:hidden;
}

button,
input[type=button],
input[type=reset],
input[type=submit]{
  -webkit-appearance:button;
}

button,
input[type=submit]{
  display:block;
}
button:hover,
input[type=submit]:hover{
  cursor:pointer;
}

input[type=search]{
  -webkit-appearance:textfield;
  outline-offset:-2px;
}

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

progress{
  vertical-align:baseline;
}

img,
picture,
video,
canvas,
svg{
  display:block;
  max-width:100%;
}

img{
  box-sizing:content-box;
  width:100%;
  height:100%;
  object-fit:cover;
}

.picture-svg img{
  width:revert-layer;
}

.inline-svg{
  pointer-events:none;
}

address{
  font-style:normal;
}

table{
  table-layout:fixed;
  text-indent:0;
  border-color:inherit;
  border-collapse:separate;
  border-spacing:0;
}

hr{
  display:block;
  height:0.1rem;
  border:none;
  background-color:var(--color-stroke);
  color:inherit;
}

.hr{
  height:0.1rem;
  border:none;
  background-color:var(--color-black);
}

abbr[title]{
  -webkit-text-decoration:underline dotted;
          text-decoration:underline dotted;
}

b,
strong{
  font-weight:bolder;
}

code,
kbd,
samp,
pre{
  font-family:ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", Menlo, monospace;
  font-size:1em;
}

small{
  font-size:80%;
}

sub,
sup{
  position:relative;
  vertical-align:baseline;
  font-size:75%;
  line-height:0;
}

sub{
  bottom:-0.25em;
}

sup{
  top:-0.5em;
}

summary{
  display:list-item;
}

iframe{
  border:none;
}

::-moz-focus-inner{
  padding:0;
  border-style:none;
}

:-moz-focusring{
  outline:1px dotted ButtonText;
}

:-moz-ui-invalid{
  box-shadow:none;
}

::-webkit-inner-spin-button,
::-webkit-outer-spin-button{
  height:auto;
}

::-webkit-search-decoration{
  -webkit-appearance:none;
}

::-webkit-file-upload-button{
  -webkit-appearance:button;
  font:inherit;
}

/*! Reusable utility classes */
.offscreen{
  position:absolute;
  overflow:hidden;
  width:1px;
  height:1px;
  padding:0;
  border:0;
  margin:-1px;
  clip:rect(0 0 0 0);
}

.ellipsis{
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}

.truncate-box{
  display:-webkit-box;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:5;
}

/*! Accordion component */
.accordion-button{
  position:relative;
  cursor:pointer;
}

.accordion-panel{
  display:grid;
  grid-template-rows:0fr;
  transition:grid-template-rows 0.2s ease-out;
}

.accordion-button[aria-expanded=true] + .accordion-panel{
  grid-template-rows:1fr;
}

.accordion-content{
  overflow:hidden;
}
.breadcrumb{
  margin-bottom:1rem;
  font-size:1.2rem;
  line-height:1.4rem;
  color:var(--color-gray-2);
}

.breadcrumb__list{
  display:flex;
  flex-wrap:wrap;
  row-gap:0.4rem;
}

.breadcrumb__item{
  display:flex;
  cursor:text;
}
.breadcrumb__item::after{
  content:"/";
  padding:0 0.4rem;
}
.breadcrumb__item:last-child::after{
  display:none;
}

.breadcrumb__link{
  text-decoration-color:transparent;
  color:inherit;
}
.breadcrumb__link:hover, .breadcrumb__link:focus-visible{
  color:var(--color-red);
}
.breadcrumb__link:active{
  color:inherit;
}
.breadcrumb__link--current-page{
  color:var(--color-grey-3);
  pointer-events:none;
}

/*! Buttons */
.button{
  --bg-color:transparent;
  --color:var(--color-white);
  position:relative;
  display:inline-flex;
  justify-content:center;
  align-items:center;
  gap:1rem;
  min-height:4.8rem;
  padding:0 2rem;
  border:none;
  font-size:1.4rem;
  line-height:2rem;
  font-weight:700;
  text-transform:uppercase;
  text-decoration:none;
  text-align:center;
  background-color:var(--bg-color);
  color:var(--color);
  transition-property:transform, opacity, var(--transition-props-color);
  transition-timing-function:var(--transition-func-cubic);
  transition-duration:var(--transition-duration-medium);
  cursor:pointer;
}
.button:hover, .button:focus-visible{
  background-color:var(--color-primary);
  color:var(--color);
}
.button:active{
  background-color:var(--bg-color);
  color:var(--color);
}
.button:active::after{
  opacity:0.5;
}
.button::after{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  background:linear-gradient(90deg, #c9b09a 0%, rgba(201, 176, 154, 0.25) 100%);
  transition:opacity var(--transition-medium-cubic);
}

.button--outlined{
  --color:var(--color-grey-1);
  height:4.6rem;
  border:1px solid transparent;
  background:linear-gradient(var(--color-dark) 0 0) padding-box, linear-gradient(90deg, #c9b09a 0%, rgba(201, 176, 154, 0.25) 100%) border-box;
}
.button--outlined::after{
  display:none;
}
.button--outlined:hover, .button--outlined:focus-visible{
  background:linear-gradient(var(--color-dark) 0 0) padding-box, linear-gradient(var(transparent) 0 0) border-box;
  background-color:var(--color-primary);
}
.button--outlined:active{
  opacity:0.5;
}
.button--outlined.button--dialog{
  background:linear-gradient(rgb(45, 46, 50) 0 0) padding-box, linear-gradient(90deg, #c9b09a 0%, rgba(201, 176, 154, 0.25) 100%) border-box;
}
.button--outlined.button--dialog:hover, .button--outlined.button--dialog:focus-visible, .button--outlined.button--dialog:active{
  background:linear-gradient(rgb(45, 46, 50) 0 0) padding-box, linear-gradient(var(transparent) 0 0) border-box;
  background-color:var(--color-primary);
}
.button--outlined.button--grey{
  background:linear-gradient(#202126 0 0) padding-box, linear-gradient(90deg, #c9b09a 0%, rgba(201, 176, 154, 0.25) 100%) border-box;
}
.button--outlined.button--grey:hover, .button--outlined.button--grey:focus-visible, .button--outlined.button--grey:active{
  background:linear-gradient(#202126 0 0) padding-box, linear-gradient(var(transparent) 0 0) border-box;
  background-color:var(--color-primary);
}

.button--more{
  width:100%;
}

.close-button{
  overflow:hidden;
  width:2.4rem;
  height:2.4rem;
  border:0;
  background-color:transparent;
  color:transparent;
  transition:opacity var(--transition-medium-cubic);
  -webkit-user-select:none;
          user-select:none;
}
.close-button:hover::before, .close-button:hover::after{
  background-color:#9e9b9b;
}
.close-button:active{
  opacity:0.6;
}
.close-button::before, .close-button::after{
  content:"";
  position:absolute;
  top:0;
  right:0;
  left:0;
  display:block;
  width:0.2rem;
  height:100%;
  margin:0 auto;
  background-color:#7c7c7c;
  transform:rotate(45deg) translateX(0);
  transition:background-color var(--transition-medium-cubic);
}
.close-button::after{
  transform:rotate(-45deg) translateX(0);
}

.copy-button{
  position:relative;
  display:flex;
  flex-shrink:0;
  justify-content:center;
  align-items:center;
  width:2.8rem;
  height:2.8rem;
  border:none;
  border-radius:0.6rem;
  background-position:center;
  background-repeat:no-repeat;
  background-color:transparent;
  transition:background-color var(--transition-medium-cubic), transform var(--transition-medium-cubic);
}
.copy-button:hover, .copy-button:focus-visible{
  background-color:var(--color-grey-3);
}
.copy-button:active{
  transform:translateY(0.2rem);
}
.copy-button .icon{
  font-size:2rem;
}
.copy-button .button-text{
  position:absolute;
  top:-5rem;
  left:-8rem;
  display:none;
  align-items:center;
  gap:2rem;
  min-height:4.4rem;
  padding:1.3rem 2rem 1.3rem 4.9rem;
  border-radius:1rem;
  font-size:1.5rem;
  line-height:2rem;
  font-weight:500;
  background-image:url(../svg/icons/check.svg);
  background-position:center left 2rem;
  background-repeat:no-repeat;
  background-color:#383434;
  color:var(--color-white);
  animation:tooltip-appear 0.2s cubic-bezier(0.33, 1, 0.68, 1);
  -webkit-user-select:none;
          user-select:none;
}
.copy-button .button-text::after{
  content:"";
  position:absolute;
  bottom:-0.7rem;
  left:calc(50% + 2.6rem);
  width:0;
  height:0;
  border-width:0.7rem 0.6rem 0 0.6rem;
  border-style:solid;
  border-color:#383434 transparent transparent transparent;
  transform:rotate(0deg);
}
.copy-button .button-text.is-visible{
  display:flex;
}

@keyframes tooltip-appear{
  0%{
    opacity:0;
    transform:translateY(0.6rem);
  }
}
/*! Categories nav */
.cat-nav{
  position:absolute;
  top:11.3rem;
  z-index:100;
  display:none;
  width:calc(100% - 3rem);
  max-width:125rem;
  max-height:calc(80vh - 2rem);
  background:rgba(255, 255, 255, 0.1);
  -webkit-backdrop-filter:blur(40px);
          backdrop-filter:blur(40px);
}
.cat-nav.is-visible{
  display:flex;
}
.cat-nav .nav-container{
  position:relative;
  display:flex;
  flex-grow:1;
}
.cat-nav .nav__heading{
  margin-bottom:0.1rem;
  font-family:var(--font-marcellus);
  font-size:2.4rem;
  line-height:3rem;
  letter-spacing:0.05em;
  text-transform:uppercase;
}
.cat-nav .nav__list{
  overflow:auto;
  flex-direction:column;
  align-items:initial;
  gap:0;
  width:24rem;
  max-height:96rem;
}
.cat-nav .nav__list > .nav__item{
  border-bottom:1px solid transparent;
}
.cat-nav .nav__list > .nav__item > .nav__link{
  width:100%;
  padding:0.9rem 2rem 1rem;
  font-size:1.5rem;
  line-height:2rem;
  font-weight:500;
  border-bottom:1px solid var(--color-stroke);
}
.cat-nav .nav__list > .nav__item > .nav__link.is-active{
  text-decoration:none;
}
.cat-nav .nav__list > .nav__item > .nav__link.is-active .icon{
  top:0.1rem;
}
.cat-nav .nav__link{
  --color:var(--color-grey-1);
  --color-hover:var(--color-primary);
  --color-active:var(--color-primary-dim);
}
.cat-nav .nav__link .icon{
  margin-left:auto;
  font-size:2rem;
  transform:rotate(270deg) !important;
}
.cat-nav .nav__sublist{
  position:absolute;
  top:0;
  overflow:auto;
  visibility:hidden;
  flex-wrap:wrap;
  padding:2rem;
  margin:0;
  background-color:transparent;
  box-shadow:none;
}
.cat-nav .nav__sublist.is-visible{
  visibility:visible;
}
.cat-nav .nav__sublist .nav__link{
  width:calc(100% + 4rem);
  padding:0.9rem 2rem 1rem;
  margin-left:-2rem;
  font-size:1.5rem;
  line-height:2rem;
  font-weight:500;
  border-bottom:1px solid var(--color-stroke);
}
.cat-nav .sublist-4-col{
  display:flex;
  flex-direction:row;
  justify-content:space-between;
  column-gap:4rem;
  width:calc(100% - 24rem);
}
.cat-nav .grid-sublist-4-col{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(21rem, 1fr));
  column-gap:0;
  width:calc(100% - 38rem);
}
.cat-nav .nav__item--return{
  padding-top:0 !important;
  margin-bottom:-0.3rem;
}
.cat-nav .nav__mobile-return{
  position:relative;
  left:-0.7rem;
  display:inline-flex;
  align-items:center;
  gap:0.3rem;
  border:none;
  margin-bottom:0.1rem;
  font-family:var(--font-marcellus);
  font-size:2.4rem;
  line-height:3rem;
  letter-spacing:0.05em;
  text-transform:uppercase;
  text-align:left;
  background-color:transparent;
  color:var(--color-grey-1);
  transition:color var(--transition-medium-cubic);
}
.cat-nav .nav__mobile-return:hover, .cat-nav .nav__mobile-return:focus-visible{
  color:var(--color-primary);
}
.cat-nav .nav__mobile-return:active{
  color:var(--color-primary-hover);
}
.cat-nav .nav__mobile-return .icon{
  font-size:2.4rem;
  color:var(--color-primary);
  transform:rotate(90deg);
}
.cat-nav .nav-col{
  display:flex;
  flex-direction:column;
  gap:1.5rem;
}
.cat-nav .nav__close-button{
  position:absolute;
  top:1rem;
  right:1rem;
  z-index:1;
  width:2.4rem;
  height:2.4rem;
  border:none;
  background-image:url(../svg/icons/close.svg);
  background-position:center;
  background-repeat:no-repeat;
  background-color:transparent;
  opacity:0.25;
  transition:opacity var(--transition-medium-cubic);
}
.cat-nav .nav__close-button:hover, .cat-nav .nav__close-button:focus-visible{
  opacity:0.4;
}
.cat-nav .nav__close-button:active{
  opacity:0.5;
}

@keyframes cat-sublist-appear{
  0%{
    opacity:0;
    transform:translateY(-1.6rem);
  }
}
.cat-overlay.is-visible{
  transition:var(--transition-overlay);
}

body.is-fixed{
  position:fixed;
  width:100%;
}

body.has-scroll{
  overflow-y:scroll;
  overflow-x:unset;
}
.custom-select-container{
  flex-grow:1;
  border:1px solid var(--color-primary-20);
  border-radius:1rem;
  font-size:1.4rem;
  -webkit-user-select:none;
          user-select:none;
}
.custom-select-container select{
  width:1rem;
}

.custom-select-opener{
  position:relative;
  z-index:2;
  overflow:hidden;
  display:flex;
  align-items:center;
  width:100%;
  height:4.8rem;
  padding-left:2rem;
  border-bottom:1px solid var(--color-stroke);
  border-radius:0;
  font-size:1.52rem;
  line-height:2rem;
  color:var(--color-grey-2);
}
.custom-select-opener:hover{
  border-color:rgba(255, 255, 255, 0.3);
}

.custom-select-opener[aria-expanded=true]{
  z-index:4;
}

.custom-select-panel{
  --offset-y:-0.1rem;
  --translate-x:0%;
  top:calc(100% + var(--offset-y));
  left:50%;
  z-index:1;
  display:none;
  padding:0;
  border-radius:0;
  background:rgba(44, 45, 49, 0.8);
  -webkit-backdrop-filter:blur(10px);
          backdrop-filter:blur(10px);
  box-shadow:none;
  transform:translate3d(var(--translate-x), var(--offset-y), 0);
}

.select-wrapper .custom-select-panel{
  left:-0.1rem;
  width:calc(100% + 0.2rem);
}

.custom-select-container.is-open .custom-select-panel{
  z-index:5;
  display:block;
  max-height:24rem;
  animation:select-panel-appear 0.2s cubic-bezier(0.33, 1, 0.68, 1);
}
.custom-select-container.is-open + .select-wrapper__chevron{
  color:var(--color-secondary);
  transform:rotate(-180deg);
}

@keyframes select-panel-appear{
  from{
    opacity:0;
    transform:translate3d(var(--translate-x), -1.2rem, 0);
  }
  to{
    opacity:1;
    transform:translate3d(var(--translate-x), var(--offset-y), 0);
  }
}
@keyframes hide-scroll{
  from, to{
    overflow:hidden;
  }
}
.custom-select-option{
  position:relative;
  padding:1rem 2rem;
  font-size:1.3rem;
  font-weight:500;
  transition:background var(--transition-short-cubic), background-color var(--transition-short-cubic), color var(--transition-short-cubic);
}
.custom-select-option:not(:last-child)::after{
  content:"";
  position:absolute;
  bottom:0;
  left:0;
  width:100%;
  height:1px;
  background-color:var(--color-stroke);
}
.custom-select-option.has-focus{
  background-color:transparent;
}
.custom-select-option.has-focus:hover, .custom-select-option.has-focus:focus-visible{
  background:linear-gradient(90deg, #c9b09a 0%, rgba(201, 176, 154, 0.25) 100%);
  color:var(--color-white);
}

.custom-select-option[data-value=""]{
  display:none;
}

/*! Pop-ups & modal dialogs */
.dialog-container{
  justify-content:center;
  align-items:center;
  min-width:32rem;
  width:100%;
  max-width:100vw;
  height:100%;
  max-height:100vh;
  max-height:100dvh;
  border:none;
  background-color:transparent;
  color:var(--text-body-color);
  cursor:pointer;
}
.dialog-container[data-modal=false]{
  margin-top:10rem;
}

.dialog-container[open]{
  display:flex;
  animation:dialogSlideInUp 0.25s cubic-bezier(0.71, 1.7, 0.77, 1.24) forwards;
}

.dialog-container.close{
  animation:dialogSlideOutDown 0.25s ease backwards;
}

@keyframes dialogSlideInUp{
  from{
    opacity:0;
    transform:translate3d(0, 4rem, 0);
  }
  to{
    opacity:1;
    transform:translate3d(0, 0, 0);
  }
}
@keyframes dialogSlideOutDown{
  from{
    opacity:1;
    transform:translate3d(0, 0, 0);
  }
  to{
    opacity:0;
    transform:translate3d(0, 8rem, 0);
  }
}
.dialog-container[open]::backdrop{
  background-color:var(--color-overlay-bg);
  animation:backdropFadeIn 0.3s ease forwards;
}

.dialog-container.close::backdrop{
  animation:backdropFadeOut 0.3s ease backwards;
}

@keyframes backdropFadeIn{
  from{
    background-color:transparent;
  }
  to{
    background-color:var(--color-overlay-bg);
  }
}
@keyframes backdropFadeOut{
  from{
    background-color:var(--color-overlay-bg);
  }
  to{
    background-color:transparent;
  }
}
.dialog{
  --horizontal-margin:2rem;
  position:relative;
  z-index:1000;
  min-width:32rem;
  width:calc(100% - var(--horizontal-margin) * 2);
  max-width:56.2rem;
  height:fit-content;
  padding:3rem;
  border-radius:0;
  margin:auto;
  background:rgba(45, 46, 50, 0.95);
  cursor:initial;
}
.dialog .form__submit{
  width:100%;
}

.dialog__close-button{
  position:absolute;
  top:1rem;
  right:1rem;
}

.dialog__title{
  font-family:var(--font-marcellus);
  font-size:2.5rem;
  line-height:3.1rem;
  letter-spacing:0.05em;
  text-transform:uppercase;
  text-align:center;
}

.dialog__note{
  margin-top:1rem;
  font-size:1.2rem;
  line-height:1.6rem;
  text-align:center;
}
.dialog-container[data-name=call] .dialog{
  max-width:36rem;
  padding:3rem;
}

.form.callback-form,
.form.callback-push-form{
  --placeholder-color:var(--color-grey-1);
  align-items:center;
  gap:0;
}
.form.callback-form .form__field,
.form.callback-push-form .form__field{
  gap:0;
}
.form.callback-form .text-field,
.form.callback-push-form .text-field{
  position:relative;
  margin:2rem 0;
}
.form.callback-form .text-field::after,
.form.callback-push-form .text-field::after{
  content:"";
  position:absolute;
  bottom:0;
  left:0;
  width:100%;
  height:1px;
  background:var(--color-stroke);
}
.form.callback-form .text-field:has(.just-validate-error-field)::before,
.form.callback-push-form .text-field:has(.just-validate-error-field)::before{
  content:"";
  position:absolute;
  top:50%;
  right:0;
  width:3rem;
  height:3rem;
  background-image:url(../svg/icons/error-validation.svg);
  background-size:contain;
  transform:translateY(-50%);
}
.form.callback-form .text-field:has(.just-validate-error-field)::after,
.form.callback-push-form .text-field:has(.just-validate-error-field)::after{
  background:var(--color-red);
}
.form.callback-form .text-field:has(.just-validate-success-field)::before,
.form.callback-push-form .text-field:has(.just-validate-success-field)::before{
  content:"";
  position:absolute;
  top:50%;
  right:0;
  width:3rem;
  height:3rem;
  background-image:url(../svg/icons/success-validation.svg);
  background-size:contain;
  transform:translateY(-50%);
}
.form.callback-form .text-field:has(.just-validate-success-field)::after,
.form.callback-push-form .text-field:has(.just-validate-success-field)::after{
  background:rgba(83, 172, 71, 0.1);
}
.form.callback-form .text-field .just-validate-error-label,
.form.callback-push-form .text-field .just-validate-error-label{
  display:none;
}
.form.callback-form .iti,
.form.callback-push-form .iti{
  display:flex;
  width:fit-content;
  margin:0 auto;
}
.form.callback-form .input-tel,
.form.callback-push-form .input-tel{
  width:24rem;
  border-bottom:none;
}
.form.callback-form .submit-field,
.form.callback-push-form .submit-field{
  flex-direction:row;
}

.form__field.callback-push-submit{
  display:flex;
  flex-direction:row;
  justify-content:center;
  align-items:center;
  gap:1rem !important;
}
.form__field.callback-push-submit .button{
  flex:1;
}

.dialog-container[data-name=call-push] .dialog{
  max-width:50rem;
}
.dialog-container[data-name=call-push] .dialog__title{
  font-size:2.5rem;
  line-height:3.1rem;
}

/*! Scrollable & draggable mobile nav */
.drag-nav{
  --height:2.2rem;
  width:100%;
  max-width:100%;
  height:var(--height);
  -webkit-user-select:none;
          user-select:none;
  overflow-y:hidden;
}

.drag-nav-container{
  overflow-x:auto;
  overflow-y:hidden;
  height:calc(var(--height) + 2rem);
  padding-bottom:2rem;
}
.drag-nav-container.is-dragging a{
  pointer-events:none;
}
.dropdown{
  position:relative;
  display:flex;
}
.dropdown.is-active{
  z-index:10;
}

.dropdown-container{
  position:absolute;
  top:calc(100% + 0.4rem);
  left:50%;
  z-index:10;
  visibility:hidden;
  display:flex;
  gap:1.6rem;
  min-width:11.8rem;
  width:fit-content;
  max-height:0;
  padding:0;
  border-radius:0;
  background-color:rgba(255, 255, 255, 0.1);
  opacity:1;
  transform:translateY(0.8rem);
  -webkit-backdrop-filter:blur(70px);
          backdrop-filter:blur(70px);
}
.dropdown-container.is-visible{
  visibility:visible;
  max-height:initial;
  animation:dropdown-container-appear 0.2s;
}
.dropdown-container.is-visible .dropdown-list{
  display:flex;
}

@keyframes dropdown-container-appear{
  from{
    visibility:hidden;
    opacity:0;
    transform:translateY(-1.2rem);
  }
  to{
    visibility:visible;
    opacity:1;
    transform:translateY(0.8rem);
  }
}
.dropdown-list{
  display:none;
  flex-grow:1;
  flex-direction:column;
  width:100%;
}

.dropdown-list .header-nav-link{
  --color:var(--color-grey-1);
  --color-hover:var(--color-primary);
  --color-active:var(--color-primary);
  position:relative;
  display:inline-block;
  width:100%;
  height:initial;
  padding:1rem 2rem;
  text-decoration:none;
  text-align:center;
}
.dropdown-list .header-nav-link:hover, .dropdown-list .header-nav-link:focus-visible{
  background-color:transparent;
}
.dropdown-list .header-nav-link::after{
  content:"";
  position:absolute;
  bottom:0;
  left:0;
  width:100%;
  height:1px;
  background-color:var(--color-stroke);
}

.dropdown-list .greedy-item:last-child .header-nav-link::after{
  display:none;
}

/*! Forms and their elements */
.form{
  --border-width:0.1rem;
  --border-radius:0;
  --border-color:var(--color-stroke);
  --border-color-hover:rgba(255, 255, 255, 30%);
  --border-color-focus:rgba(255, 255, 255, 30%);
  --input-height:4.8rem;
  --input-padding:0 4rem 0 2rem;
  --placeholder-color:rgba(201, 201, 201, 0.5);
  --bg-color:transparent;
  display:flex;
  flex-direction:column;
  gap:1rem;
}

.form-panel{
  display:flex;
  flex-direction:column;
  gap:1.5rem;
  padding:1.9rem;
  border:1px solid var(--color-stroke);
  background-color:rgba(255, 255, 255, 0.05);
}

.form__fieldset{
  display:flex;
  flex-direction:column;
  gap:1.6rem;
  border:0;
}

.fieldset-panel{
  display:flex;
  flex-direction:column;
  gap:2rem;
  padding:2rem;
  border-radius:1.4rem;
}

.form-legend{
  position:relative;
  top:-2.1rem;
  left:-2rem;
  float:left;
  width:calc(100% + 4rem);
  min-height:5.8rem;
  padding:1.8rem 2rem;
  margin-bottom:-2.1rem;
  font-family:var(--font-marcellus);
  font-size:2rem;
  line-height:1.9rem;
  text-transform:uppercase;
  background-color:var(--color-grey-3);
}

.form__footnote{
  font-size:1.3rem;
  line-height:1;
}

.form__field{
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:center;
  width:100%;
}

.form__label{
  display:block;
  order:-1;
  font-family:var(--font-neue);
  font-size:1.3rem;
  line-height:1;
}

.text-input-wrapper{
  position:relative;
  display:block;
}

.form__text-input{
  width:100%;
  min-height:var(--input-height);
  padding:var(--input-padding);
  border:none;
  border-bottom:var(--border-width) solid var(--border-color);
  border-radius:var(--border-radius);
  font-size:1.5rem;
  line-height:1.4rem;
  background-color:var(--bg-color);
  color:var(--color-grey-2);
  transition:border-color var(--transition-medium-cubic);
}
.form__text-input:hover{
  border-color:var(--border-color-hover);
}
.form__text-input:focus-visible{
  border-color:var(--border-color-focus);
  outline:none;
}
.form__text-input:focus-visible::placeholder{
  opacity:0;
}
.form__text-input::placeholder{
  color:var(--placeholder-color);
  opacity:1;
}

.input-textarea{
  display:block;
  min-height:12rem;
  max-height:24rem;
  padding:1rem 2rem;
  resize:none;
}

.file-field{
  flex-direction:row;
  align-items:center;
  gap:1rem;
  min-height:var(--input-height);
  padding:var(--input-padding);
  border:var(--border-width) solid var(--border-color);
  border-radius:var(--border-radius);
  background-color:var(--bg-color);
  transition:border-color var(--transition-medium-cubic);
}
.file-field:hover{
  border-color:var(--border-color-hover);
}
.file-field:focus-within{
  border-color:var(--border-color-focus);
}

.input-file{
  position:absolute;
  top:calc(var(--border-width) * -1);
  left:calc(var(--border-width) * -1);
  z-index:1;
  width:calc(100% + var(--border-width) * 2);
  height:calc(100% + var(--border-width) * 2);
  font-size:0;
  opacity:0;
  cursor:pointer;
}
.input-file::-webkit-file-upload-button{
  cursor:pointer;
}

.label-file{
  order:initial;
}

.checkbox-field{
  --checkbox-size:3.2rem;
  z-index:0;
  justify-content:center;
  min-height:var(--input-height);
}

.input-checkbox{
  position:absolute;
  z-index:-1;
  opacity:0;
}
.input-checkbox:focus-visible + .label-checkbox .checkbox-input-control{
  border-color:var(--border-color-focus);
}
.input-checkbox:checked + .label-checkbox .checkbox-input-control::before{
  transform:translatey(-50%) scale(0.9) rotate(45deg);
}

.label-checkbox{
  margin-left:calc(var(--checkbox-size) + 1.8rem);
  -webkit-user-select:none;
          user-select:none;
  cursor:pointer;
}
.label-checkbox:hover .checkbox-input-control{
  border-color:var(--border-color-hover);
}
.label-checkbox:active .checkbox-input-control{
  border-color:var(--border-color-focus);
}
.label-checkbox a{
  display:inline;
}

.checkbox-input-control{
  position:absolute;
  top:50%;
  left:0;
  width:var(--checkbox-size);
  height:var(--checkbox-size);
  border:1px solid var(--border-color);
  background-color:var(--bg-color);
  transform:translateY(-50%);
  transition:border-color var(--transition-medium-cubic);
}
.checkbox-input-control::before{
  content:"";
  position:absolute;
  top:calc(50% - 0.3rem);
  left:1.1rem;
  width:1rem;
  height:2rem;
  border-right:2px solid var(--color-black);
  border-bottom:2px solid var(--color-black);
  transform:translateY(-50%) scale(0) rotate(45deg);
}

.form__fieldset.radio-fieldset{
  flex-direction:column;
}

.radio-legend{
  margin-bottom:1rem;
  font-size:2rem;
  font-weight:500;
}

.radio-field{
  --radio-size:2.4rem;
  --check-size:1.4rem;
  --check-color:var(--color-black);
  z-index:0;
  justify-content:center;
  min-height:calc(var(--radio-size) + 0.4rem);
}

.input-radio{
  position:absolute;
  z-index:-1;
  opacity:0;
}
.input-radio:focus-visible + .label-radio .radio-input-control{
  border-color:var(--border-color-focus);
}
.input-radio:checked + .label-radio .radio-input-control::before{
  transform:scale(1);
}

.label-radio{
  margin-left:calc(var(--radio-size) + 1.6rem);
  -webkit-user-select:none;
          user-select:none;
  cursor:pointer;
}
.label-radio:hover .radio-input-control{
  border-color:var(--border-color-hover);
}
.label-radio:active .radio-input-control{
  border-color:var(--border-color-focus);
}
.label-radio a{
  display:inline;
}

.radio-input-control{
  position:absolute;
  top:50%;
  left:0;
  display:flex;
  justify-content:center;
  align-items:center;
  width:var(--radio-size);
  height:var(--radio-size);
  border:1px solid var(--border-color);
  border-radius:50%;
  background-color:var(--bg-color);
  transform:translateY(-50%);
  transition:border-color var(--transition-medium-cubic);
}
.radio-input-control::before{
  content:"";
  width:var(--check-size);
  height:var(--check-size);
  border-radius:50%;
  background-color:var(--check-color);
  transform:scale(0);
}

.form__submit{
  align-self:flex-start;
  text-transform:uppercase;
}

.form__caption{
  font-size:1.6rem;
  line-height:2.2rem;
  font-weight:500;
}
.form__caption p:not(:last-child){
  margin-bottom:1rem;
}

.qty-input{
  --height:3rem;
  display:flex;
  align-items:center;
  width:100%;
  max-width:9.7rem;
}

.qty-input__label{
  flex-grow:1;
  height:var(--height);
}

.qty-input__qty-field{
  width:100%;
  height:var(--height);
  border:none;
  font-size:1.6rem;
  font-weight:500;
  text-align:center;
  background-color:transparent;
}

.qty-input__minus,
.qty-input__plus{
  position:relative;
  display:flex;
  flex-shrink:0;
  justify-content:center;
  align-items:center;
  width:var(--height);
  height:var(--height);
  border:none;
  background-color:transparent;
  color:transparent;
  transition:background-color var(--transition-medium-cubic), opacity var(--transition-medium-cubic);
  -webkit-user-select:none;
          user-select:none;
}
.qty-input__minus:hover, .qty-input__minus:focus-visible,
.qty-input__plus:hover,
.qty-input__plus:focus-visible{
  background-color:var(--color-primary);
}
.qty-input__minus:active,
.qty-input__plus:active{
  opacity:0.5;
}
.qty-input__minus::after,
.qty-input__plus::after{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  background:linear-gradient(90deg, #c9b09a 0%, rgba(201, 176, 154, 0.25) 100%);
  transition:opacity var(--transition-medium-cubic);
}
.qty-input__minus .icon,
.qty-input__plus .icon{
  font-size:1.6rem;
}

.form-radio-wrapper{
  position:relative;
  width:100%;
  transition:opacity var(--transition-medium-cubic);
}
.form-radio-wrapper:hover .form-radio::before, .form-radio-wrapper:focus-visible .form-radio::before{
  border-color:var(--color-primary);
}
.form-radio-wrapper:hover .form-radio__title, .form-radio-wrapper:focus-visible .form-radio__title{
  opacity:0.7;
}
.form-radio-wrapper:active .form-radio::before{
  border-color:var(--color-primary-dim);
}
.form-radio-wrapper:active .form-radio__title{
  opacity:1;
}

.form-radio-input{
  position:absolute;
  visibility:hidden;
}
.form-radio-input:checked + .form-radio::before{
  border:none;
  background-image:url(../svg/icons/done.svg);
  background-size:contain;
}

.form-radio{
  position:relative;
  display:flex;
  flex-direction:column;
  height:100%;
  padding-top:4.4rem;
  cursor:pointer;
}
.form-radio::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:3.4rem;
  height:3.4rem;
  border:1px solid transparent;
  background:linear-gradient(var(--color-dark) 0 0) padding-box, linear-gradient(90deg, #c9b09a 0%, rgba(201, 176, 154, 0.25) 100%) border-box;
  background-size:contain;
  transition:border-color var(--transition-medium-cubic);
}

.form-radio__title{
  display:inline-flex;
  align-items:center;
  gap:1rem;
  margin-bottom:0.5rem;
  font-size:1.6rem;
  line-height:1.5rem;
  font-weight:500;
}
.form-radio__title:has(~ .form-radio__price){
  padding-right:4.4rem;
}
.form-radio__title .icon{
  font-size:2rem;
}

.form-radio__text{
  font-size:1.2rem;
  line-height:1.4rem;
  font-weight:500;
}

.form-radio__price{
  position:absolute;
  top:4.8rem;
  right:0.6rem;
  font-size:1.5rem;
  line-height:1.4rem;
  color:var(--color-red);
}

.order-option__checkbox{
  position:relative;
}

.form__checkbox{
  position:absolute;
  visibility:hidden;
}
.form__checkbox:checked + .form__label--checkbox::before{
  border:none;
  background-image:url(../svg/icons/done.svg);
  background-size:contain;
}

.form__label--checkbox{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:0.2rem;
  min-height:3.4rem;
  padding-left:4.4rem;
  -webkit-user-select:none;
  user-select:none;
  cursor:pointer;
}
.form__label--checkbox:hover .form__label-title, .form__label--checkbox:focus-visible .form__label-title{
  opacity:0.7;
}
.form__label--checkbox:hover::before, .form__label--checkbox:focus-visible::before{
  border-color:var(--color-primary);
}
.form__label--checkbox:active::before{
  border-color:var(--color-primary-dim);
}
.form__label--checkbox::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:3.4rem;
  height:3.4rem;
  border:1px solid transparent;
  background:linear-gradient(var(--color-dark) 0 0) padding-box, linear-gradient(90deg, #c9b09a 0%, rgba(201, 176, 154, 0.25) 100%) border-box;
  background-size:contain;
  transition:border-color var(--transition-medium-cubic);
}

.form__label-title{
  position:relative;
  top:-0.2rem;
  font-family:var(--font-dm);
  font-size:1.6rem;
  line-height:1;
  font-weight:500;
}

.form__label-text{
  font-family:var(--font-dm);
  font-size:1.2rem;
  line-height:1.4rem;
  font-weight:500;
}

.captcha-label{
  display:block;
  margin-bottom:1rem;
}

.captcha-wrapper{
  display:flex;
  align-items:center;
  gap:1rem;
}
.captcha-wrapper .form__label{
  max-width:25.3rem;
}
.captcha-wrapper .form__text-input{
  padding-right:1rem;
}

.captcha-img{
  flex-shrink:0;
  width:10rem;
  height:4.8rem;
  background-image:url(../images/layout/captcha-100w.jpg);
  background-position:center;
  background-size:contain;
}

.password-toggler{
  --icon-size:2.4rem;
  position:absolute;
  top:calc(var(--input-height) / 2 - var(--icon-size) / 2);
  right:1.8rem;
  width:var(--icon-size);
  height:var(--icon-size);
  border:none;
  background-position:center;
  background-repeat:no-repeat;
  background-color:transparent;
  opacity:0.6;
}
.password-toggler:hover, .password-toggler:focus-visible{
  opacity:1;
}
.password-toggler + .input-password{
  padding-right:5rem;
}
.select-wrapper{
  position:relative;
  width:100%;
  min-height:4.8rem;
}
.select-wrapper__chevron.icon{
  position:absolute;
  top:1.7rem;
  right:2rem;
  z-index:4;
  font-size:1.5rem;
  transition:transform var(--transition-medium-cubic), color var(--transition-medium-cubic);
  pointer-events:none;
}
.reset-password-fieldset{
  justify-content:space-between;
}
.reset-password-fieldset .form__field{
  width:initial;
}
.greedy-nav{
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:center;
  width:100%;
}

.greedy-items{
  overflow:hidden;
  display:inline-flex;
  align-items:center;
  gap:0;
}
.greedy-items > .greedy-item{
  padding-right:1rem;
  white-space:nowrap;
}
.greedy-items > .greedy-item:last-child{
  padding-right:0;
}

.greedy-item{
  white-space:nowrap;
}

.greedy-button{
  width:1.8rem;
  height:1.8rem;
}
.greedy-button:not(.is-visible){
  display:none;
}

/*! Icons */
.icon{
  display:inline-block;
  flex-shrink:0;
  font-size:1.8rem;
}

.icon--grad{
  -webkit-mask-image:linear-gradient(90deg, #c9b09a 0%, rgba(201, 176, 154, 0.25) 100%);
          mask-image:linear-gradient(90deg, #c9b09a 0%, rgba(201, 176, 154, 0.25) 100%);
  color:var(--color-primary);
}
.iti--show-selected-dial-code .iti__selected-country{
  background-color:transparent;
}

.iti__arrow{
  width:1.5rem;
  height:1.5rem;
  border:none;
  background-image:url(../svg/icons/fi-rr-angle-small-down.svg);
  background-position:center;
  background-repeat:no-repeat;
}

.iti__country-list{
  width:calc(100% - 0.5rem);
}

:root{
  --iti-spacer-horizontal:20px;
  --iti-hover-color:transparent;
}

.iti--inline-dropdown .iti__dropdown-content{
  border:none;
  border-radius:0;
  background-color:rgba(45, 46, 50, 0.95);
  box-shadow:none;
}

.iti__search-input{
  background-color:rgb(39, 40, 44);
}

.iti__country{
  transition:color var(--transition-medium-cubic);
}
.iti__country:hover{
  color:var(--color-white);
}

/*! Links */
.link{
  --td-color:currentColor;
  --td-color-hover:transparent;
  --color:var(--color-primary);
  --color-hover:var(--color-primary);
  --color-active:var(--color-primary-dim);
  display:inline-flex;
  align-items:center;
  border:none;
  line-height:inherit;
  font-weight:inherit;
  text-decoration:underline;
  text-decoration-color:var(--td-color);
  background-color:transparent;
  color:var(--color);
  transition-property:transform, opacity, var(--transition-props-color);
  transition-timing-function:var(--transition-func-cubic);
  transition-duration:var(--transition-duration-short);
}
.link:hover, .link:focus-visible{
  text-decoration-color:var(--td-color-hover);
  color:var(--color-hover);
}
.link:active{
  color:var(--color-active);
}
.link--inline{
  display:inline;
}

/*! Nav component rules */
.nav__list{
  display:flex;
  align-items:center;
  gap:3rem;
  padding-left:0;
  margin-bottom:0;
}

.nav__item{
  position:relative;
  margin-bottom:0;
}

.nav__link{
  display:inline-flex;
  align-items:center;
  font-weight:500;
  text-decoration:none;
}
.nav__link .icon{
  margin-left:0.6rem;
  font-size:2.2rem;
  transition:transform var(--transition-medium-cubic);
}

.nav__sublist{
  overflow:hidden;
  display:flex;
  flex-direction:column;
  gap:2rem;
  max-height:0;
  margin-bottom:0;
  transition:max-height 0.2s linear;
}
.nav__sublist-toggler.is-active .icon{
  transform:rotate(180deg);
}

.nav__sublist .nav__link{
  display:block;
  text-decoration-color:transparent;
}

@keyframes sublist-appear{
  0%{
    opacity:0;
    transform:translateY(-1.6rem) translateX(-50%);
  }
}
/*! Main navbar component */
.navbar{
  display:flex;
}

.navbar-toggler{
  display:none;
}
/*! Overlay component */
.overlay{
  position:fixed;
  top:0;
  left:0;
  z-index:99;
  visibility:hidden;
  width:100%;
  height:100%;
  background-color:var(--color-overlay-bg);
  opacity:0;
  transition:var(--transition-overlay);
  cursor:pointer;
}

.overlay.is-visible{
  visibility:visible;
  opacity:1;
}

.dialog-overlay{
  z-index:100;
}
.iti--inline-dropdown .iti__country-list::-webkit-scrollbar,
.custom-select-panel::-webkit-scrollbar,
.cat-nav .nav__list::-webkit-scrollbar,
.cat-nav .nav__sublist::-webkit-scrollbar,
.input-textarea::-webkit-scrollbar{
  width:0.6rem;
}
.iti--inline-dropdown .iti__country-list::-webkit-scrollbar-track,
.custom-select-panel::-webkit-scrollbar-track,
.cat-nav .nav__list::-webkit-scrollbar-track,
.cat-nav .nav__sublist::-webkit-scrollbar-track,
.input-textarea::-webkit-scrollbar-track{
  border-radius:1rem;
  margin-top:0.6rem;
  margin-bottom:0.6rem;
  background-color:var(--color-dark);
}
.iti--inline-dropdown .iti__country-list::-webkit-scrollbar-thumb,
.custom-select-panel::-webkit-scrollbar-thumb,
.cat-nav .nav__list::-webkit-scrollbar-thumb,
.cat-nav .nav__sublist::-webkit-scrollbar-thumb,
.input-textarea::-webkit-scrollbar-thumb{
  width:0.2rem;
  border-radius:2rem;
  background:linear-gradient(90deg, transparent 40%, var(--color-primary) 40%, var(--color-primary) 60%, transparent 60%);
}

.custom-select-panel::-webkit-scrollbar-track{
  margin-top:2rem;
  margin-bottom:2rem;
}
.custom-scroll{
  --track-width:0.5rem;
  --track-vertical-offset:1rem;
  --track-color:var(--color-grey-1);
  --thumb-width:0.5rem;
  --thumb-color:var(--color-grey-2);
  --thumb-hover-color:var(--color-grey-3);
}
.custom-scroll::-webkit-scrollbar{
  width:var(--track-width);
}
.custom-scroll::-webkit-scrollbar-track{
  border-radius:1rem;
  margin-top:var(--track-vertical-offset);
  margin-bottom:var(--track-vertical-offset);
  background-color:var(--track-color);
}
.custom-scroll::-webkit-scrollbar-thumb{
  width:var(--thumb-width);
  border-radius:1rem;
  background-color:var(--thumb-color);
}
.custom-scroll::-webkit-scrollbar-thumb:hover{
  background-color:var(--thumb-hover-color);
}
@-moz-document url-prefix(){
  .custom-scroll{
    scrollbar-width:thin;
    scrollbar-color:var(--thumb-color) var(--track-color);
  }
}
.just-validate-error-label{
  display:none;
  font-size:1.2rem;
  text-align:right;
  color:var(--color-red);
}

.text-field:has(.just-validate-error-field, .just-validate-success-field){
  position:relative;
  border-color:var(--color-blue);
}
.text-field:has(.just-validate-error-field, .just-validate-success-field)::after{
  content:"";
  position:absolute;
  right:0;
  bottom:1rem;
  width:3rem;
  height:3rem;
  background-image:url(../svg/icons/error-validation.svg);
  background-size:contain;
}

.text-field:has(.just-validate-success-field)::after{
  background-image:url(../svg/icons/success-validation.svg);
}

.just-validate-error-field{
  border-color:var(--color-red);
}
.just-validate-error-field:hover, .just-validate-error-field:focus-visible{
  border-color:var(--color-red);
}
.just-validate-error-field:active{
  border-color:var(--color-red);
}

.just-validate-success-field{
  border-color:rgba(83, 172, 71, 0.1);
}
.just-validate-success-field:hover, .just-validate-success-field:focus-visible{
  border-color:rgba(83, 172, 71, 0.1);
}
.just-validate-success-field:active{
  border-color:rgba(83, 172, 71, 0.1);
}

.input-checkbox.just-validate-error-field + .form__label{
  color:var(--color-red);
}
.input-checkbox.just-validate-error-field + .form__label::before{
  border-color:var(--color-red);
}
.input-checkbox.just-validate-error-field ~ .just-validate-error-label{
  display:none;
}

.radio-fieldset--required:has(.input-radio.just-validate-error-field) .radio-input-control{
  border-color:var(--color-red);
}

/*! Topbar & main header rules & promos */
.topbar{
  border-bottom:1px solid var(--color-stroke);
  padding:1rem 0 0.9rem;
  font-size:1.3rem;
  line-height:1;
}
.topbar .container{
  display:flex;
  align-items:center;
  gap:1rem;
  max-width:120.8rem;
  height:1.7rem;
  padding:0 0 0 1.3rem;
}

.request-callback{
  display:inline-flex;
  flex-shrink:0;
  margin-left:0.2rem;
  font-weight:500;
  letter-spacing:-0.008em;
  text-transform:uppercase;
}
.request-callback > .link{
  align-items:initial;
  text-transform:uppercase;
}

.header-phones{
  justify-content:center;
}
.header-phones.drag-nav{
  --height:1.3rem;
}
.header-phones .drag-nav-container{
  display:flex;
  gap:1rem;
}
.header-phones a{
  --color:var(--color-grey-1);
  --color-hover:var(--color-primary);
  --color-active:var(--color-primary-dim);
  font-weight:500;
  white-space:nowrap;
}
.header{
  min-width:32rem;
  padding:1.5rem 0 1rem;
}
.header > .container{
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  align-items:center;
}

.header-controls{
  display:grid;
  grid-template-columns:16rem 5rem 1fr;
  row-gap:1.5rem;
  width:100%;
}

.header__logo{
  display:block;
  flex-shrink:0;
  width:15.2rem;
  height:3.2rem;
}

.header-settings{
  grid-column:2/4;
  display:flex;
  align-items:center;
  gap:1rem;
  margin-left:auto;
}
.header-settings .header-select-wrapper{
  height:2rem;
}
.header-settings .custom-select-container{
  display:flex;
  align-items:center;
  border:none;
  font-size:1.3rem;
  font-weight:500;
  color:var(--color-grey-1);
  transition:color var(--transition-short-cubic);
}
.header-settings .custom-select-container:hover, .header-settings .custom-select-container:focus-visible{
  color:var(--color-primary);
}
.header-settings .custom-select-container:hover ~ .icon, .header-settings .custom-select-container:focus-visible ~ .icon{
  color:var(--color-primary);
}
.header-settings .custom-select-container.is-open ~ .header-select-wrapper__chevron{
  transform:rotate(-180deg);
}
.header-settings .custom-select-opener{
  height:2rem;
  padding-right:2rem;
  padding-left:2.6rem;
  border-bottom:none;
  border-radius:0;
  font-size:inherit;
  background-color:transparent;
}
.header-settings .custom-select-opener span{
  position:relative;
  top:0.1rem;
}
.header-settings .custom-select-panel{
  --offset-y:0.4rem;
  --translate-x:-50%;
  width:initial;
  padding:0;
}
.header-settings .custom-select-option{
  position:relative;
  min-width:11.6rem;
  /* width:max-content; */
  max-width:26rem;
  padding:1rem 2rem;
  font-size:1.3rem;
  line-height:normal;
  font-weight:500;
  text-align:center;
  color:var(--color-grey-1);
  transition:color var(--transition-short-cubic);
}
.header-settings .custom-select-option:hover, .header-settings .custom-select-option:focus-visible{
  background:none;
  color:var(--color-primary);
}
.header-settings .custom-select-option:last-child::after{
  display:none;
}
.header-settings .custom-select-option::after{
  content:"";
  position:absolute;
  bottom:0;
  left:0;
  width:100%;
  height:1px;
  background-color:var(--color-stroke);
}

.header-select-wrapper{
  position:relative;
  display:flex;
}
.header-select-wrapper__icon{
  position:absolute;
}
.header-select-wrapper__chevron{
  position:absolute;
  top:0.2rem;
  right:0;
  font-size:1.6rem;
  color:var(--color-white);
  transition:color var(--transition-short-cubic);
}

.header-lang{
  min-width:9.1rem;
}

.header-currency{
  min-width:7.2rem;
}
.header-currency .custom-select-option{
  min-width:10rem;
  max-width:fit-content;
}

.header-auth.header-nav-link{
  display:none;
  align-items:center;
  gap:0.6rem;
  font-size:1.3rem;
  text-decoration:none;
  white-space:nowrap;
}
.header-auth.header-nav-link .icon{
  font-size:2rem;
}

.header-caption{
  grid-column:1/3;
  display:grid;
  flex-shrink:0;
  grid-template-columns:2rem auto;
  column-gap:0.5rem;
  min-height:4.6rem;
  color:var(--color-grey-1);
}
.header-caption .icon{
  position:relative;
  top:0.7rem;
  left:0;
  grid-column:1;
  grid-row:1/3;
  font-size:3.2rem;
}

.header-caption__title{
  padding-top:0.6rem;
  font-family:var(--font-marcellus);
  font-size:1.4rem;
  line-height:normal;
  text-transform:uppercase;
  color:var(--color-primary);
}

.header-caption__text{
  position:relative;
  top:-0.2rem;
  height:1.4rem;
  font-size:1rem;
  line-height:normal;
  font-weight:500;
}

.header-brands{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  grid-template-rows:repeat(2, 2.2rem);
  align-items:center;
  row-gap:0.2rem;
  width:12.6rem;
  margin-right:1rem;
  margin-left:auto;
}

.header-brand{
  --image-height:2.2rem;
}
.header-brand img{
  height:var(--image-height);
  object-fit:contain;
}
.header-brand:first-child, .header-brand:nth-child(5){
  --image-height:2rem;
}
.header-brand:nth-child(3){
  --image-height:1.6rem;
}

.header-controls__nav-row{
  display:flex;
  align-items:center;
  gap:2rem;
  grid-column:1/4;
}

.categories-button{
  display:none;
  min-width:16.1rem;
  min-height:4.8rem;
}
.categories-button .icon{
  font-size:2.4rem;
}
.categories-button .button__close-icon{
  display:none;
}
.categories-button.is-active .button__close-icon{
  display:inherit;
}
.categories-button.is-active .button__fries-icon{
  display:none;
}

.header-nav{
  width:calc(100% + 1.5rem);
  height:1.8rem;
}
.header-nav .greedy-item{
  display:flex;
  padding-right:1.5rem;
}
.header-nav .greedy-button{
  --color:var(--color-white);
  --color-hover:rgba(255, 255, 255, 0.75);
  --color-active:rgba(255, 255, 255, 0.6);
  margin-left:0.2rem;
  transform:translateX(0.7rem);
}
.header-nav .greedy-button.is-active .icon{
  display:none;
}
.header-nav .greedy-button.is-active .icon.is-hidden{
  display:inherit;
}
.header-nav .greedy-button .icon.is-hidden{
  display:none;
}

.header-nav-link{
  --color:var(--color-grey-1);
  --color-hover:var(--color-primary);
  --color-active:var(--color-primary-dim);
  height:1.8rem;
  font-size:1.3rem;
  line-height:normal;
  font-weight:500;
}
.header-info{
  border-top:1px solid var(--color-stroke);
  margin-top:1.4rem;
}
.header-info .container{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:1.5rem;
  width:100%;
  padding:1.5rem;
  color:var(--color-white);
}

.header-promo{
  display:flex;
  flex:0 0 48.2%;
  flex-direction:column;
  min-width:15rem;
  max-width:22rem;
}

.header-promo__title{
  display:flex;
  align-items:flex-start;
  gap:0.5rem;
}
.header-promo__title .icon{
  font-size:2.1rem;
}

.header-promo__title-text{
  font-family:var(--font-marcellus);
  font-size:2rem;
  line-height:normal;
  color:var(--color-primary);
}

.header-promo__text{
  padding-left:2.7rem;
  font-size:1rem;
  line-height:normal;
  font-weight:500;
  color:var(--color-grey-1);
}

.header-items{
  display:flex;
  flex:0 0 50%;
  flex-direction:column;
  gap:1rem;
  max-width:50rem;
  word-break:break-word;
}

.header-item{
  display:flex;
  flex-direction:column;
  gap:0.5rem;
  max-width:100%;
  color:var(--color-grey-1);
}

.header-item__title{
  display:inline-flex;
  align-items:center;
  gap:0.5rem;
  min-height:1.8rem;
  font-size:1.2rem;
  line-height:1.4rem;
  font-weight:500;
}

.header-item__text{
  font-size:1rem;
  line-height:normal;
  font-weight:500;
}
.header-bottom-row{
  background:rgba(255, 255, 255, 0.05);
}
.header-bottom-row .container{
  position:relative;
  display:flex;
  align-items:center;
  gap:1rem;
  height:6.8rem;
  padding:1rem 1.5rem;
}
.header-bottom-row .container::after{
  content:"";
  position:absolute;
  bottom:6.8rem;
  left:1.3rem;
  overflow:hidden;
  width:17.8rem;
  height:11.9rem;
  background-image:url(../images/layout/doctor-275w.png);
  background-image:url(../images/layout/doctor-275w.webp);
  background-position:top right;
  background-repeat:no-repeat;
  background-size:17.8rem;
  pointer-events:none;
}
.webp .header-bottom-row .container::after{
  background-image:-webkit-image-set(url(../images/layout/doctor-275w.webp) 1x, url(../images/layout/doctor-550w.webp) 2x);
  background-image:image-set(url(../images/layout/doctor-275w.webp) 1x, url(../images/layout/doctor-550w.webp) 2x);
}
.search-form{
  position:relative;
  display:flex;
  width:100%;
}
.search-form::after{
  content:"";
  position:absolute;
  bottom:0;
  left:0;
  width:100%;
  height:0.1rem;
  background-color:var(--color-stroke);
}
.search-form__label{
  width:100%;
}
.search-form__input{
  width:100%;
  height:4.8rem;
  padding:0 4.8rem 0 1.5rem;
  border:none;
  border-radius:1rem;
  font-size:1.32rem;
  background-color:transparent;
  color:var(--color-white);
}
.search-form__input:focus-visible::placeholder{
  opacity:0;
}
.search-form__input::placeholder{
  color:rgba(201, 201, 201, 0.5);
  opacity:1;
}
.search-form__button{
  position:absolute;
  top:0.4rem;
  right:0.4rem;
  display:flex;
  justify-content:center;
  align-items:center;
  width:4rem;
  height:4rem;
  border:none;
  background-image:url(../svg/icons/search.svg);
  background-position:center;
  background-repeat:no-repeat;
  background-color:transparent;
  color:var(--color-grey-1);
  opacity:1;
  transition:background-color var(--transition-medium-cubic);
}
.search-form__button:hover, .search-form__button:focus-visible{
  background-color:rgba(255, 255, 255, 0.05);
}
.search-form__button:active{
  opacity:1;
}
.index-button{
  display:flex;
  justify-content:center;
  align-items:center;
  width:4rem;
  height:4rem;
  border:none;
  background-color:rgba(255, 255, 255, 0.05);
  transition:background-color var(--transition-medium-cubic);
}
.index-button:hover, .index-button:focus-visible{
  background:rgba(255, 255, 255, 0.08);
}
.index-button .icon{
  font-size:2rem;
}
.index-button .icon.is-hidden{
  display:none;
  font-size:2.4rem;
}
.index-button.is-active .icon{
  display:none;
}
.index-button.is-active .icon.is-hidden{
  display:inherit;
}

.index-dropdown .dropdown-container{
  top:calc(100% - 0.3rem);
  right:0;
  left:initial;
  width:28rem;
  padding:1rem;
}

.drug-index{
  display:flex;
  flex-wrap:wrap;
  gap:0.5rem;
}

.drug-index__item{
  background-color:rgba(255, 255, 255, 0.05);
}

.drug-index__link{
  --color:var(--color-grey-1);
  --color-hover:var(--color-white);
  --color-active:var(--color-white);
  position:relative;
  display:flex;
  justify-content:center;
  align-items:center;
  width:4.8rem;
  height:4.8rem;
  font-family:var(--font-jakarta);
  font-size:1.4rem;
  line-height:normal;
  text-decoration:none;
}
.drug-index__link::after{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  background:linear-gradient(90deg, #c9b09a 0%, rgba(201, 176, 154, 0.25) 100%);
  opacity:0;
  transition:opacity var(--transition-medium-cubic);
}
.drug-index__link:hover::after, .drug-index__link:focus-visible::after{
  opacity:1;
}
.drug-index__link:active::after{
  opacity:0.5;
}
.promos-payment-methods{
  width:calc(100% + 1.5rem);
  max-width:calc(100% + 1.5rem);
}
.promos-payment-methods.drag-nav{
  --height:3rem;
}
.promos-payment-methods .drag-nav-container{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
}

.promos-payment-method{
  display:flex;
  flex-shrink:0;
  justify-content:center;
  align-items:center;
  max-width:4.5rem;
}
.promos-payment-method img{
  height:3rem;
}
.promos-payment-method svg{
    height:3rem;
}
.cart-button{
  position:relative;
  display:none;
  align-items:center;
  gap:1rem;
  width:fit-content;
  height:4.8rem;
  padding:0 1.4rem;
  margin-top:-0.3rem;
  margin-left:auto;
}
.cart-button .icon{
  font-size:2.4rem;
}

.cart-button::after,
.footer-button--cart::after{
  content:attr(data-counter);
  position:absolute;
  top:0.5rem;
  left:2.9rem;
  z-index:1;
  display:flex;
  justify-content:center;
  align-items:center;
  min-width:1.8rem;
  width:fit-content;
  height:1.8rem;
  border-radius:50%;
  font-size:1.2rem;
  line-height:1rem;
  background:var(--color-red);
  color:var(--color-white);
}

.cart-button:not([data-counter])::after,
.footer-button--cart:not([data-counter])::after{
  display:none;
}

.cart-button__text{
  color:var(--color-primary);
}

.cart-button__total{
  color:var(--color-grey-1);
}

/*! General layout structure */
.page-wrapper{
  display:flex;
  flex:1 0 auto;
  padding-top:2rem;
  padding-bottom:2rem;
}

.container{
  min-width:32rem;
  width:100%;
  max-width:128rem;
  padding-right:1.5rem;
  padding-left:1.5rem;
  margin:0 auto;
}
.container .main{
  flex-grow:1;
}
.container .main--aside{
  display:flex;
  flex-direction:column;
  gap:1rem;
}

.main__content{
  display:flex;
  flex-grow:1;
  flex-direction:column;
  gap:1rem;
}
.main__content .content{
  max-width:99%;
  padding-top:2rem;
  padding-bottom:0;
}
.main__aside--mobile-first{
  order:-1;
}
.main__aside--mobile-hidden{
  display:none;
}
.main__aside .main__heading{
  margin-bottom:1rem;
}

.vw-container{
  position:relative;
  width:100vw;
  margin-left:calc(-50vw + 50%);
}
.vw-container--right{
  margin-left:initial;
}
.vw-container--left{
  width:initial;
}

/*! Aside navigation rules */
.aside{
  display:none;
  flex-shrink:0;
  order:-1;
  width:24rem;
}
.aside-nav{
  display:flex;
  flex-direction:column;
  gap:1rem;
  border-radius:1rem;
}
.aside-nav .accordion-item:last-child .accordion-button:not([aria-expanded=true]){
  border-color:transparent;
}
.aside-nav .accordion-button{
  display:flex;
  align-items:center;
  width:100%;
  padding:0 0 1rem;
  border:none;
  border-bottom:1px solid var(--color-stroke);
  font-family:var(--font-futura-demi);
  font-size:1.6rem;
  line-height:2.1rem;
  text-align:left;
  background-color:transparent;
  color:var(--color-grey-1);
  transition:background-color var(--transition-medium-cubic), color var(--transition-medium-cubic);
}
.aside-nav .accordion-button:hover, .aside-nav .accordion-button:focus-visible{
  background-color:transparent;
  color:var(--color-primary);
}
.aside-nav .accordion-button .button-text{
  line-height:2.1rem;
}
.aside-nav .accordion-button .icon{
  margin-left:auto;
  font-size:2rem;
  transition:color var(--transition-medium-cubic), transform var(--transition-medium-cubic);
}
.aside-nav .accordion-button[aria-expanded=true]{
  background-color:transparent;
}
.aside-nav .accordion-button[aria-expanded=true] .icon{
  transform:rotate(180deg);
}

.aside-nav__list{
  display:flex;
  flex-direction:column;
  margin-top:0.6rem;
  margin-bottom:0.4rem;
}

.aside-nav__link{
  --color:var(--color-grey-1);
  --color-hover:var(--color-primary);
  --color-active:var(--color-primary-dim);
  display:inline-flex;
  justify-content:space-between;
  width:100%;
  font-family:var(--font-futura-book);
  font-size:1.5rem;
  line-height:2.9rem;
  text-decoration:none;
}

.aside-nav__price{
  color:var(--color-primary);
}
.aside-promo{
  display:none;
}
.aside-promo .promo-cards{
  gap:1rem;
}
.aside-promo .promo-card{
  padding-top:1.9rem;
  padding-bottom:1.9rem;
  margin-top:0;
  margin-left:0;
  background-position:100% -2.6rem;
  background-size:10.6rem;
}
.aside-promo .promo-card--sale{
  background-position:100% -1.5rem;
  background-size:11.2rem;
}
.aside-promo .promo-card__title .card__link{
  font-size:2.4rem;
  line-height:2.6rem;
}
.aside-promo .promo-card__text{
  font-size:1.4rem;
  line-height:normal;
  letter-spacing:-0.01em;
}

/*! Separated raw html elements rules */
.content h1{
  margin-bottom:1.6rem;
}
.content h2{
  margin-bottom:1rem;
  font-size:1.8rem;
  line-height:2.3rem;
}
.content h3{
  margin-bottom:1rem;
}
.content p,
.content li{
  letter-spacing:0.001em;
}
.content a{
  text-decoration-color:currentColor;
}
.content a:hover, .content a:focus-visible{
  text-decoration-color:transparent;
}
.content b,
.content strong{
  letter-spacing:0.006em;
}
.content p:not(:last-child){
  margin-bottom:1.9rem;
}
.content ul,
.content ol{
  display:flex;
  flex-direction:column;
  gap:0;
  margin-bottom:1.6rem;
}
.content ol{
  counter-reset:li;
}
.content ol li{
  display:flex;
  gap:0.5rem;
}
.content ol li::before{
  counter-increment:li;
  content:counters(li, ".", decimal) ".";
  flex-shrink:0;
  min-width:1.4rem;
}
.content ul li{
  position:relative;
  padding-left:2.4rem;
}
.content ul li::before{
  content:"•";
  position:absolute;
  top:1.2rem;
  left:0.9rem;
  width:1rem;
  height:1rem;
  font-size:1.6rem;
  line-height:0;
  font-weight:normal;
}
.content table{
  table-layout:fixed;
  width:100%;
  border-collapse:collapse;
}
.content th{
  text-align:left;
}
.content__section-mt{
  margin-top:1.6rem;
}

.content.content--spaced-text p,
.content.content--spaced-text li{
  letter-spacing:0.007em;
}

.content.content--help h1{
  margin-bottom:1.9rem;
}
.content.content--help h2{
  margin-bottom:1rem;
}
.content.content--help p:not(:last-child){
  margin-bottom:0;
}
.content.content--help hr{
  margin:1.9rem 0 2.1rem;
}
.content.content--page h2{
  margin-bottom:1rem;
}

.testimonials{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(32rem, 1fr));
  gap:0;
  padding-top:0.1rem;
  padding-left:0.1rem;
}
.testimonials .testimonial{
  padding:2rem 1.9rem 1.9rem;
  border:1px solid #2b2c30;
  border-radius:0;
  margin-top:-0.1rem;
  margin-left:-0.1rem;
}
.testimonials .testimonial__rating{
  top:-0.1rem;
  right:0.1rem;
}
.testimonials .testimonial__text{
  max-width:98%;
}
.testimonials + .button--more{
  margin-top:1.5rem;
}

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

/*! Main & sup footer rules */
.subscribe{
  background-color:rgba(255, 255, 255, 0.05);
}
.subscribe .container{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:2rem;
  padding:2rem 1.5rem;
}

.subscribe__caption{
  display:flex;
  flex-shrink:0;
  flex-direction:column;
  gap:0.2rem;
  padding-left:5rem;
  background-image:url(../svg/icons/subscribe.svg);
  background-position:left center;
  background-repeat:no-repeat;
}

.subscribe__title{
  font-family:var(--font-marcellus);
  font-size:2rem;
  line-height:2.5rem;
  text-transform:uppercase;
  color:var(--color-primary);
}

.subscribe__text{
  font-size:1.4rem;
  line-height:1.8rem;
  font-weight:500;
}

.subscribe-form{
  display:flex;
  align-items:center;
  gap:1rem;
}
.subscribe-form__label{
  position:relative;
  width:100%;
}
.subscribe-form__label::after{
  content:"";
  position:absolute;
  bottom:0;
  left:0;
  width:100%;
  height:0.1rem;
  background-color:var(--color-stroke);
}
.subscribe-form__input{
  position:relative;
  width:100%;
  height:4.8rem;
  padding:0 2rem;
  border:none;
  border-radius:1rem;
  font-size:1.5rem;
  background-color:transparent;
  color:var(--color-white);
}
.subscribe-form__input:focus-visible::placeholder{
  opacity:0;
}
.subscribe-form__input::placeholder{
  color:rgba(201, 201, 201, 0.5);
  opacity:1;
}
.subscribe-form__button{
  flex-shrink:0;
  min-width:11.6rem;
  min-height:4.8rem;
}
.footer-testimonials{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(30rem, 1fr));
  gap:2rem;
  margin:2rem 0;
}

.testimonial{
  display:flex;
  flex-direction:column;
  gap:0.5rem;
}

.testimonial__header{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  align-items:center;
}

.testimonial__author{
  font-size:1.6rem;
  line-height:2.1rem;
  font-weight:500;
}

.testimonial__text{
  max-width:99%;
  font-size:1.3rem;
  line-height:normal;
  letter-spacing:0.002em;
}

.testimonial__rating{
  position:relative;
  top:0;
}

.rating{
  display:flex;
  gap:0.2rem;
}

.rating__star{
  width:1.8rem;
  height:1.8rem;
  background-image:url(../svg/icons/rating-star.svg);
  background-position:center;
  background-repeat:no-repeat;
}
.footer-delivery-methods{
  width:calc(100% + 1.5rem);
  max-width:calc(100% + 1.5rem);
}
.footer-delivery-methods.drag-nav{
  --height:5rem;
}
.footer-delivery-methods .drag-nav-container{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1.9rem;
  padding-right:1.5rem;
}

.footer-delivery-method{
  display:flex;
  flex-shrink:0;
  justify-content:center;
  align-items:center;
}
.footer-delivery-method img{
  height:5rem;
}
.footer{
  width:100%;
  padding:1.9rem 0 6rem;
  border-top:1px solid var(--color-stroke);
  margin:0 auto;
}
.footer .container{
  display:flex;
  flex-direction:column;
  gap:2rem;
}

.footer__wrapper{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  align-items:center;
  gap:3rem;
}

.footer__logo{
  width:15.2rem;
  height:3.2rem;
}

.footer-nav{
  flex-grow:1;
  margin-top:-0.5rem;
  max-width: 777px;
}
.footer-nav .nav__list{
  flex-direction:column;
  justify-content:center;
  gap:2.4rem;
}
.footer-nav .nav__link{
  --color:var(--color-grey-1);
  --color-hover:var(--color-primary);
  --color-active:var(--color-primary-dim);
  font-size:1.4rem;
  line-height:1;
  font-weight:500;
}

.footer__affiliate-button{
  min-width:18.1rem;
  margin-top:-0.5rem;
  text-transform:uppercase;
  max-width: 18.1rem;
}

.footer__copyrights{
  padding:1rem 1.5rem;
  font-size:1.2rem;
  line-height:1.6rem;
  text-align:center;
  background-color:rgba(255, 255, 255, 0.05);
}
.footer-buttons{
  position:fixed;
  right:0;
  bottom:0;
  left:0;
  z-index:101;
  display:flex;
  justify-content:center;
  align-items:center;
  height:6rem;
  border-top:1px solid var(--color-stroke);
  background:rgba(0, 0, 0, 0.5);
  -webkit-backdrop-filter:blur(100px);
          backdrop-filter:blur(100px);
}
.footer-buttons__container{
  position:relative;
  top:-0.3rem;
  display:flex;
  width:100%;
  max-width:43rem;
}

.footer-button{
  position:relative;
  display:flex;
  flex:1 0 0;
  flex-direction:column;
  align-items:center;
  border:none;
  font-size:1.3rem;
  line-height:1.2;
  font-weight:500;
  text-decoration:none;
  background-color:transparent;
  color:var(--color-grey-1);
  transition:color var(--transition-medium-cubic);
}
.footer-button:hover, .footer-button:focus-visible{
  color:rgba(255, 255, 255, 0.75);
}
.footer-button:not(:first-child)::before{
  content:"";
  position:absolute;
  top:-1.2rem;
  left:0;
  width:0.1rem;
  height:5.9rem;
  background-color:rgba(255, 255, 255, 0.05);
}
.footer-button .icon{
  width:2rem;
  height:2rem;
  font-size:2rem;
}
.footer-button .button__text{
  position:relative;
  top:0.3rem;
}
.footer-button--cart::after{
  top:-0.5rem;
  right:3rem;
  left:initial;
  min-width:1.6rem;
  height:1.6rem;
  font-family:var(--font-futura-demi);
  font-size:1rem;
  line-height:1.6rem;
  background-color:var(--color-red);
}

.footer-button--cat .button__close-icon{
  display:none;
}
.footer-button--cat.is-active .button__close-icon{
  display:inherit;
}
.footer-button--cat.is-active .button__fries-icon{
  display:none;
}

/*! Homepage */
.product-cards{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(16rem, 1fr));
  width:100%;
  padding-left:0.1rem;
  margin-bottom:-0.1rem;
}

.promo-cards{
  display:flex;
  grid-column:span 2;
}

.promo-card{
  position:relative;
  display:flex;
  flex:1 1 0;
  flex-direction:column;
  gap:0.5rem;
  padding:2.2rem 4.5rem 2rem 1.4rem;
  border:1px solid #2b2c30;
  margin-left:-0.1rem;
  background-image:url(../images/layout/discount-113w.png);
  background-image:url(../images/layout/discount-113w.webp);
  background-position:100% 0.1rem;
  background-repeat:no-repeat;
  background-size:7.1rem;
}
.webp .promo-card{
  background-image:-webkit-image-set(url(../images/layout/discount-113w.webp) 1x, url(../images/layout/discount-226w.webp) 2x);
  background-image:image-set(url(../images/layout/discount-113w.webp) 1x, url(../images/layout/discount-226w.webp) 2x);
}
.promo-card--sale{
  padding-top:1.9rem;
  background-image:url(../images/layout/sale-113w.png);
  background-image:url(../images/layout/sale-113w.webp);
  background-position:100% 0;
  background-size:7rem;
}
.webp .promo-card--sale{
  background-image:-webkit-image-set(url(../images/layout/sale-113w.webp) 1x, url(../images/layout/sale-226w.webp) 2x);
  background-image:image-set(url(../images/layout/sale-113w.webp) 1x, url(../images/layout/sale-226w.webp) 2x);
}

.promo-card__title{
  display:inline-flex;
}
.promo-card__title .card__link{
  --color:var(--color-primary);
  --color-hover:var(--color-grey-1);
  --color-active:var(--color-grey-1);
  font-family:var(--font-marcellus);
  font-size:1.8rem;
  line-height:2rem;
  color: var(--color);
}

.promo-card__text{
  font-size:1rem;
  line-height:normal;
}

.card{
  position:relative;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  gap:0.5rem;
  padding:0.9rem 1rem 1rem;
  border:1px solid #2b2c30;
  margin-top:-0.1rem;
  margin-left:-0.1rem;
  transition:border-color var(--transition-medium-cubic);
}
.card:has(.card__link:hover, .card__button:hover) .card__link{
  --color:var(--color-primary);
  --color-hover:var(--color-primary);
  --color-active:var(--color-primary);
}
.card:has(.card__link:hover, .card__button:hover) .card__ingredient{
  color:var(--color-grey-1);
}

.card__label{
  position:absolute;
  top:0.8rem;
  right:0.8rem;
  z-index:1;
  display:inline-flex;
  align-items:center;
  min-height:1.8rem;
  padding:0.2rem 0.5rem 0;
  border-radius:0.5rem;
  font-size:1.2rem;
  line-height:1;
  font-weight:700;
  background-color:var(--color-red);
  color:var(--color-white);
}

.card__img{
  position:relative;
  z-index:0;
  align-self:center;
  aspect-ratio:1;
  /* width:12rem; */
  margin:0 auto;
  display: flex;
  justify-content: center;
}

.card--gift .card__img{
  display:flex;
  justify-content:center;
  align-items:center;
}
.card--gift .card__img img{
  width:10.6rem;
}

.card__content{
  display:flex;
  flex-direction:column;
  height:100%;
  text-align:center;
}

.card__title{
  font-family:var(--font-marcellus-sc);
  font-size:2rem;
  line-height:2.5rem;
}

.card__link{
  --color:var(--color-grey-1);
  --color-hover:var(--color-primary);
  --color-active:var(--color-primary);
  display:inline-flex;
  text-transform:uppercase;
  text-decoration:none;
}
.card__link::after{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
}

.card__ingredient{
  font-size:1.2rem;
  line-height:1.6rem;
  color:var(--color-primary);
  transition:color var(--transition-medium-cubic);
}

.card__desc{
    margin-top:1rem;
    font-size:1rem;
    line-height:1.4rem;
    font-weight:500;
    -webkit-line-clamp: 4;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.card__controls{
  display:flex;
  flex-direction:column;
  gap:0.5rem;
  padding-top:1rem;
  margin-top:auto;
}

.card__button{
  width:100%;
  min-height:4rem;
  padding:0 0.5rem;
}

.card__price{
  display:flex;
  flex-shrink:0;
  justify-content:center;
  align-items:center;
  width:100%;
  height:4rem;
  font-size:1.6rem;
  line-height:normal;
  background:linear-gradient(90deg, rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0) 100%);
  color:var(--color-primary);
}
:root{
  --color-primary:#c9b09a;
  --color-primary-dim:rgba(201, 176, 154, 50%);
  --color-secondary:rgba(255, 255, 255, 0.05);
  --color-red:#b15656;
  --color-green:#53ac47;
  --color-grey-1:#b2b2b2;
  --color-grey-2:#c9c9c9;
  --color-grey-3:rgba(255, 255, 255, 5%);
  --color-stroke:rgba(255, 255, 255, 10%);
  --color-dark:#14151a;
  --color-black:black;
  --color-white:white;
  --html-bg-color:var(--color-dark);
  --text-body-color:var(--color-grey-1);
  --tab-focus-color:var(--color-black);
  --content-link-color:var(--color-primary);
  --content-link-color-hover:var(--color-primary);
  --content-link-color-active:var(--color-primary-dim);
  --shadow-dialog:0 30px 50px 0 rgba(0, 0, 0, 0.75);
  --shadow-menu:0 5px 15px 0 rgba(0, 0, 0, 0.5);
  --transition-props-color:color, background, background-color, border-color, text-decoration-color;
  --transition-func-cubic:cubic-bezier(0.4, 0.8, 0.4, 1);
  --transition-duration-short:0.1s;
  --transition-duration-medium:0.2s;
  --transition-duration-long:0.3s;
  --transition-short-cubic:var(--transition-duration-short) var(--transition-func-cubic);
  --transition-medium-cubic:var(--transition-duration-medium) var(--transition-func-cubic);
  --transition-long-cubic:var(--transition-duration-long) var(--transition-func-cubic);
  --transition-overlay:visibility 0.3s, opacity 0.3s;
}

:root,
::backdrop{
  --color-overlay-bg:rgba(20, 21, 26, 0.75);
}

.c-primary{
  color:var(--color-primary);
}

.c-red{
  color:var(--color-red);
}

.c-green{
  color:var(--color-green);
}

@media (min-width: 390px){
  body{
    overflow-x:hidden;
  }
  .header > .container{
    padding-right:0.5rem;
  }
  .header-settings{
    margin-right:1rem;
  }
  .header-info .container{
    flex-direction:row;
  }
}

@media (min-width: 511px){
  .header-auth.header-nav-link{
    display:inline-flex;
  }
  .header-brands{
    display:flex;
    justify-content:flex-end;
    gap:1rem;
    width:28rem;
  }
  .header-promo{
    flex:1 1 0;
  }
  .header-items{
    flex:initial;
    width:fit-content;
    margin:0 auto;
  }
  .header-bottom-row .container::after{
    left:3rem;
  }
  .product-cards{
    grid-template-columns:repeat(auto-fit, minmax(20rem, 1fr));
  }
  .promo-cards{
    grid-column:1;
    flex-direction:column;
  }
  .promo-card{
    justify-content:center;
    background-position:100% 50%;
  }
}

@media (min-width: 600px){
  br.md{
    display:none;
  }
  .dialog__title{
    font-size:4rem;
    line-height:5rem;
  }
  .dialog-container[data-name=call] .dialog{
    max-width:50rem;
    padding:4rem;
  }
  .form.callback-form .text-field:has(.just-validate-error-field)::before,
  .form.callback-push-form .text-field:has(.just-validate-error-field)::before{
    right:2rem;
  }
  .form.callback-form .text-field:has(.just-validate-success-field)::before,
  .form.callback-push-form .text-field:has(.just-validate-success-field)::before{
    right:2rem;
  }
  .text-field:has(.just-validate-error-field, .just-validate-success-field)::after{
    right:2rem;
  }
  .header > .container{
    padding-right:1.5rem;
  }
  .header-controls{
    grid-template-columns:16rem 11rem 1fr;
  }
  .header__logo{
    width:15.2rem;
    height:3.2rem;
  }
  .header-settings{
    grid-column:2/4;
    margin-right:0;
  }
  .header-caption{
    grid-template-columns:3rem auto;
    column-gap:1rem;
  }
  .header-caption .icon{
    top:0.3rem;
    left:0;
    font-size:3.6rem;
  }
  .header-caption__title{
    font-size:1.5rem;
    line-height:1.4rem;
  }
  .header-caption__text{
    top:-0.3rem;
    font-size:1.4rem;
  }
  .header-brands{
    margin-right:0;
  }
  .header-controls__nav-row{
    grid-column:1/4;
  }
  .header-promo{
    min-width:27rem;
    max-width:35rem;
  }
  .header-promo__title{
    align-items:center;
    gap:1rem;
  }
  .header-promo__title .icon{
    font-size:3rem;
  }
  .header-promo__title-text{
    font-size:4rem;
    line-height:4.4rem;
  }
  .header-promo__text{
    padding-left:4.3rem;
    font-size:1.5rem;
    line-height:2rem;
  }
  .header-items{
    gap:2rem;
  }
  .content h2{
    margin-bottom:0.6rem;
    font-size:2.2rem;
    line-height:2.8rem;
  }
}

@media (min-width: 700px){
  .header-settings{
    gap:1.9rem;
  }
  .header-lang{
    min-width:9.2rem;
  }
  .header-currency{
    min-width:7.3rem;
  }
  .header-brands{
    width:100%;
  }
  .header-brand{
    --image-height:3.2rem;
  }
  .header-brand:first-child{
    --image-height:3.2rem;
  }
  .header-brand:nth-child(2){
    --image-height:3.5rem;
  }
  .header-brand:nth-child(3){
    --image-height:2.7rem;
  }
  .header-brand:nth-child(4){
    --image-height:3.6rem;
  }
  .header-brand:nth-child(5){
    --image-height:3.2rem;
  }
  .header-brand:nth-child(6){
    --image-height:3rem;
  }
  .subscribe .container{
    flex-direction:row;
    align-items:center;
  }
  .subscribe-form{
    max-width:48.6rem;
  }
}

@media (min-width: 830px){
  br.sm{
    display:none;
  }
  .accordion--mobile .accordion-button{
    cursor:default;
    pointer-events:none;
  }
  .accordion--mobile .accordion-panel{
    grid-template-rows:1fr;
  }
  .cat-nav .nav__heading{
    display:none;
  }
  .cat-nav .nav__list{
    width:30rem;
    padding:2.1rem 0 2rem;
    background-color:rgba(255, 255, 255, 0.05);
  }
  .cat-nav .nav__list:not(:has(.nav__sublist-toggler.is-active)) .nav__item:first-child .nav__sublist-toggler{
    background:linear-gradient(90deg, #c9b09a 0%, rgba(201, 176, 154, 0.25) 100%);
    color:var(--color-white);
  }
  .cat-nav .nav__list > .nav__item:last-child{
    border:none;
    border-bottom-left-radius:2rem;
  }
  .cat-nav .nav__list > .nav__item:last-child .nav__link{
    border-bottom:none;
  }
  .cat-nav .nav__list > .nav__item > .nav__link{
    position:relative;
    padding:1rem 2rem 0.9rem;
    border:none;
  }
  .cat-nav .nav__list > .nav__item > .nav__link::after{
    content:"";
    position:absolute;
    bottom:0;
    left:0;
    width:100%;
    height:1px;
    background-color:var(--color-stroke);
  }
  .cat-nav .nav__list > .nav__item > .nav__link .icon{
    top:0;
  }
  .cat-nav .nav__list > .nav__item > .nav__link.is-active{
    --color:var(--color-white);
    --color-hover:var(--color-white);
    --color-active:var(--color-white);
    border-color:transparent;
    background:linear-gradient(90deg, #c9b09a 0%, rgba(201, 176, 154, 0.25) 100%);
  }
  .cat-nav .nav__sublist{
    max-height:calc(80vh - 2rem) !important;
    padding:3rem;
  }
  .cat-nav .nav__sublist.is-visible{
    animation:cat-sublist-appear 0.2s cubic-bezier(0.33, 1, 0.68, 1);
  }
  .cat-nav .nav__sublist .nav__link{
    border-color:transparent;
  }
  .cat-nav .grid-sublist-4-col{
    align-items:center;
    width:calc(100% - 30rem);
    max-width:initial;
    row-gap:0.5rem;
    padding:2.2rem 3rem 3rem;
  }
  .cat-nav .nav__item--return{
    display:none;
  }
  .cat-nav .nav-col{
    flex-basis:calc(50% - 2rem);
    gap:2.4rem;
  }
  .cat-nav .nav__close-button{
    display:none;
  }
  .cat-overlay{
    transition:none;
  }
  .dialog{
    padding:4rem;
  }
  .dialog__note{
    font-size:1.5rem;
    line-height:2rem;
  }
  .form.callback-form .text-field,
  .form.callback-push-form .text-field{
    margin:3rem 0;
  }
  .dialog-container[data-name=call-push] .dialog{
    max-width:60rem;
  }
  .dialog-container[data-name=call-push] .dialog__title{
    font-size:3rem;
    line-height:3.8rem;
  }
  .form-panel{
    gap:2rem;
    padding:3.9rem;
  }
  .form__fieldset{
    flex-direction:row;
  }
  .fieldset-panel{
    flex-direction:column;
  }
  .form__text-input{
    padding-right:6rem;
  }
  .input-textarea{
    min-height:20rem;
    max-height:36rem;
  }
  .qty-input{
    --height:3.4rem;
    max-width:10.4rem;
  }
  .form-radio__title{
    margin-bottom:0.4rem;
    line-height:2.1rem;
  }
  .nav__sublist.is-visible{
    visibility:visible;
    max-height:initial;
    animation:sublist-appear 0.2s cubic-bezier(0.33, 1, 0.68, 1);
  }
  .just-validate-error-label{
    font-size:1.4rem;
  }
  .topbar .container{
    gap:2.9rem;
    padding:0;
    transform:translateX(0.2rem);
  }
  .header-phones .drag-nav-container{
    gap:2.3rem;
  }
  .header{
    padding:2.3rem 0 1rem;
  }
  .header-controls{
    grid-template-columns:20.5rem 29rem 1fr 18rem;
    row-gap:1.9rem;
  }
  .header__logo{
    grid-column:1/2;
    width:20.2rem;
    height:4.2rem;
  }
  .header-settings{
    grid-column:3/5;
    grid-row:2;
  }
  .header-settings .custom-select-opener{
    padding-right:2.1rem;
    padding-left:2.6rem;
  }
  .header-auth.header-nav-link{
    font-size:1.3rem;
  }
  .header-caption{
    grid-column:2;
    grid-row:1;
    margin-left:auto;
  }
  .header-caption__title{
    padding-top:0;
    font-size:1.8rem;
    line-height:2.3rem;
  }
  .header-brands{
    position:relative;
    top:-0.2rem;
    display:none;
    grid-column:3/4;
    grid-row:1;
    justify-content:flex-start;
  }
  .header-controls__nav-row{
    grid-column:1/3;
    grid-row:2;
  }
  .categories-button{
    z-index:100;
    display:inherit;
  }
  .header-nav{
    margin-left:1rem;
  }
  .header-nav .greedy-item{
    padding-right:3rem;
  }
  .header-nav .greedy-button{
    margin-left:1.6rem;
  }
  .header-nav-link{
    font-size:1.4rem;
  }
  .header-info{
    margin-top:2rem;
  }
  .header-info .container{
    align-items:center;
    padding-left:30rem;
  }
  .header-bottom-row .container::after{
    bottom:6.8rem;
    left:4.6rem;
    width:24rem;
    height:23rem;
    background-size:24rem;
  }
  .promos-payment-methods{
    width:100%;
    max-width:100%;
    margin-left:0;
  }
  .cart-button{
    display:inline-flex;
    grid-column:4;
    grid-row:1;
  }
  .page-wrapper{
    gap:3.2rem;
  }
  .container .main--aside{
    flex-direction:row;
    align-items:flex-start;
    gap:2rem;
  }
  .main__content{
    gap:1.6rem;
  }
  .main__content .content{
    max-width:100%;
    padding-top:2.1rem;
    padding-bottom:0.1rem;
  }
  .main__content .content h2{
    margin-bottom:0.9rem;
  }
  .main__content .content p:not(:last-child){
    margin-bottom:3.1rem;
  }
  .main__aside{
    flex-shrink:0;
    width:24rem;
  }
  .main__aside--mobile-first{
    order:initial;
  }
  .main__aside--mobile-hidden{
    display:flex;
  }
  .main__aside .main__heading{
    display:none;
  }
  .aside-promo{
    display:block;
  }
  .content h1 + h2{
    margin-top:-0.2rem;
  }
  .content p:not(:last-child){
    margin-bottom:3rem;
  }
  .content ul,
  .content ol{
    margin-bottom:2.4rem;
  }
  .content__section-mt{
    margin-top:3rem;
  }
  .content.content--help h2{
    margin-bottom:0.4rem;
  }
  .content.content--page h1 + h2{
    padding-top:0.2rem;
  }
  .content.content--page p:not(:last-child){
    margin-bottom:2.4rem;
  }
  .content.content--about p:not(:last-child){
    margin-bottom:2rem;
  }
  .mb-1{
    margin-bottom:1rem !important;
  }
  .mb-2{
    margin-bottom:2rem !important;
  }
  .mb-24{
    margin-bottom:2.4rem !important;
  }
  .mb-3{
    margin-bottom:3rem !important;
  }
  .subscribe .container{
    min-height:8.8rem;
    padding:1.5rem 4rem;
  }
  .subscribe__caption{
    min-height:4.7rem;
    padding-left:5rem;
    background-position:0 calc(50% + 0.1rem);
    background-size:4rem;
  }
  .subscribe-form{
    width:100%;
  }
  .footer-testimonials{
    gap:3.6rem;
    margin:4rem 0;
    grid-template-columns:repeat(auto-fit, minmax(40rem, 1fr));
  }
  .testimonial{
    gap:1.5rem;
  }
  .testimonial__author{
    font-size:1.8rem;
    line-height:2.3rem;
  }
  .testimonial__text{
    font-size:1.5rem;
    line-height:2rem;
  }
  .rating__star{
    width:1.8rem;
    height:1.7rem;
  }
  .footer-delivery-methods{
    width:100%;
    max-width:100%;
  }
  .footer-delivery-methods .drag-nav-container{
    padding-right:0;
  }
  .footer{
    padding-bottom:0;
  }
  .footer__logo{
    width:20.2rem;
    height:4.2rem;
  }
  .footer-nav{
    margin-top:0;
  }
  .footer-nav .nav__list{
    flex-direction:row;
    gap:3rem;
  }
  .footer-buttons{
    display:none;
  }
  .product-cards{
    grid-template-columns:repeat(auto-fit, minmax(24.4rem, 1fr));
  }
  .product-cards.product_rec{
    grid-template-columns:repeat(auto-fit, minmax(21.4rem, 1fr));
  }
  .promo-card{
    gap:1rem;
    padding-left:1.9rem;
    background-position:100% 1.7rem;
    background-size:11.4rem;
  }
  .promo-card__title .card__link{
    font-size:3rem;
    line-height:3.2rem;
  }
  .promo-card__text{
    font-size:1.5rem;
    font-weight:500;
  }
  .card{
    gap:1rem;
  }
  .card__img{
    width:16rem;
  }
  .card--gift .card__img img{
    width:16rem;
  }
  .card__title{
    font-size:3rem;
    line-height:3.8rem;
  }
  .card__ingredient{
    font-size:1.4rem;
    line-height:1.8rem;
  }
  .card__desc{
    font-size:1.3rem;
    line-height:2rem;
  }
  .card__controls{
    flex-direction:row;
    padding-top:2rem;
  }
  .card__button{
    min-height:4.8rem;
  }
  .card__price{
    max-width:11.7rem;
    height:4.8rem;
    font-size:1.8rem;
    line-height:2.3rem;
  }
}

@media (min-width: 830px) and (max-width: 1279.98px){
  br.md-only{
    display:initial;
  }
}

@media (min-width: 1000px){
  .cat-nav .grid-sublist-4-col{
    grid-template-columns:repeat(auto-fit, minmax(22rem, 1fr));
  }
  .header-items{
    display:grid;
    grid-template-columns:repeat(2, 1fr);
  }
  .header-bottom-row .container::after{
    width:17.8rem;
    height:11.9rem;
    background-size:17.8rem;
  }
}

@media (min-width: 1100px){
  h1,
  .h1{
    font-size:5rem;
    line-height:6.3rem;
  }
  .h1{
    margin-bottom:1.6rem;
  }
  .header-brands{
    display:flex;
    justify-content:center;
  }
  .header-info .container{
    flex-direction:row;
    justify-content:space-between;
    align-items:center;
    gap:0;
  }
  .aside{
    display:block;
  }
  .sup-footer{
    margin-top:6rem;
  }
  .product-cards{
    padding-top:0.1rem;
  }
  .promo-cards{
    margin-top:-0.1rem;
  }
  .card:nth-child(3) .card__desc{
    margin-top:1rem;
  }
  .card__desc{
    margin-top:2rem;
  }
}

@media (min-width: 1280px){
  br.lg{
    display:initial;
  }
  .cat-nav{
    right:4rem;
    max-width:100rem;
  }
  .form-radio__text{
    max-width:97%;
  }
  .header{
    padding-bottom:1.5rem;
  }
  .header > .container{
    padding-right:4rem;
  }
  .header-controls{
    grid-template-columns:20rem 2rem 35rem 1fr 14rem 18rem;
  }
  .header__logo{
    grid-column:1/3;
  }
  .header-settings{
    grid-column:5/7;
  }
  .header-caption{
    grid-column:3/4;
    margin-right:1.3rem;
  }
  .header-brands{
    grid-column:4/6;
    justify-content:flex-start;
    margin-left:0.7rem;
  }
  .header-controls__nav-row{
    grid-column:2/5;
  }
  .header-info .container{
    min-height:10.4rem;
    padding-right:4rem;
    padding-left:26rem;
  }
  .header-promo{
    max-width:26rem;
  }
  .header-promo__title{
    align-items:flex-start;
  }
  .header-promo__title-text{
    font-size:2.6rem;
    line-height:3.3rem;
  }
  .header-promo__text{
    padding-left:4rem;
    font-size:1.2rem;
    line-height:normal;
  }
  .header-items{
    display:flex;
    flex-direction:row;
    justify-content:space-between;
    align-items:center;
    gap:1rem;
    max-width:69.1rem;
    margin-right:0;
  }
  .header-item{
    flex-shrink:0;
    gap:1rem;
    max-width:calc(25% - 1rem);
  }
  .header-item:last-child{
    min-width:12.1rem;
  }
  .header-item__title{
    gap:1rem;
    min-height:3.4rem;
    font-size:1.4rem;
    line-height:1.7rem;
  }
  .header-item__title .icon{
    font-size:3rem;
  }
  .header-item__text{
    font-size:1.2rem;
  }
  .header-bottom-row .container{
    gap:2.5rem;
    height:8.8rem;
    padding:2rem 4rem;
  }
  .header-bottom-row .container::after{
    bottom:0;
    left:4rem;
    width:27.5rem;
    height:26.1rem;
    background-size:27.5rem;
  }
  .search-form{
    margin-left:29.5rem;
  }
  .search-form__input{
    font-size:1.5rem;
  }
  .index-button{
    width:4.8rem;
    height:4.8rem;
  }
  .index-button .icon{
    font-size:2.4rem;
  }
  .cart-button{
    grid-column:6;
  }
  .container{
    padding-right:4rem;
    padding-left:4rem;
  }
  .container .main--aside{
    gap:3.2rem;
  }
  .footer-testimonials{
    grid-template-columns:repeat(auto-fit, minmax(27.3rem, 1fr));
  }
  .footer{
    padding:3.9rem 0 0;
  }
  .footer .container{
    gap:4rem;
  }
  .footer__wrapper{
    flex-direction:row;
    gap:2rem;
  }
  .footer__affiliate-button{
    margin-top:0;
  }
  .footer__copyrights{
    padding:2rem 1.5rem;
  }
}

@media (min-width: 1920px){
  body{
    overflow-x:hidden;
  }
}

@media (max-width: 959.98px){
  .nav__sublist > .nav__item:first-child{
    padding-top:2rem;
  }
  .navbar-toggler{
    position:relative;
    z-index:101;
    display:block;
    order:1;
    width:2.8rem;
    height:2.8rem;
    padding:0 0.2rem;
    border:0;
    background-color:transparent;
  }
  .navbar-toggler__burger{
    --burger-color:red;
    display:block;
    width:2.4rem;
    height:0.3rem;
    background-color:var(--burger-color);
  }
  .navbar-toggler__burger::after, .navbar-toggler__burger::before{
    content:"";
    position:absolute;
    left:0.2rem;
    width:2.4rem;
    height:0.3rem;
    background-color:var(--burger-color);
    transition:transform var(--transition-long-cubic);
  }
  .navbar-toggler__burger::before{
    transform:translateY(-0.7rem);
  }
  .navbar-toggler__burger::after{
    transform:translateY(0.7rem);
  }
  .navbar-toggler[aria-expanded=true] .navbar-toggler__burger{
    background-color:transparent;
  }
  .navbar-toggler[aria-expanded=true] .navbar-toggler__burger::after, .navbar-toggler[aria-expanded=true] .navbar-toggler__burger::before{
    border-radius:0;
  }
  .navbar-toggler[aria-expanded=true] .navbar-toggler__burger::before{
    transform:rotate(45deg);
  }
  .navbar-toggler[aria-expanded=true] .navbar-toggler__burger::after{
    transform:rotate(-45deg);
  }
  .navbar{
    position:fixed;
    top:0;
    z-index:100;
    overflow:auto;
    width:min(45rem, 85%);
    height:100%;
    background-color:var(--color-white);
    transition:transform var(--transition-long-cubic);
  }
  .navbar--rtl{
    right:0;
    transform:translateX(100%);
  }
  .navbar--ltr{
    left:0;
    transform:translateX(-100%);
  }
  .navbar--ttb{
    transform:translateY(-100%);
  }
  .navbar--btt{
    top:initial;
    bottom:0;
    transform:translateY(100%);
  }
  .navbar.is-visible.navbar--rtl, .navbar.is-visible.navbar--ltr{
    transform:translateX(0%);
  }
  .navbar.is-visible.navbar--ttb, .navbar.is-visible.navbar--btt{
    transform:translateY(0%);
  }
  .navbar .nav-container{
    display:flex;
    flex-grow:1;
    flex-direction:column;
    align-items:center;
    padding-top:0;
  }
  .navbar .nav__list{
    flex-direction:column;
    align-items:initial;
    padding:min(20vh, 10rem) 3rem;
  }
  body.is-fixed{
    position:fixed;
    width:100%;
  }
  body.has-scroll{
    overflow-y:scroll;
    overflow-x:unset;
  }
}

@media (max-width: 829.98px){
  .cat-nav{
    position:fixed;
    top:0;
    right:0;
    display:flex;
    width:100%;
    max-width:39rem;
    height:100%;
    max-height:initial;
    border-radius:0;
    margin-left:-1.5rem;
    background-color:var(--color-dark);
    -webkit-backdrop-filter:none;
            backdrop-filter:none;
    transform:translateX(100%);
    transition:transform var(--transition-long-cubic);
  }
  .cat-nav.is-visible{
    transform:translateX(0%);
    transition:transform var(--transition-long-cubic);
  }
  .cat-nav .nav-container{
    flex-direction:column;
    padding:2rem 2rem 6.8rem;
  }
  .cat-nav .nav__list{
    width:calc(100% + 4rem);
    height:100%;
    max-height:initial;
    margin-left:-2rem;
  }
  .cat-nav .nav__list > .nav__item > .nav__link{
    padding:0.9rem 2rem;
  }
  .cat-nav .nav__sublist{
    left:0;
    visibility:visible;
    flex-direction:column;
    flex-wrap:nowrap;
    justify-content:initial;
    gap:1.5rem;
    height:100%;
    max-height:100%;
    background-color:var(--color-dark);
    transform:translateX(100%);
    transition:transform var(--transition-long-cubic);
  }
  .cat-nav .nav__sublist.is-visible{
    padding-bottom:6.8rem;
    transform:translateX(0%);
  }
  .cat-nav .sublist-4-col{
    width:100%;
  }
  .cat-nav .grid-sublist-4-col{
    display:flex;
    flex-direction:column;
    gap:0;
    width:100%;
  }
  .main__content:has(+ .main__aside--mobile-first) .main__heading{
    display:none;
  }
}

@media (max-width: 599.98px){
  .dialog{
    --horizontal-margin:0;
    max-width:36rem;
    padding:3rem 2rem;
  }
  .form.callback-form .input-tel,
  .form.callback-push-form .input-tel{
    font-size:1.4rem;
  }
  .fieldset-panel{
    padding:1.2rem;
  }
  .form-legend{
    top:-1.2rem;
    left:-1.2rem;
    width:calc(100% + 2.4rem);
    min-height:3.9rem;
    padding:0.9rem 1.1rem;
    margin-bottom:-2rem;
    font-size:1.6rem;
    line-height:2.5rem;
  }
  .fieldset--3-col,
  .fieldset--2-col{
    gap:2rem;
  }
  .fieldset--mobile-row{
    flex-direction:row;
  }
  .form-radio{
    gap:0.4rem;
    min-height:3rem;
    padding-top:0;
    padding-left:4rem;
  }
  .form-radio::before{
    top:50%;
    width:3rem;
    height:3rem;
    transform:translateY(-50%);
  }
  .form-radio__title{
    gap:0.5rem;
    margin:auto 0;
    font-size:1.4rem;
    line-height:1.8rem;
  }
  .form-radio__title .icon{
    font-size:1.6rem;
  }
  .form-radio__price{
    top:0;
    right:0;
    font-size:1.3rem;
    line-height:normal;
  }
  .form__label--checkbox{
    gap:0.4rem;
    min-height:3rem;
    padding-left:4rem;
  }
  .form__label--checkbox::before{
    top:50%;
    width:3rem;
    height:3rem;
    transform:translateY(-50%);
  }
  .form__label-title{
    top:0;
    font-size:1.4rem;
    line-height:1.8rem;
  }
  .header-currency .custom-select-panel{
    --translate-x:10%;
    right:0;
    left:unset;
  }
  .content{
    font-size:1.4rem;
    line-height:2rem;
  }
  .content p:not(:last-child){
    margin-bottom:2rem;
  }
  .content ul li{
    padding-left:1.6rem;
  }
  .content ul li::before{
    left:0.2rem;
  }
}

@media (max-width: 389.98px){
  .custom-select-opener{
    padding-left:0;
  }
  .form__text-input{
    padding-left:0;
  }
  .header-settings .custom-select-opener{
    padding-left:0;
  }
  .header-select-wrapper__icon{
    display:none;
  }
  .header-lang{
    min-width:6.5rem;
  }
  .header-currency{
    min-width:4.8rem;
  }
  .header-nav .greedy-item{
    padding-right:1.3rem;
  }
  .header-nav .greedy-button{
    margin-left:0;
  }
  .header-items{
    display:grid;
    grid-template-columns:repeat(2, 1fr);
    gap:1.5rem;
  }
  .header-bottom-row .container::after{
    opacity:0.2;
  }
}

@media (max-width: 374.98px){
  .header-brands{
    display:none;
  }
}

@media (max-width: 359.98px){
  .dialog__title{
    line-height:2.6rem;
  }
  .dialog-container[data-name=call] .dialog{
    padding:3rem 2rem;
  }
  .header-currency .custom-select-panel{
    --translate-x:0%;
  }
  .header-nav{
    width:23rem;
  }
  .testimonials{
    grid-template-columns:repeat(auto-fit, minmax(28rem, 1fr));
  }
  .testimonials .testimonial__text{
    max-width:100%;
  }
  .footer-button .button__text{
    font-size:1.1rem;
  }
  .product-cards{
    grid-template-columns:1fr;
  }
  .promo-cards{
    grid-column:1;
  }
}

@media (max-width: 320px){
  body{
    overflow-x:auto;
  }
}

.ac_results {
    border: 1px solid var(--content-link-color);
    border-radius: 10px;
    background-color: rgba(44, 45, 49, 0.8);
    overflow: hidden;
    text-align: left;

    position: absolute !important;
    z-index: 10000;
    left: unset;
    width: 100% !important;
    padding: 10px 15px;
    box-shadow: 4px 4px 12px -3px rgba(0, 0, 0, 0.75);
  }

  @media (max-width: 1024px) {
    .ac_results {
      border: 1px solid var(--content-link-color);
      border-radius: 10px;
      background-color: rgba(44, 45, 49, 0.8);
      overflow: hidden;
      text-align: left;

      position: absolute !important;
      z-index: 10000;
      padding: 10px 15px;
      box-shadow: 4px 4px 12px -3px rgba(0, 0, 0, 0.75);
    }
  }

  .ac_results ul {
    z-index: 10000;
    width: 100%;
    list-style-position: outside;
    list-style: none;
    padding: 0;
    margin: 0;
  }

  .ac_results iframe {
    z-index: 10000;
    display:none;/*sorry for IE5*/
    display/**/:block;/*sorry for IE5*/
    position:absolute;
    top:0;
    left:0;
    z-index:-1;
    width:3000px;
    height:3000px;
  }

  .ac_results li {
    z-index: 10000;
    background-color: rgba(44, 45, 49, 0.8);
    margin: 0px;
    padding: 2px 5px;
    cursor: pointer;
    display: block;
    width: 100%;
    font: menu;
    font-size: 16px;
    overflow: hidden;
  }

  .ac_over {
    z-index: 10000;
    color: var(--content-link-color);
  }

  .a_update_cart {
    --color: var(--content-link-color);
    --color-hover: var(--content-link-color-hover);
    --color-active: var(--content-link-color-active);
    text-decoration-color: transparent;
    text-underline-offset: 0.2rem;
    color: var(--color);
    transition-property: var(--transition-props-color);
    transition-timing-function: var(--transition-func-cubic);
    transition-duration: var(--transition-duration-short);
}

.popup_gray{
    position: fixed;
    top: 0;
    background-color: rgba(44, 45, 49, 0.8);
    width: 100%;
    height: 100%;
    z-index: 1001;
  }

  .popup_call{
    position: fixed;
    margin-left: auto;
    margin-right: auto;
    background-color: rgba(44, 45, 49, 0.9);
    border: 1px solid var(--color);
    width: 40%;
    top: 35%;
    left: 35%;
    height: auto;
    display: flex;
    flex-direction: column;
    border-radius: 12px;
    padding: 20px;
    min-width: 300px;
    z-index: 6;
  }

  @media (max-width: 720px) {
    .popup_call {
      left: 20%;
    }
  }

  @media (max-width: 455px) {
    .popup_call {
      left: 5%;
    }
  }

  .popup_white {
    position: fixed;
    top: 0;
    left: 39%;
    z-index: 100;
  }

  .popup_white.hide {
    display: none;
  }

  .popup_push {
    box-shadow: 0 0 30px rgba(0,0,0,0.5);
    background-color: rgba(44, 45, 49);
    padding: 20px;
    display: flex;
    flex-direction: column;
    margin: 0 auto;
    max-width: 300px;
    border-radius: 20px;
  }

  .popup_block {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
  }

  .popup_head {
    text-transform: uppercase;
    font-weight: 700;
    font-size: 21px;
    text-align: center;
  }

  .popup_push_text {
    font-size: 14px;
    text-align: center;
  }

  .push_buttons {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-evenly;
  }

  .push_decline {
    color: var(--color-primary);
    border: 1px solid var(--color-primary);
    padding: 10px 20px;
    border-radius: 12px;
    cursor: pointer;
  }

  .push_decline:hover{
    color: white;
    background-color: var(--color-primary);
  }

  .push_allow {
    color: white;
    background-color: var(--color-primary);
    padding: 10px 20px;
    border-radius: 12px;
    cursor: pointer;
  }

  .push_allow:hover{
    background-color: rgba(201, 176, 154, 50%);
  }

  .button_close, .button_close_message{
    display: flex;
    justify-content: flex-end;
    cursor: pointer;
  }

  .button_close svg, .button_close_message svg{
    color: rgb(171 171 171);
  }

  .button_close svg:hover, .button_close_message svg:hover{
    color: black;
  }

  @media (max-width: 560px) {
    .popup_push {
      margin: 0 auto;
    }
  }

  @media (max-width: 510px) {
    .popup_white {
      left: 19%;
    }
  }

  @media (max-width: 430px) {
    .popup_white {
      left: 2%;
    }
  }

  .message_sended.hidden{
    display: none;
  }

  .message_sended {
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .sub_mini {
    display: none;
  }

  @media (max-width: 435px) {
    .subscribe-form__button {
      padding: 0;
      min-width: 60px;
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .sub_mini {
      display: block;
      width: 25px;
      height: 25px;
    }

    .sub_text {
      display: none;
    }
}

.cmcmodal{
    animation-name: modalFadeInOut;
    animation-timing-function: ease-in-out;
    animation-duration: 8s;
    animation-direction: alternate;
    position: fixed;
    bottom:50%;
    right: 1%;
    padding: 20px;
    background: linear-gradient(90deg, #c9b09a 0%, rgba(201, 176, 154, 0.5) 100%);
    box-sizing: border-box;
    opacity: 0;
    transition: opacity 2s;
    color: white;
  }

  .cmcmodal.hidden {
      display: none;
  }

  .modal_cart {
    animation-name: modalFadeInOut;
    animation-timing-function: ease-in-out;
    animation-duration: 8s;
    animation-direction: alternate;
    position: fixed;
    bottom:50%;
    right: 1%;
    padding: 20px;
    background: linear-gradient(90deg, #c9b09a 0%, rgba(201, 176, 154, 0.5) 100%);
    box-sizing: border-box;
    opacity: 0;
    transition: opacity 2s;
    color: white;
  }

  .modal_cart.hidden {
      display: none;
  }


#new_gift_block {
    display: flex;
    gap: 20px;
    width: 100%;
    margin-left: auto;
    max-width: 40rem;
}

.select_gift {
    width: 100%;
    max-width: 300px;
}

.select_header_gift {
    align-items: center;
    display: flex;
    justify-content: space-between;
    font-size: 1.5rem;
    height: 4.8rem;
    overflow: hidden;
    padding-left: 2rem;
    padding-right: 2rem;
    position: relative;
    width: 100%;
    max-width: 300px;
    z-index: 2;
    gap: 10px;
    border-bottom: 1px solid var(--color-stroke);
}

.select_header_gift:hover {
    cursor: pointer;
    border-bottom: 1px solid var(--color-white);
}

.select_body_gifts {
    --offset-y: 0.1rem;
    --translate-x: 0%;
    background: rgba(44, 45, 49, 0.8);
    box-shadow: var(--shadow-dropdown);
    display: none;
    padding: 1rem 0;
    transform: translate3d(var(--translate-x), var(--offset-y), 0);
    position: absolute;
    width: 100%;
    max-width: 300px;
    backdrop-filter: blur(10px);
}

.select_gift.is-active .select_body_gifts {
    display: block;
    z-index: 100;
    max-height: 24rem;
    overflow-y: auto;
    animation:select-panel-appear 0.2s cubic-bezier(0.33, 1, 0.68, 1);
}

.select_item_gift {
    font-size: 1.5rem;
    font-weight: 700;
    padding: 1rem 2rem;
    position: relative;
    transition: background-color var(--transition-short-cubic), color var(--transition-short-cubic);
    cursor: pointer;
}

.select_item_gift:hover {
    background: linear-gradient(90deg, #c9b09a 0%, rgba(201, 176, 154, 0.25) 100%);
    color: var(--color-white);
}

.select_body_gifts::-webkit-scrollbar{
  width:0.6rem;
}

.select_body_gifts::-webkit-scrollbar-track{
  border-radius:1rem;
  margin-top:0.6rem;
  margin-bottom:0.6rem;
  background-color:var(--color-dark);
}

.select_body_gifts::-webkit-scrollbar-thumb{
  width:0.2rem;
  border-radius:2rem;
  background:linear-gradient(90deg, transparent 40%, var(--color-primary) 40%, var(--color-primary) 60%, transparent 60%);
}

.select_body_gifts::-webkit-scrollbar-track{
  margin-top:2rem;
  margin-bottom:2rem;
}

.info-panel__row .more {
    text-decoration: underline;
}

.info-panel__row .text-box .text {
    display: inline-block;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.info-panel__row .text-box .text.active {
    -webkit-line-clamp: initial;
}

.info-panel__row .text-box .text.active a {
    margin-right: 5px;
}

@keyframes modalFadeInOut {
    0% {
    opacity:0;
  }
  2% {
    opacity:0.1;
  }
  5% {
    opacity:0.2;
  }
  10% {
    opacity:0.5;
  }
  15% {
    opacity:0.7;
  }
  20% {
    opacity:1;
  }
  80% {
    opacity:1;
  }
  85% {
    opacity:0.7;
  }
  90% {
    opacity:0.5;
  }
  95% {
    opacity:0.2;
  }
  98% {
    opacity:0.1;
  }
  100% {
  opacity:0;
  }
  }

  .christmas{
    width: 100%;
    cursor: pointer;
    margin-top: 20px;
  }

  .christmas img {
    width: 100%;
  }

  .site_info_url_block {
    margin-left: 20px;
}

.site_info_link {
    --color: var(--color-grey-1);
    --color-hover: var(--color-primary);
    --color-active: var(--color-primary-dim);
    height: 1.8rem;
    font-size: 1.6rem;
    line-height: normal;
    font-weight: 500;
    text-decoration-color: transparent;
    color: var(--color);
    text-decoration: none;
}

.sitemap_menu{
    display: flex;
    justify-content: center;
    font-size: 1.4rem;
    font-weight: 500;
    color: var(--color-grey-1);
    transition: color 0.3s ease;
}

.sitemap_menu a{
    color: var(--color-grey-1);
}

.sitemap_menu a:hover{
    color: var(--color-primary);
}