/*
Theme Name: Memorium
Author: Slava Brain
Description: Description
Version: 1.0.0
Text Domain: memorium
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready
*/

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

:root {
    --white: #FFFFFF;
    --gray: #B9BCC5;
    --gray-light: #CDD0D7;
    --red: #DD0F0F;
    --red-20: #DD0F0F33;
    --black: #171E2A;
    --black-20: #171E2A33;
    --black-60: #171E2A99;
    --primary: #BFA34B;
    --primary-hover: #9D8539;
    --secondary: #1B242C;
    --secondary-hover: #00061A;
    --secondary-border: #3D4A56;
    --bg: #F7F4EB;

    --r6: 6px;
    --r8: 8px;
    --r10: 10px; /* border-radius for buttons */
    --r16: 16px; /* border-radius for image */
    --transition: all .3s ease;
}

html {
    height: 100%;
    scroll-behavior: auto !important;
}

body {
    font-family: "IBM Plex Serif", "Montserrat", sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.25em;
    letter-spacing: 0px;
    color: var(--black);
    overflow-x: hidden;
}

body.lock {
    overflow: hidden;
}

body::before {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--gray-dark);
    transition: var(--transition);
    opacity: 0;
    visibility: hidden;
    z-index: 9;
}

body.overlay::before {
    transition-delay: 0.15s;
    opacity: 0.3;
    visibility: visible;
}

.container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 30px;
}

.full-width {
    margin-inline: calc((100% - 100vw) / 2) !important;
    padding-inline: max(54px, calc((100vw - 100%) / 2)) !important;
}

input,
textarea,
button {
    font-family: "IBM Plex Serif", "Montserrat", sans-serif;
}

button {
    border: none;
    cursor: pointer;
}

a {
    color: inherit;
    text-decoration: none;
    transition: var(--transition);
}

.hidden {
    display: none !important;
}

@media (max-width: 1023px) {
    .container {
        
    }
}

@media (max-width: 767px) {
    .container,
    .full-width {
        padding: 0 20px !important;
    }
}

/*---------- TYPOGRAPHY ----------*/

h1,
.h1,
.h1 h1,
.h1 .elementor-heading-title {
    font-family: "IBM Plex Serif", "Spectral", sans-serif;
    font-size: 40px;
    font-weight: 600;
    line-height: 1.3em !important;
    letter-spacing: 0px;
    text-transform: uppercase;
    color: var(--primary);
}

h2,
.h2,
.h2 h2,
.h2 .elementor-heading-title {
    font-family: "IBM Plex Serif", "Spectral", sans-serif;
    font-size: 34px;
    font-weight: 500;
    line-height: 1.3em !important;
    letter-spacing: 0px;
    text-transform: uppercase;
    color: var(--primary);
}

h3,
.h3,
.h3 h3,
.h3 .elementor-heading-title {
    font-family: "IBM Plex Serif", "Spectral", sans-serif;
    font-size: 28px;
    font-weight: 500;
    line-height: 1.3em !important;
    letter-spacing: 0px;
    text-transform: uppercase;
    color: var(--primary);
}

h4,
.h4,
.h4 h4,
.h4 .elementor-heading-title {
    font-family: "IBM Plex Serif", "Spectral", sans-serif;
    font-size: 24px;
    font-weight: 500;
    line-height: 1.3em !important;
    letter-spacing: 0px;
    text-transform: uppercase;
    color: var(--primary);
}

h5,
.h5,
.h5 h5,
.h5 .elementor-heading-title {
    font-family: "IBM Plex Serif", "Spectral", sans-serif;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.3em !important;
    letter-spacing: 0px;
    color: var(--primary);
}

h6,
.h6,
.h6 h6,
.h6 .elementor-heading-title {
    font-family: "IBM Plex Serif", "Spectral", sans-serif;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.3em !important;
    letter-spacing: 0px;
    color: var(--primary);
}

.body-2 {
    font-family: "IBM Plex Serif", "Montserrat", sans-serif;
    font-size: 14px;
    line-height: 1.2em;
}

.caption {
    font-size: 12px;
    font-weight: 400;
    line-height: 1.1em;
}

strong {
    font-weight: 600;
}

.transition {
    transition: var(--transition) !important;
}

@media (max-width: 1023px) {}

@media (max-width: 767px) {
    h1,
    .h1,
    .h1 h1,
    .h1 .elementor-heading-title {
        font-size: 34px;
    }

    h2,
    .h2,
    .h2 h2,
    .h2 .elementor-heading-title {
        font-size: 28px;
    }

    h3,
    .h3,
    .h3 h3,
    .h3 .elementor-heading-title {
        font-size: 24px;
    }

    h4,
    .h4,
    .h4 h4,
    .h4 .elementor-heading-title {
        font-size: 20px;
    }

    h5,
    .h5,
    .h5 h5,
    .h5 .elementor-heading-title {
        font-size: 18px;
    }
}

/*---------- TYPOGRAPHY END ----------*/

/*---------- COLORS ----------*/

.white {
    color: var(--white);
}

.gray {
    color: var(--gray);
}

.gray-light {
    color: var(--gray-light);
}

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

.black {
    color: var(--black);
}

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

.secondary {
    color: var(--secondary);
}

/*---------- COLORS END ----------*/

/*---------- BUTTONS ----------*/

.btn,
.button.elementor-widget-button .elementor-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 150px;
    min-height: 42px;
    padding: 5px 16px;
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    color: var(--white);
    background-color: var(--primary) !important;
    border-radius: var(--r10) !important;
    transition: var(--transition);
}

.button.elementor-widget-button .elementor-button {
    
}

.btn:hover,
.button.elementor-widget-button .elementor-button:hover {
    background-color: var(--primary-hover) !important;
}

.btn:disabled,
.btn.disabled,
.button.elementor-widget-button .elementor-button:disabled,
.button.disabled.elementor-widget-button .elementor-button {
    color: var(--white);
    background-color: var(--gray) !important;
    cursor: default;
    pointer-events: none;
}

/* Buttons - Types - Simple */
.btn.simple,
.button.simple.elementor-widget-button .elementor-button {
    position: relative;
    min-width: auto;
    min-height: auto;
    padding: 0 0 0px 0;
    font-weight: 400;
    text-decoration: none;
    color: var(--black);
    border: none;
    background-color: transparent !important;
}

.btn.simple::after,
.button.simple.elementor-widget-button .elementor-button::after {
    content: "";
    display: block;
    width: 0%;
    height: 1px;
    position: absolute;
    left: 50%;
    bottom: 0;
    background-color: var(--black);
    transform: translateX(-50%);
    transition: var(--transition);
    opacity: 1;
}

.btn.simple.reverse::after,
.button.simple.reverse.elementor-widget-button .elementor-button::after {
    width: 100%;
}

.btn.simple:hover,
.button.simple.elementor-widget-button .elementor-button:hover {
    color: var(--primary);
}

.btn.simple:hover::after,
.button.simple.elementor-widget-button .elementor-button:hover::after {
    width: 100%;
    background-color: var(--primary);
}

.btn.simple.reverse:hover::after,
.button.simple.reverse.elementor-widget-button .elementor-button:hover::after {
    width: 0%;
}

.btn.simple:disabled,
.btn.simple.disabled,
.button.simple.elementor-widget-button .elementor-button:disabled,
.button.simple.disabled.elementor-widget-button .elementor-button {
    color: var(--gray);
}

/* Buttons - Types - Bordered */
.btn.bordered,
.button.bordered.elementor-widget-button .elementor-button {
    color: var(--black);
    background-color: transparent !important;
    border: 1px solid var(--black);
}

.btn.bordered:hover,
.button.bordered.elementor-widget-button .elementor-button:hover {
    color: var(--white);
    background-color: var(--primary) !important;
    border-color: var(--primary);
}

.btn.bordered:disabled,
.btn.bordered.disabled,
.button.bordered.elementor-widget-button .elementor-button:disabled,
.button.bordered.disabled.elementor-widget-button .elementor-button {
    color: var(--gray);
    border-color: var(--gray);
}

/* Buttons - Types - Inline (with icon) */
.btn-inline,
.button-inline .elementor-icon-box-wrapper {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 400;
}

.btn-inline,
.button-inline .elementor-button-text {
    display: inline-flex;
    color: var(--black);
    transition: var(--transition);
}

.btn-inline .icon,
.button-inline .elementor-button-icon {
    display: inline-flex;
    flex: 0 0 auto;
    margin: 0 !important;
}

.btn-inline .icon,
.button-inline .elementor-button-icon .elementor-icon {
    padding: 0px;
    fill: var(--primary);
    color: var(--primary);
}

.btn-inline .icon svg {
    width: 1em;
    height: 1em;
}

.btn-inline:hover,
.button-inline:hover .elementor-button-text {
    color: var(--primary);
}

/* Buttons - Size - Medium */
.btn.btn-medium,
.button.button-medium.elementor-widget-button .elementor-button {
    min-width: 200px;
    min-height: 45px;
    font-size: 16px;
}

.button.button-medium.elementor-widget-button .elementor-button {
    max-width: 200px;
}

/* Buttons - Size - Wide */
.btn.btn-wide,
.button.button-wide.elementor-widget-button .elementor-button {
    min-width: 240px;
    min-height: 48px;
    font-size: 16px;
}

.button.button-wide.elementor-widget-button .elementor-button {
    max-width: 240px;
}

/* Buttons - Colors */
.btn.simple.white,
.button.simple.white.elementor-widget-button .elementor-button {
    color: var(--white);
}

.btn.simple.white::after,
.button.simple.white.elementor-widget-button .elementor-button::after {
    background-color: var(--white);
}

.btn.simple.white:hover,
.button.simple.white.elementor-widget-button .elementor-button:hover {
    color: var(--primary);
}

.btn.simple.white:hover::after,
.button.simple.white.elementor-widget-button .elementor-button:hover::after {
    background-color: var(--primary);
}

.btn.simple.reverse:hover::after,
.button.simple.reverse.elementor-widget-button .elementor-button:hover::after {
    width: 0%;
}

.btn-inline.white,
.button-inline.white .elementor-button-text {
    color: var(--white);
}

.btn-inline.white:hover,
.button-inline.white:hover .elementor-button-text {
    color: var(--primary);
}

@media (max-width: 1359.75px) {}

@media (max-width: 1023px) {}

@media (max-width: 767px) {
    .btn,
    .button.elementor-widget-button .elementor-button {
        font-size: 14px;
    }
}

@media (max-width: 499.75px) {
    .btn,
    .button.elementor-widget-button .elementor-button {
        min-width: 100% !important;
    }

    .btn.simple,
    .button.simple.elementor-widget-button .elementor-button {
        min-width: auto !important;
    }
}

/*---------- BUTTONS END ----------*/

/*---------- FORM ----------*/

.form {}

.hidden-fields {
    display: none !important;
}

.form-fields {
    display: flex;
    flex-wrap: wrap;
    gap: 18px 12px;
}

.form-field {
    position: relative;
    width: 100%;
    height: 100%;
}

.form-field.w50 {
    width: calc(50% - 6px);
}

.form-field>label {
    position: absolute;
    top: 18px;
    left: 22px;
    color: var(--secondary);
    transition: var(--transition);
    white-space: nowrap;
    pointer-events: none;
    z-index: 1;
}

.form-field--textarea>label {
    top: 16px;
}

.form-field .wpcf7-form-control-wrap {
    display: flex;
}

.form-field input,
.form-field textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    outline: none;
    width: 100%;
    min-height: 52px;
    padding: 14px 20px;
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 0px;
    color: var(--secondary);
    border: 1px solid var(--secondary);
    border-radius: 40px;
    background: transparent;
    transition: var(--transition);
    cursor: pointer;
}

.form-field input::-webkit-input-placeholder {
    color: var(--secondary);
    transition: var(--transition);
}

.form-field input:-moz-placeholder {
    color: var(--secondary);
    transition: var(--transition);
}

.form-field textarea {
    height: 110px;
    resize: none;
    border-radius: 24px;
}

.form-field input:-webkit-autofill {
    -webkit-box-shadow: inset 0 0 0 52px var(--white) !important;
    -webkit-text-fill-color: var(--primary) !important;
    color: var(--primary) !important;
}

.form-field input.wpcf7-not-valid,
.form-field textarea.wpcf7-not-valid {
    color: var(--red) !important;
    border-color: var(--red);
}

.form-field input.wpcf7-not-valid::-webkit-input-placeholder {
    color: var(--red) !important;
}

.form-field input.wpcf7-not-valid:-moz-placeholder {
    color: var(--red) !important;
}

.form-field>label:has(+ span input.wpcf7-not-valid),
.form-field>label:has(+ span textarea.wpcf7-not-valid) {
    color: var(--red) !important;
}

/* Form Field - Colors - White */

.form-field--white>label {
    color: var(--white);
}

.form-field--white input,
.form-field--white textarea {
    color: var(--white);
    border: 1px solid var(--white);
}

.form-field--white input::-webkit-input-placeholder {
    color: var(--white);
}

.form-field--white input:-moz-placeholder {
    color: var(--white);
}

.form-field--white input:-webkit-autofill {
    -webkit-box-shadow: inset 0 0 0 52px var(--secondary) !important;
    -webkit-text-fill-color: var(--primary) !important;
    color: var(--primary) !important;
}

/* Form Field - Colors - White */

/* Form Field - Privacy */

.form-field--privacy {
    margin-bottom: 8px;
}

.form-field--privacy .wpcf7-list-item {
    margin: 0;
}

.form-field--privacy .wpcf7-list-item>label {
    position: relative;
    display: flex;
    font-size: 14px;
    cursor: pointer;
    transition: var(--transition);
}

.form-field--privacy .wpcf7-list-item>label::before {
    content: '';
    display: inline-flex;
    flex-grow: 0;
    flex-shrink: 0;
    width: 16px;
    height: 16px;
    margin-right: 0.75em;
    background-color: transparent;
    border: 1px solid var(--secondary);
    border-radius: 2px;
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
    transition: var(--transition);
}

.form-field--privacy .wpcf7-list-item>label:hover::before {
    border-color: var(--primary);
}

.form-field--privacy .wpcf7-list-item>label:has(input[type=checkbox]:checked)::before {
    border-color: var(--primary);
    background-color: var(--primary);
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='white'%3e%3cpath d='M17.2559 4.41107C17.5814 4.73651 17.5814 5.26414 17.2559 5.58958L8.08926 14.7562C7.76382 15.0817 7.23618 15.0817 6.91074 14.7562L2.74408 10.5896C2.41864 10.2641 2.41864 9.73651 2.74408 9.41107C3.06951 9.08563 3.59715 9.08563 3.92259 9.41107L7.5 12.9885L16.0774 4.41107C16.4028 4.08563 16.9305 4.08563 17.2559 4.41107Z' /%3e%3c/svg%3e");
}

.form-field--privacy input {
    display: none;
}

/* Form Field - Privacy END */

/* Form Field - Checkbox */

.form-field--checkbox .wpcf7-list-item {
    margin: 0;
}

.form-field--checkbox .wpcf7-list-item>label {
    position: relative;
    display: flex;
    font-size: 14px;
    cursor: pointer;
    transition: var(--transition);
}

.form-field--checkbox .wpcf7-list-item>label::before {
    content: '';
    display: inline-flex;
    flex-grow: 0;
    flex-shrink: 0;
    width: 16px;
    height: 16px;
    margin-right: 0.75em;
    background-color: transparent;
    border: 1px solid var(--secondary);
    border-radius: 2px;
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
    transition: var(--transition);
}

.form-field--checkbox .wpcf7-list-item>label:hover::before {
    border-color: var(--primary);
}

.form-field--checkbox .wpcf7-list-item>label:has(input[type=checkbox]:checked)::before {
    border-color: var(--primary);
    background-color: var(--primary);
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='white'%3e%3cpath d='M17.2559 4.41107C17.5814 4.73651 17.5814 5.26414 17.2559 5.58958L8.08926 14.7562C7.76382 15.0817 7.23618 15.0817 6.91074 14.7562L2.74408 10.5896C2.41864 10.2641 2.41864 9.73651 2.74408 9.41107C3.06951 9.08563 3.59715 9.08563 3.92259 9.41107L7.5 12.9885L16.0774 4.41107C16.4028 4.08563 16.9305 4.08563 17.2559 4.41107Z' /%3e%3c/svg%3e");
}

.form-field--checkbox input {
    display: none;
}

/* Form Field - Checkbox END */

/* Form Field - Select */

.form-field--select {
    font-family: "IBM Plex Serif", "Montserrat", sans-serif;
}

.form-field--select>label {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    pointer-events: auto;
    cursor: pointer;
    transition: none;
}

.form-field--select>label .text {
    transition: var(--transition);
}

.form-field--select>label .icon {
    display: flex;
    align-items: center;
    transition: var(--transition);
}

.form-field--select.expanded>label {
    color: var(--primary);
}

.form-field--select.expanded>label .icon {
    transform: rotate(180deg);
}

.form-field--select .custom-select {
    position: absolute;
    top: 22px;
    width: 100%;
    transition: var(--transition);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    user-select: none;
    z-index: 99;
}

.form-field--select.expanded .custom-select {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    user-select: auto;
}

.form-field--select .custom-select__options {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    gap: 14px;
    padding: 16px;
    background: var(--white);
    border: 1px solid var(--gray-light);
}

.form-field--select .custom-select__option {
    color: var(--gray);
    transition: var(--transition);
    cursor: pointer;
}

.form-field--select .custom-select__option:hover {
    color: var(--black);
}

.form-field--select .wpcf7-form-control-wrap {
    display: none;
}

/* Form Field - Select END */

.form-field .wpcf7-not-valid-tip {
    display: none;
}

.form-buttons {
    display: flex;
}

.form-buttons.w50 {
    width: calc(50% - 12px);
}

.form-fields+.form-buttons {
    margin-top: 16px;
}

.form-button {
    position: relative;
    display: flex;
    width: 100%;
    color: var(--white);
    border: none;
    overflow: hidden;
    z-index: 1;
}

.form-button input[type="submit"] {
    appearance: none;
    border: none;
    cursor: pointer;
}

.form-buttons.w50 .form-button input[type="submit"],
.form-button--wide input[type="submit"] {
    width: 100%;
    min-width: 100%;
}

.form-button--search {
    display: none;
}

.form-buttons .wpcf7-spinner {
    display: none;
}

.wpcf7 form .wpcf7-response-output {
    margin: 24px 0 0;
    padding: 10px 14px;
}

/* Form - Hover and focus effects */
.form-field label:hover,
.form-field>label:has(+ input:hover),
.form-field>label:has(+ input:focus),
.form-field>label:has(+ span input:hover),
.form-field>label:has(+ span input:focus),
.form-field input:hover,
.form-field input:focus,
.form-field>label:has(+ textarea:hover),
.form-field>label:has(+ textarea:focus),
.form-field>label:has(+ span textarea:hover),
.form-field>label:has(+ span textarea:focus),
.form-field textarea:hover,
.form-field textarea:focus,
.form-field.filled label,
.form-field.filled input,
.form-field.filled textarea {
    color: var(--primary);
}

.form-field input:hover,
.form-field input:focus,
.form-field textarea:hover,
.form-field textarea:focus,
.form-field--select label:hover,
.form-field.filled input,
.form-field.filled textarea {
    border-color: var(--primary);
}

.form-field input:hover::-webkit-input-placeholder {
    color: var(--primary);
}

.form-field input:hover:-moz-placeholder {
    color: var(--primary);
}

.form-field.filled>label {
    left: 40%;
    opacity: 0;
}

@media (max-width: 1023px) {
    .form-field.filled>label {
        display: none;
    }

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

@media (max-width: 767px) {
    .form-fields {
        gap: 16px 12px;
    }

    .form-field>label {
        top: 15px;
        left: 20px;
    }

    .form-field input,
    .form-field textarea {
        min-height: 46px;
        padding: 0px 18px;
    }

    .form-button input[type="submit"] {
        /* min-height: 58px; */
    }
}

@media (max-width: 499.75px) {
    .form-field.w50,
    .form-buttons.w50,
    .form-button {
        width: 100%;
    }
}

/*---------- FORM END ----------*/


/*---------- SLIDER ----------*/

.swiper .swiper-controls {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    z-index: 1;
}

/* Swiper - Pagination - Bullets */
.swiper .swiper-controls[data-type="pagination"] {
    top: calc(100% - 4px);
    transform: none;
}

.swiper .swiper-pagination {
    position: relative;
}

.swiper .swiper-pagination-bullets {
    bottom: initial !important;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.swiper .swiper-pagination-bullets .swiper-pagination-bullet {
    width: 13px;
    height: 13px;
    margin: 0 !important;
    background-color: var(--gray);
    transition: var(--transition);
    opacity: 1;
    cursor: pointer;
}

.swiper .swiper-pagination-bullets .swiper-pagination-bullet:hover {
    background-color: var(--primary-hover);
}

.swiper .swiper-pagination-bullets .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background-color: var(--primary);
}

/* Swiper - Navigation - Arrows */
.swiper-controls .swiper-arrow {
    border-radius: 50%;
    outline: none !important;
    cursor: pointer;
    overflow: hidden;
}

.swiper-controls .swiper-arrow .elementor-icon-wrapper {
    display: flex;
}

.swiper-controls .swiper-arrow .elementor-icon,
.swiper-controls .swiper-arrow:focus .elementor-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    font-size: 15px;
    background-color: var(--secondary);
    border: none;
    transition: var(--transition);
}

.swiper-controls .swiper-arrow .elementor-icon svg,
.swiper-controls .swiper-arrow:focus .elementor-icon svg {
    display: block;
    width: 1em;
    height: 1em;
    fill: var(--white) !important;
    transition: var(--transition);
}

.swiper-controls .swiper-arrow.swiper-button-disabled {
    pointer-events: none;
    cursor: default;
}

.swiper-controls .swiper-arrow.swiper-button-disabled .elementor-icon,
.swiper-controls .swiper-arrow:hover.swiper-button-disabled .elementor-icon {
    color: var(--gray) !important;
}

.swiper-controls .swiper-arrow.swiper-button-disabled .elementor-icon svg {
    fill: var(--gray) !important;
}

.swiper-controls .swiper-arrow:hover .elementor-icon {
    background-color: var(--secondary-hover) !important;
}

.swiper-controls .swiper-arrow:hover .elementor-icon svg {
    fill: var(--white) !important;
}

@media (max-width: 767px) {
    .swiper .swiper-controls:not([data-type="pagination"]) {
        display: none;
    }

    .swiper .swiper-controls[data-type="pagination"] {
        top: calc(100% - 28px);
    }

    .swiper .swiper-pagination-bullets .swiper-pagination-bullet {
        width: 8px;
        height: 8px;
    }

    .swiper-controls .swiper-arrow .elementor-icon,
    .swiper-controls .swiper-arrow:focus .elementor-icon {
        width: 40px;
        height: 40px;
        font-size: 12px;
    }
}

/* Swiper - Navigation - Arrows TOP */

.top-arrows-content__wrap {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 !important;
}

.top-arrows-content__wrap .prev-arrow-swiper,
.top-arrows-content__wrap .next-arrow-swiper {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 45px;
    height: 45px;
    font-size: 16px;
    border: 0;
    border-radius: 100px;
    background-color: var(--primary);
    cursor: pointer;
    transition: var(--transition);
    transition: var(--transition);
}
.top-arrows-content__wrap .prev-arrow-swiper svg,
.top-arrows-content__wrap .next-arrow-swiper svg {
    width: 1em;
    height: 1em;
}

.top-arrows-content__wrap .swiper-button-disabled {
    background: var(--primary);
    opacity: .3;
    cursor: not-allowed;
}

.top-arrows-content__wrap .prev-arrow-swiper:not(.swiper-button-disabled):hover,
.top-arrows-content__wrap .next-arrow-swiper:not(.swiper-button-disabled):hover,
.top-arrows-content__wrap .prev-arrow-swiper:not(.swiper-button-disabled):active,
.top-arrows-content__wrap .next-arrow-swiper:not(.swiper-button-disabled):active {
    background-color: var(--primary-hover);
}

@media (max-width: 767px) {
    .top-arrows-content__wrap .prev-arrow-swiper,
    .top-arrows-content__wrap .next-arrow-swiper {
        width: 36px;
        height: 36px;
        font-size: 14px;
    }
}

/*---------- SLIDER END ----------*/


/*---------- PAGINATION ----------*/

.pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    margin-top: 50px;
}

.pagination .page-numbers {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    color: var(--primary);
    border: 1px solid var(--primary);
    border-radius: 50%;
    transition: var(--transition);
}

.pagination .page-numbers.current {
    color: var(--white);
    background-color: var(--primary);
    border-color: var(--primary);
    cursor: default;
    pointer-events: none;
}

.pagination .page-numbers.dots {
    width: 20px;
    color: var(--secondary);
    border: none;
    cursor: default;
    pointer-events: none;
}

.pagination .page-numbers:hover {
    color: var(--white);
    background-color: var(--primary);
    border-color: var(--primary);
}

.pagination .page-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--secondary);
    transition: var(--transition);
}

.pagination .page-icon.disabled {
    color: var(--gray);
    cursor: default;
    pointer-events: none;
}

.pagination .page-icon:hover {
    color: var(--primary-hover);
}

@media (max-width: 1023.75px) {
    .pagination {
        gap: 12px;
        margin-top: 40px;
    }

    .pagination .page-numbers.dots {
        width: 14px;
    }
}

@media (max-width: 767px) {
    .pagination {
        margin-top: 30px;
    }

    .pagination .page-numbers {
        width: 32px;
        height: 32px;
        font-size: 14px;
    }

    .pagination .page-numbers.dots {
        width: 16px;
    }
}

@media (max-width: 449.75px) {
    .pagination {
        gap: 10px;
    }

    .pagination .page-numbers.dots {
        width: 12px;
    }

    .pagination .page-icon.start,
    .pagination .page-icon.end {
        display: none;
    }
}

/*---------- PAGINATION END ----------*/


/*---------- GLOBAL ----------*/

.page-title {
    
}

.accent-block {
    margin-block: 1em;
    padding: 20px;
    border: 2px dashed var(--primary);
    border-radius: var(--r8);
}

@media (max-width: 767px) {
    .page-title {
        
    }
}

/*---------- GLOBAL END ----------*/


/*---------- BREADCRUMBS ----------*/

.breadcrumbs {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 2px 10px;
    margin-bottom: 16px;
}

.breadcrumbs .breadcrumbs-separator {
    flex-shrink: 0;
    width: 6px;
    height: 6px;
    margin-bottom: 1px;
    background-color: var(--primary);
    border-radius: 50%;
}

@media (max-width: 767px) {
    .breadcrumbs {
        margin-bottom: 12px;
        font-size: 14px;
    }
}

/*---------- BREADCRUMBS END ----------*/


/*---------- TABS ----------*/

.elementor-element.tabs {
    overflow-x: auto !important;
}

.elementor-element.tabs::-webkit-scrollbar {
    width: 0;
    height: 0;
}

.elementor-element.tabs>div.elementor-element {
    display: flex;
    align-items: center;
    gap: 4px;
    min-width: max-content;
    max-width: max-content;
    margin: 0 auto;
    padding: 3px;
    list-style: none;
    border: 2px solid var(--white);
    border-radius: 36px;
    outline: none;
}

.elementor-element .tab {
    display: flex;
    outline: none;
    transition: var(--transition);
    cursor: pointer;
}

.elementor-element .tab .elementor-heading-title {
    min-width: max-content;
    padding: 16px 26px;
    color: var(--white);
    border-radius: 36px;
    outline: none;
    transition: var(--transition);
}

.elementor-element .tab:hover .elementor-heading-title {
    color: var(--green-dark-full);
    background-color: var(--green-light);
}

.elementor-element .tab.active .elementor-heading-title {
    color: var(--white);
    background-color: var(--green);
}

.elementor-element .tab-content {
    display: none !important;
}

.elementor-element .tab-content.active {
    display: block !important;
}

.elementor-element .tab-content.elementor-element.active {
    display: flex !important;
}

@media (max-width: 1023px) {
   
}

@media (max-width: 767px) {
    .elementor-element.tabs {
        width: 100vw;
        margin-inline: calc((100% - 100vw) / 2);
        padding-inline: calc((100vw - 100%) / 2);
    }

    .elementor-element.tabs>div.elementor-element {
        margin: 0;
    }
}

/*---------- TABS - END ----------*/


/*---------- POPUPS ----------*/

.mfp-bg {
    background: var(--black);
}

.mfp-container {
    padding: 20px !important;
    overflow-y: auto;
}

/* Animation - Zoom In */

.mfp-zoom-in {
    opacity: 0;
    transition: var(--transition);
}

.mfp-wrap.mfp-zoom-in {
    transform: scale(0.8);
}

.mfp-bg.mfp-zoom-in.mfp-ready {
    opacity: 0.6;
}

.mfp-wrap.mfp-zoom-in.mfp-ready {
    opacity: 1;
    transform: scale(1);
}

.mfp-zoom-in.mfp-removing {
    opacity: 0 !important;
}

.mfp-wrap.mfp-zoom-in.mfp-removing {
    transform: scale(0.8);
}

/* Animation - Zoom In - END */

/* Animation - Fade */

.mfp-fade {
    opacity: 0;
    transition: var(--transition);
}

.mfp-bg.mfp-fade.mfp-ready {
    opacity: 0.6;
}

.mfp-wrap.mfp-fade.mfp-ready {
    opacity: 1;
}

.mfp-fade.mfp-removing {
    opacity: 0 !important;
}

/* Animation - Fade - END */

.popup {
    position: relative;
    max-width: 654px;
    margin: 0 auto;
    padding: 0;
    border-radius: var(--r16);
    overflow: hidden;
}

.popup .popup-wrapper {
    background: var(--white);
}

.popup-title {
    max-width: 360px;
    margin: 0 auto;
    padding: 30px 0 0;
    line-height: 1.1em !important;
    text-align: center;
}

.popup-form {
    padding: 30px;
    background: var(--white);
}

.popup-close {
    position: absolute;
    top: 10px;
    right: 10px;
    display: flex;
    width: 24px;
    height: 24px;
    color: var(--secondary);
    transition: var(--transition);
    cursor: pointer;
}

.popup-close svg {
    width: 100%;
    height: 100%;
}

.popup-close:hover {
    color: var(--primary) !important;
}

@media (max-width: 767px) {
    .mfp-container {
        padding: 16px !important;
    }

    .popup-form {
        padding: 24px 20px 20px;
    }

    .popup-title + .popup-form {
        padding-top: 16px;
    }

    .popup-title {
        padding-top: 24px;
    }

    .popup-close {
        width: 20px;
        height: 20px;
    }
}

/*---------- POPUPS - END ----------*/


/*---------- HEADER ----------*/

header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    max-width: 100vw;
    z-index: 1001;
}

body.admin-bar header {
    top: 32px;
}

header+main,
header+div[data-elementor-type="single-post"],
header+div[data-elementor-type="archive"] {
    margin-top: 96px;
    padding-top: 15px;
}

.home header+main {
    padding-top: 0px;
}

header .header-wrapper {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    padding: 24px calc((100vw - 100%) / 2);
    margin: 0 calc((100% - 100vw) / 2);
    background: var(--white);
    transition: var(--transition);
}

header.scroll .header-wrapper {
    box-shadow: 0px 4px 4px 0px var(--black-20);
}

header .logo {
    flex-shrink: 0;
    max-width: 150px;
}

header .logo a {
    display: flex;
}

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

header .contact-items {
    display: flex;
    gap: 16px;
}

header .contact-item {
    display: flex;
}

header .menu {
    flex-grow: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

header .menu-wrapper {
    flex-grow: 1;
    display: flex;
    justify-content: center;
}

header .menu-list {
    display: flex;
    align-items: center;
    gap: 24px;
    list-style: none;
}

header .menu-list li {
    position: relative;
    display: flex;
}

header .menu-list li a:hover {
    color: var(--primary);
}

header .menu-list li + li::before {
    content: "";
    position: absolute;
    top: 50%;
    left: -14px;
    width: 4px;
    height: 4px;
    background-color: var(--primary);
    border-radius: 50%;
    transform: translateY(-50%);
}

/* Menu - Level 2 */
header .menu .menu-list>li.menu-item-has-children>span.icon {
    display: none;
}

header .menu .menu-list>li.menu-item-has-children>ul.sub-menu {
    list-style: none;
    position: absolute;
    top: calc(100% - 31px);
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: 18px;
    padding: 24px; 
    border-bottom-left-radius: 36px;
    border-bottom-right-radius: 36px;
    background-color: var(--white);
    border: 1px solid var(--gray);
    transition: var(--transition);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    user-select: none;
    z-index: 0;
}

header .menu .menu-list>li.menu-item-has-children.active>a {
    color: var(--primary);
}

header .menu .menu-list>li.menu-item-has-children.active>ul.sub-menu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    user-select: auto;
    z-index: 9;
}

header .menu .menu-list>li.menu-item-has-children>ul.sub-menu>li>a {
    max-width: 300px;
    padding: 0;
    font-size: 16px;
    font-weight: 500;
}

/* Menu - Level 2 - END */

header .burger-icon {
    display: none;
}

@media (max-width: 1349.75px) {
    header .header-wrapper {
        justify-content: flex-start;
    }

    header .header-buttons {
        margin-left: auto;
    }

    header .menu {
        position: absolute;
        top: -100vh;
        left: 0;
        display: flex;
        flex-direction: column;
        gap: 40px;
        min-height: calc(100dvh - 97px);
		height: 100%;
        width: 100%;
        padding: 0 0 40px 0;
        background: var(--white);
        transition: var(--transition);
        transition-duration: 0.6s;
        z-index: -1;
    }

    header .header-wrapper.active .menu {
        top: 97px;
    }

    header .menu-list {
        flex-direction: column;
		align-items: stretch;
		width: 100%;
    }

	header .menu-list>li {
		padding-bottom: 24px;
        border-bottom: 1px solid var(--gray-light);
	}

    header .menu-list li + li::before {
        content: none;
    }

	header .menu-list li a {
		font-size: 16px;
	}

    header .menu-wrapper {
        flex-grow: 0;
		justify-content: flex-start;
        width: 100%;
        padding: 40px 24px 0;
        overflow: auto;
    }

    header .burger-icon {
        position: relative;
        width: 30px;
        height: 30px;
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        z-index: 5;
        overflow: hidden;
    }

    header .burger-icon span {
        position: absolute;
        height: 2px;
        width: 100%;
        background: #121212;
        transition: var(--transition);
    }

    header .burger-icon span:nth-child(1) {
        transform: translate(0px, -10px);
    }

    header .burger-icon span:nth-child(2) {
        right: 0;
    }

    header .burger-icon span:nth-child(3) {
        transform: translate(0px, 10px);
    }

    header .burger-icon:hover span {
        background-color: var(--primary);
    }

    header .header-wrapper.active .burger-icon span {
        background-color: var(--black);
    }

    header .header-wrapper.active .burger-icon:hover span {
        background-color: var(--red);
    }

    header .header-wrapper.active .burger-icon span:nth-child(1) {
        transform: rotate(45deg);
    }

    header .header-wrapper.active .burger-icon span:nth-child(2) {
        right: -150%;
    }

    header .header-wrapper.active .burger-icon span:nth-child(3) {
        transform: rotate(-45deg);
    }
}

@media (max-width: 1023px) {
    header+main,
    header+div[data-elementor-type="single-post"],
    header+div[data-elementor-type="archive"] {
        
    }

    header .header-wrapper {
        gap: 20px;
        padding: 24px 30px;
    }
}

@media (max-width: 767px) {
    body.admin-bar header {
        top: 46px;
    }

    header+main,
    header+div[data-elementor-type="single-post"],
    header+div[data-elementor-type="archive"] {
        margin-top: 88px;
    }

    header .header-wrapper {
        padding: 20px;
    }

    header .menu-wrapper {
        padding: 30px 20px 0;
    }

    header .menu {
        min-height: calc(100vh - 89px);
        padding: 0 0 30px 0;
    }

    header .header-wrapper.active .menu {
        top: 89px;
    }

	header .menu-list li a {
		font-size: 16px;
	}
}

@media (max-width: 599.75px) {
    header .contact-items {
        margin-left: auto;
    }

    header .contact-item .btn-inline {
        font-size: 16px;
    }

    header .contact-item .btn-inline .title {
        display: none;
    }

    header .header-buttons {
        margin-left: 0;
    }
}

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

/*---------- HEADER END ----------*/

/*---------- FOOTER ----------*/

footer .footer-wrapper {
    margin: 0 calc((100% - 100vw) / 2);
    margin-top: 100px;
    padding: 60px calc((100vw - 100%) / 2);
    background-color: var(--secondary);
}

.home footer .footer-wrapper {
    margin-top: 0 !important;
}

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

footer .footer-top-column {
    display: flex;
    flex-direction: column;
    width: 25%;
}

footer .logo {
    max-width: 220px;
    color: var(--white);
}

footer .logo a {
    display: flex;
}

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

footer .footer-column-title {
    margin: 16px 0;
    color: var(--primary);
}

footer .menu-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    list-style: none;
}

footer .contact-items {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
}

footer .contact-item {
    display: inline-flex;
}

footer .footer-bottom {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    margin-top: 40px;
    padding-top: 40px;
    border-top: 1px solid var(--primary);
}

footer .footer-bottom .column-image {
    grid-column: 1/2;
}

footer .footer-bottom .column-image .image {
    display: flex;
    max-width: 250px;
}

footer .footer-bottom .column-image img {
    height: auto;
    width: 100%;
}

footer .footer-bottom .column-rights {
    grid-column: 2/5;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 24px;
    text-align: center;
}

@media (max-width: 1199.75px) {
    footer .logo {
        max-width: 180px;
    }
}

@media (max-width: 1023px) {
    footer .footer-wrapper {
        margin-top: 80px;
        padding-block: 40px;
    }

    footer .footer-top {
        flex-wrap: wrap;
    }

    footer .footer-top .footer-top-column {
        width: calc(33.333% - 16px);
    }

    footer .footer-top .column-identic {
        width: 100%;
    }

    footer .footer-column-title {
        margin-top: 0;
    }

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

@media (max-width: 767px) {
    footer .footer-wrapper {
        margin-top: 60px;
        padding-block: 30px;
    }

    footer .footer-top {
        
    }

    footer .footer-top .footer-top-column {
        width: 100% !important;
    }

    footer .footer-top .column-contacts,
    footer .footer-top .column-address {
        padding-top: 30px;
        border-top: 1px solid var(--primary);
    }

    footer .footer-bottom {
        align-items: flex-start;
        margin-top: 30px;
        padding-top: 30px;
    }

    footer .footer-bottom .column-image .image {
        max-width: 150px;
    }

    footer .footer-bottom .column-rights {
        gap: 16px;
        text-align: left;
    }
}

@media (max-width: 499.75px) {

}

/*---------- FOOTER END ----------*/


/*---------- SINGLE BLOG PAGE ----------*/

.post-content>.elementor-widget-container {
    padding: 0 90px;
}

.post-content>.elementor-widget-container h1,
.post-content>.elementor-widget-container h2,
.post-content>.elementor-widget-container h3,
.post-content>.elementor-widget-container h4,
.post-content>.elementor-widget-container h5,
.post-content>.elementor-widget-container h6 {
    color: var(--white);
}

.post-content .wp-block-image {
    display: flex;
    height: 500px;
    margin-inline: -90px;
    border-radius: 24px;
    overflow: hidden;
}

.post-content .wp-block-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.post-content *+.wp-block-image,
.post-content .wp-block-image+* {
    margin-top: 60px;
}

.post-content a {
    position: relative;
    display: inline-flex;
    padding: 0 0 1px 0;
    font-weight: 500;
    color: var(--primary);
    transition: var(--transition);
}

.post-content a::after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    position: absolute;
    left: 50%;
    bottom: 0;
    background-color: var(--primary);
    transform: translateX(-50%);
    transition: var(--transition);
    opacity: 1;
}

.post-content a:hover {
    color: var(--black);
}

.post-content a:hover::after {
    width: 0%;
    background-color: var(--black);
}

@media (max-width: 1023.75px) {
    .post-content>.elementor-widget-container {
        padding: 0;
    }

    .post-content .wp-block-image {
        margin-inline: 0;
    }

    .post-content *+.wp-block-image,
    .post-content .wp-block-image+* {
        margin-top: 50px;
    }
}

@media (max-width: 767px) {

    .post-content *+.wp-block-image,
    .post-content .wp-block-image+* {
        margin-top: 40px;
    }
}

/*---------- SINGLE BLOG PAGE END ----------*/


/*---------- ELEMENTOR ----------*/

.elementor-element h1+*,
.elementor-element h2+*,
.elementor-element h3+*,
.elementor-element h4+*,
.elementor-element h5+*,
.elementor-element h6+* {
    margin-top: 1em;
}

.elementor-element p+* {
    margin-top: 1.25em;
}

.elementor-element p+h1,
.elementor-element p+h2,
.elementor-element p+h3,
.elementor-element p+h4,
.elementor-element p+h5,
.elementor-element p+h6 {
    margin-top: 1.2em;
}

.elementor-element p+ul,
.elementor-element p+ol,
.popup-wrapper p+ul,
.popup-wrapper p+ol {
    margin-top: 0.75em;
}

.elementor-element ul+*,
.elementor-element ol+*,
.popup-wrapper ul+*,
.popup-wrapper ol+* {
    margin-top: 1.25em;
}

.elementor-element ul+h1,
.elementor-element ul+h2,
.elementor-element ul+h3,
.elementor-element ul+h4,
.elementor-element ul+h5,
.elementor-element ul+h6,
.elementor-element ol+h1,
.elementor-element ol+h2,
.elementor-element ol+h3,
.elementor-element ol+h4,
.elementor-element ol+h5,
.elementor-element ol+h6,
.popup-wrapper ul+h1,
.popup-wrapper ul+h2,
.popup-wrapper ul+h3,
.popup-wrapper ul+h4,
.popup-wrapper ul+h5,
.popup-wrapper ul+h6,
.popup-wrapper ol+h1,
.popup-wrapper ol+h2,
.popup-wrapper ol+h3,
.popup-wrapper ol+h4,
.popup-wrapper ol+h5,
.popup-wrapper ol+h6 {
    margin-top: 1.4em;
}

.elementor-element ul,
.popup-wrapper ul {
    margin-left: 0.75em;
}

.elementor-element ul>li,
.popup-wrapper ul>li {
    position: relative;
    list-style-type: none;
    padding-left: 1.1em;
}

.elementor-element ul>li+li,
.popup-wrapper ul>li+li {
    margin-top: 8px;
}

.elementor-element ul>li:not([class])::before,
.popup-wrapper ul>li:not([class])::before {
    content: "";
    position: absolute;
    top: 7px;
    left: 1px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: var(--primary);
}

.elementor-element ol,
.popup-wrapper ol {
    margin-left: 1.85em;
}

.elementor-element ol>li+li,
.popup-wrapper ol>li+li {
    margin-top: 8px;
}

.elementor-widget-text-editor a,
.elementor-widget-icon-box .elementor-icon-box-content .elementor-icon-box-title a,
.elementor-widget-icon-box .elementor-icon-box-content .elementor-icon-box-description a {
    position: relative;
    display: inline-flex;
    padding: 0 0 1px 0;
    font-weight: 500;
    color: var(--primary);
    transition: var(--transition);
}

.elementor-widget-text-editor a::after,
.elementor-widget-icon-box .elementor-icon-box-content .elementor-icon-box-title a::after,
.elementor-widget-icon-box .elementor-icon-box-content .elementor-icon-box-description a::after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    position: absolute;
    left: 50%;
    bottom: 0;
    background-color: var(--primary);
    transition: var(--transition);
    transform: translateX(-50%);
    opacity: 1;
}

.elementor-widget-text-editor a:hover,
.elementor-widget-icon-box .elementor-icon-box-content .elementor-icon-box-title a:hover,
.elementor-widget-icon-box .elementor-icon-box-content .elementor-icon-box-description a:hover {
    color: var(--black);
}

.elementor-widget-text-editor a:hover::after,
.elementor-widget-icon-box .elementor-icon-box-content .elementor-icon-box-title a:hover::after,
.elementor-widget-icon-box .elementor-icon-box-content .elementor-icon-box-description a:hover::after {
    width: 0%;
    background-color: var(--black);
}

.elementor-widget-icon-box a {
    position: relative;
    display: inline-flex;
}

.elementor-widget-icon-box a:hover {
    color: var(--primary);
}

@media (max-width: 767.75px) {
    .elementor .elementor-hidden-mobile,
    .elementor .elementor-hidden-phone {
        display: none;
    }
}

/* Elementor - Toggler */
.elementor-widget-toggle .elementor-tab-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-direction: row-reverse;
    transition: border-bottom 0s ease 0.35s;
}

.elementor-widget-toggle .elementor-tab-title .elementor-toggle-title {
    transition: var(--transition);
}

.elementor-widget-toggle .elementor-tab-title .elementor-toggle-icon svg {
    transition: var(--transition);
}

.elementor-widget-toggle .elementor-tab-title .elementor-toggle-icon-closed {
    transition: var(--transition);
}

.elementor-widget-toggle .elementor-tab-title.elementor-active .elementor-toggle-icon-closed {
    display: block !important;
    transform: rotate(180deg) translateY(3px);
}

.elementor-widget-toggle .elementor-tab-title.elementor-active .elementor-toggle-icon-opened {
    display: none !important;
}

/* Elementor - Accordion  */
.elementor-widget-n-accordion .e-n-accordion-item {
    background-color: var(--green-dark);
    border-radius: 20px;
}

.elementor-widget-n-accordion .e-n-accordion-item>.e-con {
    padding: 0 30px 30px !important;
    border: none !important;
    outline: none !important;
}

.elementor-widget-n-accordion .e-n-accordion-item-title {
    padding: 30px !important;
    border: none !important;
    outline: none !important;
}

.elementor-widget-n-accordion .e-n-accordion-item-title-text {
    color: var(--white);
    transition: var(--transition);
}

.elementor-widget-n-accordion .e-n-accordion-item-title:hover .e-n-accordion-item-title-text,
.elementor-widget-n-accordion .e-n-accordion-item-title[aria-expanded="true"] .e-n-accordion-item-title-text {
    color: var(--green);
}

.elementor-widget-n-accordion .e-n-accordion-item-title-icon {
    align-self: flex-start;
}

.elementor-widget-n-accordion .e-n-accordion-item-title-icon svg {
    fill: transparent !important;
    color: var(--green);
}

@media (max-width: 767px) {
    .elementor-widget-n-accordion .e-n-accordion-item>.e-con {
        padding: 0 20px 24px !important;
    }

    .elementor-widget-n-accordion .e-n-accordion-item-title {
        padding: 24px 20px !important;
    }
}

/* Elementor - Icon  */
.elementor-widget-icon .elementor-icon-wrapper {
    display: flex;
}

/* Elementor - Tabs  */
.elementor-widget-n-tabs .e-n-tabs {
    gap: 40px !important;
}

.elementor-widget-n-tabs .e-n-tabs .e-n-tabs-heading {
    align-self: center;
    display: flex;
    gap: 4px;
    padding: 3px;
    border: 2px solid var(--white);
    border-radius: 36px;
}

.elementor-widget-n-tabs .e-n-tabs .e-n-tabs-heading .e-n-tab-title {
    display: flex;
    min-width: max-content;
    padding: 16px 26px;
    color: var(--white);
    background-color: transparent;
    border-radius: 36px;
    outline: none;
}

.elementor-widget-n-tabs .e-n-tabs .e-n-tabs-heading .e-n-tab-title:hover {
    color: var(--green-dark-full) !important;
    background-color: var(--green-light) !important;
}

.elementor-widget-n-tabs .e-n-tabs .e-n-tabs-heading .e-n-tab-title[aria-selected="true"] {
    color: var(--white) !important;
    background-color: var(--green) !important;
}

/* Elementor Style - END */

/*---------- ELEMENTOR END ----------*/

/*---------- SECTIONS ----------*/

.seo h2,
.seo h3 {
    margin-bottom: 1em;
}

/*---------- SECTIONS END ----------*/


/*---------- SHOP ----------*/

/* Catalog Page */

.catalog {}

.catalog .catalog-wrapper {
    display: grid;
    grid-template-areas:
        "sidebar count sort"
        "sidebar products products";
    grid-template-columns: 350px 1fr auto;
    grid-template-rows: 38px auto;
    gap: 32px 28px;
    margin-top: 50px;
    transition: var(--transition);
}

.catalog .catalog-wrapper--no-products {
    grid-template-areas: "sidebar products products";
    grid-template-rows: auto;
}

.catalog .catalog-sidebar {
    grid-area: sidebar;
    align-self: flex-start;
    padding: 34px 30px;
    background-color: var(--secondary);
    border-radius: var(--r16);
}

.catalog .catalog-sidebar .widget + .widget {
    margin-top: 32px;
    padding-top: 32px;
    border-top: 1px solid var(--secondary-border);
}

.catalog .catalog-sidebar .widget-title {
    margin-bottom: 18px;
}

.catalog .catalog-sidebar .product-list-widget {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.catalog .catalog-sidebar .product-list-widget .product-link {
    display: flex;
    align-items: center;
    gap: 16px;
    color: var(--white);
}

.catalog .catalog-sidebar .product-list-widget .product-image {
    flex-shrink: 0;
    display: flex;
    width: 80px;
    height: 70px;
    padding: 0px;
    border: 1px solid var(--white);
    border-radius: var(--r10);
    transition: var(--transition);
    overflow: hidden;
}

.catalog .catalog-sidebar .product-list-widget .product-image img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    transition: var(--transition);
}

.catalog .catalog-sidebar .product-list-widget .product-link:hover {
    color: var(--primary);
}

.catalog .catalog-sidebar .product-list-widget .product-link:hover .product-image {
    border-color: var(--primary);
}

.catalog .catalog-sidebar .product-list-widget .product-link:hover .product-image img {
    transform: scale(1.1);
}

.catalog .catalog-sidebar .wc-block-product-categories {
    margin: 0;
    color: var(--white);
}

.catalog .catalog-sidebar .wc-block-product-categories ul {
    list-style: none;
}

.catalog .catalog-sidebar .wc-block-product-categories a:hover {
    color: var(--primary);
}

.catalog .catalog-sidebar .wc-block-product-categories li.current-category > a {
    color: var(--primary);
}

.catalog .catalog-sidebar .wc-block-product-categories > ul > li > a {
    font-size: 16px;
    font-weight: 600;
    text-transform: uppercase;
}

.catalog .catalog-sidebar .wc-block-product-categories > ul > li + li {
    margin-top: 16px;
}

.catalog .catalog-sidebar .wc-block-product-categories > ul > li > ul {
    margin-top: 10px;
}

.catalog .catalog-sidebar .wc-block-product-categories > ul > li > ul > li {
    position: relative;
    list-style-type: none;
    padding-left: 1.1em;
}

.catalog .catalog-sidebar .wc-block-product-categories > ul > li > ul > li::before {
    content: "";
    position: absolute;
    top: 7px;
    left: 1px;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background-color: var(--primary);
}

.catalog .catalog-sidebar .wc-block-product-categories > ul > li > ul > li + li {
    margin-top: 10px;
}

.catalog .catalog-result-count {
    grid-area: count;
    color: var(--secondary);
}

.catalog .catalog-result-count span {
    font-weight: 600;
}

.catalog .catalog-ordering {
    grid-area: sort;
    position: relative;
    float: none;
    margin: 0;
    z-index: 5;
}

.catalog .catalog-ordering select {
    display: none;
}

.catalog .catalog-ordering-title {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    color: var(--secondary);
    cursor: pointer;
}

.catalog .catalog-ordering-title .catalog-ordering-title__text {
    text-align: right;
    transition: var(--transition);
}

.catalog .catalog-ordering-title svg {
    transition: var(--transition);
    transform: rotate(-180deg);
}

.catalog .catalog-ordering-title:hover .catalog-ordering-title__text,
.catalog .catalog-ordering-title:hover svg {
    color: var(--primary);
}

.catalog .catalog-ordering-title.active svg {
    transform: rotate(0deg);
}

.catalog .catalog-ordering-items {
    position: absolute;
    top: 30px;
    right: 0;
    display: none;
    width: max-content;
    max-width: calc(100vw - 36px);
    padding: 16px 20px;
    background-color: var(--white);
    border: 1px solid var(--gray);
    border-radius: var(--r16);
    overflow: hidden;
}

.catalog .catalog-ordering-item {
    transition: var(--transition);
    cursor: pointer;
}

.catalog .catalog-ordering-item:hover {
    color: var(--primary);
}

.catalog .catalog-ordering-item.selected {}

.catalog .catalog-ordering-item+.catalog-ordering-item {
    margin-top: 14px;
}

.catalog .catalog-products {
    grid-area: products;
}

.catalog .catalog-wrapper--no-products .catalog-products {
    margin-top: 84px;
}

.catalog .catalog-wrapper--no-products .catalog-no-products {
    margin-bottom: 16px;
}

.catalog .catalog-description {
    margin-top: 50px;
}

.catalog .catalog-description p+*,
.catalog .catalog-description ul+*,
.catalog .catalog-description ol+* {
    margin-top: 1.25em;
}

.catalog .catalog-description p+ul,
.catalog .catalog-description p+ol {
    margin-top: 0.75em;
}

.catalog .catalog-description ul {
    margin-left: 0.75em;
}

.catalog .catalog-description ul>li {
    position: relative;
    list-style-type: none;
    padding-left: 1.1em;
}

.catalog .catalog-description ul>li+li {
    margin-top: 8px;
}

.catalog .catalog-description ul>li::before {
    content: "";
    position: absolute;
    top: 7px;
    left: 1px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: var(--primary);
}

.catalog .catalog-description ol {
    margin-left: 1.85em;
}

.catalog .catalog-description ol>li+li {
    margin-top: 8px;
}

.catalog .catalog-description h1:not(:last-child),
.catalog .catalog-description h2:not(:last-child),
.catalog .catalog-description h3:not(:last-child),
.catalog .catalog-description h4:not(:last-child),
.catalog .catalog-description h5:not(:last-child),
.catalog .catalog-description h6:not(:last-child) {
    margin-bottom: 0.5em;
}

.catalog .catalog-description *+h1,
.catalog .catalog-description *+h2,
.catalog .catalog-description *+h3,
.catalog .catalog-description *+h4,
.catalog .catalog-description *+h5,
.catalog .catalog-description *+h6 {
    margin-top: 1.25em;
}

.catalog .catalog-description a {
    position: relative;
    display: inline-flex;
    padding: 0 0 1px 0;
    font-weight: 500;
    color: var(--primary);
    transition: var(--transition);
}

.catalog .catalog-description a::after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    position: absolute;
    left: 50%;
    bottom: 0;
    background-color: var(--primary);
    transform: translateX(-50%);
    transition: var(--transition);
    opacity: 1;
}

.catalog .catalog-description a:hover {
    color: var(--black);
}

.catalog .catalog-description a:hover::after {
    width: 0%;
    background-color: var(--black);
}

.catalog .catalog-products .product-price--old.text-sale {
    display: none;
}

@media (max-width: 1023.75px) {
    .catalog .catalog-wrapper {
        grid-template-areas:
            "count sort"
            "products products"
            "sidebar sidebar";
        grid-template-columns: 1fr 330px;
        grid-template-rows: auto;
        gap: 24px 16px;
        margin-top: 24px;
    }

    .catalog .catalog-wrapper--no-products {
        grid-template-areas:
            "sidebar"
            "products";
        grid-template-columns: 1fr;
    }

    .catalog .catalog-sidebar {
        margin-top: 30px;
    }
}

@media (max-width: 767px) {
    .catalog .catalog-wrapper--no-products .catalog-products {
        margin-top: 0;
    }

    .catalog .catalog-description {
        margin-top: 60px;
    }
}

@media (max-width: 599.75px) {
    .catalog .catalog-wrapper {
        grid-template-areas:
            "sort"
            "products"
            "sidebar";
        grid-template-columns: 1fr;
    }

    .catalog .catalog-result-count {
        display: none;
    }
}

/* Catalog Page - END */

/* Product Items */

.product-items {
    display: flex;
    flex-wrap: wrap;
    gap: 32px 24px;
}

.product-items .product {
    display: flex;
    flex-direction: column;
    width: calc(25% - 18px);
    padding-bottom: 20px;
    background-color: #FBFBF9;
}

.product-items .product .product-info {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.product-items .product .product-sale {
    position: absolute;
    top: 8px;
    right: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    font-weight: 500;
    color: var(--white);
    background: var(--red);
    border-radius: 50%;
    z-index: 1;
    user-select: none;
    pointer-events: none;
}

.product-items .product .product-image {
    display: flex;
    align-items: center;
    justify-content: center;
    height: min(220px, 15vw);
    margin-bottom: 16px;
    background-color: var(--white);
    border: 1px solid var(--gray);
    border-radius: var(--r16);
    transition: var(--transition);
    overflow: hidden;
}

.product-items .product .product-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: var(--transition);
}

.product-items .product.product_cat-pamyatniki .product-image img,
.product-items .product.product_cat-hauakivid .product-image img {
	object-fit: contain;
}

.product-items .product .product-image:hover {
    border-color: var(--primary);
}

.product-items .product .product-image:hover img {
    transform: scale(1.1);
}

.product-items .product .product-title {
    margin-bottom: 20px;
    padding-inline: 20px;
    color: var(--black);
}

.product-items .product .product-title:last-child {
    margin-bottom: 0px;
}

.product-items .product .product-title:hover {
    color: var(--primary);
}

.product-items .product .product-price {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: auto;
    padding-inline: 20px;
    font-size: 20px;
    font-weight: 500;
    color: var(--primary);
}

.product-items .product .product-price del {
    order: 1;
    font-size: 0.65em;
    font-weight: 400;
    line-height: 1em;
    color: var(--black-60);
}

.product-items .product .product-price ins {
    text-decoration: none;
}

.product-items .product-buttons {
    display: flex;
    gap: 16px;
    margin: 16px 20px 0;
}

.product-items .product-buttons #more-btn {
    width: 100%;
}

@media (min-width: 768px) {
    .product-items .product-buttons #more-btn {
        min-width: auto;
    }
}

@media (max-width: 1249.75px) {
    .product-items .product {
        width: calc(33.333% - 16px);
    }

    .product-items .product .product-image {
        height: max(18vw, 180px);
    }
}

@media (max-width: 1023px) {
    .product-items .product .product-title {
        
    }

    .product-items .product .product-image {
        height: max(26vw, 190px);
    }

    .product-items .product-buttons {
        
    }
}

@media (max-width: 767px) {
    .product-items {
        gap: 30px 20px;
    }

    .product-items .product {
        width: calc(50% - 10px);
    }

    .product-items .product .product-image {
        height: max(36vw, 190px);
    }
}

@media (max-width: 499.75px) {
    .product-items .product {
        width: 100% !important;
    }

    .product-items .product .product-image {
        height: max(70vw, 190px);
    }
}

/* Product Items - END */


/* Single Product Page */

.catalog .catalog-product {
    display: flex;
    flex-direction: column;
    gap: 60px;
}

.catalog .catalog-product-main {
    display: flex;
    flex-wrap: wrap;
    gap: 90px 40px;
}

.catalog .catalog-product-info {
    position: sticky;
    top: 120px;
    align-self: flex-start;
    display: flex;
    flex-direction: column;
    width: calc(26% - 20px);
    z-index: 5;
}

.catalog .catalog-product-gallery {
    float: none !important;
    width: 100% !important;
    margin-bottom: 0 !important;
    opacity: 1 !important;
    transition: none !important;
}

.catalog .catalog-product-gallery img {
    height: 100% !important;
    padding: 0;
    object-fit: cover;
}

.catalog .catalog-product.product_cat-pamyatniki .catalog-product-gallery img,
.catalog .catalog-product.product_cat-hauakivid .catalog-product-gallery img {
	object-fit: contain;
}

.catalog .catalog-product-gallery .woocommerce-product-gallery__image--placeholder {
    border: none !important;
    overflow: hidden;
}

.catalog .catalog-product-gallery > .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image > a {
    height: 100%;
    width: 100%;
}

.catalog .catalog-product-gallery .woocommerce-product-gallery__image--placeholder,
.catalog .catalog-product-gallery > .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image,
.catalog .catalog-product-gallery .flex-viewport {
    height: 285px !important;
    border: 1px solid var(--gray);
    border-radius: var(--r16);
    transition: var(--transition) !important;
    overflow: hidden;
    cursor: pointer;
}

.catalog .catalog-product-gallery .woocommerce-product-gallery__image--placeholder:hover,
.catalog .catalog-product-gallery > .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:hover,
.catalog .catalog-product-gallery .flex-viewport:hover {
    border-color: var(--primary);
}

.catalog .catalog-product-gallery .flex-viewport .woocommerce-product-gallery__wrapper {
    display: flex;
    height: 100%;
}

.catalog .catalog-product-gallery .flex-viewport .woocommerce-product-gallery__image {
    display: flex !important;
    align-items: center;
    justify-content: center;
    height: 100%;
}

.catalog .catalog-product-gallery .flex-viewport .woocommerce-product-gallery__image > a {
    height: 100%;
    width: 100%;
}

.catalog .catalog-product-gallery .flex-control-thumbs {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}

.catalog .catalog-product-gallery .flex-control-thumbs li {
    height: 125px;
    width: calc(50% - 8px) !important;
}

.catalog .catalog-product-gallery .flex-control-thumbs li img {
    padding: 8px;
    border: 1px solid var(--gray);
    border-radius: var(--r8);
    transition: var(--transition);
}

.catalog .catalog-product-result {
    margin-top: 16px;
    padding: 24px;
    border: 1px solid var(--gray);
    border-radius: var(--r16);
}

.catalog .catalog-product-result-items {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 8px;
}

.catalog .catalog-product-result > div + div {
    margin-top: 16px;
}

.catalog .catalog-product-result-item.item-option {
    display: flex;
    flex-direction: column;
}

.catalog .catalog-product-result-item.item-option .bonus {
    position: relative;
    top: -1px;
    display: inline-flex;
    margin-top: 2px;
    padding: 0px 4px 2px;
    font-size: 12px;
    color: var(--white);
    background: var(--red);
    border-radius: 6px;
}

.catalog .catalog-product-result-item.item-price {
    display: inline-flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 0px 16px;
}

.catalog .catalog-product-result-item.item-price span {
    font-size: 18px;
    color: var(--primary);
}

.catalog .catalog-product-result-item.item-price:last-child span {
    font-size: 20px;
    font-weight: 600;
}

.catalog .catalog-product-button {
	margin-top: 16px;
    text-align: center;
}

.catalog .catalog-product-summary {
    width: calc(74% - 20px);
}

.catalog .catalog-product-top {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-bottom: 24px;
}

.catalog .catalog-product-notice {
    font-weight: 600;
}

.catalog .catalog-product-onsale {
    position: absolute;
    top: 16px;
    left: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 15px 30px;
    font-weight: 500;
    color: var(--white);
    background-color: var(--red);
    border-radius: var(--r10);
    user-select: none;
    pointer-events: none;
    z-index: 9;
}

.catalog .catalog-product-onsale.percentage {
    top: 8px;
    left: 8px;
    width: 40px;
    height: 40px;
    padding: 0;
    border-radius: 50%;
}

.catalog .catalog-product-price {
    display: flex;
    gap: 4px;
    font-size: 20px;
    font-weight: 500;
}

.catalog .catalog-product-price .price-text {
    color: var(--black);
}

.catalog .catalog-product-price .price-sale {
    font-size: 0.65em;
    line-height: 1em;
    color: var(--black-60);
    text-decoration: line-through;
}

.catalog .catalog-product-price .price-regular {
    color: var(--primary);
}

.catalog .catalog-product-price-range {
    display: flex;
    gap: 4px;
    font-size: 20px;
    font-weight: 500;
    color: var(--primary);
}

.catalog .catalog-product-short-description {
    margin-top: 1em;
}

.catalog .catalog-product-form {
    margin-top: 40px;
    margin-bottom: 0 !important;
}

.catalog .catalog-product .variations {

}

.catalog .catalog-product .variation + .variation {
    margin-top: 24px;
}

.catalog .catalog-product .variations .variation > label {
    font-size: 18px;
    font-weight: 600 !important;
}

.catalog .catalog-product .variations .variation-values {
    margin-top: 16px;
    padding-bottom: 24px;
    border-bottom: 1px solid var(--gray-light);
}

.catalog .catalog-product .variations .variation-values > select {
    display: none !important;
}

.catalog .catalog-product .variations .variable-items-wrapper {
    gap: 12px;
}

.catalog .catalog-product .variations .variable-items-wrapper .variable-item:not(.radio-variable-item) {
    width: calc(16.666% - 10px);
    height: auto;
    margin: 0;
    padding: 0;
    border: 1px solid var(--gray);
    border-radius: var(--r8);
    box-shadow: none;
    --wvs-hover-item-text-color: var(--secondary);
    --wvs-selected-item-text-color: var(--white);
    --wvs-selected-item-background-color: var(--primary);
}

.catalog .catalog-product .variations .variable-items-wrapper .variable-item:not(.radio-variable-item):hover {
    border-color: var(--secondary);
}

.catalog .catalog-product .variations .variable-items-wrapper .variable-item:not(.radio-variable-item).selected {
    border-color: var(--primary) !important;
}

.catalog .catalog-product .variations .variable-items-wrapper .variable-item.button-variable-item {
    padding: 8px 16px;
}

.catalog .catalog-product .variations .variable-items-wrapper .variable-item:not(.radio-variable-item).button-variable-item .variable-item-span {
    padding: 0;
}

.catalog .catalog-product .variations .variable-items-wrapper .variable-item.image-variable-item {
    position: relative;
    border: none;
    overflow: hidden;
	aspect-ratio: var(--wp--preset--aspect-ratio--square);
}

.catalog .catalog-product .variations .variable-items-wrapper .variable-item.image-variable-item::before,
.catalog .catalog-product .variations .variable-items-wrapper .variable-item.image-variable-item::after {
    content: none;
}

.catalog .catalog-product .variations .variable-items-wrapper .variable-item.image-variable-item img {
    border-radius: var(--r8);
	object-fit: cover;
    transition: var(--transition);
}

.catalog .catalog-product .variations .variable-items-wrapper .variable-item.image-variable-item .variable-item-label {
    position: absolute;
    left: 0;
    bottom: 0;
    display: block;
    width: 100%;
    padding: 8px;
    font-size: 10px;
    font-weight: 500;
    line-height: 1.25em;
    color: var(--white);
    background: var(--secondary);
    border-bottom-right-radius: var(--r6);
    border-bottom-left-radius: var(--r6);
    transition: var(--transition);
}

.catalog .catalog-product .variations .variable-items-wrapper:has(.image-variable-item:hover) .image-variable-item { opacity: 0.6; }
.catalog .catalog-product .variations .variable-items-wrapper:has(.image-variable-item:hover) .image-variable-item .variable-item-label { transform: none; }
.catalog .catalog-product .variations .variable-items-wrapper .variable-item.image-variable-item:hover { opacity: 1; }
.catalog .catalog-product .variations .variable-items-wrapper .variable-item.image-variable-item:hover .variable-item-label { transform: translateY(calc(100% + 1px)); }

.catalog .catalog-product .variations .variable-items-wrapper .image-variable-item.selected {  }
.catalog .catalog-product .variations .variable-items-wrapper .variable-item.image-variable-item.selected .variable-item-label { transform: translateY(calc(100% + 1px)); }

.catalog .catalog-product .variations .variable-items-wrapper .variable-item:not(.radio-variable-item).image-variable-item.selected:not(.no-stock) .variable-item-contents:before {
    background-size: 50%;
    z-index: 1;
}

/* Only for shape attribute */
.catalog .catalog-product .variations .variable-items-wrapper[data-attribute_name="attribute_pa_shape"] .variable-item.image-variable-item {
    border: 1px solid var(--gray);
	aspect-ratio: initial;
}

.catalog .catalog-product .variations .variable-items-wrapper[data-attribute_name="attribute_pa_shape"] .variable-item.image-variable-item .variable-item-label {
    position: relative;
}

.catalog .catalog-product .variations .variable-items-wrapper[data-attribute_name="attribute_pa_shape"] .variable-item.image-variable-item.selected .variable-item-label {
    background: var(--primary);
    transform: none;
}
/* Only for shape attribute - END */

.catalog .catalog-product .single_variation_wrap {
    margin-top: 100px;
}

.catalog .catalog-product .single_variation_wrap:has(.wapf) .woocommerce-variation-price {
    display: none !important;
}

.catalog .catalog-product .woocommerce-variation .woocommerce-variation-price {
    display: flex;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 30px;
    font-size: 16px;
    font-weight: 600;
}

.catalog .catalog-product .woocommerce-variation .woocommerce-variation-price .catalog-product-price {
    font-size: 18px;
}

.catalog .catalog-product .catalog-product-buttons {
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 24px;
}

.catalog .catalog-product .catalog-product-quantity {
    display: none !important;
    display: flex;
	align-items: center;
    justify-content: center;
	gap: 25px;
    width: 192px;
    height: 66px;
    background: var(--white-secondary);
    border-radius: 34px;
    transition: var(--transition);
    outline: none;
}

.catalog .catalog-product .catalog-product-quantity .qty-minus,
.catalog .catalog-product .catalog-product-quantity .qty-plus {
	display: flex;
	align-items: center;
	width: 20px;
	height: 20px;
	color: var(--white);
	transition: var(--transition);
	cursor: pointer;
}

.catalog .catalog-product .catalog-product-quantity .qty-minus:hover {
	color: var(--red);
}

.catalog .catalog-product .catalog-product-quantity .qty-plus:hover {
	color: var(--green);
}

.catalog .catalog-product .catalog-product-quantity input {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	width: 1.2em;
    font-size: 32px;
    font-weight: 600;
    text-align: center;
    color: var(--green);
	background: none;
    border: none;
    outline: none;
}

.catalog .catalog-product .catalog-product-quantity input[type="number"] {
	-webkit-appearance: textfield;
	-moz-appearance: textfield;
	appearance: textfield;
}
 
.catalog .catalog-product .catalog-product-quantity input[type="number"]::-webkit-outer-spin-button,
.catalog .catalog-product .catalog-product-quantity input[type="number"]::-webkit-inner-spin-button {
	display: none;
}

.catalog .catalog-product .additional-features-title {
    display: none;
    margin-bottom: 16px;
}

.catalog .catalog-product .wapf-field-label {
    font-size: 16px;
    font-weight: 500 !important;
}

.catalog .catalog-product-tabs {
    display: flex;
    flex-direction: column;
    width: 100%;
}

.catalog .catalog-product-tabs .tabs-wrapper {
    display: flex;
    justify-content: center;
    width: 100%;
    margin-bottom: 40px;
    overflow-x: auto;
}

.catalog .catalog-product-tabs .tabs {
    display: flex;
    gap: 4px;
    padding: 3px;
    list-style: none;
    border: 2px solid var(--white);
    border-radius: 36px;
    outline: none;
}

.catalog .catalog-product-tabs .tabs .tab {
    display: flex;
    outline: none;
}

.catalog .catalog-product-tabs .tabs .tab a {
    min-width: max-content;
    padding: 16px 26px;
    color: var(--white);
    border-radius: 36px;
    outline: none;
}

.catalog .catalog-product-tabs .tabs .tab:hover a {
    color: var(--green-dark-full);
    background-color: var(--green-light);
}

.catalog .catalog-product-tabs .tabs .tab.active a {
    color: var(--white);
    background-color: var(--green);
}

.catalog .catalog-product-tabs .tabpanels {
    padding: 40px 60px;
    background-color: var(--green-dark);
    border-radius: 20px;
}

.catalog .catalog-product-tabs .description h1,
.catalog .catalog-product-tabs .description h2,
.catalog .catalog-product-tabs .description h3,
.catalog .catalog-product-tabs .description h4,
.catalog .catalog-product-tabs .description h5,
.catalog .catalog-product-tabs .description h6 {
    color: var(--white);
}

.catalog .catalog-product-tabs .additional-information {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.catalog .catalog-product-tabs .additional-information .additional-info-item {
    display: flex;
    gap: 8px;
}

.catalog .catalog-product-tabs .additional-information .additional-info-label {
    flex-shrink: 0;
    color: var(--white);
}

.catalog .catalog-product-tabs .additional-information .additional-info-item:nth-child(2n) .additional-info-label {
    color: var(--green);
}

.catalog .catalog-product-tabs .additional-information .additional-info-value {
    font-weight: 400;
    color: var(--gray-dark);
}

.catalog .catalog-product-additional-gallery {
    
}

.catalog .catalog-product-additional-gallery-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px 20px;
    margin-bottom: 24px;
}

.catalog .catalog-product-additional-gallery-title {

}

.catalog .catalog-product-additional-gallery-image {
    height: initial;
    max-height: 350px;
    border-radius: var(--r16);
    overflow: hidden;
}

.catalog .catalog-product-additional-gallery-image img {
    height: 100%;
    transition: var(--transition);
    object-fit: cover;
}

.catalog .catalog-product-additional-gallery-image:hover img {
    transform: scale(1.1);
}

.catalog .catalog-product-related {
    width: 100%;
}

.catalog .catalog-product-related-title {
    margin-bottom: 24px;
}

.catalog .catalog-product-description {
    margin-top: 12px;
}

.catalog .catalog-product-description a {
    position: relative;
    display: inline-flex;
    padding: 0 0 1px 0;
    font-weight: 500;
    color: var(--primary);
    transition: var(--transition);
}

.catalog .catalog-product-description a::after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    position: absolute;
    left: 50%;
    bottom: 0;
    background-color: var(--primary);
    transform: translateX(-50%);
    transition: var(--transition);
    opacity: 1;
}

.catalog .catalog-product-description a:hover {
    color: var(--black);
}

.catalog .catalog-product-description a:hover::after {
    width: 0%;
    background-color: var(--black);
}

@media (max-width: 1299.75px) {
    .catalog .catalog-product .variations .variable-items-wrapper .variable-item:not(.image-variable-item) {
        width: calc(25% - 9px);
    }
}

@media (max-width: 1199.75px) {
    .catalog .catalog-product-gallery .woocommerce-product-gallery__image--placeholder,
    .catalog .catalog-product-gallery > .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image,
    .catalog .catalog-product-gallery .flex-viewport {
        height: min(18vw, 285px) !important;
    }

    .catalog .catalog-product-gallery .flex-control-thumbs li {
        height: min(9vw, 110px);
    }

    .catalog .catalog-product-tabs .tabs-wrapper {
        justify-content: flex-start;
        width: 100vw;
        margin-inline: calc((100% - 100vw) / 2);
        padding-inline: calc((100vw - 100%) / 2);
    }
}

@media (max-width: 1149.75px) {
    .catalog .catalog-product .variations .variable-items-wrapper .variable-item.image-variable-item {
        width: calc(25% - 9px);
    }
}

@media (max-width: 1023.75px) {
    .catalog .catalog-product {
        gap: 50px;
    }

    .catalog .catalog-product-main {
        gap: 80px 32px;
    }

    .catalog .catalog-product-info {
        width: calc(26% - 16px);
    }
    
    .catalog .catalog-product-gallery .woocommerce-product-gallery__image--placeholder,
    .catalog .catalog-product-gallery > .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image,
    .catalog .catalog-product-gallery .flex-viewport {
        height: max(20vw, 214px) !important;
    }
    
    .catalog .catalog-product-gallery .flex-control-thumbs li {
        height: max(14vw, 63px);
    }

    .catalog .catalog-product-result {
        padding: 16px;
    }

    .catalog .catalog-product-result-title {
        font-size: 20px;
    }

    .catalog .catalog-product-result-items {
        gap: 6px;
        margin-top: 4px;
        font-size: 12px;
        line-height: 1.25em;
    }

    .catalog .catalog-product-result-item.item-price span {
        font-size: 14px;
    }

    .catalog .catalog-product-result-item.item-price:last-child span {
        font-size: 16px;
    }

    .catalog .catalog-product-top {
        gap: 16px;
        margin-bottom: 20px;
    }
    
    .catalog .catalog-product-summary {
        width: calc(74% - 16px);
    }

    .catalog .catalog-product-onsale {
        top: 20px;
        left: 20px;
        padding: 10px 40px 11px;
    }
    
    .catalog .catalog-product-form {
        margin-top: 24px;
    }
    
    .catalog .catalog-product .variation + .variation {
        margin-top: 20px;
    }

    .catalog .catalog-product .variations .variation > label {
        font-size: 16px;
    }

    .catalog .catalog-product .variations .variation-values {
        margin-top: 12px;
    }

    .catalog .catalog-product .variations .variable-items-wrapper .variable-item.image-variable-item {
       
    }

    .catalog .catalog-product .single_variation_wrap {
        margin-top: 60px;
    }

    .catalog .catalog-product .catalog-product-quantity {
        gap: 35px;
        width: 240px;
    }

    .catalog .catalog-product-tabs .tabs-wrapper::-webkit-scrollbar {
        width: 0;
        height: 0;
    }
    
    .catalog .catalog-product-tabs .tabpanels {
        padding: 30px 40px;
    }
    
    .catalog .catalog-product-tabs .how-choose {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    
    .catalog .catalog-product-tabs .how-choose__step {
        flex-direction: row;
    }
    
    .catalog .catalog-product-tabs .how-choose__step + .how-choose__step::before {
        top: calc(-100% - 40px);
        left: 24px;
        width: 3px;
        height: calc(100% + 40px);
    }

    .catalog .catalog-product-tabs .how-choose__text {
        align-self: center;
    }
}

@media (max-width: 767px) {
    .catalog .catalog-product {
        gap: 40px;
    }
    
    .catalog .catalog-product-main {
        gap: 30px;
    }

    .catalog .catalog-product-info {
        top: 60px;
        width: 100%;
    }
    
    .catalog .catalog-product-gallery .woocommerce-product-gallery__image--placeholder,
    .catalog .catalog-product-gallery > .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image,
    .catalog .catalog-product-gallery .flex-viewport {
        height: max(46vw, 234px) !important;
        background-color: var(--white);
    }

	.catalog .catalog-product-gallery > .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image {
		aspect-ratio: 1;
	}
    
    .catalog .catalog-product-gallery .flex-control-thumbs li {
        height: max(20vw, 63px);
    }

    .catalog .catalog-product-result {
        display: none !important;
    }

	.catalog .catalog-product-button {
		display: none !important;
	}
    
    .catalog .catalog-product-summary {
        width: 100%;
    }

    .catalog .catalog-product-onsale {
        top: 16px;
        left: 16px;
    }
    
    .catalog .catalog-product-view-in-3d {
        margin-bottom: 26px;
    }

    .catalog .catalog-product-price-range {
        font-size: 20px;
    }
    
    .catalog .catalog-product .variations {
        margin-bottom: 24px !important;
    }
    
    .catalog .catalog-product .catalog-product-buttons {
        gap: 20px;
    }

    .catalog .catalog-product-tabs {
        margin-bottom: 30px;
    }

    .catalog .catalog-product-tabs .tabs-wrapper {
        margin-bottom: 30px;
    }
    
    .catalog .catalog-product-tabs .tabpanels {
        padding: 24px;
    }
    
    .catalog .catalog-product-tabs .how-choose {
        gap: 30px;
    }
    
    .catalog .catalog-product-tabs .how-choose__step + .how-choose__step::before {
        top: calc(-100% - 30px);
        height: calc(100% + 30px);
    }

    .catalog .catalog-product-additional-gallery-header {
        flex-wrap: wrap;
        align-items: flex-end;
        margin-bottom: 16px;
    }

    .catalog .catalog-product-additional-gallery-title {
        max-width: 250px;
        width: 100%;
    }

    .catalog .catalog-product-related-title {
        margin-bottom: 16px;
    }
}

@media (max-width: 549.75px) {
    .catalog .catalog-product .variations .variable-items-wrapper .variable-item:not(.image-variable-item) {
        width: calc(50% - 6px);
    }

    .catalog .catalog-product .variations .variable-items-wrapper .variable-item.image-variable-item {
        width: calc(33.333% - 8px);
    }
}

@media (max-width: 449.75px) {
    .catalog .catalog-product .variations .variable-items-wrapper .variable-item.image-variable-item {
        width: calc(50% - 6px);
    }
}

@media (max-width: 399.75px) {
    .catalog .catalog-product .variations .variable-items-wrapper .variable-item.image-variable-item img {
        
    }

    .catalog .catalog-product .catalog-product-quantity {
        width: 100%;
    }

    .catalog .catalog-product .catalog-product-quantity input {
        font-size: 26px;
    }
}

/* Single Product Page - END */

/* WooCommerce Notices */

.woocommerce-notices-wrapper {
    margin-top: 30px;
}

.woocommerce-notices-wrapper .woocommerce-error,
.woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-notices-wrapper .woocommerce-message {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 16px 32px;
    width: 100%;
    margin: 0 0 30px;
    padding: 0;
    background-color: transparent;
    border: none;
    outline: none;
}

.woocommerce-notices-wrapper .woocommerce-error {
    color: var(--red);
}

.woocommerce-notices-wrapper .woocommerce-info {
    color: var(--green-light);
}

.woocommerce-notices-wrapper .woocommerce-message {
    color: var(--green);
}

.woocommerce-notices-wrapper .woocommerce-error::before,
.woocommerce-notices-wrapper .woocommerce-info::before,
.woocommerce-notices-wrapper .woocommerce-message::before,
.woocommerce-notices-wrapper .woocommerce-error::after,
.woocommerce-notices-wrapper .woocommerce-info::after,
.woocommerce-notices-wrapper .woocommerce-message::after {
    content: none;
}

.woocommerce-notices-wrapper .woocommerce-message .btn {
    align-self: flex-start;
}

@media (max-width: 767px) {
    .woocommerce-notices-wrapper {
        margin-top: 24px;
    }
}

/* WooCommerce Notices - END */


/*---------- WAPF ----------*/

/* WAPF Fields */

.wapf-field-group .wapf-field-row {
    margin: 0;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--gray-light);
}

.wapf-field-group .wapf-field-row:has(>.wapf-hide) {
    display: none;
}

.wapf-field-group .wapf-field-row + .wapf-field-row {
    margin-top: 20px;
}

.wapf-field-group .wapf-field-container {
    padding: 0;
}

/* WAPF Fields - END */

/* WAPF Field - Select */

.wapf-field-select {
    position: relative;
    font-family: "IBM Plex Serif", "Montserrat", sans-serif;
}

.wapf-field-select .wapf-field-label>label {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    pointer-events: auto;
    cursor: pointer;
    transition: none;
}

.wapf-field-select .wapf-field-label>label>span {
    transition: var(--transition);
}

.wapf-field-select .wapf-field-label>label>span .bonus {
    position: relative;
    top: -1px;
    display: inline-flex;
    padding: 0px 4px 2px;
    font-size: 12px;
    color: var(--white);
    background: var(--red);
    border-radius: 6px;
}

.wapf-field-select .wapf-field-label>label .icon {
    display: flex;
    align-items: center;
}

.wapf-field-select.expanded .wapf-field-label>label {
    color: var(--primary);
}

.wapf-field-select.expanded .wapf-field-label>label .icon {
    transform: rotate(180deg);
}

.wapf-field-select .wapf-field-label .option-text {
    display: block;
    margin-top: 4px;
    color: var(--black-60);
}

.wapf-field-select .custom-select {
    position: absolute;
    top: 22px;
    width: 100%;
    transition: var(--transition);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    user-select: none;
    z-index: 99;
}

.wapf-field-select.expanded .custom-select {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    user-select: auto;
}

.wapf-field-select .custom-select__options {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    gap: 12px;
    padding: 16px;
    background: var(--white);
    border: 1px solid var(--gray);
    border-radius: var(--r8);
}

.wapf-field-select .custom-select__option {
    color: var(--secondary);
    transition: var(--transition);
    cursor: pointer;
}

.wapf-field-select .custom-select__option:hover {
    color: var(--primary);
}

.wapf-field-select .wapf-field-input {
    display: none;
}

.wapf-field-select .wapf-field-label label:hover {
    color: var(--primary);
}

/* WAPF Field - Select - END */

/* WAPF Product - Totals */

.wapf-product-totals .wapf--inner {
    padding: 24px 0 0;
}

.wapf-product-totals div span:first-child {
    font-size: 16px;
    font-weight: 600;
}

.wapf-product-totals div span.price {
    font-size: 18px !important;
    font-weight: 500;
    color: var(--primary) !important;
}

.wapf-product-totals div span.price.wapf-grand-total {
    font-size: 22px !important;
    font-weight: 700;
}

/* WAPF Product - Totals - END */

/*---------- WAPF END ----------*/

.wapf-field-container.kubiki-na-ograde,
.wapf-field-container.granitnaya-matovaya-plitka,
.wapf-field-container.granitnaya-polirovannaya-plitka,
.wapf-field-container.tsvetnik {
	position: relative;
	padding-bottom: 140px !important;
}

.wapf-field-container.kubiki-na-ograde::before,
.wapf-field-container.kubiki-na-ograde::after,
.wapf-field-container.granitnaya-matovaya-plitka::before,
.wapf-field-container.granitnaya-matovaya-plitka::after,
.wapf-field-container.granitnaya-polirovannaya-plitka::before,
.wapf-field-container.granitnaya-polirovannaya-plitka::after,
.wapf-field-container.tsvetnik::before,
.wapf-field-container.tsvetnik::after {
    content: "";
	position: absolute;
    left: 0;
    bottom: 0;
    display: block;
    width: 120px;
    height: 140px;
	background-position: 0 0;
	background-repeat: no-repeat;
	background-size: contain;
}

.wapf-field-container.kubiki-na-ograde::after,
.wapf-field-container.granitnaya-matovaya-plitka::after,
.wapf-field-container.granitnaya-polirovannaya-plitka::after,
.wapf-field-container.tsvetnik::after {
	left: 120px;
}

.wapf-field-container.kubiki-na-ograde::before { background-image: url(/wp-content/uploads/2025/05/kubiki-image1.png); }
.wapf-field-container.kubiki-na-ograde::after { background-image: url(/wp-content/uploads/2025/05/kubiki-image2.png); }

.wapf-field-container.granitnaya-matovaya-plitka::before,
.wapf-field-container.granitnaya-polirovannaya-plitka::before { 
    background-image: url(/wp-content/uploads/2026/03/granitnaya-plitka-image1.png);
}

.wapf-field-container.granitnaya-matovaya-plitka::after,
.wapf-field-container.granitnaya-polirovannaya-plitka::after {
    background-image: url(/wp-content/uploads/2026/03/granitnaya-plitka-image2.png);
}

.wapf-field-container.tsvetnik::before { background-image: url(/wp-content/uploads/2026/03/tsvetnik-image1.png); }
.wapf-field-container.tsvetnik::after { background-image: url(/wp-content/uploads/2026/03/tsvetnik-image2.png); }

/* -------- Fancybox gallery START --------  */

.fancy-gallery img {
    cursor: pointer;
}

/* -------- Fancybox gallery END --------  */

/*---------- 404 PAGE ----------*/

.page-404 {
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%;
}

.page-404-wrapper {
    max-width: 790px;
    margin-top: 20px;
    text-align: center;
}

.page-404-number {
    font-size: 300px;
    font-weight: 600;
    line-height: 1.1em;
    letter-spacing: -2.72px;
}

.page-404-button {
    margin-top: 24px;
}

@media (max-width: 1023px) {
    .page-404-number {
        font-size: 200px;
    }
}

@media (max-width: 767px) {
    .page-404-number {
        font-size: min(28vw, 200px);
    }

    .page-404-button {
        margin-top: 16px;
    }
}

/*---------- 404 PAGE END ----------*/