:root {
    --primary-color: #85b935;
    --secondary-color: #4a7729;
    --accent-color: #f4a261;
    --text-color: #808285;
    --title-color: #3a3a3a;
    --white-color: #fff;
    --error-red-color: #b43c55;
    --error-hover-color: #e1133e;
    --success-green-color: #207d4c;
    --primary-fonts: "Signika", sans-serif;
    --secondary-fonts: "Open Sans", sans-serif;
    --border-color: #e1e1e1;
    --warm-beige: #f5ede0;
    --gray-color: #ececec;
    --dark-gray-1: #363636;
    --dark-gray-color: #2b2b2b;
    --default-transition: all 0.3s ease;
    --container-max-width: 1820px;
    --container-margin: max( 0px, calc((100vw - var(--container-max-width)) / 2) );
    --section-gap: 85px;
    --section-mb-gap: 60px;
    --section-sm-gap: 40px;
}

.container {
    max-width: var(--container-max-width) !important;
    padding: 0 20px;
    margin: 0 auto;
}

    .container .container {
        padding: 0;
    }

* {
    margin: 0;
    padding: 0;
    text-decoration: none;
}

*[id], *[href], *[name] {
  scroll-margin-top: 150px;
}

    *,
    *:before,
    *:after {
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
    }

html {
    margin: 0;
    -webkit-text-size-adjust: none;
}

body {
    font-size: 15px;
    line-height: 1.74;
}

.master-wrapper-content {
    position: relative;
    z-index: 1;
    background-color: var(--white-color);
}

    .master-wrapper-content:has(.side-2.active) {
        z-index: 9;
    }

.main-class {
    background-color: var(--white-color);
    position: relative;
    z-index: 1;
}

.primary-fonts {
    font-family: var(--primary-fonts);
}

ol,
ul {
    list-style: none;
    padding: 0;
}

a img {
    border: none;
}

a {
    color: inherit;
    cursor: pointer;
    text-decoration: none;
    transition: var(--default-transition);
    display: inline-block;
}

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

.section-gaps {
    padding: var(--section-gap) 0;
}

.section-mb-gaps {
    padding: var(--section-mb-gap) 0;
}

.section-sm-gaps {
    padding: var(--section-sm-gap) 0;
}

.section-top-gaps {
    padding-top: var(--section-gap);
}

.section-bottom-gaps {
    padding-bottom: var(--section-gap);
}

.section-mb-bottom-gaps {
    padding-bottom: var(--section-mb-gap);
}

.section-sm-bottom-gaps {
    padding-bottom: var(--section-sm-gap);
}

button::-moz-focus-inner,
input[type="button"]::-moz-focus-inner,
input[type="submit"]::-moz-focus-inner,
input[type="reset"]::-moz-focus-inner,
input[type="file"] > button::-moz-focus-inner,
input[type="file"] > input[type="button"]::-moz-focus-inner {
    margin: 0;
    border: 0;
    padding: 0;
}

button,
input[type="button"],
input[type="submit"],
input[type="reset"],
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="password"],
textarea {
    border-radius: 0;
}

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

input:-webkit-autofill {
    -webkit-box-shadow: inset 0 0 0 1000px #fff;
}

script {
    display: none !important;
}


/*********** GLOBAL STYLES **********/

body {
    max-width: 100%;
    overflow-x: hidden;
    background-color: #fff;
    font-family: var(--secondary-fonts);
    color: var(--text-color);
}

h1,
h2,
h3,
h4,
h5,
h6 {
    color: var(--title-color);
    font-weight: 600;
    font-family: var(--primary-fonts);
}

a {
    color: inherit;
    cursor: pointer;
}

    a img {
        opacity: 0.99;
        /*firefox scale bug fix*/
    }

table {
    width: 100%;
    border-collapse: collapse;
}

input,
textarea,
select,
button {
    font-size: 14px;
    font-family: var(--secondary-fonts);
}

textarea {
    min-height: 150px;
}

select {
    min-width: 50px;
    height: 32px;
    padding: 6px;
    background-color: inherit;
}

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="password"],
select,
textarea {
    border: 1px solid var(--border-color);
    outline: none;
    padding: 6px 10px;
}

.currency-selector :is(input[type="text"], select) {
    border: none;
    color: var(--white-color);
}

option {
    color: var(--text-color);
    background-color: white; /* or your preferred option bg */
}

input[type="checkbox"],
input[type="radio"],
input[type="checkbox"] + *,
input[type="radio"] + * {
    vertical-align: middle;
}

input[type="button"],
input[type="submit"],
button,
.button-1,
.button-2 {
    cursor: pointer;
}

.master-column-wrapper {
    position: relative;
    max-width: var(--container-max-width);
    padding: 40px 20px;
    margin: 0 auto;
}

    .master-column-wrapper:has(.breadcrumb, .home-page) {
        padding: 0;
    }

    .master-column-wrapper:has(.container) {
        max-width: 100%;
        padding-inline: 0;
    }

.page {
    min-height: 200px;
}

.page-title h1 {
    font-size: 30px;
    font-weight: normal;
}

.buttons {
    margin: 0 0 30px;
}

.link-rss {
    display: none;
    width: 24px;
    height: 24px;
    background: url("../images/rss.png") center no-repeat;
    font-size: 0 !important;
}

.category-description ul,
.manufacturer-description ul,
.full-description ul,
.topic-block ul,
.topic-page ul,
.post-body ul,
.editor-content ul {
    margin: 12px 0;
    padding: 0 0 0 36px;
    list-style: disc;
}

.category-description ol,
.manufacturer-description ol,
.full-description ol,
.topic-block ol,
.topic-page ol,
.post-body ol,
.editor-content ol {
    margin: 12px 0;
    padding: 0 0 0 36px;
    list-style: decimal;
}

/*********** GLOBAL FORMS ***********/

.fieldset,
.section {
    position: relative;
    margin: 0 0 40px;
}

    .fieldset .title,
    .section .title {
        margin: 0 0 15px;
        font-size: 20px;
        color: var(--dark-gray-color);
    }

    .fieldset .warnings {
        text-align: center;
        margin-block-end: 30px;
        color: var(--error-red-color);
    }

.form-fields {
    position: relative;
}

.inputs {
    position: relative;
}

    .inputs + .inputs {
        margin-top: 20px;
    }

    .inputs .label label {
        display: inline-block;
        width: auto;
    }

    .inputs label {
        display: block;
        width: 100%;
        margin: 0 0 5px;
        font-size: 14px;
        /*reset zeroing*/
        color: var(--dark-gray-color);
    }

    .inputs input[type="text"],
    .inputs input[type="email"],
    .inputs input[type="tel"],
    .inputs input[type="password"],
    .inputs select,
    .inputs textarea {
        width: 100%;
        color: var(--text-color);
        background-color: var(--white-color);
    }

    .inputs.custom-attributes {
        white-space: normal;
    }

    .inputs .option-list {
        display: inline-block;
        max-width: 95%;
        vertical-align: middle;
    }

        .inputs .option-list li {
            display: inline-block;
            margin: 5px;
            border: 1px solid #ddd;
            background-color: #fff;
            padding: 8px 10px;
        }

        .inputs .option-list label {
            display: inline-block;
            width: auto !important;
            margin: 0 0 0 5px;
        }

    .inputs .form-input-wrapper {
        display: inline-block;
        max-width: 100%;
        width: 100%;
    }

    .inputs.reversed {
        margin: 0 0 20px;
    }

.required {
    vertical-align: top;
    font-size: 14px;
    font-weight: normal;
    color: var(--error-red-color);
    line-height: 0.9;
    position: absolute;
    top: 5px;
    right: 0;
}

.message-error,
.field-validation-error,
.username-not-available-status,
.poll-vote-error,
.password-error {
    display: block;
    text-align: center;
    font-size: 13px;
    color: var(--error-red-color);
    margin-top: 5px;
    white-space: normal;
}

.field-validation-error {
    position: absolute;
    bottom: 0;
    right: 10px;
    margin: 0;
    pointer-events: none;
}

.inputs:has(textarea) .field-validation-error {
    bottom: 10px;
}

.inputs:has(.form-input-wrapper) .field-validation-error {
    bottom: 28px;
}

.field-validation-valid,
.username-available-status {
    display: block;
    text-align: center;
    font-size: 13px;
    color: var(--success-green-color);
}

.captcha-box {
    text-align: center;
    line-height: 0;
    /*firefox line-height bug fix*/
}

    .captcha-box > div {
        display: inline-block;
        max-width: 100%;
    }

    .captcha-box input {
        height: auto;
    }

/*********** GLOBAL TABLES ***********/

.table-wrapper {
    overflow-x: auto;
}

.data-table .hidden-row {
    height: 1px;
    border: none;
}

.data-table tr.hidden-row th {
    padding: 0;
    border-top: none;
}

    .data-table tr.hidden-row th > span {
        height: 1px;
        width: 1px;
        position: absolute;
        overflow: hidden;
        top: -10px;
    }

.cart th,
.data-table th,
.forum-table th {
    border-width: 1px 1px 0;
    border-style: solid;
    border-color: #ddd;
    background-color: #f6f6f6;
    padding: 10px;
    white-space: nowrap;
    font-weight: normal;
}

    .forum-table th.replies,
    .forum-table th.views,
    .forum-table th.votes,
    .forum-table th.latest-post,
    .forum-table th.topics,
    .forum-table th.posts,
    .forum-table td.replies,
    .forum-table td.views,
    .forum-table td.votes,
    .forum-table td.latest-post,
    .forum-table td.topics,
    .forum-table td.posts {
        display: none;
    }

.forum-table td.image {
    min-width: 0;
}

.cart td,
.data-table td,
.forum-table td {
    min-width: 50px;
    border-width: 1px;
    border-style: solid;
    border-color: transparent #ddd #ddd;
    background-color: #fff;
    padding: 20px;
    color: var(--dark-gray-color);
}

.forum-table td {
    min-width: 90px;
    padding: 10px;
}

.cart a,
.data-table a,
.forum-table a {
    font-weight: normal;
    color: var(--primary-color);
}

    .cart a:hover,
    .cart a:focus,
    .data-table a:hover,
    .data-table a:focus,
    .forum-table a:hover,
    .forum-table a:focus {
        text-decoration: underline;
    }

.cart .product,
.data-table .product,
.data-table .message,
.data-table .info,
.data-table .name {
    min-width: 225px;
    text-align: left;
}

.forum-table .forum-details,
.forum-table .topic-details {
    text-align: left;
}

.cart .product a,
.data-table .product a,
.data-table .info a {
    font-weight: bold;
    color: var(--dark-gray-color);
}

    .cart .product a:hover,
    .cart .product a:focus,
    .data-table .product a:hover,
    .data-table .product a:focus,
    .data-table .info a:hover,
    .data-table .info a:focus {
        color: var(--primary-color);
        text-decoration: none;
    }

.cart .product .edit-item {
    margin: 10px 0 0;
}

    .cart .product .edit-item a {
        font-weight: normal;
        color: var(--primary-color);
    }

        .cart .product .edit-item a:hover,
        .cart .product .edit-item a:focus {
            text-decoration: underline;
        }

.cart .remove-from-cart,
.cart .add-to-cart,
.data-table .select-boxes,
.data-table .order {
    text-align: center;
}

    .cart .remove-from-cart input[type="checkbox"] {
        display: none;
    }

.cart td.unit-price,
.data-table td.unit-price {
    white-space: nowrap;
}

.cart td.quantity input {
    width: 50px;
    text-align: center;
}

.cart .product-quantity div.up {
    /*  background: url('../images/vote-up.png') no-repeat 50% 50%;*/
    /*  width: 50px;*/
    /*  height: 25px;*/
    cursor: pointer;
    border-bottom: 1px solid rgb(227, 227, 227);
}

.cart .product-quantity div.down {
    /*  background: url('../images/vote-down.png') no-repeat 50% 50%;*/
    /*  width: 50px;*/
    /*  height: 25px;*/
    border: 0;
    cursor: pointer;
}

.cart td.subtotal,
.data-table td.total {
    white-space: nowrap;
    color: var(--dark-gray-color);
}

    .cart td.subtotal .discount,
    .cart td.subtotal .discount-additional-info {
        font-style: italic;
        color: var(--primary-color);
    }

.data-table em a {
    font-weight: bold;
    color: var(--dark-gray-color);
}

.data-table div.download {
    margin: 10px 0 0;
}

/*********** NOTIFICATIONS & POPUPS  ***********/

.bar-notification-container {
    position: fixed;
    bottom: 0;
    right: 0;
    left: auto;
    top: auto;
    z-index: 9999;
    width: auto;
    max-width: 420px;
    padding: 1rem;
    line-height: normal;
    color: inherit;
    opacity: 1;
    pointer-events: none;
}

.bar-notification {
    position: relative;
    display: none;
    padding: 1rem 1rem 1rem 3rem;
    line-height: 1.5;
    border-radius: 0.5rem;
    background-color: #ffffff;
    color: #171717;
    border: 1px solid #e5e5e5;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
    margin-bottom: 0.5rem;
    pointer-events: auto;
    min-width: 356px;
}

    /* Only animate when first shown */
    .bar-notification[style*="display: block"] {
        animation: slideIn 0.2s ease-out;
        animation-fill-mode: forwards;
    }

@keyframes slideIn {
    from {
        transform: translateX(calc(100% + 1rem));
        opacity: 0;
    }

    to {
        transform: translateX(0);
        opacity: 1;
    }
}

/* Icon styles */
.bar-notification::before {
    content: '';
    position: absolute;
    left: 1rem;
    top: 1rem;
    width: 20px;
    height: 20px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.bar-notification.success {
    background-color: #ffffff;
    border-left: 3px solid #22c55e;
}

    .bar-notification.success::before {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%2322c55e'%3E%3Cpath fill-rule='evenodd' d='M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z' clip-rule='evenodd'/%3E%3C/svg%3E");
    }

.bar-notification.error {
    background-color: #ffffff;
    border-left: 3px solid #ef4444;
}

    .bar-notification.error::before {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23ef4444'%3E%3Cpath fill-rule='evenodd' d='M10 18a8 8 0 100-16 8 8 0 000 16zM8.28 7.22a.75.75 0 00-1.06 1.06L8.94 10l-1.72 1.72a.75.75 0 101.06 1.06L10 11.06l1.72 1.72a.75.75 0 101.06-1.06L11.06 10l1.72-1.72a.75.75 0 00-1.06-1.06L10 8.94 8.28 7.22z' clip-rule='evenodd'/%3E%3C/svg%3E");
    }

.bar-notification.warning {
    background-color: #ffffff;
    border-left: 3px solid #f59e0b;
}

    .bar-notification.warning::before {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23f59e0b'%3E%3Cpath fill-rule='evenodd' d='M8.485 2.495c.673-1.167 2.357-1.167 3.03 0l6.28 10.875c.673 1.167-.17 2.625-1.516 2.625H3.72c-1.347 0-2.189-1.458-1.515-2.625L8.485 2.495zM10 5a.75.75 0 01.75.75v3.5a.75.75 0 01-1.5 0v-3.5A.75.75 0 0110 5zm0 9a1 1 0 100-2 1 1 0 000 2z' clip-rule='evenodd'/%3E%3C/svg%3E");
    }

.bar-notification .content {
    margin: 0;
    padding-right: 2.5rem;
    color: #171717;
    font-size: 0.875rem;
    line-height: 1.5;
}

    .bar-notification .content a {
        color: #0f172a;
        font-weight: 500;
        text-decoration: underline;
        text-underline-offset: 2px;
        transition: color 0.15s;
    }

        .bar-notification .content a:hover {
            color: #334155;
        }

.bar-notification .close {
    position: absolute;
    top: 1rem;
    right: 1rem;
    width: 20px;
    height: 20px;
    margin: 0;
    background: none;
    cursor: pointer;
    border-radius: 0.25rem;
    opacity: 0.5;
    transition: opacity 0.15s, background-color 0.15s;
}

    .bar-notification .close:hover {
        opacity: 1;
        background-color: #f5f5f5;
    }

    .bar-notification .close::before,
    .bar-notification .close::after {
        content: '';
        position: absolute;
        top: 50%;
        left: 50%;
        width: 12px;
        height: 2px;
        background-color: #737373;
        transform: translate(-50%, -50%) rotate(45deg);
    }

    .bar-notification .close::after {
        transform: translate(-50%, -50%) rotate(-45deg);
    }

    .bar-notification .close:hover::before,
    .bar-notification .close:hover::after {
        background-color: #171717;
    }

.popup-notification {
    border-radius: 5px;
    padding: 3px;
    margin: 5px 0;
}

    .popup-notification.success {
        border: 2px rgba(75, 176, 122, 0.5) solid;
    }

    .popup-notification.error {
        border: 2px rgba(228, 68, 76, 0.5) solid;
    }

    .popup-notification.warning {
        border: 2px rgba(243, 156, 18, 0.5) solid;
    }

.noscript {
    border-bottom: 1px solid var(--dark-gray-color);
    background-color: #ff9;
    padding: 30px 15px;
    text-align: center;
    line-height: 22px;
    color: var(--dark-gray-color);
}

.ajax-loading-block-window {
    position: fixed;
    top: 50%;
    left: 50%;
    z-index: 999;
    width: 32px;
    height: 32px;
    margin: -16px 0 0 -16px;
    background: url("../images/loading.gif") center no-repeat;
}

.please-wait {
    background: url("../images/ajax-loader-small.gif") no-repeat;
    padding-left: 20px;
    font-size: 14px;
}

.ui-dialog {
    max-width: 90%;
    border: 1px solid #ddd;
    box-shadow: 0 0 2px rgba(0, 0, 0, 0.15);
    overflow: hidden;
    background-color: #fff;
    /*override jQuery UI styles, do not delete doubled properties*/
    border-radius: 0;
    padding: 0;
    font: normal 14px var(--primary-fonts);
}

    .ui-dialog:before {
        content: "";
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.5);
    }

.ui-dialog-titlebar {
    border-bottom: 1px solid #ddd;
    overflow: hidden;
    background-color: #eee;
    padding: 10px 15px;
    /*override jQuery UI styles, do not delete doubled properties*/
    border-width: 0 0 1px;
    border-radius: 0;
    background-image: none;
    padding: 10px 15px !important;
    font-weight: normal;
    cursor: auto !important;
}

    .ui-dialog-titlebar > span {
        float: left;
        font-size: 18px;
        color: var(--dark-gray-color);
        /*override jQuery UI styles, do not delete doubled properties*/
        margin: 0 !important;
    }

    .ui-dialog-titlebar button {
        position: absolute;
        top: 0;
        right: 0;
        width: 42px;
        height: 42px;
        border: none;
        overflow: hidden;
        background: url("../images/close.png") center no-repeat;
        font-size: 0;
        /*override jQuery UI styles, do not delete doubled properties*/
        top: 0 !important;
        right: 0 !important;
        width: 42px !important;
        height: 42px !important;
        margin: 0 !important;
        border: none !important;
        border-radius: 0;
        background: url("../images/close.png") center no-repeat !important;
        padding: 0 !important;
        border: 0;
        outline: 0;
    }

        .ui-dialog-titlebar button span {
            display: none !important;
        }

.ui-dialog-content {
    padding: 15px;
    line-height: 20px;
    /*override jQuery UI styles, do not delete doubled properties*/
    background-color: #fff !important;
    padding: 15px 15px 20px 15px !important;
    color: var(--text-color);
}

    .ui-dialog-content .page {
        min-height: 0;
    }

    .ui-dialog-content .page-title {
        min-height: 0;
        margin: 0 0 15px;
        padding: 0px 10px 10px 10px;
        text-align: center;
    }

        .ui-dialog-content .page-title h1 {
            font-size: 24px;
            line-height: 30px;
        }

    .ui-dialog-content .back-in-stock-subscription-page {
        text-align: center;
    }

        .ui-dialog-content .back-in-stock-subscription-page .tooltip {
            margin-bottom: 10px;
        }

        .ui-dialog-content .back-in-stock-subscription-page .button-1 {
            border: none;
            background-color: var(--primary-color);
            padding: 10px 15px;
            font-size: 15px;
            color: #fff;
            text-transform: uppercase;
        }

            .ui-dialog-content .back-in-stock-subscription-page .button-1:hover,
            .ui-dialog-content .back-in-stock-subscription-page .button-1:focus {
                background-color: var(--primary-color);
            }

.eu-cookie-bar-notification {
    position: fixed;
    top: 50%;
    left: 50%;
    z-index: 1050;
    width: 320px;
    height: auto;
    margin: -90px 0 0 -160px;
    border: 1px solid #ccc;
    box-shadow: 0 0 2px rgba(0, 0, 0, 0.15);
    background-color: #fff;
    padding: 20px;
    text-align: center;
}

    .eu-cookie-bar-notification .text {
        margin-bottom: 20px;
        line-height: 20px;
    }

    .eu-cookie-bar-notification button {
        min-width: 60px;
        margin: 5px 0 10px;
        border: none;
        background-color: var(--primary-color);
        padding: 8px 12px;
        font-size: 14px;
        color: #fff;
    }

        .eu-cookie-bar-notification button:hover,
        .eu-cookie-bar-notification button:focus {
            background-color: var(--primary-color);
        }

    .eu-cookie-bar-notification a {
        display: block;
        color: var(--primary-color);
    }

        .eu-cookie-bar-notification a:hover,
        .eu-cookie-bar-notification a:focus {
            text-decoration: underline;
        }

/*********** HEADER ***********/

.admin-header-links {
    background-color: var(--dark-gray-color);
    text-align: center;
    color: #eee;
    position: relative;
    z-index: 1;
}

    .admin-header-links * {
        display: inline-block;
        margin: 0 10px;
        line-height: 35px;
        font-size: 12px;
        font-weight: bold;
    }

    .admin-header-links .impersonate {
        display: inline-block;
    }

        .admin-header-links .impersonate a {
            background-color: var(--dark-gray-color);
            padding: 0 15px;
        }

            .admin-header-links .impersonate a:hover,
            .admin-header-links .impersonate a:focus {
                background-color: var(--gray-color);
            }

.header {
    position: relative;
    z-index: 10;
    width: 95%;
    margin: auto;
    text-align: center;
}

.shared-header {
    background-color: var(--white-color);
    position: relative;
    z-index: 9;
}

.header-upper {
    position: relative;
    z-index: 1;
    border-bottom: 1px solid #ddd;
    background-color: var(--white-color);
}

    .header-upper.sticky {
        position: fixed;
        top: 0;
        width: 100%;
        z-index: 9;
        box-shadow: -1px 1px 14px rgba(0, 0, 0, 0.06);
    }

.header-selectors-wrapper {
    border-bottom: 1px solid #ddd;
    padding: 10px 0;
}

    .header-selectors-wrapper > div {
        display: block;
        width: 50%;
        margin: 10px auto;
        vertical-align: middle;
    }

    .header-selectors-wrapper select {
        width: 100%;
    }

.language-list {
    max-width: 100%;
    font-size: 0;
}

    .language-list li {
        display: inline-block;
        margin: 0 1px;
        vertical-align: middle;
    }

    .language-list a {
        display: block;
        position: relative;
        width: 24px;
        height: 32px;
        line-height: 0;
    }

    .language-list img {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        margin: auto;
    }

.header-links-wrapper {
    position: relative;
    padding: 20px 0;
}

#topcartlink {
    display: block;
}

.header-lower {
    position: relative;
    z-index: 0;
    padding: 35px 0;
}

.header-logo a {
    display: inline-block;
    max-width: 100%;
    line-height: 0;
    height: 100%;
    /*firefox line-height bug fix*/
}

    .header-logo a img {
        max-width: 100%;
        opacity: 1;
    }

.top-menu.mobile {
    display: none;
}

.notmobile + .menu-toggle {
    display: none;
}

.top-menu {
    display: flex;
    padding: 0;
    list-style: none;
    margin: 0;
    gap: 40px;
}

    .top-menu > li > a {
        font-size: 17px;
        font-weight: 600;
        color: var(--title-color);
        font-family: var(--primary-fonts);
        display: flex;
        align-items: center;
        gap: 5px;
        min-height: 80px;
    }

.menu-layout .top-nav > ul > li > a {
    min-height: 80px;
    display: flex;
    align-items: center;
}

.menu-layout .top-nav > ul {
    display: flex;
    flex-wrap: wrap;
    gap: 0 40px;
    align-items: center;
    justify-content: center;
}
.dropdown-btn{
    display: flex;
    align-items: center;
}

.menu-layout .left-menu {
    float: unset;
    position: relative;
    min-height: 80px;
    display: flex;
    cursor: pointer;
}

.menu-layout {
    display: flex;
    justify-content: center;
    align-items: center;
}

.sublist-toggle {
    font-size: 10px;
}

.top-menu > li {
    position: relative;
}

    .top-menu > li:hover > a {
        color: var(--primary-color);
    }

.sublist {
    position: absolute;
    top: calc(100% + 30px);
    left: 0;
    opacity: 0;
    visibility: hidden;
    transition: var(--default-transition);
    background-color: var(--white-color);
    box-shadow: 0 5px 5px 0 rgba(0, 0, 0, 0.03);
    padding: 23px 0;
    min-width: 230px;
}

.top-menu > li:hover > .sublist {
    opacity: 1;
    visibility: visible;
    top: 100%;
}

.sublist > li > a {
    padding: 7px 30px;
    font-size: 13px;
    line-height: 24px;
    color: var(--text-color);
}

    .sublist > li > a:hover {
        color: var(--primary-color);
        transform: translateX(10px);
    }

/* Search box */

.search-box form {
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    gap: 10px 0;
}

.search-box input.search-box-text {
    width: 200px;
    height: 36px;
    margin: 0 -1px 0 0;
}

.search-box .search-box-category {
    height: 36px;
}

.search-box .search-box-button {
    min-width: 86px;
    height: 36px;
    border: none;
    background-color: var(--primary-color);
    padding: 0 15px;
    text-align: center;
    color: #fff;
    text-transform: uppercase;
}

    .search-box .search-box-button:hover,
    .search-box .search-box-button:focus {
        background-color: var(--primary-color);
    }

.search-box .ui-autocomplete-loading {
    background: #fff url("../images/ajax-loader-small.gif") right center no-repeat;
}

.ui-helper-hidden-accessible {
    display: none !important;
}

.ui-autocomplete {
    width: 285px;
    border: 1px solid #ddd;
    border-top: none;
    overflow: hidden;
    background-color: #fff;
    text-align: left;
    /*override jQuery UI styles, do not delete doubled properties*/
    border-radius: 0;
    padding: 0;
    font: normal 14px var(--primary-fonts);
}

    .ui-autocomplete li {
        border-top: 1px solid #ddd;
    }

        .ui-autocomplete li:first-child {
            border-top: none;
        }

    .ui-autocomplete a {
        display: block;
        padding: 15px;
        font-size: 14px;
        /*override jQuery UI styles, do not delete doubled properties*/
        margin: 0 !important;
        border: none !important;
        border-radius: 0 !important;
        background: none !important;
        padding: 15px !important;
        line-height: normal !important;
        color: var(--title-color) !important;
    }

        .ui-autocomplete a:hover,
        .ui-autocomplete a:focus,
        .ui-autocomplete a.ui-state-focus {
            background-color: #f6f6f6 !important;
        }

    .ui-autocomplete img {
        display: block;
        min-width: 40px;
        width: 50px;
        margin: 0 10px 0 0;
        vertical-align: middle;
    }

/*********** FOOTER ***********/

.footer-block .title {
    margin: 0 0 1px;
    background: var(--primary-color) url("../images/toggle-white.png") right center no-repeat;
    padding: 10px 15px;
    font-size: 20px;
    color: #fff;
    cursor: pointer;
}

.newsletter-email .options {
    clear: both;
    padding: 10px 0 0;
}

.newsletter-validation,
.newsletter-result {
    width: 100%;
    overflow: hidden;
    line-height: 28px;
}

.footer-tax-shipping a {
    font-weight: bold;
    color: var(--primary-color);
}

    .footer-tax-shipping a:hover,
    .footer-tax-shipping a:focus {
        text-decoration: underline;
    }

.footer-powered-by a {
    font-weight: 600;
    font-family: var(--primary-fonts);
    color: var(--primary-color);
}

    .footer-powered-by a:hover,
    .footer-powered-by a:focus {
        text-decoration: underline;
    }

.footer-developed-by a {
    font-weight: 600;
    font-family: var(--primary-fonts);
    color: var(--primary-color);
}

    .footer-developed-by a:hover,
    .footer-developed-by a:focus {
        text-decoration: underline;
    }

.theme-selector {
    margin: 10px 0 0;
}

    .theme-selector select {
        width: 170px;
    }
/*** NAVIGATION ***/
/** Main menu START **/

.menu {
    font-size: 15px;
}

.menu__toggle {
    background: var(--primary-color) url(../images/menu-icon.png) right center no-repeat;
    padding: 15px;
    font-weight: bold;
    color: #fff;
    text-transform: uppercase;
    cursor: pointer;
}

.menu__item-toggle {
    display: flex;
    border: none;
    background-color: transparent;
    line-height: 20px;
    color: var(--dark-gray-color);
    -webkit-appearance: none;
    width: 100%;
    justify-content: space-between;
    cursor: pointer;
    padding: 18px;
}

    .menu__item-toggle::after {
        content: "";
        background: url(../images/toggle-black.png) center no-repeat;
        padding: 12px;
        cursor: pointer;
    }

.menu__grid-view,
.menu__list-view {
    position: relative;
    padding: 0;
    background-color: #fff;
    overflow: hidden;
}

.menu__group {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 12px;
    flex-flow: wrap;
}

.menu__group-title {
    font-size: 18px;
    padding: 10px;
}

.menu {
    overflow: hidden;
}

.menu-dropdown {
    display: grid;
    grid-template-rows: min-content 0fr;
    transition: grid-template-rows 0.3s ease;
}

.menu-dropdown--active {
    grid-template-rows: min-content 1fr;
}

.menu__image-link {
    display: inline-block;
    text-align: center;
    height: 100%;
    width: fit-content;
}

.menu__group > .menu__link {
    display: none;
}

.menu__image {
    width: 100%;
}

.menu__item .menu__item .menu__link::before,
.menu__group .menu__link::before {
    content: "";
    width: 5px;
    height: 5px;
    background-color: #ddd;
}
/** Main menu END **/
/** Footer menu START **/

.footer-menu {
    display: grid;
    grid-template-rows: min-content 0fr;
    transition: grid-template-rows 0.3s ease;
    margin-block-end: 1px;
}

.footer-menu__list {
    overflow: hidden;
    background-color: #fff;
}

.footer-menu__toggle {
    display: block;
    width: 100%;
    background: var(--primary-color) url("../images/toggle-white.png") right center no-repeat;
    padding: 10px 15px;
    font-size: 20px;
    color: #fff;
    cursor: pointer;
    text-align: left;
    font-weight: 400;
}

.footer-menu--active {
    grid-template-rows: min-content 1fr;
}
/** Footer menu END **/
/*********** SIDE COLUMN ***********/

.block {
    max-width: 600px;
    padding: 20px;
    border: 1px solid var(--border-color);
}

    .block:not(:last-child),
    .side-2 .product-grid:not(:last-child) {
        margin-bottom: 20px;
    }

    .block .title,
    .side-2 .product-grid .section-title,
    .product-filter .filter-title {
        position: relative;
        font-size: 20px;
        color: var(--title-color);
        font-weight: 500;
        margin-bottom: 8px;
        padding-bottom: 15px;
        border-bottom: 1px solid var(--border-color);
        background: none;
    }

    .block .list a {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        position: relative;
        padding: 5px 0;
        font-size: 16px;
        color: var(--dark-gray-color);
        -webkit-transition: all 0.1s ease;
        transition: all 0.1s ease;
        text-transform: capitalize;
    }
    /*.block .list a:before {
  content: "";
  position: absolute;
  top: 12px;
  left: -15px;
  width: 5px;
  height: 5px;
  background-color: #ddd;
}*/

    .block .list .active > a {
        color: var(--primary-color);
    }

    .block .list a:hover,
    .block .list a:focus {
        color: var(--primary-color);
    }

    .block ul {
        padding: 0;
        margin: 0;
    }

    .block a.product-picture {
        display: none;
    }

        .block a.product-picture img {
            max-width: 100%;
        }

        .block a.product-picture:before {
            display: none;
        }

    .block .sublist {
        margin: 0;
        position: static;
        opacity: 1;
        visibility: visible;
        box-shadow: none;
        padding-left: 1rem;
    }

        .block .sublist a {
            font-size: 14px;
            transform: unset !important;
        }

    .block .view-all {
        margin: 10px 0 0;
    }

        .block .view-all a {
            display: inline-block;
            padding: 0;
            font-size: 16px;
            color: var(--primary-color);
        }

            .block .view-all a:hover,
            .block .view-all a:focus {
                text-decoration: underline;
            }

    .block .tags {
        margin: 5px 0 10px;
    }

        .block .tags ul,
        .block .tags,
        .product-tags-list,
        .product-tags-list ul {
            font-size: 0;
            display: flex;
            flex-wrap: wrap;
            gap: 5px;
            list-style: none;
            padding: 0;
            margin: 0;
        }

            .block .tags li a,
            .product-tags-list li:not(.separator) a,
            .product-tags-list li:not(.separator) {
                padding: 5px 10px;
                border-radius: 5px;
                background-color: var(--gray-color);
                font-size: 14px !important;
                color: var(--text-color);
                text-transform: capitalize;
                transition: var(--default-transition);
            }

            .product-tags-list ul:has(.separator) li a {
                padding: 0;
            }

.block-recently-viewed-products .list li {
    display: flex;
    align-items: center;
    gap: 10px;
}

    .block-recently-viewed-products .list li img {
        width: 50px;
        height: 50px;
        object-fit: cover;
    }

    .block-recently-viewed-products .list li .product-name {
        flex: 1;
    }

.block .tags li a:hover,
.block .tags li a:focus,
.product-tags-all-page li a:hover,
.product-tags-all-page li a:focus {
    background-color: var(--primary-color);
    color: var(--white-color);
}

.poll strong {
    display: block;
    margin: 10px 0;
    background-color: #f6f6f6;
    padding: 10px 15px;
    font-size: 15px;
    font-weight: normal;
    color: var(--dark-gray-color);
    text-transform: uppercase;
}

.poll-options,
.poll-results {
    margin: 10px 0 15px;
    overflow: hidden;
    font-size: 15px;
    color: var(--dark-gray-color);
}

    .poll-options li,
    .poll-results li {
        margin: 10px 0;
    }

        .poll-options li > input {
            margin: 0 5px 0 0;
            cursor: pointer;
        }

        .poll-options li > label {
            display: inline-block;
            font-size: 16px;
            cursor: pointer;
        }

    .poll .buttons button {
        color: var(--white-color);
        background-color: var(--primary-color);
        transition: var(--default-transition);
        padding: 15px 45px;
        font-size: 14px;
        font-weight: 600;
        text-transform: uppercase;
        border: 0;
        text-decoration: unset !important;
        display: inline-block;
        line-height: 1.5;
    }

        .poll .buttons button:hover,
        .poll .buttons button:focus {
            background-color: var(--secondary-color);
            color: var(--white-color);
        }

.poll-total-votes {
    display: block;
    margin: 10px 0 0;
    font-weight: bold;
    font-style: italic;
    color: var(--dark-gray-color);
}

.home-page-polls {
    text-align: center;
}

    .home-page-polls .title {
        border-bottom: 1px solid #ddd;
        color: var(--dark-gray-color);
        font-size: 30px;
        font-weight: normal;
        margin: 0 0 30px;
        padding: 0 0 15px;
    }

        .home-page-polls .title strong {
            font-weight: normal;
        }

    .home-page-polls li {
        display: inline-block;
        margin: 10px;
    }
/********** CATEGORY PAGE **********/

.breadcrumb {
    background-color: #fafafa;
    padding: 40px 0;
    margin: 0 0 40px;
}

.breadcrumb-wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.breadcrumb ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    gap: 5px;
    align-items: center;
    font-size: 15px;
    flex-wrap: wrap;
}

    .breadcrumb ul .text {
        font-family: var(--primary-fonts);
        color: var(--text-color);
    }

.breadcrumb .title {
    font-size: 24px;
    font-family: var(--primary-fonts);
    margin: 0;
    color: var(--title-color);
}

.breadcrumb ul li a:hover {
    color: var(--primary-color);
}

.category-description,
.manufacturer-description,
.vendor-description {
    margin: 0 0 25px;
    line-height: 22px;
}

.contact-vendor {
    margin: 0 0 30px;
}

    .contact-vendor .button-2 {
        border: none;
        background-color: var(--primary-color);
        padding: 10px 15px;
        font-size: 14px;
        color: #fff;
        text-transform: uppercase;
    }

        .contact-vendor .button-2:hover,
        .contact-vendor .button-2:focus {
            background-color: var(--primary-color);
        }

.product-selectors {
    margin: 0 0 20px;
    border-bottom: 1px solid #ddd;
    padding: 20px 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

    .product-selectors > div {
        display: inline-block;
        margin: 5px;
    }

    .product-selectors span {
        vertical-align: middle;
        font-size: 16px;
    }

    .product-selectors select {
        margin: 0 8px;
    }

    .product-selectors .product-viewmode {
        display: none;
        font-size: 0;
    }

.product-filter .filter-content {
    padding: 10px;
    color: var(--dark-gray-color);
    margin-bottom: 20px;
}

.product-filter .group {
    font-size: 15px;
}

    .product-filter .group + .group {
        margin-top: 16px;
    }

    .product-filter .group .name {
        padding-bottom: 10px;
    }

    .product-filter .group .item {
        display: flex;
        padding-left: 15px;
        align-items: center;
    }

        .product-filter .group .item + .item {
            padding-top: 8px;
        }

        .product-filter .group .item label {
            cursor: pointer;
            display: flex;
            align-items: center;
            padding-left: 8px;
            flex-grow: 1;
        }

.price-range-filter .selected-price-range {
    padding: 5px 0;
    display: flex;
    justify-content: space-between;
}

    .price-range-filter .selected-price-range .to {
    }

    .price-range-filter .selected-price-range.manually {
        display: flex;
    }

        .price-range-filter .selected-price-range.manually .from {
            margin-right: 8px;
        }

        .price-range-filter .selected-price-range.manually .from,
        .price-range-filter .selected-price-range.manually .to {
            width: 50%;
        }

.product-filter .attribute-squares {
    font-size: inherit;
}

    .product-filter .attribute-squares .attribute-square {
        width: 20px !important;
        height: 20px !important;
        margin-right: 8px;
    }

.item-box .sku {
    margin: 0 0 15px;
}

.product-grid .item-box .description:not([data-short-description]) {
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    margin: 0 0 15px;
    height: 66px;
    line-height: 22px;
}

.item-box .description[data-short-description] {
    display: none;
}

.item-box .description a {
    display: block;
    overflow: hidden;
}

.item-box .prices {
    margin: 0 0 0;
    overflow: hidden;
}

.item-box .old-price {
    margin: 0 5px 0 0;
    font-size: 16px;
    color: #aaa;
    text-decoration: line-through;
}

.item-box .actual-price {
    margin: 0 5px 0 0;
    font-size: 16px;
    color: var(--text-color);
}

.item-box .tax-shipping-info a {
    color: var(--primary-color);
}

    .item-box .tax-shipping-info a:hover,
    .item-box .tax-shipping-info a:focus {
        text-decoration: underline;
    }

.item-box .buttons {
    margin: 0;
    font-size: 0;
}

.item-box button {
    display: inline-block;
    height: 40px;
    border: none;
    vertical-align: middle;
}

.sub-category-grid,
.manufacturer-grid,
.vendor-grid {
    margin: 0 0 20px;
}

.sub-category-item img {
    height: 100%;
    width: 100%;
    object-fit: contain;
}

.sub-category-grid .title {
    text-align: center;
    font-size: 22px;
    font-weight: normal;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

    .sub-category-grid .title a {
        display: block;
        padding: 0 0 15px;
    }

.home-page-category-grid .picture,
.sub-category-grid .picture {
    margin: 0;
}

    .home-page-category-grid .picture a:before,
    .sub-category-grid .picture a:before {
        padding-top: 65%;
    }

.products-container {
    position: relative;
}

    .products-container .ajax-products-busy {
        display: none;
        position: absolute;
        z-index: 2;
        width: 100%;
        height: 100%;
        background: #ffffffab url(../images/loading.gif) center no-repeat;
    }

.manufacturer-grid .item-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 0;
}

    .manufacturer-grid .item-grid .title {
        display: none;
    }

.manufacturer-grid .picture {
    border: 1px solid var(--border-color);
    margin-left: -1px;
    margin-top: -1px;
}

    .manufacturer-grid .picture a {
        display: block;
    }

.manufacturer-grid .item-grid img {
    object-fit: contain;
    max-height: 112px;
    padding: 25px 15px;
    width: 100%;
    height: 100%;
}

.vendor-grid .title {
    margin: 0 0 15px;
    text-align: center;
    font-size: 16px;
}

    .vendor-grid .title a:hover,
    .vendor-grid .title a:focus {
        color: var(--primary-color);
    }

.vendor-grid .picture {
    border: 1px solid #ddd;
}

.pager {
    margin: 0 0 20px;
}

    .pager ul {
        text-align: right;
        font-size: 0;
        padding: 0;
        margin: 0;
        display: flex;
        align-items: center;
        justify-content: end;
    }

    .pager li {
        display: inline-block;
    }

        .pager li:not(:last-child) {
            margin-right: 5px;
        }

        .pager li a,
        .pager li span {
            display: block;
            min-width: 35px;
            height: 35px;
            border: 1px solid var(--border-color);
            background-color: var(--gray-color);
            padding: 8px;
            text-align: center;
            font-size: 14px;
            /*reset zeroing*/
            cursor: pointer;
            display: grid;
            place-content: center;
            border-radius: 5px;
        }

        .pager li.current-page span {
            border-color: transparent;
            background-color: var(--primary-color);
            color: var(--white-color);
        }

        .pager li.previous-page *,
        .pager li.next-page *,
        .pager li.first-page *,
        .pager li.last-page * {
            background-position: center;
            background-repeat: no-repeat;
            font-size: 0;
            color: var(--text-color);
        }

    .pager :is(li.previous-page, li.next-page, li.first-page, li.last-page) *::before {
        font-family: "FontAwesome";
        font-weight: 900;
        font-size: 12px;
    }

    .pager li.previous-page *::before {
        content: "\f053";
    }

    .pager li.next-page *::before {
        content: "\f054";
    }

    .pager li.first-page *::before {
        content: "\f100";
    }

    .pager li.last-page *::before {
        content: "\f101";
    }

    .pager li a:hover,
    .pager li a:focus {
        border-color: transparent;
        background-color: var(--primary-color);
        color: var(--white-color);
    }

/********** PRODUCT PAGE **********/

.product-details-page {
    padding: 0 0 80px;
}

    .product-details-page .picture-gallery .picture-thumbs,
    .product-details-page .video-gallery .video-thumbs {
        padding: 0 45px;
    }

    .product-details-page :is(.picture-gallery, .video-gallery) .splide__arrows {
        position: absolute;
        left: 0;
        right: 0;
        top: 0;
        bottom: 0;
        display: flex;
        justify-content: space-between;
    }

    .product-details-page :is(.picture-gallery, .video-gallery) .splide__arrow {
        opacity: 1;
        position: static;
        transform: unset;
        box-shadow: none;
        height: 100%;
        width: 100%;
        max-width: 30px;
        background-color: var(--gray-color);
        border-radius: 0;
    }

.product-essential {
    margin: 0px;
    padding: 0 0 10px;
}

.gallery .picture-wrapper {
    margin: 0 0 10px;
}

.gallery .picture {
    position: relative;
    max-width: 100%;
    margin: 0 auto 10px;
    overflow: hidden;
}

    .gallery .picture img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        --size: 640px;
        min-height: var(--size);
        max-height: var(--size);
    }

.picture-gallery .picture-thumbs {
    overflow: hidden;
    font-size: 0;
}

    .picture-gallery .picture-thumbs .thumb-item {
        height: 100%;
    }

.video-gallery .video-thumbs .thumb-item {
    width: 100%;
}

.video-gallery {
    margin-top: 20px;
}

    .video-gallery .splide__arrow:disabled {
        opacity: 0;
        pointer-events: none;
    }

.overview {
    position: relative;
    margin: 0;
}

    .overview .discontinued-product {
        background: #f3f3f3;
        margin: 0 0 20px;
    }

        .overview .discontinued-product h4 {
            display: inline-block;
            font-size: 14px;
            padding: 17px 17px 17px 40px;
            background: url("../images/discontinued-product-icon.png") no-repeat 13px center;
            color: #de444c;
        }

    .overview .product-name h1 {
        margin: 19px 0 11px;
        font-size: clamp(24px, 4vw, 40px);
    }

    .overview .short-description {
        margin: 0 0 20px;
        line-height: 22px;
        color: var(--text-color);
    }

.product-reviews-overview {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 20px;
}

.product-no-reviews {
    display: flex;
}

    .product-no-reviews a {
        text-decoration: underline;
        font-size: 12px;
        font-family: var(--primary-fonts);
    }

.product-review-box .rating {
    margin: 0;
    gap: 2px;
}

    .product-review-box .rating i {
        color: var(--title-color);
    }

        .product-review-box .rating i.filled {
            color: var(--primary-color);
        }

.review-item-info {
    width: 100%;
    display: flex;
    justify-content: space-between;
    margin-bottom: 10px !important;
}

.vendor-product-reviews .product-review-box {
    width: auto;
}

.vendor-product-reviews-title {
    margin-bottom: 20px;
    font-size: 16px;
}

.vendor-page .block {
    max-width: 100%;
    text-align: right;
}

    .review-item-info .review-product-name a,
    .vendor-page .block a {
        display: inline-block;
        color: var(--primary-color);
        cursor: pointer;
    }


.product-review-links {
    display: inline-block;
}

    .product-review-links.add-review::before {
        content: "|";
        padding: 0 5px;
    }

.add-review.product-no-reviews::before {
    display: none;
}

.product-review-links a {
    text-decoration: underline;
}

    .product-review-links a:hover,
    .product-review-links a:focus {
        color: var(--primary-color);
    }

.overview .value,
.variant-overview .value {
    color: var(--dark-gray-color);
}

    .overview .value a,
    .variant-overview .value a {
        color: var(--primary-color);
    }

        .overview .value a:hover,
        .overview .value a:focus,
        .variant-overview .value a:hover,
        .variant-overview .value a:focus {
            text-decoration: underline;
        }

.overview-buttons {
    margin: 0 0 25px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

:is(.overview, .variant-overview) .button-2 {
    color: var(--text-color);
    background-color: var(--white-color);
    transition: var(--default-transition);
    padding: 10px 20px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    border: 1px solid var(--border-color) !important;
    text-decoration: unset !important;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    line-height: 1.5;
}

    :is(.overview, .variant-overview) .button-2::before {
        font-family: "Font Awesome 7 Pro";
        font-weight: 300;
        font-size: 16px;
    }

    :is(.overview, .variant-overview) .button-2:hover,
    :is(.overview, .variant-overview) .button-2:focus {
        background-color: var(--title-color);
        color: var(--white-color);
    }

.overview .add-to-compare-list-button::before {
    content: "\e473";
}

.overview .email-a-friend-button::before {
    content: "\f003";
}

.overview .subscribe-button::before,
.variant-overview .subscribe-button::before {
    content: "\f003";
}

.overview .download-sample-button::before,
.variant-overview .download-sample-button::before {
    content: "\f019";
}

.overview .add-to-wishlist-button::before,
.variant-overview .add-to-wishlist-button::before {
    content: "\f004";
}

.overview .availability,
.variant-overview .availability {
    margin: 0 0 20px;
    overflow: hidden;
}

    .overview .availability .stock,
    .variant-overview .availability .stock {
        margin: 0 0 10px;
    }

    .overview .availability .back-in-stock-subscription,
    .variant-overview .availability .back-in-stock-subscription {
        display: inline-block;
    }

.overview .additional-details,
.variant-overview .additional-details {
    margin: 0 0 20px;
}

.overview .delivery,
.variant-overview .delivery {
    overflow: hidden;
}

.overview .free-shipping,
.variant-overview .free-shipping {
    display: inline-block;
    margin: 10px 0;
    background: url("../images/shipping.png") left center no-repeat;
    padding: 2px 0 2px 28px;
    font-weight: bold;
    color: var(--dark-gray-color);
}

    .overview .free-shipping.invisible,
    .variant-overview .free-shipping.invisible {
        display: none;
    }

.overview .delivery-date,
.variant-overview .delivery-date {
    margin: 10px 0;
}

.overview .min-qty-notification,
.variant-overview .min-qty-notification {
    margin: 10px 0;
    font-style: italic;
    color: var(--dark-gray-color);
}

.overview .download-sample,
.variant-overview .download-sample {
    display: inline-block;
    margin: 0 0 25px;
}

.overview .prices,
.variant-overview .prices {
    overflow: hidden;
    font-size: clamp(20px, 4vw, 48px);
    line-height: 1.2;
    font-family: var(--primary-fonts);
    color: var(--title-color);
    margin-bottom: 20px;
}

    .overview .prices > div,
    .variant-overview .prices > div {
        margin: 0 0 5px;
    }

        .overview .prices > div > span,
        .variant-overview .prices > div > span {
            vertical-align: middle;
        }

.overview .old-product-price,
.variant-overview .old-product-price,
.overview .non-discounted-price,
.variant-overview .non-discounted-price {
    font-size: 14px;
    color: #999;
    text-decoration: line-through;
}

.overview .tax-shipping-info a,
.variant-overview .tax-shipping-info a {
    color: var(--primary-color);
}

    .overview .tax-shipping-info a:hover,
    .overview .tax-shipping-info a:focus,
    .variant-overview .tax-shipping-info a:hover,
    .variant-overview .tax-shipping-info a:focus {
        text-decoration: underline;
    }

.customer-entered-price {
    margin: 0 0 20px;
    overflow: hidden;
}

    .customer-entered-price .price-input label {
        display: block;
        margin: 0 0 5px;
        font-weight: bold;
        color: var(--dark-gray-color);
    }

    .customer-entered-price .price-input input {
        width: 170px;
        text-align: center;
    }

    .customer-entered-price .price-range {
        margin: 5px 0 0;
        color: var(--gray-color);
    }

.tier-prices {
    margin: 0 0 20px;
}

    .tier-prices .title {
        display: none;
    }

    .tier-prices table td {
        border: 1px solid #ddd;
        padding: 10px;
        color: var(--dark-gray-color);
    }

    .tier-prices .field-header {
        min-width: 80px;
    }

    .tier-prices .item-price {
        background-color: #f9f9f9;
        font-size: 16px;
        color: var(--error-red-color);
    }

.overview .add-to-cart {
    margin: 0 0 20px;
}

.overview .qty-label,
.variant-overview .qty-label {
    display: none !important;
}

.overview .qty-dropdown,
.variant-overview .qty-dropdown {
    height: 43px;
    padding: 0 12px;
    font-size: 15px;
    color: var(--dark-gray-color);
}

:is(.overview, .variant-overview) .label {
    font-family: var(--primary-fonts);
    color: var(--title-color);
    font-size: 18px;
    font-weight: 700;
}

.overview .add-to-cart-button,
.variant-overview .add-to-cart-button {
    transition: var(--default-transition);
    padding: 10px 30px;
    font-weight: 600;
    text-transform: uppercase;
    border: 0;
    display: inline-block;
    line-height: 1.5;
    text-decoration: unset !important;
    background-color: var(--primary-color);
    color: var(--white-color);
    font-size: 13px;
    font-family: var(--primary-fonts);
}

    .overview .add-to-cart-button:hover,
    .overview .add-to-cart-button:focus,
    .variant-overview .add-to-cart-button:hover,
    .variant-overview .add-to-cart-button:focus {
        background-color: var(--secondary-color);
    }

.product-share-button {
    display: inline-block;
    overflow: hidden;
}

.full-description {
    clear: both;
    line-height: 24px;
}

.product-collateral {
    margin: 0 0 75px;
}

    .product-collateral .title {
        margin: 0 0 10px;
        font-size: 18px;
        color: var(--dark-gray-color);
    }

.product-variant-line {
    margin: 0 0 30px;
    border-bottom: 1px solid #ddd;
    padding: 0 0 20px;
}

    .product-variant-line:after {
        content: "";
        display: block;
        clear: both;
    }

.variant-picture {
    position: relative;
    width: 220px;
    height: 220px;
    margin: 0 auto 15px;
    overflow: hidden;
}

.variant-overview {
    width: 100%;
}

    .variant-overview .variant-name {
        margin: 0 0 10px;
        padding: 10px 0;
        font-size: 16px;
        font-weight: bold;
        color: var(--primary-color);
    }

    .variant-overview .variant-description {
        margin: 0 0 15px;
        line-height: 22px;
    }

    .variant-overview .add-to-wishlist {
        margin: 0 0 25px;
    }

    .variant-overview .add-to-wishlist-button {
        display: inline-block;
        width: auto;
    }

    .variant-overview .add-to-cart {
        margin: 0 0 10px;
    }

.product-filter-level-values-box {
    margin: 0 0 20px;
}

    .product-filter-level-values-box .title {
        margin: 0 0 10px;
        font-size: 18px;
        color: #444;
    }

        .product-filter-level-values-box .title strong {
            font-weight: normal;
        }

    .product-filter-level-values-box .sub-title {
        margin: 0 0 5px;
        font-size: 14px;
        color: #444;
        font-weight: normal;
    }

.product-specs-box {
    margin: 0 0 40px;
}

    .product-specs-box td,
    .product-filter-level-values-box td {
        border: 1px solid #ddd;
        padding: 10px;
    }

        .product-specs-box td.spec-group-name {
            border: 0;
            padding-top: 20px;
            font-size: 16px;
            color: var(--dark-gray-color);
        }

.product-tags-list {
    font-size: 0;
}

    .product-tags-list ul {
        list-style: none;
        padding: 0;
        margin: 0;
        align-items: end;
    }

    .product-tags-list li {
        display: inline-block;
        font-size: 14px;
        /*reset zeroing*/
    }

        .product-tags-list li.separator {
            margin: 0 5px 0 3px;
        }

    .product-tags-list a {
        display: inline-block;
        line-height: 24px;
        text-transform: capitalize;
    }

        .product-tags-list a:hover,
        .product-tags-list a:focus {
            color: var(--primary-color);
        }

.attributes {
    margin: 20px 0;
}

    .attributes dl {
        overflow: hidden;
        padding: 0 2px;
        /* fix for Chrome in Mac, the checkboxes get cut off */
    }

    .attributes dt,
    .attribute-label {
        display: block;
        margin: 0 0 5px;
        white-space: nowrap;
        font-weight: bold;
        color: var(--dark-gray-color);
    }

    .attributes dd,
    .attribute-data {
        margin: 0 0 10px;
    }

    .attributes li {
        margin: 8px 0 12px;
    }

    .attributes select {
        width: auto;
        min-width: 100px;
        max-width: 100%;
    }

    .attributes .option-list label {
        margin: 0 5px;
    }

    .attributes .datepicker {
        width: 280px;
        text-align: center;
        color: var(--dark-gray-color);
    }

    .attributes .qty-box input {
        width: 48px;
        height: 32px;
        text-align: center;
    }

    .attributes .option-list:not(.attribute-squares) .disabled {
        opacity: 0.5;
    }

    .attributes .attribute-squares .disabled .attribute-square {
        cursor: default;
        opacity: 0.25;
    }

    .attributes .attribute-squares .disabled .attribute-square-container {
        background: linear-gradient( to top left, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) calc(50% - 1.5px), #e91e63 50%, rgba(0, 0, 0, 0) calc(50% + 1.5px), rgba(0, 0, 0, 0) 100% ), linear-gradient( to top right, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) calc(50% - 1.5px), #e91e63 50%, rgba(0, 0, 0, 0) calc(50% + 1.5px), rgba(0, 0, 0, 0) 100% );
    }

    .attributes .attribute-squares .tooltip-container .not-available-text {
        font-size: 12px;
    }

    .attributes
    .attribute-squares.color-squares
    .tooltip-container
    .not-available-text {
        margin: 5px;
    }

    .attributes .attribute-squares.color-squares .tooltip-container {
        width: 120px;
        display: none;
    }

    .attributes .attribute-squares.color-squares li:hover .tooltip-container {
        margin-left: -42px;
    }

    .attributes .attribute-squares.color-squares .disabled .tooltip-container {
        display: block;
    }

    .attributes
    .attribute-squares.image-squares
    .tooltip-container
    .not-available-text {
        margin-bottom: 5px;
        display: none;
    }

    .attributes
    .attribute-squares.image-squares
    .disabled
    .tooltip-container
    .not-available-text {
        display: block;
    }

    .attributes select option.disabled,
    .attributes select option:disabled {
        color: #cecece;
    }

.ui-datepicker {
    width: 280px;
    box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
    background-color: #fff;
    text-align: center;
    /*override jQuery UI styles, do not delete doubled properties*/
    border: none;
    border-radius: 0;
    padding: 0;
    font: normal 14px var(--primary-fonts);
    color: var(--gray-color);
}

.ui-datepicker-header {
    position: relative;
    height: 32px;
    background-color: var(--primary-color);
    color: #fff;
    /*override jQuery UI styles, do not delete doubled properties*/
    border: none;
    border-radius: 0;
    background-image: none;
    padding: 0 !important;
    font-weight: normal;
}

    .ui-datepicker-header a {
        position: absolute;
        top: 0;
        z-index: 1;
        width: 32px;
        height: 32px;
        line-height: 32px;
        font-size: 0;
        /*override jQuery UI styles, do not delete doubled properties*/
        top: 0 !important;
        width: 32px !important;
        height: 32px !important;
        border: none !important;
    }

        .ui-datepicker-header a.ui-datepicker-prev {
            left: 0;
            background: url("../images/calendar-prev.png") center no-repeat;
        }

        .ui-datepicker-header a.ui-datepicker-next {
            right: 0;
            background: url("../images/calendar-next.png") center no-repeat;
        }

        .ui-datepicker-header a span {
            /*override jQuery UI styles, do not delete doubled properties*/
            display: none !important;
        }

.ui-datepicker-title {
    position: relative;
    z-index: 0;
    line-height: 32px;
    font-weight: bold;
    text-transform: uppercase;
    /*override jQuery UI styles, do not delete doubled properties*/
    line-height: 32px !important;
}

.ui-datepicker-calendar {
    /*override jQuery UI styles, do not delete doubled properties*/
    margin: 0 !important;
    font-size: 14px !important;
}

    .ui-datepicker-calendar th {
        background-color: #eee;
    }

    .ui-datepicker-calendar th,
    .ui-datepicker-calendar td {
        width: 14.285%;
        border: 1px solid #ddd;
        /*override jQuery UI styles, do not delete doubled properties*/
        padding: 0;
    }

        .ui-datepicker-calendar th span,
        .ui-datepicker-calendar td a {
            display: block;
            min-height: 32px;
            line-height: 32px;
            color: var(--dark-gray-color);
        }

        .ui-datepicker-calendar td a {
            /*override jQuery UI styles, do not delete doubled properties*/
            border: none !important;
            background: none !important;
            padding: 0;
            text-align: center;
            color: var(--dark-gray-color) !important;
        }

    .ui-datepicker-calendar .ui-state-active {
        outline: 2px solid var(--primary-color);
        font-weight: bold;
        color: var(--primary-color);
        /*override jQuery UI styles, do not delete doubled properties*/
        color: var(--primary-color) !important;
    }

.attribute-squares {
    font-size: 0;
    display: inline-block;
}

    .attribute-squares li {
        display: inline-block;
        margin: 0 5px 5px;
        text-align: center;
    }

    .attribute-squares .attribute-square-container {
        display: block;
        position: relative;
        z-index: 0;
        padding: 1px;
    }

    .attribute-squares label {
        display: block;
        margin: 0 !important;
        overflow: hidden;
    }

    .attribute-squares .attribute-square {
        display: inline-block !important;
        width: 32px !important;
        height: 32px !important;
        border: 1px solid var(--dark-gray-color) !important;
        cursor: pointer;
    }

    .attribute-squares .selected-value .attribute-square-container {
        background-color: var(--primary-color);
    }

    .attribute-squares li input {
        display: none;
    }

.attribute-squares-padding {
    padding: 0 5px 0 0;
}

.tooltip-container {
    position: absolute;
    width: 200px;
    color: #000000;
    background: #ffffff;
    border: 1px solid #eeeeee;
    text-align: center;
    visibility: hidden;
    border-radius: 5px;
}

    .tooltip-container:before {
        content: "";
        position: absolute;
        bottom: 100%;
        left: 50%;
        margin-left: -7px;
        width: 0;
        height: 0;
        border-bottom: 7px solid #eeeeee;
        border-right: 7px solid transparent;
        border-left: 7px solid transparent;
    }

    .tooltip-container:after {
        content: "";
        position: absolute;
        bottom: 100%;
        left: 50%;
        margin-left: -6px;
        width: 0;
        height: 0;
        border-bottom: 6px solid #ffffff;
        border-right: 6px solid transparent;
        border-left: 6px solid transparent;
    }

.attribute-squares li:hover .tooltip-container,
.attribute-squares li:focus .tooltip-container {
    visibility: visible;
    margin-left: -83px;
    margin-top: 5px;
    z-index: 999;
}

.tooltip-container .tooltip-header {
    background-color: #f6f6f6;
    height: 25px;
    border-top-right-radius: 4px;
    border-top-left-radius: 4px;
    padding-left: 10px;
    padding-top: 5px;
    text-align: left;
    width: 198px;
    font-size: 15px;
    border-bottom: 1px #eeeeee solid;
}

.tooltip-container .tooltip-body {
    margin: 5px;
}

    .tooltip-container .tooltip-body img {
        border: 0px #fff;
        width: 190px;
    }

.giftcard {
    margin: 0 0 20px;
    overflow: hidden;
}

    .giftcard div {
        margin: 0 0 10px;
        position: relative;
    }

    .giftcard label {
        display: block;
        margin: 0 auto 5px;
        font-weight: bold;
        color: var(--dark-gray-color);
    }

    .giftcard input,
    .giftcard textarea {
        width: 100%;
    }

    .giftcard textarea {
        height: 150px;
    }
/********** PRODUCT REVIEWS **********/

.product-reviews h1 a {
    color: var(--primary-color);
}

    .product-reviews h1 a:before,
    .product-reviews h1 a:after {
        content: "''";
    }

.product-reviews .title {
    margin: 0 0 20px;
    font-size: 20px;
    color: var(--dark-gray-color);
}

.write-review {
    padding-bottom: 60px;
}

    .write-review > .title {
        font-size: 22px;
        font-weight: 700;
        color: var(--title-color);
        font-family: var(--primary-fonts);
        margin-bottom: 20px;
        padding-bottom: 14px;
    }

    .write-review form {
        background: #fff;
        border: 1px solid var(--border-color);
        padding: 32px 36px;
        box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
    }

    .write-review .fieldset {
        margin: 0 0 30px;
    }

        .write-review .fieldset .form-fields {
            background: transparent;
            border-top: none;
            padding: 0;
        }

        .write-review .fieldset .inputs {
            display: flex;
            flex-direction: column;
            text-align: left;
            margin-bottom: 20px;
            position: relative;
        }

            .write-review .fieldset .inputs label {
                display: inline;
                font-size: 14px;
                font-weight: 600;
                color: var(--title-color);
                margin-bottom: 8px;
            }

        .write-review .fieldset .required {
            display: inline !important;
            position: static;
            bottom: auto;
            right: auto;
            margin-left: 2px;
            font-size: 14px;
            font-weight: 700;
            vertical-align: super;
        }

    .write-review .buttons {
        margin: 24px 0 0;
        padding: 0;
        background: transparent;
        text-align: left;
    }

    .write-review .input-label {
        display: flex;
        align-items: baseline;
        gap: 3px;
        margin-bottom: 6px;
    }

        .write-review .input-label label {
            margin-bottom: 0;
        }

.tooltip {
    position: initial;
    display: inline-block;
    border-bottom: 1px dotted black;
    color: var(--dark-gray-color);
}

    .tooltip .tooltiptext {
        visibility: hidden;
        width: auto;
        background: #f0f0f0 no-repeat 100% 5%;
        border: #c0c0c0 1px dotted;
        text-align: Left;
        padding: 10px 10px 5px 5px;
        position: absolute;
        z-index: 1;
        left: 10%;
        opacity: 0;
        transition: opacity 0.3s;
    }

        .tooltip .tooltiptext::after {
            content: "";
            position: absolute;
        }

    .tooltip:hover .tooltiptext,
    .tooltip:focus .tooltiptext {
        visibility: visible;
        opacity: 1;
        cursor: help;
    }

.write-review .review-rating label {
    font-size: 14px;
    color: var(--dark-gray-color);
}

.write-review .rating-wrapper {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.write-review .review-rating div.first {
    color: var(--error-red-color);
}

.write-review .review-rating div.rating-options {
    padding-top: 2px;
}

    .write-review .review-rating div.rating-options input {
        vertical-align: baseline;
    }

.write-review .review-rating div.last {
    color: var(--success-green-color);
}

.write-review .captcha-box {
    margin: 15px 0 0;
}

.write-review .button-1 {
    border: none;
    background-color: var(--primary-color);
    padding: 10px 25px;
    text-align: center;
    font-size: 15px;
    color: #fff;
    text-transform: uppercase;
}

    .write-review .button-1:hover,
    .write-review .button-1:focus {
        background-color: var(--primary-color);
    }

.product-reviews .result,
.product-reviews .message-error {
    margin: 0 0 20px;
}

.product-review-list {
    overflow: hidden;
}

.product-review-item {
    margin: 0 0 20px;
}

    .product-review-item .review-item-head {
        border-top: 1px solid #ddd;
        overflow: hidden;
        background-color: #f6f6f6;
        padding: 10px;
    }

    .product-review-item .review-title {
        line-height: 20px;
        font-size: 15px;
        color: var(--dark-gray-color);
    }

    .product-review-item .product-review-box {
        margin: 3px 0 0;
    }

    .product-review-item .review-text {
        margin: 0 0 15px;
        line-height: 22px;
        color: var(--dark-gray-color);
    }

    .product-review-item .avatar {
        margin: 0 0 10px;
    }

    .product-review-item .reply {
        margin: 15px 0;
        border-top: 1px solid #ddd;
    }

    .product-review-item .reply-header {
        margin: 15px 0;
        font-weight: bold;
    }

    .product-review-item .reply-text {
        line-height: 22px;
    }

    .product-review-item .review-info {
        margin: 0 0 5px;
    }

        .product-review-item .review-info label {
            font-weight: normal;
        }

        .product-review-item .review-info a,
        .product-review-helpfulness .vote {
            display: inline-block;
            padding: 0 5px;
            color: var(--title-color);
            cursor: pointer;
        }

.product-review-helpfulness .question {
    margin: 0 5px 0 0;
    font-style: italic;
}

.product-review-helpfulness .result {
    margin: 0 0 0 10px;
}

.product-review-item .review-type-rating-ext {
    overflow: hidden;
    margin: 0 0 20px;
}
/********** WISHLIST & COMPARE LIST **********/
.wishlist-page .page-title {
    margin-bottom: 40px;
    border-bottom: none;
    padding: 0;
}

    .wishlist-page .page-title h1 {
        font-size: 32px;
        font-weight: 700;
        color: var(--title-color);
        text-align: left;
    }

.wishlist-content {
    margin: 0 0 20px;
}

    .wishlist-content .message-error {
        margin: 20px 0;
    }

    .wishlist-content .table-wrapper {
        margin: 0 0 30px;
    }

    .wishlist-content .tax-shipping-info {
        margin: 0 0 20px;
        text-align: center;
    }

        .wishlist-content .tax-shipping-info a {
            color: var(--primary-color);
        }

            .wishlist-content .tax-shipping-info a:hover,
            .wishlist-content .tax-shipping-info a:focus {
                text-decoration: underline;
            }

.wishlist-page .cart {
    border-collapse: collapse;
    width: 100%;
}

.wishlist-content .buttons {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 30px;
    padding: 15px 0;
    background-color: transparent;
    font-size: 14px;
}

/* Base style — matches cart common-buttons */
.wishlist-content .button-2 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 180px;
    height: 44px;
    padding: 0 20px;
    font-size: 12px;
    font-weight: 600;
    font-family: var(--secondary-fonts);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border: 1px solid var(--border-color);
    background-color: #fff;
    color: var(--title-color);
    cursor: pointer;
    transition: var(--default-transition);
    text-align: center;
    line-height: normal;
    margin: 0;
    width: auto;
}

    .wishlist-content .button-2:hover,
    .wishlist-content .button-2:focus {
        background-color: var(--title-color);
        color: #fff;
        border-color: var(--title-color);
    }

/* Add to cart — primary green, matches update-cart-button */
.wishlist-content .wishlist-add-to-cart-button {
    background-color: #fff;
    border-color: var(--border-color);
    color: var(--title-color);
}

    .wishlist-content .wishlist-add-to-cart-button:hover,
    .wishlist-content .wishlist-add-to-cart-button:focus {
        background-color: var(--title-color);
        color: #fff;
        border-color: var(--title-color);
    }

/* Update wishlist — outline style */
.wishlist-content .update-wishlist-button {
    background-color: var(--primary-color);
    color: #fff;
    border-color: var(--primary-color);
}

    .wishlist-content .update-wishlist-button:hover,
    .wishlist-content .update-wishlist-button:focus {
        background-color: var(--secondary-color);
        border-color: var(--secondary-color);
        color: #fff;
    }

/* Email a friend — same outline style */
.wishlist-content .email-a-friend-wishlist-button {
    background-color: #fff;
    border-color: var(--border-color);
    color: var(--title-color);
}

    .wishlist-content .email-a-friend-wishlist-button:hover,
    .wishlist-content .email-a-friend-wishlist-button:focus {
        background-color: var(--title-color);
        color: #fff;
        border-color: var(--title-color);
    }

/* Delete — red accent on hover only */
.wishlist-content .delete-wishlist-button {
    background-color: #fff;
    border-color: var(--border-color);
    color: var(--title-color);
}

    .wishlist-content .delete-wishlist-button:hover,
    .wishlist-content .delete-wishlist-button:focus {
        background-color: #b43c55;
        border-color: #b43c55;
        color: #fff;
    }

.wishlist-page .share-info span {
    display: inline;
    margin: 0;
    font-size: 15px;
    font-weight: 600;
    color: var(--title-color);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.wishlist-page .share-info a {
    font-size: 15px;
    font-weight: normal;
    color: var(--primary-color);
    text-decoration: underline;
    word-break: break-all;
}

    .wishlist-page .share-info a:hover,
    .wishlist-page .share-info a:focus {
        color: var(--secondary-color);
    }

.wishlist-page .no-data {
    text-align: center;
    padding: 60px 20px;
    margin: 25px 0 0;
    font-size: 16px;
    color: var(--text-color);
}

.wishlist-buttons-container {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.add-wishlist-content {
    display: flex;
}

    .add-wishlist-content input{
        width: 100%;
    }

    .add-wishlist-content .wishlist-add-custom-button {
        width: auto;
        min-width: 64px;
        min-height: 36px;
        background-color: var(--primary-color);
        border: none;
        padding-block: 7px 9px;
        padding-inline: 25px 23px;
        text-align: center;
        line-height: 20px;
        font-size: 15px;
        color: #fff;
    }

        .add-wishlist-content .wishlist-add-custom-button:hover,
        .add-wishlist-content .wishlist-add-custom-button:focus {
            background-color: var(--primary-color);
        }

.button-row {
    display: flex;
    gap: 0 12px;
    flex-wrap: wrap;
}

.button-2.custom-wishlist-button {
    height: 36px;
    background: transparent;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-inline: 12px;
    font-size: 14px;
    font-weight: 500;
    color: #1f2d3d;
    text-align: center;
    cursor: pointer;
    margin-block: 10px;
    transition: background-color 0.3s ease, box-shadow 0.3s ease;
    white-space: normal;
    overflow: hidden;
    text-overflow: ellipsis;
}

    .button-2.custom-wishlist-button.add-new {
        padding-inline-start: 0;
    }

        .button-2.custom-wishlist-button.add-new::before {
            content: "\2b";
            font-family: "Font Awesome 5 Free";
            height: 13px;
            font-weight: 700;
            margin-right: 5px;
        }

    .button-2.custom-wishlist-button:hover {
        background-color: #e9eff6;
        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08);
    }

/* Buttons - center */
.wishlist-page .share-info {
    border-left: none;
    background-color: transparent;
    justify-content: center;
    text-align: center;
    padding: 40px 0;
}

.compare-products-page {
    position: relative;
    overflow: hidden;
}

    .compare-products-page .clear-list {
        display: inline-block;
        margin: 0 0 20px;
        background-color: var(--primary-color);
        padding: 10px 15px;
        font-size: 12px;
        color: #fff;
        text-transform: uppercase;
    }

        .compare-products-page .clear-list:hover,
        .compare-products-page .clear-list:focus {
            background-color: var(--secondary-color);
        }

    .compare-products-page .table-wrapper {
        margin: 0 0 30px;
        padding: 0 0 1px
    }

.compare-products-table td {
    min-width: 150px;
    border: 1px solid var(--border-color);
    background-color: var(--white-color);
    padding: 20px;
    text-align: left;
    vertical-align: top;
    color: var(--dark-gray-color)
}

    .compare-products-table td:first-child {
        min-width: 0;
        background-color: var(--gray-color)
    }

    .compare-products-table td label {
        font-weight: normal;
        color: var(--text-color)
    }

.compare-products-table .specification-group td {
    border: 0;
    padding: 20px 10px 10px 10px
}

    .compare-products-table .specification-group td label {
        font-size: 16px;
        color: var(--dark-gray-color)
    }

.compare-products-table tr.remove-product td {
    position: relative;
    padding: 0;
    border: 0;
    background: none
}

.compare-products-table .remove-button {
    color: var(--text-color);
    position: absolute;
    top: 30px;
    right: 10px;
    width: 30px;
    height: 30px;
    border-radius: 6px;
    background-color: #f3f5f6;
    font-size: 0;
    border: 0;
    z-index: 1
}

    .compare-products-table .remove-button::before {
        content: "\f1f8";
        font-size: 14px;
        font-family: "FontAwesome";
        font-weight: 900;
        transition: var(--default-transition);
    }

    .compare-products-table .remove-button i {
        font-size: 14px
    }

    .compare-products-table .remove-button:hover {
        color: var(--delete-color)
    }

.compare-products-table .picture {
    display: block;
    position: relative;
    max-width: 200px;
    height: 200px;
    overflow: hidden
}

    .compare-products-table .picture img {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        max-width: 100%;
        max-height: 100%;
        margin: auto
    }

.compare-products-table .product-name td {
    font-weight: 500
}

    .compare-products-table .product-name td a {
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        overflow: hidden
    }

        .compare-products-table .product-name td a:hover, .compare-products-table .product-name td a:focus {
            color: var(--primary-color)
        }

.compare-products-table .short-description td {
    line-height: 22px
}

.compare-products-table .full-description td {
    display: none
}

.compare-products-page .no-data {
    margin: 25px 0 0
}
/*********** TOPICS ***********/

.topic-block-title h2 {
    font-size: 40px;
    font-weight: 600;
    line-height: 1.2;
    margin-bottom: 18px;
    font-family: var(--primary-fonts);
    color: var(--title-color);
    text-align: center;
}
.topic-block-body {
    line-height: 1.5;
    font-size: 18px;
    text-align: center;
}

.topic-block:has(.topic-block-body > :is(div, section)){
    margin-top: 0;
}

.topic-block{
    margin-top: 30px;
}

.topic-page .page-body {
    text-align: justify;
    line-height: 22px;
}

.topic-block a,
.topic-page a {
    text-decoration: underline;
}

.topic-block strong,
.topic-page strong {
    color: var(--dark-gray-color);
}

.popup-window .topic-page {
    padding: 15px;
}

.not-found-page p {
    margin: 30px 15px;
}

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

.enter-password-title {
    margin: 0 0 20px;
    color: var(--dark-gray-color);
    display: block;
}

.enter-password-form {
    display: inline-block;
    overflow: hidden;
}

    .enter-password-form input[type="password"] {
        float: left;
        width: 200px;
        height: 40px;
        margin: 0 -1px 0 0;
    }

    .enter-password-form button[type="submit"] {
        float: left;
        width: auto;
        min-width: 86px;
        height: 40px;
        border: none;
        background-color: var(--primary-color);
        padding: 0 15px;
        color: #fff;
        text-transform: uppercase;
    }

        .enter-password-form button[type="submit"]:hover,
        .enter-password-form button[type="submit"]:focus {
            background-color: var(--primary-color);
        }
/*********** CONTACT & EMAIL A FRIEND & APPLY FOR VENDOR ACCOUNT ***********/

.contact-page .page-title,
.email-a-friend-page .page-title,
.apply-vendor-page .page-title {
    margin: 0 0 -1px;
}

.contact-page {
    padding-bottom: var(--section-sm-gap);
}

    .contact-page .result,
    .contact-page .message-error,
    .email-a-friend-page .result,
    .email-a-friend-page .message-error,
    .apply-vendor-page .result,
    .apply-vendor-page .message-error {
        margin: 20px 0;
        font-size: 18px;
        padding: 40px 0px;
    }

    .contact-page .button-1,
    .email-a-friend-page .button-1,
    .apply-vendor-page .button-1 {
        min-width: 140px;
        border: none;
        background-color: var(--primary-color);
        padding: 10px 30px;
        text-align: center;
        font-size: 15px;
        color: #fff;
        text-transform: uppercase;
    }

        .contact-page .button-1:hover,
        .contact-page .button-1:focus,
        .email-a-friend-page .button-1:hover,
        .email-a-friend-page .button-1:focus,
        .apply-vendor-page .button-1:hover,
        .apply-vendor-page .button-1:focus {
            background-color: var(--primary-color);
        }

    .contact-page .topic-block,
    .email-a-friend-page .title,
    .apply-vendor-page .title {
        margin: 25px 0;
    }

        .email-a-friend-page .title h2 {
            font-weight: normal;
        }

.apply-vendor-page .terms-of-service {
    text-align: center;
}

    .apply-vendor-page .terms-of-service > * {
        display: inline-block;
        line-height: 32px;
    }

    .apply-vendor-page .terms-of-service span,
    .apply-vendor-page .terms-of-service a {
        color: var(--primary-color);
        cursor: pointer;
    }
/********** REGISTRATION, LOGIN, ACCOUNT PAGES  **********/

.gender {
    display: inline-block;
}

    .gender span {
        display: inline-block;
        margin: 0 5px;
    }

        .gender span > * {
            display: inline !important;
            margin: 0 5px;
            line-height: 32px;
        }

.date-of-birth .date-picker-wrapper {
    display: inline;
}

.date-of-birth select {
    width: 31%;
    /*always single line*/
    max-width: 126px;
}

    .date-of-birth select + select {
        margin: 0 0 0 10px;
    }

.date-of-birth .select-wrapper + .select-wrapper {
    margin: 0 0 0 10px;
}

#check-availability-button {
    margin: 10px 0 0;
    border: none;
    background-color: #888;
    padding: 10px 15px;
    font-size: 12px;
    color: #fff;
    text-transform: uppercase;
}

    #check-availability-button:hover,
    #check-availability-button:focus {
        background-color: #999;
    }

.inputs.accept-consent {
    text-align: center;
}

    .inputs.accept-consent > * {
        display: inline-block;
        line-height: 32px;
    }

    .inputs.accept-consent span,
    .inputs.accept-consent a {
        color: var(--primary-color);
        cursor: pointer;
        font-size: 14px;
    }

    .inputs.accept-consent label {
        width: auto;
        margin-left: 10px;
        margin-bottom: 0;
    }

.registration-page .button-1,
.registration-result-page .button-1,
.login-page .button-1,
.password-recovery-page .button-1,
.email-revalidation-page .button-1,
.account-activation-page .button-1,
.account-page .button-1,
.return-request-page .button-1 {
    min-width: 140px;
    border: none;
    background-color: var(--primary-color);
    padding: 10px 30px;
    text-align: center;
    font-size: 15px;
    color: #fff;
    text-transform: uppercase;
}

    .registration-page .button-1:hover,
    .registration-page .button-1:focus,
    .registration-result-page .button-1:hover,
    .registration-result-page .button-1:focus,
    .login-page .button-1:hover,
    .login-page .button-1:focus,
    .password-recovery-page .button-1:hover,
    .password-recovery-page .button-1:focus,
    .email-revalidation-page .button-1:hover,
    .email-revalidation-page .button-1:focus,
    .account-activation-page .button-1:hover,
    .account-activation-page .button-1:focus,
    .account-page .button-1:hover,
    .account-page .button-1:focus,
    .return-request-page .button-1:hover,
    .return-request-page .button-1:focus {
        background-color: var(--secondary-color);
    }

.return-request-page h1 a {
    color: var(--primary-color);
}

.return-request-page .return-request-file {
    font-size: 14px;
    width: 400px;
    margin: 0 auto;
}

.registration-page .message-error,
.login-page .message-error,
.account-page .message-error {
    margin: 0 0 10px;
}

.registration-result-page .result {
    margin: 0 0 30px;
    padding: 30px 0;
    text-align: center;
    font-size: 16px;
    color: var(--success-green-color);
}

.customer-info-page .email-to-revalidate,
.customer-info-page .readonly-username,
.customer-info-page .vat-status {
    margin: 0 5px;
    font-size: 14px;
}

.customer-info-page .vat-status {
    display: block;
}

.registration-page .vat-note,
.customer-info-page .vat-note,
.customer-info-page .email-to-revalidate-note {
    display: block;
    font-size: 14px;
    margin-top: 7px;
    white-space: normal;
}

.login-page .customer-blocks {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 150px;
    margin: 0 0 48px;
    align-items: start;
}

.login-page .title {
    margin: 0 0 20px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--border-color);
    font-size: 18px;
    font-weight: 700;
    color: var(--title-color);
    font-family: var(--primary-fonts);
}

.login-page .new-wrapper,
.login-page .returning-wrapper {
    margin: 0;
    background: #fff;
    padding: 40px 60px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.07);
    display: flex;
    flex-direction: column;
}

    .login-page .new-wrapper .text {
        margin: 0 0 28px;
        border: none;
        background-color: transparent;
        padding: 0;
        line-height: 1.6;
        font-size: 14px;
        color: var(--text-color);
    }

    .login-page .new-wrapper .topic-block-body strong {
        color: var(--title-color);
    }

    .login-page .new-wrapper .buttons {
        display: flex;
        flex-direction: column;
        gap: 12px;
        margin-top: auto;
    }

    .login-page .returning-wrapper .form-fields {
        overflow: visible;
        padding: 0;
        background: transparent;
        border: none;
        margin-bottom: 24px;
    }

    .login-page .returning-wrapper .inputs.reversed {
        white-space: normal;
        display: flex;
        align-items: center;
        flex-direction: row;
        flex-wrap: nowrap;
        gap: 8px;
        margin-bottom: 24px;
        width: 100%;
        text-align: left;
    }

        .login-page .returning-wrapper .inputs.reversed * {
            display: inline-block;
            width: auto;
            margin: 0;
            font-size: 13px;
            color: var(--title-color);
            flex-shrink: 0;
            vertical-align: middle;
        }

        .login-page .returning-wrapper .inputs.reversed .forgot-password {
            margin-left: auto;
        }

        .login-page .returning-wrapper .inputs.reversed a {
            color: var(--primary-color);
            font-weight: 600;
            font-size: 13px;
        }

.login-page .captcha-box {
    margin: 0 0 20px;
}

.login-page .returning-wrapper .inputs {
    display: flex;
    flex-direction: column;
    text-align: left;
    margin-bottom: 20px;
    white-space: normal;
}

    .login-page .returning-wrapper .inputs label {
        display: block;
        width: 100%;
        text-align: left;
        margin: 0 0 8px;
        font-size: 14px;
        font-weight: 600;
        color: var(--title-color);
    }

    .login-page .returning-wrapper .inputs input:not([type="checkbox"]) {
        width: 100%;
        max-width: 100%;
        height: 46px;
        padding: 0 16px;
        border: 1px solid var(--border-color);
        font-size: 14px;
        color: var(--title-color);
        background: #fff;
        transition: var(--default-transition);
    }

.login-page .topic-block .topic-block-title h2 {
    font-size: 18px;
    font-weight: 700;
    color: var(--title-color);
    font-family: var(--primary-fonts);
}

.login-page .topic-block .topic-block-body {
    font-size: 14px;
    color: var(--text-color);
    line-height: 1.7;
}

/* Responsive */
@media (max-width: 768px) {
    .login-page .customer-blocks {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .login-page .new-wrapper,
    .login-page .returning-wrapper {
        padding: 28px 24px;
    }
}

.login-page .returning-wrapper .buttons,
.login-page .new-wrapper .buttons {
    background-color: transparent;
    padding: 0;
    margin-top: 8px;
    margin-bottom: 0;
}

.login-page .login-password,
.registration-page .login-password {
    position: relative;
    width: 100%;
    max-width: 100%;
    display: block;
}

.login-page .password-eye,
.registration-page .password-eye {
    content: "";
    display: block;
    height: 16px;
    width: 16px;
    background-image: url("../images/eye-closed.png");
    background-size: 16px 16px;
    position: absolute;
    top: calc(50% - 8px);
    right: 12px;
    background-repeat: no-repeat;
    background-position: center;
    z-index: 2;
    cursor: pointer;
    opacity: 0.5;
    transition: opacity 0.2s ease;
}

    .login-page .password-eye:hover,
    .registration-page .password-eye:hover {
        opacity: 0.9;
    }

.login-page .password-eye-open,
.registration-page .password-eye-open {
    background-image: url("../images/eye.png");
}

.external-authentication {
    margin: 0 0 50px;
    overflow: hidden;
    text-align: center;
}

    .external-authentication .title {
        margin: 0 0 15px;
        font-size: 20px;
        color: var(--dark-gray-color);
    }

    .external-authentication .buttons {
        margin: 0 0 30px;
        border-top: 1px solid #e6e6e6;
        padding: 30px;
    }

.external-auth-errors {
    color: var(--error-red-color);
}

.external-auth-association {
    color: var(--dark-gray-color);
}

    .external-auth-association a {
        color: var(--primary-color);
    }

        .external-auth-association a:hover,
        .external-auth-association a:focus {
            text-decoration: underline;
        }

.password-recovery-page .result {
    margin: 0 0 5px;
    font-weight: bold;
    color: var(--dark-gray-color);
}

.password-recovery-page .tooltip {
    margin: 0 0 25px;
}

.add-more-external-records {
    text-align: center;
}

    .add-more-external-records a {
        color: var(--primary-color);
    }

        .add-more-external-records a:hover,
        .add-more-external-records a:focus {
            text-decoration: underline;
        }

.account-page .buttons {
    text-align: center;
}

.account-page .description {
    margin: 0 0 25px;
    padding: 0 10px;
}

.account-page .table-wrapper {
    margin: 0 0 30px;
}

.gdpr-tools-page .result {
    margin: 20px 0;
    font-size: 13px;
    color: var(--error-red-color);
}

.gdpr-tools-page .buttons {
    margin-top: 20px;
}

.address-list-page .info,
.order-list-page .info {
    margin: 0 0 10px;
    border-top: 1px solid #e6e6e6;
    background-color: #f9f9f9;
    padding: 20px;
    line-height: 26px;
    color: var(--dark-gray-color);
}

    .address-list-page .info .name,
    .order-list-page .info .name {
        font-size: 16px;
        font-weight: bold;
    }

.address-list-page .button-2,
.order-list-page .button-2 {
    display: inline-block;
    border: none;
    padding: 0 0 0 20px;
    font-size: 16px;
    color: var(--dark-gray-color);
    margin: 10px;
}

.edit-address-button {
    background: url("../images/edit.png") left center no-repeat;
}

.delete-address-button,
.cancel-recurring-order-button {
    background: url("../images/remove.png") left center no-repeat;
}

.retry-recurring-order-button {
    background: url("../images/retry.png") left center no-repeat;
}

.return-items-button {
    background: url("../images/return.png") left center no-repeat;
}

.order-details-button {
    background: url("../images/details.png") left center no-repeat;
}

.address-list-page .button-2:hover,
.address-list-page .button-2:focus,
.order-list-page .button-2:hover,
.order-list-page .button-2:focus {
    color: var(--primary-color);
}

.order-filters {
    display: flex;
    flex-direction: column;
    padding-inline: 20px;
    padding-block-end: 20px;
}

.order-filters__row {
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    margin-block-end: 10px;
    justify-content: end;
}

.order-filters__label {
    line-height: 26px;
    color: var(--dark-gray-color);
    margin-inline-end: 10px;
    min-width: 50px;
}

.order-filters__input {
    background-color: #fff;
    height: 36px;
    border: 1px solid #ddd;
    padding: 8px;
    vertical-align: middle;
}

.address-list-page .add-button {
    margin: 0 0 20px;
    text-align: center;
}

.address-edit-page .page-title {
    margin: 0 0 -1px;
}

.address-edit-page .message-error {
    margin: 20px 0;
}

.address-edit-page .edit-address {
    margin: 0 0 30px;
    padding: 30px 0;
}

.edit-address {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

    .edit-address .inputs {
        margin-top: 0;
    }

.recurring-payments table td {
    white-space: nowrap;
}

    .recurring-payments table td:first-child {
        min-width: 120px;
        white-space: normal;
    }

.recurring-payments .button-2 {
    font-size: 14px;
}

.return-request-list-page .details {
    border-top: 1px solid #e6e6e6;
    background-color: #f9f9f9;
    padding: 20px;
    line-height: 22px;
    color: var(--dark-gray-color);
}

.return-request-list-page label {
    margin: 0 5px 0 0;
}

.return-request-list-page a {
    color: var(--primary-color);
}

    .return-request-list-page a:hover,
    .return-request-list-page a:focus {
        text-decoration: underline;
    }

.return-request-list-page .comments div {
    margin: 10px 0 0;
    font-size: 15px;
    font-style: italic;
    color: var(--dark-gray-color);
}

.downloadable-products-page table td {
    color: var(--dark-gray-color);
}

.reward-points-overview {
    margin: 0 0 25px;
}

.reward-points-history table td {
    color: var(--dark-gray-color);
}

    .reward-points-history table td:first-child {
        min-width: 120px;
    }

.change-password-page .page-title {
    margin: 0 0 -1px;
}

.change-password-page .result,
.change-password-page .message-error {
    margin: 20px 0;
}

.change-password-page .fieldset {
    margin: 0 0 30px;
}

.change-password-page label {
    vertical-align: top;
}

.change-password-recovery-link {
    text-align: right;
    font-size: 13px;
    margin-top: 5px;
}

.avatar-page .page-title {
    margin: 0;
}

.avatar-page .page-body {
    margin: 0 0 30px;
    overflow: hidden;
    background-color: #f9f9f9;
    padding: 30px 25px;
}

.avatar-page .message-error {
    margin: 0 0 10px;
}

.avatar-page .image {
    margin: 0 0 10px;
}

    .avatar-page .image img {
        border: 1px solid #ccc;
    }

.avatar-page .button-1 {
    font-size: 14px;
}

.avatar-page .button-2 {
    border: none;
    background-color: #888;
    padding: 10px 15px;
    font-size: 14px;
    color: #fff;
    text-transform: uppercase;
}

    .avatar-page .button-2:hover,
    .avatar-page .button-2:focus {
        background-color: #999;
    }

.avatar-page .info {
    color: var(--dark-gray-color);
}

.vendorinfo-page .button-2 {
    border: medium none;
    background-color: #888;
    padding: 10px 15px;
    font-size: 14px;
    color: #fff;
    text-transform: uppercase;
}

    .vendorinfo-page .button-2:hover,
    .vendorinfo-page .button-2:focus {
        background-color: #999;
    }

.vendorinfo-page .vendor-picture {
    width: 400px;
    margin: 0 auto;
}

    .vendorinfo-page .vendor-picture * {
        display: block;
        margin-top: 15px;
    }

.check-gift-card-balance-page .page-title {
    margin: 0 0 -1px;
}

.check-gift-card-balance-page .result,
.check-gift-card-balance-page .message-error {
    margin: 20px 0;
}

.check-gift-card-balance-page .fieldset {
    margin: 0 0 30px;
}
/********** SHOPPING CART **********/

.order-progress {
    text-align: center;
    margin-bottom: 40px;
}

    .order-progress ul {
        font-size: 0;
        padding: 0 20px;
        margin: 0;
        list-style: none;
    }

    .order-progress li {
        display: inline-block;
        margin: 10px;
    }

    .order-progress a {
        display: block;
        min-width: 70px;
        font-size: 14px;
        /*reset zeroing*/
        color: var(--dark-gray-color);
    }

        .order-progress a:before {
            content: "";
            display: block;
            width: 40px;
            height: 40px;
            margin: 0 auto 15px;
            border: 1px solid #bbb;
            background: #fff url("../images/pointer.png") center no-repeat;
        }

    .order-progress li.active-step a {
        cursor: pointer;
    }

    .order-progress li.inactive-step a {
        opacity: 0.3;
        cursor: default;
    }

.shopping-cart-page .page-title {
    margin-bottom: 40px;
    border-bottom: none;
    padding: 0;
}

    .shopping-cart-page .page-title h1 {
        font-size: 32px;
        font-weight: 700;
        color: var(--title-color);
        text-align: left;
    }
/*  CART TABLE  */
.cart {
    border-collapse: collapse;
    width: 100%;
}

    .cart th {
        background-color: transparent;
        border: none;
        border-bottom: 1px solid var(--border-color);
        padding: 12px 15px;
        font-size: 13px;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        color: var(--text-color);
        white-space: nowrap;
    }

    .cart td {
        border: none;
        border-bottom: 1px solid var(--border-color);
        padding: 20px 15px;
        vertical-align: middle;
        background-color: transparent;
        color: var(--title-color);
    }

        .cart td .td-title {
            display: none;
        }

        .cart th.sku,
        .cart td.sku {
            display: none;
        }

        .cart th.remove-from-cart,
        .cart td.remove-from-cart {
            width: 50px;
            text-align: center;
            padding: 10px;
        }

        .cart th.product-picture,
        .cart td.product-picture {
            width: 110px;
            padding: 15px;
        }

        .cart th.product,
        .cart td.product {
            padding-left: 10px;
        }

        .cart th.unit-price,
        .cart td.unit-price {
            width: 120px;
            text-align: right;
            white-space: nowrap;
        }

.data-table.cart td.unit-price {
    text-align: start;
}

.cart th.quantity,
.cart td.quantity {
    width: 140px;
    text-align: center;
}

.cart th.subtotal,
.cart td.subtotal {
    width: 120px;
    text-align: right;
    white-space: nowrap;
}

.cart td.product-picture img {
    width: 80px;
    height: 80px;
    object-fit: cover;
    border-radius: 4px;
    display: block;
}

.cart td.product .product-name {
    font-size: 15px;
    font-weight: 600;
    color: var(--title-color);
    display: block;
    margin-bottom: 5px;
}

    .cart td.product .product-name:hover {
        color: var(--primary-color);
    }

.cart td.product .attributes {
    font-size: 13px;
    color: var(--text-color);
    margin: 0;
}

.cart td.unit-price,
.cart td.subtotal {
    font-size: 15px;
    font-weight: 600;
    color: var(--title-color);
}

.cart .remove-from-cart input[type="checkbox"] {
    display: none;
}

.cart .remove-btn {
    width: auto;
    height: auto;
    border: none;
    border-radius: 0;
    background: none;
    padding: 4px;
    cursor: pointer;
    transition: var(--default-transition);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ccc;
    margin: 0 auto;
}

    .cart .remove-btn:hover {
        background-color: transparent;
        color: #c83f49;
    }

    .cart .remove-btn::after {
        content: "\f00d";
        font-family: "Font Awesome 5 Free";
        font-weight: 900;
        font-size: 14px;
    }

.cart td.quantity .qtn-box {
    display: inline-flex;
    justify-content: center;
    margin: 0 auto;
}

.shopping-cart-page .message-error {
    margin: 20px 0;
}

.shopping-cart-page td .message-error {
    margin: 10px 0 0;
    text-align: left;
}

.shopping-cart-page .checkout-attributes a {
    color: #4ab3f1;
}

    .shopping-cart-page .checkout-attributes a:hover,
    .shopping-cart-page .checkout-attributes a:focus {
        text-decoration: underline;
    }

.shopping-cart-page .tax-shipping-info {
    margin: 20px 0;
    text-align: center;
}

    .shopping-cart-page .tax-shipping-info a {
        color: #4ab3f1;
    }

        .shopping-cart-page .tax-shipping-info a:hover,
        .shopping-cart-page .tax-shipping-info a:focus {
            text-decoration: underline;
        }

.shopping-cart-page .common-buttons {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 12px;
    margin: 0 0 40px;
    padding: 15px 0;
    background-color: transparent;
    font-size: 14px;
}

    /* All buttons base style */
    .shopping-cart-page .common-buttons :is(button,.estimate-shipping-button) {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 180px;
        height: 44px;
        padding: 0 20px;
        font-size: 12px;
        line-height: 1;
        font-weight: 600;
        font-family: var(--secondary-fonts);
        text-transform: uppercase;
        letter-spacing: 0.5px;
        border: 1px solid var(--border-color);
        background-color: #fff;
        color: var(--title-color);
        cursor: pointer;
        transition: var(--default-transition);
        text-align: center;
        text-decoration: none;
    }

    .shopping-cart-page .common-buttons button:hover,
    .shopping-cart-page .common-buttons button:focus,
    .shopping-cart-page .common-buttons .estimate-shipping-button:hover {
        background-color: var(--title-color);
        color: #fff;
        border-color: var(--title-color);
    }

    /* Update Cart — primary green */
    .shopping-cart-page .common-buttons .update-cart-button {
        background-color: var(--primary-color);
        color: #fff;
        border-color: var(--primary-color);
    }

        .shopping-cart-page .common-buttons .update-cart-button:hover,
        .shopping-cart-page .common-buttons .update-cart-button:focus {
            background-color: var(--secondary-color);
            border-color: var(--secondary-color);
            color: #fff;
        }

    /* Estimate Shipping link — same as outline buttons */
    .shopping-cart-page .common-buttons .estimate-shipping-button {
        margin-left: 0;
        color: var(--title-color);
    }

.checkout-attributes {
    color: var(--dark-gray-color);
}

    .checkout-attributes dt {
        margin: 0 0 6px;
        font-weight: 600;
        position: relative;
    }

dt {
    position: relative;
}

.checkout-attributes dd {
    margin: 0 0 15px;
}

.checkout-attributes input[type="text"],
.checkout-attributes select {
    padding: 4px 15px;
    color: var(--text-color);
    border: 1px solid var(--border-color);
    width: 100%;
}

    .checkout-attributes select:focus,
    .checkout-attributes input[type="text"]:focus {
        border-color: #7fbf3f;
        outline: none;
    }

/* Keep option list styling */
.checkout-attributes ul {
    font-size: 0;
}

.checkout-attributes .option-list > li {
    display: inline-block;
    margin: 5px;
    border: 1px solid #ddd;
    background-color: #fff;
    padding: 8px 10px;
    font-size: 14px;
}

.checkout-attributes .attribute-squares li {
    border: none;
    padding: 0;
    line-height: 0;
}

.checkout-attributes .option-list > li label {
    display: inline-block;
    margin-left: 5px;
}

/* Hide duplicate summary row */
.selected-checkout-attributes {
    display: block;
}



.cart-footer:after {
    content: "";
    display: block;
    clear: both;
}

.cart-footer .totals {
    width: 350px;
    color: var(--dark-gray-color);
}

.cart-footer .total-info {
    margin: 0 0 20px;
    border-bottom: 1px solid #ddd;
    padding: 5px 30px 15px;
}

.cart-total td {
    width: 50%;
    padding: 5px 0;
    text-align: right;
}

    .cart-total td:first-child {
        text-align: left;
    }

.cart-total .giftcard-remaining {
    display: block;
    font-style: italic;
}

.cart-total .order-total {
    font-size: 20px;
    color: var(--primary-color);
}

    .cart-total .order-total strong {
        font-weight: 600;
        font-size: 18px;
    }

.cart-total .earn-reward-points {
    font-style: italic;
}

.min-amount-warning {
    margin: 0 0 20px;
    padding: 0 30px;
    color: var(--error-red-color);
}

.cart-footer .terms-of-service {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 20px 0 0;
    font-size: 13px;
    color: var(--dark-gray-color);
    line-height: 1.6;
    text-align: left;
}

    .cart-footer .terms-of-service input[type="checkbox"] {
        margin-top: 2px;
        width: 16px;
        height: 16px;
        flex-shrink: 0;
        cursor: pointer;
        accent-color: var(--primary-color);
    }

    .cart-footer .terms-of-service label {
        cursor: pointer;
    }

    .cart-footer .terms-of-service a {
        margin: 0;
        color: var(--primary-color);
        font-weight: 600;
        text-decoration: none;
    }

        .cart-footer .terms-of-service a:hover {
            text-decoration: underline;
        }

.cart-footer .checkout-buttons {
    padding: 0;
    margin-top: 20px;
}

.cart-footer .checkout-disabled {
    font-size: 20px;
    text-align: center;
    background: #ffa500;
    border: 1px solid #c3891e;
    color: #fff;
    padding: 15px 50px;
}

.cart-footer .checkout-button {
    display: block !important;
    width: 100%;
    border: none;
    background-color: var(--primary-color);
    padding: 15px 32px;
    font-size: 14px;
    font-weight: 700;
    color: #fff !important;
    text-transform: uppercase;
    letter-spacing: 1px;
    cursor: pointer;
    transition: var(--default-transition);
    text-align: center;
}

    .cart-footer .checkout-button:hover,
    .cart-footer .checkout-button:focus {
        background-color: var(--secondary-color);
    }

.cart-footer .addon-buttons {
    margin: 14px 0 0;
    padding: 0;
}

    .cart-footer .addon-buttons:empty {
        display: none;
    }

.cart-collaterals .button-2 {
    display: inline-block;
    border: none;
    background-color: var(--primary-color);
    color: var(--white-color);
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    cursor: pointer;
    transition: var(--default-transition);
}

    .cart-collaterals .button-2:hover,
    .cart-collaterals .button-2:focus {
        background-color: var(--secondary-color);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }

.cart-collaterals .title {
    font-size: 14px;
    color: var(--title-color);
}

    .cart-collaterals .title strong {
        font-weight: 600;
    }

.cart-collaterals .hint {
    margin: 0 0 10px;
    font-size: 13px;
    font-weight: 500;
}

/* .cart-collaterals .deals,
.cart-footer-inner .totals {
  padding: 32px;
  box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
} */
.cart-collaterals .deals > *:not(:last-child) {
    margin-bottom: 1rem;
}

.cart-collaterals .coupon-code {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
    overflow: visible;
}

    .cart-collaterals .coupon-code input[type="text"] {
        display: block;
        height: 38px;
        padding: 0 16px;
        border: 1px solid var(--border-color);
        font-size: 14px;
        font-family: inherit;
        color: var(--text-color);
        transition: var(--default-transition);
        margin: 0;
        box-sizing: border-box;
        flex: 1;
    }

        .cart-collaterals .coupon-code input[type="text"]:focus {
            outline: none;
            border-color: var(--primary-color);
            background-color: #fff;
            box-shadow: 0 0 0 3px rgba(133, 185, 53, 0.12);
        }

    .cart-collaterals .coupon-code button[type="submit"] {
        height: 38px;
        padding: 0 20px;
    }

.cart-collaterals .message-failure {
    margin: 5px 0 0;
    font-size: 12px;
    color: var(--error-red-color);
}

.cart-collaterals .message-success {
    margin: 5px 0 0;
    font-size: 12px;
    color: var(--success-green-color);
}

.cart-collaterals .current-code {
    margin: 5px 0 0;
    color: var(--success-green-color);
}

.remove-discount-button,
.remove-gift-card-button {
    width: 15px;
    height: 15px;
    border: 1px solid #999;
    background: #fff url("../images/close.png") center no-repeat;
    cursor: pointer;
}

.cart-collaterals .shipping select {
    height: 36px;
}

.cart-collaterals .shipping-results {
    margin: 30px 0 0;
}

    .cart-collaterals .shipping-results li {
        margin: 20px 0;
    }

        .cart-collaterals .shipping-results li strong {
            display: block;
            margin: 0 0 5px;
            color: var(--dark-gray-color);
        }

.shopping-cart-page .no-data {
    margin: 25px 0 0;
    text-align: center;
    font-size: 25px;
}

/* Flex row wrapper */
.cart-footer-inner {
    display: flex;
    gap: 30px;
    padding: 50px 0;
    justify-content: space-between;
    align-items: start;
}

    .cart-footer-inner .totals::before {
        content: "Order Summary";
        display: block;
        font-size: 17px;
        font-weight: 700;
        margin-bottom: 20px;
        padding-bottom: 16px;
        border-bottom: 1px solid var(--border-color);
        letter-spacing: 0.3px;
        font-family: var(--primary-fonts);
    }

    /* Totals table */
    .cart-footer-inner .total-info {
        margin: 0 0 4px;
        border-bottom: none;
        padding: 0;
    }

    .cart-footer-inner .cart-total td {
        padding: 13px 0;
        border-bottom: 1px solid var(--border-color);
        font-size: 14px;
    }

        .cart-footer-inner .cart-total td:first-child {
            color: var(--text-color);
            font-weight: 500;
            text-align: left;
        }

        .cart-footer-inner .cart-total td:last-child {
            color: var(--title-color);
            font-weight: 600;
            text-align: right;
        }

    /* Grand total row */
    .cart-footer-inner .cart-total .order-total td {
        padding: 16px 0 12px;
        font-size: 16px;
        font-weight: 700;
        border-bottom: none;
    }

        .cart-footer-inner .cart-total .order-total td:last-child {
            font-size: 22px;
            color: var(--primary-color);
        }

    /* Reward points */
    .cart-footer-inner .cart-total .earn-reward-points td {
        background-color: #f0faf8;
        border-radius: 6px;
        padding: 10px 12px;
        font-size: 13px;
        border-bottom: none;
        color: var(--primary-color);
    }

/*** ESTIMATE SHIPPING POPUP COMMON ***/

.estimate-shipping-popup {
    position: relative;
    background: #fff;
    padding: 30px 10px;
    width: auto;
    max-width: 800px;
    margin: 0 auto;
}

.estimate-shipping-popup-zoom-in .mfp-with-anim {
    opacity: 0;
    transition: all 0.2s ease-in-out;
    transform: scale(0.8);
}

.estimate-shipping-popup-zoom-in.mfp-bg {
    opacity: 0;
    transition: all 0.3s ease-out;
}

.estimate-shipping-popup-zoom-in.mfp-ready .mfp-with-anim {
    opacity: 1;
    transform: scale(1);
}

.estimate-shipping-popup-zoom-in.mfp-ready.mfp-bg {
    opacity: 0.8;
}

.estimate-shipping-popup-zoom-in.mfp-removing .mfp-with-anim {
    transform: scale(0.8);
    opacity: 0;
}

.estimate-shipping-popup-zoom-in.mfp-removing.mfp-bg {
    opacity: 0;
}

.shipping-options-loading {
    background: url(../images/ajax-loader-small.gif) no-repeat;
    width: 16px;
    height: 16px;
    position: relative;
    right: 8px;
    margin: 4% 50%;
}

.estimate-shipping-row {
    display: flex;
    display: -webkit-flex;
    align-items: center;
}

    .estimate-shipping-row.shipping-option {
        cursor: pointer;
    }

        .estimate-shipping-row.shipping-option.active {
            font-weight: 700;
        }

.estimate-shipping-row-item {
    flex: 0 1 100%;
    position: relative;
}

    .estimate-shipping-row-item.shipping-item {
        padding: 8px 0;
        overflow: hidden;
        overflow-wrap: break-word;
    }

    .estimate-shipping-row-item.shipping-header-item {
        padding: 12px 0;
        border-bottom: 1px solid #f2f2f2;
        align-self: flex-end;
    }

    .estimate-shipping-row-item.address-item + .estimate-shipping-row-item.address-item {
        padding-left: 15px;
    }

    .estimate-shipping-row-item + .estimate-shipping-row-item {
        padding-left: 10px;
    }

.estimate-shipping-row-item-radio {
    flex: 0 0 35px;
}

.ship-to-title {
    margin-bottom: 10px;
}

.choose-shipping-title {
    margin-top: 20px;
}

.estimate-shipping-address-control {
    width: calc(100% - 10px);
    height: 36px;
}

.estimate-shipping-radio {
    display: none;
}

    .estimate-shipping-radio + label {
        -webkit-appearance: none;
        background-color: #fafafa;
        border: 1px solid #cacece;
        padding: 9px;
        border-radius: 50px;
        display: inline-block;
        position: relative;
    }

    .estimate-shipping-radio:checked + label:after {
        content: " ";
        width: 6px;
        height: 6px;
        border-radius: 50px;
        position: absolute;
        top: 6px;
        left: 6px;
        background: #ffffff;
    }

    .estimate-shipping-radio:checked + label {
        background-color: var(--primary-color);
        color: #99a1a7;
        border: 1px solid #adb8c0;
        border-color: var(--primary-color);
    }

.apply-shipping-button {
    border: none;
    padding: 12px 25px;
    background-color: var(--primary-color);
    color: var(--white-color);
    width: 100%;
    transition: var(--default-transition);
}

    .apply-shipping-button:hover {
        background-color: var(--secondary-color);
    }

.apply-shipping-button-container {
    margin-top: 15px;
    text-align: center;
    width: 100%;
}

.shipping-options-header {
    top: 0;
    z-index: 1;
    position: sticky;
    background-color: #fff;
}

.shipping-options {
    position: relative;
    z-index: 1;
    overflow: hidden;
    overflow-y: auto;
    max-height: 200px;
    background: #fff no-repeat;
    background-image: -webkit-radial-gradient( 50% 0, farthest-side, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0) ), -webkit-radial-gradient( 50% 100%, farthest-side, rgba(242, 242, 242, 1), rgba(0, 0, 0, 0) );
    background-image: -moz-radial-gradient( 50% 0, farthest-side, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0) ), -moz-radial-gradient( 50% 100%, farthest-side, rgba(242, 242, 242, 1), rgba(0, 0, 0, 0) );
    background-image: radial-gradient( farthest-side at 50% 0, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0) ), radial-gradient( farthest-side at 50% 100%, rgba(242, 242, 242, 1), rgba(0, 0, 0, 0) );
    background-position: 0 0, 0 100%;
    background-size: 100% 7px;
}

    .shipping-options:before,
    .shipping-options:after {
        content: "";
        position: relative;
        z-index: -1;
        display: block;
        height: 30px;
        margin: 0 0 -30px;
        background: -webkit-linear-gradient( top, #fff, #fff 30%, rgba(255, 255, 255, 0) );
        background: -moz-linear-gradient( top, #fff, #fff 30%, rgba(255, 255, 255, 0) );
        background: linear-gradient( to bottom, #fff, #fff 30%, rgba(255, 255, 255, 0) );
    }

    .shipping-options:after {
        margin: -30px 0 0;
        background: -webkit-linear-gradient( top, rgba(255, 255, 255, 0), #fff 70%, #fff );
        background: -moz-linear-gradient( top, rgba(255, 255, 255, 0), #fff 70%, #fff );
        background: linear-gradient( to bottom, rgba(255, 255, 255, 0), #fff 70%, #fff );
    }

.no-shipping-options {
    text-align: center;
    margin: 4% 0;
}

.estimate-shipping-popup .message-failure {
    margin: 5px 0 -5px;
    font-size: 12px;
    color: var(--error-red-color);
}
/*** SHOPPING CART ESTIMATE SHIPPING ***/

.shopping-cart-page .common-buttons .estimate-shipping-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 180px;
    height: 44px;
    padding: 0 20px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border: 1px solid var(--border-color);
    background-color: #fff;
    color: var(--title-color);
    margin-left: 0;
    text-align: center;
    transition: var(--default-transition);
}

    .shopping-cart-page .common-buttons .estimate-shipping-button:hover {
        background-color: var(--title-color);
        color: #fff;
        border-color: var(--title-color);
    }
/*** PRODUCT ESTIMATE SHIPPING ***/

.product-estimate-shipping {
    margin-bottom: 20px;
}

    .product-estimate-shipping .shipping-date {
        margin-top: 3px;
    }

    .product-estimate-shipping .shipping-title {
        font-size: 16px;
        font-weight: bold;
        color: var(--dark-gray-color);
        margin-bottom: 5px;
        justify-content: center;
    }

        .product-estimate-shipping .shipping-title .shipping-price {
            margin-left: 5px;
            vertical-align: middle;
        }

        .product-estimate-shipping .shipping-title .shipping-loading {
            margin-left: 5px;
            vertical-align: middle;
            background: url(../images/ajax-loader-small.gif) no-repeat;
            width: 16px;
            height: 16px;
            display: inline-block;
        }

    .product-estimate-shipping .open-estimate-shipping-popup .arrow-down {
        transform: rotate(45deg);
        -webkit-transform: rotate(45deg);
        margin: 0 0 3px 6px;
        border: solid black;
        border-width: 0 1px 1px 0;
        display: inline-block;
        padding: 3px;
    }
/********** CHECKOUT **********/

.checkout-page .section {
    padding: 0 0 30px;
}

.checkout-page .cart-options {
    min-height: 60px;
    overflow: hidden;
}

.checkout-page .cart-footer {
    border-top: none;
}

.checkout-page .total-info {
    margin: 0;
    border-bottom: none;
    padding: 0;
    background-color: #fff;
}

/* .checkout-page .button-1 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 140px;
  height: 44px;
  border: none;
  padding: 0 30px;
  text-align: center;
  font-size: 12px;
  font-weight: 600;
  font-family: var(--secondary-fonts);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  cursor: pointer;
  transition: var(--default-transition);
} */

.checkout-page .btn-primary {
    font-size: 12px;
}

.checkout-page .address-item ul {
    margin: 0 0 15px;
    background-color: #f9f9f9;
    padding: 20px;
    color: var(--dark-gray-color);
}

.checkout-page .address-item li {
    padding: 5px 0;
}

    .checkout-page .address-item li.name {
        font-size: 16px;
        font-weight: bold;
        max-width: 270px;
    }

.enter-address .message-error {
    margin: 20px 0;
}

.checkout-page .opc .ship-to-same-address {
    text-align: left;
}

.checkout-page .ship-to-same-address .selector {
    margin: 0 0 5px;
    font-weight: bold;
    color: var(--dark-gray-color);
}

.vat-number-warning {
    text-align: center;
    font-size: 13px;
    color: var(--error-red-color);
    margin-top: 5px;
}

    .vat-number-warning a {
        text-decoration: underline;
    }

.checkout-page .pickup-in-store {
    text-align: start;
}

    .checkout-page .pickup-in-store .selector {
        margin: 0 0 8px;
        font-weight: bold;
        color: var(--dark-gray-color);
    }

.select-pickup-point ul {
    text-align: center;
    list-style: none;
    padding: 0;
    margin: 0;
}

.select-pickup-point .fee {
    font-size: 16px;
    font-weight: 600;
}

.select-pickup-point .name {
    color: var(--title-color);
    font-weight: 600;
    font-family: var(--primary-fonts);
}

.checkout-page .pickup-points-map {
    min-width: 400px;
    min-height: 350px;
    vertical-align: middle;
    margin-top: 5px;
    margin-bottom: 5px;
}

.shipping-method .method-list,
.payment-method .method-list {
    margin: 0 auto 30px;
    overflow: hidden;
    text-align: center;
    font-size: 0;
}

    .shipping-method .method-list li,
    .payment-method .method-list li {
        margin: 20px 0;
        font-size: 14px;
        /*reset zeroing*/
    }

        .shipping-method .method-list li label,
        .payment-method .method-list li label {
            font-size: 13px;
            font-weight: bold;
            color: var(--dark-gray-color);
        }

.shipping-method .method-description {
    margin: 5px 0 0;
    font-weight: 500;
}

.payment-method .use-reward-points {
    margin: 0 0 30px;
    text-align: center;
    color: var(--dark-gray-color);
}

.payment-method .payment-logo {
    display: inline-block;
    vertical-align: middle;
}

    .payment-method .payment-logo label {
        display: block;
        font-size: 0 !important;
    }

.payment-method .payment-details {
    width: 200px;
    display: inline-block;
    margin: 0 0 0 10px;
    text-align: left;
    vertical-align: middle;
}

.payment-info .info {
    padding: 30px 15px;
    color: var(--dark-gray-color);
}

    .payment-info .info tr {
        display: block;
        margin: 0 0 15px;
        font-size: 0;
    }

    .payment-info .info td {
        display: inline-block;
        width: 100% !important;
        font-size: 14px;
        /*reset zeroing*/
    }

        .payment-info .info td input[type="text"] {
            width: 100% !important;
        }

        .payment-info .info td input[name="CardCode"] {
            width: 65px !important;
        }

        .payment-info .info td select {
            min-width: 70px;
        }

        .payment-info .info td:first-child {
            margin: 0 0 10px;
        }

.confirm-order .buttons {
    padding: 10px 0;
}

.confirm-order .button-1 {
    font-size: 16px;
}

.order-review-data > div,
.order-details-area > div,
.shipment-details-area > div {
    width: 350px;
    max-width: 100%;
    margin: 0 auto 40px;
    background-color: #f9f9f9;
    padding: 20px;
    color: var(--dark-gray-color);
}

.order-review-data li,
.order-details-area li,
.shipment-details-area li {
    padding: 3px 0;
}

.order-review-data .title,
.order-details-area .title,
.shipment-details-area .title {
    margin: 0 0 5px;
    padding: 0;
    font-size: 16px;
    font-weight: bold;
    font-weight: 700;
}

.order-review-data .payment-method-info,
.order-review-data .shipping-method-info,
.order-details-area .payment-method-info,
.order-details-area .shipping-method-info {
    margin-top: 20px;
}

.order-completed .details {
    margin: 0 0 30px;
    padding: 0 15px;
    text-align: center;
    color: var(--dark-gray-color);
}

    .order-completed .details div {
        margin: 5px 0;
    }

    .order-completed .details strong {
        font-weight: normal;
        text-transform: uppercase;
    }

    .order-completed .details a {
        color: var(--primary-color);
    }

        .order-completed .details a:hover,
        .order-completed .details a:focus {
            text-decoration: underline;
        }

.opc .step-title {
    margin: 0 0 1px;
    overflow: hidden;
    background-color: #fff;
    padding: 15px 0;
    border-bottom: 1px solid #e5e5e5;
}

.opc .allow .step-title {
    /*  background-color: var(--primary-color);*/
    cursor: pointer;
}

.opc .step-title .number,
.opc .step-title .title {
    float: left;
    min-height: 40px;
    padding: 10px 15px;
    line-height: 20px;
    font-size: 16px;
    font-weight: normal;
}

.opc .allow .step-title .number,
.opc .allow .step-title .title {
    color: #000;
    cursor: pointer;
    opacity: 0.7;
}

.opc .step-title .number {
    width: 42px;
    border-right: 1px solid #fff;
    text-align: center;
}

.opc .step {
    margin: 10px 0;
    padding: 30px 15px;
}

.opc .section {
    margin: 0 0 30px;
    padding: 0;
}

    .opc .section > label {
        display: block;
        margin: 0 0 10px;
        color: var(--title-color);
        font-weight: 700;
    }

.opc input,
.opc select {
    max-width: 100%;
    color: var(--text-color);
    border: 1px solid var(--border-color);
}

.opc .buttons {
    margin-bottom: 0;
    display: flex;
    justify-content: end;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.opc .back-link small {
    display: inline;
}

.opc .back-link {
    margin: 0;
}

    .opc .back-link a {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 6px;
        margin: 0;
        background-color: #fff;
        border: 1px solid var(--border-color);
        padding: 0 20px;
        min-height: 51px;
        min-width: 100px;
        font-size: 12px;
        font-weight: 600;
        font-family: var(--secondary-fonts);
        text-transform: uppercase;
        letter-spacing: 0.5px;
        color: var(--title-color);
        transition: var(--default-transition);
        text-decoration: none;
    }

        .opc .back-link a:hover,
        .opc .back-link a:focus {
            background-color: var(--title-color);
            color: #fff;
            border-color: var(--title-color);
        }

.back-link i {
    position: relative;
    top: 1px;
}

.opc .buttons .please-wait {
    display: block;
    margin: 0;
    padding: 0;
    background: none;
}

.opc .section.ship-to-same-address {
    margin: 0 0 30px;
    padding: 0;
}

.opc .section.pickup-in-store {
    margin: 0 0 30px;
    padding: 0;
}

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

.opc .section.order-summary {
    margin: 0;
}

.section.order-summary {
    margin-top: 40px;
}

.checkout-page .opc-select-address-container .button-1 {
    min-width: 100px;
    padding: 10px 20px;
    background-color: var(--primary-color);
}
/****** ORDER DETAILS & SHIPPING DETAILS ******/
.order-details-page .page-title {
    border-bottom: none;
}

    .order-details-page .page-title h1 {
        margin: 0 0 30px;
        border-bottom: 1px solid #ddd;
        padding: 0 0 10px;
    }

    .order-details-page .page-title a {
        display: inline-block;
        min-width: 130px;
        margin: 5px 0;
        border: none;
        background-color: #aaa;
        background-image: none;
        padding: 10px 20px;
        font-size: 15px;
        color: #fff;
        text-align: center;
    }

        .order-details-page .page-title a:hover,
        .order-details-page .page-title a:focus {
            background-color: #999;
        }

        .order-details-page .page-title a.print-order-button {
            background-color: var(--primary-color);
            margin-left: 0;
            text-align: center;
            transition: var(--default-transition);
        }

            .order-details-page .page-title a.print-order-button:hover,
            .order-details-page .page-title a.print-order-button:focus {
                background-color: var(--secondary-color);
            }

        .order-details-page .page-title a.pdf-invoice-button {
            letter-spacing: .5px;
            border: 1px solid var(--border-color);
            background-color: #fff;
            color: var(--title-color);
            margin-left: 0;
            text-align: center;
            transition: var(--default-transition);
        }

            .order-details-page .page-title a.pdf-invoice-button:hover,
            .order-details-page .page-title a.pdf-invoice-button:focus {
                background-color: var(--title-color);
                color: #fff;
                border-color: var(--title-color);
            }


        .order-details-page .page-title a.cancel-order-button {
            background-color: #b46c65;
        }

            .order-details-page .page-title a.cancel-order-button:hover,
            .order-details-page .page-title a.cancel-order-button:focus {
                background-color: #9a524b;
            }

.order-details-page .order-overview {
    margin: 0 0 50px;
    line-height: 26px;
    text-align: center;
    font-size: 16px;
    color: var(--dark-gray-color);
}

    .order-details-page .order-overview .order-number {
        margin: 0 0 10px;
        text-transform: uppercase;
    }

    .order-details-page .order-overview .order-total strong {
        font-weight: normal;
        color: var(--primary-color);
    }

.order-details-page .repost .button-2 {
    display: inline-block;
    margin: 10px 0;
    border: none;
    background-color: var(--primary-color);
    padding: 10px 15px;
    font-size: 12px;
    color: #fff;
    text-transform: uppercase;
}

    .order-details-page .repost .button-2:hover,
    .order-details-page .repost .button-2:focus {
        background-color: var(--primary-color);
    }

.order-details-page .download a {
    font-weight: normal;
    color: var(--primary-color);
}

    .order-details-page .download a:hover,
    .order-details-page .download a:focus {
        text-decoration: underline;
    }

.user-agreement-page .terms-of-agreement {
    margin: 0 0 20px;
    padding: 20px;
    text-align: center;
}

.user-agreement-page .button-1 {
    min-width: 140px;
    border: none;
    background-color: var(--primary-color);
    padding: 10px 30px;
    text-align: center;
    font-size: 15px;
    color: #fff;
    text-transform: uppercase;
}

    .user-agreement-page .button-1:hover,
    .user-agreement-page .button-1:focus {
        background-color: var(--primary-color);
    }

.order-details-page .tax-shipping-info {
    margin: 30px 0;
}

    .order-details-page .tax-shipping-info a {
        color: var(--primary-color);
    }

        .order-details-page .tax-shipping-info a:hover,
        .order-details-page .tax-shipping-info a:focus {
            text-decoration: underline;
        }

.order-details-page .actions {
    margin: 30px 0 0;
    font-size: 0;
}

    .order-details-page .actions button {
        display: inline-block;
        min-width: 150px;
        margin: 5px;
        border: none;
        background-color: #aaa;
        background-image: none;
        padding: 10px 20px;
        font-size: 15px;
        color: #fff;
    }

        .order-details-page .actions button:hover,
        .order-details-page .actions button:focus {
            background-color: #999;
        }

        .order-details-page .actions button:first-child {
            background-color: var(--primary-color);
        }

            .order-details-page .actions button:first-child:hover,
            .order-details-page .actions button:first-child:focus {
                background-color: var(--primary-color);
            }

.order-details-page .totals.section {
    width: 370px;
    padding: 0 10px;
    max-width: 100%;
    margin-left: auto;
    padding-bottom: 50px;
}

.order-details-page .total-info {
    margin: 0 0 20px;
    border-bottom: 1px solid #ddd;
    padding: 5px 0px 15px;
}

/* ORDER DETAILS - totals to match cart page style */
.order-details-page .total-info {
    max-width: 400px;
    margin-left: auto;
}

.order-details-page .cart-total {
    width: 100%;
    border-collapse: collapse;
}

    .order-details-page .cart-total td {
        padding: 10px 0px;
        border-bottom: 1px solid var(--border-color);
        color: var(--text-color);
        font-size: 14px;
    }

    .order-details-page .cart-total .cart-total-left label {
        font-weight: 500;
        color: var(--text-color);
    }

    .order-details-page .cart-total .cart-total-right {
        text-align: right;
        font-weight: 600;
        color: var(--title-color);
        white-space: nowrap;
    }

    .order-details-page .cart-total tr:last-child td {
        border-bottom: none;
        font-size: 16px;
        padding-top: 14px;
        padding-bottom: 14px;
    }

    .order-details-page .cart-total tr:last-child .cart-total-right strong {
        color: var(--primary-color);
        font-size: 18px;
    }

/* Re-order button */
.order-details-page .section.totals .actions {
    margin-top: 20px;
    text-align: right;
}

.order-details-page .re-order-button {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 24px;
    background-color: var(--primary-color);
    color: #fff;
    border: none;
    border-radius: var(--border-radius);
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: var(--default-transition);
}

    .order-details-page .re-order-button:hover {
        background-color: var(--primary-color-dark, var(--primary-color));
        opacity: 0.9;
    }
/****** SEARCH & SITEMAP ******/

.search-page .page-title {
    margin: 0 0 -1px;
}

.search-input .fieldset {
    margin: 0 0 30px;
}

.search-input .form-fields {
    padding: 30px 0 10px;
}

.search-input input + label {
    display: inline;
    margin: 0 0 0 5px;
}

.advanced-search {
    margin: 30px 0 0;
}

    .advanced-search .price-range {
        display: inline-block;
    }

        .advanced-search .price-range input {
            width: 80px;
            margin: 3px;
        }

.search-input .buttons {
    text-align: center;
}

.search-input .button-1 {
    color: var(--white-color);
    background-color: var(--primary-color);
    transition: var(--default-transition);
    padding: 15px 45px;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    border: 0;
    text-decoration: unset !important;
    display: inline-block;
    line-height: 1.5;
}

    .search-input .button-1:hover,
    .search-input .button-1:focus {
        background-color: var(--secondary-color);
    }

.search-results {
    margin: 30px 0 0;
}

    .search-results .warning {
        margin: 10px 0;
        color: var(--error-red-color);
    }

.sitemap-page .description {
    margin: 0 0 30px;
    text-align: center;
}

.sitemap-page .entity {
    /*  margin: 0 0 30px;*/
}

.sitemap-page .entity-title {
    margin: 0 0 15px;
    padding: 0 10px;
    text-align: center;
}

    .sitemap-page .entity-title h2 {
        font-size: 20px;
        font-weight: normal;
        color: var(--dark-gray-color);
        font-weight: 500;
    }

.sitemap-page .entity-body {
    /*  border-top: 1px solid #e6e6e6;*/
    /*  background-color: #f9f9f9;*/
    /*  padding: 30px 15px;*/
    text-align: center;
}

.sitemap-page .entity ul {
    font-size: 0;
}

.sitemap-page .entity li {
    display: inline-block;
    position: relative;
    margin: 0 8px;
    padding: 0 12px;
    line-height: 50px;
    font-size: 14px;
    /*reset zeroing*/
}

    .sitemap-page .entity li:before {
        content: "";
        position: absolute;
        top: 23px;
        left: 0;
        width: 5px;
        height: 5px;
        background-color: #ddd;
    }

.sitemap-page .entity a {
    color: var(--dark-gray-color);
}

.sitemap-page .page-title {
    text-align: center;
}

.sitemap-page .entity a:hover,
.sitemap-page .entity a:focus {
    color: var(--primary-color);
}

.sitemap-page .entity a:empty {
    display: none;
}
/****** BLOG & NEWS ******/

.block-blog-archive .number {
    display: block;
    color: var(--dark-gray-color);
    cursor: auto;
}

.block-blog-archive .sublist {
    margin: 5px 0 5px 15px;
}

.block-blog-archive li.month {
    padding: 3px 0 3px 15px;
}

.blog-page .page-title,
.news-list-page .page-title {
    margin: 0;
}

.blog-page .post,
.news-items .news-item {
    margin: 0 0 30px;
}

.blog-page .tags .tags-title,
.blogpost-page .tags .tags-title {
    display: inline-block;
    margin: 0 3px 3px 0;
    font-weight: bold;
    font-size: 14px;
    color: var(--dark-gray-color);
}

.blog-page .tags li,
.blogpost-page .tags li {
    display: inline-block;
    font-size: 14px;
    /*reset zeroing*/
}

    .blog-page .tags li.separator,
    .blogpost-page .tags li.separator {
        margin: 0 8px 0 0;
    }

.blog-posts .buttons,
.news-items .buttons {
    margin: 0;
    padding: 0 10px;
}

    .blog-posts .buttons .read-comments {
        display: block;
        margin: 0 0 15px;
        font-weight: bold;
        color: var(--dark-gray-color);
    }

        .blog-posts .buttons .read-comments:hover,
        .blog-posts .buttons .read-comments:focus {
            color: var(--primary-color);
        }

    .blog-posts .buttons .read-more,
    .news-items .buttons .read-more {
        display: inline-block;
        border: none;
        background-color: var(--primary-color);
        padding: 10px 20px;
        font-size: 12px;
        color: #fff;
        text-transform: uppercase;
    }

        .blog-posts .buttons .read-more:hover,
        .blog-posts .buttons .read-more:focus,
        .news-items .buttons .read-more:hover,
        .news-items .buttons .read-more:focus {
            background-color: var(--primary-color);
        }

.blog-posts > .post, .news-items > .news-item {
    border: 1px solid var(--border-color);
    margin-top: -1px;
    padding: 15px;
}

.post-navigation, .news-navigation {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    align-items: center;
    margin-bottom: 15px;
}

:is(.post-navigation,.news-navigation) > * {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.post-navigation .tags h3 {
    font-size: 16px;
    font-weight: 400;
    margin: 0;
}

.blog-page .tags ul, .blogpost-page .tags ul {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    padding: 0;
    margin: 0;
    list-style: none;
}

.blog-page .tags li, .blogpost-page .tags li {
    display: inline-block;
    font-size: 14px;
}

.blog-page .tags a, .blogpost-page .tags a {
    padding: 5px 10px;
    border-radius: 5px;
    background-color: var(--gray-color);
    font-size: 14px;
    color: var(--text-color);
    text-transform: capitalize;
}

.post-title, .news-title {
    color: var(--title-color);
    font-size: 22px;
    font-weight: 500;
    transition: var(--default-transition);
}

    .post-title:hover, .news-title:hover {
        color: var(--primary-color);
    }

.page-title :is(.title,h1) {
    font-size: clamp(24px, 5vw, 34px);
    font-weight: 600;
}

:is(.blogpost-page,.news-item-page) time {
    display: flex;
    gap: 5px;
    margin-bottom: 15px;
    align-items: center;
}

.new-comment {
    margin: 50px 0 60px;
}

:is(.blogpost-page,.news-item-page) .title-section {
    margin: 0;
}

    :is(.blogpost-page,.news-item-page) .title-section .section-title {
        font-size: 24px;
    }

/* description-css */

.description-style img {
    max-width: 100%;
    height: 100%;
    width: 100%;
    max-height: 500px;
    border-radius: 5px;
    object-fit: cover
}

.description-style > *:not(:last-child), .description-style > * > *:not(:last-child) {
    margin-bottom: 20px
}

.description-style table {
    background-color: var(--white-color);
    border-spacing: 0;
    display: block;
    overflow-x: auto;
    white-space: nowrap;
    scrollbar-width: thin;
    margin-bottom: 30px;
    border-radius: 5px;
    border: 1px solid var(--border-color)
}

    .description-style table tr:nth-child(odd) {
        background-color: var(--light-white-color)
    }

    .description-style table td:first-child {
        width: 150px
    }

    .description-style table th {
        padding: 15px;
        border: 0;
        border-bottom: 1px solid var(--border-color);
        color: var(--primary-color)
    }

    .description-style table td {
        border: 0;
        border-bottom: 1px solid var(--border-color);
        padding: 8px 15px
    }

    .description-style table tr:last-child td {
        border-bottom: 0
    }

    .description-style table td:last-child {
        width: 100%
    }

    .description-style table td {
        border: 0;
        border-bottom: 1px solid var(--border-color);
        padding: 8px 15px
    }

.description-style h1, .description-style h2, .description-style h3, .description-style h4, .description-style h5, .description-style h6 {
    font-weight: 600;
    line-height: 1.4;
    color: var(--text-color)
}

.description-style h1 {
    font-size: 32px
}

.description-style h2 {
    font-size: 26px
}

.description-style h3 {
    font-size: 22px
}

.description-style h4 {
    font-size: 18px
}

.description-style h5 {
    font-size: 16px
}

.description-style h6 {
    font-size: 14px
}

.description-style p {
    font-size: 15px;
    line-height: 1.8;
    color: var(--text-color,#444)
}

.description-style a {
    color: var(--primary-color);
    text-decoration: underline;
    transition: color .2s ease
}

    .description-style a:hover {
        color: var(--text-color,#000)
    }

.description-style ul, .description-style ol {
    padding-left: 20px
}

    .description-style ul li, .description-style ol li {
        margin-bottom: 8px;
        line-height: 1.6
    }

.description-style ul {
    list-style-type: disc
}

.description-style ol {
    list-style-type: decimal
}

.description-style blockquote {
    padding: 15px 20px;
    background-color: var(--light-white-color);
    border-left: 4px solid var(--primary-color);
    font-style: italic;
    color: var(--text-color);
    border-radius: 5px
}

.description-style hr {
    border: 0;
    height: 1px;
    background-color: var(--border-color);
    margin: 30px 0
}

.description-style strong {
    font-weight: 600;
    color: var(--title-color)
}

.description-style em {
    font-style: italic
}

.description-style code {
    background-color: var(--gray-color);
    padding: 2px 6px;
    border-radius: 4px;
    font-size: 14px;
    font-family: monospace
}

.description-style pre {
    background-color: var(--gray-color);
    padding: 15px;
    overflow-x: auto;
    border-radius: 5px;
    font-size: 14px
}

.description-style figure {
    margin: 0
}

.description-style figcaption {
    font-size: 13px;
    color: var(--text-color);
    opacity: .7;
    text-align: center;
    margin-top: 5px
}
/* description-css */

.new-comment .notifications {
    margin: 0 0 10px;
}

.new-comment .result {
    color: #690;
}

.new-comment .form-fields {
    margin: 0 0 20px;
}

.new-comment .button-1 {
    border: none;
    background-color: var(--primary-color);
    padding: 10px 30px;
    text-align: center;
    font-size: 15px;
    color: #fff;
    text-transform: uppercase;
}

    .new-comment .button-1:hover,
    .new-comment .button-1:focus {
        background-color: var(--primary-color);
    }

.comment-list {
    margin: 0 0 100px;
}

    .comment-list .title {
        margin: 0 0 15px;
        font-size: 20px;
        color: var(--dark-gray-color);
    }

        .comment-list .title strong {
            font-weight: normal;
        }

    .comment-list .comment {
        display: flex;
        gap: 15px;
        border: 1px solid var(--border-color);
        flex-wrap: wrap;
        padding: 15px;
    }

        .comment-list .comment .image {
            --size: 80px;
            height: var(--size);
            width: var(--size);
            flex: 0 0 var(--size);
            overflow: hidden;
            border-radius: 50%;
        }

.comment-info .username {
    display: block;
    margin: 0 0 -1px;
    border: 1px solid #ddd;
    background-color: #f6f6f6;
    padding: 11px 0;
    font-weight: bold;
    color: var(--dark-gray-color);
}

.comment-info a.username:hover,
.comment-info a.username:focus {
    color: var(--primary-color);
}

.comment-info .avatar {
    position: relative;
    width: 150px;
    height: 150px;
    border: 1px solid #ddd;
    overflow: hidden;
}

    .comment-info .avatar img {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        max-width: 100%;
        max-height: 100%;
        margin: auto;
        border: solid 2px #cedbe1 !important;
    }

.comment-time {
    margin: 0 0 15px;
    font-size: 13px;
    font-weight: bold;
}

    .comment-time span {
        color: var(--dark-gray-color);
    }

.comment-title {
    margin: 0 0 15px;
    font-size: 16px;
    color: var(--dark-gray-color);
}

.comment-body {
    line-height: 22px;
}

.news-list-homepage {
    margin: 0 0 75px;
}

    .news-list-homepage .title {
        margin: 0 0 -1px;
        border-bottom: 1px solid #ddd;
        padding: 0 0 15px;
        font-size: 30px;
        font-weight: normal;
        color: var(--dark-gray-color);
    }

        .news-list-homepage .title strong {
            font-weight: normal;
        }

    .news-list-homepage .view-all {
        text-align: center;
    }

        .news-list-homepage .view-all a {
            color: var(--dark-gray-color);
            text-decoration: underline;
        }

            .news-list-homepage .view-all a:hover,
            .news-list-homepage .view-all a:focus {
                color: var(--primary-color);
            }
/*** FORUM & PROFILE ***/

.forums-main-page .topic-block {
    margin: 0 0 35px;
    text-align: center;
}

    .forums-main-page .topic-block p {
        text-align: center;
    }

.forums-main-page .pager {
    display: none;
}

.forum-breadcrumb {
    margin: 0 0 40px;
}

.forums-header {
    margin: 0 0 50px;
    overflow: hidden;
}

    .forums-header:after {
        content: "";
        display: block;
        clear: both;
    }

    .forums-header .current-time {
        margin: 0 0 15px;
        color: var(--dark-gray-color);
    }

.forum-search-box .basic {
    overflow: hidden;
    margin: 0 0 10px;
}

.forum-search-box .advanced a {
    line-height: 22px;
    color: var(--dark-gray-color);
    text-decoration: underline;
}

    .forum-search-box .advanced a:hover,
    .forum-search-box .advanced a:focus {
        color: var(--primary-color);
    }

.forum-search-page .page-title {
    margin: 0 0 -1px;
}

.forum-search-page .search-error,
.forum-search-page .no-result {
    margin: 0 0 15px;
    text-align: center;
    color: var(--error-red-color);
}
/* forum group */

.forums-table-section {
    margin: 0 0 60px;
}

    .forums-table-section + .pager {
        margin: -30px 0 30px;
    }

.forums-table-section-title {
    margin: 0 0 15px;
    padding: 0 10px;
}

    .forums-table-section-title a,
    .forums-table-section-title strong {
        font-size: 22px;
        font-weight: normal;
        color: var(--dark-gray-color);
    }

        .forums-table-section-title a:hover,
        .forums-table-section-title a:focus {
            color: var(--primary-color);
        }

.forums-table-section .image div {
    width: 38px;
    height: 32px;
    margin: auto;
    background: url("../images/topic-type1.png") center no-repeat;
}

    .forums-table-section .image div.sticky {
        background: url("../images/topic-type2.png") center no-repeat;
    }

    .forums-table-section .image div.announcement {
        background: url("../images/topic-type3.png") center no-repeat;
    }

.forums-table-section .forum-title,
.forums-table-section .topic-title {
    margin: 5px 0;
}

    .forums-table-section .forum-title a,
    .forums-table-section .topic-title a {
        font-size: 16px;
        font-weight: bold;
        color: var(--dark-gray-color);
    }

        .forums-table-section .forum-title a:hover,
        .forums-table-section .forum-title a:focus,
        .forums-table-section .topic-title a:hover,
        .forums-table-section .topic-title a:focus {
            color: var(--primary-color);
            text-decoration: none;
        }

    .forums-table-section .topic-title span {
        display: block;
        color: var(--gray-color);
    }

.forums-table-section .forum-description,
.forums-table-section .topic-starter {
    margin: 5px 0;
}

.forums-table-section .latest-post {
    white-space: nowrap;
}

    .forums-table-section .latest-post div {
        margin: 5px 0;
    }

    .forums-table-section .latest-post label {
        color: var(--gray-color);
    }

.forums-table-section .view-all {
    margin: 30px 0 0;
    padding: 0 10px;
}

    .forums-table-section .view-all a {
        background-color: var(--primary-color);
        padding: 10px 15px;
        font-size: 12px;
        color: #fff;
        text-transform: uppercase;
    }

        .forums-table-section .view-all a:hover,
        .forums-table-section .view-all a:focus {
            background-color: var(--primary-color);
        }
/* forum-page, topic page */

.forum-page .forum-info {
    margin: 0 0 30px;
}

.forum-page .forum-name,
.forum-topic-page .topic-name {
    margin: 0 0 25px;
    border-bottom: 1px solid #ddd;
    padding: 0 10px 10px;
}

    .forum-page .forum-name h1,
    .forum-topic-page .topic-name h1 {
        font-size: 30px;
        font-weight: normal;
    }

.forum-actions,
.topic-actions {
    margin: 0 0 30px;
    font-size: 0;
}

    .forum-actions .actions a,
    .topic-actions .actions a {
        display: inline-block;
        margin: 1px;
        padding: 10px 10px 10px 33px;
        font-size: 14px;
    }

    .forum-actions .actions .new-topic {
        background: #eee url("../images/new.png") left center no-repeat;
    }

    .forum-actions .actions .watch-forum,
    .topic-actions .actions .watch-forum {
        background: #eee url("../images/watch.png") left center no-repeat;
    }

    .forum-actions .actions a:hover,
    .forum-actions .actions a:focus,
    .topic-actions .actions a:hover,
    .topic-actions .actions a:focus {
        background-color: #e6e6e6;
    }

    .forum-actions .pager.upper,
    .topic-actions .pager.upper {
        display: none;
        margin: 0;
    }

    .topic-actions .reply-topic-button {
        background: #eee url("../images/reply.png") left center no-repeat;
    }

    .topic-actions .watch-topic-button {
        background: #eee url("../images/watch.png") left center no-repeat;
    }

    .topic-actions .move-topic-button {
        background: #eee url("../images/move.png") left center no-repeat;
    }

    .topic-actions .edit-topic-button {
        background: #eee url("../images/edit_.png") left center no-repeat;
    }

    .topic-actions .delete-topic-button {
        background: #eee url("../images/remove_.png") left center no-repeat;
    }

    .topic-actions.lower .actions {
        display: none;
    }

.active-discussions-page .forums-table-section-title {
    margin: 0 0 25px;
    border-bottom: 1px solid #ddd;
    padding: 0 10px 10px;
}

    .active-discussions-page .forums-table-section-title strong {
        font-size: 30px;
        font-weight: normal;
    }

.active-discussions-page .forums-table-section-body {
    margin: 0 0 20px;
}
/* topic post */

.topic-post {
    margin: 0 0 30px;
    border-top: 1px solid #ddd;
}

    .topic-post:last-child {
        border-bottom: 1px solid #ddd;
    }

    .topic-post:after {
        content: "";
        display: block;
        clear: both;
    }

    .topic-post .post-info {
        margin: 30px 0;
    }

    .topic-post .user-info {
        width: 150px;
        margin: 0 auto 15px;
    }

    .topic-post .username {
        display: block;
        margin: 0 0 -1px;
        border: 1px solid #ddd;
        background-color: #f6f6f6;
        padding: 11px 0;
        font-weight: bold;
        color: var(--dark-gray-color);
    }

    .topic-post a.username:hover,
    .topic-post a.username:focus {
        color: var(--primary-color);
    }

    .topic-post .avatar,
    .profile-info-box .avatar {
        position: relative;
        width: 150px;
        height: 150px;
        border: 1px solid #ddd;
        overflow: hidden;
    }

        .topic-post .avatar img,
        .profile-info-box .avatar img {
            position: absolute;
            top: 0;
            right: 0;
            bottom: 0;
            left: 0;
            max-width: 100%;
            max-height: 100%;
            margin: auto;
        }

        .topic-post .avatar img {
            border: solid 2px #cedbe1 !important;
        }

    .topic-post .user-stats {
        margin: 0 0 15px;
    }

        .topic-post .user-stats li {
            display: inline-block;
            margin: 0 10px;
        }

        .topic-post .user-stats span,
        .profile-info-box .profile-stats span {
            margin: 0 0 0 3px;
            font-weight: bold;
            color: var(--dark-gray-color);
        }

    .topic-post .pm-button,
    .profile-info-box .pm-button {
        display: inline-block;
        border: none;
        background-color: #888;
        padding: 10px 20px;
        font-size: 12px;
        color: #fff;
        text-transform: uppercase;
    }

        .topic-post .pm-button:hover,
        .topic-post .pm-button:focus,
        .profile-info-box .pm-button:hover,
        .profile-info-box .pm-button:focus {
            background-color: #999;
        }

    .topic-post .post-time {
        margin: 0 0 15px;
        background-color: #f6f6f6;
        padding: 10px 15px;
        font-size: 13px;
        font-weight: bold;
    }

        .topic-post .post-time span {
            color: var(--dark-gray-color);
        }

    .topic-post .post-actions {
        margin: 0 0 15px;
        font-size: 0;
    }

        .topic-post .post-actions > div {
            display: inline-block;
        }

        .topic-post .post-actions a {
            display: inline-block;
            margin: 1px 5px;
            font-size: 14px;
        }

        .topic-post .post-actions .edit-post-button,
        .topic-post .post-actions .delete-post-button {
            padding: 10px 10px 10px 33px;
        }

        .topic-post .post-actions .edit-post-button {
            background: url("../images/edit_.png") left center no-repeat;
        }

        .topic-post .post-actions .delete-post-button {
            background: url("../images/remove_.png") left center no-repeat;
        }

            .topic-post .post-actions .edit-post-button:hover,
            .topic-post .post-actions .edit-post-button:focus,
            .topic-post .post-actions .delete-post-button:hover,
            .topic-post .post-actions .delete-post-button:focus {
                color: var(--primary-color);
            }

        .topic-post .post-actions .post-link-button {
            padding: 10px;
            font-weight: bold;
            color: var(--primary-color);
        }

            .topic-post .post-actions .post-link-button:hover,
            .topic-post .post-actions .post-link-button:focus {
                text-decoration: underline;
            }

        .topic-post .post-actions .quote-post-button {
            background-color: #888;
            padding: 10px 20px;
            color: #fff;
        }

            .topic-post .post-actions .quote-post-button:hover,
            .topic-post .post-actions .quote-post-button:focus {
                background-color: #999;
                color: #fff;
            }

    .topic-post .post-text {
        /*topic post-text also gets style from blog post-body*/
        padding: 0 10px 20px;
        line-height: 22px;
        color: var(--dark-gray-color);
        margin-bottom: 0;
    }

    .topic-post .post-vote {
        text-align: center;
        display: table;
        margin: 0 auto 20px;
    }

    .topic-post .user-posted-image,
    .latest-posts .user-posted-image {
        max-width: 100%;
        height: auto;
    }

    .topic-post .quote,
    .latest-posts .quote {
        margin: 10px 0;
        border: 1px dashed #ccc;
        background-color: #f9f9f9;
        padding: 10px;
        color: var(--gray-color);
    }

    .topic-post .signature {
        border-top: 1px solid #ddd;
        padding: 20px;
        font-size: 13px;
        font-style: italic;
        clear: both;
    }

    .topic-post .post-vote span.vote {
        cursor: pointer;
        display: block;
        width: 40px;
        height: 24px;
    }

    .topic-post .post-vote span.up {
        background: url("../images/vote-up.png") no-repeat 50% 50%;
    }

    .topic-post .post-vote span.vote.up.selected {
        background: url("../images/vote-up-selected.png") no-repeat 50% 50%;
    }

    .topic-post .post-vote span.down {
        background: url("../images/vote-down.png") no-repeat 50% 50%;
    }

    .topic-post .post-vote span.vote.down.selected {
        background: url("../images/vote-down-selected.png") no-repeat 50% 50%;
    }

    .topic-post .vote-count-post {
        display: block;
        font-size: 160%;
    }
/* forum edit & send message */

.forum-edit-page .page-title,
.move-topic-page .page-title,
.private-message-send-page .page-title {
    margin: 0 0 -1px;
}

.move-topic-page label {
    white-space: normal;
}

.forum-edit-page .message-error,
.private-message-send-page .message-error {
    margin: 20px 0;
}

.forum-edit-page .inputs strong {
    display: inline-block;
    max-width: 400px;
    font-size: 22px;
    /*reset zeroing*/
    font-weight: normal;
    color: var(--dark-gray-color);
    white-space: normal;
}

.forum-edit-page .inputs .topic-subject {
    font-size: 17px;
}

.forum-edit-page .inputs.reversed {
    margin: 0;
}

    .forum-edit-page .inputs.reversed label {
        width: auto;
        margin: 5px;
        font-size: 14px;
        /*reset zeroing*/
        white-space: normal;
    }

.forum-edit-page .bb-code-editor-wrapper,
.private-message-send-page .bb-code-editor-wrapper {
    max-width: 400px;
    margin: 20px auto;
    background-color: #ddd;
    padding: 10px;
}

.forum-edit-page .toolbar .button,
.private-message-send-page .toolbar .button {
    margin: 0 2px 0 0;
    border: #cec6b5 1px solid;
    padding: 2px;
}

    .forum-edit-page .toolbar .button:hover,
    .forum-edit-page .toolbar .button:focus,
    .private-message-send-page .toolbar .button:hover,
    .private-message-send-page .toolbar .button:focus {
        border: var(--dark-gray-color) 1px solid;
    }

.forum-edit-page textarea,
.private-message-send-page textarea {
    display: block;
    margin: auto;
}

.forum-edit-page .buttons button,
.move-topic-page .buttons button,
.private-messages .buttons button {
    min-width: 140px;
    border: none;
    background-color: #999;
    padding: 10px 30px;
    text-align: center;
    font-size: 15px;
    color: #fff;
    text-transform: uppercase;
}

    .forum-edit-page .buttons button:hover,
    .forum-edit-page .buttons button:focus,
    .move-topic-page .buttons button:hover,
    .move-topic-page .buttons button:focus,
    .private-messages .buttons button:hover,
    .private-messages .buttons button:focus {
        background-color: #888;
    }

.forum-edit-page .buttons .button-1,
.move-topic-page .buttons .button-1,
.private-messages .buttons .button-1 {
    background-color: var(--primary-color);
}

    .forum-edit-page .buttons .button-1:hover,
    .forum-edit-page .buttons .button-1:focus,
    .move-topic-page .buttons .button-1:hover,
    .move-topic-page .buttons .button-1:focus,
    .private-messages .buttons .button-1:hover,
    .private-messages .buttons .button-1:focus {
        background-color: var(--primary-color);
    }

.private-message-send-page a {
    font-size: 14px;
    color: var(--primary-color);
}

.private-message-send-page span {
    font-size: 14px;
}
/* jQuery tabs */

.ui-tabs {
    /*override jQuery UI styles, do not delete doubled properties*/
    border: none;
    border-radius: 0;
    background: none;
    padding: 0;
    font: normal 14px var(--primary-fonts);
    color: var(--gray-color);
}

.ui-widget.ui-widget-content.ui-tabs {
    border: none;
}

.ui-tabs-nav {
    margin: 0 0 30px;
    border-bottom: 1px solid #ddd;
    overflow: hidden;
    font-size: 0;
    /*override jQuery UI styles, do not delete doubled properties*/
    margin: 0 0 30px !important;
    border-width: 0 0 1px;
    border-radius: 0;
    background: none;
    padding: 0 !important;
    line-height: normal;
    font-weight: normal;
    color: var(--dark-gray-color);
}

    .ui-tabs-nav li {
        margin: 0 0 -1px;
        /*override jQuery UI styles, do not delete doubled properties*/
        float: none !important;
        margin: 0 0 -1px !important;
        border: none !important;
        border-radius: 0;
        background: none !important;
        padding: 0 !important;
    }

        .ui-tabs-nav li a {
            display: block;
            border: 1px solid #ddd;
            padding: 12px 24px;
            text-align: center;
            font-size: 18px;
            color: var(--dark-gray-color);
            /*override jQuery UI styles, do not delete doubled properties*/
            float: none !important;
            padding: 12px 24px !important;
        }

        .ui-tabs-nav li.ui-state-active a {
            background-color: #eee;
            color: var(--primary-color);
        }

.ui-tabs-panel {
    /*override jQuery UI styles, do not delete doubled properties*/
    padding: 0 !important;
}
/* inbox & view message */

.private-messages-page .table-wrapper,
.private-message-view-page .view-message {
    margin: 0 0 30px;
}

.private-messages-page th.select {
    text-align: center;
}

.private-messages-page td.from,
.private-messages-page td.to,
.private-messages-page td.subject {
    min-width: 150px;
}

.private-messages-page td.date {
    white-space: nowrap;
}

.private-messages-page td.subject a {
    color: var(--dark-gray-color);
}

    .private-messages-page td.subject a.pm-unread {
        color: var(--primary-color);
    }

.private-messages-page .pager {
    margin: 0 0 30px;
}

.private-messages-page .buttons,
.private-message-view-page .buttons {
    font-size: 0;
}

    .private-messages-page .buttons .button-1,
    .private-messages-page .buttons .button-2,
    .private-message-view-page .buttons .button-1,
    .private-message-view-page .buttons .button-2 {
        display: block;
        width: 250px;
        margin: 0 auto 3px;
        font-size: 15px;
        /*reset zeroing*/
    }

.private-messages-page .no-items {
    padding: 20px;
    text-align: center;
}

.private-message-view-page .view-message {
    margin: 0 0 30px;
}

.private-message-view-page .message-head {
    margin: 0 0 20px;
    line-height: 22px;
}

    .private-message-view-page .message-head span {
        font-weight: bold;
        color: var(--dark-gray-color);
    }

.private-message-view-page .message-body {
    border-top: 1px solid #ddd;
    background-color: #f9f9f9;
    padding: 30px 20px;
    line-height: 22px;
    text-align: justify;
}

.private-message-view-page .back-pm-button {
    text-transform: capitalize !important;
}
/* profile page  */

.profile-info-box {
    overflow: hidden;
    /*override jQuery UI styles, do not delete doubled properties*/
    line-height: normal;
    font-size: 14px;
    font-family: var(--primary-fonts);
    color: var(--gray-color);
}

    .profile-info-box .user-details {
        margin: 0 0 30px;
    }

    .profile-info-box .avatar {
        margin: 0 auto 15px;
    }

    .profile-info-box .title {
        margin: 0 0 10px;
        font-size: 18px;
        color: var(--dark-gray-color);
    }

    .profile-info-box .stats {
        margin: 0 0 15px;
    }

.latest-posts {
    /*override jQuery UI styles, do not delete doubled properties*/
    line-height: normal;
    font-size: 14px;
    font-family: var(--primary-fonts);
    color: var(--gray-color);
}

    .latest-posts .topic {
        margin: 0 0 35px;
    }

    .latest-posts .topic-title {
        margin: 0 0 20px;
        border-top: 1px solid #ddd;
        background: #f6f6f6;
        padding: 10px;
        font-size: 16px;
    }

        .latest-posts .topic-title a {
            font-weight: bold;
            color: var(--dark-gray-color);
        }

            .latest-posts .topic-title a:hover,
            .latest-posts .topic-title a:focus {
                color: var(--primary-color);
            }

    .latest-posts .topic-body {
        margin: 0 0 15px;
        line-height: 22px;
    }

    .latest-posts .topic-data {
        color: var(--dark-gray-color);
    }
/* BB codes */

.csharpcode {
    margin: 10px 0;
    border: 1px dashed #ccc;
    background-color: #fff;
    padding: 10px;
    font-family: "Courier New", Courier, monospace;
    color: #000;
    white-space: pre-wrap;
    word-wrap: break-word;
}

    .csharpcode .rem {
        color: green;
    }

    .csharpcode .kwrd {
        color: #00f;
    }

    .csharpcode .str {
        color: #006080;
    }

    .csharpcode .op {
        color: #00c;
    }

    .csharpcode .preproc {
        color: #c63;
    }

    .csharpcode .asp {
        background-color: #ff0;
    }

    .csharpcode .html {
        color: maroon;
    }

    .csharpcode .attr {
        color: red;
    }

    .csharpcode .alt {
        width: 100%;
        margin: 0;
        background-color: #f6f6f6;
    }

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

@media all and (max-width: 769px) {
    /*** ESTIMATE SHIPPING POPUP ***/

    .shipping-address {
        flex-flow: column;
    }

    .address-item {
        width: 100%;
        margin-bottom: 20px;
    }

    .estimate-shipping-row-item.address-item + .estimate-shipping-row-item.address-item {
        padding-left: 0px;
        padding-top: 8px;
    }

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

@media all and (max-width: 1000px) {
    /*** GLOBAL TABLES ***/

    .order-details-page .data-table {
        display: block;
    }

        .order-details-page .data-table colgroup,
        .order-details-page .data-table thead {
            display: none;
        }

        .order-details-page .data-table tbody {
            display: block;
            overflow: hidden;
        }

        .order-details-page .data-table tr {
            display: block;
            float: left;
            width: 100%;
            margin: 40px 0 0;
            border: 1px solid #ddd;
        }

        .order-details-page .data-table td {
            display: block;
            border: none;
            padding: 10px;
        }

            .order-details-page .data-table td.product,
            .order-details-page .data-table td.tracking-number {
                min-width: 0;
                border-bottom: 1px solid #ddd;
                padding: 5px 10px 15px;
                text-align: center;
            }
    /*** NAVIGATION ***/

    .sublist .sublist li {
        background-color: #f6f6f6;
    }

    .sublist .sublist .sublist li {
        background-color: #fff;
    }

    .block-category-navigation {
        display: none;
    }

    .block-account-navigation {
        float: none;
        margin: auto !important;
    }

    .product-review-box {
        width: fit-content;
    }
}

@media all and (min-width: 481px) {
    /*** GLOBAL ***/
    /*** GLOBAL TABLES ***/

    .order-details-page .data-table tr {
        width: 46%;
        margin: 40px 2% 0;
    }

        .order-details-page .data-table tr:nth-child(2n + 1) {
            clear: both;
        }
    /*** HEADER ***/

    .header-selectors-wrapper > div {
        display: inline-block;
        width: 30%;
        margin: 10px auto;
    }

    .search-box input.search-box-text {
        width: 280px;
    }

    .ui-autocomplete {
        width: 280px;
    }

        .ui-autocomplete img {
            display: inline;
        }
    /*** NAVIGATION ***/
    /** Main menu START **/

    .menu__group > .menu__link {
        display: flex;
        grid-area: auto / right;
    }

    .menu__image {
        width: auto;
    }

    .menu__group {
        display: grid;
        grid-auto-flow: column;
        grid-auto-rows: auto;
        grid-template-columns: [left] 1fr [right] 1fr;
        grid-column-gap: 10px;
    }

    .menu__image-link {
        grid-column: left;
        grid-row-start: 1;
        grid-row-end: span 300;
    }
    /** Main menu END **/
    /*** FOOTER ***/

    .newsletter-email input[type="text"] {
        width: 240px;
    }

    .wishlist-content .button-2 {
        display: inline-block;
        width: auto;
        min-width: 140px;
    }

    .enter-password-form input[type="password"] {
        width: 260px;
    }
    /*** FORUM & PROFILE ***/

    .forums-header {
        background-color: #f9f9f9;
        padding: 30px 20px 20px;
    }

    .ui-tabs-nav li {
        display: inline-block;
        min-width: 150px;
        margin: 0 5px -1px;
        /*override jQuery UI styles, do not delete doubled properties*/
        margin: 0 5px -1px !important;
    }

    .private-messages-page .buttons .button-1,
    .private-messages-page .buttons .button-2,
    .private-message-view-page .buttons .button-1,
    .private-message-view-page .buttons .button-2 {
        display: inline-block;
        width: auto;
        margin: 1px;
    }

    .topic-post .post-text {
        float: left;
        width: 90.5%;
        text-align: left;
    }

    .forum-group .forum-table th.latest-post,
    .forum-group .forum-table th.topics,
    .forum-group .forum-table th.posts,
    .forum-group .forum-table td.latest-post,
    .forum-group .forum-table td.topics,
    .forum-group .forum-table td.posts {
        display: table-cell;
    }

    .topic-group .forum-table th.latest-post,
    .topic-group .forum-table td.latest-post {
        display: table-cell;
    }

    .forum-table td.image {
        max-width: 40px;
    }

        .forum-table td.image div {
            max-width: 100%;
            background-size: contain;
        }
    /*** ESTIMATE SHIPPING POPUP ***/

    .estimate-shipping-popup {
        padding: 30px;
    }
}

@media all and (min-width: 769px) {
    /**** GLOBAL ***/

    .home-page-polls li {
        min-width: 100px;
    }
    /**** GLOBAL TABLES ***/

    .order-details-page .data-table tr {
        width: 31.33333%;
        margin: 40px 1% 0;
    }

        .order-details-page .data-table tr:nth-child(2n + 1) {
            clear: none;
        }

        .order-details-page .data-table tr:nth-child(3n + 1) {
            clear: both;
        }
    /*** HEADER ***/

    .header-selectors-wrapper > div {
        width: 20%;
    }
    /*** FOOTER ***/

    .footer-block .title {
        margin: 0 0 15px;
        background: none;
        padding: 0;
        color: var(--dark-gray-color);
        cursor: auto;
    }
    /*** CATEGORY ***/

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

        .product-selectors .product-viewmode {
            display: inline-block;
            /*    float: right;*/
        }

            .product-selectors .product-viewmode span {
                display: none;
            }

            .product-selectors .product-viewmode a {
                display: inline-block;
                width: 24px;
                height: 32px;
                margin: 0 0 0 12px;
                background-position: center;
                background-repeat: no-repeat;
                opacity: 0.5;
            }

                .product-selectors .product-viewmode a.grid {
                    background-image: url("../images/view-grid.png");
                    background-size: contain;
                }

                .product-selectors .product-viewmode a.list {
                    background-image: url("../images/view-list.png");
                    background-size: contain;
                }

                .product-selectors .product-viewmode a.selected {
                    opacity: 1;
                }

    .product-box-add-to-cart-button .btn-primary:hover {
        background-color: var(--text-color);
        color: var(--title-color);
    }
    /*** PRODUCT PAGE ***/
    .variant-picture {
        float: left;
    }

        .variant-picture + .variant-overview {
            width: auto;
            margin: 0 0 0 240px;
        }

    .variant-overview {
        text-align: left;
    }
    /*** PRODUCT REVIEWS ***/

    .product-review-item .review-title {
        float: left;
        max-width: 600px;
    }

    .product-review-item .product-review-box {
        float: right;
    }
    /*** REGISTRATION, LOGIN, ACCOUNT ***/

    .address-list-page .section,
    .order-list-page .section,
    .return-request-list-page .section {
        display: inline-block;
        width: 45%;
        margin: 20px 1%;
        vertical-align: top;
    }

    .recurring-payments {
        width: 100% !important;
        margin: 20px 0 !important;
    }
    /*** SHOPPING CART ***/

    .order-progress li {
        margin: 0 10px;
    }

    .order-progress a {
        min-width: 80px;
    }

    .cart-options .common-buttons {
        text-align: right;
    }

    .cart-options .checkout-attributes,
    .cart-options .selected-checkout-attributes {
        padding: 0 10px;
    }

    .cart-footer .terms-of-service {
        text-align: left;
    }

    .cart-footer .checkout-buttons,
    .cart-footer .addon-buttons {
        text-align: right;
    }

    .cart-footer .cart-collaterals .title,
    .cart-footer .cart-collaterals label {
        text-align: left;
    }

    .cart-footer .estimate-shipping label {
        display: block;
        margin: 0 0 10px;
    }

    .cart-footer .estimate-shipping .buttons {
        text-align: right;
    }
    /*** CHECKOUT ***/

    .checkout-page .cart-footer .totals {
        max-width: 350px;
        margin-bottom: 50px;
    }

    .checkout-page .address-grid {
        overflow: hidden;
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 20px;
    }

    .checkout-page .address-item {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        position: relative;
    }

    .checkout-page .address-list-page {
        position: absolute;
        top: 20px;
        right: 20px;
        display: flex;
        gap: 10px;
        align-items: center;
    }

    .address-list-page .button-2 {
        margin: 0;
    }

    .shipping-method .method-list li,
    .payment-method .method-list li {
        display: inline-block;
        width: 25%;
        margin: 20px 2%;
        vertical-align: top;
    }

    .shipping-method .method-name {
        background-color: #f6f6f6;
        padding: 10px;
    }

    .payment-method .payment-logo {
        display: block;
        background-color: #f6f6f6;
        padding: 10px;
    }

    .payment-method .payment-details {
        display: block;
        width: auto;
        min-width: 0;
        margin: 10px 0 0;
        text-align: center;
    }

    .payment-info .info {
        padding: 30px 75px;
    }

    .order-review-data,
    .order-details-area,
    .shipment-details-area {
        overflow: hidden;
    }

        .order-review-data > div,
        .order-details-area > div,
        .shipment-details-area > div {
            float: left;
            width: 48%;
            margin: 0 1% 40px;
        }
    /*** ORDER DETAILS & SHIPPING DETAILS ***/

    .order-details-page .section.options {
        text-align: right;
    }

    .order-details-page .selected-checkout-attributes {
        padding: 0 10px;
    }

    .order-details-page .tax-shipping-info {
        text-align: right;
    }

    .shipment-details-page .tracking-number .tracking-url {
        color: var(--primary-color);
    }
    /*** FORUM & PROFILE ***/

    .forum-actions,
    .topic-actions {
        overflow: hidden;
    }

        .forum-actions .actions,
        .topic-actions .actions {
            float: left;
        }

        .forum-actions .pager,
        .topic-actions .pager {
            float: right;
            max-width: 450px;
        }

            .forum-actions .pager li,
            .topic-actions .pager li {
                margin: 2px 4px;
            }

            .forum-actions .pager.upper {
                display: block;
            }

        .topic-actions.lower .actions {
            display: block;
        }

    .topic-posts {
        margin: 0 0 30px;
    }

    .topic-post {
        display: table;
        width: 100%;
        margin: 0;
    }

        .topic-post .post-info {
            display: table-cell;
            width: 15%;
            margin: 0;
            vertical-align: top;
            text-align: left;
        }

        .topic-post .user-info {
            width: auto;
        }

        .topic-post .username {
            min-height: 40px;
            margin: 0;
            border: none;
            text-align: center;
        }

        .topic-post .avatar {
            margin: auto;
            border: none;
        }

            .topic-post .avatar img {
                max-width: 80%;
                max-height: 80%;
            }

        .topic-post .user-stats li {
            margin: 0;
        }

        .topic-post .send-pm {
            margin: 0 0 20px;
        }

        .topic-post .pm-button,
        .profile-info-box .pm-button {
            padding: 8px 16px;
            font-size: 13px;
        }

        .topic-post .post-content {
            display: table-cell;
            width: 85%;
            border-left: 1px solid #ddd;
            vertical-align: top;
            text-align: left;
        }

        .topic-post .post-head {
            min-height: 40px;
            overflow: hidden;
            background-color: #f6f6f6;
        }

        .topic-post .post-time {
            float: left;
            margin: 0;
            font-size: 14px;
            font-weight: normal;
        }

        .topic-post .post-actions {
            float: right;
            margin: 0;
        }

            .topic-post .post-actions a {
                margin: 0;
                line-height: 20px;
            }

            .topic-post .post-actions .manage-post a {
            }

            .topic-post .post-actions .quote-post a {
                min-width: 70px;
            }

            .topic-post .post-actions a.post-link-button {
                margin: 0 0 0 10px;
                border-left: 1px solid #ddd;
                text-align: center;
            }

        .topic-post .post-text {
            padding: 20px 5px;
        }

        .topic-post .post-vote {
            padding: 20px 0 20px 15px;
        }

    .forum-table th.replies,
    .forum-table th.views,
    .forum-table th.votes,
    .forum-table td.replies,
    .forum-table td.views,
    .forum-table td.votes {
        display: table-cell;
    }

    .forum-table td.image {
        max-width: none;
    }

        .forum-table td.image div {
            max-width: none;
            background-size: initial;
        }

    .ui-tabs-nav {
        text-align: left;
    }

        .ui-tabs-nav li {
            margin: 0 10px -1px 0;
            /*override jQuery UI styles, do not delete doubled properties*/
            margin: 0 10px -1px 0 !important;
        }

    .profile-info-box .avatar {
        float: left;
        margin: 0 15px 15px 0;
    }

    .profile-info-box .profile-stats {
        float: left;
        text-align: left;
    }

    .profile-info-box .title {
        text-align: left;
    }

    .profile-info-box .send-pm {
        clear: both;
        text-align: left;
    }

    .post-text code {
        background-color: #f0f0f0;
        padding: 2px 4px;
        border-radius: 3px;
        font-family: monospace;
        font-size: 0.9em;
    }

    .post-text pre {
        background-color: #f0f0f0;
        padding: 10px;
        border-radius: 4px;
        overflow-x: auto;
        margin-bottom: 1em;
    }

        .post-text pre code {
            background: none;
            padding: 0;
            font-size: 0.9em;
        }

    .post-text blockquote {
        border-left: 4px solid #ccc;
        padding: 0.5em 10px;
        color: var(--gray-color);
        margin: 0 0 1em 0;
    }

        .post-text blockquote p {
            margin-bottom: 0;
        }
}

@media (min-width: 992px) {
    .product-list [class*="col-md"] {
        width: 100%;
    }

    .product-list .product-item {
        width: auto;
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 20px;
    }

        .product-list .product-item .product-content {
            grid-column: span 3;
        }

        .product-list .product-item:hover .picture a img,
        .product-list .product-item:focus .picture a img {
            opacity: 1;
        }

        .product-list .product-item .picture:hover a img,
        .product-list .product-item .picture:focus a img {
            opacity: 0.85;
        }

        .product-list .product-item .picture + .details {
            margin: 0 0 0 240px;
        }

        .product-list .product-item .product-title {
            height: auto;
            padding: 10px 0;
            font-size: 18px;
        }

        .product-list .product-item .description {
            display: block;
            margin: 0 0 10px;
            line-height: 22px;
        }

        .product-list .product-item .prices {
            height: auto;
            margin: 0 0 30px;
        }

        .product-list .product-item .product-box-add-to-cart-button {
            width: auto;
            min-width: 150px;
            padding: 0 20px;
        }

        .product-list .product-item .add-to-compare-list-button,
        .product-list .product-item .add-to-wishlist-button {
            width: 42px;
        }

    .product-list .product-item {
        text-align: start;
    }

        .product-list .product-item .rating {
            justify-content: start;
        }
}

@media all and (min-width: 1001px) {
    /*** GLOBAL STYLES ***/ .product-item .description[data-short-description]
    .page {
        text-align: left;
    }

    .inputs input[type="text"],
    .inputs input[type="email"],
    .inputs input[type="tel"],
    .inputs input[type="password"],
    .inputs select {
        min-height: 40px;
    }

    .inputs .option-list li {
        margin: 0 10px 0 0;
    }

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

    .inputs.accept-consent label {
        width: auto;
    }

    .link-rss {
        display: block;
        float: right;
        margin: 6px 0 0;
    }
    /*** GLOBAL TABLES ***/

    .order-details-page .data-table tr {
        width: auto;
        margin: 0;
    }

    .order-details-page .data-table label {
        display: none;
    }
    /*** HEADER ***/

    .header {
        width: 980px;
        margin: auto;
    }

    .header-upper:after {
        content: "";
        display: block;
        clear: both;
    }

    .header-selectors-wrapper {
        float: left;
        border: none;
        padding: 0;
    }

        .header-selectors-wrapper > div {
            width: auto;
            min-width: 100px;
            margin: 0 12px 0 0;
            line-height: 43px;
        }

        .header-selectors-wrapper select {
            height: 25px;
            padding: 4px;
            font-size: 12px;
        }

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

    .header-links-wrapper {
        float: right;
        padding: 0;
    }

    .flyout-cart {
        position: absolute;
        top: 100%;
        right: 0;
        z-index: 100;
        width: 320px;
        box-shadow: 0 5px 30px rgba(0, 0, 0, 0.12);
        background-color: #fff;
        opacity: 0;
        visibility: hidden;
        transform: translateY(10px);
        transition: var(--default-transition);
    }

    .mini-shopping-cart {
        padding: 20px;
        font-size: 14px;
        text-align: left;
    }

        .mini-shopping-cart .items {
            font-size: 14px;
            max-height: 320px;
            overflow-y: auto;
        }

        .mini-shopping-cart .item {
            display: flex;
            align-items: center;
            gap: 15px;
            padding: 15px 0;
            border-bottom: 1px solid var(--border-color);
        }

        /* Large square image */
        .mini-shopping-cart .picture {
            float: none;
            flex-shrink: 0;
            width: 90px;
            height: 90px;
            overflow: hidden;
            border-radius: 4px;
        }

            .mini-shopping-cart .picture a {
                display: block;
                width: 100%;
                height: 100%;
                position: static;
            }

                .mini-shopping-cart .picture a::before {
                    display: none;
                }

            .mini-shopping-cart .picture img {
                position: static;
                width: 100%;
                height: 100%;
                object-fit: cover;
                max-width: none;
                max-height: none;
                margin: 0;
            }

            .mini-shopping-cart .picture + .product {
                margin: 0;
            }

        /* Product info */
        .mini-shopping-cart .product {
            flex: 1;
            min-width: 0;
        }

        .mini-shopping-cart .name {
            margin: 0 0 6px;
            font-size: 15px;
        }

            .mini-shopping-cart .name a {
                font-size: 15px;
                font-weight: 600;
                color: var(--title-color);
                display: block;
                white-space: nowrap;
                overflow: hidden;
                text-overflow: ellipsis;
            }

                .mini-shopping-cart .name a:hover {
                    color: var(--primary-color);
                }

        .mini-shopping-cart .qty-price {
            font-size: 14px;
            color: var(--text-color);
            margin-top: 4px;
        }

        .mini-shopping-cart .attributes {
            margin: 4px 0;
            font-size: 12px;
            color: var(--text-color);
        }

        /* Subtotal row */
        .mini-shopping-cart .cart-bottom {
            padding-top: 17px;
            margin-top: 5px;
            border-top: 1px solid var(--border-color);
        }

        .mini-shopping-cart .totals {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 15px 0 15px;
            font-size: 14px;
            font-weight: 700;
            color: var(--title-color);
            text-transform: uppercase;
            letter-spacing: 0.5px;
            gap: 0;
        }

            .mini-shopping-cart .totals strong {
                font-size: 16px;
                color: var(--title-color);
            }

        /* Buttons */
        .mini-shopping-cart .buttons {
            margin: 0 0 5px;
            display: flex;
            flex-direction: column;
            gap: 8px;
        }

        .mini-shopping-cart .cart-button,
        .mini-shopping-cart .checkout-button {
            display: block;
            width: 100%;
            padding: 14px;
            background-color: var(--primary-color);
            color: var(--white-color) !important;
            border: none;
            font-size: 12px;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 1.5px;
            cursor: pointer;
            transition: var(--default-transition);
            text-align: center;
        }

            .mini-shopping-cart .cart-button:hover,
            .mini-shopping-cart .checkout-button:hover {
                background-color: var(--secondary-color);
            }

        .mini-shopping-cart .checkout-button {
            background-color: var(--title-color);
        }

            .mini-shopping-cart .checkout-button:hover {
                background-color: var(--dark-gray-color);
            }

    .header-lower {
        display: table;
        width: 100%;
    }

    .search-box form {
        justify-content: flex-end;
    }

    .search-box input.search-box-text,
    .search-box .search-box-button,
    .search-box .search-box-category {
        height: 40px;
    }
    /*** NAVIGATION ***/

    .header-menu {
        padding: 0;
    }
    /*** NAVIGATION ***/
    /** Main menu START **/

    .menu {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        font-size: 18px;
    }

    .menu__toggle {
        display: none;
    }

    .menu-dropdown {
        display: inline-block;
    }

    .block .menu-dropdown {
        display: block;
    }

    .menu__item-toggle {
        display: inline-block;
        border: none;
        background-color: transparent;
        padding: 0;
        line-height: 20px;
        color: var(--dark-gray-color);
        cursor: pointer;
        -webkit-appearance: none;
    }

        .menu__item-toggle::after {
            display: none;
        }

    .menu__grid-view {
        position: absolute;
        left: 0;
        background-color: #fff;
        padding: 20px;
        box-shadow: 0 0 2px rgba(0, 0, 0, 0.2);
        width: 100%;
        max-width: 1200px;
        z-index: 1000;
        display: flex;
        flex-wrap: wrap;
        gap: 20px;
        border-radius: 2px;
        opacity: 0;
        visibility: hidden;
        transform: translateY(10px);
        transition: var(--default-transition);
        font-size: 14px;
    }

    .menu__list-view {
        position: absolute;
        min-width: 200px;
        max-width: 300px;
        z-index: 1000;
        opacity: 0;
        visibility: hidden;
        transform: translateY(10px);
        background-color: var(--white-color);
        transition: var(--default-transition);
        box-shadow: 0 0 2px rgba(0, 0, 0, 0.2);
        padding: 23px 0;
        font-size: 13px;
        overflow: visible;
    }

    .header-navigation .menu__list-view .menu__link {
        padding: 7px 30px;
        font-size: 13px;
        font-weight: 400;
        width: 100%;
    }

    .menu__list-view .menu__link:hover {
        transform: translateX(10px);
        color: var(--primary-color);
    }

    .menu__list-view .menu__list-view {
        top: -10px;
        left: 100%;
    }

    .menu__row-braker {
        width: 100%;
    }

    .menu__list-view .menu__item {
        position: relative;
        display: block;
        width: 100%;
        text-align: left;
    }

    .menu__item:focus-within > .menu__grid-view,
    .menu__item:hover .menu__grid-view {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }

    .menu__item:focus-within > .menu__list-view,
    .menu__item:hover > .menu__list-view {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }

    .menu__group {
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        flex: 1 1 0;
        height: fit-content;
    }

    .menu__group-title {
        display: inline-block;
        padding-block: 10px;
        font-weight: bold;
        color: #2c3e50;
        text-align: center;
    }

    .menu__image {
        display: inline-block;
        object-fit: cover;
        border-radius: 3px;
        max-width: 100%;
    }

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

    .menu__link--inactive {
        pointer-events: none;
        cursor: default;
    }

    .menu__item .menu__item .menu__link::before,
    .menu__group .menu__link::before {
        content: "";
        width: 5px;
        height: 5px;
        background-color: #ddd;
    }

    .menu__item:hover > .menu__item-toggle {
        color: var(--primary-color);
    }
    /** Main menu END **/
    /** Footer menu START **/
    .footer-navigation {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        gap: 30px;
    }
    /** Footer menu END **/
    /*** FOOTER ***/

    .newsletter-validation .field-validation-valid {
        text-align: left;
    }

    .theme-selector {
        float: left;
        margin: 0 0 0 15px;
    }
    /*** COLUMN ***/

    .block .listbox {
        display: block;
        border-bottom: none;
    }

    .block a.product-picture {
        display: inline-block;
        position: relative;
        width: 30%;
        margin: 0 0 0 -15px;
        vertical-align: middle;
        text-align: center;
    }

    .block a.product-name {
        vertical-align: middle;
    }

    .block a.product-picture + a.product-name {
        width: 70%;
    }

        .block a.product-picture + a.product-name:before {
            display: none;
        }
    /*** CATEGORY ***/

    .video-gallery {
        width: auto;
    }

    .overview {
        float: right;
        width: 100%;
    }

    .rental-attributes {
        overflow: hidden;
    }

        .rental-attributes .attribute-item {
            float: left;
            margin: 0 20px 0 0;
        }

        .rental-attributes .datepicker {
            width: 160px;
            text-align: left;
        }

    .attribute-squares li {
        margin: 0 10px 10px 0;
    }

    .product-details-page .title {
        font-size: 18px;
        margin: 0 0 15px;
        color: var(--title-color);
    }
    /*** PRODUCT REVIEWS ***/

    .product-review-item .review-title {
        max-width: 850px;
    }

    .product-review-item .review-text {
        display: table;
        width: 100%;
        table-layout: fixed;
    }

    .product-review-item .avatar {
        display: table-cell;
        vertical-align: top;
        width: 120px;
    }

        .product-review-item .avatar img {
            max-width: 100%;
        }

    .product-review-item .text-body {
        display: table-cell;
        vertical-align: top;
    }

    .product-review-item .avatar + .text-body {
        padding: 0 0 0 20px;
    }
    /*** WISHLIST & COMPARE LIST ***/

    .compare-products-page .page-title {
        margin: 0 0 -1px;
    }

    .compare-products-page .clear-list {
        position: absolute;
        top: 7px;
        right: 0;
    }

    .compare-products-table .full-description td {
        display: table-cell;
    }

        .compare-products-table .full-description td p {
            margin-top: 0;
        }
    /*** TOPICS ***/
    .topic-page p {
        text-align: justify;
    }
    /*** REGISTRATION, LOGIN, ACCOUNT ***/

    .gender span {
        margin: 0 10px 0 0;
    }

        .gender span > * {
            margin: 0 5px 0 0;
        }

    .date-of-birth select + select {
        margin: 0 0 0 11px;
    }

    #check-availability-button {
        display: block;
        margin: 10px auto;
    }

    .login-page .returning-wrapper .form-fields {
        min-height: 200px;
        padding: 30px 0 0;
    }

    .address-list-page .section,
    .order-list-page .section,
    .return-request-list-page .section {
        display: block;
        width: auto;
        margin: 0 0 40px;
    }

    .address-list-page .buttons,
    .order-list-page .buttons {
        position: absolute;
        top: 5px;
        right: 10px;
    }

    .avatar-page .message-error,
    .avatar-page .buttons {
        text-align: left;
    }

    .registration-page .vat-note {
        margin-left: 275px;
    }

    .customer-info-page .vat-note,
    .customer-info-page .vat-status,
    .customer-info-page .email-to-revalidate-note {
        margin-left: 150px;
    }

    .customer-info-page .vat-status {
        display: inline-block;
    }
    /*** SHOPPING CART ***/

    .shopping-cart-page .cart-options {
        overflow: hidden;
    }


    .shopping-cart-page .checkout-attributes .option-list > li {
        margin: 5px 10px 5px 0;
    }

    .shopping-cart-page .selected-checkout-attributes,
    .order-details-page .selected-checkout-attributes {
        margin: 15px 0;
    }
    /*** CHECKOUT ***/

    .checkout-page .terms-of-service {
        text-align: center;
    }

    .payment-info .info {
        padding: 30px 15px;
    }

    .order-review-data .title,
    .order-details-area .title,
    .shipment-details-area .title {
        text-align: left;
    }

    .opc .order-review-data ul {
        text-align: left;
    }
    /*** SEARCH & SITEMAP ***/

    .advanced-search .price-range {
        margin-left: 114px;
    }
    /*** BLOG & NEWS ***/

    .comment-list {
        margin: 0 0 50px;
    }

    .news-list-homepage .news-items {
        overflow: hidden;
        text-align: left;
    }

    .news-list-homepage .news-item {
        float: left;
        width: 31.33333%;
        margin: 0 1% 30px;
    }

        .news-list-homepage .news-item:nth-child(3n + 1) {
            clear: both;
        }

        .news-list-homepage .news-item:only-child {
            float: none;
            width: auto;
            margin: 0 0 30px;
        }

    .news-list-homepage .news-head {
        text-align: center;
    }

    .news-list-homepage .news-body {
        text-align: justify;
    }
    /*** FORUM & PROFILE ***/

    .forum-breadcrumb {
        margin: -30px 0 30px;
    }

    .current-time {
        float: right;
    }

    .forum-search-box {
        float: left;
    }

        .forum-search-box .advanced {
            text-align: left;
        }

            .forum-search-box .advanced a {
                line-height: normal;
            }

    .forums-table-section td {
        min-width: 150px;
    }

        .forums-table-section td:first-child {
            min-width: 90px;
        }

    .forums-table-section .view-all {
        text-align: right;
    }

    .topic-actions .pager.upper {
        display: block;
        max-width: 400px;
    }

    .forum-table .forum-details,
    .forum-table .topic-details {
        min-width: 225px;
    }

    .forum-table td {
        padding: 20px;
    }

    .forum-edit-page .inputs textarea,
    .private-message-send-page textarea {
        width: 600px;
        height: 250px;
    }

    .private-message-send-page .bb-code-editor-wrapper {
        display: inline-block;
        width: 400px;
        margin: 10px 0;
        vertical-align: middle;
    }
}

@media all and (min-width: 1367px) {
    /*** GLOBAL STYLES ***/

    .inputs.accept-consent label {
        width: auto;
    }
    /*** PRODUCT REVIEWS ***/
    .product-review-item .review-title {
        max-width: 1050px;
    }

    .registration-page .vat-note {
        margin-left: 385px;
    }

    .customer-info-page .vat-note,
    .customer-info-page .vat-status,
    .customer-info-page .email-to-revalidate-note {
        margin-left: 225px;
    }
    /*** SHOPPING CART ***/

    .cart-footer .cart-collaterals .shipping {
        float: right;
        width: 360px;
    }

    .cart-footer .estimate-shipping .inputs label {
        display: inline-block;
    }

    .cart-footer .estimate-shipping .inputs input,
    .cart-footer .estimate-shipping .inputs select {
        width: 65%;
    }
    /*** CHECKOUT ***/

    .shipping-method .method-list li,
    .payment-method .method-list li {
        margin: 20px 1%;
    }

    /*** FORUM & PROFILE ***/
    .forum-actions .pager,
    .topic-actions .pager {
        max-width: 600px !important;
    }

    .topic-post .post-text {
        width: 930px;
        max-width: 100%;
    }
}

.swiper {
    width: 100%;
    height: 100%;
}

.swiper-slide {
    text-align: center;
    font-size: 18px;
    background: #fff;
    /* Center slide text vertically */
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
}

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

a.skip {
    position: absolute;
    top: -1000px;
    left: -1000px;
    height: 1px;
    width: 1px;
    text-align: left;
    overflow: hidden;
}

    a.skip:active,
    a.skip:focus,
    a.skip:hover {
        position: initial;
        top: 0;
        left: 0;
        display: block;
        height: auto;
        margin: 3px 0;
        overflow: visible;
        padding: 2px;
        color: var(--dark-gray-color);
        background: #ffffff;
        text-decoration: underline;
        text-align: center;
        width: 100%;
        font-size: 16px;
    }

.list-none {
    list-style: none;
    padding: 0;
    margin: 0;
}

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

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

.line-clamp-3 {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
}
/* splide */
.splide__pagination__page.is-active {
    background-color: var(--primary-color);
    transform: scale(1);
    opacity: 1;
}

.input-field {
    width: 100%;
    padding: 13px 24px;
    border: 1px solid var(--border-color);
    height: auto;
}

.textarea-field {
    max-height: 80px;
}

.content-wrap {
    --gap: 30px;
    --left-content: calc(50% - (var(--gap) / 2));
    --right-content: calc(50% - (var(--gap) / 2));
    display: flex;
    flex-wrap: wrap;
    gap: var(--gap);
}

.left-content {
    max-width: var(--left-content);
    flex: 0 0 var(--left-content);
}

.right-content {
    max-width: var(--right-content);
    flex: 0 0 var(--right-content);
}

.splide__track--nav > .splide__list > .splide__slide.is-active {
    border-color: var(--primary-color);
}
/* btn-css */
.btn-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    align-items: center;
}

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

    .btn-wrap.end {
        justify-content: end;
    }

.btn-box {
    color: var(--white-color);
    background-color: var(--primary-color);
    transition: var(--default-transition);
    padding: 15px 45px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    border: 0;
    text-decoration: unset !important;
    display: inline-block;
    line-height: 1.5;
}

    .btn-box:disabled {
        opacity: 0.6;
        cursor: not-allowed;
    }

    .btn-box.btn-icon {
        display: inline-flex;
        align-items: center;
        gap: 10px;
        position: relative;
    }

.btn-icon::after {
    content: "";
    margin-left: 5px;
    margin-top: 1px;
    width: 0;
    height: 2px;
    position: absolute;
    top: 50%;
    right: 24px;
    transform-origin: bottom right;
    background: #fff;
    will-change: width;
    -webkit-transition: all 0.15s ease-in-out 0.1s;
    -moz-transition: all 0.15s ease-in-out 0.1s;
    transition: all 0.15s ease-in-out 0.1s;
    -webkit-transform: translate3d(0, -50%, 0) rotate(135deg);
    -moz-transform: translate3d(0, -50%, 0) rotate(135deg);
    transform: translate3d(0, -50%, 0) rotate(135deg);
}

.btn-icon:hover::after {
    width: 6px;
}

.btn-icon::before {
    content: "";
    margin-top: -1px;
    margin-left: 5px;
    width: 0;
    height: 2px;
    position: absolute;
    top: 50%;
    right: 20px;
    transform-origin: bottom right;
    background: #fff;
    will-change: width;
    -webkit-transition: all 0.15s linear 0s;
    -moz-transition: all 0.15s linear 0s;
    transition: all 0.15s linear 0s;
    -webkit-transform: translate3d(0, -50%, 0) rotate(45deg);
    -moz-transform: translate3d(0, -50%, 0) rotate(45deg);
    transform: translate3d(0, -50%, 0) rotate(45deg);
}

.btn-icon:hover::before {
    width: 6px;
}

.btn-box.small {
    padding: 5px 16px;
    font-size: 12px;
}

.btn-box.full {
    width: 100%;
}

.btn-box:hover {
    background-color: var(--text-color);
}

.btn-link {
    text-transform: uppercase !important;
    text-decoration: underline;
    transition: var(--default-transition);
    font-weight: 500 !important;
    font-size: 16px;
    font-family: var(--primary-fonts) !important;
}

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

    .btn-link:hover {
        color: var(--primary-color);
    }

.icon-link {
    display: inline-flex;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
    text-transform: capitalize !important;
    text-decoration: unset !important;
    border: 0;
    padding: 0;
    background-color: transparent;
}

.btn-primary {
    background-color: var(--primary-color);
    color: var(--white-color);
    font-size: 14px;
}

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

btn-2 {
    background-color: var(--white-color);
    color: var(--title-color);
    border-color: var(--title-color);
    padding: 0 20px
}

    btn-2:hover {
        background-color: var(--title-color);
        color: var(--white-color);
    }

.btn-box.btn-hover-text:hover {
    color: var(--white-color);
    background-color: var(--text-color);
}

.btn-secondary {
    background-color: #fff;
    color: var(--title-color);
    border: 1px solid var(--border-color) !important;
}

    .btn-secondary:hover {
        background-color: var(--title-color);
        color: #fff;
        border-color: var(--title-color) !important;
    }

.btn-delete {
    background-color: #fff;
    color: var(--title-color) !important;
    border: 1px solid var(--border-color) !important;
}

    .btn-delete:hover {
        background-color: var(--error-red-color) !important;
        border-color: var(--error-red-color) !important;
        color: #fff !important;
    }

.btn-gray {
    background-color: var(--gray-color);
    color: var(--text-color);
}

    .btn-gray:hover {
        background-color: var(--primary-color);
        color: var(--white-color);
    }
/* btn-css */
.item-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
}

.list-none {
    list-style: none;
    padding: 0;
    margin: 0;
}

.social-links {
    display: flex;
    gap: 14px;
    align-items: center;
}

.img-cover,
.img-contain {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.img-contain {
    object-fit: contain;
}

.shared-header {
    width: 100%;
    position: relative;
}
/* header */
.header-top {
    padding: 6px 0;
    background-color: var(--primary-color);
    color: var(--white-color);
    font-size: 14px;
}

    .header-top i {
        font-size: 8px;
    }

.selectors-group {
    display: flex;
    gap: 30px;
    align-items: center;
    justify-content: end;
}

    .selectors-group > * {
        position: relative;
    }

    .selectors-group > :not(:last-child):after {
        content: "";
        position: absolute;
        height: calc(100% - 10px);
        width: 1px;
        background-color: var(--white-color);
        opacity: 0.3;
        right: -15px;
        top: 5px;
    }

    .selectors-group > div > div {
        display: flex;
        align-items: center;
        cursor: pointer;
        letter-spacing: 0.5px;
        gap: 5px;
    }

    .selectors-group > div > ul {
        position: absolute;
        top: calc(100% + 20px);
        left: 0;
        min-width: 150px;
        background-color: var(--white-color);
        box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
        z-index: 8;
        padding: 0;
        margin: 0;
        list-style: none;
        opacity: 0;
        visibility: hidden;
        transition: var(--default-transition);
    }

    .selectors-group > div.active > ul {
        opacity: 1;
        visibility: visible;
        top: calc(100% + 8px);
    }

    .selectors-group > div > ul a {
        display: flex;
        align-items: center;
        padding: 6px 15px;
        color: var(--text-color);
        text-decoration: none;
        transition: var(--default-transition);
        text-transform: capitalize;
        font-size: 14px;
    }

        .selectors-group > div > ul a img {
            margin-right: 5px;
        }

    .selectors-group > div > ul li.active a,
    .selectors-group > div > ul li:hover a {
        color: var(--primary-color);
    }

    .selectors-group .flag-icon {
        width: 20px;
        height: 15px;
        margin-right: 5px;
        object-fit: contain;
    }

    .selectors-group .header-links a:hover {
        color: var(--white-color);
    }

.header-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    position: relative;
}

    /* .header-nav .header-logo {
        height: 35px;
        width: 165px;
    } */

.header-nav .header-logo {
    /* height: 35px; */
    width: 165px;
    MARGIN: 10PX;
}



        .header-nav .header-logo img {
            height: 100%;
            width: 100%;
            object-fit: contain;
        }

.header-links > ul {
    display: flex;
    align-items: center;
    justify-content: end;
    gap: 20px;
    color: var(--title-color);
}

    .header-links > ul li:hover {
        color: var(--primary-color);
    }

        .header-links > ul li:hover .ico-cart .cart-qty {
            background-color: var(--primary-color);
        }

.header-links i {
    cursor: pointer;
}

.header-links ul ul {
    position: absolute;
    right: 0;
    top: calc(100% + 20px);
    background-color: var(--white-color);
    min-width: 140px;
    box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
    z-index: 2;
    transition: var(--default-transition);
    opacity: 0;
    visibility: hidden;
}

.header-links ul li {
    position: relative;
}
.header-links ul li::before{
    content: "";
    position: absolute;
    --size: 30px;
    height: var(--size);
    width: var(--size);
    bottom: -10px;
    cursor: pointer;
}

    .header-links ul li.active ul,
    .header-links ul li:hover ul {
        opacity: 1;
        visibility: visible;
        top: calc(100% + 8px);
    }

.header-links li ul li a {
    color: var(--text-color);
    font-size: 13px;
    text-decoration: none;
    display: flex;
    width: 100%;
    padding: 10px;
    gap: 8px;
    align-items: center;
}

    .header-links li ul li a:hover {
        background-color: var(--primary-color);
        color: var(--white-color);
    }

.header-navigation .menu__item a {
    font-size: 17px;
    font-weight: 600;
    text-transform: capitalize;
    color: var(--title-color);
}

.header-navigation .menu > .menu__item > a,
.header-navigation .menu__item > .menu__item-toggle > a {
    min-height: 80px;
    display: flex;
    align-items: center;
    gap: 5px;
    transition: var(--default-transition);
}

    .header-navigation .menu__item > .menu__item-toggle > a::after {
        content: "\f078";
        font-family: "FontAwesome";
        font-weight: 300;
        font-size: 10px;
    }

.header-navigation .menu__item > a:hover {
    color: var(--primary-color);
}

.header-navigation .menu {
    display: flex;
    flex-wrap: wrap;
    gap: 0px 40px;
    align-items: center;
    justify-content: start;
}

.header-icons {
    position: relative;
    min-height: 80px;
    display: flex;
    align-items: center;
    transition: var(--default-transition);
}

    .header-icons:has( #topcartlink a:hover, .flyout-cart:not(.nop-cart-booster):hover ) > .flyout-cart {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }

.search-box-popup {
    opacity: 0;
    visibility: hidden;
    position: fixed;
    inset: 0;
    background-color: rgba(255, 255, 255, 0.95);
    display: grid;
    z-index: 9;
    transition: var(--default-transition);
}

    .search-box-popup.active {
        opacity: 1;
        visibility: visible;
    }

    .search-box-popup form {
        position: relative;
        max-width: 700px;
        width: 100%;
        margin: auto;
        border-bottom: 1px solid var(--border-color);
        display: flex;
        align-items: center;
    }

    .search-box-popup input {
        position: relative;
        height: 100%;
        width: 100%;
        border: 0;
        background: 0 0;
        outline: 0;
        font-family: var(--primary-fonts);
        color: var(--title-color);
        font-size: 30px;
        line-height: 2em;
        font-weight: 700;
        padding: 0;
    }

        .search-box-popup input::placeholder {
            color: #000000;
            opacity: 1;
        }

    .search-box-popup button {
        position: absolute;
        right: 0;
        bottom: 8px;
        width: auto;
        font-size: 18px;
        line-height: 1em;
        color: var(--text-color);
        background-color: transparent;
        border: none;
        outline: 0;
        cursor: pointer;
        transition: all 0.3s 0.2s;
    }

        .search-box-popup button:hover {
            color: var(--title-color);
        }

.ico-cart {
    position: relative;
}

    .ico-cart .cart-qty {
        position: absolute;
        top: -6px;
        right: -2px;
        background-color: var(--title-color);
        color: var(--white-color);
        font-size: 9px;
        width: 14px;
        height: 14px;
        border-radius: 50%;
        display: grid;
        place-items: center;
        transition: var(--default-transition);
    }

        .ico-cart .cart-qty:hover {
            background-color: var(--primary-color);
            color: #fff;
        }

.feature-banner {
    position: relative;
    height: 385px;
}

    .feature-banner .image {
        position: absolute;
        inset: 0;
    }

    .feature-banner .content {
        position: relative;
        z-index: 1;
        font-size: 15px;
        padding: 70px 19% 90px 12%;
        font-family: var(--secondary-fonts);
        height: inherit;
        display: grid;
        place-content: center;
        text-align: start;
    }

@media (width > 1599px) {
    .feature-banner .content {
        padding: 11% 35% 15% 15%;
    }
}

.feature-banner :is(h1, h2, h3, h4, h5, h6) {
    font-size: 30px;
    line-height: 1.2;
    font-weight: 700;
    color: var(--title-color);
    margin-bottom: 20px;
    font-family: var(--primary-fonts);
}

.feature-banner .btn-wrap {
    margin-top: 20px;
}

.feature-banner .btn-box {
    background-color: var(--primary-color);
    color: var(--white-color);
}

[class^="col-"]:nth-child(3)
:is(.feature-banner .content, .feature-banner :is(h1, h2, h3, h4, h5, h6)) {
    color: var(--white-color);
}

body:has(.admin-header-links)
.home-hero
:is(.swift-slider-container .slick-slide) {
    --admin-height: calc(var(--header-height) + 35px);
    max-height: calc(100vh - var(--admin-height));
}

.home-hero .slider-container.swift-slider-container {
    overflow: hidden;
    max-height: 700px;
}

.home-hero .swift-slider-container .slick-slide {
    max-height: calc(100vh - var(--header-height));
    position: relative;
    border-radius: 0;
}

.home-hero .slick-prev::before,
.home-hero .slick-next::before {
    font-size: 70px;
    color: #000;
}

.home-hero .swift-slider-container .slick-arrow.slick-next {
    right: 45px;
}

.home-hero .swift-slider-container .slick-arrow {
    background-color: transparent;
}

.home-hero .slick-dotted.slick-slider {
    margin-bottom: 0 !important;
}

.home-hero img {
    height: 100%;
    width: 100%;
    object-fit: cover;
}

.title-section .section-title, .product-grid div.title {
    font-size: 40px;
    font-weight: 600;
    line-height: 1.2;
    margin-bottom: 18px;
    font-family: var(--primary-fonts);
    color: var(--title-color);
}

.product-grid div.title {
    font-size: 32px;
}

.title-section {
    font-family: var(--secondary-fonts);
    font-size: 18px;
    line-height: 1.5;
    color: var(--text-color);
    margin-bottom: 60px;
}

    .title-section.center {
        text-align: center;
        max-width: 805px;
        margin-left: auto;
        margin-right: auto;
    }

.product-item .picture img {
    height: 300px;
}

body:has(.side-2) .product-item .picture img {
    height: 220px;
}

.product-item .picture a {
    width: 100%;
    height: 100%;
}

.product-item .product-pic-container {
    position: relative;
}

    .product-item .product-pic-container .product-buttons {
        position: absolute;
        inset: 0;
        padding: 10px;
        background-color: rgba(58, 58, 58, 0.2);
        display: grid;
        place-content: center;
        transition: var(--default-transition);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
    }

        .product-item .product-pic-container .product-buttons > * {
            pointer-events: auto;
        }

    .product-item .product-pic-container .side-icons {
        position: absolute;
        top: 10px;
        right: 10px;
        display: flex;
        flex-direction: column;
        gap: 10px;
    }

        .product-item .product-pic-container .side-icons button {
            --size: 30px;
            width: var(--size);
            height: var(--size);
            border-radius: 50%;
            background-color: var(--white-color);
            display: grid;
            place-items: center;
            outline: none;
            border: none;
            transition: var(--default-transition);
        }

    .product-item .product-pic-container:hover .product-buttons {
        opacity: 1;
        visibility: visible;
    }

    .product-item .product-pic-container .side-icons button:hover {
        background-color: var(--primary-color);
        color: var(--white-color);
    }

.product-item .product-content {
    padding: 25px 0 0;
    color: var(--title-color);
}

    .product-item .product-content .title {
        font-size: 21px;
        font-weight: 600;
    }

    .product-item .product-content .prices {
        font-size: 16px;
        font-family: var(--primary-fonts);
        font-weight: 600;
        margin-top: 15px;
    }

    .product-item .product-content .price.old-price {
        text-decoration: line-through;
        color: var(--text-color);
    }

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

    .product-item .rating {
        justify-content: center;
    }

    .product-item .description {
        display: none;
    }

.rating {
    display: flex;
    align-items: center;
    font-size: 14px;
    gap: 5px;
    margin: 10px 0;
}

.fa-light,
.fal {
    font-weight: 400;
}

.rating i.filled {
    color: var(--primary-color);
}
/* category-box */
.category-box .image {
    overflow: hidden;
}

    .category-box .image a {
        width: 100%;
        height: 100%;
    }

    .category-box .image img {
        transition: var(--default-transition);
        height: 280px;
    }

    .category-box .image:hover img {
        transform: scale(1.1);
    }

.category-box .content {
    margin-top: 35px;
    font-family: var(--secondary-fonts);
    text-align: center;
}

    .category-box .content .title {
        font-size: 24px;
        margin-bottom: 15px;
    }
/* team */
.team-card {
    position: relative;
}

    .team-card .image img {
        height: 500px;
    }

    .team-card .content {
        position: absolute;
        inset: 0;
        background-color: rgba(16, 16, 16, 0.55);
        transition: var(--default-transition);
        text-align: center;
        vertical-align: middle;
        padding: 15px 12%;
        color: var(--white-color);
        display: grid;
        place-content: center;
        opacity: 0;
        visibility: hidden;
    }

    .team-card:hover .content {
        opacity: 1;
        visibility: visible;
    }

    .team-card .content .title {
        font-size: 21px;
        color: inherit;
        margin-bottom: 13px;
    }

    .team-card .content .social-links {
        margin: 0;
        margin-top: 24px;
        justify-content: center;
        font-size: 13px;
        list-style: none;
        padding: 0;
    }

    .team-card .content p {
        margin: 0;
        text-align: unset;
    }

.counter-stats-section {
    background: var(--primary-color);
    padding: 60px 0;
}

.counter-stats-wrapper {
    display: flex;
    flex-wrap: wrap;
}

.counter-item {
    --size: 25%;
    flex: 0 0 var(--size);
    width: var(--size);
    text-align: center;
    padding: 20px 30px;
}

.counter-icon {
    margin-bottom: 24px;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 94px;
}

    .counter-icon img {
        max-width: 100%;
        height: auto;
        max-height: 94px;
    }

.counter-number {
    font-family: var(--primary-fonts);
    font-size: 48px;
    font-weight: 700;
    color: var(--white-color);
    line-height: 1.2;
    margin: 0 0 15px 0;
}

.counter-title {
    font-family: var(--secondary-fonts);
    font-size: 16px;
    font-weight: 400;
    color: var(--white-color);
    margin: 0;
    line-height: 1.4;
    text-transform: capitalize;
}
/* newsletter-section */
.newsletter-locations {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    text-align:start;
}

.newsletter .title-section {
    margin-bottom: 30px;
}

    .newsletter .title-section .section-title {
        font-size: 30px;
        margin-bottom: 10px;
    }

.location-block h4 {
    font-size: 23px;
    margin-bottom: 10px;
    font-weight: 700;
}

.location-block p {
    font-size: 15px;
    line-height: 1.6;
}

.newsletter {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

    .newsletter .title {
        margin: 0;
    }

        .newsletter .title strong {
            font-size: 24px;
            font-weight: 600;
            color: var(--title-color);
        }

.newsletter-email {
    display: flex;
    gap: 15px;
}

.newsletter-subscribe-text {
    flex: 1;
    padding: 13px 24px;
    border: 1px solid var(--border-color);
    height: auto;
    min-width: 0;
}

.newsletter-subscribe-button {
    min-width: 120px;
    white-space: nowrap;
    background-color: var(--primary-color);
    color: var(--white-color);
    border: none;
    padding: 13px 30px;
    cursor: pointer;
    transition: var(--default-transition);
    text-transform: uppercase;
    font-weight: 600;
}

    .newsletter-subscribe-button:hover {
        background-color: var(--secondary-color) !important;
    }

.inputs:has([for="Newsletter"]) {
    display: flex;
    align-items: center;
    gap: 10px;
}

    .inputs:has([for="Newsletter"]) label {
        width: auto;
        margin: 0;
    }

    .inputs:has([for="Newsletter"]) input {
        position: relative;
        top: 1px;
    }

/* 4.9 newsletter Subscription Account Page */
.newsletter-subscription-item {
    display: flex;
    align-items: center;
    gap: 8px;
}

    .newsletter-subscription-item label {
        width: auto !important;
        margin: 0;
    }

    .newsletter-subscription-item input[type="checkbox"] {
        margin-left: 0 !important;
    }

.home-map {
    height: 520px;
    width: 100%;
    margin: 0;
}

    .home-map iframe {
        width: 100%;
        height: 100%;
        border: 0;
    }
/* footer */
.custom-footer {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
}

.bottomTop {
    --size: 39px;
    --position: 21px;
    height: var(--size);
    width: var(--size);
    display: grid;
    place-items: center;
    border: 0;
    background-color: var(--primary-color);
    color: var(--white-color);
    position: fixed;
    bottom: var(--position);
    right: var(--position);
    transition: var(--default-transition);
    opacity: 0;
    visibility: hidden;
    z-index: 998;
}

    .bottomTop.show {
        opacity: 1;
        visibility: visible;
        font-size: 15px;
    }

    .bottomTop i {
        transition: var(--default-transition);
    }

    .bottomTop:hover i {
        transform: translateY(-2px);
    }

.footer-upper {
    padding: 130px 0;
    background-color: var(--dark-gray-1);
}

    .footer-upper img {
        height: 35px;
        width: 165px;
        object-fit: contain;
        margin-bottom: 20px;
        filter: invert(1);
    }

.footer-info-address .item + .item {
    margin-top: 8px;
}

.footer-info-address .item {
    display: flex;
    align-items: center;
    gap: 10px;
}

    .footer-info-address .item i {
        color: var(--white-color);
    }

.footer-upper-content {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
}

    .footer-upper-content .footer-navigation {
        flex: 1;
    }

.footer-left {
    width: 350px;
}

.footer-menu {
    display: block;
    width: fit-content;
    max-width: 280px;
    text-align: left;
}

.footer-menu__list {
    background-color: transparent;
}

.footer-menu__item {
    padding-block: 5px;
}

    .footer-menu__item:hover {
        color: var(--white-color);
    }

.footer-menu__title {
    display: block;
    font-size: 18px;
    color: var(--white-color);
    cursor: auto;
    margin-bottom: 18px;
    background: none;
    padding: 0;
    text-transform: capitalize;
}

.footer-menu__link {
    display: flex;
    align-items: center;
    gap: 10px;
    line-height: 20px;
    color: var(--text-color);
    cursor: pointer;
    text-align: left;
    position: relative;
}

.follow-us ul.networks {
    padding-left: 0px;
}

.footer-menu__link:hover {
    color: var(--white-color);
}

.footer-lower {
    padding: 30px 0;
    background-color: var(--dark-gray-color);
    color: var(--text-color);
}

.footer-lower-content {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 3px;
    text-align: center;
    font-size: 14px;
    overflow-x: auto;
}

    .footer-lower-content .text-wrap {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
    }

        .footer-lower-content .text-wrap > *:not(:first-child)::before {
            content: "|";
            margin: 0 5px;
        }

.product-layout {
    --left-content: 51%;
    --gap: 85px;
    --right-content: calc(100% - var(--left-content) - var(--gap));
}

    .product-layout .gallery {
        position: sticky;
        top: 110px;
    }

.product-gallery-column {
    display: flex;
    flex-direction: column;
}

/* Overview styling */
.overview {
    padding: 0;
}

/*  QUANTITY BUTTONS STYLING  */
.qtn-box {
    display: flex;
    gap: 0;
}

.qty-input {
    width: 56px;
    padding: 10px;
    text-align: center;
    border: 1px solid #e1e1e1;
    font-size: 14px;
    font-weight: 600;
    color: var(--title-color);
}

.qty-btns {
    display: flex;
    flex-direction: column;
    gap: 0;
    border: 1px solid #e1e1e1;
    border-left: none;
}

.btn-qty {
    --size: 28px;
    width: var(--size);
    height: var(--size);
    padding: 0;
    border: none;
    border-bottom: 1px solid #e1e1e1;
    background-color: #fff;
    cursor: pointer;
    font-size: 12px;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}

    .btn-qty:last-child {
        border-bottom: none;
    }

    .btn-qty:hover {
        background-color: #f0f0f0;
    }

    .btn-qty i {
        font-size: 10px;
        color: var(--text-color);
    }

/* Add to Cart Panel */
.add-to-cart-panel {
    display: flex;
    gap: 20px;
}

.product-box-add-to-cart-button {
    flex: 1;
    min-height: 45px;
    padding: 12px 20px;
    color: #fff;
    border: none;
    cursor: pointer;
    font-weight: 600;
    font-size: 14px;
    transition: all 0.3s ease;
}

.accordion-button {
    width: 100%;
    padding: 17px 0;
    background-color: #fff;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 0;
    font-size: 16px;
    font-weight: 600;
    color: var(--title-color);
    text-align: left;
    transition: all 0.3s ease;
}

.accordion-icon {
    display: inline-flex;
    align-items: center;
    min-width: 20px;
    font-size: 18px;
    font-weight: bold;
    color: var(--text-color);
}

.accordion-title {
    color: var(--title-color);
    font-size: 15px;
    font-weight: 700;
    font-family: var(--primary-fonts);
}

.accordion-button.active .accordion-icon {
    color: #000;
}

.accordion-item .accordion-button {
    border-top: 1px solid var(--border-color);
}

.accordion-item:last-child .accordion-button {
    border-bottom: 1px solid var(--border-color);
}

.accordion-content {
    display: none;
    padding: 21px 0 16px;
    text-align: start;
    border-bottom: 1px solid var(--border-color);
}

    .accordion-content.active {
        display: block;
    }

.image-zoom-dialog {
    display: none;
    position: fixed;
    inset: 0;
    margin: auto;
    width: 650px;
    height: 700px;
    max-width: 90vw;
    max-height: 90vh;
    border: none;
    border-radius: 8px;
    padding: 40px 20px 20px;
    background: #fff;
    overflow: hidden;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.4);
    flex-direction: column;
}

    .image-zoom-dialog[open] {
        display: flex;
    }

    .image-zoom-dialog::backdrop {
        background: rgba(0, 0, 0, 0.75);
    }

.close-dialog-btn {
    position: absolute;
    top: 8px;
    right: 12px;
    background: none;
    border: none;
    cursor: pointer;
    z-index: 10;
    padding: 6px;
    transition: var(--default-transition);
}

    .close-dialog-btn i {
        font-size: 20px;
        color: var(--title-color);
        transition: var(--default-transition);
    }

    .close-dialog-btn:hover i {
        color: #c83f49;
    }

.dialog-main-image {
    flex: 1;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    margin-bottom: 15px;
    min-height: 0;
}

/* Prev / Next buttons */
.dialog-nav-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 5;
    background: rgba(255, 255, 255, 0.85);
    border: none;
    border-radius: 50%;
    width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 14px;
    color: var(--title-color);
    transition: var(--default-transition);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

    .dialog-nav-btn:hover {
        background: var(--primary-color);
        color: #fff;
    }

.dialog-prev-btn {
    left: 10px;
}

.dialog-next-btn {
    right: 10px;
}

.zoom-container {
    overflow: hidden;
    width: 100%;
    height: 100%;
    cursor: crosshair;
    display: flex;
    align-items: center;
    justify-content: center;
}

.zoomable-image {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    transition: transform 0.1s ease;
    display: block;
}

.dialog-thumbnails {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: center;
    border-top: 1px solid var(--border-color);
    padding-top: 15px;
    flex-shrink: 0;
}

.dialog-thumb-item img {
    width: 70px;
    height: 70px;
    object-fit: cover;
    cursor: pointer;
    border: 2px solid transparent;
    transition: border-color 0.2s ease;
}

    .dialog-thumb-item img.active,
    .dialog-thumb-item img:hover {
        border-color: var(--primary-color);
    }

/* EMAIL A FRIEND PAGE */

.email-a-friend-page {
    max-width: 1200px;
    margin: 0 auto;
    padding: 40px 20px;
}

    /* Page Title - Override all defaults */
    .email-a-friend-page .page-title {
        text-align: center !important;
        margin: 0 0 15px 0 !important;
        min-height: auto !important;
        border-bottom: none !important;
        padding: 0 !important;
    }

        .email-a-friend-page .page-title h1 {
            font-size: 28px;
            font-weight: 200;
            color: #333;
            margin: 0;
            padding: 0;
        }

/* Card Wrapper */
.email-friend-card-wrapper {
    max-width: 550px;
    margin: 0 auto;
    background: #fff;
    border-radius: 12px;
    box-shadow: 1px 2px 13px rgb(0 0 0 / 0.16);
    overflow: hidden;
}

/* Override default page-body flex */
.email-a-friend-page .page-body {
    display: block !important;
    flex-direction: unset !important;
    gap: 0 !important;
    padding: 30px;
}

/* Product Title */
.email-a-friend-page .title {
    text-align: center;
    margin: 0 15px 15px;
}

    .email-a-friend-page .title h2 {
        margin: 0;
        font-size: 18px;
        font-weight: 600;
    }

    .email-a-friend-page .title a.product {
        text-decoration: none;
        transition: color 0.3s ease;
    }

/* Success Result */
.email-a-friend-page .result {
    padding: 15px;
    background: #d4edda;
    border: 1px solid #c3e6cb;
    border-radius: 6px;
    color: #155724;
    text-align: center;
    font-size: 15px;
    font-weight: 500;
}

/* Validation Summary */
.email-a-friend-page .message-error {
    padding: 12px 15px;
    background: #f8d7da;
    border: 1px solid #f5c6cb;
    border-radius: 6px;
    color: #721c24;
    margin-bottom: 20px;
    font-size: 13px;
}

    .email-a-friend-page .message-error ul {
        margin: 0;
        padding-left: 20px;
    }

/* Form Fields - Override default gap */
.email-a-friend-page .fieldset {
    margin-bottom: 25px;
}

.email-a-friend-page .form-fields {
    display: block !important;
    gap: 0 !important;
    border-top: 0px;
    background-color: transparent;
    padding: 15px;
    border-radius: 8px;
}

/* Input groups */
.email-a-friend-page .inputs {
    margin-bottom: 20px;
}

    .email-a-friend-page .inputs:last-child {
        margin-bottom: 0;
    }

    /* Label and required asterisk on same line */
    .email-a-friend-page .inputs label {
        display: inline;
        font-size: 14px;
        font-weight: 600;
        color: #333;
        text-align: left;
    }

    /* CRITICAL FIX: Force nop-required to be inline */
    .email-a-friend-page .inputs .nop-required,
    .email-a-friend-page .nop-required,
    .email-a-friend-page .required {
        display: inline !important;
        color: #e74c3c;
        margin-left: 0;
        font-size: 14px;
        font-weight: 700;
    }

    /* Input Fields */
    .email-a-friend-page .inputs input[type="text"],
    .email-a-friend-page .inputs input[type="email"],
    .email-a-friend-page .inputs textarea {
        width: 100%;
        padding: 10px 14px;
        font-size: 14px;
        border: 1px solid #ddd;
        border-radius: 6px;
        transition: all 0.3s ease;
        font-family: inherit;
        box-sizing: border-box;
        display: block;
        margin-top: 8px;
    }

        .email-a-friend-page .inputs input:hover,
        .email-a-friend-page .inputs textarea:hover {
            border-color: #999;
        }

        .email-a-friend-page .inputs input:focus,
        .email-a-friend-page .inputs textarea:focus {
            outline: none;
            border-color: #5d8eb3;
            box-shadow: 0 0 0 3px rgba(93, 142, 179, 0.1);
        }

    /* Textarea */
    .email-a-friend-page .inputs textarea {
        min-height: 100px;
        resize: vertical;
    }

        /* Placeholder */
        .email-a-friend-page .inputs input::placeholder,
        .email-a-friend-page .inputs textarea::placeholder {
            color: #999;
            opacity: 1;
        }

/* Validation Error Messages */
.email-a-friend-page .field-validation-error {
    display: block;
    margin-top: 4px;
    font-size: 12px;
    color: #e74c3c;
}

.email-a-friend-page .input-validation-error {
    border-color: #e74c3c !important;
}

    .email-a-friend-page .input-validation-error:focus {
        box-shadow: 0 0 0 3px rgba(231, 76, 60, 0.1) !important;
    }

/* Captcha */
.email-a-friend-page .captcha-box {
    margin-top: 15px;
}

/* Buttons Section */
.email-a-friend-page .buttons {
    text-align: center;
    margin-top: 15px;
}

.email-a-friend-page .send-email-a-friend-button {
    padding: 12px 35px;
    font-size: 15px;
    font-weight: 600;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.3s ease;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    box-shadow: 0 3px 10px rgba(93, 142, 179, 0.3);
}

    .email-a-friend-page .send-email-a-friend-button:hover {
        background-color: var(--secondary-color);
        color: #fff;
        box-shadow: 0 4px 14px rgba(93, 142, 179, 0.4);
        transform: translateY(-1px);
    }

    .email-a-friend-page .send-email-a-friend-button:active {
        transform: translateY(0);
        box-shadow: 0 2px 6px rgba(93, 142, 179, 0.3);
    }

/* RESPONSIVE */

@media (max-width: 768px) {
    .email-a-friend-page {
        padding: 20px 15px;
    }

        .email-a-friend-page .page-title {
            margin-bottom: 20px !important;
        }

            .email-a-friend-page .page-title h1 {
                font-size: 24px;
            }

    .email-friend-card-wrapper {
        border-radius: 8px;
        max-width: 100%;
    }

    .email-a-friend-page .page-body {
        padding: 25px 20px;
    }

    .email-a-friend-page .title h2 {
        font-size: 16px;
    }

    .email-a-friend-page .send-email-a-friend-button {
        width: 100%;
        padding: 12px 30px;
        font-size: 14px;
    }
}

@media (max-width: 480px) {
    .email-a-friend-page .page-body {
        padding: 20px 15px;
    }

    .email-a-friend-page .inputs {
        margin-bottom: 15px;
    }
}

/* REGISTRATION PAGE */

.registration-page {
    padding-bottom: 80px;
}

    .registration-page .page-body {
        max-width: 860px;
        margin: 0 auto;
    }

    .registration-page .message-error {
        margin: 0 0 20px;
        padding: 14px 20px;
        background: #fdf0f2;
        border: 1px solid #f5c6cb;
        text-align: left;
        font-size: 13px;
        color: var(--error-red-color);
    }

    .registration-page .fieldset {
        background: #fff;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.07);
        padding: 36px 48px;
        margin: 0 0 24px;
    }

        .registration-page .fieldset .title {
            margin: 0 0 24px;
            padding-bottom: 16px;
            border-bottom: 1px solid var(--border-color);
            font-size: 17px;
            font-weight: 700;
            color: var(--title-color);
            font-family: var(--primary-fonts);
        }

    .registration-page .form-fields {
        background: transparent;
        border-top: none;
        padding: 0;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0 24px;
    }

    .registration-page .inputs {
        display: flex;
        flex-direction: column;
        text-align: left;
        margin-bottom: 20px;
    }

        .registration-page .inputs label {
            display: block;
            width: 100%;
            margin: 0 0 8px;
            font-size: 13px;
            font-weight: 600;
            color: var(--title-color);
            text-transform: uppercase;
            letter-spacing: 0.4px;
        }

        .registration-page .inputs input[type="text"],
        .registration-page .inputs input[type="email"],
        .registration-page .inputs input[type="tel"],
        .registration-page .inputs input[type="password"],
        .registration-page .inputs select,
        .registration-page .inputs textarea {
            width: 100%;
            height: 46px;
            padding: 0 16px;
            border: 1px solid var(--border-color);
            font-size: 14px;
            color: var(--title-color);
            background: #fff;
            font-family: var(--secondary-fonts);
            transition: border-color 0.2s ease;
            box-shadow: none;
            outline: none;
            -webkit-appearance: none;
            appearance: none;
        }

        .registration-page .inputs textarea {
            height: 120px;
            padding: 12px 16px;
            resize: vertical;
        }

        .registration-page .inputs select {
            background-repeat: no-repeat;
            background-position: right 14px center;
            padding-right: 36px;
        }

            .registration-page .inputs input[type="text"]:focus,
            .registration-page .inputs input[type="email"]:focus,
            .registration-page .inputs input[type="tel"]:focus,
            .registration-page .inputs input[type="password"]:focus,
            .registration-page .inputs select:focus,
            .registration-page .inputs textarea:focus {
                outline: none;
                border-color: var(--border-color);
                box-shadow: none;
            }

        .registration-page .inputs label .required {
            display: inline;
            margin-left: 2px;
            font-size: 12px;
            color: var(--error-red-color);
            font-weight: 600;
            vertical-align: super;
        }

        .registration-page .inputs .field-validation-error {
            position: static;
            text-align: left;
            font-size: 12px;
            margin-top: 5px;
            color: var(--error-red-color);
        }

        .registration-page .inputs:has(.gender),
        .registration-page .inputs.date-of-birth,
        .registration-page .inputs:has(input[type="email"]),
        .registration-page .inputs:has(input#Username),
        .registration-page .inputs:has(input#ConfirmEmail) {
            grid-column: 1 / -1;
        }

    .registration-page .gender {
        display: flex;
        gap: 24px;
        align-items: center;
    }

        .registration-page .gender span {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            margin: 0;
        }

        /* Hide native radio completely */
        .registration-page .gender input[type="radio"] {
            -webkit-appearance: none;
            appearance: none;
            width: 16px;
            height: 16px;
            border: 1.5px solid #333;
            border-radius: 50%;
            background: #fff;
            cursor: pointer;
            flex-shrink: 0;
            margin: 0;
            padding: 0;
            outline: none !important;
            box-shadow: none !important;
            position: relative;
            display: inline-block;
            transition: border-color 0.15s ease;
        }

            /* Green fill with white gap via box-shadow inset */
            .registration-page .gender input[type="radio"]:checked {
                border-color: #333;
                background: var(--primary-color);
                box-shadow: inset 0 0 0 3px #fff !important;
            }

            .registration-page .gender input[type="radio"]:focus {
                outline: none !important;
                box-shadow: none !important;
            }

            .registration-page .gender input[type="radio"]:checked:focus {
                outline: none !important;
                box-shadow: inset 0 0 0 3px #fff !important;
            }

        .registration-page .gender label.forcheckbox {
            font-size: 14px;
            font-weight: 500;
            text-transform: none;
            letter-spacing: 0;
            cursor: pointer;
            margin: 0;
            width: auto;
            color: var(--title-color);
        }

    .registration-page .inputs.date-of-birth select {
        width: auto;
        min-width: 110px;
        max-width: 140px;
        display: inline-block;
        margin-right: 8px;
    }

    .registration-page .inputs:has(input#Newsletter) {
        flex-direction: row;
        align-items: center;
        gap: 10px;
        grid-column: 1 / -1;
    }

        .registration-page .inputs:has(input#Newsletter) input[type="checkbox"] {
            width: 16px;
            height: 16px;
            accent-color: var(--primary-color);
            cursor: pointer;
            flex-shrink: 0;
            order: 0;
            border: none;
            outline: none;
            box-shadow: none;
        }

        .registration-page .inputs:has(input#Newsletter) label {
            margin: 0;
            width: auto;
            cursor: pointer;
            order: 1;
        }

    .registration-page .inputs.accept-consent {
        flex-direction: row;
        align-items: center;
        gap: 10px;
        flex-wrap: wrap;
        grid-column: 1 / -1;
    }

        .registration-page .inputs.accept-consent label {
            width: auto;
            margin: 0;
            font-size: 14px;
            font-weight: 400;
            text-transform: none;
            letter-spacing: 0;
            cursor: pointer;
            color: var(--text-color);
        }

        .registration-page .inputs.accept-consent input[type="checkbox"] {
            width: 16px;
            height: 16px;
            flex-shrink: 0;
            accent-color: var(--primary-color);
            cursor: pointer;
            margin: 0;
            border: none;
            outline: none;
            box-shadow: none;
        }

        .registration-page .inputs.accept-consent span,
        .registration-page .inputs.accept-consent a {
            font-size: 14px;
            color: var(--primary-color);
            cursor: pointer;
            font-weight: 500;
            text-transform: none;
            letter-spacing: 0;
        }

    .registration-page .login-password {
        position: relative;
        width: 100%;
        display: block;
    }

        .registration-page .login-password input {
            padding-right: 44px;
        }

    /* Password fieldset — single column */
    .registration-page .fieldset:has(input#Password) .form-fields {
        grid-template-columns: 1fr;
    }

    .registration-page .buttons {
        text-align: center;
        margin-top: 8px;
        padding: 0;
        background: transparent;
    }

        .registration-page .buttons .btn-box {
            padding: 14px 60px;
            font-size: 12px;
            letter-spacing: 1px;
            min-width: 220px;
        }

@media (max-width: 768px) {
    .registration-page .fieldset {
        padding: 24px 20px;
    }

    .registration-page .form-fields {
        grid-template-columns: 1fr;
    }

    .registration-page .inputs:has(.gender),
    .registration-page .inputs.date-of-birth,
    .registration-page .inputs:has(input[type="email"]),
    .registration-page .inputs:has(input#Username),
    .registration-page .inputs:has(input#ConfirmEmail),
    .registration-page .inputs.accept-consent,
    .registration-page .inputs:has(input#Newsletter) {
        grid-column: auto;
    }

    .registration-page .buttons .btn-box {
        width: 100%;
        min-width: unset;
    }
}

.related-products-grid,
.also-purchased-products-grid {
    margin-top: 50px;
}

.related-products-splide .splide__arrows,
.also-purchased-splide .splide__arrows {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 300px;
    pointer-events: none;
}

.related-products-splide .splide__arrow,
.also-purchased-splide .splide__arrow {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: #fff;
    border: 1px solid #e0e0e0;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    opacity: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.3s ease;
    position: absolute;
    top: 50%;
    pointer-events: auto;
}

.related-products-splide .splide__arrow--prev,
.also-purchased-splide .splide__arrow--prev {
    left: -20px;
}

.related-products-splide .splide__arrow--next,
.also-purchased-splide .splide__arrow--next {
    right: -20px;
}

.related-products-splide .splide__arrow i,
.also-purchased-splide .splide__arrow i {
    color: #333;
    font-size: 14px;
    transition: color 0.2s ease;
}

.related-products-splide .splide__arrow:hover,
.also-purchased-splide .splide__arrow:hover {
    background: var(--primary-color);
    border-color: var(--primary-color);
}

    .related-products-splide .splide__arrow:hover i,
    .also-purchased-splide .splide__arrow:hover i {
        color: #fff;
    }

.related-products-splide .splide__arrow:disabled,
.also-purchased-splide .splide__arrow:disabled {
    opacity: 0.25;
    pointer-events: none;
}

.related-products-splide .splide__slide,
.also-purchased-splide .splide__slide {
    transition: transform 0.3s ease;
}

/* CROSS-SELLS */
.cross-sells {
    padding-bottom: 50px;
}

    .cross-sells > .title {
        padding: 20px 0;
        margin-bottom: 20px;
    }

        .cross-sells > .title strong {
            color: var(--title-color);
            font-size: 20px;
            font-weight: 700;
        }


/********** PRODUCT REVIEWS **********/

.product-reviews h1 a {
    color: var(--primary-color);
}

    .product-reviews h1 a:before,
    .product-reviews h1 a:after {
        content: "''";
    }

.product-reviews .title {
    margin: 0 0 20px;
    font-size: 32px;
    font-weight: bolder;
    color: var(--dark-gray-color);
}

    .write-review .fieldset {
        margin: 0 0 30px;
    }

.tooltip {
    position: initial;
    display: inline-block;
    border-bottom: 1px dotted black;
    color: var(--dark-gray-color);
}

    .tooltip .tooltiptext {
        visibility: hidden;
        width: auto;
        background: #f0f0f0 no-repeat 100% 5%;
        border: #c0c0c0 1px dotted;
        text-align: Left;
        padding: 10px 10px 5px 5px;
        position: absolute;
        z-index: 1;
        left: 10%;
        opacity: 0;
        transition: opacity 0.3s;
    }

        .tooltip .tooltiptext::after {
            content: "";
            position: absolute;
        }

    .tooltip:hover .tooltiptext,
    .tooltip:focus .tooltiptext {
        visibility: visible;
        opacity: 1;
        cursor: help;
    }

.write-review .review-rating div.first {
    color: var(--error-red-color);
}

.write-review .review-rating div.last {
    color: var(--success-green-color);
}


.write-review .rating-options {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 4px;
}

    .write-review .rating-options input[type="radio"] {
        display: none;
    }

    /* star-label is the clickable wrapper — size it up */
    .write-review .rating-options label.star-label {
        cursor: pointer;
        line-height: 1;
        display: inline-flex;
        align-items: center;
    }

        /* The <i> inside uses the same .rating i / .rating i.filled pattern */
        .write-review .rating-options label.star-label i {
            font-size: 20px;
            transition: color 0.15s ease;
        }

            .write-review .rating-options label.star-label i.filled {
                color: var(--primary-color);
            }


.write-review .captcha-box {
    margin: 15px 0 0;
}

.write-review .button-1 {
    border: none;
    background-color: var(--primary-color);
    padding: 10px 25px;
    text-align: center;
    font-size: 15px;
    color: #fff;
    text-transform: uppercase;
}

    .write-review .button-1:hover,
    .write-review .button-1:focus {
        background-color: var(--primary-color);
    }

.product-reviews .result,
.product-reviews .message-error {
    margin: 0 0 20px;
}

/* PRODUCT REVIEWS LIST */

.product-reviews-page .page-title h1 {
    font-size: 24px;
    font-weight: 700;
    color: var(--title-color);
    margin-bottom: 24px;
    padding-top: 24px;
}

    .product-reviews-page .page-title h1 a {
        color: var(--primary-color);
        text-decoration: none;
    }

        .product-reviews-page .page-title h1 a:hover {
            text-decoration: underline;
        }

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

    .reviews-header h2 {
        margin: 0;
        font-size: 18px;
        font-weight: 700;
        color: var(--title-color);
        font-family: var(--primary-fonts);
    }

.product-review-list {
    margin: 50px 0;
}

/* Individual card */

.product-review-item {
    padding: 20px 0;
    border-bottom: 1px solid var(--border-color)
}

    .product-review-item:last-child {
        border: 0
    }

    .product-review-item .comment-info {
        position: relative;
        height: 100%
    }

    .product-review-item .review-info {
        display: flex;
        flex-direction: column
    }

    .product-review-item .rating {
        margin-bottom: 20px;
        color: var(--star-color)
    }

    .product-review-item .review-content .title {
        font-size: 16px;
        font-weight: 500;
        line-height: normal
    }

        .product-review-item .review-content .title a {
            color: var(--primary-color)
        }

            .product-review-item .review-content .title a:hover {
                text-decoration: underline
            }

.product-reviews .btn-wrap {
    margin-top: 15px
}

/* ---- TWO COLUMN LAYOUT ---- */

.review-layout {
    display: grid;
    grid-template-columns: 140px 1fr;
    gap: 24px;
}

/* LEFT — Author */
.review-author-column {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding-right: 24px;
    border-right: 1px solid var(--border-color);
}

    .review-author-column .avatar {
        margin-bottom: 12px;
        background: none !important;
        border: none !important;
        padding: 0 !important;
    }

    .review-author-column .avatar-img {
        width: 72px;
        height: 72px;
        border-radius: 50%;
        object-fit: cover;
        border: 3px solid var(--border-color);
        background: #fff;
    }

.author-info {
    width: 100%;
    margin-top: 12px;
}

.author-name {
    font-size: 14px;
    font-weight: 700;
    color: var(--title-color);
    margin-bottom: 6px;
}

    .author-name a {
        color: var(--primary-color);
        text-decoration: none;
    }

        .author-name a:hover {
            text-decoration: underline;
        }

.review-date {
    font-size: 12px;
    color: #999;
    line-height: 1.4;
}

/* RIGHT — Content */
.review-content-column {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

/* Title row */
.review-title-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 15px;
    padding-bottom: 12px;
}

.review-title-heading {
    font-size: 16px;
    font-weight: 700;
    color: var(--title-color);
    margin: 0;
    font-family: var(--primary-fonts);
}

/* Review text */
.review-content-column .review-text {
    font-size: 14px;
    line-height: 1.7;
    color: var(--text-color);
}

/* Additional review types */
.review-type-rating-ext {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 12px;
    background: #f8f9fa;
    border-radius: 4px;
}

.review-type-name {
    font-size: 13px;
    font-weight: 500;
    color: #666;
}


.product-review-helpfulness {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 13px;
    color: var(--title-color);
}

.thumb-votes {
    display: inline-flex;
    align-items: center;
    gap: 16px;
    font-size: 18px;
}

.thumb-btn {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    cursor: pointer;
    transition: transform 0.15s ease, opacity 0.2s ease;
    background: none;
    border: none;
    padding: 0;
    color: inherit;
}

    .thumb-btn:hover {
        transform: scale(1.1);
        opacity: 0.75;
    }

    .thumb-btn sub {
        font-size: 11px;
        opacity: 0.6;
        margin-left: 2px;
    }

.product-review-helpfulness .result {
    font-size: 12px;
    color: var(--primary-color);
    font-weight: 600;
    margin-left: 8px;
}


.reply {
    margin-top: 8px;
    padding: 14px 16px;
    background: #f0f7ff;
    border-left: 3px solid var(--primary-color);
}

.reply-header {
    font-weight: 700;
    color: var(--primary-color);
    margin-bottom: 6px;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

.reply-text {
    font-size: 14px;
    line-height: 1.6;
    color: #555;
}

.result.review-already-added {
    padding: 18px;
    background: #f6fbf6;
    border: 1px solid #c8e6c9;
    font-size: 20px;
    font-family: var(--primary-fonts);
    color: var(--secondary-color);
    margin-top: 70px;
    text-align: center;
}

@media (max-width: 768px) {
    .review-layout {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .review-author-column {
        flex-direction: row;
        align-items: center;
        text-align: left;
        gap: 14px;
        padding-right: 0;
        border-right: none;
        padding-bottom: 16px;
        border-bottom: 1px solid var(--border-color);
    }

        .review-author-column .avatar {
            margin-bottom: 0;
            flex-shrink: 0;
        }

        .review-author-column .avatar-img {
            width: 52px;
            height: 52px;
        }

    .author-info {
        margin-top: 0;
    }

    .review-title-row {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }

    .write-review .rating-options label.star-label i {
        font-size: 16px;
    }
}

@media (min-width: 769px) {
    .product-review-item .review-title {
        float: none;
        max-width: none;
    }

    .product-review-item .product-review-box {
        float: none;
    }

    .write-review .review-rating div {
        display: inline-block;
        font-size: 14px;
        margin-right: 5px;
    }
}

@media (min-width: 1001px) {
    .product-review-item .review-title {
        max-width: 850px;
    }
}

@media (min-width: 1367px) {
    .product-review-item .review-title {
        max-width: 1050px;
    }
}

.apply-vendor-page {
    padding-bottom: 20px;
}


.file-field {
    padding: 10px;
    border: 2px dashed #ddd;
    border-radius: 6px;
    background: var(--gray-color);
    cursor: pointer;
    transition: all .3s;
    width: 100%;
    max-width: 400px
}

    .file-field:hover {
        border-color: var(--primary-color);
        background: var(--border-color)
    }

    .file-field:focus {
        outline: 0;
        border-color: var(--primary-color);
        box-shadow: 0 0 0 3px rgba(102,126,234,.1)
    }

    .file-field::file-selector-button {
        padding: 8px 16px;
        border: 0;
        border-radius: 4px;
        background: var(--primary-color);
        color: var(--white-color);
        cursor: pointer;
        margin-right: 10px;
        transition: var(--default-transition)
    }

        .file-field::file-selector-button:hover {
            background: var(--text-color)
        }

.search-box .ui-widget.ui-widget-content {
    width: 100%
}

.cart-footer .checkout-buttons a {
    display: block !important;
    width: 100%;
    border: 1px solid var(--border-color);
    background-color: #fff;
    color: var(--title-color);
    font-size: 14px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 1px;
    cursor: pointer;
    transition: var(--default-transition);
    text-align: center;
}

    .cart-footer .checkout-buttons a:hover {
        background-color: var(--title-color);
        color: #fff;
    }
 
.wishlist-tabs-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    padding-bottom: 15px;
}

.wishlist-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.wishlist-tab-btn {
    display: inline-block;
    padding: 10px 24px;
    font-size: 16px;
    font-weight: 600;
    font-family: var(--primary-fonts);
    color: var(--title-color);
    text-decoration: none;
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
    transition: var(--default-transition);
    cursor: pointer;
    text-transform:capitalize;
}

    .wishlist-tab-btn:hover {
        color: var(--primary-color);
        border-bottom-color: var(--primary-color);
    }

    .wishlist-tab-btn.active {
        color: var(--primary-color);
        border-bottom-color: var(--primary-color);
        font-weight: 600;
    }


.add-new-wishlist-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    height: 44px;
    padding: 0 20px;
    font-size: 12px;
    font-weight: 600;
    font-family: var(--secondary-fonts);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border: 1px solid var(--border-color);
    background-color: #fff;
    color: var(--title-color);
    cursor: pointer;
    transition: var(--default-transition);
    white-space: nowrap;
}

.add-new-wishlist-btn:hover {
    background-color: var(--primary-color);
    color: #fff;
    border-color: var(--primary-color);
}

.add-new-wishlist-btn i {
    font-size: 11px;
}

.filter-level-search .advanced-search{
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
    justify-content: center;
}
.filter-level-search .inputs{
    margin-top: 0;
    width: 100%;
    max-width: 300px;
}
.filter-level-search .title-section{
    margin-bottom: 30px;
}
.registration-page .attributes li{
    display: flex;
    align-items: center;
    gap: 10px;
}
.registration-page .attributes li label{
    display: inline-block;
    width: auto;
    margin: 0;
}
.registration-page .attributes li input{
    margin-top: 0;
}

.menu, .menu-container {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    font-size: 18px;
}
.menu-container{
    flex-wrap: nowrap;
}

.menu__item.menu-dropdown {
     position: relative;
}

.menu__list-view {
     position: absolute;
     top: 100%;
     opacity: 0;
     visibility: hidden;
     background-color: var(--color-white);
     left: 0;
     min-width: 200px;
     transition: all 0.3s ease;
     z-index: 1;
}

.menu__item.menu-dropdown:hover .menu__list-view {
     opacity: 1;
     visibility: visible;
}

.menu-layout .categories-list {
    z-index:1;
}

/* ============================================================ */
/* ===                                                      === */
/* ===           CUSTOM OVERRIDES — prvnipendlerska         === */
/* ===                                                      === */
/* ===  Vlastní úpravy nad SuperFood + 3rd-party pluginy.   === */
/* ===  Loadované jako poslední, vyhrávají specificitou /   === */
/* ===  pořadím. Sem patří VŠE custom v této šabloně.       === */
/* ===                                                      === */
/* ============================================================ */

/* --- MakeMyMenu: full-width místo 1200px ------------------- */
@media screen and (min-width: 769px) {
    .menu-layout {
        max-width: none !important;
        width: 100%;
    }
}

/* --- PpBlog: home widget (port Emporium RichBlog stylu) ---- */
.pp-blog-homepage {
    max-width: 1200px;
    margin: 40px auto 60px;
    padding: 0 20px;
    text-align: center;
}

.pp-blog-homepage > .title {
    margin: 0 0 30px;
    font-family: var(--primary-fonts);
    font-size: 28px;
    font-weight: 700;
    color: var(--primary-color);
    text-transform: uppercase;
    letter-spacing: 1px;
}

.pp-blog-homepage .blog-posts {
    display: grid;
    grid-template-columns: 1fr;
    gap: 30px;
    margin: 0 0 30px;
}

.pp-blog-homepage .blog-post {
    background: #fff;
    border: 1px solid #eee;
    border-radius: 6px;
    overflow: hidden;
    text-align: left;
    transition: box-shadow .25s ease, transform .25s ease;
}

    .pp-blog-homepage .blog-post:hover {
        box-shadow: 0 8px 20px rgba(0, 0, 0, .1);
        transform: translateY(-3px);
    }

.pp-blog-homepage .post-primary {
    position: relative;
}

.pp-blog-homepage .post-picture {
    display: block;
    overflow: hidden;
    position: relative;
}

    .pp-blog-homepage .post-picture::before {
        content: "";
        display: block;
        padding-top: 60%; /* 5:3 aspect */
    }

    .pp-blog-homepage .post-picture img {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform .35s ease;
    }

.pp-blog-homepage .blog-post:hover .post-picture img {
    transform: scale(1.04);
}

.pp-blog-homepage .post-title {
    display: block;
    padding: 18px 20px 0;
    font-family: var(--primary-fonts);
    font-size: 20px;
    font-weight: 600;
    color: var(--primary-color);
    text-decoration: none;
    line-height: 1.3;
}

    .pp-blog-homepage .post-title:hover {
        color: var(--link-hover-color, #c40001);
    }

.pp-blog-homepage .post-details {
    padding: 12px 20px 20px;
}

.pp-blog-homepage .post-date {
    display: block;
    margin: 0 0 10px;
    font-size: 13px;
    color: #888;
    text-transform: uppercase;
    letter-spacing: .5px;
}

.pp-blog-homepage .post-description {
    font-size: 15px;
    line-height: 1.55;
    color: #555;
    /* clamp na 3 řádky */
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin: 0 0 15px;
}

    .pp-blog-homepage .post-description p {
        margin: 0;
    }

.pp-blog-homepage .read-more {
    display: inline-block;
    font-size: 13px;
    font-weight: 700;
    color: var(--primary-color);
    text-transform: uppercase;
    letter-spacing: 1px;
    text-decoration: none;
    border-bottom: 2px solid currentColor;
    padding-bottom: 2px;
    transition: color .2s ease;
}

    .pp-blog-homepage .read-more:hover {
        color: var(--link-hover-color, #c40001);
    }

.pp-blog-homepage .view-all {
    margin-top: 10px;
}

    .pp-blog-homepage .view-all a {
        display: inline-block;
        padding: 12px 28px;
        font-size: 13px;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 1.2px;
        color: #fff;
        background: var(--primary-color);
        border-radius: 4px;
        text-decoration: none;
        transition: background .2s ease, transform .2s ease;
    }

        .pp-blog-homepage .view-all a:hover {
            background: var(--link-hover-color, #000);
            transform: translateY(-1px);
        }

/* tablet — 2 v řadě */
@media screen and (min-width: 600px) {
    .pp-blog-homepage .blog-posts {
        grid-template-columns: 1fr 1fr;
    }
}

/* desktop — 3 v řadě */
@media screen and (min-width: 1000px) {
    .pp-blog-homepage .blog-posts {
        grid-template-columns: repeat(3, 1fr);
        gap: 24px;
    }

    .pp-blog-homepage > .title {
        font-size: 32px;
    }
}
