:root {
    --background-light-color: #ffffff;
    --foreground-link-color: #0b57d0;
    --foreground-main-color: #4C4830;
    --background-main-color: #597358;
    --foreground-dark-color: #1D1D1B;
    --foreground-light-color: var(--background-light-color);
    --background-alternate-color: #F4F0EA;
    --background-alternate-secondary-color: #E3D7C0;
    --background-alternate-tertiary-color: var(--foreground-main-color);
    --background-alternate-quaternary-color: #F9F7F4;
    --background-overlay-color: rgba(48, 47, 42, .6);
    --foreground-light-opacity-color: rgba(255, 255, 255, .8);
    --foreground-clear-opacity-color: rgba(255, 255, 255, .2);
    --foreground-border-color: #B7B190;
    --background-border-color: rgb(255, 255, 255, .1);
    --background-border-hover-color: #B7B190;
    --background-green-electric-color: #84C381;
    --background-title-wrapper-color: #435542;
    --foreground-border-products-color: #99B898;
    --photoblock-text-width: 590px;
    --border-radius-normal: 16px;
}

html {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    scrollbar-gutter: stable;
}
*,
*::after,
*::before {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-tap-highlight-color: rgba(255, 255, 255, 0) !important;
    -webkit-focus-ring-color: rgba(255, 255, 255, 0) !important;
    -webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
    outline: none !important;
}
body {
    font-family: "Poppins", Helvetica, Tahoma, sans-serif;
    font-size: 18px;
    font-weight: 400;
    font-style: normal;
    font-optical-sizing: auto;
    line-height: 1.4em;
    color:  var(--foreground-main-color);
    padding: 0;
    margin: 0 !important;
    background-color: var(--background-light-color);
}
body.overlay {
    height: 100%;
    overflow: hidden;
}
body.overlay::after {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--background-overlay-color);
    backdrop-filter: blur(3px);
    z-index: 1;
    pointer-events: none;
    animation: fadeIn 0.3s;
}
@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}
a {
    color: var(--foreground-link-color);
    text-decoration: none;
}
a:hover {
    text-decoration: underline;
}
svg {
    overflow: hidden;
    vertical-align: middle;
}
p {
    margin: 0 0 24px 0;
}
h2, h3, h4, h5, h6 {
    font-size: 26px;
    font-weight: 700;
    line-height: 1.2;
    margin: 0 0 24px 0;
}
.page h3 {
    font-size: 20px;
    font-weight: 600;
}
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
}
.ico {
    display: inline-block;
    font-size: inherit;
    width: 1em;
    height: 1em;
    stroke-width: 0;
    stroke: currentColor;
    fill: currentColor;
}
.ico--play {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 73px;
    transition: transform .2s;
}
.video-grid__figure:hover .ico--play,
.video-award__img:hover .ico--play,
.history__img:hover .ico--play {
    transform: translate(-50%, -50%) scale(1.15);
}
.img-responsive {
    display: block;
    max-width: 100%;
    height: auto;
}
.align-center {
    text-align: center;
}
.relative {
    position: relative;
}
.intro {
    padding-top: 45px;
}
.block-vertical-padding {
    padding-top: 140px;
    padding-bottom: 140px;
    padding-top: clamp(2.5rem, -1.4063rem + 12.5vw, 8.75rem);
    padding-bottom: clamp(2.5rem, -1.4063rem + 12.5vw, 8.75rem);
}
.block-vertical-top-padding {
    padding-top: 140px;
    padding-top: clamp(2.5rem, -1.4063rem + 12.5vw, 8.75rem);
}
.block-vertical-top-min-padding {
    padding-top: 90px;
    padding-top: clamp(2.5rem, 0.5469rem + 6.25vw, 5.625rem);
}
.container {
	width: 100%;
	max-width: 1730px;
	padding-left: 15px;
	padding-right: 15px;
    margin: auto;
}
.container--medium-high {
    max-width: 1570px;
}
.container--medium {
    max-width: 1200px;
}
.container--card-grid {
    max-width: 1580px;
    padding-left: 0;
    padding-right: 0;
}
.container--nopadding {
    padding-left: 0;
    padding-right: 0;
}
.container--small {
    max-width: 780px;
    padding-left: 0;
    padding-right: 0;
}
.header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    padding: 12px 0;
    background-color: var(--background-light-color);
    transition: transform .3s, box-shadow .3s;
    z-index: 3;
}
.header--hidden {
    transform: translateY(-100%);
}
.overlay .header--fixed {
    transform: none;
}
.header--fixed {
    box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.4);
}
.header > .container {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.header__logo {
    position: relative;
    flex: 0 0 auto;
    font-size: 135px;
    color: var(--foreground-dark-color);
    transition: height .3s, width .3s;
    z-index: 3;
}
.header__logo path {
    fill: #1d1d1b;
}
.header--fixed .header__logo {
    height: 90px;
    transition-delay: .3s;
}
.hamburger {
    position: relative;
    display: none;
	width: 54px;
	height: 54px;
	cursor: pointer;
    background-color: var(--background-main-color);
    border-radius: 50%;
    margin-left: 15px;
    z-index: 3;
}
.hamburger__icon {
	transition-duration: 0.5s;
	position: absolute;
	height: 2px;
	width: 25px;
	background-color: var(--background-light-color);
	top: 26px;
    left: 15px;
    border-radius: 4px;
}
.hamburger__icon::before,
.hamburger__icon::after {
    display: block;
	transition-duration: 0.5s;
	position: absolute;
	width: 25px;
	height: 2px;
	background-color: var(--background-light-color);
	content: "";
	top: 8px;
    border-radius: 4px;
}
.hamburger__icon::before {
	top: -8px;
}
.hamburger--open .hamburger__icon {
    transition-duration: 0.5s;
    background: transparent;
}
.hamburger--open .hamburger__icon::before {
    transform: rotateZ(45deg) translate(5px, 6px);
}
.hamburger--open .hamburger__icon::after {
    transform: rotateZ(-45deg) translate(5px, -6px);
}

.language__list {
    display: none;
}

/* Menu header desktop */
@media (min-width: 1400px) {
    .menu__list {
        display: flex;
        list-style: none;
        margin: 0;
        padding: 0;
    }
    .menu__item {
        margin: 0px 20px;
    }
    .menu__item > a {
        position: relative;
        display: block;
        font-size: 18px;
        font-weight: 600;
        text-decoration: none;
        color: var(--foreground-main-color);
        padding: 8px 0px;
        line-height: 1.2;
    }
    .menu__item a::after {
        content: "";
        position: absolute;
        left: 0;
        bottom: 6px;
        width: 100%;
        height: 2px;
        background-color: var(--background-main-color);
        opacity: 0;
        transition: all 0.25s ease;
    }
    .menu__item a:hover::after,
    .menu__item--active a::after {
        bottom: 0;
        opacity: 1;
        width: 100%;
    }
    .header__shop--mobile {
        display: none !important;
    }
}

/* Menu header mobile */
@media (max-width: 1399px) {
    .lang {
        display: none;
    }
    .hamburger {
        display: block;
    }
    .header > .container {
        justify-content: flex-start;
    }
    .header__logo {
        margin-right: auto;
        width: 90px;
        height: 90px;
    }
    .header__link {
        margin-right: auto;
    }
    .header__shop {
        margin-left: 15px;
    }
    .menu {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        position: fixed;
        left: 100%;
        top: 0;
        width: 100%;
        height: 100vh;
        height: 100dvh;
        padding: 50px 15px 0 15px;
        background-color: var(--background-light-color);
        overflow-y: auto;
        backface-visibility: hidden;
        z-index: 2;
    }
    .menu--animate {
        transition: transform 0.3s ease-out;
    }
    .menu--show {
        transform: translate3d(-100%, 0, 0);
    }
    .menu__list {
        padding: 0;
        margin: 0;
        list-style: none;
        text-align: center;
    }
    .menu__item {
        margin: 4px 0 !important;
    }
    .menu__item a {
        position: relative;
        display: inline-block;
        font-size: 18px;
        font-weight: 600;
        text-decoration: none;
        color: var(--foreground-main-color);
        padding: 8px 0px;
    }
    .menu__item--active a::after {
        position: absolute;
        content: "";
        display: block;
        bottom: 2px;
        width: 100%;
        height: 2px;
        background-color: currentColor;
    }
    .header__shop--mobile {
        display: block !important;
        margin: 15px 0;
    }
    .language__list {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        list-style: none;
        margin: 30px 0 0 0;
        padding: 0;
    }
    .language__list li {
        margin: 5px;
    }
    .language__list li a {
        display: block;
        color: var(--foreground-main-color);
    }
    .language__list li.language__item--active a {
        font-weight: 700;
    }

}
.lang {
    position: relative;
}
.lang__btn {
    display: flex;
    align-items: center;
    font-size: 18px;
    font-weight: 600;
    text-transform: uppercase;
    user-select: none;
    background-color: transparent;
    border: 1px solid transparent;
    border-radius: 10px;
    cursor: pointer;
    color: var(--foreground-main-color);
    padding: 10px;
}
.lang__btn .angle {
    font-size: 12px;
    margin-left: 4px;
}
.lang__btn .globe {
    font-size: 23px;
    margin-right: 4px;
}
.lang__list {
    visibility: hidden;
    opacity: 0;
    position: absolute;
    left: 50%;
    top: calc(100% + 15px);
    width: 160px;
    margin: 0;
    padding: 20px 0px;
    border-radius: 20px;
    list-style: none;
    text-align: center;
    background-color: var(--background-alternate-color);
    transform: translate(-50%, -10px);
    transition: transform .2s, opacity .2s, visibility .2s;
    z-index: 3;
}
.lang__list::after {
	bottom: 100%;
	left: 50%;
	border: solid transparent;
	content: "";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
	border-color: rgba(244, 240, 234, 0);
	border-bottom-color: #F4F0EA;
	border-width: 14px;
	margin-left: -14px;
}
.lang:hover .lang__list {
    visibility: visible;
    opacity: 1;
    transform: translate(-50%, 0);
}
.lang__item a {
    display: block;
    font-size: 18px;
    font-weight: 400;
    text-decoration: none;
    color: var(--foreground-main-color);
    padding: 8px 39px;
    line-height: 1.2;
}
.lang__item a:hover {
    text-decoration: underline;
    text-underline-offset: 8px;
}
.lang__item--active a {
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 8px;
    pointer-events: none;
}
.btn,
.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    font-weight: 400;
    text-decoration: none;
    color: var(--foreground-light-color);
    background-color: var(--background-main-color);
    padding: 20px 24px;
    border-radius: 40px;
    transition: background-color .2s, transform .2s, box-shadow .2s;
    cursor: pointer;
}
.button::before {
    width: 14px;
    height: 18px;
    content: url(../svg/flecha.svg);
    margin-right: 20px;
}
.btn span {
    margin-right: 6px;
}
.btn:hover {
    text-decoration: none;
    background-color: var(--foreground-main-color);
    transform: translate(-2px, -2px);
    box-shadow: 4px 4px 0px 0px var(--background-border-hover-color);
}
.btn--border,
.button {
    background-color: var(--background-border-color);
    border: 1px solid var(--foreground-border-color);
}
.btn--border:hover,
.button:hover {
    background-color: var(--background-border-hover-color);
    transform: none;
    box-shadow: none;
}
.btn--filter {
    cursor: pointer;
    color: var(--foreground-main-color);
    background-color: var(--background-light-color);
    border: 1px solid var(--foreground-border-products-color);
    padding: 24px 30px;
    line-height: 18px;
}
.filters__item--active .btn--filter,
.btn--filter:hover {
    background-color: var(--background-alternate-color);
}
.btn--reverse span {
    margin: 0 0 0 6px;
}
.btn--border-inverted {
    color: var(--foreground-main-color);
}
.btn--border-inverted:hover {
    background-color: var(--background-alternate-color);
}
.btn--back {
    position: absolute;
    top: 0;
    left: 15px;
	margin-top: 90px;
	margin-top: clamp(2.5rem, 0.5469rem + 6.25vw, 5.625rem);
}
.product-detail .btn--back {
    top: -120px;
    border: 1px solid var(--background-light-color)
}
.btn--cart {
    padding: 15px 16px;
}
.hero-home.swiper {
    height: 100vh;
    height: 100dvh;
}
.hero-home .swiper-slide {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    background-color: var(--background-main-color);
}
.hero-home__claim {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 150px 15px 0 15px;
}
.hero-home__claim::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--background-overlay-color);
    z-index: -1
}
.hero-home__claim__title {
    font-size: 60px;
    font-size: clamp(1.5rem, -0.1071rem + 5.1429vw, 3.75rem);
    font-weight: 300;
    line-height: 1.2;
    color: var(--background-light-color);
    max-width: 980px;
    text-align: center;
    margin-bottom: 40px;
}
.hero-home__claim__title strong {
    font-weight: 600;
}
.hero-home .swiper-pagination {
    padding-top: 2px;
	bottom: 54px;
}
.hero-home .swiper-pagination-bullet {
	background: var(--background-light-color);
	opacity: 1;
	height: 8px;
	width: 8px;
    margin: 0 8px !important;
}
.hero-home .swiper-pagination-bullet-active {
	background: var(--background-green-electric-color);
    outline: 1px solid var(--background-light-color) !important;
    outline-offset: 3px;
}
.title {
    text-align: center;
    background-color: var(--background-main-color);
    text-align: center;
    padding: 60px 15px;
    overflow: hidden;
}
.title--top {
    padding-top: calc(159px + 60px);
}
.title__wrapper {
    position: relative;
}
.title__text {
    position: relative;
    font-size: clamp(20px, 0.7937rem + 1vw, 30px);
    font-weight: 400;
    line-height: clamp(30px, 1.4187rem + 1vw, 40px);
    max-width: 1500px;
    margin: 0 auto;
    color: var(--background-light-color);
    text-align: center;
    z-index: 1;
}
.title__text strong {
    font-weight: 600;
}
.title__ornament {
    position: absolute;
    will-change: transform;
    z-index: 0;
}
.title__ornament--left {
    top: -360px;
    left: 0;
}
.title__ornament--right {
    top: -400px;
    right: 0;
    transform: rotate(360deg) scaleX(-1);
}
.title-neutral {
    font-size: 40px;
    font-size: clamp(1.625rem, 1.0781rem + 1.75vw, 2.5rem);
    font-weight: 400;
    line-height: 1;
    max-width: 800px;
    margin: 0 auto 19px auto;
    color: var(--foreground-main-color);
    text-align: center;
}
.title-neutral--left {
    text-align: left;
    margin-left: 0;
    margin-right: 0;
}
.title-neutral strong {
    font-weight: 700;
}
.title-minimal {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.2;
    color: var(--foreground-light-color);
    margin: 0 0 20px 0;
}
.title-big {
    font-size: 40px;
    font-size: clamp(1.625rem, 1.0781rem + 1.75vw, 2.5rem);
    font-weight: 400;
    margin: 0 0 28px 0;
    margin-bottom: clamp(1rem, 0.5313rem + 1.5vw, 1.75rem);
    line-height: 1.2;
}
.title-big strong {
    font-weight: 700;
}
.title-default {
    font-size: 40px;
    font-weight: 700;
    margin: 0 0 42px 0;
    line-height: 1.2;
}
.subtitle-neutral {
    font-size: 18px;
    font-weight: 400;
    line-height: 1.2;
    max-width: 800px;
    margin: 0 auto 50px auto;
    color: var(--foreground-main-color);
    text-align: center;
}
.intro-inside {
    overflow: hidden;
}
.intro-inside__wrapper {
    display: flex;
    align-items: center;
}
.intro-inside__text {
    flex: 1 0 44%;
    padding: 0 125px 0 15px;
}
.intro-inside__text__wrapper {
    max-width: 550px;
    margin-left: auto;
}
.intro-inside__text p:last-child {
    margin-bottom: 0;
}
.intro-inside__figure {
    display: flex;
    align-items: stretch;
    justify-content: flex-start;
    margin: 0;
}
.intro-inside__figure__item {
    padding: 10px;
}
.intro-inside__figure__item img {
    display: block;
    margin: 0px;
    border-radius: var(--border-radius-normal);
    object-fit: cover;
    height: 100%;
}
.intro-inside--reverse .intro-inside__wrapper {
    flex-direction: row-reverse;
}
.intro-inside--reverse .intro-inside__figure {
    justify-content: flex-end;
}
.intro-inside--reverse .intro-inside__text {
        padding: 0 15px 0 125px;
}
.intro-inside--reverse .intro-inside__text__wrapper {
    margin-left: 0;
}
.intro-inside--colored {
    background-color: var(--background-alternate-color);
}
.card-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
}
.card-grid__item {
    overflow: hidden;
}
.card-grid__item img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
}
.card-grid__item--text {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    line-height: 1.4;
    padding: 10px 20px;
    background-color: var(--background-alternate-color);
}
.card-grid__item--secondary {
    background-color: var(--background-alternate-secondary-color);
}
.card-grid__item--tertiary {
    color: var(--foreground-light-color);
    background-color: var(--background-alternate-tertiary-color);
}
.card-grid__item__wrapper {
    max-width: 360px;
}
.card-grid__item__wrapper p:last-child {
    margin-bottom: 0;
}
.card-grid__item__title {
    font-size: 26px;
    font-weight: 400;
    line-height: 1.2;
    margin: 0 0 15px 0;
}
.card-grid__item--text strong {
    font-weight: 700;
}
.featured-icons-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-bottom: 220px;
    margin-bottom: clamp(3.75rem, -1.25rem + 20vw, 13.75rem);
}
.featured-icons-grid__item {
    flex: 1 1 15rem;
    max-width: 25rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    font-size: 14px;
    line-height: 1.4;
    padding: 10px;
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.5s ease, transform 0.5s ease;
}
.featured-icons-grid__item.is-visible {
    opacity: 1;
    transform: translateY(0);
}
.featured-icons-grid__item__ico {
    color: #5A7459;
    margin-bottom: 20px;
    background-color: #E3D7C0;
    width: 80px;
    height: 80px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.featured-icons-grid__item__ico svg {
    display: block;
}
.featured-icons-grid__item__title {
    font-size: 20px;
    font-weight: 700;
    margin: 0 0 10px 0;
    line-height: 1.2;
}
.icon-ecologico {
    width: 35px;
    height: 36px;
}
.icon-premium {
    width: 27px;
    height: 35px;
}
.icon-calidad {
    width: 24px;
    height: 37px;
}
.icon-artesanal {
    width: 37px;
    height: 32px;
}
.photoblock {
    position: relative;
    display: flex;
    background-color: var(--background-main-color);
}
.photoblock--olive {
    --olive-offset-after: 100%;
    --olive-offset-before: 100%;
}
.photoblock--olive::after {
    content: "";
    position: absolute;
    bottom: 100%;
    left: 0;
    width: 470px;
    width: clamp(9.375rem, 0.4861rem + 35.5556vw, 29.375rem);
    height: 317px;
    background-image: url(../img/rama-color.png);
    background-position: left bottom;
    background-repeat: no-repeat;
    background-size: contain;
    transform: translateY(var(--olive-offset-after));
    z-index: -1;
}
.photoblock--olive::before {
    content: "";
    position: absolute;
    bottom: 100%;
    right: 0;
    width: 470px;
    width: clamp(9.375rem, 0.4861rem + 35.5556vw, 29.375rem);
    height: 317px;
    background-image: url(../img/rama-color.png);
    background-position: right bottom;
    background-repeat: no-repeat;
    background-size: contain;
    transform: rotate(360deg) scaleX(-1) translateY(var(--olive-offset-before));
    z-index: -1;
}
.photoblock__content {
	flex: 0 0 50%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 100px 195px 100px 0;
	font-size: 24px;
    font-size: clamp(1.125rem, 0.8906rem + 0.75vw, 1.5rem);
	font-weight: 400;
	line-height: 1.4;
	color: var(--background-light-color);
	background-image: url(../img/bg-photoblock.png);
	background-position: 100% 84%;
	background-repeat: no-repeat;
}
.photoblock__content__wrapper {
	width: 100%;
    max-width: var(--photoblock-text-width);
	margin-left: auto;
}
.photoblock__content__wrapper p:last-child {
    margin-bottom: 0;
}
.photoblock__img {
	position: relative;
	flex: 0 0 50%;
	overflow: hidden;
    margin: 0;
    max-height: 650px;
}
.photoblock__img img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    margin: 0;
}
.photoblock--reverse {
    flex-direction: row-reverse;
    background-color: var(--background-alternate-tertiary-color);
}
.photoblock--reverse .photoblock__content {
	margin-left: 0;
    margin-right: auto;
    padding-left: 195px;
    padding-right: 15px;
    background-image: url(../img/rama-alternate.png);
    background-position: right 60%;
}
.photoblock--reverse .photoblock__content__wrapper {
    margin-left: 0;
}
.products-home {
    padding: 150px 15px;
    padding: clamp(3.125rem, 0.0694rem + 12.2222vw, 10rem) 15px;
    background-image: url(../img/bg-products-home.png);
    background-repeat: no-repeat;
    background-size: auto;
    background-position: center bottom;
    background-color: var(--background-alternate-quaternary-color);
    overflow: hidden;
    text-align: center;
}
.preview-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    grid-auto-rows: 1fr;
    justify-content: center;
    gap: 20px;
    max-width: 1000px;
    margin-inline: auto;
    margin-bottom: 70px;
}
.preview-grid--with-intro {
    max-width: 1570px;
    padding-left: 15px;
    padding-right: 15px;
}
.categories .preview-grid--with-intro {
    margin-bottom: 0;
}
.preview-grid__item {
    position: relative;
    width: 100%;
    overflow: hidden;
    background-color: var(--background-alternate-secondary-color);
    border-radius: var(--border-radius-normal);
    transition: transform .2s, opacity .2s, box-shadow .2s;
    will-change: transform, opacity;
}
.preview-grid__item:hover {
    transform: translate(-5px, -5px);
    box-shadow: 5px 5px 0px 5px var(--background-border-hover-color);
}
.preview-grid__item__wrapper {
    height: 100%;
}
.preview-grid__item__img {
    margin: 0;
    height: 100%;
}
.preview-grid__item__img img {
    display: block;
    object-fit: cover;
    width: 100%;
    height: 100%;
}
.preview-grid__item__content {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 1;
    color: var(--background-light-color);
    padding: 40px;
    line-height: 1.2;
    text-align: left;
    background: linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,0.7) 100%);
}
.preview-grid__item__content p {
    margin-bottom: 22px;
}
.preview-grid__item__title {
    font-size: 26px;
    font-weight: 700;
    margin: 0 0 16px 0;
}
.preview-grid__item__button {
    font-size: 14px;
    font-weight: 600;
}
.preview-grid__intro {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    border-radius: var(--border-radius-normal);
    padding: 20px 26px;
    line-height: 1.4;
    background-color: var(--background-alternate-color);
}
.preview-grid__intro__wrapper {
    max-width: 365px;
}
.preview-grid__intro__wrapper p:last-child {
    margin-bottom: 0;
}
.preview-grid__intro__title {
    font-size: 26px;
    font-weight: 400;
    line-height: 1.2;
    margin: 0 0 10px 0
}
.history > .container {
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    flex-wrap: wrap;
}
.history__content {
    flex: 1;
    padding-left: 150px;
    padding-right: 15px;
}
.history__img {
    position: relative;
    cursor: pointer;
}
.history__img .img-responsive {
    border-radius: var(--border-radius-normal);
}
.video-award > .container {
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    flex-wrap: wrap;
}
.video-award__content {
    flex: 1;
    margin-left: 80px;
}
.video-award__img {
    flex: 1;
    position: relative;
    cursor: pointer;
}
.video-award__img .img-responsive {
    border-radius: var(--border-radius-normal);
}
.development__icons {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    padding: 0;
    margin: 50px 0 0 0;
    list-style: none;
}
.development__icons li {
    padding: 10px;
}
.development__icons img {
    display: block;
}
.press {
    display: flex;
    align-items: stretch;
}
.press__img {
    margin: 0;
}
.press__img img {
    width: 100%;
    height: 100%;
    max-width: 100%;
    display: block;
    object-fit: cover;
}
.press__content {
    flex: 1 0 524px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background-color: var(--background-main-color);
    padding: 15px;
    min-height: 412px;
    transition: background-color .25s;
}
.press__content:has(a:hover) {
  background-color: var(--background-title-wrapper-color);
}
.press__content__wrapper {
    max-width: 350px;
}
.press__title {
    margin: 0;
}
.press__link {
    font-size: 26px;
    font-weight: 700;
    color: var(--background-light-color);
    text-decoration: none;
    line-height: 1.4;
    transition: color .3s;
}
.press__link:hover {
    color: var(--foreground-border-color)
}
.press__autor {
    font-size: 18px;
    font-weight: 400;
    font-style: italic;
    line-height: 1.2;
    margin-top: 12px;
    margin-bottom: 35px;
    color: var(--background-light-color)
}
.gallery__slider {
	position: relative;
    padding-left: 60px;
    padding-right: 60px;
    margin-top: clamp(2.5rem, -1.4063rem + 12.5vw, 8.75rem);
}
.gallery__slider .swiper-wrapper {
    align-items: stretch;
}
.gallery__figure {
    margin: 0;
    position: relative;
    width: 100%;
    height: 0;
    overflow: hidden;
    padding-bottom: 75.07163323782234%;
    border-radius: var(--border-radius-normal);
    background-color: var(--background-alternate-secondary-color);
    aspect-ratio: 35 / 26;
}
.gallery__figure::after {
    content: " ";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 60px;
    height: 60px;
    opacity: 0;
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><path d="M160 144C151.2 144 144 151.2 144 160L144 480C144 488.8 151.2 496 160 496L480 496C488.8 496 496 488.8 496 480L496 160C496 151.2 488.8 144 480 144L160 144zM96 160C96 124.7 124.7 96 160 96L480 96C515.3 96 544 124.7 544 160L544 480C544 515.3 515.3 544 480 544L160 544C124.7 544 96 515.3 96 480L96 160zM224 192C241.7 192 256 206.3 256 224C256 241.7 241.7 256 224 256C206.3 256 192 241.7 192 224C192 206.3 206.3 192 224 192zM360 264C368.5 264 376.4 268.5 380.7 275.8L460.7 411.8C465.1 419.2 465.1 428.4 460.8 435.9C456.5 443.4 448.6 448 440 448L200 448C191.1 448 182.8 443 178.7 435.1C174.6 427.2 175.2 417.6 180.3 410.3L236.3 330.3C240.8 323.9 248.1 320.1 256 320.1C263.9 320.1 271.2 323.9 275.7 330.3L292.9 354.9L339.4 275.9C343.7 268.6 351.6 264.1 360.1 264.1z" fill="%23FFFFFF"/></svg>');
    background-position: center;
    background-repeat: no-repeat;
    transform: translate(-30px, -30px);
    transition: opacity .2s ease-out;
}
.gallery__figure .img-responsive {
    position: absolute;
    object-fit: cover;
    width: 100%;
    height: 100%;
    transition: transform .2s;
}
.gallery__slider .swiper-slide:hover .img-responsive {
    transform: scale(1.05);
}
.gallery__slider .swiper-slide:hover .gallery__figure::after {
    opacity: 1;
}
.gallery__slider .swiper-navigation-icon {
    height: 38px;
}
.gallery__slider .swiper-button-next,
.gallery__slider .swiper-button-prev {
    color: var(--foreground-main-color);
    z-index: 1;
}
.gallery__slider .swiper-button-next {
    right: 0;
}
.gallery__slider .swiper-button-prev {
    left: 0;
}
.video-grid {
    background-color: var(--background-alternate-color);
}
.video-grid > .container {
    display: grid;
    gap: 30px;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 365px), 1fr));
}
.video-grid__figure {
    position: relative;
    margin: 0;
    border-radius: var(--border-radius-normal);
    overflow: hidden;
    cursor: pointer;
    height: 0;
    padding-bottom: 56.23762376237624%;
    aspect-ratio: 16 / 9;
}
.video-grid__figure .img-responsive {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .2s;
}
.video-grid__figure:hover .img-responsive {
    transform: scale(1.05) rotate(-0.8deg);
}
.video-grid__item__title {
    font-size: 26px;
    font-weight: 700;
    margin: 27px 0 11px 0;
    line-height: 1.2;
}
.video-grid__item__subtitle {
    font-size: 18px;
    font-weight: 600;
    margin: 0;
    line-height: 1.4;
}
.video-grid__item__place {
    font-size: 18px;
    font-style: italic;
    margin-top: 11px;
}
.doubleblock {
    display: flex;
    gap: 20px;
}
.doubleblock__content {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 55%;
    padding: 32px;
    background-color: var(--background-main-color);
    border-radius: var(--border-radius-normal);
    color: var(--background-light-color);
}
.doubleblock__content__wrapper {
    max-width: 600px;
}
.doubleblock__content__wrapper p:last-of-type {
    margin-bottom: 0;
}
.doubleblock__figure {
    flex: 1;
    margin: 0;
    border-radius: var(--border-radius-normal);
    overflow: hidden;
}
.doubleblock__figure .img-responsive {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.doubleblock__content__title {
    font-size: 26px;
    font-size: clamp(1.125rem, 0.8125rem + 1vw, 1.625rem);
    font-weight: 400;
    margin: 0 0 26px 0;
    line-height: 1.4;
}
.doubleblock__content__title strong {
    font-weight: 700;
}
.doubleblock__content .btn {
    margin-top: 35px;
}
.filters {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    margin: 0 0 60px 0;
    margin-bottom: clamp(1.5625rem, 0.1953rem + 4.375vw, 3.75rem);
    padding: 0;
    list-style: none;
}
.filters__item {
    padding: 5px;
}
.products-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr));
    grid-auto-rows: 1fr;
    gap: 20px;
}
.products-grid__link {
    text-decoration: none;
    color: var(--foreground-main-color);
}
.products-grid__link:hover {
    text-decoration: none;
}
.products-grid__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--foreground-border-products-color);
    border-radius: var(--border-radius-normal);
    padding: 30px;
    height: 100%;
    transition: transform .2s, box-shadow .2s;
}
.products-grid__item__figure {
    margin: 0 0 30px 0;
    position: relative;
    padding-bottom: 102%;
    width: 100%;
    overflow: hidden;
}
.products-grid__item__figure .img-responsive {
    width: auto;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.products-grid__item__title {
    font-size: 18px;
    font-weight: 600;
    margin: 0 0 30px 0;
    text-align: center;
}
.products-grid__item > .btn {
    margin-top: auto;
}
.products-grid__link:hover .products-grid__item {
    transform: translate(-5px, -5px);
    box-shadow: 5px 5px 0px 5px var(--background-border-hover-color);
}
.product-detail {
    display: flex;
    flex-direction: row-reverse;
}
.product-detail__media {
    margin-bottom: 30px;
}
.product-detail__media-figure {
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}
.product-detail__media-gallery-wrapper {
    overflow: hidden;
}
.product-detail__media-gallery {
    margin: 30px -7px 0 -7px;
    /*
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
    gap: 15px;
    */
    display: flex;
    flex-wrap: wrap;
}
.product-detail__media-gallery > a {
    position: relative;
    flex: 0 0 33.33333%;
    padding: 7px;
    /*
    padding-bottom: 75%;
    aspect-ratio: 4 / 3;
    */
}
.product-detail__media-gallery .img-responsive {
    /*position: absolute;*/
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: var(--border-radius-normal);
}
.product-detail__media-gallery .ico--play {
    font-size: 40px;
}
.product-detail__info {
	flex: 0 0 59%;
	padding-left: 70px;
}
.product-detail__title {
    font-size: 40px;
    font-size: clamp(1.5rem, 0.7857rem + 2.2857vw, 2.5rem);
    font-weight: 700;
    line-height: 1.2;
    margin: 0 0 27px 0;
}
.product-detail__links {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    margin-top: 50px;
    border-top: 1px solid #99B898;
    padding-top: 50px;
}
.product-detail__links > .btn {
    height: 60px;
    padding-top: 12px;
    padding-bottom: 12px;
}

.sellers-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    grid-auto-rows: 1fr;
    gap: 20px;
}
.sellers-grid__item {
    display: flex;
    flex-direction: column;
    background-color: var(--background-alternate-color);
    border-radius: var(--border-radius-normal);
    padding: 40px 36px;
    transition: background-color .25s, transform .25s, box-shadow .25s;
}
.sellers-grid__item:has(a:hover) {
	background-color: var(--background-alternate-quaternary-color);
    box-shadow: 0px 0px 0px 1px var(--foreground-border-products-color);
    transform: rotate(-1.2deg) scale(1.02);
}
.sellers-grid__item__title {
    font-size: 22px;
    font-weight: 700;
    margin: 0 0 10px 0;
}
.sellers-grid__item__address {
    font-size: 18px;
    font-weight: 400;
    font-style: normal;
    line-height: 1.2;
    margin: 0 0 40px 0;
}
.sellers-grid__item__link {
    border-top: 1px solid var(--foreground-border-products-color);
    padding-top: 16px;
    margin-top: auto;
}
.sellers-grid__item__link > a {
    display: inline-flex;
    align-items: center;
    font-size: 18px;
    text-decoration: none;
    color: var(--foreground-main-color);
    transition: color .2s;
}
.sellers-grid__item__link .ico {
    margin-left: 6px;
}
.sellers-grid__item__link:hover {
    color: var(--foreground-dark-color);
}
.news-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 370px), 1fr));
    grid-auto-rows: 1fr;
    gap: 30px;
}
.news-grid__item {
    display: flex;
    flex-direction: column;
}
.news-grid__item__figure {
    position: relative;
    margin: 0;
    border-radius: var(--border-radius-normal);
    overflow: hidden;
    height: 0;
    padding-bottom: 68.514851%;
    transition: transform .2s;
}
.news-grid__item__figure .img-responsive {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .2s;
}
.news-grid__item__title {
    font-size: 22px;
    font-weight: 700;
    color: var(--foreground-main-color);
    margin: 25px 0;
    line-height: 1.25;
    transition: color .25s;
}
.news-grid__item__btn {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    font-size: 18px;
    font-weight: 400;
    text-decoration: none;
    color: var(--foreground-main-color);
    background-color: transparent;
    border: none;
    padding: 0;
    cursor: pointer;
    transition: transform 0.3s ease;
}
.news-grid__item__btn .ico {
    margin-left: 6px;
    font-size: 14px;
}
.news-grid__link,
.news-grid__link:hover {
    text-decoration: none;
}
.news-grid__link:hover .news-grid__item__figure {
    transform: rotate(-1.2deg) scale(1.02);
}
.news-grid__link:hover .img-responsive {
    transform: translate(-50%, -50%) scale(1.05);
}
.news-grid__link:hover .news-grid__item__title {
    color: var(--foreground-dark-color);
}
.news-grid__link:hover .news-grid__item__btn {
    animation: move .6s linear infinite;
}
@keyframes move {
  0% { transform: translateX(0); }
  50% { transform: translateX(14px); }
  100% { transform: translateX(0); }
}
.news-grid__item__figure {
    margin: 0;
    border-radius: var(--border-radius-normal);
    overflow: hidden;
}
.pagination-wrapper {
    margin-top: 90px;
    display: flex;
    justify-content: center;
}
.pagination-list {
    display: flex;
    padding: 0;
    margin: 0;
    list-style: none;
    border-radius: 6px;
    gap: 10px;
}
.pagination-list__item__link {
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    padding: 4px;
    min-width: 40px;
    height: 40px;
    margin-left: -1px;
    line-height: 1.25;
    color:  var(--foreground-main-color);
    background-color: var(--background-alternate-color);
    border-radius: 6px;
    text-decoration: none !important;
    transition: background-color .2s, color .2s, border-color .2s;
}
.pagination-list__item__link:hover {
    color: var(--background-light-color);
    text-decoration: none;
    background-color:  var(--background-main-color);
}
.pagination-list__item--active .pagination-list__item__link {
    z-index: 3;
    color: var(--background-light-color);
    background-color:  var(--background-main-color);
    pointer-events: none;
}
.pagination-list__item__link .ico {
    font-size: 14px;
}
.news-detail__figure {
    margin: 0 0 46px 0;
    border-radius: var(--border-radius-normal);
    overflow: hidden;
}
.news-detail__content .gallery {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    grid-auto-rows: 1fr;
    gap: 20px;
    margin: 40px 0;
}
.news-detail__content .gallery-item {
    display: block;
    text-decoration: none;
    border-radius: var(--border-radius-normal);
    overflow: hidden;
}
.news-detail__content .gallery-item > a {
    display: block;
    position: relative;
}
.news-detail__content .gallery-item > a::after {
    content: " ";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 60px;
    height: 60px;
    opacity: 0;
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><path d="M160 144C151.2 144 144 151.2 144 160L144 480C144 488.8 151.2 496 160 496L480 496C488.8 496 496 488.8 496 480L496 160C496 151.2 488.8 144 480 144L160 144zM96 160C96 124.7 124.7 96 160 96L480 96C515.3 96 544 124.7 544 160L544 480C544 515.3 515.3 544 480 544L160 544C124.7 544 96 515.3 96 480L96 160zM224 192C241.7 192 256 206.3 256 224C256 241.7 241.7 256 224 256C206.3 256 192 241.7 192 224C192 206.3 206.3 192 224 192zM360 264C368.5 264 376.4 268.5 380.7 275.8L460.7 411.8C465.1 419.2 465.1 428.4 460.8 435.9C456.5 443.4 448.6 448 440 448L200 448C191.1 448 182.8 443 178.7 435.1C174.6 427.2 175.2 417.6 180.3 410.3L236.3 330.3C240.8 323.9 248.1 320.1 256 320.1C263.9 320.1 271.2 323.9 275.7 330.3L292.9 354.9L339.4 275.9C343.7 268.6 351.6 264.1 360.1 264.1z" fill="%23FFFFFF"/></svg>');
    background-position: center;
    background-repeat: no-repeat;
    transform: translate(-30px, -30px);
    transition: opacity .2s ease-out;
}
.news-detail__content .gallery-item > a:hover::after {
    opacity: 1;
}
.news-detail__content .gallery-item img {
    display: block;
    height: 100%;
    width: 100%;
    object-fit: cover;
    aspect-ratio: 4 / 3;
    transform: scale(1);
    transition: all .2s;
}
.news-detail__content .gallery-item:hover img {
    transform: scale(1.05);
}
.modal {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 10;
    align-items: center;
    justify-content: center;
    padding: 15px;
    background-color: var(--background-overlay-color);
    backdrop-filter: blur(3px);
    opacity: 0;
    transition: opacity .6s ease;
}
.contact-form {
    padding: 80px;
    background-color: var(--background-alternate-color);
    border-radius: var(--border-radius-normal);
}
.contact-form__legal {
    font-size: 14px;
    line-height: 1.4;
    margin: 36px 0;
}
.contact-form__footer {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
}
.contact-form__footer__suma {
    display: flex;
    align-items: flex-end;
    margin-right: 10px;
}
.contact-form__footer__suma__opera {
    font-size: 18px;
    font-weight: 700;
    white-space: nowrap;
    padding: 0 6px 12px 0;
}
.contact-form__footer__suma__input__label {
    font-size: 12px;
}
.contact-form__footer__suma__input .form-control {
    width: 76px;
}
.contact-form__footer .form-checkbox {
    font-size: 14px;
    max-width: 200px;
}
.contact-form__submit {
    display: flex;
    justify-content: center;
    margin-top: 40px;
}
.form-row {
	display: flex;
	flex-wrap: wrap;
	margin-right: -8px;
	margin-left: -8px;
}
.from-row-website {
    display: none;
}
.form-group {
	flex: 1;
	position: relative;
	margin-bottom: 16px;
	padding: 0 8px;
}
.form-control {
	display: block;
	width: 100%;
	padding: 12px 15px 8px 15px;
	color: var(--foreground-main-color);
	background-color: var(--background-light-color);
	border: 1px solid var(--foreground-main-color);
	border-radius: 10px;
	font-size: 18px;
    font-size: clamp(0.875rem, 0.7188rem + 0.5vw, 1.125rem);
	font-weight: 400;
	line-height: 1.2;
    outline: none;
    height: 50px;
}
.form-group label {
	position: absolute;
	pointer-events: none;
	top: 12px;
	left: 24px;
	transition: 0.2s ease all;
	font-size: 18px;
    font-size: clamp(0.875rem, 0.7188rem + 0.5vw, 1.125rem);
	line-height: 24px;
	font-weight: 500;
	color: var(--foreground-main-color);;
}
.form-control:focus ~ label,
.form-control:not(:placeholder-shown) ~ label {
	top: -11px;
	left: 24px;
	opacity: 1;
	font-size: 13px;
	line-height: 16px;
    color: var(--background-light-color);
    background-color: var(--foreground-main-color);
    padding: 3px 5px;
    border-radius: 4px;
}
textarea.form-control {
	resize: vertical;
	height: 140px;
}
.form-checkbox {
	display: flex;
	align-items: center;
	font-size: 1rem;
	font-weight: 500;
	color: var(--foreground-main-color);
    line-height: 1.2;
}
input[type="radio"] {
    flex: 0 0 auto;
	background-color: var(--background-light-color);
	margin: 0 10px 0 0;
	color: currentColor;
	width: 22px;
	height: 22px;
	border: 1px solid var(--foreground-main-color);
	border-radius: 50%;
	cursor: pointer;
    -webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
input[type="radio"]::before {
	display: block;
	content: "";
	width: 0.75rem;
	height: 0.75rem;
	background: #3aaf00;
	margin: 0.25rem 0 0 0.25rem;
	transform: scale(0);
	border-radius: 50%;
	transition: 120ms transform ease-in-out;
}
input[type="radio"]:checked::before {
	transform: scale(1);
}
.form-checkbox input[type="checkbox"] {
    flex: 0 0 auto;
	background-color: var(--background-light-color);
	margin: 0 10px 0 0;
	color: currentColor;
	width: 22px;
	height: 22px;
	border: 1px solid var(--foreground-main-color);
	border-radius: 4px;
	cursor: pointer;
    -webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
.form-checkbox input[type="checkbox"]::before {
	display: block;
	content: "";
	width: 0.75rem;
	height: 0.75rem;
	background: var(--foreground-main-color);
	margin: 0.25rem 0 0 0.25rem;
	transform: scale(0);
	border-radius: 2px;
	transition: 120ms transform ease-in-out;
}
.form-checkbox input[type="checkbox"]:checked::before {
	transform: scale(1);
}
.flex-label {
    display: flex;
    align-items: center;
    font-size: 16px;
    line-height: 20px;
}
.flex-label input[type="checkbox"] {
	-webkit-appearance: none;
	appearance: none;
	background-color: #fff;
	margin: 0 10px 0 0;
	font: inherit;
	color: currentColor;
	width: 24px;
	min-width: 24px;
	height: 24px;
	border: 1px solid #4C4830;
	border-radius: 6px;
	cursor: pointer;
}
.flex-label input[type="checkbox"]::before {
	display: block;
	content: "";
	width: 16px;
	height: 15px;
	background: #4C4830;
	margin: 4px 0 0 3px;
	transform: scale(0);
	border-radius: 4px;
	transition: 120ms transform ease-in-out;
}
.flex-label input[type="checkbox"]:checked::before {
  transform: scale(1);
}
.col-35 {
	flex: 0 0 35%;
}
.header__shop {
    min-width: 178px;
}
.header__shop-tools {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    min-width: 178px;
}
.header__shop-tools__account {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 54px;
    color: var(--foreground-main-color);
    background-color: var(--background-alternate-color);
    border-radius: 50%;
    transition: background-color .25s;
    margin-right: 18px;
    font-size: 20px;
}
.header__shop-tools__account:hover {
    background-color: var(--background-border-hover-color);
}
.header__shop-tools__cart {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 54px;
    color: var(--background-light-color);
    background-color: var(--background-main-color);
    border-radius: 50%;
    transition: background-color .25s;
    font-size: 20px;
}
.header__shop-tools__cart:hover {
    background-color: var(--foreground-main-color);
}
.header__shop-tools__cart__qty {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: -8px;
    right: -8px;
    min-width: 30px;
    min-height: 30px;
    font-size: 14px;
    font-weight: 700;
    background-color: var(--foreground-main-color);
    border: 1px solid var(--background-border-hover-color);
    border-radius: 50%;
}
.shop-shipping {
    font-size: 18px;
    font-weight: 600;
    line-height: 1.2;
    padding: 30px 15px;
    text-align: center;
    background-color: var(--background-alternate-color);
}
.products-grid__item__shop {
    font-size: 22px;
    font-weight: 600;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: var(--foreground-main-color);
    border-top: 1px solid var(--foreground-border-products-color);
    padding-top: 24px;
    margin-top: auto;
}
.product-detail__buy {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 40px 0;
}
.product-detail__qty {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background-color: var(--background-alternate-color);
    border-radius: 40px;
    padding: 14px;
}
.product-detail__qty-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    color: var(--background-light-color);
    background-color: var(--background-main-color);
    border: none;
    border-radius: 50%;
    cursor: pointer;
}
.product-detail__qty-btn + .product-detail__qty-btn {
    margin-left: 10px;
}
/*.product-detail__units {
    margin-left: 30px;
}*/
.product-detail__units-value {
    border: none;
    background: none;
    display: inline-block;
    padding: 0;
    margin: 0;
    font-size: 22px;
    font-weight: 700;
    appearance: none;
    width: 34px;
    margin-left: 4px;
    text-align: right;
    color: var(--foreground-main-color);
}
.product-detail__price-wrapper {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    margin-left: 30px;
}
.product-detail__price {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    margin-right: 30px;
    margin: 6px 30px 6px 0;
}
.product-detail__tax {
    font-size: 14px;
    line-height: 1.2;
}
.product-detail__unit-price {
    font-size: 30px;
    font-weight: 700;
    line-height: 1.4;
}
.product-detail__btn {
    flex: 0 0 auto;
    min-height: 64px;
}
.product-detail__adv {
    display: flex;
    flex-wrap: wrap;
    padding: 30px 0;
    margin-bottom: 40px;
    border-top: 1px solid var(--foreground-border-products-color);
    border-bottom: 1px solid var(--foreground-border-products-color);
}
.product-detail__adv-item + .product-detail__adv-item::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 1px;
    height: 40px;
    background-color: var(--foreground-border-products-color);
    transform: translateY(-50%);
}
.product-detail__adv-item {
    position: relative;
    flex: 1 1 33.3333%;
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    justify-content: center;
    padding: 0 10px;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.2;
    margin: 15px 0;
}
.product-detail__adv-item:first-child {
    flex-basis: 27.9%;
}
.product-detail__adv-item span {
    max-width: 95px;
    margin-left: 20px;
}
.product-detail__adv-item svg {
    flex: 0 0 auto;
}
.product-detail__subtitle {
    font-size: 22px;
    font-weight: 700;
    line-height: 1.2;
    margin: 0 0 24px 0;
}
.product-related__title {
    font-size: 40px;
    font-size: clamp(1.625rem, 1.0781rem + 1.75vw, 2.5rem);
    font-weight: 700;
    line-height: 1;
    margin: 0 auto 19px auto;
    color: var(--foreground-main-color);
}
.modal.is-visible {
    display: flex;
}
.modal.is-open {
    opacity: 1;
}
.modal__panel {
    position: relative;
    background: var(--background-light-color);
    border-radius: var(--border-radius-normal);
    width: 100%;
    max-width: 1200px;
    max-height: 90vh;
    max-height: 90dvh;
    box-shadow: 0 1px 10px rgba(0,0,0,0.3);
    opacity: 0;
    transform: translateY(30px) scale(0.5);
    transition: opacity .2s ease-out, transform .2s ease-out;
}
.modal.is-open .modal__panel {
    opacity: 1;
    transform: translateY(0) scale(1);
}
.modal__close {
    position: absolute;
    top: -10px;
    right: -10px;
    width: 2rem;
    height: 2rem;
    border: none;
    color: var(--foreground-main-color);
    background-color: var(--background-light-color);
    cursor: pointer;
    border-radius: 50%;
    font-size: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1;
}
.modal__body {
    padding: 8px;
}
.modal__body lite-youtube {
    border-radius: var(--border-radius-normal);
    max-width: 100% !important;
    max-height: calc(90vh - 20px) !important;
    max-height: calc(90dvh - 20px) !important;
}
.modal__body lite-youtube iframe {
    width: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    aspect-ratio: 16 / 9;
}
.social-links {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    margin: 0;
    padding: 0;
    list-style: none;
}
.social-links__item + .social-links__item {
    margin-left: 10px;
}
.social-links__link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    font-size: 22px;
    padding: 2px;
    color: var(--background-light-color);
    background-color: var(--foreground-clear-opacity-color);
    border-radius: 50%;
    transition: background-color .2s;
}
.social-links__link:hover {
    background-color: var(--background-alternate-tertiary-color);
}
.footer {
    margin-top: 250px;
    margin-top: clamp(2.5rem, -6.875rem + 30vw, 15.625rem);
}
.footer-logos {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-evenly;
    align-items: center;
    margin-top: 0;
    margin-bottom: 30px;
    padding: 0;
    list-style: none;
}
.footer-logos__item {
    padding: 0px 5px;
}
.footer-main {
    padding: 60px 0px 20px 0px;
    background-color: var(--background-main-color);
    overflow: hidden;
}
.footer-main__top {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
}
.footer-main__top::before {
    content: "";
    position: absolute;
    top: -220px;
    right: 60px;
    width: 487px;
    height: 452px;
    background-image: url(../img/rama.png);
    background-repeat: no-repeat;
    transform: translateY(24.4984px) rotate(360deg) scaleX(-1);
    z-index: 0;
}
.footer-main__logo {
    position: relative;
    flex: 0 1 262px;
    margin: 0 100px 0 0;
    z-index: 1;
}
.footer-main__logo .ico {
    font-size: 142px;
    color: var(--foreground-light-color);
}
.footer-main__logo__caption {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.4;
    color: var(--background-light-color);
    margin-top: 32px;
}
.footer-main__col {
    position: relative;
    z-index: 1;
}
.footer-main__col + .footer-main__col{
    margin-left: 100px;
}
.footer-main__list {
    list-style: none;
    margin: 0;
    padding: 0;
}
.footer-main__item + .footer-main__item {
    margin-top: 4px;
}
.footer-main__link {
    display: inline-flex;
    align-items: center;
    font-size: 16px;
    color: var(--background-light-color);
    text-decoration: none;
    padding: 4px 0px;
}
.footer-main__link--strong {
    font-size: 18px;
    font-weight: 600;
}
.footer-main__link:hover {
    text-decoration: none;
}
.footer-main__link:hover span {
    text-decoration: underline;
    text-underline-offset: 5px;
}
.footer-main__link .ico {
    margin-right: 11px;
}
.footer-main .social-links {
    margin-top: 24px;
}
.footer-main__group {
    display: flex;
    margin-left: 100px;
}
.footer-main__grant {
	display: flex;
	align-items: center;
	justify-content: flex-start;
    flex-wrap: wrap;
	margin-top: 90px;
    gap: 24px;
}
.footer-legal {
    margin-top: 38px;
}
.footer-legal__wrapper {
    width: 100%;
    display: flex;
    justify-content: space-between;
    border-top: 1px solid var(--foreground-clear-opacity-color);
    font-size: 12px;
    color: var(--background-light-color);
    padding: 15px 0;
}
.footer-legal__list {
    display: flex;
    align-items: center;
    margin: 0;
    padding: 0;
    list-style: none;
}
.footer-legal__item + .footer-legal__item {
    margin-left: 30px;
}
.footer-legal__link {
	display: inline-flex;
	align-items: center;
	font-size: 12px;
	color: var(--background-light-color);
	text-decoration: none;
	padding: 2px 0px;
}
.footer-legal__link:hover {
    text-decoration: underline;
    text-underline-offset: 5px;
}


@media (max-width: 690px) {
    .products-grid {
        grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr));
        gap: 15px;
    }
    .products-grid__item {
        padding: 15px;
    }
    .products-grid__item__title {
        font-size: 16px;
        margin: 0 0 20px 0;
    }
    .products-grid__item .btn {
        padding: 10px 15px;
    }
    .products-grid__item__shop {
        font-size: 18px;
        flex-direction: column;
    }
    .products-grid__item__shop > span {
        margin-bottom: 10px;
    }
}

@media (max-width: 580px) {
    .products-grid {
        grid-template-columns: repeat(auto-fill, minmax(min(100%, 195px), 1fr));
        gap: 15px;
    }
}

@media (max-width: 480px) {
    .products-grid {
        grid-template-columns: repeat(auto-fill, minmax(min(100%, 165px), 1fr));
        gap: 15px;
    }
}

/* Powered */
.powered {
    align-self: flex-start;
	margin-left: auto;
	position: relative;
	display: block;
	width: 45px;
	height: 18px;
	overflow: hidden;
	-webkit-transition: width 0.3s;
	transition: width 0.3s;
}
.powered-svg {
	position: absolute;
	top: 0;
	right: 0;
	height: 18px;
	fill: #8DAD8C;
	-webkit-transition: right 0.3s, fill 0.5s;
	transition: right 0.3s, fill 0.5s;
}
.powered .texto {
	opacity: 0;
	-webkit-transition: opacity 0.7s;
	transition: opacity 0.7s;
}
.powered .simbolo {
	-webkit-transform: translateX(100px);
	transform: translateX(100px);
	opacity: 0;
	-webkit-transition: -webkit-transform 0.3s, opacity 0.3s;
	transition: transform 0.3s, opacity 0.3s;
}
.powered .simbolo_ee,
.powered .simbolo_b {
	-webkit-transform: translateX(25px);
	transform: translateX(25px);
}
.powered .simbolo_a {
	-webkit-transform: translateX(37px);
	transform: translateX(37px);
}
.powered .simbolo_e {
	-webkit-transform: translateX(50px);
	transform: translateX(50px);
}
.powered .simbolo_d {
	opacity: 1;
	-webkit-transform: translateX(50px);
	transform: translateX(50px);
}
.powered .simbolo_l {
	opacity: 1;
	-webkit-transform: translateX(37px);
	transform: translateX(37px);
}
.powered .simbolo_w {
	opacity: 1;
	-webkit-transform: translateX(25px);
	transform: translateX(25px);
}
.powered .simbolo_punto {
	opacity: 1;
	-webkit-transform: translateX(0);
	transform: translateX(0);
}
.powered:hover {
	width: 170px;
}
.powered:hover .powered-svg {
	fill: #b8ccb7;
}
.powered:hover .simbolo {
	opacity: 1;
	-webkit-transform: translateX(4px);
	transform: translateX(4px);
}
.powered:hover .simbolo_punto {
	opacity: 0;
	-webkit-transform: translateX(4px);
	transform: translateX(4px);
}
.powered:hover .texto {
	opacity: 1;
}

.fslightbox-source {
    border-radius: var(--border-radius-normal);
}

@media (max-width: 1580px) {
    .menu__item {
	    margin: 0px 8px;
    }
    .title--home {
        margin-bottom: 0 !important;
    }
    .photoblock__content {
        padding: 40px 60px 40px 15px;
    }
    .photoblock--reverse .photoblock__content {
        padding: 40px 15px 40px 60px;
    }
    .history__content {
        flex: 1;
        padding-left: 40px;
    }
}

@media (max-width: 1399px) {
    .title--top {
        padding-top: calc(114px + 40px);
        padding-bottom: 40px;
    }
    .title--home {
        padding-top: 40px;
        padding-bottom: 40px;
    }
    .header__shop-tools {
        min-width: 0;
    }
}

@media (max-width: 1320px) {
    .footer-main__top {
        flex-direction: column;
        align-items: center;
    }
    .footer-main__logo {
        margin: 0 0 32px 0;
        text-align: center;
        flex: 1;
    }
    .footer-main__group {
        margin: 15px 0 0 0;
    }
    .footer-main__grant {
        justify-content: center;
        margin-top: 40px;;
    }
    .footer-main__grant svg {
        margin: 0 20px;
    }
    .footer-legal__wrapper {
        flex-direction: column-reverse;
        text-align: center;
        padding-top: 30px;
    }
    .footer-legal__list {
        justify-content: center;
        margin-bottom: 36px;
        flex-wrap: wrap;
    }
    .powered {
        order: 3;
        width: 170px;
        margin: 40px auto 0 auto;
    }
    .powered .texto {
        opacity: 1;
    }
    .powered .simbolo {
        opacity: 1;
        -webkit-transform: translateX(0) !important;
        transform: translateX(0) !important;
    }
    .powered .simbolo_punto {
        display: none;
    }
}

@media (max-width: 1200px) {
    .card-grid {
        padding-top: 0;
        grid-template-columns: repeat(2, 1fr);
    }
    .card-grid__item:nth-child(3) {
        grid-column: 2;
    }
    .card-grid__item:nth-child(4) {
        grid-column: 1;
        grid-row: 2;
    }
    .history > .container {
        flex-direction: column-reverse;
        justify-content: center;
        align-items: center;
    }
    .history__content {
        max-width: 710px;
        padding: 0 15px;
        margin-top: 40px;
    }
    .preview-grid--with-intro {
        display: flex;
        flex-wrap: wrap;
    }
    .preview-grid__intro {
        flex: 1 1 100%;
    }
    .preview-grid--with-intro .preview-grid__item {
        flex: 1;
        min-width: 300px;
    }
    .preview-grid__intro__wrapper {
        max-width: none;
    }
}

@media (max-width: 1140px) {
    .intro-inside__wrapper,
    .intro-inside--reverse .intro-inside__wrapper {
        flex-direction: column-reverse;
    }
    .intro-inside__text,
    .intro-inside--reverse .intro-inside__text {
        flex: 0 1 auto;
        margin: 25px 0 0 0;
        padding-left: 15px;
        padding-right: 15px;
    }
    .intro-inside__text__wrapper {
        max-width: none;
        margin: 0;
    }
    .intro-inside__figure {
        width: 100%;
        margin: 0;
    }
    .intro-inside__figure__item {
        width: 50%;
    }
    .intro-inside__figure__item img {
        width: 100%;
        max-width: 100%;
    }
    .btn--back {
        position: absolute;
        top: -36px;
        left: 15px;
        margin-top: 0;
        border: 1px solid var(--background-light-color)
    }
    .product-detail .btn--back {
        top: -36px;
    }
}

@media (max-width: 1020px) {
    .title__ornament--right {
        display: none;
    }
}

@media (max-width: 992px) {
    .product-detail {
        flex-direction: column-reverse;
        padding-left: 0;
        padding-right: 0;
    }
    .product-detail__info {
        flex: 1 0 auto;
        padding-left: 0;
    }

    .product-detail__media-gallery > a {
        flex: 0 0 20%;
    }
}

@media (max-width: 920px) {
    .photoblock {
        flex-direction: column-reverse;
    }
    .photoblock__content,
    .photoblock--reverse .photoblock__content {
        padding: 25px 20px;
    }
    .photoblock__content__wrapper {
        max-width: none;
    }
    .photoblock__img {
        max-height: 420px;
    }
    .photoblock__img img {
        max-width: 100%;
        height: auto;
        margin-top: -45px;
    }
    .hero-home__claim__title {
        font-size: 24px;
        font-size: clamp(1.5rem, -0.1071rem + 5.1429vw, 3.75rem);
    }
    .press {
        flex-direction: column;
    }
    .press__img {
        position: relative;
        height: 250px;
        overflow: hidden;
    }
    .press__img img {
        position: absolute;
        max-width: 100%;
        height: auto;
        top: 50%;
        transform: translateY(-50%);
    }
    .press__content {
        flex: 1 0 auto;
        min-height: auto;
        padding-top: 48px;
        padding-bottom: 48px;
    }
    .press__content__wrapper {
	    max-width: none;
        text-align: center;
    }
    .video-award > .container {
        flex-direction: column;
    }
    .video-award__content {
        margin: 0 0 16px 0;
    }
    .doubleblock {
        flex-direction: column-reverse;
    }
    .doubleblock__figure {
        max-height: 300px;
    }
    .doubleblock__figure .img-responsive {
        margin-top: -50px;
    }
}

@media (max-width: 760px) {
    .card-grid {
        grid-template-columns: 1fr;
    }
    .card-grid__item:nth-child(3) {
        grid-column: auto;
    }
    .card-grid__item:nth-child(4) {
        grid-column: auto;
        grid-row: auto;
    }
    .card-grid__item--text {
        padding: 30px 20px;
    }
    .card-grid__item__wrapper {
        max-width: none;
    }
    .card-grid__item img {
        display: block;
        width: 100%;
        height: 300px;
        object-fit: cover;
    }
    .footer-main__top {
        align-items: flex-start;
        padding-left: 25px;
        padding-right: 25px;
    }
    .footer-main__logo {
	    text-align: left;
    }
    .footer-legal__wrapper {
        text-align: left;
    }
    .footer-main__group {
        flex-direction: column;
    }
    .footer-main__col + .footer-main__col {
        margin: 28px 0 0 0;
    }
    .footer-legal__list {
        flex-direction: column;
        align-items: flex-start;
    }
    .footer-legal__item + .footer-legal__item {
        margin: 6px 0 0 0;
    }
    .powered {
        order: 3;
        width: 170px;
        margin: 40px 0 0 0;
    }
    .footer-main__grant {
        justify-content: flex-start;
        margin-top: 40px;
    }
    .footer-main__grant svg {
        margin: 0;
    }
    .contact-form {
        padding: 40px;
    }

    .product-detail__media-gallery-wrapper {
        overflow-x: auto;
        margin-left: -15px;
        margin-right: -15px;
    }
    .product-detail__media-gallery {
        flex-wrap: nowrap;
        padding-left: 15px;
    }
    .product-detail__media-gallery > a {
        flex: 0 0 40%;
    }
}

@media (max-width: 710px) {
    .products-home {
        margin-bottom: 0;
    }
    .footer-main__group {
        flex-direction: column;
    }
    .footer-main__col + .footer-main__col {
        margin: 40px 0 0 0;
    }
}

@media (max-width: 635px) {
    .intro-inside__figure__item {
        width: 100%;
        padding: 0;
    }
    .intro-inside__figure__item:last-child {
        display: none;
    }
    .intro-inside__text {
        padding-left: 0;
        padding-right: 0;
    }
    .contact-form__footer {
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
    }
    .contact-form__footer .form-checkbox {
        font-size: 16px;
        max-width: none;
    }
    .contact-form__footer__suma {
        margin: 0 0 20px 0;
    }
    .form-checkbox {
        margin-bottom: 48px;
    }
}

@media (max-width: 560px) {
    .header__shop {
        display: none;
    }
    .gallery__slider {
        padding-left: 40px;
        padding-right: 40px;
    }
    .product-detail__adv-item + .product-detail__adv-item::before {
        content: none;
    }
}

@media (max-width: 480px) {
    .lang__btn .globe {
        display: none;
    }
    .header__shop-tools__account {
        margin-right: 6px;
    }
    .header__shop-tools__cart {
        width: 54px;
        height: 54px;
    }
    .hamburger {
        margin-left: 6px;
    }
    .product-detail__buy {
        flex-direction: column;
        align-items: center;
    }
    .product-detail__qty {
        margin-bottom: 22px;
    }
    .product-detail__price-wrapper {
        flex-direction: column;
        justify-content: center;
        flex-wrap: wrap;
        margin-left: 0;
    }
    .product-detail__price {
        margin: 6px 20px;
        align-items: center;
    }
}

.alerta{display:none;z-index:999;}
.alerta{position:fixed;top:0;left:0;width:100%;text-align:center;color:#fff;padding:20px 10px;z-index:2000;-webkit-box-shadow:0 5px 5px 0 rgba(0,0,0,.2);-moz-box-shadow:0 5px 5px 0 rgba(0,0,0,.2);box-shadow:0 5px 5px 0 rgba(0,0,0,.2)}
.alerta.warning{background:#d90000}
.alerta.success{background:#7ec700}

/* Popup */
.popup-edad {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #000000B2;
    z-index: 1000;
}
.popup-edad .popup-edad__content {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: #fff;
    border-radius: 16px;
    padding: 58px;
    text-align: center;
    width: 90%;
    max-width: 565px;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.popup-edad .popup-edad__content > svg {
    display: block;
    width: 205px;
    height: 185px;
    margin-bottom: 40px;
}
.popup-edad .popup-edad__content .popup-edad__title {
    font-size: 26px;
    line-height: 26px;
    font-weight: 700;
    text-transform: uppercase;
    color: #4C4830;
    margin-bottom: 30px;
}
.popup-edad .popup-edad__content .popup-edad__buttons {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 30px;
}
.popup-edad .popup-edad__content .popup-edad__buttons button {
    border: none;
    background: #597358;
    color: #fff;
    padding: 14px 38px;
    border-radius: 40px;
    font-size: 16px;
    line-height: 24px;
    font-weight: 400;
    text-transform: uppercase;
    margin: 0 5px;
}
.popup-edad .popup-edad__content .popup-edad__buttons button::before {
    display: none;
}
.popup-edad .popup-edad__content p {
    font-size: 16px;
    line-height: 22px;
    margin: 0;
}
.popup-edad-decline {
    display: none;
    font-weight: 700;
}
/* Fin Popup */