/*
 * Premium WooCommerce header styles.
 * Colors read Elementor Global Colors automatically where possible.
 */
:root {
    --shop-header-bg: var(--shop-primary, #0971B7);
    --shop-header-bg-alt: var(--shop-primary-dark, #075E98);
    --shop-header-accent: var(--shop-accent, #10ABB6);
    --shop-header-text: #ffffff;
    --shop-header-muted: rgba(255, 255, 255, 0.78);
    --shop-header-search-bg: #ffffff;
    --shop-header-search-text: #222233;
    --shop-header-button-bg: var(--shop-accent, #10ABB6);
    --shop-header-button-text: #ffffff;
    --shop-header-dropdown-bg: #ffffff;
    --shop-header-dropdown-text: #252233;
    --shop-header-dropdown-muted: #6f6a7a;
    --shop-header-border: #eceaf2;
    --shop-header-radius: 14px;
    --shop-header-max-width: 1380px;
    --shop-header-height: 92px;
    --shop-header-shadow: 0 10px 30px rgba(15, 10, 35, 0.16);
}

.shop-top-header {
    width: 100%;
    background:
        radial-gradient(circle at 12% 0%, rgba(255, 255, 255, 0.09), transparent 28%),
        linear-gradient(135deg, var(--shop-header-bg), var(--shop-header-bg-alt));
    color: var(--shop-header-text);
    position: relative;
    z-index: 999;
    box-shadow: var(--shop-header-shadow);
}

.shop-header-inner {
    width: min(100% - 32px, var(--shop-header-max-width));
    min-height: var(--shop-header-height);
    margin: 0 auto;
    display: grid;
    grid-template-columns: 220px minmax(280px, 1fr) auto;
    align-items: center;
    gap: 24px;
}

.shop-header-logo a {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
}

.shop-header-logo img {
    max-width: 190px;
    max-height: 64px;
    width: auto;
    height: auto;
    display: block;
}

.shop-text-logo {
    color: var(--shop-header-text);
    font-size: 30px;
    font-weight: 800;
    letter-spacing: -0.04em;
    line-height: 1;
}

.shop-search-form {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    background: var(--shop-header-search-bg);
    border: 2px solid rgba(255, 255, 255, 0.68);
    border-radius: var(--shop-header-radius);
    overflow: hidden;
    min-height: 54px;
    box-shadow: inset 0 0 0 1px rgba(20, 20, 30, 0.04);
}

.shop-search-form:focus-within {
    border-color: var(--shop-header-accent);
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--shop-header-accent) 24%, transparent);
}

.shop-search-form input[type="search"] {
    width: 100%;
    height: 54px;
    border: 0;
    outline: 0;
    padding: 0 20px;
    color: var(--shop-header-search-text);
    font-size: 16px;
    background: transparent;
}

.shop-search-form input[type="search"]::-moz-placeholder {
    color: rgba(34, 34, 51, 0.58);
}

.shop-search-form input[type="search"]::placeholder {
    color: rgba(34, 34, 51, 0.58);
}

.shop-search-form button {
    height: 46px;
    margin-right: 4px;
    border: 0;
    border-radius: calc(var(--shop-header-radius) - 5px);
    background: var(--shop-header-button-bg);
    color: var(--shop-header-button-text);
    padding: 0 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    font-weight: 800;
    cursor: pointer;
    transition: transform 0.18s ease, filter 0.18s ease, box-shadow 0.18s ease;
}

.shop-search-form button:hover {
    transform: translateY(-1px);
    filter: brightness(1.03);
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.18);
}

.shop-search-form svg,
.shop-action svg {
    width: 24px;
    height: 24px;
    display: block;
}

.shop-header-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
}

.shop-action-wrap {
    position: relative;
    display: inline-flex;
    align-items: center;
}

.shop-action {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 58px;
    padding: 10px 12px;
    border-radius: 14px;
    color: var(--shop-header-text);
    text-decoration: none;
    transition: background-color 0.18s ease, transform 0.18s ease;
    white-space: nowrap;
}

.shop-action:hover,
.shop-action-wrap:hover > .shop-action,
.shop-action-wrap.is-open > .shop-action {
    color: var(--shop-header-text);
    background: rgba(255, 255, 255, 0.10);
    transform: translateY(-1px);
}

.shop-action-icon {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--shop-header-text);
    flex: 0 0 auto;
}

.shop-action-content {
    display: flex;
    flex-direction: column;
    gap: 2px;
    line-height: 1.05;
}

.shop-action-label {
    color: var(--shop-header-accent);
    font-size: 12px;
    font-weight: 800;
    text-transform: none;
}

.shop-action strong {
    color: var(--shop-header-text);
    font-size: 15px;
    font-weight: 800;
}

.shop-phone-action strong {
    font-size: 16px;
}

.shop-icon-with-count {
    padding-right: 5px;
}

.shop-count-badge {
    position: absolute;
    top: -11px;
    right: -9px;
    min-width: 19px;
    height: 19px;
    padding: 0 5px;
    border-radius: 999px;
    background: var(--shop-header-accent);
    color: var(--shop-header-button-text);
    font-size: 11px;
    font-weight: 900;
    line-height: 19px;
    text-align: center;
    box-shadow: 0 0 0 2px var(--shop-header-bg);
}

.shop-action-chevron {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-left: -4px;
    opacity: 0.9;
}

.shop-action-chevron svg {
    width: 14px;
    height: 14px;
}

.shop-cart-total .woocommerce-Price-amount {
    color: inherit;
}

.shop-cart-action.is-updated .shop-action-icon,
.shop-wishlist-action.is-updated .shop-action-icon,
.shop-cart-wrap.is-updated .shop-action-icon,
.shop-wishlist-wrap.is-updated .shop-action-icon {
    animation: shop-header-pop 0.42s ease;
}

@keyframes shop-header-pop {
    0% { transform: scale(1); }
    45% { transform: scale(1.18); }
    100% { transform: scale(1); }
}

/* Dropdowns */
.shop-account-dropdown-holder,
.shop-wishlist-dropdown-holder,
.shop-cart-dropdown-holder {
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    width: 320px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: opacity 0.16s ease, transform 0.16s ease, visibility 0.16s ease;
    pointer-events: none;
    z-index: 9999;
}

.shop-cart-dropdown-holder {
    width: 380px;
}

.shop-account-dropdown-holder {
    width: 280px;
}

.shop-action-wrap:hover .shop-account-dropdown-holder,
.shop-action-wrap:hover .shop-wishlist-dropdown-holder,
.shop-action-wrap:hover .shop-cart-dropdown-holder,
.shop-action-wrap.is-open .shop-account-dropdown-holder,
.shop-action-wrap.is-open .shop-wishlist-dropdown-holder,
.shop-action-wrap.is-open .shop-cart-dropdown-holder {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
}

.shop-dropdown {
    position: relative;
    background: var(--shop-header-dropdown-bg);
    color: var(--shop-header-dropdown-text);
    border: 1px solid var(--shop-header-border);
    border-radius: 10px;
    box-shadow: 0 18px 40px rgba(9, 9, 20, 0.18);
    overflow: hidden;
}

.shop-dropdown::before {
    content: "";
    position: absolute;
    top: -8px;
    right: 44px;
    width: 16px;
    height: 16px;
    background: var(--shop-header-dropdown-bg);
    border-left: 1px solid var(--shop-header-border);
    border-top: 1px solid var(--shop-header-border);
    transform: rotate(45deg);
}

.shop-dropdown-heading,
.shop-dropdown-cart-title {
    padding: 14px 16px;
    border-bottom: 1px solid var(--shop-header-border);
    font-weight: 800;
    color: var(--shop-header-dropdown-text);
}

.shop-dropdown-heading-center {
    text-align: center;
    font-size: 12px;
    text-transform: uppercase;
    color: #0883e8;
    letter-spacing: 0.02em;
}

.shop-dropdown-list {
    padding: 8px;
}

.shop-dropdown-menu-link {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 10px 10px;
    border-radius: 8px;
    color: var(--shop-header-dropdown-text);
    text-decoration: none;
    font-size: 14px;
    line-height: 1.2;
}

.shop-dropdown-menu-link:hover {
    background: #f5f7fb;
    color: #008ae8;
}

.shop-dropdown-menu-link svg {
    width: 18px;
    height: 18px;
}

.shop-dropdown-products {
    max-height: 330px;
    overflow-y: auto;
}

.shop-dropdown-product {
    display: grid;
    grid-template-columns: 58px 1fr auto;
    gap: 10px;
    align-items: center;
    padding: 12px 14px;
    border-bottom: 1px solid var(--shop-header-border);
    text-decoration: none;
    color: var(--shop-header-dropdown-text);
}

.shop-wishlist-dropdown .shop-dropdown-product {
    grid-template-columns: 58px 1fr;
}

.shop-dropdown-product:hover {
    background: #fafbfe;
    color: var(--shop-header-dropdown-text);
}

.shop-dropdown-product-thumb {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 58px;
}

.shop-dropdown-product-image,
.shop-dropdown-product-thumb img {
    width: 54px;
    height: 54px;
    -o-object-fit: contain;
       object-fit: contain;
    display: block;
}

.shop-dropdown-product-info {
    min-width: 0;
    color: inherit;
    text-decoration: none;
}

.shop-dropdown-product-title {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: 13px;
    line-height: 1.3;
    color: var(--shop-header-dropdown-text);
}

.shop-dropdown-product-price {
    display: block;
    margin-top: 4px;
    color: #008ae8;
    font-size: 13px;
    font-weight: 900;
}

.shop-cart-remove {
    width: 26px;
    height: 26px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #888391;
    text-decoration: none;
}

.shop-cart-remove:hover {
    color: #e22b2b;
}

.shop-cart-remove svg {
    width: 18px;
    height: 18px;
}

.shop-dropdown-empty {
    padding: 24px 18px;
    color: var(--shop-header-dropdown-text);
    font-size: 14px;
}

.shop-dropdown-total {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 16px;
    border-top: 1px solid var(--shop-header-border);
    color: var(--shop-header-dropdown-muted);
}

.shop-dropdown-total strong {
    color: var(--shop-header-dropdown-text);
}

.shop-dropdown-button,
.shop-dropdown-button:visited {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 12px;
    min-height: 42px;
    border-radius: 6px;
    background: #078be8;
    color: #ffffff;
    text-decoration: none;
    font-size: 14px;
    font-weight: 800;
    text-align: center;
}

.shop-dropdown-button:hover {
    color: #ffffff;
    filter: brightness(0.96);
}

.shop-dropdown-buttons-row {
    padding: 0 0 2px;
}

.shop-dropdown-button-accent,
.shop-dropdown-button-accent:visited {
    background: var(--shop-header-button-bg);
    color: var(--shop-header-button-text);
}

.shop-dropdown-button-accent:hover {
    color: var(--shop-header-button-text);
}

.shop-free-shipping-box {
    padding: 13px 16px 10px;
    border-bottom: 1px solid var(--shop-header-border);
}

.shop-free-shipping-progress {
    display: block;
    width: 100%;
    height: 8px;
    border-radius: 20px;
    background: #e8ebf1;
    overflow: hidden;
    margin-bottom: 10px;
}

.shop-free-shipping-progress span {
    display: block;
    height: 100%;
    background: #3ca200;
    border-radius: inherit;
}

.shop-free-shipping-box p {
    margin: 0;
    color: #35a000;
    font-size: 14px;
    line-height: 1.35;
}

.shop-action:focus-visible,
.shop-search-form button:focus-visible,
.shop-search-form input:focus-visible,
.shop-dropdown a:focus-visible {
    outline: 3px solid var(--shop-header-accent);
    outline-offset: 3px;
}

@media (max-width: 1180px) {
    .shop-header-inner {
        grid-template-columns: 180px 1fr auto;
        gap: 16px;
    }

    .shop-phone-action {
        display: none;
    }

    .shop-action-content,
    .shop-action-chevron {
        display: none;
    }

    .shop-action {
        width: 48px;
        min-height: 48px;
        justify-content: center;
        padding: 8px;
    }

    .shop-header-logo img {
        max-width: 160px;
    }

    .shop-cart-dropdown-holder,
    .shop-wishlist-dropdown-holder,
    .shop-account-dropdown-holder {
        right: -8px;
    }
}

@media (max-width: 767px) {
    :root {
        --shop-header-height: auto;
    }

    .shop-top-header {
        padding: 12px 0;
    }

    .shop-header-inner {
        width: min(100% - 24px, var(--shop-header-max-width));
        grid-template-columns: 1fr auto;
        gap: 12px;
    }

    .shop-header-logo {
        grid-column: 1 / 2;
    }

    .shop-header-logo img {
        max-width: 150px;
        max-height: 48px;
    }

    .shop-header-actions {
        grid-column: 2 / 3;
        gap: 4px;
    }

    .shop-header-search {
        grid-column: 1 / -1;
        order: 3;
    }

    .shop-search-form {
        min-height: 50px;
        border-radius: 12px;
    }

    .shop-search-form input[type="search"] {
        height: 50px;
        font-size: 15px;
        padding: 0 14px;
    }

    .shop-search-form button {
        height: 42px;
        padding: 0 14px;
    }

    .shop-search-text {
        display: none;
    }

    .shop-action {
        width: 42px;
        min-height: 42px;
    }

    .shop-action svg {
        width: 23px;
        height: 23px;
    }

    .shop-count-badge {
        top: -8px;
        right: -7px;
    }

    .shop-account-dropdown-holder,
    .shop-wishlist-dropdown-holder,
    .shop-cart-dropdown-holder {
        position: fixed;
        left: 12px;
        right: 12px;
        top: 82px;
        width: auto;
    }

    .shop-dropdown::before {
        display: none;
    }
}

@media (max-width: 420px) {
    .shop-wishlist-action {
        display: inline-flex;
    }

    .shop-header-logo img {
        max-width: 135px;
    }
}

/* v1.2 improvements: stable hover bridge, Elementor accent colors and live product search. */
.shop-header-search {
    position: relative;
}

.shop-search-form {
    overflow: visible;
}

.shop-search-form button,
.shop-search-form button:hover,
.shop-search-form button:focus,
.shop-search-form button:active {
    background: var(--shop-header-button-bg) !important;
    color: var(--shop-header-button-text) !important;
    border-color: var(--shop-header-button-bg) !important;
}

.shop-search-form button:hover {
    filter: brightness(0.98);
}

.shop-action-wrap::after {
    content: "";
    position: absolute;
    left: -12px;
    right: -12px;
    top: 100%;
    height: 18px;
    z-index: 9998;
}

.shop-account-dropdown-holder,
.shop-wishlist-dropdown-holder,
.shop-cart-dropdown-holder {
    top: 100%;
    padding-top: 12px;
}

.shop-action-wrap:hover .shop-account-dropdown-holder,
.shop-action-wrap:hover .shop-wishlist-dropdown-holder,
.shop-action-wrap:hover .shop-cart-dropdown-holder,
.shop-account-dropdown-holder:hover,
.shop-wishlist-dropdown-holder:hover,
.shop-cart-dropdown-holder:hover,
.shop-action-wrap.is-open .shop-account-dropdown-holder,
.shop-action-wrap.is-open .shop-wishlist-dropdown-holder,
.shop-action-wrap.is-open .shop-cart-dropdown-holder {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
}

.shop-dropdown-heading-center,
.shop-dropdown-product-price,
.shop-live-search-meta .woocommerce-Price-amount {
    color: var(--shop-header-accent) !important;
}

.shop-dropdown-menu-link:hover {
    background: color-mix(in srgb, var(--shop-header-accent) 13%, #ffffff);
    color: var(--shop-header-dropdown-text);
}

.shop-dropdown-button,
.shop-dropdown-button:visited {
    background: var(--shop-header-button-bg) !important;
    color: var(--shop-header-button-text) !important;
}

.shop-dropdown-button:hover {
    color: var(--shop-header-button-text) !important;
    filter: brightness(0.98);
}

.shop-wishlist-dropdown .shop-dropdown-product,
.shop-wishlist-dropdown-product {
    grid-template-columns: 58px 1fr 28px;
}

.shop-wishlist-remove {
    width: 26px;
    height: 26px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #888391;
    text-decoration: none;
    border-radius: 50%;
}

.shop-wishlist-remove:hover {
    color: #e22b2b;
    background: #fff0f0;
}

.shop-wishlist-remove svg {
    width: 18px;
    height: 18px;
}

.shop-wishlist-remove.is-loading {
    opacity: 0.45;
    pointer-events: none;
}

.shop-live-search {
    position: absolute;
    left: 0;
    right: 0;
    top: calc(100% + 12px);
    z-index: 10000;
    display: none;
}

.shop-live-search.is-open {
    display: block;
}

.shop-live-search-panel,
.shop-live-search-loading {
    background: #ffffff;
    color: var(--shop-header-dropdown-text);
    border: 1px solid var(--shop-header-border);
    border-radius: 12px;
    box-shadow: 0 18px 44px rgba(9, 9, 20, 0.20);
    overflow: hidden;
}

.shop-live-search-panel::before {
    content: "";
    position: absolute;
    top: -8px;
    left: 42px;
    width: 16px;
    height: 16px;
    background: #ffffff;
    border-left: 1px solid var(--shop-header-border);
    border-top: 1px solid var(--shop-header-border);
    transform: rotate(45deg);
}

.shop-live-search-title {
    padding: 12px 16px;
    border-bottom: 1px solid var(--shop-header-border);
    color: var(--shop-header-accent);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.shop-live-search-item {
    display: grid;
    grid-template-columns: 58px 1fr;
    gap: 12px;
    align-items: center;
    padding: 12px 16px;
    border-bottom: 1px solid var(--shop-header-border);
    color: var(--shop-header-dropdown-text);
    text-decoration: none;
}

.shop-live-search-item:hover {
    background: color-mix(in srgb, var(--shop-header-accent) 10%, #ffffff);
    color: var(--shop-header-dropdown-text);
}

.shop-live-search-thumb,
.shop-live-search-thumb img {
    width: 52px;
    height: 52px;
    -o-object-fit: contain;
       object-fit: contain;
    display: flex;
    align-items: center;
    justify-content: center;
}

.shop-live-search-name {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.28;
}

.shop-live-search-meta {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 5px;
    font-size: 13px;
    font-weight: 900;
}

.shop-live-search-meta em {
    color: #39a100;
    font-style: normal;
    font-weight: 700;
}

.shop-live-search-all {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    margin: 12px;
    border-radius: 8px;
    background: var(--shop-header-button-bg);
    color: var(--shop-header-button-text);
    text-decoration: none;
    font-weight: 900;
}

.shop-live-search-all:hover {
    color: var(--shop-header-button-text);
    filter: brightness(0.98);
}

.shop-live-search-empty,
.shop-live-search-loading {
    padding: 18px;
    font-size: 14px;
}

@media (max-width: 767px) {
    .shop-live-search {
        top: calc(100% + 8px);
    }

    .shop-live-search-panel,
    .shop-live-search-loading {
        max-height: 70vh;
        overflow-y: auto;
    }
}

/* v1.3 fixes: non-violet default bar, cleaner search focus and debounced wishlist refresh styling. */
:root {
    --shop-header-bg: #0971B7;
    --shop-header-bg-alt: #075E98;
    --shop-header-button-bg: var(--shop-header-accent);
}

.shop-top-header {
    background:
        radial-gradient(circle at 12% 0%, rgba(255, 255, 255, 0.08), transparent 28%),
        linear-gradient(135deg, var(--shop-header-bg), var(--shop-header-bg-alt));
}

.shop-search-form,
.shop-search-form:focus-within {
    border-color: var(--shop-header-accent);
}

.shop-search-form:focus-within {
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--shop-header-accent) 22%, transparent);
}

.shop-search-form input[type="search"],
.shop-search-form input[type="search"]:focus,
.shop-search-form input[type="search"]:focus-visible,
.shop-search-form input[type="search"]:active {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    -webkit-box-shadow: none !important;
}

.shop-search-form button,
.shop-search-form button:hover,
.shop-search-form button:focus,
.shop-search-form button:focus-visible,
.shop-search-form button:active {
    outline: 0 !important;
    box-shadow: none !important;
    transform: none;
}

.shop-search-form button:hover {
    filter: brightness(0.95);
}

.shop-wishlist-wrap.is-updated .shop-count-badge,
.shop-cart-wrap.is-updated .shop-count-badge {
    animation: shop-header-pop 0.42s ease;
}

/* v1.4 fixes: unique violet bar, clean search focus, and safer wishlist/cart UI refresh. */
:root {
    --shop-header-bg: #0971B7;
    --shop-header-bg-alt: #075E98;
    --shop-header-button-bg: var(--shop-header-accent, #10abb6);
}

.shop-top-header {
    background:
        radial-gradient(circle at 14% 0%, rgba(255, 255, 255, 0.10), transparent 30%),
        linear-gradient(135deg, #0971B7 0%, #0971B7 48%, #075E98 100%);
}

.shop-search-form {
    border: 2px solid transparent;
    overflow: hidden;
}

.shop-search-form:focus-within {
    border-color: transparent;
    outline: 3px solid var(--shop-header-accent);
    outline-offset: 4px;
    box-shadow: none;
}

.shop-search-form input[type="search"],
.shop-search-form input[type="search"]:focus,
.shop-search-form input[type="search"]:focus-visible,
.shop-search-form input[type="search"]:active {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    -webkit-box-shadow: none !important;
}

.shop-search-form button,
.shop-search-form button:hover,
.shop-search-form button:focus,
.shop-search-form button:focus-visible,
.shop-search-form button:active {
    background: var(--shop-header-button-bg) !important;
    color: var(--shop-header-button-text) !important;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    transform: none !important;
}

.shop-search-form button:hover {
    filter: brightness(0.96);
}

.shop-wishlist-wrap.is-updated .shop-action-icon,
.shop-cart-wrap.is-updated .shop-action-icon,
.shop-wishlist-wrap.is-updated .shop-count-badge,
.shop-cart-wrap.is-updated .shop-count-badge {
    animation: shop-header-pop 0.42s ease;
}

/* --------------------------------------------------------------------------
 * Shop mega menu shortcode: [shop_mega_menu]
 * -------------------------------------------------------------------------- */
.shop-mega-menu {
    --shop-mega-bg: linear-gradient(135deg, #0971B7 0%, #0971B7 55%, #075E98 100%);
    --shop-mega-surface: #ffffff;
    --shop-mega-soft: #f6f5fb;
    --shop-mega-border: rgba(40, 28, 75, 0.14);
    --shop-mega-text: #073B5F;
    --shop-mega-muted: #6b647a;
    --shop-mega-accent: var(--shop-accent, #10ABB6);
    --shop-mega-danger: #e30613;
    --shop-mega-radius: 16px;
    position: relative;
    z-index: 45;
    width: 100%;
    background: var(--shop-mega-bg);
    color: #fff;
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.12) inset;
}

.shop-mega-inner {
    width: min(100% - 32px, var(--shop-header-max-width, 1380px));
    margin: 0 auto;
    position: relative;
}

.shop-mega-links {
    display: flex;
    align-items: stretch;
    min-height: 62px;
    gap: 0;
}

.shop-mega-item {
    position: static;
    display: flex;
}

.shop-mega-link,
.shop-mega-catalog-button,
.shop-mega-mobile-toggle {
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    border: 0;
    background: transparent;
    color: #fff;
    min-height: 62px;
    padding: 0 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.1;
    text-decoration: none;
    cursor: pointer;
    transition: background-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
    white-space: nowrap;
}

.shop-mega-link:hover,
.shop-mega-link:focus-visible,
.shop-mega-item.is-open > .shop-mega-link,
.shop-mega-item.is-open > .shop-mega-catalog-button,
.shop-mega-catalog-button:hover,
.shop-mega-catalog-button:focus-visible {
    color: #fff;
    background: rgba(255, 255, 255, 0.1);
    box-shadow: inset 0 -4px 0 var(--shop-mega-accent);
    outline: none;
}

.shop-mega-catalog-button {
    background: rgba(255, 255, 255, 0.12);
    min-width: 260px;
    justify-content: flex-start;
    border-radius: 10px 10px 0 0;
}

.shop-mega-link-icon {
    display: inline-flex;
    width: 22px;
    height: 22px;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    line-height: 1;
}

.shop-mega-phone {
    margin-left: auto;
}

.shop-mega-phone strong {
    color: var(--shop-mega-accent);
}

.shop-mega-mobile-toggle {
    display: none;
    width: 100%;
    justify-content: flex-start;
}

.shop-mega-dropdown {
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    background: var(--shop-mega-surface);
    color: var(--shop-mega-text);
    border: 1px solid var(--shop-mega-border);
    border-top: 4px solid var(--shop-mega-accent);
    box-shadow: 0 22px 45px rgba(18, 12, 42, 0.18);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(10px);
    transition: opacity 0.16s ease, transform 0.16s ease, visibility 0.16s ease;
}

.shop-mega-item.is-open > .shop-mega-dropdown,
.shop-mega-item:hover > .shop-mega-dropdown,
.shop-mega-item:focus-within > .shop-mega-dropdown {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
}

.shop-mega-grid {
    display: grid;
    grid-template-columns: 280px minmax(280px, 1fr) minmax(360px, 470px);
    min-height: 430px;
}

.shop-mega-sidebar {
    background: var(--shop-mega-soft);
    border-right: 1px solid var(--shop-mega-border);
    padding: 12px 0;
}

.shop-mega-category,
.shop-mega-all-brands {
    display: grid;
    grid-template-columns: 34px 1fr auto;
    align-items: center;
    gap: 10px;
    min-height: 44px;
    padding: 8px 16px 8px 18px;
    color: #0054a6;
    text-decoration: none;
    font-weight: 700;
    border-left: 4px solid transparent;
    transition: background-color 0.16s ease, color 0.16s ease, border-color 0.16s ease;
}

.shop-mega-category:hover,
.shop-mega-category.is-active,
.shop-mega-category:focus-visible {
    color: var(--shop-mega-text);
    background: #fff;
    border-left-color: var(--shop-mega-accent);
    outline: none;
}

.shop-mega-category-icon {
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: currentColor;
    opacity: 0.9;
}

.shop-mega-category-icon svg {
    width: 23px;
    height: 23px;
}

.shop-mega-category-arrow {
    font-size: 22px;
    opacity: 0.72;
}

.shop-mega-all-brands {
    grid-template-columns: 1fr;
    margin-top: 8px;
    color: var(--shop-mega-text);
    font-weight: 900;
}

.shop-mega-content {
    padding: 20px 24px;
    border-right: 1px solid var(--shop-mega-border);
}

.shop-mega-subpanel {
    display: none;
}

.shop-mega-subpanel.is-active {
    display: block;
}

.shop-mega-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 16px;
    color: var(--shop-mega-text);
}

.shop-mega-section-head strong {
    font-size: 16px;
    font-weight: 900;
}

.shop-mega-section-head a {
    color: #0054a6;
    text-decoration: none;
    font-size: 13px;
    font-weight: 800;
}

.shop-mega-section-head a:hover {
    color: #0971B7;
}

.shop-mega-link-columns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2px 28px;
}

.shop-mega-link-columns a {
    display: flex;
    align-items: center;
    min-height: 38px;
    color: #0054a6;
    text-decoration: none;
    font-size: 15px;
    line-height: 1.2;
    border-bottom: 1px solid rgba(40, 28, 75, 0.08);
}

.shop-mega-link-columns a:hover {
    color: #0971B7;
    padding-left: 4px;
}

.shop-mega-featured {
    padding: 20px 24px;
    background: #fff;
}

.shop-mega-product-list {
    display: grid;
    gap: 12px;
}

.shop-mega-product {
    display: grid;
    grid-template-columns: 56px 1fr auto;
    align-items: center;
    gap: 12px;
    min-height: 70px;
    padding: 8px 0;
    border-bottom: 1px solid rgba(40, 28, 75, 0.1);
}

.shop-mega-product-thumb {
    width: 56px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: #f7f7fb;
    overflow: hidden;
}

.shop-mega-product-thumb img {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
}

.shop-mega-product-title {
    display: block;
    color: #0054a6;
    text-decoration: none;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.25;
}

.shop-mega-product-title:hover {
    color: #0971B7;
}

.shop-mega-product-meta {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-top: 5px;
    color: var(--shop-mega-text);
    font-size: 13px;
    font-weight: 800;
}

.shop-mega-product-meta em {
    color: #299900;
    font-style: normal;
    font-weight: 700;
}

.shop-mega-add {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 0 14px;
    border-radius: 9px;
    background: var(--shop-mega-danger);
    color: #fff;
    text-decoration: none;
    font-size: 13px;
    font-weight: 900;
    transition: transform 0.16s ease, filter 0.16s ease;
}

.shop-mega-add:hover {
    color: #fff;
    filter: brightness(0.95);
    transform: translateY(-1px);
}

.shop-mega-promo-card,
.shop-mega-empty {
    border-radius: 14px;
    background: var(--shop-mega-soft);
    padding: 18px;
    color: var(--shop-mega-muted);
}

.shop-mega-promo-card strong {
    display: block;
    color: var(--shop-mega-text);
    margin-bottom: 6px;
}

.shop-mega-finder {
    left: 0;
    right: 0;
}

.shop-finder-box {
    padding: 26px;
    display: grid;
    grid-template-columns: 320px 1fr;
    gap: 26px;
    align-items: center;
    background:
        radial-gradient(circle at 90% 20%, rgba(16, 171, 182, 0.18), transparent 30%),
        #fff;
}

.shop-finder-copy span {
    color: #075E98;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-size: 12px;
}

.shop-finder-copy strong {
    display: block;
    margin-top: 4px;
    color: var(--shop-mega-text);
    font-size: 24px;
    line-height: 1.1;
    font-weight: 950;
}

.shop-finder-copy p {
    margin: 10px 0 0;
    color: var(--shop-mega-muted);
    line-height: 1.5;
}

.shop-finder-form {
    display: grid;
    grid-template-columns: minmax(190px, 1fr) minmax(220px, 1.2fr) auto;
    gap: 14px;
    align-items: end;
}

.shop-finder-form label {
    display: grid;
    gap: 7px;
    color: var(--shop-mega-text);
    font-size: 13px;
    font-weight: 800;
}

.shop-finder-form select,
.shop-finder-form input {
    width: 100%;
    min-height: 50px;
    border: 2px solid rgba(91, 42, 160, 0.18);
    border-radius: 12px;
    padding: 0 14px;
    color: var(--shop-mega-text);
    background: #fff;
    outline: none;
}

.shop-finder-form select:focus,
.shop-finder-form input:focus {
    border-color: var(--shop-mega-accent);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--shop-mega-accent) 25%, transparent);
}

.shop-finder-form button {
    min-height: 50px;
    border: 0;
    border-radius: 12px;
    padding: 0 22px;
    background: var(--shop-mega-accent);
    color: #073B5F;
    font-weight: 950;
    cursor: pointer;
}

.shop-finder-form button:hover {
    filter: brightness(0.98);
}

@media (max-width: 1180px) {
    .shop-mega-link,
    .shop-mega-catalog-button {
        padding-inline: 13px;
        font-size: 14px;
    }

    .shop-mega-catalog-button {
        min-width: 220px;
    }

    .shop-mega-grid {
        grid-template-columns: 250px 1fr 400px;
    }
}

@media (max-width: 980px) {
    .shop-mega-menu {
        z-index: 44;
    }

    .shop-mega-mobile-toggle {
        display: flex;
    }

    .shop-mega-links {
        display: none;
        position: absolute;
        left: 0;
        right: 0;
        top: 100%;
        min-height: 0;
        flex-direction: column;
        background: #0971B7;
        box-shadow: 0 18px 35px rgba(18, 12, 42, 0.22);
    }

    .shop-mega-menu.is-mobile-open .shop-mega-links {
        display: flex;
    }

    .shop-mega-item {
        display: block;
        position: relative;
    }

    .shop-mega-link,
    .shop-mega-catalog-button {
        width: 100%;
        min-height: 52px;
        justify-content: flex-start;
        border-radius: 0;
    }

    .shop-mega-phone {
        margin-left: 0;
    }

    .shop-mega-dropdown {
        position: static;
        display: none;
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: none;
        border-top-width: 3px;
        box-shadow: none;
        max-height: 75vh;
        overflow: auto;
    }

    .shop-mega-item.is-open > .shop-mega-dropdown {
        display: block;
    }

    .shop-mega-grid {
        display: block;
        min-height: 0;
    }

    .shop-mega-sidebar,
    .shop-mega-content,
    .shop-mega-featured {
        border-right: 0;
        padding: 14px;
    }

    .shop-mega-link-columns {
        grid-template-columns: 1fr;
    }

    .shop-finder-box {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .shop-finder-form {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .shop-mega-inner {
        width: 100%;
    }

    .shop-mega-mobile-toggle {
        padding-inline: 16px;
    }

    .shop-mega-product {
        grid-template-columns: 48px 1fr;
    }

    .shop-mega-add {
        grid-column: 2 / 3;
        justify-self: start;
    }
}

/* v1.8 advanced compatibility finder. */
.shop-finder-box-advanced {
    grid-template-columns: 330px 1fr;
}

.shop-finder-form-advanced {
    grid-template-columns: minmax(170px, 1fr) minmax(230px, 1.25fr) minmax(210px, 1fr) auto;
}

.shop-finder-copy small {
    display: block;
    margin-top: 12px;
    padding: 10px 12px;
    border-radius: 10px;
    background: color-mix(in srgb, var(--shop-mega-accent) 16%, #ffffff);
    color: var(--shop-mega-text);
    font-size: 12px;
    line-height: 1.45;
}

.shop-finder-form select.is-loading {
    opacity: 0.65;
    cursor: progress;
}

.shop-finder-form select:disabled {
    background: #f5f3f8;
    color: #8b8499;
    cursor: not-allowed;
}

@media (max-width: 1180px) {
    .shop-finder-form-advanced {
        grid-template-columns: repeat(2, minmax(180px, 1fr));
    }

    .shop-finder-form-advanced button {
        grid-column: 1 / -1;
    }
}

@media (max-width: 980px) {
    .shop-finder-box-advanced {
        grid-template-columns: 1fr;
    }

    .shop-finder-form-advanced {
        grid-template-columns: 1fr;
    }
}

/* --------------------------------------------------------------------------
 * v1.9 refined mega menu design.
 * Keeps the menu visually aligned with the premium violet header.
 * -------------------------------------------------------------------------- */
.shop-mega-menu {
    --shop-mega-bg: linear-gradient(135deg, #0971B7 0%, #0A84BD 52%, #075E98 100%);
    --shop-mega-surface: #ffffff;
    --shop-mega-soft: #f7f4fb;
    --shop-mega-border: rgba(52, 26, 95, 0.14);
    --shop-mega-text: #073B5F;
    --shop-mega-muted: #665c79;
    --shop-mega-accent: #10abb6;
    --shop-mega-violet: #075E98;
    --shop-mega-violet-dark: #0971B7;
    --shop-mega-danger: #e30613;
    margin: 0 !important;
    border: 0 !important;
    box-shadow: 0 -1px 0 rgba(255,255,255,.12) inset, 0 1px 0 rgba(16,171,182,.35) inset;
}

@media (min-width: 981px) {
    .shop-mega-mobile-toggle {
        display: none !important;
    }
}

.shop-mega-inner {
    min-height: 58px;
}

.shop-mega-links {
    min-height: 58px;
    gap: 0 !important;
}

.shop-mega-link,
.shop-mega-catalog-button,
.shop-mega-mobile-toggle {
    min-height: 58px;
    color: #ffffff !important;
    border: 0 !important;
    box-shadow: none;
}

.shop-mega-catalog-button {
    min-width: 260px;
    background: rgba(255, 255, 255, 0.10) !important;
    border-radius: 12px 12px 0 0;
}

.shop-mega-link:hover,
.shop-mega-link:focus-visible,
.shop-mega-item.is-open > .shop-mega-link,
.shop-mega-item.is-open > .shop-mega-catalog-button,
.shop-mega-catalog-button:hover,
.shop-mega-catalog-button:focus-visible {
    background: rgba(255, 255, 255, 0.14) !important;
    color: #ffffff !important;
    box-shadow: inset 0 -4px 0 var(--shop-mega-accent) !important;
}

.shop-mega-dropdown {
    border-top: 3px solid var(--shop-mega-accent) !important;
    box-shadow: 0 24px 55px rgba(24, 13, 52, 0.22);
    overflow: hidden;
}

.shop-mega-grid {
    grid-template-columns: 300px minmax(340px, 1fr) minmax(390px, 470px);
    min-height: 460px;
}

.shop-mega-sidebar {
    background: linear-gradient(180deg, #F5FBFD 0%, #EEF8FB 100%);
}

.shop-mega-category,
.shop-mega-all-brands {
    color: var(--shop-mega-violet-dark) !important;
    border-left-color: transparent;
}

.shop-mega-category:hover,
.shop-mega-category.is-active,
.shop-mega-category:focus-visible {
    color: var(--shop-mega-violet-dark) !important;
    background: #ffffff;
    border-left-color: var(--shop-mega-accent) !important;
    box-shadow: inset 0 0 0 1px rgba(91, 42, 160, 0.06);
}

.shop-mega-category-icon {
    color: var(--shop-mega-violet);
}

.shop-mega-section-head a,
.shop-mega-link-columns a,
.shop-mega-product-title {
    color: var(--shop-mega-violet) !important;
}

.shop-mega-section-head a:hover,
.shop-mega-link-columns a:hover,
.shop-mega-product-title:hover {
    color: var(--shop-mega-violet-dark) !important;
}

.shop-mega-product-meta em {
    color: var(--shop-mega-violet);
}

.shop-mega-add {
    background: var(--shop-mega-danger) !important;
    color: #ffffff !important;
}

.shop-mega-finder {
    border-top-color: var(--shop-mega-accent) !important;
}

.shop-finder-box {
    background:
        radial-gradient(circle at 88% 18%, rgba(16, 171, 182, 0.16), transparent 32%),
        linear-gradient(135deg, #ffffff 0%, #F5FBFD 100%);
}

.shop-finder-copy span {
    color: var(--shop-mega-violet) !important;
}

.shop-finder-form select,
.shop-finder-form input {
    border: 2px solid rgba(91, 42, 160, 0.18) !important;
    border-radius: 13px;
    background: #ffffff;
}

.shop-finder-form select:focus,
.shop-finder-form input:focus {
    border-color: var(--shop-mega-accent) !important;
    box-shadow: 0 0 0 3px rgba(16, 171, 182, 0.24) !important;
}

.shop-finder-form button {
    background: var(--shop-mega-accent) !important;
    color: #ffffff !important;
}

.shop-finder-form-advanced {
    grid-template-columns: minmax(220px, 1fr) minmax(340px, 1.45fr) auto !important;
}

@media (max-width: 980px) {
    .shop-mega-mobile-toggle {
        display: flex !important;
        background: rgba(255, 255, 255, 0.10) !important;
    }

    .shop-mega-links {
        background: #0971B7 !important;
    }

    .shop-finder-form-advanced {
        grid-template-columns: 1fr !important;
    }
}

/* --------------------------------------------------------------------------
 * v1.10 mega menu interaction fixes.
 * -------------------------------------------------------------------------- */
.elementor-widget-shortcode:has(.shop-top-header),
.elementor-widget-shortcode:has(.shop-mega-menu) {
    margin-block: 0 !important;
}

.shop-top-header {
    margin-bottom: 0 !important;
}

.shop-top-header + .shop-mega-menu,
.shop-mega-menu {
    margin-top: 0 !important;
}

.shop-mega-menu {
    border-top: 0 !important;
}

.shop-mega-menu .added_to_cart.wc-forward {
    display: none !important;
}

.shop-mega-products-panel {
    display: none;
}

.shop-mega-products-panel.is-active {
    display: block;
}

.shop-mega-content-blocks {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
    gap: 28px;
}

.shop-mega-mini-title {
    display: block;
    margin-bottom: 10px;
    color: var(--shop-mega-violet-dark);
    font-size: 13px;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: 0.025em;
}

.shop-mega-quick-links a {
    color: var(--shop-mega-violet-dark) !important;
    background: color-mix(in srgb, var(--shop-mega-accent) 8%, #ffffff);
    border: 1px solid rgba(91, 42, 160, 0.10);
    border-radius: 10px;
    min-height: 42px;
    padding: 0 12px;
    margin-bottom: 8px;
}

.shop-mega-quick-links a:hover {
    background: color-mix(in srgb, var(--shop-mega-accent) 18%, #ffffff);
    padding-left: 12px;
}

.shop-mega-category {
    cursor: pointer;
}

.shop-mega-category.is-active .shop-mega-category-arrow,
.shop-mega-category:hover .shop-mega-category-arrow {
    transform: translateX(3px);
}

.shop-mega-category-arrow {
    transition: transform 0.16s ease;
}

.shop-finder-model-input.is-loading {
    opacity: 0.68;
    cursor: progress;
}

@media (max-width: 980px) {
    .shop-mega-content-blocks {
        grid-template-columns: 1fr;
    }
}

/* v1.11 mega menu refinements */
.shop-mega-add.is-adding {
    pointer-events: none;
    opacity: 0.82;
    transform: scale(0.98);
}

.shop-mega-add.is-added {
    background: #18a957 !important;
    color: #ffffff !important;
    box-shadow: 0 8px 20px rgba(24, 169, 87, 0.28);
    animation: shopMegaAddedPulse 0.58s ease;
}

@keyframes shopMegaAddedPulse {
    0% { transform: scale(1); }
    45% { transform: scale(1.07); }
    100% { transform: scale(1); }
}

.shop-mega-product-list.is-loading {
    opacity: 0.55;
    pointer-events: none;
    transition: opacity 0.16s ease;
}

.shop-mega-filter-link.is-active,
.shop-mega-filter-link:hover {
    background: color-mix(in srgb, var(--shop-mega-accent) 28%, #ffffff) !important;
    border-color: color-mix(in srgb, var(--shop-mega-accent) 65%, #ffffff);
    color: var(--shop-mega-text) !important;
}

.shop-finder-model-select.is-loading,
.shop-finder-select.is-loading {
    opacity: 0.68;
    cursor: progress;
}

/* v1.12 refinements: mobile mega menu and cleaner finder/catalog spacing */
.shop-mega-section-head a,
.shop-mega-link-columns a {
    color: var(--shop-mega-violet-dark) !important;
}

.shop-mega-link-columns a:hover,
.shop-mega-section-head a:hover {
    color: var(--shop-mega-violet) !important;
}

.shop-mega-content::after {
    content: "Alege o categorie din stânga sau folosește linkurile rapide pentru recomandări actualizate.";
    display: block;
    margin-top: 28px;
    padding: 18px 20px;
    border-radius: 14px;
    color: var(--shop-mega-muted);
    background: linear-gradient(135deg, rgba(16,171,182,.12), rgba(91,42,160,.06));
    font-size: 14px;
    line-height: 1.45;
}

@media (max-width: 980px) {
    .shop-mega-inner {
        width: 100% !important;
        min-height: 0 !important;
    }

    .shop-mega-mobile-toggle {
        display: flex !important;
        width: 100% !important;
        min-width: 0 !important;
        border-radius: 0 !important;
        padding: 0 18px !important;
    }

    .shop-mega-links {
        position: static !important;
        width: 100% !important;
        min-width: 0 !important;
        left: auto !important;
        right: auto !important;
        top: auto !important;
        background: #0971B7 !important;
    }

    .shop-mega-link,
    .shop-mega-catalog-button {
        width: 100% !important;
        min-width: 0 !important;
        justify-content: flex-start !important;
        padding: 0 18px !important;
        border-radius: 0 !important;
    }

    .shop-mega-dropdown {
        width: 100% !important;
        min-width: 0 !important;
    }

    .shop-mega-grid {
        display: block !important;
        min-height: 0 !important;
    }

    .shop-mega-content::after {
        display: none;
    }
}


/* v1.13 refinements: compact finder select, restored helper copy and cleaner mobile mega menu. */
.shop-finder-copy p {
    margin: 12px 0 0;
    max-width: 330px;
    color: var(--shop-mega-muted, #6b647a);
    font-size: 15px;
    line-height: 1.55;
    font-weight: 500;
}

.shop-finder-model-select {
    max-width: 100%;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
}

.shop-finder-model-select option {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@media (max-width: 980px) {
    .shop-mega-menu,
    .shop-mega-inner,
    .shop-mega-links,
    .shop-mega-item {
        text-align: left !important;
    }

    .shop-mega-mobile-toggle {
        justify-content: flex-start !important;
        text-align: left !important;
        min-height: 54px !important;
        padding-left: 18px !important;
    }

    .shop-mega-menu.is-mobile-open .shop-mega-links {
        align-items: stretch !important;
        display: flex !important;
    }

    .shop-mega-link,
    .shop-mega-catalog-button {
        justify-content: flex-start !important;
        text-align: left !important;
        width: 100% !important;
        padding-left: 18px !important;
        padding-right: 18px !important;
    }

    .shop-mega-item.is-open > .shop-mega-link,
    .shop-mega-item.is-open > .shop-mega-catalog-button,
    .shop-mega-link:hover,
    .shop-mega-catalog-button:hover {
        box-shadow: inset 4px 0 0 var(--shop-mega-accent), inset 0 -1px 0 rgba(255,255,255,.08) !important;
    }

    .shop-finder-copy p {
        max-width: none;
        font-size: 14px;
    }
}

/* Homepage building blocks added in v1.14 and refined in v1.15. */
.shop-home-finder,
.shop-quick-categories,
.shop-brand-grid-section {
    --shop-home-purple: var(--shop-header-bg, #0971B7);
    --shop-home-purple-2: var(--shop-header-bg-alt, #075E98);
    --shop-home-accent: var(--shop-header-accent, #10abb6);
    --shop-home-text: #073B5F;
    width: min(100% - 32px, 1380px);
    margin: 0 auto;
}

.shop-home-finder {
    margin-top: 22px;
    margin-bottom: 28px;
}

.shop-home-finder-inner {
    display: grid;
    grid-template-columns: minmax(260px, 340px) minmax(0, 1fr);
    gap: 34px;
    align-items: center;
    padding: 34px 36px;
    border-radius: 26px;
    color: #fff;
    background:
        radial-gradient(circle at 92% 0%, rgba(16, 171, 182, 0.18), transparent 30%),
        linear-gradient(135deg, var(--shop-home-purple), var(--shop-home-purple-2));
    box-shadow: 0 22px 45px rgba(32, 20, 58, 0.22);
    overflow: hidden;
}

.shop-home-finder-copy {
    min-width: 0;
}

.shop-home-finder-copy span,
.shop-brand-grid-copy span {
    display: inline-flex;
    margin-bottom: 8px;
    color: var(--shop-home-accent);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.shop-home-finder-copy h2,
.shop-brand-grid-copy h2 {
    margin: 0;
    color: #ffffff;
    font-size: clamp(25px, 3vw, 38px);
    line-height: 1.05;
    letter-spacing: -0.04em;
}

.shop-home-finder-copy p,
.shop-brand-grid-copy p {
    margin: 12px 0 0;
    color: rgba(255, 255, 255, 0.84);
    font-size: 15px;
    line-height: 1.55;
}

.shop-home-finder-form {
    display: block;
    width: 100%;
    margin: 0;
}

.shop-home-finder-fields {
    display: grid;
    grid-template-columns: minmax(180px, 1fr) minmax(210px, 1.12fr) minmax(250px, 1.28fr) 176px;
    gap: 16px;
    align-items: end;
    width: 100%;
}

.shop-home-finder-field,
.shop-home-finder-action {
    display: block;
    min-width: 0;
    margin: 0;
    padding: 0;
}

.shop-home-finder-field > span,
.shop-home-finder-action-spacer {
    display: block;
    height: 18px;
    margin: 0 0 8px;
    color: #fff;
    font-size: 13px;
    font-weight: 900;
    line-height: 18px;
    white-space: nowrap;
}

.shop-home-finder-form select,
.shop-home-finder-form input {
    min-height: 54px;
    height: 54px;
    width: 100%;
    border: 2px solid rgba(255, 255, 255, 0.65);
    border-radius: 14px;
    background: #fff;
    color: var(--shop-home-text);
    padding: 0 16px;
    font-size: 15px;
    font-weight: 800;
    outline: none;
    box-shadow: inset 0 0 0 1px rgba(7, 59, 95, 0.03);
}

.shop-home-finder-form select:focus,
.shop-home-finder-form input:focus {
    border-color: var(--shop-home-accent);
    box-shadow: 0 0 0 4px rgba(16, 171, 182, 0.22);
}

.shop-home-finder-form button {
    width: 100%;
    min-height: 54px;
    height: 54px;
    border: 0;
    border-radius: 14px;
    padding: 0 18px;
    background: var(--shop-home-accent);
    color: #073B5F;
    font-size: 15px;
    font-weight: 950;
    white-space: nowrap;
    cursor: pointer;
    box-shadow: 0 14px 30px rgba(16, 171, 182, 0.22);
    transition: transform 0.18s ease, filter 0.18s ease, box-shadow 0.18s ease;
}

.shop-home-finder-form button:hover {
    transform: translateY(-1px);
    filter: brightness(1.03);
    box-shadow: 0 18px 34px rgba(16, 171, 182, 0.30);
}

@media (max-width: 1180px) {
    .shop-home-finder-inner,
    .shop-brand-grid-section {
        grid-template-columns: 1fr;
    }

    .shop-home-finder-fields {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .shop-home-finder-action {
        grid-column: 1 / -1;
    }

    .shop-home-finder-action-spacer {
        display: none;
    }
}

@media (max-width: 640px) {
    .shop-home-finder,
    .shop-quick-categories,
    .shop-brand-grid-section {
        width: min(100% - 20px, 1380px);
    }

    .shop-home-finder-inner {
        padding: 22px;
        border-radius: 18px;
    }

    .shop-home-finder-fields,
    .shop-quick-categories-grid,
    .shop-brand-grid {
        grid-template-columns: 1fr;
    }

    .shop-home-finder-field > span {
        white-space: normal;
    }

    .shop-brand-grid-copy,
    .shop-brand-grid {
        padding: 18px;
    }
}

.shop-quick-categories {
    margin-top: 26px;
    margin-bottom: 28px;
}

.shop-quick-categories-grid {
    display: grid;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    gap: 14px;
}

.shop-quick-category-card {
    display: grid;
    gap: 10px;
    place-items: center;
    min-height: 138px;
    padding: 16px 10px;
    border: 1px solid rgba(9, 113, 183, 0.12);
    border-radius: 18px;
    background: #fff;
    color: var(--shop-home-text);
    text-align: center;
    text-decoration: none;
    box-shadow: 0 12px 28px rgba(7, 59, 95, 0.07);
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.shop-quick-category-card:hover {
    transform: translateY(-3px);
    border-color: var(--shop-home-accent);
    box-shadow: 0 18px 34px rgba(7, 59, 95, 0.13);
    color: var(--shop-home-purple);
}

.shop-quick-category-image {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 82px;
    height: 64px;
}

.shop-quick-category-image img {
    max-width: 100%;
    max-height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
}

.shop-quick-category-title {
    font-size: 14px;
    font-weight: 800;
    line-height: 1.25;
}

.shop-brand-grid-section {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 0;
    margin-top: 28px;
    margin-bottom: 36px;
    overflow: hidden;
    border: 1px solid rgba(9, 113, 183, 0.14);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 14px 34px rgba(7, 59, 95, 0.08);
}

.shop-brand-grid-copy {
    padding: 28px;
    background: linear-gradient(180deg, #F2FBFC, #fff);
    border-right: 1px solid rgba(9, 113, 183, 0.12);
}

.shop-brand-grid-copy h2 {
    color: var(--shop-home-text);
    font-size: 26px;
}

.shop-brand-grid-copy p {
    color: rgba(25, 19, 46, 0.72);
}

.shop-brand-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 12px;
    padding: 24px;
}

.shop-brand-card {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 70px;
    border: 1px solid rgba(9, 113, 183, 0.13);
    border-radius: 14px;
    background: #fff;
    color: rgba(25, 19, 46, 0.72);
    text-decoration: none;
    font-size: 22px;
    font-weight: 900;
    letter-spacing: -0.04em;
    filter: grayscale(1);
    transition: transform 0.18s ease, border-color 0.18s ease, color 0.18s ease, filter 0.18s ease;
}

.shop-brand-card:hover {
    transform: translateY(-2px);
    border-color: var(--shop-home-accent);
    color: var(--shop-home-purple);
    filter: grayscale(0);
}

@media (max-width: 1024px) {
    .shop-brand-grid-section {
        grid-template-columns: 1fr;
    }

    .shop-quick-categories-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .shop-brand-grid-copy {
        border-right: 0;
        border-bottom: 1px solid rgba(9, 113, 183, 0.12);
    }

    .shop-brand-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .shop-quick-categories-grid,
    .shop-brand-grid {
        grid-template-columns: 1fr 1fr;
    }

    .shop-brand-grid-copy,
    .shop-brand-grid {
        padding: 18px;
    }

    .shop-brand-card {
        min-height: 60px;
        font-size: 18px;
    }
}

/* =========================================================
   v1.16 - Hard fix for homepage finder layout.
   Unique class avoids old Elementor/Additional CSS conflicts.
========================================================= */
.shop-home-finder-v16 { width:min(100% - 32px,1380px)!important; margin:28px auto 38px!important; padding:0!important; border-radius:28px!important; background:transparent!important; box-shadow:none!important; overflow:visible!important; }
.shop-home-finder-v16, .shop-home-finder-v16 * { box-sizing:border-box!important; }
.shop-home-finder-v16 .shop-home-finder-inner { display:grid!important; grid-template-columns:minmax(260px,330px) minmax(0,1fr)!important; gap:42px!important; align-items:center!important; width:100%!important; padding:36px 42px!important; border-radius:28px!important; background:radial-gradient(circle at 90% 15%,rgba(16,171,182,.14),transparent 30%),linear-gradient(135deg,#073B5F 0%,#0971B7 56%,#075E98 100%)!important; box-shadow:0 22px 60px rgba(7,59,95,.18)!important; overflow:hidden!important; }
.shop-home-finder-v16 .shop-home-finder-copy { display:block!important; min-width:0!important; max-width:330px!important; margin:0!important; padding:0!important; }
.shop-home-finder-v16 .shop-home-finder-copy>span { display:block!important; margin:0 0 10px!important; color:#10abb6!important; font-size:12px!important; font-weight:900!important; line-height:1.1!important; letter-spacing:.055em!important; text-transform:uppercase!important; }
.shop-home-finder-v16 .shop-home-finder-copy h2 { margin:0 0 14px!important; padding:0!important; color:#fff!important; font-size:clamp(30px,2.8vw,42px)!important; font-weight:950!important; line-height:1.04!important; letter-spacing:-.045em!important; }
.shop-home-finder-v16 .shop-home-finder-copy p { margin:0!important; padding:0!important; color:rgba(255,255,255,.84)!important; font-size:15px!important; line-height:1.55!important; }
.shop-home-finder-v16 .shop-home-finder-form { display:block!important; width:100%!important; min-width:0!important; margin:0!important; padding:0!important; }
.shop-home-finder-v16 .shop-home-finder-fields { display:grid!important; grid-template-columns:minmax(180px,1fr) minmax(210px,1.12fr) minmax(250px,1.28fr) minmax(170px,.72fr)!important; -moz-column-gap:18px!important; column-gap:18px!important; row-gap:14px!important; align-items:end!important; width:100%!important; min-width:0!important; margin:0!important; padding:0!important; }
.shop-home-finder-v16 .shop-home-finder-field, .shop-home-finder-v16 .shop-home-finder-action { display:flex!important; flex-direction:column!important; justify-content:flex-end!important; min-width:0!important; width:100%!important; min-height:80px!important; margin:0!important; padding:0!important; }
.shop-home-finder-v16 .shop-home-finder-field>span, .shop-home-finder-v16 .shop-home-finder-action-spacer { display:block!important; width:100%!important; height:18px!important; min-height:18px!important; margin:0 0 8px!important; padding:0!important; color:#fff!important; font-size:13px!important; font-weight:900!important; line-height:18px!important; white-space:nowrap!important; overflow:hidden!important; text-overflow:ellipsis!important; }
.shop-home-finder-v16 .shop-home-finder-form select, .shop-home-finder-v16 .shop-home-finder-form input[type=search], .shop-home-finder-v16 .shop-home-finder-form input[type=text] { display:block!important; width:100%!important; max-width:none!important; min-width:0!important; height:54px!important; min-height:54px!important; margin:0!important; padding:0 16px!important; border:2px solid rgba(255,255,255,.65)!important; border-radius:14px!important; background:#fff!important; color:#073B5F!important; font-size:15px!important; font-weight:800!important; line-height:54px!important; outline:none!important; box-shadow:inset 0 0 0 1px rgba(7,59,95,.03)!important; }
.shop-home-finder-v16 .shop-home-finder-form select:focus, .shop-home-finder-v16 .shop-home-finder-form input:focus { border-color:#10abb6!important; box-shadow:0 0 0 4px rgba(16,171,182,.20)!important; }
.shop-home-finder-v16 .shop-home-finder-action button, .shop-home-finder-v16 .shop-home-finder-form button { display:inline-flex!important; align-items:center!important; justify-content:center!important; width:100%!important; max-width:none!important; min-width:0!important; height:54px!important; min-height:54px!important; margin:0!important; padding:0 18px!important; border:0!important; border-radius:14px!important; background:#10abb6!important; color:#073B5F!important; font-size:15px!important; font-weight:950!important; line-height:1!important; text-align:center!important; white-space:nowrap!important; box-shadow:0 14px 30px rgba(16,171,182,.22)!important; cursor:pointer!important; }
.shop-home-finder-v16 .shop-home-finder-action button:hover, .shop-home-finder-v16 .shop-home-finder-form button:hover { filter:brightness(1.04)!important; transform:translateY(-1px)!important; box-shadow:0 18px 34px rgba(16,171,182,.30)!important; }
@media (max-width:1180px){ .shop-home-finder-v16 .shop-home-finder-inner{grid-template-columns:1fr!important; gap:24px!important; padding:34px 30px!important;} .shop-home-finder-v16 .shop-home-finder-copy{max-width:720px!important;} .shop-home-finder-v16 .shop-home-finder-fields{grid-template-columns:repeat(2,minmax(0,1fr))!important;} }
@media (max-width:767px){ .shop-home-finder-v16{width:min(100% - 22px,1380px)!important; margin:22px auto 30px!important;} .shop-home-finder-v16 .shop-home-finder-inner{padding:26px 18px!important; border-radius:22px!important;} .shop-home-finder-v16 .shop-home-finder-fields{grid-template-columns:1fr!important; gap:13px!important;} .shop-home-finder-v16 .shop-home-finder-field, .shop-home-finder-v16 .shop-home-finder-action{min-height:0!important;} .shop-home-finder-v16 .shop-home-finder-action-spacer{display:none!important;} .shop-home-finder-v16 .shop-home-finder-copy h2{font-size:32px!important;} }

/* =========================================================
   v1.20 - Premium brand logo grid with grayscale logos and hover actions.
========================================================= */
.shop-brand-grid-section-v20 {
    display: grid !important;
    grid-template-columns: 300px 1fr !important;
    gap: 0 !important;
    width: min(100% - 32px, 1380px) !important;
    margin: 30px auto 42px !important;
    overflow: hidden !important;
    border: 1px solid rgba(9, 113, 183, 0.13) !important;
    border-radius: 24px !important;
    background: #ffffff !important;
    box-shadow: 0 18px 46px rgba(7, 59, 95, 0.08) !important;
}

.shop-brand-grid-section-v20 .shop-brand-grid-copy {
    padding: 30px !important;
    background: linear-gradient(180deg, #F2FBFC 0%, #ffffff 100%) !important;
    border-right: 1px solid rgba(9, 113, 183, 0.11) !important;
}

.shop-brand-grid-section-v20 .shop-brand-grid-copy span {
    display: inline-flex !important;
    margin-bottom: 10px !important;
    color: #0971B7 !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    letter-spacing: .055em !important;
    text-transform: uppercase !important;
}

.shop-brand-grid-section-v20 .shop-brand-grid-copy h2 {
    margin: 0 0 12px !important;
    color: #073B5F !important;
    font-size: 28px !important;
    font-weight: 950 !important;
    line-height: 1.08 !important;
    letter-spacing: -0.035em !important;
}

.shop-brand-grid-section-v20 .shop-brand-grid-copy p {
    margin: 0 !important;
    color: #5F7181 !important;
    font-size: 15px !important;
    line-height: 1.6 !important;
}

.shop-brand-grid-v20 {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 0 !important;
    padding: 0 !important;
    background: #ffffff !important;
}

.shop-brand-card-v20 {
    position: relative !important;
    min-height: 142px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 22px 16px !important;
    border: 0 !important;
    border-right: 1px solid rgba(9, 113, 183, 0.10) !important;
    border-bottom: 1px solid rgba(9, 113, 183, 0.10) !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    text-decoration: none !important;
    overflow: hidden !important;
    filter: none !important;
    transform: none !important;
    box-shadow: none !important;
    transition: background-color .18s ease, box-shadow .18s ease, transform .18s ease, border-color .18s ease !important;
}

.shop-brand-card-v20:hover {
    z-index: 4 !important;
    transform: translateY(-2px) !important;
    background: linear-gradient(180deg, #ffffff 0%, #fbf8ff 100%) !important;
    box-shadow: 0 16px 34px rgba(7, 59, 95, 0.12) !important;
}

.shop-brand-card-logo-wrap {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 58px !important;
    transition: transform .18s ease, opacity .18s ease !important;
}

.shop-brand-card-logo {
    display: block !important;
    width: auto !important;
    max-width: 150px !important;
    height: auto !important;
    max-height: 58px !important;
    -o-object-fit: contain !important;
       object-fit: contain !important;
    margin: 0 auto !important;
    filter: grayscale(1) saturate(0) contrast(.92) opacity(.58) !important;
    transition: filter .22s ease, transform .22s ease, opacity .22s ease !important;
}

.shop-brand-card-v20:hover .shop-brand-card-logo {
    filter: grayscale(0) saturate(1.05) contrast(1) opacity(1) !important;
    transform: scale(1.04) !important;
}

.shop-brand-card-name {
    color: #5F7181 !important;
    font-size: 28px !important;
    font-weight: 950 !important;
    line-height: 1 !important;
    letter-spacing: -0.04em !important;
    filter: grayscale(1) opacity(.68) !important;
    transition: color .2s ease, filter .2s ease, transform .2s ease !important;
}

.shop-brand-card-v20:hover .shop-brand-card-name {
    color: #0971B7 !important;
    filter: none !important;
    transform: scale(1.04) !important;
}

.shop-brand-card-actions {
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 12px !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 5px !important;
    opacity: 0 !important;
    transform: translateY(12px) !important;
    pointer-events: none !important;
    transition: opacity .18s ease, transform .18s ease !important;
}

.shop-brand-card-v20:hover .shop-brand-card-actions {
    opacity: 1 !important;
    transform: translateY(0) !important;
    pointer-events: auto !important;
}

.shop-brand-card-v20:hover .shop-brand-card-logo-wrap {
    transform: translateY(-18px) !important;
}

.shop-brand-card-action {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 28px !important;
    padding: 0 10px !important;
    border-radius: 8px !important;
    background: #0971B7 !important;
    color: #ffffff !important;
    font-size: 12px !important;
    font-weight: 850 !important;
    line-height: 1 !important;
    text-align: center !important;
    cursor: pointer !important;
    transition: background-color .18s ease, color .18s ease, transform .18s ease !important;
}

.shop-brand-card-action:hover {
    background: #10abb6 !important;
    color: #073B5F !important;
    transform: translateY(-1px) !important;
}

@media (max-width: 1180px) {
    .shop-brand-grid-section-v20 {
        grid-template-columns: 1fr !important;
    }

    .shop-brand-grid-section-v20 .shop-brand-grid-copy {
        border-right: 0 !important;
        border-bottom: 1px solid rgba(9, 113, 183, 0.11) !important;
    }

    .shop-brand-grid-v20 {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 767px) {
    .shop-brand-grid-section-v20 {
        width: min(100% - 22px, 1380px) !important;
        border-radius: 20px !important;
    }

    .shop-brand-grid-section-v20 .shop-brand-grid-copy {
        padding: 22px 18px !important;
    }

    .shop-brand-grid-v20 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .shop-brand-card-v20 {
        min-height: 132px !important;
        padding: 18px 12px !important;
    }

    .shop-brand-card-logo {
        max-width: 128px !important;
        max-height: 50px !important;
    }

    .shop-brand-card-actions {
        opacity: 1 !important;
        transform: none !important;
        pointer-events: auto !important;
    }

    .shop-brand-card-v20 .shop-brand-card-logo-wrap {
        transform: translateY(-18px) !important;
    }
}

/* =========================================================
   v1.21 - Brand grid mobile fix.
   Keep quick buttons visible on mobile, but place them under the logo instead of over it.
========================================================= */
@media (max-width: 767px) {
    .shop-brand-card-v20 {
        min-height: 176px !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 14px !important;
        padding: 18px 12px 14px !important;
        overflow: hidden !important;
    }

    .shop-brand-card-v20 .shop-brand-card-logo-wrap {
        flex: 0 0 auto !important;
        min-height: 58px !important;
        transform: none !important;
        margin: 0 !important;
        padding: 0 !important;
        z-index: 2 !important;
    }

    .shop-brand-card-v20:hover .shop-brand-card-logo-wrap {
        transform: none !important;
    }

    .shop-brand-card-v20 .shop-brand-card-logo {
        max-width: 132px !important;
        max-height: 54px !important;
    }

    .shop-brand-card-v20 .shop-brand-card-actions {
        position: static !important;
        left: auto !important;
        right: auto !important;
        bottom: auto !important;
        width: 100% !important;
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 6px !important;
        opacity: 1 !important;
        transform: none !important;
        pointer-events: auto !important;
        z-index: 1 !important;
        margin: 0 !important;
    }

    .shop-brand-card-v20 .shop-brand-card-action {
        min-height: 30px !important;
        border-radius: 9px !important;
        font-size: 12px !important;
    }
}

@media (max-width: 430px) {
    .shop-brand-card-v20 {
        min-height: 168px !important;
        padding: 16px 10px 12px !important;
        gap: 12px !important;
    }

    .shop-brand-card-v20 .shop-brand-card-logo {
        max-width: 120px !important;
        max-height: 48px !important;
    }

    .shop-brand-card-v20 .shop-brand-card-action {
        min-height: 28px !important;
        font-size: 11px !important;
    }
}

/* =========================================
   v1.22 - Elementor Loop Product Card Helpers
========================================= */
.shop-product-card-clean {
    --pc-purple: #073B5F;
    --pc-purple-2: #0971B7;
    --pc-purple-soft: #EEF8FB;
    --pc-yellow: #10abb6;
    --pc-yellow-hover: #0c8f99;
    --pc-border: #D7ECF4;
    --pc-muted: #5F7181;
    --pc-bg: #ffffff;
    width: 100%;
    min-height: 100%;
    padding: 18px;
    border-radius: 22px;
    background: var(--pc-bg);
    border: 1px solid var(--pc-border);
    box-shadow: 0 6px 20px rgba(7, 59, 95, 0.055);
    overflow: hidden;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.shop-product-card-clean:hover {
    transform: translateY(-4px);
    border-color: rgba(16, 171, 182, 0.58);
    box-shadow: 0 16px 36px rgba(7, 59, 95, 0.11);
}
.shop-product-card-clean .elementor-widget { margin-bottom: 0 !important; }
.shop-product-card-clean .elementor-widget-container { width: 100%; }
.shop-product-card-clean figure { margin: 0 !important; }
.shop-product-card-clean figcaption { display: none !important; }
.shop-product-card-clean .elementor-widget-theme-post-featured-image,
.shop-product-card-clean .elementor-widget-image { margin-bottom: 14px !important; }
.shop-product-card-clean img {
    width: 100% !important;
    max-width: 210px !important;
    height: 185px !important;
    -o-object-fit: contain !important;
       object-fit: contain !important;
    display: block !important;
    margin: 0 auto !important;
    padding: 13px !important;
    border-radius: 18px;
    background: radial-gradient(circle at center, rgba(16, 171, 182, 0.08), transparent 58%), linear-gradient(180deg, #ffffff, #F5FBFD);
    transition: transform .22s ease;
}
.shop-product-card-clean:hover img { transform: scale(1.035); }
.shop-product-card-clean .product_title,
.shop-product-card-clean .entry-title,
.shop-product-card-clean .elementor-heading-title {
    min-height: 46px !important;
    max-height: 46px !important;
    margin: 0 0 8px !important;
    padding: 0 !important;
    color: var(--pc-purple) !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    line-height: 1.35 !important;
    letter-spacing: -0.015em;
    text-align: left !important;
    overflow: hidden !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
.shop-product-card-clean .elementor-widget-yith_wcbr_product_brand:empty,
.shop-product-card-clean .elementor-widget-yith_wcbr_product_brand .elementor-widget-container:empty { display:none!important; }
.shop-product-card-clean .shop-loop-rating {
    min-height: 20px;
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 0 0 9px;
    line-height: 1;
}
.shop-product-card-clean .shop-loop-stars {
    position: relative;
    display: inline-block;
    width: -moz-max-content;
    width: max-content;
    font-size: 14px;
    line-height: 18px;
    letter-spacing: 1px;
    font-family: Arial, sans-serif;
}
.shop-product-card-clean .shop-loop-stars-empty { color: #d8d0e7; }
.shop-product-card-clean .shop-loop-stars-fill {
    position: absolute;
    inset: 0 auto 0 0;
    width: var(--rating-percent, 0%);
    color: var(--pc-yellow);
    overflow: hidden;
    white-space: nowrap;
}
.shop-product-card-clean .shop-loop-rating-count {
    color: var(--pc-muted);
    font-size: 12px;
    font-weight: 800;
}
.shop-product-card-clean .elementor-widget-woocommerce-product-rating { display:none!important; }
.shop-product-card-clean .elementor-widget-woocommerce-product-price { margin: 0 0 14px !important; }
.shop-product-card-clean .price {
    display: block !important;
    margin: 0 !important;
    color: var(--pc-purple) !important;
    font-size: 18px !important;
    font-weight: 950 !important;
    line-height: 1.2 !important;
    text-align: left !important;
}
.shop-product-card-clean .price .woocommerce-Price-amount,
.shop-product-card-clean .price bdi { color: var(--pc-purple) !important; font-weight: 950 !important; }
.shop-product-card-clean .elementor-widget-wc-add-to-cart { display:none!important; }
.shop-product-card-clean .shop-loop-add-to-cart-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    width: 100% !important;
    min-height: 46px !important;
    margin: auto 0 8px !important;
    padding: 0 16px !important;
    border: 0 !important;
    border-radius: 14px !important;
    background: var(--pc-yellow) !important;
    color: var(--pc-purple) !important;
    font-size: 14px !important;
    font-weight: 950 !important;
    line-height: 1 !important;
    text-align: center !important;
    text-decoration: none !important;
    box-shadow: 0 10px 22px rgba(16, 171, 182, .24) !important;
    transition: transform .18s ease, background-color .18s ease, color .18s ease, box-shadow .18s ease;
}
.shop-product-card-clean .shop-loop-add-to-cart-button:hover,
.shop-product-card-clean .shop-loop-add-to-cart-button.added {
    background: var(--pc-purple-2) !important;
    color: #ffffff !important;
    transform: translateY(-1px);
    box-shadow: 0 13px 26px rgba(9, 113, 183, .24) !important;
}
.shop-product-card-clean .shop-loop-add-to-cart-button.added::after { display:none!important; }
.shop-product-card-clean a.added_to_cart.wc-forward { display:none!important; }
.shop-product-card-clean .shop-loop-cart-icon svg,
.shop-product-card-clean .shop-loop-compare-icon svg { width: 17px; height: 17px; display:block; }
.shop-product-card-clean .elementor-widget-yith_wcwl_add_to_wishlist { margin-bottom: 8px !important; }
.shop-product-card-clean .yith-add-to-wishlist-button-block { width: 100% !important; margin: 0 !important; }
.shop-product-card-clean .yith-wcwl-add-to-wishlist-button {
    width: 100% !important;
    min-height: 42px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 14px !important;
    border-radius: 13px !important;
    background: #ffffff !important;
    color: var(--pc-purple) !important;
    border: 1px solid var(--pc-border) !important;
    font-size: 13px !important;
    font-weight: 850 !important;
    line-height: 1 !important;
    cursor: pointer;
    transition: background-color .18s ease, border-color .18s ease, color .18s ease;
}
.shop-product-card-clean .yith-wcwl-add-to-wishlist-button:hover,
.shop-product-card-clean .yith-wcwl-add-to-wishlist-button--added,
.shop-product-card-clean .yith-wcwl-add-to-wishlist-button.exists,
.shop-product-card-clean .yith-wcwl-add-to-wishlist-button.added {
    background: var(--pc-purple-soft) !important;
    border-color: rgba(16, 171, 182, .58) !important;
    color: var(--pc-purple-2) !important;
}
.shop-product-card-clean .yith-wcwl-icon,
.shop-product-card-clean .yith-wcwl-icon path { color: currentColor!important; stroke: currentColor!important; fill: none!important; }
.shop-product-card-clean .yith-wcwl-add-to-wishlist-button--added .yith-wcwl-icon,
.shop-product-card-clean .yith-wcwl-add-to-wishlist-button.exists .yith-wcwl-icon,
.shop-product-card-clean .yith-wcwl-add-to-wishlist-button.added .yith-wcwl-icon { color: var(--pc-purple-2)!important; }
.shop-product-card-clean .shop-loop-compare-button {
    display: inline-flex!important;
    align-items: center!important;
    justify-content: center!important;
    gap: 8px!important;
    width: 100%!important;
    min-height: 38px!important;
    padding: 0 14px!important;
    border-radius: 13px!important;
    background: transparent!important;
    color: var(--pc-muted)!important;
    border: 1px dashed #CFE7F0!important;
    box-shadow:none!important;
    text-decoration:none!important;
    font-size:12px!important;
    font-weight:800!important;
}
.shop-product-card-clean .shop-loop-compare-button:hover { background:var(--pc-purple-soft)!important; color:var(--pc-purple-2)!important; }
@media (max-width: 767px) {
    .shop-product-card-clean { padding: 14px; border-radius: 18px; }
    .shop-product-card-clean img { max-width: 165px !important; height: 145px !important; padding: 10px !important; }
    .shop-product-card-clean .product_title,
    .shop-product-card-clean .entry-title,
    .shop-product-card-clean .elementor-heading-title { min-height: 42px!important; max-height:42px!important; font-size:14px!important; }
    .shop-product-card-clean .price { font-size: 16px!important; }
    .shop-product-card-clean .shop-loop-add-to-cart-button { min-height:44px!important; font-size:13px!important; border-radius:13px!important; }
    .shop-product-card-clean .yith-wcwl-add-to-wishlist-button { min-height:40px!important; font-size:12px!important; }
}

/* =========================================
   v1.23 - Loop product card refinement
========================================= */
.shop-product-card-clean .elementor-widget-yith_wcbr_product_brand,
.shop-product-card-clean .elementor-widget-yith_wcbr_product_brand .elementor-widget-container {
    display: none !important;
}

.shop-product-card-clean {
    padding: 16px !important;
}

.shop-product-card-clean .elementor-widget-theme-post-featured-image,
.shop-product-card-clean .elementor-widget-image {
    margin-bottom: 10px !important;
}

.shop-product-card-clean img {
    height: 165px !important;
    max-width: 195px !important;
    padding: 11px !important;
}

.shop-product-card-clean .product_title,
.shop-product-card-clean .entry-title,
.shop-product-card-clean .elementor-heading-title {
    min-height: 40px !important;
    max-height: 40px !important;
    margin-bottom: 7px !important;
    cursor: pointer;
}

.shop-product-card-clean .shop-loop-rating {
    margin-bottom: 8px !important;
    min-height: 18px !important;
}

.shop-product-card-clean .elementor-widget-woocommerce-product-price {
    margin-bottom: 10px !important;
}

.shop-product-card-clean .shop-loop-add-to-cart-button {
    margin: 0 0 8px !important;
}

.shop-product-card-clean .shop-loop-add-to-cart-button.added,
.shop-product-card-clean .shop-loop-add-to-cart-button.is-added {
    background: var(--pc-purple-2) !important;
    color: #ffffff !important;
}

.shop-product-card-clean .shop-loop-add-to-cart-button.added .shop-loop-cart-icon svg,
.shop-product-card-clean .shop-loop-add-to-cart-button.is-added .shop-loop-cart-icon svg {
    display: none !important;
}

.shop-product-card-clean .shop-loop-add-to-cart-button.added .shop-loop-cart-icon::before,
.shop-product-card-clean .shop-loop-add-to-cart-button.is-added .shop-loop-cart-icon::before {
    content: "✓";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 17px;
    height: 17px;
    font-size: 16px;
    font-weight: 950;
    line-height: 1;
}

.shop-product-card-clean a.added_to_cart.wc-forward,
.shop-product-card-clean .added_to_cart.wc-forward {
    display: none !important;
}

.shop-product-card-clean .yith-wcwl-add-to-wishlist-button--added,
.shop-product-card-clean .yith-wcwl-add-to-wishlist-button.exists,
.shop-product-card-clean .yith-wcwl-add-to-wishlist-button.added,
.shop-product-card-clean .yith-add-to-wishlist-button-block--added .yith-wcwl-add-to-wishlist-button,
.shop-product-card-clean .yith-add-to-wishlist-button-block.added .yith-wcwl-add-to-wishlist-button,
.shop-product-card-clean .yith-add-to-wishlist-button-block.exists .yith-wcwl-add-to-wishlist-button {
    background: var(--pc-purple-soft) !important;
    border-color: rgba(9, 113, 183, .22) !important;
    color: var(--pc-purple-2) !important;
}

.shop-product-card-clean .yith-wcwl-add-to-wishlist-button--added svg,
.shop-product-card-clean .yith-wcwl-add-to-wishlist-button.exists svg,
.shop-product-card-clean .yith-wcwl-add-to-wishlist-button.added svg,
.shop-product-card-clean .yith-add-to-wishlist-button-block--added svg,
.shop-product-card-clean .yith-add-to-wishlist-button-block.added svg,
.shop-product-card-clean .yith-add-to-wishlist-button-block.exists svg {
    color: var(--pc-purple-2) !important;
    fill: var(--pc-purple-2) !important;
    stroke: var(--pc-purple-2) !important;
}

.shop-product-card-clean .yith-wcwl-add-to-wishlist-button--added svg path,
.shop-product-card-clean .yith-wcwl-add-to-wishlist-button.exists svg path,
.shop-product-card-clean .yith-wcwl-add-to-wishlist-button.added svg path,
.shop-product-card-clean .yith-add-to-wishlist-button-block--added svg path,
.shop-product-card-clean .yith-add-to-wishlist-button-block.added svg path,
.shop-product-card-clean .yith-add-to-wishlist-button-block.exists svg path {
    fill: var(--pc-purple-2) !important;
    stroke: var(--pc-purple-2) !important;
}

.shop-product-card-clean .shop-loop-compare-button.is-loading {
    opacity: .65;
    pointer-events: none;
}

.shop-product-card-clean .shop-loop-compare-button.is-added {
    background: var(--pc-purple-soft) !important;
    color: var(--pc-purple-2) !important;
    border-color: rgba(9, 113, 183, .22) !important;
}

@media (max-width: 767px) {
    .shop-product-card-clean {
        padding: 13px !important;
    }

    .shop-product-card-clean img {
        height: 135px !important;
        max-width: 155px !important;
    }

    .shop-product-card-clean .product_title,
    .shop-product-card-clean .entry-title,
    .shop-product-card-clean .elementor-heading-title {
        min-height: 38px !important;
        max-height: 38px !important;
        margin-bottom: 6px !important;
    }

    .shop-product-card-clean .shop-loop-rating {
        margin-bottom: 6px !important;
    }

    .shop-product-card-clean .elementor-widget-woocommerce-product-price {
        margin-bottom: 9px !important;
    }
}


/* =========================================================
   v1.25 - Header, mega menu, finder and badge refinements
   Autoprefixer-ready source. Keep this block after older mega menu rules.
========================================================= */
:root {
    --shop-header-button-text: #ffffff;
}

.shop-search-form button,
.shop-search-form button .shop-search-text,
.shop-search-form button .shop-search-icon,
.shop-search-form button svg,
.shop-finder-form button,
.shop-finder-form button *,
.shop-home-finder-v18 .shf18-button,
.shop-home-finder-v18 .shf18-button * {
    color: #ffffff !important;
    fill: currentColor !important;
}

.shop-count-badge,
.shop-icon-with-count .shop-count-badge,
.shop-wishlist-wrap .shop-count-badge,
.shop-cart-wrap .shop-count-badge {
    background: var(--shop-header-accent, #10ABB6) !important;
    color: #ffffff !important;
    text-shadow: none !important;
}

.shop-mega-menu {
    --shop-mega-bg: linear-gradient(135deg, #0971B7 0%, #0A84BD 52%, #075E98 100%) !important;
    --shop-mega-soft: #EEF8FB !important;
    --shop-mega-border: rgba(9, 113, 183, 0.16) !important;
    --shop-mega-muted: #5F7181 !important;
    --shop-mega-danger: #10ABB6 !important;
    background: var(--shop-mega-bg) !important;
}

.shop-mega-sidebar {
    background: linear-gradient(180deg, #F5FBFD 0%, #EEF8FB 100%) !important;
}

@media (min-width: 981px) {
    .shop-mega-grid {
        grid-template-columns: 300px minmax(0, 1fr) !important;
        grid-template-rows: auto auto !important;
        min-height: 0 !important;
    }

    .shop-mega-sidebar {
        grid-column: 1 !important;
        grid-row: 1 / span 2 !important;
    }

    .shop-mega-content {
        grid-column: 2 !important;
        grid-row: 1 !important;
        border-right: 0 !important;
        padding-bottom: 12px !important;
    }

    .shop-mega-featured {
        grid-column: 2 !important;
        grid-row: 2 !important;
        padding: 0 24px 24px !important;
        border-top: 1px solid var(--shop-mega-border) !important;
        background: #ffffff !important;
    }

    .shop-mega-product-list {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 12px 16px !important;
    }

    .shop-mega-product {
        min-height: 76px !important;
        padding: 10px !important;
        border: 1px solid var(--shop-mega-border) !important;
        border-radius: 16px !important;
        background: #ffffff !important;
        box-shadow: 0 8px 22px rgba(7, 59, 95, 0.045) !important;
    }
}

.shop-mega-add,
.shop-mega-add.add_to_cart_button,
.shop-mega-add.ajax_add_to_cart {
    background: var(--shop-mega-accent, #10ABB6) !important;
    color: #ffffff !important;
    box-shadow: 0 10px 22px rgba(16, 171, 182, 0.22) !important;
}

.shop-mega-add:hover,
.shop-mega-add.is-added,
.shop-mega-add.added {
    background: var(--shop-mega-violet-dark, #0971B7) !important;
    color: #ffffff !important;
}

.shop-mega-add::before,
.shop-mega-add::after {
    display: none !important;
    content: none !important;
}

.shop-home-finder-v18,
.elementor-widget-shortcode:has(.shop-home-finder-v18),
.elementor-widget-shortcode:has(.shop-home-finder-v18) > .elementor-widget-container,
.elementor-shortcode:has(.shop-home-finder-v18) {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.shop-home-finder-v18 .shf18-shell {
    width: 100% !important;
}

.shop-home-finder-v18 .shf18-button,
.shop-home-finder-v18 .shf18-form button.shf18-button,
.shop-home-finder-v18 button[type="submit"].shf18-button {
    background: #10ABB6 !important;
    background-color: #10ABB6 !important;
    color: #ffffff !important;
}

.shop-home-finder-v18 .shf18-button:hover,
.shop-home-finder-v18 .shf18-form button.shf18-button:hover,
.shop-home-finder-v18 button[type="submit"].shf18-button:hover {
    background: #0971B7 !important;
    background-color: #0971B7 !important;
    color: #ffffff !important;
}

/* =========================================================
   Header mobile overflow fix - v1.25.7
   English comment: Keep the premium header and embedded smart search inside the viewport on mobile.
========================================================= */
@media (max-width: 767px) {
    html,
    body,
    .site,
    .elementor,
    .elementor-section,
    .elementor-container,
    .elementor-widget-wrap,
    .elementor-widget-shortcode,
    .shop-top-header,
    .shop-header-inner,
    .shop-header-search {
        max-width: 100% !important;
        min-width: 0 !important;
        overflow-x: hidden !important;
        box-sizing: border-box !important;
    }

    .shop-top-header,
    .shop-header-inner,
    .shop-header-search {
        overflow-y: visible !important;
    }

    .shop-header-inner {
        width: calc(100% - 22px) !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
    }

    .shop-header-search {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .shop-header-actions {
        min-width: 0 !important;
    }
}
