/* =============================================
   DEF Forms Style - Unified Form Styling
   ============================================= */

:root {
    /* --- GLOBALNE ZMIENNE --- */
    --def-radius: 6px;          /* Zmien na 0px (ostre) lub 20px+ (bardzo zaokraglone) */

    /* --- Statyczne kolory/wartosci --- */
    --def-border: #d1d5db;
    --def-border-hover: #9ca3af;
    --def-bg: #ffffff;
    --def-text: #1f2937;
    --def-text-muted: #6b7280;
    --def-error: #dc2626;
    --def-success: #16a34a;
    --def-font-size: 15px;
    --def-padding-x: 14px;
    --def-padding-y: 10px;
    --def-transition: 0.2s ease;
}

/*
 * Elementor definiuje --e-global-color-primary i --e-global-typography-primary-font-family
 * na .elementor-kit-XXX (body), NIE na :root.
 * Dlatego zmienne ktore z nich korzystaja musza byc na body (lub nizej).
 */
body {
    --def-color: var(--e-global-color-primary, #2563eb);
    --def-font-family: var(--e-global-typography-primary-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);
    --def-color-hover: color-mix(in srgb, var(--def-color) 85%, black);
    --def-color-light: color-mix(in srgb, var(--def-color) 12%, white);
    --def-color-focus: color-mix(in srgb, var(--def-color) 25%, transparent);
}

a {
    color: var(--e-global-color-accent);
}

a:hover {
    color: var( --def-color-hover );
}

#add_payment_method #payment div.payment_box::before, .woocommerce-cart #payment div.payment_box::before, .woocommerce-checkout #payment div.payment_box::before {
    border-bottom-color: var(--def-color-light);
}

#add_payment_method #payment div.payment_box, .woocommerce-cart #payment div.payment_box, .woocommerce-checkout #payment div.payment_box {
    background: var(--def-color-light);
}

/* =============================================
   RESET / BASE
   ============================================= */

.def-form *,
.def-form *::before,
.def-form *::after {
    box-sizing: border-box;
}

.def-form {
    font-family: var(--def-font-family);
    font-size: var(--def-font-size);
    color: var(--def-text);
    line-height: 1.5;
    max-width: 700px;
    margin: 0 auto;
}

/* =============================================
   LABEL
   ============================================= */

.def-form label {
    display: block;
    font-weight: 500;
    margin-bottom: 6px;
    font-size: 14px;
    color: var(--def-text);
}

.def-form label .required {
    color: var(--def-error);
    margin-left: 2px;
}

/* =============================================
   FIELD GROUP
   ============================================= */

.def-form .field-group {
    margin-bottom: 20px;
}

.def-form .field-description {
    font-size: 13px;
    color: var(--def-text-muted);
    margin-top: 4px;
}

/* =============================================
   TEXT INPUTS (text, email, password, url, tel, number, search, date, time, etc.)
   ============================================= */

.def-form input[type="text"],
.def-form input[type="email"],
.def-form input[type="password"],
.def-form input[type="url"],
.def-form input[type="tel"],
.def-form input[type="number"],
.def-form input[type="search"],
.def-form input[type="date"],
.def-form input[type="time"],
.def-form input[type="datetime-local"],
.def-form input[type="month"],
.def-form input[type="week"],
.def-form input[type="color"] {
    display: block;
    width: 100%;
    padding: var(--def-padding-y) var(--def-padding-x);
    font-size: var(--def-font-size);
    font-family: inherit;
    color: var(--def-text);
    background-color: var(--def-bg);
    border: 1.5px solid var(--def-border);
    border-radius: var(--def-radius);
    outline: none;
    transition: border-color var(--def-transition), box-shadow var(--def-transition);
    appearance: none;
    -webkit-appearance: none;
}

.def-form input[type="text"]:hover,
.def-form input[type="email"]:hover,
.def-form input[type="password"]:hover,
.def-form input[type="url"]:hover,
.def-form input[type="tel"]:hover,
.def-form input[type="number"]:hover,
.def-form input[type="search"]:hover,
.def-form input[type="date"]:hover,
.def-form input[type="time"]:hover,
.def-form input[type="datetime-local"]:hover,
.def-form input[type="month"]:hover,
.def-form input[type="week"]:hover {
    border-color: var(--def-border-hover);
}

.def-form input[type="text"]:focus,
.def-form input[type="email"]:focus,
.def-form input[type="password"]:focus,
.def-form input[type="url"]:focus,
.def-form input[type="tel"]:focus,
.def-form input[type="number"]:focus,
.def-form input[type="search"]:focus,
.def-form input[type="date"]:focus,
.def-form input[type="time"]:focus,
.def-form input[type="datetime-local"]:focus,
.def-form input[type="month"]:focus,
.def-form input[type="week"]:focus {
    border-color: var(--def-color);
    box-shadow: 0 0 0 3px var(--def-color-focus);
}

.def-form input::placeholder {
    color: var(--def-text-muted);
    opacity: 0.7;
}

/* Color input */
.def-form input[type="color"] {
    width: 50px;
    height: 42px;
    padding: 4px;
    cursor: pointer;
}

/* =============================================
   TEXTAREA
   ============================================= */

.def-form textarea {
    display: block;
    width: 100%;
    min-height: 120px;
    padding: var(--def-padding-y) var(--def-padding-x);
    font-size: var(--def-font-size);
    font-family: inherit;
    color: var(--def-text);
    background-color: var(--def-bg);
    border: 1.5px solid var(--def-border);
    border-radius: var(--def-radius);
    outline: none;
    resize: vertical;
    transition: border-color var(--def-transition), box-shadow var(--def-transition);
}

.def-form textarea:hover {
    border-color: var(--def-border-hover);
}

.def-form textarea:focus {
    border-color: var(--def-color);
    box-shadow: 0 0 0 3px var(--def-color-focus);
}

/* =============================================
   SELECT
   ============================================= */

.def-form select {
    display: block;
    width: 100%;
    padding: var(--def-padding-y) var(--def-padding-x);
    padding-right: 40px;
    font-size: var(--def-font-size);
    font-family: inherit;
    color: var(--def-text);
    background-color: var(--def-bg);
    border: 1.5px solid var(--def-border);
    border-radius: var(--def-radius);
    outline: none;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    transition: border-color var(--def-transition), box-shadow var(--def-transition);
}

.def-form select:hover {
    border-color: var(--def-border-hover);
}

.def-form select:focus {
    border-color: var(--def-color);
    box-shadow: 0 0 0 3px var(--def-color-focus);
}

.def-form select[multiple] {
    padding-right: var(--def-padding-x);
    background-image: none;
    min-height: 120px;
}

/* =============================================
   CHECKBOX & RADIO
   ============================================= */

.def-form input[type="checkbox"],
.def-form input[type="radio"] {
    width: 18px;
    height: 18px;
    margin: 0;
    margin-right: 8px;
    accent-color: var(--def-color);
    cursor: pointer;
    vertical-align: middle;
}

.def-form input[type="radio"] {
    border-radius: 50%;
}

.def-form .checkbox-group,
.def-form .radio-group {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.def-form .checkbox-group label,
.def-form .radio-group label {
    display: flex;
    align-items: center;
    font-weight: 400;
    cursor: pointer;
    margin-bottom: 0;
}

/* =============================================
   FILE INPUT
   ============================================= */

.def-form input[type="file"] {
    display: block;
    width: 100%;
    padding: var(--def-padding-y) var(--def-padding-x);
    font-size: var(--def-font-size);
    font-family: inherit;
    color: var(--def-text);
    background-color: var(--def-bg);
    border: 1.5px dashed var(--def-border);
    border-radius: var(--def-radius);
    cursor: pointer;
    transition: border-color var(--def-transition);
}

.def-form input[type="file"]:hover {
    border-color: var(--def-color);
}

.def-form input[type="file"]::file-selector-button {
    padding: 6px 14px;
    margin-right: 12px;
    background-color: var(--def-color-light);
    color: var(--def-color);
    border: none;
    border-radius: var(--def-radius);
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: background-color var(--def-transition);
}

.def-form input[type="file"]::file-selector-button:hover {
    background-color: color-mix(in srgb, var(--def-color) 20%, white);
}

/* =============================================
   RANGE
   ============================================= */

.def-form input[type="range"] {
    width: 100%;
    height: 6px;
    appearance: none;
    -webkit-appearance: none;
    background: var(--def-border);
    border-radius: 3px;
    outline: none;
    cursor: pointer;
}

.def-form input[type="range"]::-webkit-slider-thumb {
    appearance: none;
    -webkit-appearance: none;
    width: 20px;
    height: 20px;
    background: var(--def-color);
    border-radius: 50%;
    cursor: pointer;
    transition: transform var(--def-transition);
}

.def-form input[type="range"]::-webkit-slider-thumb:hover {
    transform: scale(1.15);
}

.def-form input[type="range"]::-moz-range-thumb {
    width: 20px;
    height: 20px;
    background: var(--def-color);
    border: none;
    border-radius: 50%;
    cursor: pointer;
}

/* =============================================
   BUTTON / SUBMIT
   ============================================= */

.def-form button,
.def-form input[type="submit"],
.def-form input[type="reset"],
.def-form input[type="button"],
.woocommerce-Address a.edit,
[type="button"]:not(.elementskit-menu-hamburger),
[type="submit"]:not(.adminbar-button),
button:not(.elementskit-menu-hamburger),
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 14px 28px !important;
    font-size: var(--def-font-size) !important;
    font-family: inherit !important;
    font-weight: 600 !important;
    color: #ffffff !important;
    background-color: var(--def-color);
    border: none !important;
    border-radius: var(--def-radius) !important;
    cursor: pointer !important;
    transition: background-color var(--def-transition), transform var(--def-transition) !important;
    text-decoration: none !important;
    line-height: 1 !important;
}

.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button {
    padding: 10px 20px !important;
}

.def-form button:hover,
.def-form input[type="submit"]:hover,
.def-form input[type="button"]:hover,
.woocommerce-Address a.edit:hover,
[type="button"]:hover,
[type="submit"]:hover,
button:hover,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button:hover {
    background-color: var(--def-color-hover);
}

.def-form button:active,
.def-form input[type="submit"]:active,
.def-form input[type="button"]:active {
    transform: scale(0.98);
}

.woocommerce-Address-title {
    margin-bottom: 25px;
}

.forminator-ui.forminator-design--basic .forminator-error-message {
    position: absolute !important;
    background: none !important;
    padding: 0 !important;
    color: #DB0000 !important;
}

.def-form input[type="reset"] {
    background-color: transparent;
    color: var(--def-text-muted);
    border: 1.5px solid var(--def-border);
}

.def-form input[type="reset"]:hover {
    background-color: #f3f4f6;
    color: var(--def-text);
}

/* Button outline variant */
.def-form button.btn-outline {
    background-color: transparent;
    color: var(--def-color);
    border: 1.5px solid var(--def-color);
}

.def-form button.btn-outline:hover {
    background-color: var(--def-color-light);
}

/* =============================================
   FIELDSET / LEGEND
   ============================================= */

.def-form fieldset {
    border: 1.5px solid var(--def-border);
    border-radius: var(--def-radius);
    padding: 20px;
    margin: 0 0 20px 0;
}

.def-form legend {
    font-weight: 600;
    font-size: 14px;
    padding: 0 8px;
    color: var(--def-text);
}

/* =============================================
   DISABLED STATE
   ============================================= */

.def-form input:disabled,
.def-form textarea:disabled,
.def-form select:disabled,
.def-form button:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    pointer-events: none;
}

/* =============================================
   VALIDATION STATES
   ============================================= */

.def-form .field-error input,
.def-form .field-error textarea,
.def-form .field-error select {
    border-color: var(--def-error);
}

.def-form .field-error input:focus,
.def-form .field-error textarea:focus,
.def-form .field-error select:focus {
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--def-error) 20%, transparent);
}

.def-form .error-message {
    color: var(--def-error);
    font-size: 13px;
    margin-top: 4px;
}

.def-form .field-success input,
.def-form .field-success textarea,
.def-form .field-success select {
    border-color: var(--def-success);
}

/* =============================================
   PROGRESS & METER
   ============================================= */

.def-form progress {
    width: 100%;
    height: 8px;
    border-radius: var(--def-radius);
    overflow: hidden;
    appearance: none;
    -webkit-appearance: none;
}

.def-form progress::-webkit-progress-bar {
    background-color: #e5e7eb;
    border-radius: var(--def-radius);
}

.def-form progress::-webkit-progress-value {
    background-color: var(--def-color);
    border-radius: var(--def-radius);
}

.def-form meter {
    width: 100%;
    height: 8px;
}

/* =============================================
   OUTPUT
   ============================================= */

.def-form output {
    display: block;
    padding: var(--def-padding-y) var(--def-padding-x);
    background-color: var(--def-color-light);
    border-radius: var(--def-radius);
    font-weight: 500;
    color: var(--def-color);
}

/* =============================================
   BUTTONS ROW
   ============================================= */

.def-form .buttons-row {
    display: flex;
    gap: 12px;
    margin-top: 24px;
    flex-wrap: wrap;
}


/* =============================================================
   WOOCOMMERCE CHECKOUT - Layout & Form Styling
   ============================================================= */

/* --- CHECKOUT LAYOUT: 2-kolumnowy (CSS Grid) --- */

body.woocommerce-checkout form.checkout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto 1fr;
    gap: 0 40px;
    font-family: var(--def-font-family);
}

/* Lewa kolumna: customer_details (col-1 i col-2 jeden pod drugim) */
body .woocommerce-checkout #customer_details {
    grid-column: 1;
    grid-row: 1 / -1;
    width: 100%;
}

body .woocommerce-checkout #customer_details .col-1,
body .woocommerce-checkout #customer_details .col-2 {
    width: 100%;
    float: none;
}

body .woocommerce-checkout #customer_details .col-2 {
    margin-top: 30px;
}

/* Prawa kolumna: heading + order_review */
body .woocommerce-checkout #order_review_heading {
    grid-column: 2;
    grid-row: 1;
    align-self: start;
}

body .woocommerce-checkout #order_review {
    grid-column: 2;
    grid-row: 2;
    align-self: start;
}

body .woocommerce-checkout .woocommerce-NoticeGroup {
    grid-column: 1;
    grid-row: 2;
    align-self: start;
}
body .woocommerce-checkout .woocommerce-NoticeGroup ul {
    margin: 0;
}

.woocommerce-error,
.woocommerce-error a {
    color: #000;
}

/* Na malych ekranach - jedna kolumna */
@media (max-width: 768px) {
    body.woocommerce-checkout form.checkout {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
        gap: 30px 0;
    }

    body .woocommerce-checkout #customer_details,
    body .woocommerce-checkout #order_review_heading,
    body .woocommerce-checkout #order_review,
    body .woocommerce-checkout .woocommerce-NoticeGroup {
        grid-column: 1;
        grid-row: auto;
    }
}


/* --- HEADINGS --- */

body .woocommerce-checkout h3,
body .woocommerce-checkout #order_review_heading {
    font-family: var(--def-font-family);
    font-size: 20px;
    font-weight: 600;
    color: var(--def-text);
    margin: 0 0 20px 0;
    padding: 0;
    line-height: 1.3;
}

body .woocommerce-checkout .woocommerce-billing-fields > h3,
body .woocommerce-checkout .woocommerce-shipping-fields > h3,
body .woocommerce-checkout .woocommerce-additional-fields > h3 {
    font-family: var(--def-font-family);
    font-size: 20px;
    font-weight: 600;
    color: var(--def-text);
    margin: 0 0 16px 0;
}


/* --- FORM FIELDS --- */

body .woocommerce form .form-row {
    padding: 0;
    margin: 0 0 16px 0;
}

body .woocommerce form .form-row label,
#ship-to-different-address label {
    display: block;
    font-family: var(--def-font-family);
    font-size: 14px;
    font-weight: 500;
    color: var(--def-text);
    margin-bottom: 6px;
    line-height: 1.4;
}

body .woocommerce form .form-row label .required {
    color: var(--def-error);
    font-weight: 700;
    visibility: visible;
}

body .woocommerce form .form-row label .optional {
    font-weight: 400;
    color: var(--def-text-muted);
    font-size: 13px;
}

input:not([type="checkbox"]):not([type="radio"]):not(.adminbar-button):not(.input-text.qty.text),
select,
textarea,
.woocommerce form .address-field .woocommerce-input-wrapper > strong,
body .woocommerce form .form-row .input-text,
body .woocommerce form .form-row select,
body .woocommerce form .form-row textarea {
    display: block;
    width: 100%;
    padding: var(--def-padding-y) var(--def-padding-x);
    font-size: var(--def-font-size);
    font-family: var(--def-font-family);
    font-weight: 400;
    color: var(--def-text);
    background-color: var(--def-bg);
    border: 1.5px solid var(--def-border);
    border-radius: var(--def-radius);
    outline: none;
    transition: border-color var(--def-transition), box-shadow var(--def-transition);
    box-sizing: border-box;
    line-height: 1.5;
    height: auto;
    letter-spacing: normal;
}

body .woocommerce input.input-text.qty.text {
    display: block;
    padding: var(--def-padding-y) var(--def-padding-x);
    font-size: var(--def-font-size);
    font-family: var(--def-font-family);
    font-weight: 400;
    color: var(--def-text);
    background-color: var(--def-bg);
    border: 1.5px solid var(--def-border);
    border-radius: var(--def-radius);
    outline: none;
    transition: border-color var(--def-transition), box-shadow var(--def-transition);
    box-sizing: border-box;
    line-height: 1.5;
    height: auto;
    letter-spacing: normal;
}

body .woocommerce form .form-row .input-text:hover,
body .woocommerce form .form-row select:hover,
body .woocommerce form .form-row textarea:hover {
    border-color: var(--def-border-hover);
}

body .woocommerce form .form-row .input-text:focus,
body .woocommerce form .form-row select:focus,
body .woocommerce form .form-row textarea:focus {
    border-color: var(--def-color);
    box-shadow: 0 0 0 3px var(--def-color-focus);
}

body .woocommerce form .form-row .input-text::placeholder,
body .woocommerce form .form-row textarea::placeholder {
    color: var(--def-text-muted);
    opacity: 0.7;
}

body .woocommerce form .form-row textarea,
textarea {
    min-height: 100px;
    resize: vertical;
}

/* Select - custom arrow */
body .woocommerce form .form-row select,
select {
    appearance: none;
    -webkit-appearance: none;
    padding-right: 40px;
    cursor: pointer;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
}

/* Checkbox & Radio */
input[type="checkbox"],
input[type="radio"],
body .woocommerce form .form-row input[type="checkbox"],
body .woocommerce form .form-row input[type="radio"] {
    width: 18px;
    height: 18px;
    margin-right: 8px;
    accent-color: var(--def-color);
    cursor: pointer;
    vertical-align: middle;
}

/* --- VALIDATION --- */

body .woocommerce form .form-row.woocommerce-invalid .input-text,
body .woocommerce form .form-row.woocommerce-invalid select {
    border-color: var(--def-error);
}

body .woocommerce form .form-row.woocommerce-invalid .input-text:focus,
body .woocommerce form .form-row.woocommerce-invalid select:focus {
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--def-error) 20%, transparent);
}

body .woocommerce form .form-row.woocommerce-invalid label {
    color: var(--def-error);
}

body .woocommerce form .form-row.woocommerce-validated .input-text,
body .woocommerce form .form-row.woocommerce-validated select {
    border-color: var(--def-success);
}


/* --- BUTTONS --- */

body .woocommerce .button,
body .woocommerce button.button,
body .woocommerce input.button,
body .woocommerce #place_order,
#add_payment_method .wc-proceed-to-checkout a.checkout-button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-checkout .wc-proceed-to-checkout a.checkout-button,
.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__footer-buttons a.elementor-button--checkout,
.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__footer-buttons a.elementor-button--view-cart {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 14px 28px;
    font-size: var(--def-font-size);
    font-family: var(--def-font-family);
    font-weight: 600;
    color: #ffffff;
    background-color: var(--def-color);
    border: 0;
    border-radius: var(--def-radius);
    cursor: pointer;
    transition: background-color var(--def-transition), transform var(--def-transition);
    text-decoration: none;
    line-height: 1.4;
    white-space: nowrap;
}

.elementor-widget-button .elementor-button {
    padding: 14px 28px;
    font-size: var(--def-font-size);
    font-family: var(--def-font-family);
    font-weight: 600;
    color: #ffffff;
    background-color: var(--def-color);
    border: 0;
    border-radius: var(--def-radius);
    cursor: pointer;
    transition: background-color var(--def-transition), transform var(--def-transition);
    text-decoration: none;
    line-height: 1.4;
    white-space: nowrap;
}

.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__footer-buttons a.elementor-button--view-cart,
.elementor-element.elementor-button-info .elementor-button {
    background-color: transparent;
    color: var(--def-color-hover);
    outline: 1px solid var(--def-color-hover);
    outline-offset: -1px;
}

.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__footer-buttons a.elementor-button--view-cart:hover,
.elementor-element.elementor-button-info .elementor-button:hover {
    background-color: var(--def-color-hover);
    color: #fff;
}

body .woocommerce .button:hover,
body .woocommerce button.button:hover,
body .woocommerce input.button:hover,
body .woocommerce #place_order:hover,
#add_payment_method .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce-checkout .wc-proceed-to-checkout a.checkout-button:hover,
.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__footer-buttons a.elementor-button--checkout:hover,
.elementor-widget-button .elementor-button:hover {
    background-color: var(--def-color-hover);
    color: #ffffff;
}

.elementor-element.elementor-button-success .elementor-button {
    background-color: var(--def-color-hover);
    color: #ffffff;
}

.elementor-element.elementor-button-success .elementor-button:hover {
    background-color: var(--def-color);
}

body .woocommerce .button:active,
body .woocommerce button.button:active,
body .woocommerce #place_order:active {
    transform: scale(0.98);
}

.woocommerce form .address-field .woocommerce-input-wrapper > strong,
input[disabled] {
    cursor: not-allowed !important;
    background: #E4E4E4 !important;
}
/* --- ORDER REVIEW TABLE --- */

body .woocommerce-checkout #order_review {
    background: #f9fafb;
    border: 1.5px solid var(--def-border);
    border-radius: var(--def-radius);
    padding: 24px;
}

body .woocommerce-checkout .woocommerce-checkout-review-order-table {
    width: 100%;
    border-collapse: collapse;
    font-family: var(--def-font-family);
    font-size: 14px;
}

body .woocommerce-checkout .woocommerce-checkout-review-order-table th,
body .woocommerce-checkout .woocommerce-checkout-review-order-table td {
    /*padding: 10px 0;*/
    background: transparent;
    border-bottom: 1px solid var(--def-border);
    text-align: left;
    vertical-align: top;
    font-weight: 400;
}

body .woocommerce-checkout .woocommerce-checkout-review-order-table thead th {
    font-weight: 600;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: var(--def-text-muted);
}

body .woocommerce-checkout .woocommerce-checkout-review-order-table .order-total th,
body .woocommerce-checkout .woocommerce-checkout-review-order-table .order-total td {
    font-weight: 600;
    font-size: 16px;
    color: var(--def-text);
    border-bottom: none;
    padding-top: 14px;
}


/* --- PAYMENT SECTION --- */

body .woocommerce-checkout #payment {
    background: var(--def-bg);
    border-radius: var(--def-radius);
    margin-top: 20px;
}

body .woocommerce-checkout #payment .payment_methods {
    list-style: none;
    padding: 0;
    margin: 0 0 16px 0;
}

body .woocommerce-checkout #payment .payment_methods li {
    padding: 12px;
    /*border-bottom: 1px solid var(--def-border);*/
}

body .woocommerce-checkout #payment .payment_methods li label {
    font-weight: 500;
    cursor: pointer;
}

body .woocommerce-checkout #payment .place-order {
    padding-top: 16px;
}

body .woocommerce-checkout #payment #place_order,
#add_payment_method .wc-proceed-to-checkout a.checkout-button, .woocommerce-cart .wc-proceed-to-checkout a.checkout-button, .woocommerce-checkout .wc-proceed-to-checkout a.checkout-button {
    width: 100%;
    padding: 14px 28px;
    font-size: 16px;
}


/* --- SELECT2 (WooCommerce dropdowns) --- */

body .woocommerce .select2-container .select2-selection {
    border: 1.5px solid var(--def-border);
    border-radius: var(--def-radius);
    min-height: 42px;
    background-color: var(--def-bg);
    transition: border-color var(--def-transition), box-shadow var(--def-transition);
}

body .woocommerce .select2-container .select2-selection:hover {
    border-color: var(--def-border-hover);
}

body .woocommerce .select2-container.select2-container--open .select2-selection {
    border-color: var(--def-color);
    box-shadow: 0 0 0 3px var(--def-color-focus);
}

body .woocommerce .select2-container .select2-selection__rendered {
    padding: var(--def-padding-y) var(--def-padding-x);
    font-size: var(--def-font-size);
    font-family: var(--def-font-family);
    color: var(--def-text);
    line-height: 1.5;
}

body .select2-dropdown {
    border: 1.5px solid var(--def-border);
    border-radius: var(--def-radius);
}

body .select2-results__option--highlighted {
    background-color: var(--def-color) !important;
}


/* --- WOOCOMMERCE NOTICES --- */

body .woocommerce-info,
body .woocommerce-message,
body .woocommerce-error,
body .woocommerce .woocommerce-info,
body .woocommerce .woocommerce-message,
body .woocommerce .woocommerce-error {
    /*font-family: var(--def-font-family);*/
    border-radius: var(--def-radius);
    /*font-size: 14px;*/
}
body .woocommerce-info:focus-visible,
body .woocommerce-message:focus-visible,
body .woocommerce-error:focus-visible,
body .woocommerce .woocommerce-info:focus-visible,
body .woocommerce .woocommerce-message:focus-visible,
body .woocommerce .woocommerce-error:focus-visible {
    outline: none !important;
}


/* =============================================================
   WOOCOMMERCE CART PAGE
   ============================================================= */

/*body .woocommerce table.shop_table {
  font-family: var(--def-font-family);
  border-radius: var(--def-radius);
  border: 1.5px solid var(--def-border);
  border-collapse: separate;
  overflow: hidden;
}*/

body .woocommerce table.shop_table th {
    font-family: var(--def-font-family);
    font-weight: 600;
    font-size: 13px;
}

body .woocommerce table.shop_table .input-text {
    padding: var(--def-padding-y) var(--def-padding-x);
    font-size: var(--def-font-size);
    border: 1.5px solid var(--def-border);
    border-radius: var(--def-radius);
}

body .woocommerce table.shop_table .input-text:focus {
    border-color: var(--def-color);
    box-shadow: 0 0 0 3px var(--def-color-focus);
    outline: none;
}

/* Quantity input in cart */
body .woocommerce .quantity .qty {
    padding: var(--def-padding-y) 8px;
    font-size: var(--def-font-size);
    border: 1.5px solid var(--def-border);
    border-radius: var(--def-radius);
    width: 60px;
    text-align: center;
}

body .woocommerce .quantity .qty:focus,
input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):focus,
select:focus,
textarea:focus {
    border-color: var(--def-color) !important;
    box-shadow: 0 0 0 3px var(--def-color-focus) !important;
    outline: none !important;
}

/* Coupon field */
body .woocommerce .coupon .input-text {
    padding: var(--def-padding-y) var(--def-padding-x);
    border: 1.5px solid var(--def-border);
    border-radius: var(--def-radius);
    font-size: var(--def-font-size);
    font-family: var(--def-font-family);
}

body .woocommerce .coupon .input-text:focus {
    border-color: var(--def-color);
    box-shadow: 0 0 0 3px var(--def-color-focus);
    outline: none;
}


/* =============================================================
   WOOCOMMERCE MY ACCOUNT (login/register forms)
   ============================================================= */

body .woocommerce-form-login,
body .woocommerce-form-register {
    font-family: var(--def-font-family);
}

body .woocommerce .woocommerce-form-login .form-row label,
body .woocommerce .woocommerce-form-register .form-row label {
    font-family: var(--def-font-family);
    font-size: 14px;
    font-weight: 500;
    color: var(--def-text);
}

body .woocommerce .woocommerce-form-login .form-row .input-text,
body .woocommerce .woocommerce-form-register .form-row .input-text {
    padding: var(--def-padding-y) var(--def-padding-x);
    font-size: var(--def-font-size);
    font-family: var(--def-font-family);
    border: 1.5px solid var(--def-border);
    border-radius: var(--def-radius);
    transition: border-color var(--def-transition), box-shadow var(--def-transition);
}

body .woocommerce .woocommerce-form-login .form-row .input-text:focus,
body .woocommerce .woocommerce-form-register .form-row .input-text:focus {
    border-color: var(--def-color);
    box-shadow: 0 0 0 3px var(--def-color-focus);
    outline: none;
}

.woocommerce table.cart td.actions .input-text#coupon_code {
    width: 300px;
    height: 40px !important;
}

.woocommerce table.cart td.actions button {
    padding: 9px 15px !important;
    height: 40px !important;
}

.woocommerce table.shop_table tr,
.woocommerce table.shop_table th,
.woocommerce table.shop_table tbody,
.woocommerce table.shop_table thead,
.woocommerce table.shop_table td {
    background: transparent !important;
}

table {
    border-radius: 5px !important;
}

fieldset,
.woocommerce form.checkout_coupon,
.woocommerce form.login,
.woocommerce form.register {
    border-radius: var(--def-radius);
    margin-bottom: 25px;
}

.woocommerce-account .woocommerce-MyAccount-navigation {
    background: #F5F5F5;
    padding: 25px;
    border-radius: var(--def-radius);
    margin-bottom: 25px;
}


.woocommerce-account .woocommerce-MyAccount-navigation ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 15px;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li > a {
    color: #FFF;
    background: var(--e-global-color-primary);
    background: var(--def-color-hover);
    padding: 12px 20px;
    display: block;
    text-decoration: none;
    border-radius: var(--def-radius);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active > a,
.woocommerce-account .woocommerce-MyAccount-navigation ul li:hover > a {
    background: var(--e-global-color-accent);
}

body {
    font-family: "Montserrat", sans-serif;
}

.woocommerce .woocommerce-error .button, .woocommerce .woocommerce-info .button, .woocommerce .woocommerce-message .button, .woocommerce-page .woocommerce-error .button, .woocommerce-page .woocommerce-info .button, .woocommerce-page .woocommerce-message .button {
    padding: 9px 13px;
    font-family: "Montserrat", sans-serif;
    border-radius: var(--def-radius);
}

body .woocommerce .button:active,
body .woocommerce button.button:active,
body .woocommerce #place_order:active {
    transform: none;
}

.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit.loading::after, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button.loading::after, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.loading::after, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button.loading::after, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit.loading::after, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button.loading::after, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button.loading::after, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button.loading::after {
    position: relative;
    top: inherit;
    right: inherit;
    margin-left: .53em;
}

.woosw-menu-item-inner[data-count="0"]::after {
    display: none;
}

body .wpc-filters-main-wrap .wpc-filters-widget-controls-container a.wpc-filters-apply-button,
body .wpc-filters-main-wrap a.wpc-filters-submit-button {
    border-color: var(--def-color);
    background-color: var(--def-color);
    border-radius: 6px;
    width: inherit;
}

body .wpc-filter-layout-submit-button {
    justify-content: flex-start;
    gap: 10px;
}

body .wpc-filters-main-wrap .wpc-filters-widget-controls-container a.wpc-filters-apply-button:hover,
body .wpc-filters-main-wrap a.wpc-filters-submit-button:hover {
    border-color: var(--def-color-hover);
    background-color: var(--def-color-hover);
}

.wpc-filters-main-wrap input[type="radio"]:hover,
.wpc-filters-main-wrap input[type="checkbox"]:hover {
    border-color: var(--def-border-color);
    background: #FFF !important;
}

.wpc-filters-main-wrap input[type="radio"]:checked,
.wpc-filters-main-wrap input[type="checkbox"]:checked,
.wpc-filters-main-wrap input[type="checkbox"]::after {
    border-color: var(--def-color);
}

.wpc-filters-main-wrap li.wpc-term-item a {
    color: var( --e-global-color-text );
}

.wpc-filters-main-wrap li.wpc-term-item:hover a,
.wpc-filters-main-wrap li.wpc-term-item input:checked ~ label > a {
    color: var(--def-border-color);
}

a.wpc-filters-reset-button:active,
a.wpc-filters-reset-button:focus,
a.wpc-filters-reset-button:hover,
a.wpc-filters-submit-button:active,
a.wpc-filters-submit-button:focus,
a.wpc-filters-submit-button:hover {
    opacity: 1;
}

.wpc-filters-main-wrap a.wpc-filters-reset-button {
    border-color: var(--def-color);
    border-radius: 6px;
    width: inherit;
}

.wpc-filters-main-wrap a.wpc-filters-reset-button:hover {
    border-color: var(--def-color-hover);
    background-color: var(--def-color-hover);
    color: #FFF;
}

/*
@media (min-width: 1200px) {
    .page-header .entry-title, .site-footer .footer-inner, .site-footer:not(.dynamic-footer), .site-header .header-inner, .site-header:not(.dynamic-header), body:not([class*="elementor-page-"]) .site-main {
        max-width: 1400px;
    }
}
*/

.wpc-sorting-form .select2-container--default .select2-selection--single, .wpc-filters-widget-content input[type="email"], .wpc-filters-widget-content input[type="number"], .wpc-filters-widget-content input[type="password"], .wpc-filters-widget-content input[type="search"], .wpc-filters-widget-content input[type="tel"], .wpc-filters-widget-content input[type="text"], .wpc-filters-widget-content input[type="url"] {
    border: 1.5px solid var(--def-border);
    border-radius: var(--def-radius);
}

.wpc-sorting-form .select2-container--default .select2-selection--single:hover, .wpc-filters-widget-content input[type="email"]:hover, .wpc-filters-widget-content input[type="number"]:hover, .wpc-filters-widget-content input[type="password"]:hover, .wpc-filters-widget-content input[type="search"]:hover, .wpc-filters-widget-content input[type="tel"]:hover, .wpc-filters-widget-content input[type="text"]:hover, .wpc-filters-widget-content input[type="url"]:hover {
    border: 1.5px solid var(--def-border-hover);
}

.wpc-sorting-form .select2-container--default .select2-selection--single:focus, .wpc-filters-widget-content input[type="email"]:focus, .wpc-filters-widget-content input[type="number"]:focus, .wpc-filters-widget-content input[type="password"]:focus, .wpc-filters-widget-content input[type="search"]:focus, .wpc-filters-widget-content input[type="tel"]:focus, .wpc-filters-widget-content input[type="text"]:focus, .wpc-filters-widget-content input[type="url"]:focus {
    border-color: var(--def-color);
    box-shadow: 0 0 0 3px var(--def-color-focus);
}

.wpc-filters-section:not(.wpc-filter-layout-submit-button):not(.wpc-filter-layout-search-field) {
    background: #eee;
    border-radius: var(--def-radius);
    padding: 10px 15px;
}

.elementor-pagination {
    margin-top: 50px;
}

.elementor-pagination .page-numbers {
    padding: 5px 8px;
    border: 1px solid #333;
    border-radius: var(--def-radius);
    min-width: 32px;
    display: inline-block;
    background-color: var(--def-color);
    border-color: var(--def-color);
    color: #FFF;
}

.elementor-pagination a.page-numbers:hover {
    background-color: var(--def-color-hover);
    border-color: var(--def-color-hover);
}


.elementor-pagination .page-numbers:not(a) {
    opacity: .5;
    cursor: not-allowed;
}

.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit.alt, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button.alt, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button.alt, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit.alt, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button.alt, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button.alt, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button.alt {
    background-color: var(--def-color);
    border-radius: var(--def-radius);
}

.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit.alt:hover, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button.alt:hover, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt:hover, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button.alt:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit.alt:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button.alt:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button.alt:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button.alt:hover {
    background-color: var(--def-color-hover);
}


.dgwt-wcas-ico-magnifier-handler {
    fill: var( --e-global-color-text );
}

@media (max-width: 768px) {
    header .elementor-menu-cart__toggle #elementor-menu-cart__toggle_button .elementor-button-text {
        display: none;
    }
}

@media (max-width: 1024px) {
}

.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__subtotal {
    margin-top: auto;
    border-bottom: 0;
    padding-bottom: 0;
}

.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__footer-buttons {
    margin-top: 0;
}

.wishlist-title.wishlist-title-with-form {
    display: none;
}

.quantity input[type="number"]::-webkit-inner-spin-button,
.quantity input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.quantity input[type="number"] {
    -moz-appearance: textfield;
}

.quantity {
    display: flex;
    align-items: center;
    gap: 10px;
}

.quantity .qty-btn {
    color: #FFF;
    background-color: var(--def-color);
    border-radius: var(--def-radius);
    padding: 0 10px;
    display: inline-block;
    font-size: 22px;
    cursor: pointer;
    width: 30px;
    height: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.quantity .qty-btn:hover {
    color: #FFF;
    background-color: var(--def-color-hover);
}

.rank-math-breadcrumb a:not(:hover) {
    color: var( --e-global-color-secondary );
}

.rank-math-breadcrumb p {
    font-size: 14px;
}

@media (max-width: 768px) {
    .rank-math-breadcrumb p {
        font-size: 12px;
    }
}

th.product-quantity,
th.product-add-to-cart {
    width: 140px;
}

#add_payment_method table.cart .product-thumbnail, .woocommerce-cart table.cart .product-thumbnail, .woocommerce-checkout table.cart .product-thumbnail {
    min-width: 100px;
}

.woocommerce #content table.cart img, .woocommerce table.cart img, .woocommerce-page #content table.cart img, .woocommerce-page table.cart img {
    display: block;
    width: 80px;
    max-height: 80px;
    object-fit: cover;
}

body .woocommerce table.shop_table th.product-name {
    width: 100%;
}

.elementor-widget-loop-carousel .elementor-swiper-button.elementor-swiper-button-next,
.elementor-widget-loop-carousel .elementor-swiper-button.elementor-swiper-button-prev {
    background: #333;
    padding: 10px;
}

.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit.alt.disabled, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit.alt.disabled:hover, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit.alt:disabled, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit.alt:disabled:hover, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit.alt:disabled[disabled], .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit.alt:disabled[disabled]:hover, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button.alt.disabled, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button.alt.disabled:hover, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button.alt:disabled, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button.alt:disabled:hover, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button.alt:disabled[disabled], .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button.alt:disabled[disabled]:hover, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt.disabled, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt.disabled:hover, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt:disabled, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt:disabled:hover, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt:disabled[disabled], .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt:disabled[disabled]:hover, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button.alt.disabled, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button.alt.disabled:hover, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button.alt:disabled, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button.alt:disabled:hover, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button.alt:disabled[disabled], .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button.alt:disabled[disabled]:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit.alt.disabled, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit.alt.disabled:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit.alt:disabled, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit.alt:disabled:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit.alt:disabled[disabled], :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit.alt:disabled[disabled]:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button.alt.disabled, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button.alt.disabled:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button.alt:disabled, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button.alt:disabled:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button.alt:disabled[disabled], :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button.alt:disabled[disabled]:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button.alt.disabled, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button.alt.disabled:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button.alt:disabled, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button.alt:disabled:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button.alt:disabled[disabled], :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button.alt:disabled[disabled]:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button.alt.disabled, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button.alt.disabled:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button.alt:disabled, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button.alt:disabled:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button.alt:disabled[disabled], :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button.alt:disabled[disabled]:hover {
    color: #FFF;
    background-color: var(--def-color);
    border-color: var(--def-color);
}

.woocommerce div.product form.cart table.variations {
    width: 350px;
    max-width: 100%;
}

.woocommerce div.product form.cart .reset_variations {
    display: none !important;
}

.woocommerce div.product form.cart table.variations .label {
    vertical-align: middle;
}

.woocommerce div.product form.cart table.variations label {
    font-weight: 500;
    padding-right: 20px;
}

.woocommerce div.product form.cart table.variations select {
    font-size: 14px;
}

.woocommerce div.product form.cart table.variations td,
.woocommerce div.product form.cart table.variations th {
    background: none !important;
    padding: 5px 0 !important;
    text-align: left;
}


.el-loop-product-custom .elementor-widget-yith_wcwl_add_to_wishlist {
    position: absolute;
    top: 15px;
    right: 15px;
}

.el-loop-product-custom .elementor-widget-yith_wcwl_add_to_wishlist .yith-add-to-wishlist-button-block {
    margin: 0 !important;
}

.el-loop-product-custom .elementor-widget-yith_wcwl_add_to_wishlist .yith-wcwl-add-to-wishlist-button__label {
    display: none !important;
}

.woocommerce-product-gallery .flex-control-thumbs li {
    padding: 10px;
}

.woocommerce-product-gallery .flex-control-thumbs li img {
    border-radius: var(--def-radius);
    border: 1px solid #b3b3b3;
}

.woocommerce .elementor-widget-woocommerce-product-images span.onsale,
.woocommerce span.onsale,
.elementor-element.onsale.elementor-widget.elementor-widget-heading,
.woocommerce ul.products li.product .onsale {
    background: #CE0505;
    border-radius: var(--def-radius);
    padding: 3px 10px 5px 10px !important;
    min-height: inherit;
    min-width: inherit;
    height: auto;
    display: block !important;
    top: 15px;
    left: 15px;
    line-height: 1.3;
    font-weight: 700;
    position: absolute;
    color: #FFF !important;
    margin: 0;
    right: inherit;
}

.elementor-element.onsale.elementor-widget.elementor-widget-heading * {
    color: #FFF !important;
}

body .elementor-widget-shortcode .woocommerce-ordering {
    display: flex;
    align-items: center;
    margin: 0;
    gap: 10px;
}

body .elementor-widget-shortcode .woocommerce-ordering select {
    width: 200px;
}

a:hover > img {
    opacity: 0.8;
}

.wpc-open-close-filters-button.wpc-show-counts-yes:not(.wpc-opened) {
    margin-bottom: 0;
}

.wishlist-items-wrapper a:not(:hover) {
    color: #333333;
    text-decoration: none;
}

.header-wishlist-icon a.elementor-icon {
    position: relative;
}

.header-wishlist-icon a.elementor-icon .wishlist_count {
    right: -8px;
    top: -8px;
    background-color: var(--items-indicator-background-color,#d9534f);
    border-radius: 100%;
    color: var(--items-indicator-text-color,#fff);
    display: block;
    font-size: 10px;
    height: 1.6em;
    inset-inline-end: -.7em;
    line-height: 1.5em;
    min-width: 1.6em;
    position: absolute;
    text-align: center;
    z-index: 1;
    font-family: "Montserrat", Sans-serif;
    font-weight: 600;
}

body .wcgs-carousel .spswiper-slide,
body .wcgs-carousel .wcgs-slider-image {
    margin-left: 0;
    margin-right: 0;
    width: 100%;
}

body .wcgs-carousel .spswiper-slide img,
body .wcgs-carousel .wcgs-slider-image img {
    width: 100%;
    height: 450px !important;
    object-fit: contain;
}

@media (max-width: 768px) {
    body .wcgs-carousel .spswiper-slide img,
    body .wcgs-carousel .wcgs-slider-image img {
        height: 320px !important;
    }
}

/*body #wpgs-gallery .gallery-navigation-carousel-wrapper .spswiper-wrapper {
    width: calc(100% - 80px);
    margin-left: 35px;
}*/

body #wpgs-gallery .gallery-navigation-carousel .wcgs-spswiper-arrow {
    height: 27px;
    top: 0;
    bottom: 0;
    margin: auto;
}

body .gallery-navigation-carousel .wcgs-thumb {
    padding: 1px;
}

.forminator-field-consent.mt-3 .forminator-consent__label {
    margin-top: 3px !important;
}

.forminator-ui.forminator-design--basic .forminator-response-message.forminator-success {
    display: block !important;
    background-color: transparent !important;
    box-shadow: none !important;
    text-align: center !important;
}

.forminator-ui.forminator-design--basic .forminator-response-message.forminator-success p {
    font-size: 17px !important;
}

.woocommerce #content table.cart img,
.woocommerce table.cart img,
.woocommerce-page #content table.cart img,
.woocommerce-page table.cart img {
    min-width: 80px;
}

@media (max-width: 768px) {
    .woocommerce #content table.cart .product-thumbnail,
    .woocommerce table.cart .product-thumbnail,
    .woocommerce-page #content table.cart .product-thumbnail,
    .woocommerce-page table.cart .product-thumbnail {
        display: block;
    }

    .woocommerce #content table.cart .product-thumbnail::before,
    .woocommerce table.cart .product-thumbnail::before,
    .woocommerce-page #content table.cart .product-thumbnail::before,
    .woocommerce-page table.cart .product-thumbnail::before {
        display: none;
    }

    .woocommerce table.shop_table_responsive tr td.product-quantity,
    .woocommerce-page table.shop_table_responsive tr td.product-quantity {
        display: flex;
        justify-content: space-between;
    }

    .woocommerce form .form-row-first,
    .woocommerce form .form-row-last,
    .woocommerce-page form .form-row-first,
    .woocommerce-page form .form-row-last {
        width: 100%;
    }
}

.yith-wcwl-form .wishlist_table.mobile {
    padding-left: 0;
}

.yith-wcwl-form .wishlist_table.mobile .product-name h3 {
    font-size: 14px;
}

.yith-wcwl-form .wishlist_table.mobile .product-name h3 a:not(:hover) {
    color: #333333;
}

.yith-wcwl-form .wishlist_table.mobile .product-name h3 a:not(:hover) {
    text-decoration: none;
}

.yith-wcwl-form .wishlist_table.mobile td {
    background-color: transparent !important;
}

.yith-wcwl-form .wishlist_table.mobile li {
    border-bottom: 1px solid #333;
}

.wpc-term-count .wpc-term-count-brackets-open,
.wpc-term-count .wpc-term-count-brackets-close {
    display: inline-block !important;
}

.woocommerce table.shop_attributes.woocommerce-product-attributes {
    /*margin-top: -20px;*/
    border: 0 !important;
    border-radius: 0 !important;
}

.woocommerce table.shop_attributes.woocommerce-product-attributes,
.woocommerce table.shop_attributes.woocommerce-product-attributes tr {
    border: 0 !important;
}

.woocommerce table.shop_attributes.woocommerce-product-attributes th,
.woocommerce table.shop_attributes.woocommerce-product-attributes td {
    width: auto;
    background-color: transparent !important;
    padding: 8px;
    text-align: left !important;
    border: 0;
    border-top: 1px solid #e1e1e1;
    vertical-align: top;
}

.woocommerce table.shop_attributes.woocommerce-product-attributes th p,
.woocommerce table.shop_attributes.woocommerce-product-attributes td p {
    padding: 0;
    margin: 0;
}

.product_meta .detail-container {
    border-top: 1px solid #e1e1e1;
    font-size: .9em;
}

.product_meta .detail-container > span {
    width: auto;
    background-color: transparent;
    padding: 8px;
    text-align: left;
    border: 0;
    vertical-align: top;
}

.product_meta .detail-container:first-child {
    border-top: 0;
}

.product_meta .detail-container .detail-label {
    color: #333;
}

.product_meta .detail-container .detail-content {
    font-style: italic;
}

table.woocommerce-product-attributes.shop_attributes {
    width: 100%;
    display: table;
    table-layout: fixed;
}
table.woocommerce-product-attributes.shop_attributes tbody {
    width: 100%;
    display: table;
    table-layout: fixed;
}

.woocommerce table.shop_attributes.woocommerce-product-attributes th,
.product_meta .detail-container .detail-label {
    min-width: 80px;
    width: 250px;
}

.woocommerce table.shop_attributes.woocommerce-product-attributes td,
.product_meta .detail-container .detail-content {
    width: calc(100% - 250px);
}

@media (max-width: 768px) {
    .woocommerce table.shop_attributes.woocommerce-product-attributes th,
    .product_meta .detail-container .detail-label {
        width: 35%;
    }

    .woocommerce table.shop_attributes.woocommerce-product-attributes td,
    .product_meta .detail-container .detail-content {
        width: 65%;
    }
}

.change-shipping-position-by-plugin {
    margin-bottom: 24px;
}

.change-shipping-position-by-plugin h3 {
    margin-bottom: 10px !important;
}

.change-shipping-position-by-plugin ul {
    background: var(--def-bg);
    border-radius: var(--def-radius);
    padding: 12px !important;
}

.change-shipping-position-by-plugin ul li {
    margin-bottom: 12px !important;
}

.change-shipping-position-by-plugin ul li:last-child {
    margin-bottom: 0 !important;
}


.wp-block-woocommerce-cart.alignwide {
    margin-inline: 0;
}

.wpc-custom-selected-terms {
    margin-bottom: 10px;
}

body.single-product .summary.entry-summary form.cart {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
}

body.single-product .summary.entry-summary .product_meta {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
}

body .woocommerce ul.products li.product a img {
    margin-bottom: 10px;
}

body .woocommerce ul.products li.product .button {
    margin-top: 8px;
}

body .elementor-widget-wc-archive-products.elementor-wc-products ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .woocommerce-loop-category__title,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h3 {
    color: #000;
    font-family: var( --e-global-typography-primary-font-family ), Sans-serif;
    font-size: 19px;
    font-weight: 400 !important;
    padding: 0;
}

.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product p.price,
.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product span.price {
    color: #000;
}

.woocommerce:where(body:not(.woocommerce-uses-block-theme)) ul.products li.product .price {
    color: var( --e-global-color-primary );
    font-family: var( --e-global-typography-primary-font-family ), Sans-serif;
    font-weight: var( --e-global-typography-primary-font-weight );
}

.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.cm1-fe-filters-toggle.button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 12px 18px !important;
    font-size: 14px !important;
    font-family: inherit !important;
    font-weight: 600 !important;
    color: #ffffff !important;
    background-color: var(--def-color);
    border: none !important;
    border-radius: var(--def-radius) !important;
    cursor: pointer !important;
    transition: background-color var(--def-transition), transform var(--def-transition) !important;
    text-decoration: none !important;
    line-height: 1 !important;
    left: inherit;
    width: auto;
}

.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.cm1-fe-filters-toggle.button:hover {
    background-color: var(--def-color-hover);
}


.cm1-fe-filters-toggle.button .wpc-icon-html-wrapper span {
    background: #FFF;
}

.cm1-fe-filters-toggle.button  span.wpc-icon-line-1::after,
.cm1-fe-filters-toggle.button  span.wpc-icon-line-2::after,
.cm1-fe-filters-toggle.button  span.wpc-icon-line-3::after {
    border-color: var(--def-color);
}

.cm1-fe-filters-toggle.button:hover  span.wpc-icon-line-1::after,
.cm1-fe-filters-toggle.button:hover  span.wpc-icon-line-2::after,
.cm1-fe-filters-toggle.button:hover  span.wpc-icon-line-3::after {
    border-color: var(--def-color-hover);
}

body .wpc-filter-chips-list li.wpc-chip-reset-all a,
body .wpc-filter-chips-list li.wpc-filter-chip:not(.wpc-chip-reset-all) a {
    border-color: var(--def-color);
    background-color: var(--def-color);
    color: #FFF;
    font-size: 13px;
    padding: 3px 15px 4px;
    border-radius: 6px;
}

body .wpc-filter-chips-list li.wpc-filter-chip:not(.wpc-chip-reset-all) a {
    background-color: transparent;
    color: var(--def-color-hover);
}

body input:not([type="checkbox"]):not([type="radio"]):not(.adminbar-button):not(.input-text.qty.text).wpc-search-field {
    padding-left: 45px !important;
}