:root {
    --lc-bg: #020617;
    --lc-bg-2: #061a34;
    --lc-panel: rgba(255, 255, 255, 0.08);
    --lc-panel-strong: rgba(255, 255, 255, 0.13);
    --lc-line: rgba(255, 255, 255, 0.16);
    --lc-text: #f4fbff;
    --lc-muted: #b9c7d5;
    --lc-cyan: #67e8f9;
    --lc-green: #8ff5b5;
    --lc-blue: #2563eb;
    --lc-shadow: 0 24px 80px rgba(0, 0, 0, 0.35);
}

body {
    background:
        radial-gradient(circle at 12% 18%, rgba(8, 145, 178, 0.28), transparent 32%),
        radial-gradient(circle at 82% 8%, rgba(37, 99, 235, 0.22), transparent 28%),
        linear-gradient(135deg, var(--lc-bg) 0%, #041126 48%, #001b2e 100%);
    background-attachment: fixed;
    color: var(--lc-text);
    overflow-x: hidden;
}

body,
button,
input,
select,
textarea {
    font-family: Poppins, "Source Sans Pro", Arial, sans-serif;
}

.lc-header {
    position: relative;
    top: 0;
    z-index: 999;
    color: var(--lc-text);
    background: rgba(2, 6, 23, 0.88);
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

.lc-header-container,
.lc-footer-container,
.lc-footer-bottom {
    width: min(1240px, calc(100% - 32px));
    margin-inline: auto;
}

.lc-header-top {
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.035);
}

.lc-header-top .lc-header-container {
    display: flex;
    min-height: 34px;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    font-size: 12px;
}

.lc-contact-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

.lc-contact-strip a,
.lc-header-note {
    color: var(--lc-muted);
}

.lc-header-main {
    position: relative;
}

.lc-header-grid {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    min-height: 76px;
    align-items: center;
    gap: 22px;
}

.lc-brand {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: var(--lc-text);
    font-size: 20px;
    font-weight: 900;
}

.lc-brand img {
    width: 36px;
    height: 36px;
    object-fit: contain;
}

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

.lc-header-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    border-radius: 999px;
    padding: 0 15px;
    color: var(--lc-text);
    font-weight: 900;
}

.lc-header-link {
    background: rgba(255, 255, 255, 0.08);
}

.lc-menu-toggle {
    display: none;
    width: 44px;
    height: 44px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.07);
}

.lc-menu-toggle span {
    display: block;
    width: 18px;
    height: 2px;
    margin: 4px auto;
    border-radius: 2px;
    background: var(--lc-text);
}

.lc-mobile-panel {
    display: none;
}

body > .footer-container,
.footer-container:not(.lc-footer .footer-container) {
    display: none !important;
}

.lc-storefront {
    min-height: 100vh;
    color: var(--lc-text);
}

.lc-footer p {
    color: var(--lc-muted);
    font-size: 17px;
    line-height: 1.75;
}

/* Native Zoho Commerce surfaces */
.theme-header,
.theme-header-topbar,
.theme-header.zpheader-style-navigation-07,
.theme-mobile-header-style-04 {
    background: rgba(2, 6, 23, 0.88) !important;
    color: var(--lc-text) !important;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}

.theme-header a,
.theme-header-topbar a,
.theme-menu-area .theme-menu ul li a,
[data-zs-sitename],
.theme-site-name {
    color: var(--lc-text) !important;
}

.theme-search-field-container-07,
.theme-search-field-container,
.theme-search input[type="text"] {
    border-radius: 999px !important;
}

.zpstorecollection-container,
.theme-store-collection-container,
.theme-collection-section {
    background: transparent !important;
}

.theme-prod-box,
.theme-product-list-style-01 .theme-prod-box,
.theme-search-product-card,
.wishlist-grid {
    overflow: hidden;
    border: 1px solid var(--lc-line) !important;
    border-radius: 24px !important;
    background: rgba(255, 255, 255, 0.08) !important;
    box-shadow: 0 18px 48px rgba(0, 0, 0, 0.24);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

.theme-prod-box-content,
.theme-product-name a,
.theme-prod-name a,
.theme-section-heading,
.theme-product-details-style-01,
.theme-prod-details-container {
    color: var(--lc-text) !important;
}

.theme-prod-box .theme-product-name a,
.theme-prod-box .theme-prod-name a {
    font-weight: 800;
}

.theme-prod-pricing,
.theme-product-pricing,
.theme-min-rate,
.theme-product-details-style-01 .theme-prod-price {
    color: var(--lc-green) !important;
}

.theme-button,
.theme-cart-button,
[data-zs-add-to-cart],
.theme-checkout-button,
.zpbutton {
    border-radius: 999px !important;
}

.theme-button,
[data-zs-add-to-cart],
.theme-checkout-button {
    color: #02111c !important;
    background: linear-gradient(135deg, var(--lc-cyan), var(--lc-green)) !important;
    border: 0 !important;
    font-weight: 900 !important;
}

.theme-produt-filter-row,
.theme-product-filter-mobile-overlay,
.theme-shopping-cart-table-container,
.theme-prod-details-container,
.theme-quick-view-inner-container {
    border-color: var(--lc-line) !important;
    background: rgba(2, 6, 23, 0.92) !important;
    color: var(--lc-text) !important;
}

/* Builder-rendered home page corrections */
.zpsection,
.zpcontainer,
.zpelem-row,
.zprow,
.zpelem-col {
    color: inherit;
}

.zcs_icon_align,
.zcs_category_icon,
.zcs_mobile_category_icon,
.zcs_image_align,
.zs-brand-section,
.footer-container {
    background:
        radial-gradient(circle at 14% 12%, rgba(103, 232, 249, 0.1), transparent 30%),
        linear-gradient(135deg, rgba(2, 6, 23, 0.96), rgba(5, 26, 52, 0.98)) !important;
    color: var(--lc-text) !important;
}

.zcs_icon_align .zpelem-heading h2,
.zcs_category_icon .zpelem-heading h2,
.zcs_mobile_category_icon .zpelem-heading h2,
.zcs_image_align .zpelem-heading h2,
.zs-brand-section .zpelem-heading h2,
.zs-brand-section .zpheading,
.zcs_icon_align .zpelem-text,
.zcs_category_icon .zpelem-text,
.zcs_mobile_category_icon .zpelem-text,
.zcs_image_align .zpelem-text,
.zs-brand-section .zpelem-text {
    color: var(--lc-text) !important;
}

.zcs_icon_align p,
.zcs_category_icon p,
.zcs_mobile_category_icon p,
.zcs_image_align p,
.zs-brand-section p {
    color: var(--lc-muted) !important;
}

.zcs_category_icon [data-element-type="column"],
.zcs_mobile_category_icon [data-element-type="column"] {
    border-color: rgba(255, 255, 255, 0.16) !important;
    background: rgba(255, 255, 255, 0.045) !important;
    transition: background 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
}

.zcs_category_icon [data-element-type="column"]:hover,
.zcs_mobile_category_icon [data-element-type="column"]:hover {
    transform: translateY(-3px);
    border-color: rgba(103, 232, 249, 0.42) !important;
    background: rgba(255, 255, 255, 0.1) !important;
}

.zcs_category_icon .zpimage-text,
.zcs_mobile_category_icon .zpimage-text,
.zcs_category_icon .zpimagetext-container,
.zcs_mobile_category_icon .zpimagetext-container {
    color: var(--lc-text) !important;
}

.zcs_product_align,
.zpelem-storecollection,
.zpstorecollection-container,
.theme-store-collection-container,
.theme-collection-section {
    background:
        radial-gradient(circle at 82% 10%, rgba(37, 99, 235, 0.15), transparent 28%),
        linear-gradient(135deg, #020617, #061a34) !important;
    color: var(--lc-text) !important;
}

.zcs_product_align .zpelem-heading h2,
.zpelem-storecollection .theme-section-heading,
.zpstorecollection-container .theme-section-heading,
.theme-collection-section h1,
.theme-collection-section h2,
.theme-collection-section h3 {
    color: var(--lc-text) !important;
}

.theme-product-list-style-01,
.theme-store-style-collection-row-01,
.zpstoreproduct-container {
    background: transparent !important;
}

.theme-product-list-style-01 .theme-product-box-content,
.theme-store-style-collection-row-01 .theme-product-box-content,
.theme-product-box-content,
.theme-prod-box,
.theme-product-list-style-01 .theme-prod-box {
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.16) !important;
    border-radius: 26px !important;
    background: rgba(255, 255, 255, 0.08) !important;
    box-shadow: 0 18px 50px rgba(0, 0, 0, 0.28) !important;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}

.theme-product-list-style-01 .theme-product-image-area,
.theme-product-image-area,
.theme-prod-img {
    background: rgba(255, 255, 255, 0.92) !important;
    border-radius: 22px 22px 0 0 !important;
}

.theme-product-list-style-01 .theme-product-name a,
.theme-product-list-style-01 .theme-product-name,
.theme-product-name a,
.theme-prod-name a,
.theme-product-total-price-lable,
.theme-product-price,
.theme-min-rate,
.theme-prod-pricing,
.theme-product-pricing {
    color: var(--lc-text) !important;
}

.theme-product-list-style-01 .theme-product-price,
.theme-product-list-style-01 .theme-min-rate,
.theme-product-total-price-lable,
.theme-min-rate {
    color: var(--lc-green) !important;
    font-weight: 900 !important;
}

.theme-product-list-style-01 .theme-product-old-price,
.theme-max-rate,
.theme-prod-old-price {
    color: rgba(244, 251, 255, 0.55) !important;
}

.theme-product-ratio,
.theme-store-style-collection-row-01,
[data-sort-by-products-target] {
    align-items: stretch;
}

.lc-live-product-card {
    padding: 10px !important;
}

.lc-live-product-card,
.theme-product-list-style-01.lc-live-product-card {
    min-height: 100%;
}

.lc-live-product-card-inner {
    position: relative;
    display: grid;
    grid-template-rows: minmax(240px, 1fr) auto;
    min-height: 480px;
    isolation: isolate;
}

.lc-live-product-card-inner::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        radial-gradient(circle at 20% 0%, rgba(103, 232, 249, 0.2), transparent 32%),
        radial-gradient(circle at 100% 18%, rgba(143, 245, 181, 0.13), transparent 28%);
    opacity: 0.9;
}

.lc-live-product-media {
    position: relative;
    display: flex;
    min-height: 260px;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 22px !important;
    background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.96), rgba(226, 241, 248, 0.88)) !important;
}

.lc-live-product-media img,
.lc-live-product-media picture {
    max-width: 100%;
    max-height: 100%;
}

.lc-live-product-media img {
    object-fit: contain;
    transform: scale(0.88);
    transition: transform 0.25s ease;
}

.lc-live-product-card:hover .lc-live-product-media img {
    transform: scale(0.94);
}

.lc-live-product-media-link {
    position: absolute;
    inset: 0;
    z-index: 2;
}

.lc-live-product-copy {
    display: grid;
    gap: 14px;
    padding: 22px 18px 18px;
}

.lc-live-product-kicker {
    width: fit-content;
    border: 1px solid rgba(103, 232, 249, 0.35);
    border-radius: 999px;
    padding: 5px 10px;
    color: var(--lc-green);
    background: rgba(103, 232, 249, 0.08);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0;
}

.lc-live-product-card .theme-product-name a {
    display: -webkit-box;
    min-height: 56px;
    overflow: hidden;
    color: var(--lc-text) !important;
    font-size: 20px;
    font-weight: 900;
    line-height: 1.35;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.lc-live-product-card .theme-product-price {
    margin-top: 8px;
}

.lc-live-product-card .theme-product-total-price-lable {
    color: var(--lc-green) !important;
    font-size: 18px;
    font-weight: 900 !important;
}

.lc-live-product-card .theme-product-total-old-price {
    color: rgba(244, 251, 255, 0.52) !important;
    font-size: 14px;
    text-decoration: line-through;
}

.lc-live-product-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    margin-top: 4px;
}

.lc-live-product-details,
.lc-live-product-add a {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    padding: 10px 16px;
    font-weight: 900;
    line-height: 1;
}

.lc-live-product-details {
    border: 1px solid rgba(255, 255, 255, 0.18);
    color: var(--lc-text) !important;
    background: rgba(255, 255, 255, 0.08);
}

.lc-live-product-add a {
    color: #02111c !important;
    background: linear-gradient(135deg, var(--lc-cyan), var(--lc-green)) !important;
}

.lc-live-product-card .theme-product-list-variants {
    position: absolute;
    right: 12px;
    bottom: 12px;
    z-index: 3;
    border-radius: 999px;
    padding: 7px 9px;
    background: rgba(2, 6, 23, 0.72);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.lc-live-product-card .theme-product-color-variations {
    display: flex;
    gap: 6px;
    align-items: center;
    border: 0;
    margin: 0;
    padding: 0;
}

.lc-live-product-card .theme-product-color label {
    width: 18px;
    height: 18px;
    border: 2px solid rgba(255, 255, 255, 0.72);
    border-radius: 50%;
}

.lc-live-product-card .theme-product-sale-ribbon,
.lc-live-product-card .theme-ribbon-stock {
    border-radius: 999px;
    background: rgba(2, 6, 23, 0.82) !important;
    color: var(--lc-text) !important;
}

.lc-live-product-card .theme-rating {
    min-height: 18px;
}

.zcs_image_align .zpimage-container picture::after {
    background: linear-gradient(90deg, rgba(2, 6, 23, 0.78), rgba(2, 6, 23, 0.18)) !important;
}

.zs-brand-section img,
.zcs-brand-icon img {
    filter: grayscale(1) invert(1) brightness(1.4);
    opacity: 0.78;
}

.footer-container,
.footer-container a,
.footer-container p,
.footer-container span,
.footer-container li {
    color: var(--lc-muted) !important;
}

.footer-container h1,
.footer-container h2,
.footer-container h3,
.footer-container h4,
.footer-container strong {
    color: var(--lc-text) !important;
}

.zs-newsletter .zpnewsletter-container {
    overflow: hidden;
    border-radius: 24px;
    box-shadow: var(--lc-shadow);
}

.zs-newsletter .zpnewsletter-container .zpnewsletter-heading {
    background: rgba(255, 255, 255, 0.1) !important;
    color: var(--lc-text) !important;
}

.zs-newsletter .zpnewsletter-container .zpnewsletter-input-container {
    background: rgba(255, 255, 255, 0.92) !important;
}

.lc-footer {
    color: var(--lc-text);
    background:
        radial-gradient(circle at 18% 12%, rgba(103, 232, 249, 0.12), transparent 30%),
        linear-gradient(135deg, #01040c 0%, #031122 50%, #001b2e 100%);
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    padding-block: clamp(56px, 8vw, 92px) 24px;
}

.lc-footer-container {
    display: grid;
    grid-template-columns: minmax(240px, 1.3fr) minmax(150px, 0.6fr) minmax(150px, 0.6fr) minmax(260px, 0.9fr);
    gap: 32px;
}

.lc-footer-column {
    display: grid;
    align-content: start;
    gap: 10px;
}

.lc-footer h3 {
    margin: 0 0 8px;
    color: var(--lc-text);
    font-size: 16px;
}

.lc-footer a {
    color: var(--lc-muted);
}

.lc-footer a:hover {
    color: var(--lc-green);
}

.lc-footer-bottom {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    margin-top: 44px;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    padding-top: 20px;
    color: var(--lc-muted);
    font-size: 13px;
}

@media (max-width: 991px) {
    .lc-header-top {
        display: none;
    }

    .lc-header-grid {
        grid-template-columns: auto 1fr auto;
        min-height: 66px;
    }

    .lc-menu-toggle {
        display: inline-block;
    }

    .lc-header-link {
        display: none;
    }

    .lc-mobile-panel.is-open {
        display: block;
        border-top: 1px solid rgba(255, 255, 255, 0.1);
        background: rgba(2, 6, 23, 0.96);
    }

    .lc-mobile-panel .theme-responsive-menu-area {
        display: block;
        padding: 16px;
    }

    .lc-mobile-panel .theme-menu ul,
    .lc-mobile-panel ul {
        list-style: none;
    }

    .lc-footer-container {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 640px) {

    .lc-live-product-card-inner {
        grid-template-rows: minmax(210px, auto) auto;
        min-height: 420px;
    }

    .lc-live-product-media {
        min-height: 220px;
    }

    .lc-live-product-actions,
    .lc-live-product-details,
    .lc-live-product-add,
    .lc-live-product-add a {
        width: 100%;
    }

    .lc-footer-container,
    .lc-footer-bottom {
        grid-template-columns: 1fr;
    }

    .lc-footer-bottom {
        flex-direction: column;
    }
}

/* LaserCart navigation/detail cleanup */
.lc-header {
    min-height: 64px;
}

.lc-header-grid {
    min-height: 64px !important;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
}

.lc-brand {
    font-size: 26px;
}

.lc-header-actions {
    display: inline-flex;
    gap: 24px !important;
    align-items: center;
}

.lc-header-link {
    position: relative;
    min-height: auto !important;
    border: 0 !important;
    border-radius: 0 !important;
    padding: 8px 0 !important;
    color: rgba(28, 28, 44, 0.72) !important;
    background: transparent !important;
    font-size: 14px;
    font-weight: 500;
    box-shadow: none !important;
}

.lc-header-link::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 2px;
    left: 0;
    height: 1px;
    background: var(--lc-copper);
    transform: scaleX(0);
    transform-origin: center;
    transition: transform 220ms ease;
}

.lc-header-link:hover,
.lc-header-link[aria-current="page"] {
    color: var(--lc-copper) !important;
}

.lc-header-link:hover::after,
.lc-header-link[aria-current="page"]::after {
    transform: scaleX(1);
}

.theme-content-area {
    padding-top: 64px;
}

.theme-collection-sort-inner,
.theme-custom-sort,
.theme-collection-sort select {
    display: inline-flex !important;
    width: auto !important;
    min-width: 218px !important;
    max-width: none !important;
    align-items: center !important;
    gap: 8px !important;
    white-space: nowrap !important;
}

.theme-collection-sort-inner[aria-hidden="true"],
.theme-collection-sort-inner[aria-hidden="true"] select,
.theme-collection-sort-inner[style*="display:none"],
.theme-collection-sort-inner[style*="display: none"],
.theme-collection-sort-inner[style*="display : none"] {
    display: none !important;
}

.theme-sortby-label,
.theme-custom-select-value {
    display: inline-flex !important;
    white-space: nowrap !important;
}

.theme-custom-select-value {
    max-width: 118px;
    overflow: hidden;
    text-overflow: ellipsis;
}

.theme-product-ratio[data-sort-by-products-target] > .theme-prod-box,
[data-sort-by-products-target].theme-product-ratio > .theme-prod-box,
.theme-store-collection-container .theme-prod-box,
.theme-product-box,
.theme-product-list-style-01,
.theme-product-list-style-01.lc-live-product-card {
    overflow: visible !important;
    border: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.theme-product-box-content.lc-live-product-card-inner,
.lc-live-product-card-inner {
    border: 0 !important;
    outline: 0 !important;
    border-radius: 26px !important;
    background: rgba(255, 255, 255, 0.72) !important;
    box-shadow: 0 16px 40px rgba(28, 28, 44, 0.08) !important;
}

.lc-live-product-card:hover .lc-live-product-card-inner {
    box-shadow: 0 20px 46px rgba(28, 28, 44, 0.11) !important;
}

.lc-product-detail {
    padding-top: 190px !important;
}

@media (max-width: 640px) {
    .lc-header-grid {
        min-height: 58px !important;
    }

    .lc-brand {
        font-size: 23px;
    }

    .lc-header-actions {
        gap: 16px !important;
    }

    .theme-content-area {
        padding-top: 58px;
    }

    .lc-product-detail {
        padding-top: 138px !important;
    }
}

/* Keep Zoho's native sort fallback hidden; only the custom dropdown should show. */
.theme-collection-sort .theme-collection-sort-inner[aria-hidden="true"],
.theme-collection-sort .theme-collection-sort-inner[aria-hidden="true"] select,
.theme-collection-sort .theme-collection-sort-inner[style*="display:none"],
.theme-collection-sort .theme-collection-sort-inner[style*="display: none"],
.theme-collection-sort .theme-collection-sort-inner[style*="display : none"] {
    display: none !important;
}

/* LaserCart updated header final pass */
.lc-header,
.lc-header-main {
    min-height: 88px !important;
}

.lc-header-grid {
    grid-template-columns: minmax(180px, 1fr) auto minmax(180px, 1fr) !important;
    min-height: 88px !important;
    gap: 32px !important;
}

.lc-brand {
    font-size: 29px !important;
}

.lc-main-nav {
    display: flex !important;
    justify-self: center !important;
    align-items: center !important;
    gap: 28px !important;
}

.lc-header-actions {
    gap: 18px !important;
}

.theme-content-area {
    padding-top: 88px !important;
}

.lc-product-detail {
    padding-top: 214px !important;
}

@media (max-width: 980px) {
    .lc-header,
    .lc-header-main,
    .lc-header-grid {
        min-height: 76px !important;
    }

    .lc-header-grid {
        grid-template-columns: auto auto !important;
    }

    .lc-main-nav,
    .lc-icon-button {
        display: none !important;
    }

    .lc-menu-toggle {
        display: inline-flex !important;
    }

    .theme-content-area {
        padding-top: 76px !important;
    }
}

@media (max-width: 640px) {
    .lc-header,
    .lc-header-main,
    .lc-header-grid {
        min-height: 70px !important;
    }

    .lc-brand {
        font-size: 25px !important;
    }

    .theme-content-area {
        padding-top: 70px !important;
    }

    .lc-product-detail {
        padding-top: 154px !important;
    }
}

/* LaserCart updated header final pass */
.lc-header,
.lc-header-main {
    min-height: 88px !important;
}

.lc-header-grid {
    grid-template-columns: minmax(180px, 1fr) auto minmax(180px, 1fr) !important;
    min-height: 88px !important;
    gap: 32px !important;
}

.lc-brand {
    font-size: 29px !important;
}

.lc-main-nav {
    display: flex !important;
    justify-self: center !important;
    align-items: center !important;
    gap: 28px !important;
}

.lc-header-actions {
    gap: 18px !important;
}

.theme-content-area {
    padding-top: 88px !important;
}

.lc-product-detail {
    padding-top: 214px !important;
}

@media (max-width: 980px) {
    .lc-header,
    .lc-header-main,
    .lc-header-grid {
        min-height: 76px !important;
    }

    .lc-header-grid {
        grid-template-columns: auto auto !important;
    }

    .lc-main-nav,
    .lc-icon-button {
        display: none !important;
    }

    .lc-menu-toggle {
        display: inline-flex !important;
    }

    .theme-content-area {
        padding-top: 76px !important;
    }
}

@media (max-width: 640px) {
    .lc-header,
    .lc-header-main,
    .lc-header-grid {
        min-height: 70px !important;
    }

    .lc-brand {
        font-size: 25px !important;
    }

    .theme-content-area {
        padding-top: 70px !important;
    }

    .lc-product-detail {
        padding-top: 154px !important;
    }
}

/* LaserCart updated header and expertise section */
.lc-header {
    min-height: 88px !important;
    color: var(--lc-primary) !important;
    background: rgba(255, 255, 255, 0.72) !important;
    border-bottom: 1px solid rgba(28, 28, 25, 0.06) !important;
    box-shadow: 0 4px 20px rgba(28, 28, 25, 0.05) !important;
}

.lc-header-main {
    min-height: 88px !important;
}

.lc-header-grid {
    display: grid !important;
    grid-template-columns: minmax(180px, 1fr) auto minmax(180px, 1fr) !important;
    min-height: 88px !important;
    align-items: center !important;
    gap: 32px !important;
}

.lc-brand {
    justify-self: start !important;
    color: var(--lc-primary) !important;
    font-family: /* "Lilita One", */ "Libre Caslon Text", Georgia, serif !important;
    font-size: 29px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
}

.lc-brand img {
    display: none !important;
}

.lc-main-nav {
    display: flex !important;
    justify-self: center !important;
    align-items: center !important;
    gap: 28px !important;
}

.lc-main-nav .lc-header-link,
.lc-dropdown-toggle {
    position: relative !important;
    display: inline-flex !important;
    min-height: 42px !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    border: 0 !important;
    border-radius: 0 !important;
    padding: 0 !important;
    color: rgba(28, 28, 44, 0.72) !important;
    background: transparent !important;
    box-shadow: none !important;
    font-family: "Hanken Grotesk", Poppins, Arial, sans-serif !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    cursor: pointer !important;
    transition: color 220ms ease !important;
}

.lc-main-nav .lc-header-link::after,
.lc-dropdown-toggle::after {
    content: "" !important;
    position: absolute !important;
    right: 0 !important;
    bottom: 3px !important;
    left: 0 !important;
    height: 1px !important;
    background: var(--lc-copper) !important;
    transform: scaleX(0) !important;
    transform-origin: center !important;
    transition: transform 220ms ease !important;
}

.lc-main-nav .lc-header-link:hover,
.lc-main-nav .lc-header-link[aria-current="page"],
.lc-nav-dropdown:hover .lc-dropdown-toggle,
.lc-nav-dropdown.is-open .lc-dropdown-toggle {
    color: var(--lc-copper) !important;
}

.lc-main-nav .lc-header-link:hover::after,
.lc-main-nav .lc-header-link[aria-current="page"]::after,
.lc-nav-dropdown:hover .lc-dropdown-toggle::after,
.lc-nav-dropdown.is-open .lc-dropdown-toggle::after {
    transform: scaleX(1) !important;
}

.lc-chevron {
    display: inline-block !important;
    font-size: 15px !important;
    line-height: 1 !important;
    transition: transform 220ms ease !important;
}

.lc-nav-dropdown:hover .lc-chevron,
.lc-nav-dropdown.is-open .lc-chevron {
    transform: rotate(180deg) !important;
}

.lc-nav-dropdown {
    position: relative !important;
}

.lc-mega-menu {
    position: absolute !important;
    top: calc(100% + 18px) !important;
    left: 50% !important;
    z-index: 1001 !important;
    width: min(400px, calc(100vw - 40px)) !important;
    display: grid !important;
    gap: 8px !important;
    border: 1px solid rgba(255, 255, 255, 0.72) !important;
    border-radius: 32px !important;
    padding: 24px !important;
    background: rgba(255, 255, 255, 0.86) !important;
    box-shadow: 0 20px 50px rgba(28, 28, 44, 0.16), inset 0 1px 1px rgba(255, 255, 255, 0.7) !important;
    backdrop-filter: blur(18px) !important;
    -webkit-backdrop-filter: blur(18px) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translate(-50%, 14px) !important;
    transition: opacity 260ms ease, transform 260ms ease, visibility 260ms ease !important;
    pointer-events: none !important;
}

.lc-nav-dropdown:hover .lc-mega-menu,
.lc-nav-dropdown.is-open .lc-mega-menu {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translate(-50%, 0) !important;
    pointer-events: auto !important;
}

.lc-mega-item {
    display: grid !important;
    grid-template-columns: 48px minmax(0, 1fr) !important;
    gap: 14px !important;
    align-items: center !important;
    border-radius: 20px !important;
    padding: 12px !important;
    color: var(--lc-primary) !important;
    transition: background 200ms ease, transform 200ms ease !important;
}

.lc-mega-item:hover {
    background: rgba(28, 28, 44, 0.04) !important;
    transform: translateX(2px) !important;
}

.lc-mega-icon {
    display: inline-flex !important;
    width: 48px !important;
    height: 48px !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid rgba(28, 28, 44, 0.1) !important;
    border-radius: 14px !important;
    color: var(--lc-primary) !important;
    background: rgba(28, 28, 44, 0.05) !important;
    font-size: 24px !important;
    line-height: 1 !important;
    flex: 0 0 auto !important;
}

.lc-mega-item strong {
    display: block !important;
    margin-bottom: 4px !important;
    color: var(--lc-primary) !important;
    font-family: /* "Lilita One", */ "Libre Caslon Text", Georgia, serif !important;
    font-size: 18px !important;
    font-weight: 400 !important;
    line-height: 1.1 !important;
}

.lc-mega-item small {
    display: block !important;
    color: rgba(28, 28, 44, 0.62) !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
}

.lc-mega-all {
    display: inline-flex !important;
    min-height: 42px !important;
    align-items: center !important;
    justify-content: center !important;
    margin-top: 10px !important;
    border: 1px solid var(--lc-primary) !important;
    border-radius: 999px !important;
    color: var(--lc-primary) !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    transition: color 200ms ease, background 200ms ease !important;
}

.lc-mega-all:hover {
    color: #fff !important;
    background: var(--lc-primary) !important;
}

.lc-header-actions {
    justify-self: end !important;
    gap: 18px !important;
}

.lc-icon-button {
    position: relative !important;
    display: inline-flex !important;
    width: 28px !important;
    height: 28px !important;
    align-items: center !important;
    justify-content: center !important;
    color: var(--lc-primary) !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 999px !important;
    transition: color 220ms ease, transform 220ms ease !important;
}

.lc-icon-button:hover {
    color: var(--lc-copper) !important;
    transform: translateY(-1px) !important;
}

.lc-icon-button svg {
    width: 22px !important;
    height: 22px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.8 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
}

.lc-icon-badge {
    position: absolute !important;
    top: -4px !important;
    right: -5px !important;
    display: inline-flex !important;
    min-width: 16px !important;
    height: 16px !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 999px !important;
    color: #fff !important;
    background: var(--lc-copper) !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
}

.theme-content-area {
    padding-top: 88px !important;
}

.lc-product-detail {
    padding-top: 214px !important;
}

.lc-section-kicker {
    display: block !important;
    margin-bottom: 22px !important;
    color: var(--lc-copper) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 0.18em !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
}

@media (max-width: 980px) {
    .lc-header-grid {
        grid-template-columns: auto auto !important;
        min-height: 76px !important;
    }

    .lc-header,
    .lc-header-main {
        min-height: 76px !important;
    }

    .lc-main-nav,
    .lc-icon-button {
        display: none !important;
    }

    .lc-menu-toggle {
        display: inline-flex !important;
    }

    .lc-mobile-panel {
        display: none !important;
        width: min(100% - 40px, 420px) !important;
        margin: 0 auto 16px !important;
        border: 1px solid rgba(28, 28, 44, 0.1) !important;
        border-radius: 24px !important;
        padding: 14px !important;
        background: rgba(255, 255, 255, 0.92) !important;
        box-shadow: 0 18px 44px rgba(28, 28, 44, 0.12) !important;
    }

    .lc-mobile-panel.is-open {
        display: grid !important;
        gap: 6px !important;
    }

    .lc-mobile-panel a {
        border-radius: 16px !important;
        padding: 12px 14px !important;
        color: var(--lc-primary) !important;
        font-weight: 600 !important;
    }

    .lc-mobile-panel a:hover {
        background: rgba(28, 28, 44, 0.05) !important;
    }

    .theme-content-area {
        padding-top: 76px !important;
    }
}

@media (max-width: 640px) {
    .lc-header,
    .lc-header-main,
    .lc-header-grid {
        min-height: 70px !important;
    }

    .lc-brand {
        font-size: 25px !important;
    }

    .theme-content-area {
        padding-top: 70px !important;
    }

    .lc-product-detail {
        padding-top: 154px !important;
    }
}

/* Keep Zoho's native sort fallback hidden; only the custom dropdown should show. */
.theme-collection-sort .theme-collection-sort-inner[aria-hidden="true"],
.theme-collection-sort .theme-collection-sort-inner[aria-hidden="true"] select,
.theme-collection-sort .theme-collection-sort-inner[style*="display:none"],
.theme-collection-sort .theme-collection-sort-inner[style*="display: none"],
.theme-collection-sort .theme-collection-sort-inner[style*="display : none"] {
    display: none !important;
}

/* LaserCart 2026 light design system */
:root {
    --lc-bg: #fdf9f4;
    --lc-bg-soft: #f7f3ee;
    --lc-bg-muted: #f1ede8;
    --lc-surface: rgba(255, 255, 255, 0.42);
    --lc-surface-strong: rgba(255, 255, 255, 0.82);
    --lc-line: rgba(28, 28, 25, 0.08);
    --lc-line-strong: rgba(28, 28, 25, 0.14);
    --lc-text: #1c1c19;
    --lc-muted: rgba(28, 28, 25, 0.68);
    --lc-primary: #1c1c2c;
    --lc-copper: #76B900;
    --lc-copper-soft: rgba(118, 185, 0, 0.12);
    --lc-blue: #4a4af4;
    --lc-shadow: 0 18px 60px rgba(28, 28, 25, 0.08);
    --lc-radius-media: 32px;
    --lc-radius-media-sm: 24px;
}

html {
    scroll-behavior: smooth;
}

body {
    background: var(--lc-bg) !important;
    color: var(--lc-text) !important;
}

body,
button,
input,
select,
textarea {
    font-family: "Hanken Grotesk", Poppins, "Source Sans Pro", Arial, sans-serif;
    letter-spacing: 0;
}

.lc-home h1,
.lc-home h2,
.lc-home h3,
.lc-footer-wordmark {
    font-family: /* "Lilita One", */ "Libre Caslon Text", Georgia, serif;
    letter-spacing: 0;
}

.lc-header {
    position: fixed;
    inset-block-start: 0;
    inset-inline: 0;
    z-index: 999;
    color: var(--lc-primary);
    border-bottom: 1px solid rgba(28, 28, 25, 0.05);
    background: rgba(255, 255, 255, 0.52);
    box-shadow: 0 4px 20px rgba(28, 28, 25, 0.05);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

.lc-header-top {
    display: none;
}

.lc-header-container,
.lc-home-container,
.lc-footer-container,
.lc-footer-bottom {
    width: min(1440px, calc(100% - 40px));
    margin-inline: auto;
}

.lc-header-grid {
    min-height: 88px;
}

.lc-brand {
    color: var(--lc-primary) !important;
    font-family: /* "Lilita One", */ "Libre Caslon Text", Georgia, serif;
    font-size: 28px;
    font-weight: 700;
}

.lc-brand img {
    display: none;
}

.lc-header-actions {
    gap: 10px;
}

.lc-header-link {
    min-height: 40px;
    border: 1px solid rgba(28, 28, 44, 0.08);
    border-radius: 999px;
    color: var(--lc-primary) !important;
    background: rgba(255, 255, 255, 0.35);
    font-size: 14px;
    font-weight: 600;
}

.lc-menu-toggle {
    border-color: rgba(28, 28, 44, 0.14);
    background: rgba(255, 255, 255, 0.45);
}

.lc-menu-toggle span {
    background: var(--lc-primary);
}

.lc-home {
    min-height: 100vh;
    color: var(--lc-text);
    background: var(--lc-bg);
}

.lc-catalog-hero-wrap.lc-home {
    min-height: auto !important;
}

.lc-home a {
    text-decoration: none;
}

.lc-home img,
.lc-home video,
.theme-content-area img:not(.lc-v2 *),
.theme-product-image-area img,
.theme-product-detail-image-container img,
.theme-prod-img img,
.theme-search-product-card img,
.wishlist-image img,
.zpimage-container img {
    border-radius: var(--lc-radius-media-sm);
}

.lc-home figure,
.theme-product-image-area,
.theme-product-detail-image-container,
.theme-prod-img,
.theme-search-product-card .theme-product-image,
.wishlist-image,
.zpimage-container picture {
    overflow: hidden;
    border-radius: var(--lc-radius-media);
}

.lc-home-hero {
    position: relative;
    display: flex;
    min-height: 100vh;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    color: #fff;
    background:
        radial-gradient(circle at 50% 40%, rgba(255, 255, 255, 0.26), transparent 42%),
        linear-gradient(180deg, #8d8983 0%, #aaa59e 52%, #e9e2d8 100%);
}

.lc-home-hero h1 {
    margin: 0;
    color: #fff;
    font-size: clamp(52px, 7vw, 96px);
    font-weight: 400;
    line-height: 1.05;
    text-shadow: 0 20px 50px rgba(0, 0, 0, 0.42);
}

.lc-home-hero h1 em {
    color: rgba(255, 255, 255, 0.8);
    font-style: italic;
    font-weight: 400;
}

.lc-home-hero p {
    max-width: 700px;
    margin: 0;
    color: rgba(255, 255, 255, 0.82);
    font-size: 18px;
    line-height: 1.6;
}

.lc-home-section {
    position: relative;
    padding: clamp(84px, 10vw, 132px) 0;
    background: var(--lc-bg);
}

.lc-footer p {
    color: var(--lc-muted);
    font-size: 16px;
    line-height: 1.6;
}

.lc-live-product-media,
.lc-live-product-media img,
.lc-live-product-media picture,
.theme-product-image-area picture,
.theme-product-image-area a,
.theme-product-detail-image-container picture,
.theme-product-detail-image-container a {
    border-radius: var(--lc-radius-media) !important;
}

.lc-quote-mark {
    position: absolute;
    top: -36px;
    left: 20px;
    color: rgba(118, 185, 0, 0.18);
    font-family: Georgia, serif;
    font-size: 160px;
    line-height: 1;
}

.lc-footer {
    color: var(--lc-primary);
    border-top: 1px solid rgba(28, 28, 25, 0.05);
    background: var(--lc-bg-soft);
    padding: 80px 0 32px;
}

.lc-footer-container {
    display: grid;
    grid-template-columns: 0.75fr 1.1fr 1.1fr 1.45fr;
    gap: 48px;
}

.lc-footer h3 {
    margin: 0 0 24px;
    color: var(--lc-primary);
    font-family: "Hanken Grotesk", Poppins, sans-serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.lc-footer-column {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.lc-footer a {
    color: rgba(28, 28, 44, 0.7);
}

.lc-footer a:hover {
    color: var(--lc-copper);
}

.lc-footer-support p,
.lc-footer-subscribe p {
    margin: 0 0 6px;
}

.lc-footer-subscribe form {
    position: relative;
    display: flex;
    align-items: center;
}

.lc-footer-subscribe input {
    width: 100%;
    min-height: 54px;
    border: 0;
    border-radius: 999px;
    padding: 0 140px 0 22px;
    color: var(--lc-primary);
    background: rgba(28, 28, 44, 0.06);
}

.lc-footer-subscribe button {
    position: absolute;
    right: 8px;
    min-height: 38px;
    border: 0;
    border-radius: 999px;
    padding: 0 22px;
    color: #fff;
    background: var(--lc-primary);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.lc-footer-wordmark {
    width: min(1440px, calc(100% - 40px));
    margin: 72px auto 0;
    border-top: 1px solid rgba(28, 28, 25, 0.05);
    padding-top: 32px;
    color: rgba(28, 28, 44, 0.1);
    font-family: "Hanken Grotesk", Poppins, sans-serif;
    font-size: clamp(54px, 15vw, 216px);
    font-weight: 900;
    line-height: 0.9;
    text-align: center;
}

.lc-footer-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-top: 28px;
    color: rgba(28, 28, 44, 0.42);
    font-size: 14px;
}

.lc-footer-bottom nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 12px 30px;
}

.lc-footer-bottom a {
    color: rgba(28, 28, 44, 0.42);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

@media (max-width: 991px) {
    .lc-header-grid {
        min-height: 72px;
    }

    .lc-brand {
        font-size: 24px;
    }

    .lc-home-hero h1 {
        font-size: clamp(44px, 12vw, 68px);
    }

    .lc-footer-container {
        grid-template-columns: 1fr;
    }

    .lc-footer-bottom {
        align-items: flex-start;
        flex-direction: column;
    }

    .lc-footer-bottom nav {
        justify-content: flex-start;
    }
}

@media (max-width: 640px) {
    .lc-header-container,
    .lc-home-container,
    .lc-footer-container,
    .lc-footer-bottom {
        width: min(100% - 32px, 1440px);
    }

    .lc-header-link {
        display: none;
    }

    .lc-footer-subscribe input {
        padding-right: 118px;
    }

    .lc-footer-subscribe button {
        padding-inline: 16px;
    }
}

/* LaserCart catalogue page */
.lc-catalog {
    position: relative;
    z-index: 1;
    overflow: hidden;
    background:
        radial-gradient(circle at -8% 10%, rgba(226, 224, 247, 0.72), transparent 34%),
        radial-gradient(circle at 108% 28%, rgba(253, 206, 170, 0.42), transparent 34%),
        var(--lc-bg);
    color: var(--lc-primary);
    font-family: "Hanken Grotesk", Poppins, sans-serif;
    padding: 140px 0 96px;
}

.lc-catalog::after {
    content: "";
    position: absolute;
    right: 12%;
    bottom: -220px;
    z-index: -1;
    width: 520px;
    height: 520px;
    border-radius: 50%;
    background: rgba(230, 226, 221, 0.58);
    filter: blur(90px);
}

.lc-catalog-container {
    width: min(1440px, calc(100% - 40px));
    margin: 0 auto;
}

.lc-catalog-head {
    margin-bottom: 48px;
}

.lc-catalog-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    margin-bottom: 16px;
    color: rgba(28, 28, 44, 0.58);
    font-size: 14px;
}

.lc-catalog-breadcrumb a {
    color: rgba(28, 28, 44, 0.58);
}

.lc-catalog-breadcrumb a:hover {
    color: var(--lc-copper);
}

.lc-catalog-title-row {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    align-items: baseline;
}

.lc-catalog-title-row h1 {
    margin: 0;
    color: var(--lc-primary);
    font-family: /* "Lilita One", */ "Libre Caslon Text", Georgia, serif;
    font-size: clamp(44px, 5vw, 72px);
    font-weight: 400;
    line-height: 1.08;
}

.lc-catalog-title-row span {
    color: rgba(28, 28, 44, 0.52);
    font-size: 18px;
}

.lc-catalog-description {
    max-width: 760px;
    margin-top: 18px;
    color: rgba(28, 28, 44, 0.68);
    font-size: 16px;
    line-height: 1.7;
}

.lc-catalog-layout {
    display: grid;
    grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
    gap: 32px;
    align-items: start;
}

.lc-catalog-sidebar,
.lc-catalog-toolbar,
.lc-catalog .lc-live-product-card-inner {
    border: 1px solid rgba(255, 255, 255, 0.64);
    background: rgba(255, 255, 255, 0.42);
    box-shadow: 0 24px 60px rgba(28, 28, 44, 0.07);
    backdrop-filter: blur(34px);
    -webkit-backdrop-filter: blur(34px);
}

.lc-catalog-sidebar {
    position: sticky;
    top: 112px;
    border-radius: 32px;
    padding: 28px;
}

.lc-catalog-sidebar h2 {
    margin: 0 0 22px;
    border-bottom: 1px solid rgba(28, 28, 44, 0.1);
    padding-bottom: 18px;
    color: var(--lc-primary);
    font-family: /* "Lilita One", */ "Libre Caslon Text", Georgia, serif;
    font-size: 26px;
    font-weight: 400;
}

.lc-catalog-sidebar nav {
    display: grid;
    gap: 2px;
}

.lc-catalog-sidebar a {
    border-radius: 16px;
    padding: 11px 12px;
    color: rgba(28, 28, 44, 0.68);
    font-size: 15px;
    line-height: 1.35;
}

.lc-catalog-sidebar a:first-child,
.lc-catalog-sidebar a:hover {
    color: var(--lc-copper);
    background: rgba(255, 255, 255, 0.52);
}

.lc-catalog-main {
    min-width: 0;
}

.lc-catalog-toolbar {
    display: flex;
    gap: 18px;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 28px;
    border-radius: 32px;
    padding: 16px 20px;
}

.lc-catalog-view {
    display: flex;
    gap: 8px;
    align-items: center;
    border-right: 1px solid rgba(28, 28, 44, 0.1);
    padding-right: 18px;
}

.lc-catalog-view span {
    width: 34px;
    height: 34px;
    border-radius: 12px;
    background: rgba(28, 28, 44, 0.08);
}

.lc-catalog-view span:first-child {
    background: var(--lc-primary);
}

.lc-catalog-sort {
    min-width: 190px;
}

.lc-catalog-sort select,
.lc-catalog-sort .theme-collection-sort-inner,
.lc-catalog-sort .theme-custom-sort {
    border: 1px solid rgba(28, 28, 44, 0.1) !important;
    border-radius: 999px !important;
    padding: 10px 16px !important;
    color: var(--lc-primary) !important;
    background: rgba(255, 255, 255, 0.58) !important;
}

.lc-catalog-grid.theme-product-ratio {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px;
    align-items: stretch;
}

.lc-catalog .theme-prod-box,
.lc-catalog .theme-product-list-style-01.lc-live-product-card {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.lc-catalog .lc-live-product-card-inner {
    display: flex;
    min-height: 100%;
    overflow: hidden;
    border-radius: 32px;
    flex-direction: column;
    transition: transform 260ms ease, box-shadow 260ms ease;
}

.lc-catalog .lc-live-product-card-inner::before {
    background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.42), rgba(255, 255, 255, 0.12)),
        radial-gradient(circle at 82% 8%, rgba(118, 185, 0, 0.12), transparent 36%);
}

.lc-catalog .lc-live-product-card:hover .lc-live-product-card-inner {
    transform: translateY(-4px);
    box-shadow: 0 30px 70px rgba(28, 28, 44, 0.12);
}

.lc-catalog .lc-live-product-media {
    min-height: 256px;
    margin: 16px 16px 0;
    border-radius: 28px !important;
    background:
        linear-gradient(145deg, rgba(247, 243, 238, 0.9), rgba(230, 226, 221, 0.72)) !important;
}

.lc-catalog .lc-live-product-media picture,
.lc-catalog .lc-live-product-media a,
.lc-catalog .lc-live-product-media img,
.lc-catalog .theme-product-image-area picture,
.lc-catalog .theme-product-image-area a {
    overflow: hidden;
    border-radius: 28px !important;
}

.lc-catalog .lc-live-product-media img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transform: scale(0.86);
}

.lc-catalog .lc-live-product-card:hover .lc-live-product-media img {
    transform: scale(0.92);
}

.lc-catalog .lc-live-product-copy {
    gap: 16px;
    padding: 24px;
    background: rgba(255, 255, 255, 0.2);
}

.lc-catalog .lc-live-product-kicker {
    border-color: rgba(118, 185, 0, 0.2);
    color: var(--lc-primary);
    background: rgba(255, 255, 255, 0.58);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.lc-catalog .lc-live-product-card .theme-product-name a {
    min-height: 58px;
    color: var(--lc-primary) !important;
    font-family: "Hanken Grotesk", Poppins, sans-serif;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.35;
}

.lc-catalog .lc-live-product-card .theme-product-name a:hover {
    color: var(--lc-copper) !important;
}

.lc-catalog .lc-live-product-card .theme-product-total-price-lable,
.lc-catalog .theme-product-list-style-01 .theme-product-price,
.lc-catalog .theme-product-list-style-01 .theme-min-rate,
.lc-catalog .theme-product-total-price-lable,
.lc-catalog .theme-min-rate {
    color: var(--lc-primary) !important;
    font-family: /* "Lilita One", */ "Libre Caslon Text", Georgia, serif;
    font-size: 20px;
    font-weight: 700 !important;
}

.lc-catalog .lc-live-product-card .theme-product-total-old-price,
.lc-catalog .theme-product-list-style-01 .theme-product-old-price,
.lc-catalog .theme-max-rate,
.lc-catalog .theme-prod-old-price {
    color: rgba(28, 28, 44, 0.42) !important;
}

.lc-catalog .lc-live-product-actions {
    gap: 12px;
}

.lc-catalog .lc-live-product-details,
.lc-catalog .lc-live-product-add a {
    min-height: 46px;
    border-radius: 999px;
    padding-inline: 18px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.lc-catalog .lc-live-product-details {
    border: 1px solid rgba(28, 28, 44, 0.9);
    color: var(--lc-primary) !important;
    background: transparent;
}

.lc-catalog .lc-live-product-details:hover {
    color: #fff !important;
    background: var(--lc-primary);
}

.lc-catalog .lc-live-product-add a {
    color: #fff !important;
    background: var(--lc-primary) !important;
}

.lc-catalog .theme-product-sale-ribbon,
.lc-catalog .theme-ribbon-stock {
    top: 14px;
    left: 14px;
    border: 0;
    border-radius: 999px;
    padding: 8px 12px;
    color: #fff !important;
    background: var(--lc-primary) !important;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.lc-catalog .theme-product-list-variants {
    background: rgba(255, 255, 255, 0.72);
}

.lc-catalog .theme-product-color label {
    border-color: rgba(28, 28, 44, 0.24);
}

.lc-catalog .theme-no-products-error {
    grid-column: 1 / -1;
    border-radius: 28px;
    padding: 40px;
    color: var(--lc-primary);
    background: rgba(255, 255, 255, 0.48);
}

.lc-catalog .theme-pagination,
.lc-catalog [data-pagination] {
    margin-top: 48px;
}

@media (max-width: 1180px) {
    .lc-catalog-grid.theme-product-ratio {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 991px) {
    .lc-catalog {
        padding-top: 112px;
    }

    .lc-catalog-layout {
        grid-template-columns: 1fr;
    }

    .lc-catalog-sidebar {
        position: relative;
        top: auto;
    }

    .lc-catalog-sidebar nav {
        display: flex;
        overflow-x: auto;
        padding-bottom: 4px;
        gap: 8px;
        scrollbar-width: none;
    }

    .lc-catalog-sidebar nav::-webkit-scrollbar {
        display: none;
    }

    .lc-catalog-sidebar a {
        flex: 0 0 auto;
        white-space: nowrap;
    }
}

@media (max-width: 640px) {
    .lc-catalog {
        padding: 96px 0 72px;
    }

    .lc-catalog-container {
        width: min(100% - 32px, 1440px);
    }

    .lc-catalog-head {
        margin-bottom: 32px;
    }

    .lc-catalog-title-row h1 {
        font-size: 42px;
    }

    .lc-catalog-toolbar {
        align-items: flex-start;
        flex-direction: column;
        border-radius: 24px;
    }

    .lc-catalog-view {
        width: 100%;
        border-right: 0;
        border-bottom: 1px solid rgba(28, 28, 44, 0.1);
        padding-right: 0;
        padding-bottom: 14px;
    }

    .lc-catalog-grid.theme-product-ratio {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .lc-catalog .lc-live-product-media {
        min-height: 224px;
    }
}

/* LaserCart product detail page */
.lc-product-page,
.lc-product-detail {
    background:
        radial-gradient(circle at -8% 12%, rgba(226, 224, 247, 0.72), transparent 34%),
        radial-gradient(circle at 108% 36%, rgba(253, 206, 170, 0.38), transparent 34%),
        var(--lc-bg);
    color: var(--lc-primary);
    font-family: "Hanken Grotesk", Poppins, sans-serif;
}

/* Zoho collection route polish */
.theme-content-area {
    background:
        radial-gradient(circle at -8% 10%, rgba(226, 224, 247, 0.72), transparent 34%),
        radial-gradient(circle at 108% 28%, rgba(253, 206, 170, 0.42), transparent 34%),
        var(--lc-bg);
}

[data-zs-collection] .theme-section:first-child,
.theme-collection-description,
.theme-category-description,
.theme-category-name-description,
.theme-collection-heading-view-all {
    background: transparent !important;
}

.theme-collection-description,
.theme-category-description,
.theme-category-name-description,
.theme-collection-heading-view-all,
.theme-category-name,
.theme-collection-name {
    width: min(1440px, calc(100% - 40px));
    margin-right: auto !important;
    margin-left: auto !important;
    padding-top: 96px !important;
    color: var(--lc-primary) !important;
}

.theme-collection-description h1,
.theme-category-description h1,
.theme-category-name h1,
.theme-collection-name h1,
.theme-category-heading,
.theme-collection-heading {
    margin: 0 !important;
    color: var(--lc-primary) !important;
    font-family: /* "Lilita One", */ "Libre Caslon Text", Georgia, serif !important;
    font-size: clamp(44px, 5vw, 72px) !important;
    font-weight: 400 !important;
    line-height: 1.08 !important;
}

.theme-collection-description p,
.theme-category-description p,
[data-zs-collection-description] {
    max-width: 760px;
    color: rgba(28, 28, 44, 0.68) !important;
    font-size: 16px;
    line-height: 1.7;
}

.theme-collection-sortby-section,
.theme-filter-sortby-container,
.theme-product-filter-icon-mobile-container {
    background: transparent !important;
}

.theme-collection-sort {
    width: min(1440px, calc(100% - 40px));
    margin: 0 auto 28px !important;
    border: 1px solid rgba(255, 255, 255, 0.64);
    border-radius: 32px;
    padding: 16px 20px !important;
    background: rgba(255, 255, 255, 0.42);
    box-shadow: 0 24px 60px rgba(28, 28, 44, 0.07);
    backdrop-filter: blur(34px);
    -webkit-backdrop-filter: blur(34px);
}

.theme-collection-sort-inner,
.theme-custom-sort,
.theme-collection-sort select {
    border-color: rgba(28, 28, 44, 0.1) !important;
    border-radius: 999px !important;
    color: var(--lc-primary) !important;
    background: rgba(255, 255, 255, 0.58) !important;
}

.theme-collection-section,
.theme-product-collection-section,
.theme-collection-container {
    background: transparent !important;
    padding-bottom: 96px !important;
}

.theme-collection-section > .zpcontainer,
.theme-product-collection-section > .zpcontainer,
.theme-collection-container > .zpcontainer {
    width: min(1440px, calc(100% - 40px)) !important;
    max-width: none !important;
}

.theme-store-collection-container {
    width: 100%;
}

.theme-store-collection-container .theme-product-ratio,
[data-sort-by-products-target].theme-product-ratio {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px !important;
    margin: 0 !important;
}

.theme-store-collection-container .theme-prod-box {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.theme-store-collection-container .lc-live-product-card-inner {
    border: 1px solid rgba(255, 255, 255, 0.64);
    border-radius: 32px;
    background: rgba(255, 255, 255, 0.42);
    box-shadow: 0 24px 60px rgba(28, 28, 44, 0.07);
    backdrop-filter: blur(34px);
    -webkit-backdrop-filter: blur(34px);
}

@media (max-width: 1180px) {
    .theme-store-collection-container .theme-product-ratio,
    [data-sort-by-products-target].theme-product-ratio {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .theme-collection-description,
    .theme-category-description,
    .theme-category-name-description,
    .theme-collection-heading-view-all,
    .theme-category-name,
    .theme-collection-name,
    .theme-collection-sort,
    .theme-collection-section > .zpcontainer,
    .theme-product-collection-section > .zpcontainer,
    .theme-collection-container > .zpcontainer {
        width: min(100% - 32px, 1440px) !important;
    }

    .theme-store-collection-container .theme-product-ratio,
    [data-sort-by-products-target].theme-product-ratio {
        grid-template-columns: 1fr;
        gap: 20px !important;
    }
}

.lc-product-detail {
    padding: 136px 0 72px;
}

.lc-product-detail-container,
.lc-product-content-container {
    width: min(1440px, calc(100% - 40px));
    margin: 0 auto;
}

.lc-product-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    margin-bottom: 28px;
    color: rgba(28, 28, 44, 0.56);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.lc-product-breadcrumb a {
    color: rgba(28, 28, 44, 0.56);
}

.lc-product-breadcrumb a:hover {
    color: var(--lc-copper);
}

.lc-product-detail-grid {
    display: grid;
    grid-template-columns: minmax(0, 7fr) minmax(360px, 5fr);
    gap: 40px;
    align-items: start;
}

.theme-spec {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    border-bottom: 1px solid rgba(28, 28, 44, 0.08);
    padding: 12px 0;
}

.theme-spec:last-child {
    border-bottom: 0;
}

.theme-prod-specification-field {
    color: rgba(28, 28, 44, 0.58);
}

.theme-prod-specification-value {
    margin: 0;
    color: var(--lc-primary);
    font-weight: 700;
    text-align: right;
}

.lc-product-content,
.lc-product-related {
    background: var(--lc-bg);
    padding: 24px 0 72px;
}

.lc-product-content-container {
    display: grid;
    gap: 18px;
}

@media (max-width: 991px) {
    .lc-product-detail-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .lc-product-detail {
        padding-top: 104px;
    }

    .lc-product-detail-container,
    .lc-product-content-container {
        width: min(100% - 32px, 1440px);
    }
}

/* LaserCart final collection hardening */
html,
body {
    font-size: 15px;
}

body {
    overflow-x: hidden;
}

.theme-content-area,
.lc-home,
.lc-product-detail,
.lc-catalog,
.lc-footer {
    animation: lcPageFade 420ms ease both;
}

@keyframes lcPageFade {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

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

/* ============================================================
   These generic rules dress the OLD design's text and controls. They
   predate the v2 port and must not reach it: v2 markup brings its own
   type scale and its own control styling from lc-tw.css.

   The button block below is the one that actually broke something --
   every declaration is !important, so it beat the v2 utilities outright
   and rendered the home page's "Find Parts" button as a dark uppercase
   pill instead of the cyan bar the design calls for. Scoping it away is
   the fix for every v2 section carrying a button, not just that one.

   :not(.lc-v2 *) excludes anything inside a v2 wrapper and leaves the
   legacy pages exactly as they were.
   ============================================================ */
.theme-content-area p:not(.lc-v2 *),
.theme-content-area li:not(.lc-v2 *),
.theme-content-area span:not(.lc-v2 *),
.theme-content-area label:not(.lc-v2 *),
.theme-content-area input:not(.lc-v2 *),
.theme-content-area select:not(.lc-v2 *),
.theme-content-area textarea:not(.lc-v2 *) {
    font-size: 15px;
    line-height: 1.6;
}

.theme-content-area button:not(.lc-v2 *),
.theme-content-area .theme-button,
.theme-content-area .theme-cart-button,
.theme-content-area .theme-quote-button,
.theme-content-area [data-zs-add-to-cart],
.theme-content-area [data-zs-buy-now],
.theme-content-area input[type="button"],
.theme-content-area input[type="submit"],
.lc-live-product-add a {
    min-height: 44px !important;
    border: 1px solid var(--lc-primary) !important;
    border-radius: 999px !important;
    padding: 12px 18px !important;
    color: #fff !important;
    background: var(--lc-primary) !important;
    box-shadow: none !important;
    font-family: "Hanken Grotesk", Poppins, Arial, sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
    letter-spacing: 0.1em !important;
    text-align: center !important;
    text-transform: uppercase !important;
}

.theme-content-area button:not(.lc-v2 *):hover,
.theme-content-area .theme-button:hover,
.theme-content-area .theme-cart-button:hover,
.theme-content-area .theme-quote-button:hover,
.theme-content-area [data-zs-add-to-cart]:hover,
.theme-content-area [data-zs-buy-now]:hover,
.theme-content-area input[type="button"]:hover,
.theme-content-area input[type="submit"]:hover,
.lc-live-product-add a:hover {
    border-color: var(--lc-copper) !important;
    background: var(--lc-copper) !important;
}

.theme-product-ratio[data-sort-by-products-target],
[data-sort-by-products-target].theme-product-ratio,
.theme-store-collection-container .theme-product-ratio,
.theme-product-collection-section .theme-product-ratio {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(260px, 1fr)) !important;
    gap: 28px !important;
    width: 100% !important;
    margin: 0 !important;
    align-items: stretch !important;
}

.theme-product-ratio[data-sort-by-products-target]::before,
.theme-product-ratio[data-sort-by-products-target]::after,
[data-sort-by-products-target].theme-product-ratio::before,
[data-sort-by-products-target].theme-product-ratio::after {
    display: none !important;
}

.theme-product-ratio[data-sort-by-products-target] > .theme-prod-box,
[data-sort-by-products-target].theme-product-ratio > .theme-prod-box,
.theme-store-collection-container .theme-prod-box,
.theme-product-count-md-01,
.theme-product-count-md-02,
.theme-product-count-md-03,
.theme-product-count-md-04,
.theme-product-count-sm-01,
.theme-product-count-sm-02,
.theme-product-count-sm-03,
.theme-product-count-xsm-01,
.theme-product-count-xsm-02 {
    float: none !important;
    clear: none !important;
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.theme-product-ratio[data-sort-by-products-target] > .theme-prod-box,
[data-sort-by-products-target].theme-product-ratio > .theme-prod-box {
    animation: lcCardRise 520ms ease both;
}

@keyframes lcCardRise {
    from {
        opacity: 0;
        transform: translateY(18px);
    }

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

.lc-live-product-card-inner {
    position: relative;
    display: flex !important;
    min-height: 100%;
    overflow: hidden !important;
    border: 1px solid rgba(255, 255, 255, 0.72) !important;
    border-radius: 32px !important;
    flex-direction: column !important;
    background: rgba(255, 255, 255, 0.48) !important;
    box-shadow: 0 24px 64px rgba(28, 28, 44, 0.08) !important;
    backdrop-filter: blur(34px);
    -webkit-backdrop-filter: blur(34px);
    transition: transform 260ms ease, box-shadow 260ms ease, border-color 260ms ease;
}

.lc-live-product-card:hover .lc-live-product-card-inner {
    transform: translateY(-4px);
    border-color: rgba(118, 185, 0, 0.32) !important;
    box-shadow: 0 30px 74px rgba(28, 28, 44, 0.13) !important;
}

.lc-live-product-media.theme-product-image-area {
    position: relative !important;
    display: block !important;
    width: auto !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 16px 16px 0 !important;
    aspect-ratio: 4 / 3 !important;
    overflow: hidden !important;
    border-radius: 28px !important;
    background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.84), rgba(237, 229, 218, 0.74)),
        radial-gradient(circle at 75% 15%, rgba(139, 92, 64, 0.14), transparent 38%) !important;
}

.lc-live-product-media picture,
.lc-live-product-media a:not(.lc-live-product-media-link),
.lc-live-product-media img,
.theme-product-image-area picture,
.theme-product-image-area a,
.theme-product-image-area img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    overflow: hidden !important;
    border-radius: 28px !important;
}

.lc-live-product-media img,
.theme-product-image-area img {
    object-fit: contain !important;
    padding: 18px !important;
    transform: none !important;
    transition: transform 260ms ease;
}

.lc-live-product-card:hover .lc-live-product-media img {
    transform: scale(1.04) !important;
}

.lc-live-product-media-link {
    position: absolute !important;
    inset: 0 !important;
    z-index: 2 !important;
}

.lc-live-product-copy.theme-product-details-area {
    display: flex !important;
    min-height: 230px !important;
    gap: 16px !important;
    justify-content: space-between !important;
    padding: 22px !important;
    color: var(--lc-primary) !important;
}

.lc-live-product-kicker,
.theme-product-sale-ribbon,
.theme-ribbon-stock {
    width: fit-content !important;
    border: 1px solid rgba(118, 185, 0, 0.22) !important;
    border-radius: 999px !important;
    padding: 8px 11px !important;
    color: var(--lc-copper) !important;
    background: rgba(255, 255, 255, 0.62) !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
}

.lc-live-product-card .theme-product-name a {
    display: -webkit-box !important;
    min-height: 48px !important;
    overflow: hidden !important;
    color: var(--lc-primary) !important;
    font-family: "Hanken Grotesk", Poppins, Arial, sans-serif !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.lc-live-product-card .theme-product-name a:hover {
    color: var(--lc-copper) !important;
}

.lc-live-product-card .theme-product-price,
.lc-live-product-card .theme-product-total-price-lable,
.lc-live-product-card .theme-min-rate {
    color: var(--lc-copper) !important;
    font-family: /* "Lilita One", */ "Libre Caslon Text", Georgia, serif !important;
    font-size: 21px !important;
    font-weight: 700 !important;
}

.lc-live-product-card .theme-product-old-price,
.lc-live-product-card .theme-product-total-old-price,
.lc-live-product-card .theme-max-rate,
.lc-live-product-card .theme-prod-old-price {
    color: rgba(28, 28, 44, 0.42) !important;
    font-size: 13px !important;
}

.lc-live-product-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 12px !important;
    align-items: stretch !important;
}

.lc-live-product-details,
.lc-live-product-add,
.lc-live-product-add a {
    display: flex !important;
    width: 100% !important;
    align-items: center !important;
    justify-content: center !important;
}

.lc-live-product-details {
    min-height: 44px !important;
    border: 1px solid rgba(28, 28, 44, 0.92) !important;
    border-radius: 999px !important;
    color: var(--lc-primary) !important;
    background: transparent !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
    letter-spacing: 0.1em !important;
    text-align: center !important;
    text-transform: uppercase !important;
}

.lc-live-product-details:hover {
    color: #fff !important;
    background: var(--lc-primary) !important;
}

.theme-custom-select-option-container {
    overflow: hidden !important;
    border: 1px solid rgba(28, 28, 44, 0.1) !important;
    border-radius: 18px !important;
    background: rgba(255, 255, 255, 0.96) !important;
    box-shadow: 0 18px 48px rgba(28, 28, 44, 0.12) !important;
}

.theme-custom-select-option {
    color: var(--lc-primary) !important;
    font-size: 13px !important;
}

.theme-custom-select-option:hover,
.theme-selected-sort {
    color: #fff !important;
    background: var(--lc-copper) !important;
}

@media (max-width: 1180px) {
    .theme-product-ratio[data-sort-by-products-target],
    [data-sort-by-products-target].theme-product-ratio,
    .theme-store-collection-container .theme-product-ratio,
    .theme-product-collection-section .theme-product-ratio {
        grid-template-columns: repeat(2, minmax(240px, 1fr)) !important;
    }
}

@media (max-width: 700px) {
    html,
    body {
        font-size: 14px;
    }

    .theme-collection-description h1,
    .theme-category-description h1,
    .theme-category-name h1,
    .theme-collection-name h1,
    .theme-category-heading,
    .theme-collection-heading {
        font-size: clamp(38px, 14vw, 54px) !important;
    }

    .theme-product-ratio[data-sort-by-products-target],
    [data-sort-by-products-target].theme-product-ratio,
    .theme-store-collection-container .theme-product-ratio,
    .theme-product-collection-section .theme-product-ratio {
        grid-template-columns: 1fr !important;
    }

    .lc-live-product-actions {
        grid-template-columns: 1fr;
    }
}

/* LaserCart visual tightening pass */
.theme-content-area {
    padding-top: 88px;
}

.theme-content-area-inner {
    overflow: visible !important;
}

.theme-collection-description,
.theme-category-description,
.theme-category-name-description,
.theme-collection-heading-view-all,
.theme-category-name,
.theme-collection-name {
    padding-top: 58px !important;
}

.theme-collection-description h1,
.theme-category-description h1,
.theme-category-name h1,
.theme-collection-name h1,
.theme-category-heading,
.theme-collection-heading {
    font-size: clamp(36px, 4vw, 56px) !important;
}

.theme-collection-sortby-section,
.theme-filter-sortby-container,
.theme-product-filter-icon-mobile-container {
    position: relative !important;
    z-index: 4 !important;
    margin-top: 8px !important;
    margin-bottom: 30px !important;
}

.theme-collection-sort {
    display: flex !important;
    width: min(1440px, calc(100% - 40px)) !important;
    justify-content: flex-end !important;
    margin: 0 auto !important;
    border: 0 !important;
    border-radius: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

.theme-collection-sort-inner,
.theme-custom-sort,
.theme-collection-sort select {
    min-height: 46px !important;
    max-width: 230px !important;
    border: 1px solid rgba(28, 28, 44, 0.1) !important;
    padding: 10px 18px !important;
    background: rgba(255, 255, 255, 0.78) !important;
    box-shadow: 0 14px 38px rgba(28, 28, 44, 0.08) !important;
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
}

.theme-sortby-label,
.theme-custom-select-value {
    color: rgba(28, 28, 44, 0.72) !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
}

.theme-product-ratio[data-sort-by-products-target],
[data-sort-by-products-target].theme-product-ratio,
.theme-store-collection-container .theme-product-ratio,
.theme-product-collection-section .theme-product-ratio {
    grid-template-columns: repeat(4, minmax(210px, 1fr)) !important;
    gap: 22px !important;
}

.lc-live-product-card,
.theme-prod-box,
.theme-product-list-style-01.lc-live-product-card {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
}

.lc-live-product-card::before,
.lc-live-product-card::after,
.theme-prod-box::before,
.theme-prod-box::after,
.theme-product-box-content::before,
.theme-product-box-content::after,
.lc-live-product-card-inner::before,
.lc-live-product-card-inner::after {
    display: none !important;
    content: none !important;
}

.lc-live-product-card-inner {
    min-height: 0 !important;
    border: 1px solid rgba(255, 255, 255, 0.72) !important;
    border-radius: 26px !important;
    background: rgba(255, 255, 255, 0.54) !important;
    box-shadow: 0 18px 48px rgba(28, 28, 44, 0.08) !important;
}

.lc-live-product-media.theme-product-image-area {
    margin: 10px 10px 0 !important;
    aspect-ratio: 1.08 / 1 !important;
    border-radius: 22px !important;
    background: rgba(255, 255, 255, 0.52) !important;
}

.lc-live-product-media picture,
.lc-live-product-media a:not(.lc-live-product-media-link),
.lc-live-product-media img,
.theme-product-image-area picture,
.theme-product-image-area a,
.theme-product-image-area img {
    border-radius: 22px !important;
}

.lc-live-product-media img,
.theme-product-image-area img {
    padding: 0 !important;
    object-fit: cover !important;
    transform: scale(1.02) !important;
}

.lc-live-product-card:hover .lc-live-product-media img {
    transform: scale(1.06) !important;
}

.lc-live-product-copy.theme-product-details-area {
    min-height: 190px !important;
    gap: 12px !important;
    padding: 18px !important;
}

.lc-live-product-kicker,
.theme-product-sale-ribbon,
.theme-ribbon-stock {
    padding: 7px 10px !important;
    font-size: 9px !important;
}

.lc-live-product-card .theme-product-name a {
    min-height: 40px !important;
    font-size: 15px !important;
    line-height: 1.32 !important;
}

.lc-live-product-card .theme-product-price,
.lc-live-product-card .theme-product-total-price-lable,
.lc-live-product-card .theme-min-rate {
    font-size: 18px !important;
}

.lc-live-product-actions {
    gap: 10px !important;
}

.lc-live-product-details,
.lc-live-product-add a {
    min-height: 42px !important;
    padding: 10px 14px !important;
    font-size: 10px !important;
    line-height: 1.15 !important;
}

.lc-footer-subscribe {
    max-width: 430px;
}

.lc-footer-subscribe p {
    max-width: 390px;
}

.lc-footer-subscribe form {
    display: flex !important;
    min-height: 54px;
    overflow: hidden;
    align-items: center !important;
    border-radius: 999px;
    background: rgba(28, 28, 44, 0.06);
}

.lc-footer-subscribe input {
    flex: 1 1 auto;
    min-width: 0;
    min-height: 54px;
    border-radius: 0;
    padding: 0 18px;
    background: transparent;
}

.lc-footer-subscribe button {
    position: static !important;
    display: inline-flex !important;
    flex: 0 0 auto;
    min-width: 102px;
    min-height: 40px;
    align-items: center !important;
    justify-content: center !important;
    margin-right: 7px;
    padding: 0 18px;
    line-height: 1 !important;
}

.lc-product-detail {
    padding-top: 160px;
}

.lc-product-detail-grid {
    grid-template-columns: minmax(0, 6fr) minmax(340px, 4.6fr);
    gap: 36px;
}

@media (max-width: 1180px) {
    .theme-product-ratio[data-sort-by-products-target],
    [data-sort-by-products-target].theme-product-ratio,
    .theme-store-collection-container .theme-product-ratio,
    .theme-product-collection-section .theme-product-ratio {
        grid-template-columns: repeat(3, minmax(210px, 1fr)) !important;
    }
}

@media (max-width: 900px) {
    .theme-product-ratio[data-sort-by-products-target],
    [data-sort-by-products-target].theme-product-ratio,
    .theme-store-collection-container .theme-product-ratio,
    .theme-product-collection-section .theme-product-ratio {
        grid-template-columns: repeat(2, minmax(200px, 1fr)) !important;
    }

    .theme-collection-sort {
        justify-content: flex-start !important;
    }
}

@media (max-width: 640px) {
    .theme-content-area {
        padding-top: 76px;
    }

    .theme-collection-description,
    .theme-category-description,
    .theme-category-name-description,
    .theme-collection-heading-view-all,
    .theme-category-name,
    .theme-collection-name {
        padding-top: 34px !important;
    }

    .theme-product-ratio[data-sort-by-products-target],
    [data-sort-by-products-target].theme-product-ratio,
    .theme-store-collection-container .theme-product-ratio,
    .theme-product-collection-section .theme-product-ratio {
        grid-template-columns: 1fr !important;
    }

    .lc-product-detail {
        padding-top: 122px;
    }

    .lc-footer-subscribe form {
        border-radius: 26px;
        padding: 8px;
        flex-direction: column;
        align-items: stretch !important;
    }

    .lc-footer-subscribe button {
        width: 100%;
        margin-right: 0;
    }
}

/* LaserCart final cascade overrides */
.lc-header {
    min-height: 64px !important;
}

.lc-header-grid {
    min-height: 64px !important;
}

.lc-brand {
    font-size: 26px !important;
}

.lc-header-actions {
    gap: 24px !important;
}

.lc-header-link {
    position: relative !important;
    min-height: auto !important;
    border: 0 !important;
    border-radius: 0 !important;
    padding: 8px 0 !important;
    color: rgba(28, 28, 44, 0.72) !important;
    background: transparent !important;
    box-shadow: none !important;
    font-weight: 500 !important;
}

.lc-header-link::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 2px;
    left: 0;
    height: 1px;
    background: var(--lc-copper);
    transform: scaleX(0);
    transform-origin: center;
    transition: transform 220ms ease;
}

.lc-header-link:hover,
.lc-header-link[aria-current="page"] {
    color: var(--lc-copper) !important;
    border-bottom: 0 !important;
}

.lc-header-link:hover::after,
.lc-header-link[aria-current="page"]::after {
    transform: scaleX(1);
}

.theme-content-area {
    padding-top: 64px !important;
}

.theme-collection-sort-inner,
.theme-custom-sort,
.theme-collection-sort select {
    display: inline-flex !important;
    width: auto !important;
    min-width: 218px !important;
    max-width: none !important;
    align-items: center !important;
    gap: 8px !important;
    white-space: nowrap !important;
}

.theme-collection-sort-inner[aria-hidden="true"],
.theme-collection-sort-inner[aria-hidden="true"] select,
.theme-collection-sort-inner[style*="display:none"],
.theme-collection-sort-inner[style*="display: none"],
.theme-collection-sort-inner[style*="display : none"] {
    display: none !important;
}

.theme-sortby-label,
.theme-custom-select-value {
    display: inline-flex !important;
    white-space: nowrap !important;
}

.theme-custom-select-value {
    max-width: 126px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.theme-product-ratio[data-sort-by-products-target] > .theme-prod-box,
[data-sort-by-products-target].theme-product-ratio > .theme-prod-box,
.theme-store-collection-container .theme-prod-box,
.theme-product-box,
.theme-product-list-style-01,
.theme-product-list-style-01.lc-live-product-card {
    overflow: visible !important;
    border: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.theme-product-box-content.lc-live-product-card-inner,
.lc-live-product-card-inner {
    border: 0 !important;
    outline: 0 !important;
    background: rgba(255, 255, 255, 0.72) !important;
    box-shadow: 0 14px 34px rgba(28, 28, 44, 0.075) !important;
}

.lc-live-product-card:hover .lc-live-product-card-inner {
    box-shadow: 0 18px 42px rgba(28, 28, 44, 0.1) !important;
}

.lc-product-detail {
    padding-top: 190px !important;
}

@media (max-width: 640px) {
    .lc-header-grid {
        min-height: 58px !important;
    }

    .lc-brand {
        font-size: 23px !important;
    }

    .lc-header-actions {
        gap: 16px !important;
    }

    .theme-content-area {
        padding-top: 58px !important;
    }

    .lc-product-detail {
        padding-top: 138px !important;
    }
}

/* Keep Zoho's native sort fallback hidden; only the custom dropdown should show. */
.theme-collection-sort .theme-collection-sort-inner[aria-hidden="true"],
.theme-collection-sort .theme-collection-sort-inner[aria-hidden="true"] select,
.theme-collection-sort .theme-collection-sort-inner[style*="display:none"],
.theme-collection-sort .theme-collection-sort-inner[style*="display: none"],
.theme-collection-sort .theme-collection-sort-inner[style*="display : none"] {
    display: none !important;
}
/* LaserCart updated header final pass at EOF */
.lc-header,
.lc-header-main {
    min-height: 88px !important;
}

.lc-header-grid {
    grid-template-columns: minmax(180px, 1fr) auto minmax(180px, 1fr) !important;
    min-height: 88px !important;
    gap: 32px !important;
}

.lc-brand {
    font-size: 29px !important;
}

.lc-main-nav {
    display: flex !important;
    justify-self: center !important;
    align-items: center !important;
    gap: 28px !important;
}

.lc-header-actions {
    gap: 18px !important;
}

.theme-content-area {
    padding-top: 88px !important;
}

.lc-product-detail {
    padding-top: 214px !important;
}

@media (max-width: 980px) {
    .lc-header,
    .lc-header-main,
    .lc-header-grid {
        min-height: 76px !important;
    }

    .lc-header-grid {
        grid-template-columns: auto auto !important;
    }

    .lc-main-nav,
    .lc-icon-button {
        display: none !important;
    }

    .lc-menu-toggle {
        display: inline-flex !important;
    }

    .theme-content-area {
        padding-top: 76px !important;
    }
}

@media (max-width: 640px) {
    .lc-header,
    .lc-header-main,
    .lc-header-grid {
        min-height: 70px !important;
    }

    .lc-brand {
        font-size: 25px !important;
    }

    .theme-content-area {
        padding-top: 70px !important;
    }

    .lc-product-detail {
        padding-top: 154px !important;
    }
}
/* LaserCart collection catalogue final pass */
.lc-catalog {
    position: relative !important;
    padding: clamp(52px, 6vw, 84px) 0 96px !important;
    background:
        linear-gradient(120deg, rgba(226, 224, 247, 0.22), transparent 32%),
        linear-gradient(245deg, rgba(253, 206, 170, 0.28), transparent 34%),
        var(--lc-bg) !important;
    color: var(--lc-primary) !important;
    font-family: "Hanken Grotesk", Poppins, Arial, sans-serif !important;
}

.lc-catalog-container {
    width: min(1440px, calc(100% - 40px)) !important;
    margin: 0 auto !important;
}

.lc-catalog-head {
    margin-bottom: clamp(34px, 5vw, 64px) !important;
}

.lc-catalog-breadcrumb {
    display: flex !important;
    gap: 10px !important;
    align-items: center !important;
    margin-bottom: 12px !important;
    color: rgba(28, 28, 44, 0.62) !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
}

.lc-catalog-breadcrumb a {
    color: rgba(28, 28, 44, 0.62) !important;
}

.lc-catalog-breadcrumb a:hover {
    color: var(--lc-copper) !important;
}

.lc-catalog-title-row {
    display: flex !important;
    gap: 14px !important;
    align-items: baseline !important;
}

.lc-catalog-title-row h1 {
    margin: 0 !important;
    color: var(--lc-primary) !important;
    font-family: /* "Lilita One", */ "Libre Caslon Text", Georgia, serif !important;
    font-size: clamp(40px, 4.5vw, 56px) !important;
    font-weight: 400 !important;
    line-height: 1.05 !important;
}

.lc-catalog-title-row span {
    color: rgba(28, 28, 44, 0.55) !important;
    font-size: 14px !important;
}

.lc-catalog-description {
    max-width: 760px !important;
    margin-top: 16px !important;
    color: rgba(28, 28, 44, 0.68) !important;
    font-size: 15px !important;
    line-height: 1.65 !important;
}

.lc-catalog-layout {
    display: grid !important;
    grid-template-columns: minmax(190px, 220px) minmax(0, 1fr) !important;
    gap: 24px !important;
    align-items: start !important;
}

.lc-catalog-sidebar,
.lc-catalog-toolbar,
.lc-catalog .lc-live-product-card-inner {
    border: 1px solid rgba(255, 255, 255, 0.56) !important;
    background: rgba(255, 255, 255, 0.44) !important;
    box-shadow: 0 18px 42px rgba(28, 28, 44, 0.07) !important;
    backdrop-filter: blur(34px) !important;
    -webkit-backdrop-filter: blur(34px) !important;
}

.lc-catalog-sidebar {
    position: sticky !important;
    top: 118px !important;
    max-height: calc(100vh - 140px) !important;
    overflow: auto !important;
    border-radius: 32px !important;
    padding: 22px 20px !important;
}

.lc-catalog-sidebar h2 {
    margin: 0 0 18px !important;
    border-bottom: 1px solid rgba(28, 28, 44, 0.08) !important;
    padding-bottom: 16px !important;
    color: var(--lc-primary) !important;
    font-family: /* "Lilita One", */ "Libre Caslon Text", Georgia, serif !important;
    font-size: 24px !important;
    font-weight: 400 !important;
}

.lc-catalog-sidebar a {
    display: flex !important;
    min-height: 34px !important;
    align-items: center !important;
    border-radius: 12px !important;
    padding: 7px 8px !important;
    color: rgba(28, 28, 44, 0.68) !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.28 !important;
    transition: color 180ms ease, background 180ms ease, transform 180ms ease !important;
}

.lc-catalog-sidebar a:hover,
.lc-catalog-sidebar a.is-active {
    color: #4a4af4 !important;
    background: rgba(74, 74, 244, 0.07) !important;
}

.lc-catalog-main {
    display: grid !important;
    gap: 22px !important;
    min-width: 0 !important;
}

.lc-catalog-toolbar {
    display: grid !important;
    grid-template-columns: auto minmax(200px, 1fr) auto auto !important;
    gap: 18px !important;
    align-items: center !important;
    border-radius: 32px !important;
    padding: 14px 18px !important;
}

.lc-catalog-view {
    display: flex !important;
    gap: 12px !important;
    align-items: center !important;
    border-right: 1px solid rgba(28, 28, 44, 0.09) !important;
    padding-right: 20px !important;
}

.lc-catalog-view span {
    position: relative !important;
    display: inline-flex !important;
    width: 30px !important;
    height: 30px !important;
    border-radius: 8px !important;
    background: rgba(255, 255, 255, 0.52) !important;
}

.lc-catalog-view span::before,
.lc-catalog-view span::after {
    content: "" !important;
    position: absolute !important;
    background: rgba(28, 28, 44, 0.64) !important;
}

.lc-catalog-view span:nth-child(1)::before {
    top: 9px !important;
    left: 8px !important;
    width: 14px !important;
    height: 2px !important;
    box-shadow: 0 5px 0 rgba(28, 28, 44, 0.64), 0 10px 0 rgba(28, 28, 44, 0.64) !important;
}

.lc-catalog-view span:nth-child(2)::before,
.lc-catalog-view span:nth-child(3)::before {
    inset: 8px !important;
    background: transparent !important;
    border: 2px solid rgba(28, 28, 44, 0.64) !important;
    box-shadow: 7px 0 0 -2px rgba(28, 28, 44, 0.64), 0 7px 0 -2px rgba(28, 28, 44, 0.64), 7px 7px 0 -2px rgba(28, 28, 44, 0.64) !important;
}

.lc-catalog-sale-filter {
    display: flex !important;
    gap: 12px !important;
    align-items: center !important;
    border-right: 1px solid rgba(28, 28, 44, 0.09) !important;
    padding-right: 22px !important;
    color: rgba(28, 28, 44, 0.62) !important;
    font-size: 13px !important;
    line-height: 1.3 !important;
}

.lc-catalog-sale-filter input {
    width: 18px !important;
    height: 18px !important;
    border: 1px solid rgba(28, 28, 44, 0.14) !important;
    border-radius: 6px !important;
    background: rgba(255, 255, 255, 0.62) !important;
}

.lc-catalog-sort.theme-collection-sort {
    width: auto !important;
    min-width: 228px !important;
    margin: 0 !important;
    border: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

.lc-catalog-sort .theme-custom-sort {
    min-width: 216px !important;
    min-height: 44px !important;
    justify-content: space-between !important;
    padding: 0 14px !important;
    border-radius: 14px !important;
    background: rgba(255, 255, 255, 0.58) !important;
    font-size: 13px !important;
}

.lc-catalog-show {
    display: inline-flex !important;
    min-height: 44px !important;
    align-items: center !important;
    gap: 10px !important;
    border-radius: 14px !important;
    padding: 0 14px !important;
    color: rgba(28, 28, 44, 0.62) !important;
    background: rgba(255, 255, 255, 0.58) !important;
    font-size: 13px !important;
}

.lc-catalog-show strong {
    color: var(--lc-primary) !important;
    font-size: 14px !important;
}

.lc-catalog-grid.theme-product-ratio,
[data-sort-by-products-target].lc-catalog-grid.theme-product-ratio {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(210px, 1fr)) !important;
    gap: 28px !important;
    margin: 0 !important;
}

.lc-catalog-grid.theme-product-ratio > .theme-prod-box {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.lc-catalog .lc-live-product-card,
.lc-catalog .theme-product-list-style-01.lc-live-product-card {
    overflow: visible !important;
    background: transparent !important;
    box-shadow: none !important;
}

.lc-catalog .lc-live-product-card::before,
.lc-catalog .lc-live-product-card::after,
.lc-catalog .lc-live-product-card-inner::before,
.lc-catalog .lc-live-product-card-inner::after {
    display: none !important;
}

.lc-catalog .lc-live-product-card-inner {
    display: flex !important;
    min-height: 100% !important;
    overflow: hidden !important;
    border-radius: 28px !important;
    padding: 0 !important;
    transition: transform 220ms ease, box-shadow 220ms ease !important;
}

.lc-catalog .lc-live-product-card:hover .lc-live-product-card-inner {
    transform: translateY(-3px) !important;
    box-shadow: 0 22px 46px rgba(28, 28, 44, 0.1) !important;
}

.lc-catalog .lc-live-product-media.theme-product-image-area {
    height: 220px !important;
    min-height: 220px !important;
    margin: 12px 12px 0 !important;
    border-radius: 24px !important;
    background:
        linear-gradient(145deg, rgba(241, 237, 232, 0.92), rgba(255, 255, 255, 0.66)) !important;
}

.lc-catalog .lc-live-product-media picture,
.lc-catalog .lc-live-product-media a:not(.lc-live-product-media-link),
.lc-catalog .lc-live-product-media img {
    border-radius: 20px !important;
}

.lc-catalog .lc-live-product-media img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.lc-catalog .lc-live-product-copy {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    padding: 18px 20px 20px !important;
}

.lc-catalog .lc-live-product-kicker {
    width: fit-content !important;
    margin-bottom: 12px !important;
    border: 1px solid rgba(118, 185, 0, 0.22) !important;
    border-radius: 999px !important;
    padding: 6px 10px !important;
    color: var(--lc-copper) !important;
    background: rgba(255, 255, 255, 0.38) !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    letter-spacing: 0.12em !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
}

.lc-catalog .lc-live-product-card .theme-product-name a {
    color: var(--lc-primary) !important;
    font-family: "Hanken Grotesk", Poppins, Arial, sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.28 !important;
}

.lc-catalog .lc-live-product-card .theme-product-price,
.lc-catalog .lc-live-product-card .theme-product-total-price-lable,
.lc-catalog .theme-product-list-style-01 .theme-product-price,
.lc-catalog .theme-min-rate {
    margin-top: 16px !important;
    color: var(--lc-primary) !important;
    font-family: /* "Lilita One", */ "Libre Caslon Text", Georgia, serif !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
}

.lc-catalog .theme-product-old-price,
.lc-catalog .theme-product-total-old-price,
.lc-catalog .theme-max-rate,
.lc-catalog .theme-prod-old-price {
    color: rgba(28, 28, 44, 0.42) !important;
    font-size: 13px !important;
}

.lc-catalog .lc-live-product-actions {
    display: grid !important;
    grid-template-columns: minmax(108px, auto) minmax(112px, 1fr) !important;
    gap: 10px !important;
    align-items: center !important;
    margin-top: auto !important;
    padding-top: 18px !important;
}

.lc-catalog .lc-live-product-details,
.lc-catalog .lc-live-product-add a,
.lc-catalog .lc-live-product-add button {
    display: inline-flex !important;
    min-height: 46px !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 16px !important;
    padding: 0 14px !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: 0.08em !important;
    line-height: 1.1 !important;
    text-align: center !important;
    text-transform: uppercase !important;
}

.lc-catalog .lc-live-product-details {
    border: 1px solid var(--lc-primary) !important;
    color: var(--lc-primary) !important;
    background: transparent !important;
}

.lc-catalog .lc-live-product-add a,
.lc-catalog .lc-live-product-add button {
    border: 1px solid var(--lc-primary) !important;
    color: #fff !important;
    background: var(--lc-primary) !important;
}

/* Zoho's lazy-load swaps store-product-list.face's output in at this
   container's spot inside the grid, so it must be a direct grid child
   (no wrapper div) for appended cards to become grid cells. */
.lc-catalog-grid .theme-lazy-loading-container {
    display: flex !important;
    grid-column: 1 / -1 !important;
    justify-content: center !important;
    margin-top: 8px !important;
}

@media (max-width: 1180px) {
    .lc-catalog-layout {
        grid-template-columns: 1fr !important;
    }

    .lc-catalog-sidebar {
        position: static !important;
        max-height: none !important;
    }

    .lc-catalog-sidebar h2 {
        margin-bottom: 14px !important;
    }

    .lc-catalog-sidebar a {
        flex: 0 0 auto !important;
        margin-left: 0 !important;
        border: 0 !important;
        border-radius: 999px !important;
        padding: 9px 12px !important;
    }
}

@media (max-width: 980px) {
    .lc-catalog-toolbar {
        grid-template-columns: 1fr !important;
    }

    .lc-catalog-view,
    .lc-catalog-sale-filter {
        border-right: 0 !important;
        padding-right: 0 !important;
    }

    .lc-catalog-grid.theme-product-ratio,
    [data-sort-by-products-target].lc-catalog-grid.theme-product-ratio {
        grid-template-columns: repeat(2, minmax(190px, 1fr)) !important;
    }
}

@media (max-width: 640px) {
    .lc-catalog {
        padding-top: 40px !important;
    }

    .lc-catalog-container {
        width: min(100% - 28px, 1440px) !important;
    }

    .lc-catalog-title-row h1 {
        font-size: 36px !important;
    }

    .lc-catalog-grid.theme-product-ratio,
    [data-sort-by-products-target].lc-catalog-grid.theme-product-ratio {
        grid-template-columns: 1fr !important;
    }

    .lc-catalog .lc-live-product-actions {
        grid-template-columns: 1fr !important;
    }
}
/* LaserCart product detail final pass */
.lc-product-page,
.lc-product-detail {
    background:
        radial-gradient(circle at 4% 2%, rgba(226, 224, 247, 0.26), transparent 34%),
        radial-gradient(circle at 104% 72%, rgba(253, 206, 170, 0.22), transparent 36%),
        var(--lc-bg) !important;
}

.lc-product-detail {
    padding: 132px 0 72px !important;
}

.lc-product-detail-container,
.lc-product-content-container {
    width: min(1440px, calc(100% - 40px)) !important;
}

.lc-product-breadcrumb {
    margin-bottom: 18px !important;
    color: rgba(28, 28, 44, 0.58) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
}

.lc-product-detail-grid {
    grid-template-columns: minmax(0, 7fr) minmax(380px, 5fr) !important;
    gap: clamp(24px, 4vw, 42px) !important;
}

.theme-spec {
    gap: 18px !important;
    padding: 12px 0 !important;
}

.theme-prod-specification-field {
    color: rgba(28, 28, 44, 0.58) !important;
    font-size: 14px !important;
}

.theme-prod-specification-value {
    color: var(--lc-primary) !important;
    font-size: 14px !important;
    font-weight: 800 !important;
}

.lc-product-content,
.lc-product-related {
    background: var(--lc-bg) !important;
}

@media (max-width: 1080px) {
    .lc-product-detail-grid {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 640px) {
    .lc-product-detail {
        padding-top: 96px !important;
    }

    .lc-product-detail-container,
    .lc-product-content-container {
        width: min(100% - 28px, 1440px) !important;
    }
}

/* LaserCart homepage polish pass */
.lc-mega-menu {
    background: rgba(246, 242, 235, 0.98) !important;
    backdrop-filter: blur(22px) !important;
    -webkit-backdrop-filter: blur(22px) !important;
}

/* LaserCart homepage final polish */
.lc-storefront,
.lc-home,
.theme-content-area {
    background: var(--lc-bg) !important;
}

.lc-home-section {
    background: var(--lc-bg) !important;
}

/* LaserCart visual consistency correction */

.lc-catalog .lc-live-product-card .theme-product-price,
.lc-catalog .lc-live-product-card .theme-product-total-price-lable {
    font-family: /* "Lilita One", */ "Libre Caslon Text", Georgia, serif !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    color: var(--lc-copper) !important;
}

/* Header, hero, and price polish */
.lc-home-hero {
    min-height: calc(100vh - 76px) !important;
    align-items: flex-start !important;
}

@keyframes lcCueFloat {
    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(5px);
    }
}

.lc-nav-dropdown::before {
    content: "" !important;
    position: absolute !important;
    top: 100% !important;
    right: -32px !important;
    left: -32px !important;
    height: 28px !important;
}

.lc-mega-menu {
    top: calc(100% + 8px) !important;
}

.lc-catalog .lc-live-product-card .theme-product-price,
.lc-catalog .lc-live-product-card .theme-product-total-price-lable,
.lc-catalog .theme-product-list-style-01 .theme-product-price,
.theme-product-price,
.theme-product-total-price-lable,
.theme-prod-price,
.theme-product-detail-price-area .theme-product-price {
    font-family: "Hanken Grotesk", Poppins, Arial, sans-serif !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
    color: var(--lc-copper) !important;
}

.lc-catalog .lc-live-product-card .theme-product-price,
.lc-catalog .lc-live-product-card .theme-product-total-price-lable {
    font-size: 20px !important;
    line-height: 1.1 !important;
}

.theme-product-detail-price-area .theme-product-price {
    font-size: clamp(32px, 3vw, 42px) !important;
    color: var(--lc-primary) !important;
}

@media (max-width: 760px) {
    .lc-home-hero {
        min-height: calc(100svh - 68px) !important;
    }
}

@media not all {
/* Disabled previous LaserCart cart page pass.
   The theme export does not include a cart .face file, so /cart is skinned
   through Zoho's native cart classes while keeping cart/update/checkout logic. */
body:has(.theme-cart-area-container) {
    overflow-x: hidden !important;
    background: var(--lc-bg) !important;
    color: var(--lc-primary) !important;
    font-family: "Hanken Grotesk", Poppins, Arial, sans-serif !important;
}

body:has(.theme-cart-area-container) .theme-header-topbar {
    display: none !important;
}

body:has(.theme-cart-area-container) .theme-header,
body:has(.theme-cart-area-container) .zpheader-style-navigation-07,
body:has(.theme-cart-area-container) [data-megamenu-content-container] {
    min-height: 0 !important;
    background: rgba(255, 255, 255, 0.9) !important;
    border-block-end: 1px solid rgba(28, 28, 44, 0.08) !important;
    box-shadow: 0 12px 34px rgba(28, 28, 44, 0.07) !important;
    backdrop-filter: blur(18px) !important;
    -webkit-backdrop-filter: blur(18px) !important;
}

body:has(.theme-cart-area-container) .theme-header .zpcontainer,
body:has(.theme-cart-area-container) .theme-navigation-and-icons,
body:has(.theme-cart-area-container) .theme-search-cart-non-res {
    min-height: 68px !important;
    padding-block: 8px !important;
    align-items: center !important;
}

body:has(.theme-cart-area-container) [data-zs-branding],
body:has(.theme-cart-area-container) .theme-site-name,
body:has(.theme-cart-area-container) [data-zs-sitename] {
    color: var(--lc-primary) !important;
    font-family: /* "Lilita One", */ "Libre Caslon Text", Georgia, serif !important;
    font-size: 30px !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
}

body:has(.theme-cart-area-container) [data-zs-branding] img,
body:has(.theme-cart-area-container) .theme-logo-parent img {
    max-height: 42px !important;
    width: auto !important;
}

body:has(.theme-cart-area-container) .theme-content-area,
body:has(.theme-cart-area-container) .theme-content-container,
body:has(.theme-cart-area-container) .theme-content-area-inner,
body:has(.theme-cart-area-container) .zpcontainer {
    width: 100% !important;
    max-width: none !important;
}

body:has(.theme-cart-area-container) .theme-content-area,
body:has(.theme-cart-area-container) .theme-content-container,
body:has(.theme-cart-area-container) .theme-content-area-inner {
    margin: 0 !important;
    padding: 0 !important;
    background:
        radial-gradient(circle at 80% 10%, rgba(118, 185, 0, 0.13), transparent 30%),
        radial-gradient(circle at 12% 16%, rgba(118, 239, 228, 0.08), transparent 24%),
        var(--lc-bg) !important;
}

body:has(.theme-cart-area-container) .theme-cart-area-container {
    width: min(1480px, calc(100% - 48px)) !important;
    max-width: none !important;
    min-height: calc(100vh - 160px) !important;
    margin: 0 auto !important;
    padding: clamp(54px, 5vw, 78px) 0 clamp(76px, 7vw, 112px) !important;
    box-sizing: border-box !important;
}

body:has(.theme-cart-area-container) .theme-cart-area-container::before {
    content: "Cart Inventory" !important;
    display: block !important;
    margin: 0 0 10px !important;
    color: var(--lc-primary) !important;
    font-family: /* "Lilita One", */ "Libre Caslon Text", Georgia, serif !important;
    font-size: clamp(44px, 5vw, 72px) !important;
    font-weight: 400 !important;
    line-height: 1.05 !important;
    letter-spacing: 0 !important;
}

body:has(.theme-cart-area-container) .theme-cart-area-container::after {
    display: none !important;
    content: none !important;
}

body:has(.theme-cart-area-container) .theme-cart-body {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(330px, 360px) !important;
    align-items: start !important;
    gap: clamp(28px, 3vw, 44px) !important;
}

body:has(.theme-cart-area-container) .theme-cart-body:not(.theme-cart-empty)::before {
    content: "Refining your industrial selection." !important;
    grid-column: 1 / -1 !important;
    display: block !important;
    margin: 0 0 10px !important;
    color: rgba(28, 28, 44, 0.62) !important;
    font-size: 15px !important;
    line-height: 1.55 !important;
}

body:has(.theme-cart-area-container) .theme-cart-body.theme-cart-empty {
    display: block !important;
}

body:has(.theme-cart-area-container) .theme-cart-details-container,
body:has(.theme-cart-area-container) .theme-cart-summary-container {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

body:has(.theme-cart-area-container) .theme-shopping-cart-table-container,
body:has(.theme-cart-area-container) .theme-cart-summary-inner-container,
body:has(.theme-cart-area-container) .theme-cart-body.theme-cart-empty .theme-cart-summary-container {
    border: 1px solid rgba(255, 255, 255, 0.76) !important;
    border-radius: 30px !important;
    background: rgba(255, 255, 255, 0.66) !important;
    box-shadow: 0 24px 72px rgba(28, 28, 44, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.88) !important;
    backdrop-filter: blur(18px) !important;
    -webkit-backdrop-filter: blur(18px) !important;
}

body:has(.theme-cart-area-container) .theme-shopping-cart-table-container {
    width: 100% !important;
    min-height: 360px !important;
    display: block !important;
    overflow: hidden !important;
    padding: clamp(26px, 3vw, 38px) !important;
    box-sizing: border-box !important;
}

body:has(.theme-cart-area-container) .theme-shopping-cart-table-container::before {
    content: "System.Cart_Inventory // Status: Active" !important;
    display: block !important;
    margin: 0 0 24px auto !important;
    color: rgba(118, 185, 0, 0.58) !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: 0.18em !important;
    line-height: 1.2 !important;
    text-align: right !important;
    text-transform: uppercase !important;
}

body:has(.theme-cart-area-container) .theme-shopping-cart-table-container .theme-cart-table-row,
body:has(.theme-cart-area-container) .theme-shopping-cart-table-container .theme-cart-table-row.theme-cart-head {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: minmax(360px, 1fr) 136px 130px 112px !important;
    align-items: center !important;
    gap: clamp(16px, 2vw, 24px) !important;
    margin: 0 !important;
    padding: 24px 0 !important;
    border-block-end: 1px solid rgba(28, 28, 44, 0.08) !important;
}

body:has(.theme-cart-area-container) .theme-shopping-cart-table-container .theme-cart-table-row.theme-cart-head {
    padding-block: 0 18px !important;
}

body:has(.theme-cart-area-container) .theme-shopping-cart-table-container .theme-cart-table-row::after {
    display: none !important;
    content: none !important;
}

body:has(.theme-cart-area-container) .theme-shopping-cart-table-container .theme-cart-table-row .theme-cart-table-data {
    flex: none !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

body:has(.theme-cart-area-container) .theme-shopping-cart-table-container .theme-cart-table-row.theme-cart-head .theme-cart-table-data {
    color: rgba(28, 28, 44, 0.45) !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: 0.18em !important;
    line-height: 1.3 !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
}

body:has(.theme-cart-area-container) .theme-shopping-cart-table-container .theme-cart-table-row .theme-cart-table-data.theme-cart-items {
    display: grid !important;
    grid-template-columns: 112px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 20px !important;
    min-inline-size: 0 !important;
}

body:has(.theme-cart-area-container) .theme-cart-item-img {
    width: 112px !important;
    height: 112px !important;
    overflow: hidden !important;
    border-radius: 22px !important;
    background: rgba(255, 255, 255, 0.72) !important;
}

body:has(.theme-cart-area-container) .theme-cart-item-img a,
body:has(.theme-cart-area-container) .theme-cart-item-img picture {
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

body:has(.theme-cart-area-container) .theme-cart-item-img img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border-radius: inherit !important;
}

body:has(.theme-cart-area-container) .theme-cart-item-info {
    min-width: 0 !important;
    padding: 0 !important;
}

body:has(.theme-cart-area-container) .theme-cart-item-info,
body:has(.theme-cart-area-container) .theme-cart-item-info a,
body:has(.theme-cart-area-container) .theme-cart-item-info li {
    color: var(--lc-primary) !important;
    font-family: "Hanken Grotesk", Poppins, Arial, sans-serif !important;
}

body:has(.theme-cart-area-container) .theme-cart-item-info a,
body:has(.theme-cart-area-container) .theme-cart-item-info h4,
body:has(.theme-cart-area-container) .theme-cart-item-info li:first-child {
    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;
    text-decoration: none !important;
}

body:has(.theme-cart-area-container) .theme-cart-item-info ul {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 5px 10px !important;
    margin: 6px 0 0 !important;
    padding: 0 !important;
}

body:has(.theme-cart-area-container) .theme-cart-item-info li {
    display: inline-flex !important;
    width: auto !important;
    padding: 0 !important;
    color: rgba(28, 28, 44, 0.68) !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
}

body:has(.theme-cart-area-container) .theme-cart-table-data.theme-cart-qty {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: visible !important;
}

body:has(.theme-cart-area-container) .theme-cart-table-data.theme-cart-qty .theme-quantity-field-button,
body:has(.theme-cart-area-container) .theme-cart-table-data.theme-cart-qty .theme-product-list-quantity {
    width: 124px !important;
    height: 42px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    border: 1px solid rgba(28, 28, 44, 0.14) !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.56) !important;
    box-shadow: none !important;
}

body:has(.theme-cart-area-container) .theme-cart-table-data.theme-cart-qty button,
body:has(.theme-cart-area-container) .theme-cart-table-data.theme-cart-qty .theme-product-list-quantity-decrease,
body:has(.theme-cart-area-container) .theme-cart-table-data.theme-cart-qty .theme-product-list-quantity-increase {
    width: 36px !important;
    min-width: 36px !important;
    height: 40px !important;
    min-height: 40px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 0 !important;
    border-radius: 0 !important;
    padding: 0 !important;
    color: var(--lc-primary) !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
}

body:has(.theme-cart-area-container) .theme-cart-table-data.theme-cart-qty input[type="text"],
body:has(.theme-cart-area-container) .theme-cart-table-data.theme-cart-qty .theme-product-list-quantity-field {
    width: 48px !important;
    height: 40px !important;
    border: 0 !important;
    border-radius: 0 !important;
    padding: 0 !important;
    color: var(--lc-primary) !important;
    background: transparent !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    text-align: center !important;
}

body:has(.theme-cart-area-container) .theme-cart-table-data.theme-cart-qty svg {
    width: 15px !important;
    height: 15px !important;
    fill: currentColor !important;
    stroke: currentColor !important;
}

body:has(.theme-cart-area-container) .theme-cart-table-data.theme-cart-price-label {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    white-space: nowrap !important;
}

body:has(.theme-cart-area-container) .theme-cart-selling-price,
body:has(.theme-cart-area-container) .theme-cart-price-label,
body:has(.theme-cart-area-container) .theme-cart-summary-details p span,
body:has(.theme-cart-area-container) .theme-cart-details-summary-list-item span:last-child {
    color: var(--lc-copper) !important;
    font-family: "Hanken Grotesk", Poppins, Arial, sans-serif !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
}

body:has(.theme-cart-area-container) .theme-cart-label-price {
    color: rgba(28, 28, 44, 0.42) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
}

body:has(.theme-cart-area-container) .theme-cart-table-data.theme-cart-control,
body:has(.theme-cart-area-container) .theme-cart-item-remove {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    overflow: visible !important;
}

body:has(.theme-cart-area-container) .theme-cart-item-remove .theme-cart-remove-button,
body:has(.theme-cart-area-container) .theme-cart-item-remove .theme-cart-remove-icon-button {
    width: 96px !important;
    min-width: 96px !important;
    height: 42px !important;
    min-height: 42px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid var(--lc-primary) !important;
    border-radius: 999px !important;
    padding: 0 16px !important;
    color: #fff !important;
    background: var(--lc-primary) !important;
    box-shadow: 0 14px 30px rgba(28, 28, 44, 0.12) !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: 0.12em !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
}

body:has(.theme-cart-area-container) .theme-cart-summary-inner-container {
    position: sticky !important;
    top: 92px !important;
    display: block !important;
    min-height: 0 !important;
    padding: 30px !important;
    box-sizing: border-box !important;
}

body:has(.theme-cart-area-container) .theme-cart-summary-inner-container::before {
    content: "Summary" !important;
    display: block !important;
    margin: 0 0 22px !important;
    color: var(--lc-primary) !important;
    font-family: /* "Lilita One", */ "Libre Caslon Text", Georgia, serif !important;
    font-size: 34px !important;
    font-weight: 400 !important;
    line-height: 1.15 !important;
}

body:has(.theme-cart-area-container) .theme-cart-summary-details {
    display: grid !important;
    gap: 13px !important;
    margin: 0 0 22px !important;
}

body:has(.theme-cart-area-container) .theme-cart-details-summary-list-item,
body:has(.theme-cart-area-container) .theme-cart-summary-details p {
    display: flex !important;
    justify-content: space-between !important;
    gap: 18px !important;
    margin: 0 !important;
    color: rgba(28, 28, 44, 0.68) !important;
    font-size: 13px !important;
    line-height: 1.55 !important;
}

body:has(.theme-cart-area-container) .theme-cart-summary-details::after {
    content: "Secure checkout, native Zoho cart, payment and order flow retained." !important;
    display: block !important;
    margin-top: 10px !important;
    border-top: 1px solid rgba(28, 28, 44, 0.08) !important;
    padding-top: 17px !important;
    color: rgba(28, 28, 44, 0.48) !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: 0.1em !important;
    line-height: 1.45 !important;
    text-transform: uppercase !important;
}

body:has(.theme-cart-area-container) .theme-checkout-button-area {
    display: grid !important;
    gap: 12px !important;
    padding: 0 !important;
    margin: 0 !important;
}

body:has(.theme-cart-area-container) .theme-checkout-button-area .theme-cart-table-data {
    width: 100% !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
}

body:has(.theme-cart-area-container) .theme-checkout-button-area .theme-checkout-button,
body:has(.theme-cart-area-container) .theme-checkout-button-area .theme-continue-shopping-button,
body:has(.theme-cart-area-container) .theme-checkout-button-area .theme-continue-link,
body:has(.theme-cart-area-container) .theme-checkout-button-area button {
    width: 100% !important;
    min-height: 48px !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid var(--lc-primary) !important;
    border-radius: 999px !important;
    padding: 13px 24px !important;
    color: #fff !important;
    background: var(--lc-primary) !important;
    box-shadow: 0 14px 30px rgba(28, 28, 44, 0.12) !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: 0.12em !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
}

body:has(.theme-cart-area-container) .theme-checkout-button-area .theme-continue-shopping-button,
body:has(.theme-cart-area-container) .theme-checkout-button-area .theme-continue-link {
    color: var(--lc-primary) !important;
    background: rgba(255, 255, 255, 0.38) !important;
}

body:has(.theme-cart-area-container) .theme-cart-summary-container::after {
    content: "OEM Certified  ·  Global Logistics" !important;
    display: block !important;
    margin-top: 14px !important;
    border: 1px solid rgba(255, 255, 255, 0.76) !important;
    border-radius: 22px !important;
    padding: 16px 20px !important;
    color: rgba(28, 28, 44, 0.66) !important;
    background: rgba(255, 255, 255, 0.58) !important;
    box-shadow: 0 18px 44px rgba(28, 28, 44, 0.06) !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: 0.12em !important;
    line-height: 1.3 !important;
    text-align: center !important;
    text-transform: uppercase !important;
}

body:has(.theme-cart-area-container) .theme-cart-body.theme-cart-empty .theme-cart-summary-container {
    max-width: 620px !important;
    min-height: 430px !important;
    margin: 0 auto !important;
    display: grid !important;
    place-items: center !important;
    padding: clamp(34px, 5vw, 64px) !important;
}

body:has(.theme-cart-area-container) .theme-cart-error-empty-message {
    max-width: 420px !important;
    margin: 0 auto !important;
    gap: 18px !important;
    text-align: center !important;
}

body:has(.theme-cart-area-container) .theme-cart-error-empty-message svg,
body:has(.theme-cart-area-container) .theme-cart-error-empty-message img {
    width: min(220px, 64vw) !important;
    max-height: 190px !important;
    margin: 0 auto 8px !important;
    padding: 0 !important;
    filter: saturate(0.72) sepia(0.08) !important;
    opacity: 0.86 !important;
}

@media (max-width: 1180px) {
    body:has(.theme-cart-area-container) .theme-cart-area-container {
        width: min(100% - 36px, 980px) !important;
    }

    body:has(.theme-cart-area-container) .theme-cart-body {
        grid-template-columns: 1fr !important;
    }

    body:has(.theme-cart-area-container) .theme-cart-summary-inner-container {
        position: static !important;
    }
}

@media (max-width: 820px) {
    body:has(.theme-cart-area-container) .theme-cart-area-container {
        width: min(100% - 28px, 680px) !important;
        padding-block: 42px 86px !important;
    }

    body:has(.theme-cart-area-container) .theme-cart-area-container::before {
        font-size: 42px !important;
    }

    body:has(.theme-cart-area-container) .theme-shopping-cart-table-container {
        padding: 22px !important;
    }

    body:has(.theme-cart-area-container) .theme-shopping-cart-table-container .theme-cart-table-row.theme-cart-head {
        display: none !important;
    }

    body:has(.theme-cart-area-container) .theme-shopping-cart-table-container .theme-cart-table-row {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }

    body:has(.theme-cart-area-container) .theme-shopping-cart-table-container .theme-cart-table-row .theme-cart-table-data.theme-cart-items {
        grid-template-columns: 96px minmax(0, 1fr) !important;
    }

    body:has(.theme-cart-area-container) .theme-cart-item-img {
        width: 96px !important;
        height: 96px !important;
    }

    body:has(.theme-cart-area-container) .theme-cart-table-data.theme-cart-qty,
    body:has(.theme-cart-area-container) .theme-cart-table-data.theme-cart-price-label,
    body:has(.theme-cart-area-container) .theme-cart-table-data.theme-cart-control {
        justify-content: flex-start !important;
        text-align: left !important;
    }
}
}

/* Cart page hard reset: empty and filled states */
body:has(.theme-cart-area-container) .theme-content-area,
body:has(.theme-cart-area-container) .theme-content-container,
body:has(.theme-cart-area-container) .theme-content-area-inner {
    min-height: calc(100vh - 88px) !important;
    background:
        radial-gradient(circle at 78% 14%, rgba(118, 185, 0, 0.12), transparent 30%),
        radial-gradient(circle at 14% 22%, rgba(118, 239, 228, 0.07), transparent 26%),
        var(--lc-bg) !important;
}

body:has(.theme-cart-area-container) .theme-cart-area-container {
    width: min(1440px, calc(100% - 48px)) !important;
    margin: 0 auto !important;
    padding: 56px 0 96px !important;
    min-height: 0 !important;
    display: block !important;
}

body:has(.theme-cart-area-container) .theme-cart-area-container::before {
    content: "Cart Inventory" !important;
    display: block !important;
    margin: 0 0 12px !important;
    font-family: /* "Lilita One", */ "Libre Caslon Text", Georgia, serif !important;
    font-size: clamp(42px, 4.4vw, 68px) !important;
    line-height: 1.05 !important;
    color: var(--lc-primary) !important;
}

body:has(.theme-cart-area-container) .theme-cart-area-container::after {
    content: none !important;
    display: none !important;
}

body:has(.theme-cart-area-container) .theme-cart-body {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

body:has(.theme-cart-area-container) .theme-cart-body:not(.theme-cart-empty) {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 360px) !important;
    gap: 36px !important;
    align-items: start !important;
}

body:has(.theme-cart-area-container) .theme-cart-body:not(.theme-cart-empty)::before {
    content: "Refining your industrial selection." !important;
    grid-column: 1 / -1 !important;
    display: block !important;
    margin: 0 0 4px !important;
    color: rgba(28, 28, 44, 0.62) !important;
    font-family: "Hanken Grotesk", Poppins, Arial, sans-serif !important;
    font-size: 15px !important;
}

body:has(.theme-cart-area-container) .theme-cart-body.theme-cart-empty {
    display: flex !important;
    justify-content: center !important;
    align-items: flex-start !important;
    min-height: 560px !important;
    padding-top: 34px !important;
}

body:has(.theme-cart-area-container) .theme-cart-body.theme-cart-empty .theme-cart-details-container,
body:has(.theme-cart-area-container) .theme-cart-body.theme-cart-empty .theme-shopping-cart-table-container,
body:has(.theme-cart-area-container) .theme-cart-body.theme-cart-empty .theme-cart-summary-details,
body:has(.theme-cart-area-container) .theme-cart-body.theme-cart-empty .theme-cart-summary-inner-container::before,
body:has(.theme-cart-area-container) .theme-cart-body.theme-cart-empty .theme-cart-summary-container::after {
    display: none !important;
}

body:has(.theme-cart-area-container) .theme-cart-body.theme-cart-empty .theme-cart-summary-container {
    width: min(520px, 100%) !important;
    max-width: 520px !important;
    min-height: 0 !important;
    margin: 0 auto !important;
    padding: 0 !important;
    border: 0 !important;
    display: block !important;
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

body:has(.theme-cart-area-container) .theme-cart-body.theme-cart-empty .theme-cart-summary-inner-container {
    width: 100% !important;
    min-height: 430px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 18px !important;
    padding: 42px !important;
    border: 1px solid rgba(255, 255, 255, 0.78) !important;
    border-radius: 32px !important;
    background: rgba(255, 255, 255, 0.66) !important;
    box-shadow: 0 28px 78px rgba(28, 28, 44, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.88) !important;
    backdrop-filter: blur(18px) !important;
    -webkit-backdrop-filter: blur(18px) !important;
    box-sizing: border-box !important;
}

body:has(.theme-cart-area-container) .theme-cart-error-empty-message {
    width: 100% !important;
    max-width: 360px !important;
    margin: 0 auto !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 16px !important;
    color: var(--lc-primary) !important;
    text-align: center !important;
}

body:has(.theme-cart-area-container) .theme-cart-error-empty-message svg,
body:has(.theme-cart-area-container) .theme-cart-error-empty-message img {
    width: 170px !important;
    height: auto !important;
    max-height: 150px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    opacity: 0.82 !important;
}

body:has(.theme-cart-area-container) .theme-cart-error-empty-message p,
body:has(.theme-cart-area-container) .theme-cart-error-empty-message span {
    margin: 0 !important;
    color: rgba(28, 28, 44, 0.72) !important;
    font-family: "Hanken Grotesk", Poppins, Arial, sans-serif !important;
    font-size: 15px !important;
    line-height: 1.55 !important;
}

body:has(.theme-cart-area-container) .theme-cart-body.theme-cart-empty .theme-checkout-button-area,
body:has(.theme-cart-area-container) .theme-cart-body.theme-cart-empty .theme-cart-button-container {
    width: 100% !important;
    max-width: 300px !important;
    margin: 4px auto 0 !important;
    display: grid !important;
    gap: 12px !important;
}

body:has(.theme-cart-area-container) .theme-cart-body.theme-cart-empty .theme-checkout-button,
body:has(.theme-cart-area-container) .theme-cart-body.theme-cart-empty .theme-continue-shopping-button,
body:has(.theme-cart-area-container) .theme-cart-body.theme-cart-empty .theme-continue-link,
body:has(.theme-cart-area-container) .theme-cart-body.theme-cart-empty .zpbutton {
    width: 100% !important;
    min-height: 46px !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid var(--lc-primary) !important;
    border-radius: 999px !important;
    padding: 12px 24px !important;
    background: var(--lc-primary) !important;
    color: #fff !important;
    box-shadow: 0 14px 30px rgba(28, 28, 44, 0.12) !important;
    font-family: "Hanken Grotesk", Poppins, Arial, sans-serif !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: 0.12em !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
}

body:has(.theme-cart-area-container) .theme-cart-body.theme-cart-empty .theme-continue-shopping-button,
body:has(.theme-cart-area-container) .theme-cart-body.theme-cart-empty .theme-continue-link {
    background: rgba(255, 255, 255, 0.38) !important;
    color: var(--lc-primary) !important;
}

body:has(.theme-cart-area-container) .theme-cart-body:not(.theme-cart-empty) .theme-cart-details-container,
body:has(.theme-cart-area-container) .theme-cart-body:not(.theme-cart-empty) .theme-cart-summary-container {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

body:has(.theme-cart-area-container) .theme-cart-body:not(.theme-cart-empty) .theme-shopping-cart-table-container,
body:has(.theme-cart-area-container) .theme-cart-body:not(.theme-cart-empty) .theme-cart-summary-inner-container {
    border: 1px solid rgba(255, 255, 255, 0.78) !important;
    border-radius: 30px !important;
    background: rgba(255, 255, 255, 0.66) !important;
    box-shadow: 0 24px 72px rgba(28, 28, 44, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.88) !important;
    backdrop-filter: blur(18px) !important;
    -webkit-backdrop-filter: blur(18px) !important;
}

body:has(.theme-cart-area-container) .theme-cart-body:not(.theme-cart-empty) .theme-shopping-cart-table-container {
    width: 100% !important;
    min-height: 330px !important;
    display: block !important;
    overflow: hidden !important;
    padding: 34px !important;
    box-sizing: border-box !important;
}

body:has(.theme-cart-area-container) .theme-cart-body:not(.theme-cart-empty) .theme-shopping-cart-table-container::before {
    content: "System.Cart_Inventory // Status: Active" !important;
    display: block !important;
    margin: 0 0 24px auto !important;
    color: rgba(118, 185, 0, 0.58) !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: 0.18em !important;
    line-height: 1.2 !important;
    text-align: right !important;
    text-transform: uppercase !important;
}

body:has(.theme-cart-area-container) .theme-cart-body:not(.theme-cart-empty) .theme-shopping-cart-table-container .theme-cart-table-row,
body:has(.theme-cart-area-container) .theme-cart-body:not(.theme-cart-empty) .theme-shopping-cart-table-container .theme-cart-table-row.theme-cart-head {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: minmax(340px, 1fr) 132px 126px 104px !important;
    align-items: center !important;
    gap: 18px !important;
    margin: 0 !important;
    padding: 22px 0 !important;
    border-block-end: 1px solid rgba(28, 28, 44, 0.08) !important;
}

body:has(.theme-cart-area-container) .theme-cart-body:not(.theme-cart-empty) .theme-shopping-cart-table-container .theme-cart-table-row.theme-cart-head {
    padding: 0 0 16px !important;
}

body:has(.theme-cart-area-container) .theme-cart-body:not(.theme-cart-empty) .theme-shopping-cart-table-container .theme-cart-table-row::after {
    display: none !important;
    content: none !important;
}

body:has(.theme-cart-area-container) .theme-cart-body:not(.theme-cart-empty) .theme-shopping-cart-table-container .theme-cart-table-row .theme-cart-table-data {
    flex: none !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

body:has(.theme-cart-area-container) .theme-cart-body:not(.theme-cart-empty) .theme-shopping-cart-table-container .theme-cart-table-row .theme-cart-table-data.theme-cart-items {
    display: grid !important;
    grid-template-columns: 104px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 18px !important;
}

body:has(.theme-cart-area-container) .theme-cart-body:not(.theme-cart-empty) .theme-cart-item-img {
    width: 104px !important;
    height: 104px !important;
    overflow: hidden !important;
    border-radius: 22px !important;
    background: rgba(255, 255, 255, 0.72) !important;
}

body:has(.theme-cart-area-container) .theme-cart-body:not(.theme-cart-empty) .theme-cart-item-img a,
body:has(.theme-cart-area-container) .theme-cart-body:not(.theme-cart-empty) .theme-cart-item-img picture {
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

body:has(.theme-cart-area-container) .theme-cart-body:not(.theme-cart-empty) .theme-cart-item-img img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border-radius: inherit !important;
}

body:has(.theme-cart-area-container) .theme-cart-body:not(.theme-cart-empty) .theme-cart-item-info {
    min-width: 0 !important;
    padding: 0 !important;
}

body:has(.theme-cart-area-container) .theme-cart-body:not(.theme-cart-empty) .theme-cart-item-info,
body:has(.theme-cart-area-container) .theme-cart-body:not(.theme-cart-empty) .theme-cart-item-info a,
body:has(.theme-cart-area-container) .theme-cart-body:not(.theme-cart-empty) .theme-cart-item-info li {
    color: var(--lc-primary) !important;
    font-family: "Hanken Grotesk", Poppins, Arial, sans-serif !important;
}

body:has(.theme-cart-area-container) .theme-cart-body:not(.theme-cart-empty) .theme-cart-item-info a,
body:has(.theme-cart-area-container) .theme-cart-body:not(.theme-cart-empty) .theme-cart-item-info h4,
body:has(.theme-cart-area-container) .theme-cart-body:not(.theme-cart-empty) .theme-cart-item-info li:first-child {
    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;
    text-decoration: none !important;
}

body:has(.theme-cart-area-container) .theme-cart-body:not(.theme-cart-empty) .theme-cart-table-data.theme-cart-qty,
body:has(.theme-cart-area-container) .theme-cart-body:not(.theme-cart-empty) .theme-cart-table-data.theme-cart-price-label {
    justify-content: center !important;
}

body:has(.theme-cart-area-container) .theme-cart-body:not(.theme-cart-empty) .theme-cart-table-data.theme-cart-qty {
    display: flex !important;
    align-items: center !important;
}

body:has(.theme-cart-area-container) .theme-cart-body:not(.theme-cart-empty) .theme-cart-table-data.theme-cart-qty .theme-quantity-field-button,
body:has(.theme-cart-area-container) .theme-cart-body:not(.theme-cart-empty) .theme-cart-table-data.theme-cart-qty .theme-product-list-quantity {
    width: 124px !important;
    height: 42px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    border: 1px solid rgba(28, 28, 44, 0.14) !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.56) !important;
    box-shadow: none !important;
}

body:has(.theme-cart-area-container) .theme-cart-body:not(.theme-cart-empty) .theme-cart-table-data.theme-cart-qty button,
body:has(.theme-cart-area-container) .theme-cart-body:not(.theme-cart-empty) .theme-cart-table-data.theme-cart-qty .theme-product-list-quantity-decrease,
body:has(.theme-cart-area-container) .theme-cart-body:not(.theme-cart-empty) .theme-cart-table-data.theme-cart-qty .theme-product-list-quantity-increase {
    width: 36px !important;
    min-width: 36px !important;
    height: 40px !important;
    min-height: 40px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 0 !important;
    border-radius: 0 !important;
    padding: 0 !important;
    color: var(--lc-primary) !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
}

body:has(.theme-cart-area-container) .theme-cart-body:not(.theme-cart-empty) .theme-cart-table-data.theme-cart-qty input[type="text"],
body:has(.theme-cart-area-container) .theme-cart-body:not(.theme-cart-empty) .theme-cart-table-data.theme-cart-qty .theme-product-list-quantity-field {
    width: 48px !important;
    height: 40px !important;
    border: 0 !important;
    border-radius: 0 !important;
    padding: 0 !important;
    color: var(--lc-primary) !important;
    background: transparent !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    text-align: center !important;
}

body:has(.theme-cart-area-container) .theme-cart-selling-price,
body:has(.theme-cart-area-container) .theme-cart-price-label,
body:has(.theme-cart-area-container) .theme-cart-summary-details p span,
body:has(.theme-cart-area-container) .theme-cart-details-summary-list-item span:last-child {
    color: var(--lc-copper) !important;
    font-family: "Hanken Grotesk", Poppins, Arial, sans-serif !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
}

body:has(.theme-cart-area-container) .theme-cart-label-price {
    color: rgba(28, 28, 44, 0.42) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
}

body:has(.theme-cart-area-container) .theme-cart-body:not(.theme-cart-empty) .theme-cart-table-data.theme-cart-control,
body:has(.theme-cart-area-container) .theme-cart-body:not(.theme-cart-empty) .theme-cart-item-remove {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 8px !important;
}

body:has(.theme-cart-area-container) .theme-cart-body:not(.theme-cart-empty) .theme-cart-item-remove .theme-cart-remove-button,
body:has(.theme-cart-area-container) .theme-cart-body:not(.theme-cart-empty) .theme-cart-item-remove .theme-cart-remove-icon-button {
    width: 96px !important;
    min-width: 96px !important;
    height: 42px !important;
    min-height: 42px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid var(--lc-primary) !important;
    border-radius: 999px !important;
    padding: 0 16px !important;
    color: #fff !important;
    background: var(--lc-primary) !important;
    box-shadow: 0 14px 30px rgba(28, 28, 44, 0.12) !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: 0.12em !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
}

body:has(.theme-cart-area-container) .theme-cart-body:not(.theme-cart-empty) .theme-cart-summary-inner-container {
    position: sticky !important;
    top: 92px !important;
    display: block !important;
    min-height: 0 !important;
    padding: 30px !important;
    box-sizing: border-box !important;
}

body:has(.theme-cart-area-container) .theme-cart-body:not(.theme-cart-empty) .theme-cart-summary-inner-container::before {
    content: "Summary" !important;
    display: block !important;
    margin: 0 0 22px !important;
    color: var(--lc-primary) !important;
    font-family: /* "Lilita One", */ "Libre Caslon Text", Georgia, serif !important;
    font-size: 34px !important;
    font-weight: 400 !important;
    line-height: 1.15 !important;
}

body:has(.theme-cart-area-container) .theme-cart-body:not(.theme-cart-empty) .theme-cart-summary-details {
    display: grid !important;
    gap: 13px !important;
    margin: 0 0 22px !important;
}

body:has(.theme-cart-area-container) .theme-cart-body:not(.theme-cart-empty) .theme-cart-details-summary-list-item,
body:has(.theme-cart-area-container) .theme-cart-body:not(.theme-cart-empty) .theme-cart-summary-details p {
    display: flex !important;
    justify-content: space-between !important;
    gap: 18px !important;
    margin: 0 !important;
    color: rgba(28, 28, 44, 0.68) !important;
    font-size: 13px !important;
    line-height: 1.55 !important;
}

body:has(.theme-cart-area-container) .theme-cart-body:not(.theme-cart-empty) .theme-checkout-button-area {
    display: grid !important;
    gap: 12px !important;
    padding: 0 !important;
    margin: 0 !important;
}

body:has(.theme-cart-area-container) .theme-cart-body:not(.theme-cart-empty) .theme-checkout-button-area .theme-checkout-button,
body:has(.theme-cart-area-container) .theme-cart-body:not(.theme-cart-empty) .theme-checkout-button-area .theme-continue-shopping-button,
body:has(.theme-cart-area-container) .theme-cart-body:not(.theme-cart-empty) .theme-checkout-button-area .theme-continue-link,
body:has(.theme-cart-area-container) .theme-cart-body:not(.theme-cart-empty) .theme-checkout-button-area button {
    width: 100% !important;
    min-height: 48px !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid var(--lc-primary) !important;
    border-radius: 999px !important;
    padding: 13px 24px !important;
    background: var(--lc-primary) !important;
    color: #fff !important;
    box-shadow: 0 14px 30px rgba(28, 28, 44, 0.12) !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: 0.12em !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
}

body:has(.theme-cart-area-container) .theme-cart-body:not(.theme-cart-empty) .theme-checkout-button-area .theme-continue-shopping-button,
body:has(.theme-cart-area-container) .theme-cart-body:not(.theme-cart-empty) .theme-checkout-button-area .theme-continue-link {
    background: rgba(255, 255, 255, 0.38) !important;
    color: var(--lc-primary) !important;
}

body:has(.theme-cart-area-container) .theme-cart-body:not(.theme-cart-empty) .theme-cart-summary-container::after {
    content: "OEM Certified  ·  Global Logistics" !important;
    display: block !important;
    margin-top: 14px !important;
    border: 1px solid rgba(255, 255, 255, 0.76) !important;
    border-radius: 22px !important;
    padding: 16px 20px !important;
    color: rgba(28, 28, 44, 0.66) !important;
    background: rgba(255, 255, 255, 0.58) !important;
    box-shadow: 0 18px 44px rgba(28, 28, 44, 0.06) !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: 0.12em !important;
    line-height: 1.3 !important;
    text-align: center !important;
    text-transform: uppercase !important;
}

body:has(.theme-cart-area-container) .theme-cart-body.theme-cart-empty .theme-checkout-button,
body:has(.theme-cart-area-container) .theme-cart-body.theme-cart-empty button.theme-checkout-button,
body:has(.theme-cart-area-container) .theme-cart-body.theme-cart-empty [data-zs-checkout-button] {
    display: none !important;
}

@media (max-width: 1180px) {
    body:has(.theme-cart-area-container) .theme-cart-body:not(.theme-cart-empty) {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 760px) {
    body:has(.theme-cart-area-container) .theme-cart-area-container {
        width: min(100% - 28px, 680px) !important;
        padding: 42px 0 78px !important;
    }

    body:has(.theme-cart-area-container) .theme-cart-body.theme-cart-empty {
        min-height: 0 !important;
        padding-top: 18px !important;
    }

    body:has(.theme-cart-area-container) .theme-cart-body.theme-cart-empty .theme-cart-summary-inner-container {
        min-height: 390px !important;
        padding: 30px 22px !important;
    }

    body:has(.theme-cart-area-container) .theme-cart-body:not(.theme-cart-empty) .theme-shopping-cart-table-container .theme-cart-table-row.theme-cart-head {
        display: none !important;
    }

    body:has(.theme-cart-area-container) .theme-cart-body:not(.theme-cart-empty) .theme-shopping-cart-table-container .theme-cart-table-row {
        grid-template-columns: 1fr !important;
    }
}

/* Cart shell header/footer and filled-cart fitting pass */
body.lc-cart-shell > .theme-header-topbar,
body.lc-cart-shell > .theme-header,
body.lc-cart-shell > [data-megamenu-content-container],
body.lc-cart-shell .theme-header-topbar,
body.lc-cart-shell .theme-header.zpheader-style-navigation-07,
body.lc-cart-shell .theme-mobile-header {
    display: none !important;
}

body.lc-cart-shell .lc-header {
    display: block !important;
    position: relative !important;
    z-index: 30 !important;
}

body.lc-cart-shell .lc-header .lc-brand img {
    display: none !important;
}

body.lc-cart-shell .lc-footer {
    display: block !important;
    margin-top: 0 !important;
}

body.lc-cart-shell .theme-content-area,
body.lc-cart-shell .theme-content-container,
body.lc-cart-shell .theme-content-area-inner {
    overflow: visible !important;
}

body.lc-cart-shell .theme-cart-area-container {
    width: min(1120px, calc(100% - 48px)) !important;
    padding: 58px 0 92px !important;
}

body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) {
    grid-template-columns: minmax(0, 704px) minmax(304px, 324px) !important;
    justify-content: center !important;
    gap: 34px !important;
}

body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-shopping-cart-table-container {
    overflow: visible !important;
    padding: 30px !important;
}

body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-shopping-cart-table-container .theme-cart-table-row,
body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-shopping-cart-table-container .theme-cart-table-row.theme-cart-head {
    grid-template-columns: minmax(220px, 1fr) 112px 84px 88px !important;
    gap: 12px !important;
}

body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-shopping-cart-table-container .theme-cart-table-row .theme-cart-table-data.theme-cart-items {
    grid-template-columns: 94px minmax(0, 1fr) !important;
    gap: 16px !important;
}

body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-cart-item-img {
    width: 94px !important;
    height: 94px !important;
}

body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-cart-item-info a,
body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-cart-item-info h4,
body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-cart-item-info li:first-child {
    font-size: 14px !important;
}

body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-cart-item-info ul {
    gap: 3px 8px !important;
}

body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-cart-item-info li {
    font-size: 12px !important;
}

body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-cart-table-data.theme-cart-qty {
    min-width: 112px !important;
    overflow: visible !important;
}

body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-cart-table-data.theme-cart-qty .theme-quantity-field-button,
body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-cart-table-data.theme-cart-qty .theme-product-list-quantity {
    width: 104px !important;
    height: 38px !important;
    overflow: hidden !important;
}

body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-cart-table-data.theme-cart-qty button,
body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-cart-table-data.theme-cart-qty .theme-product-list-quantity-decrease,
body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-cart-table-data.theme-cart-qty .theme-product-list-quantity-increase,
body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-cart-table-data.theme-cart-qty .theme-cart-qty-inc-dec {
    width: 30px !important;
    min-width: 30px !important;
    height: 36px !important;
    min-height: 36px !important;
    border: 0 !important;
    border-radius: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--lc-primary) !important;
    transform: none !important;
}

body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-cart-table-data.theme-cart-qty .theme-cart-qty-inc-dec {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    opacity: 0 !important;
}

body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-cart-table-data.theme-cart-qty input[type="text"],
body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-cart-table-data.theme-cart-qty .theme-product-list-quantity-field {
    width: 42px !important;
    height: 36px !important;
}

body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-cart-selling-price,
body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-cart-price-label {
    font-size: 14px !important;
}

body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-cart-item-remove .theme-cart-remove-button,
body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-cart-item-remove .theme-cart-remove-icon-button {
    width: 84px !important;
    min-width: 84px !important;
    height: 38px !important;
    min-height: 38px !important;
    padding: 0 12px !important;
    font-size: 9px !important;
}

body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-cart-summary-inner-container {
    padding: 28px !important;
}

@media (max-width: 1180px) {
    body.lc-cart-shell .theme-cart-area-container {
        width: min(100% - 40px, 940px) !important;
    }

    body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) {
        grid-template-columns: 1fr !important;
    }
}

/* Final cart polish */
body.lc-cart-shell .theme-header:not(.lc-header),
body.lc-cart-shell [class*="zpheader-style"],
body.lc-cart-shell [data-megamenu-content-container],
body.lc-cart-shell .theme-navigation-and-icons:not(.lc-header .theme-navigation-and-icons),
body.lc-cart-shell .theme-search-cart-non-res,
body.lc-cart-shell .theme-menu-area,
body.lc-cart-shell .theme-mobile-header-style-04 {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
}

body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-cart-item-info ul {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: baseline !important;
    gap: 8px !important;
    white-space: nowrap !important;
}

body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-cart-item-info li {
    display: inline-flex !important;
    width: auto !important;
    white-space: nowrap !important;
}

body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-cart-table-data.theme-cart-qty .theme-quantity-field-button,
body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-cart-table-data.theme-cart-qty .theme-product-list-quantity {
    position: relative !important;
    isolation: isolate !important;
    width: 108px !important;
    height: 40px !important;
    display: grid !important;
    grid-template-columns: 32px 1fr 32px !important;
    align-items: center !important;
    justify-items: center !important;
    overflow: hidden !important;
    border: 1px solid rgba(28, 28, 44, 0.14) !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.72) !important;
    box-shadow: none !important;
}

body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-cart-table-data.theme-cart-qty .theme-product-list-quantity-decrease,
body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-cart-table-data.theme-cart-qty .theme-product-list-quantity-increase {
    position: relative !important;
    z-index: 2 !important;
    width: 32px !important;
    min-width: 32px !important;
    height: 38px !important;
    min-height: 38px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 0 !important;
    border-radius: 0 !important;
    padding: 0 !important;
    color: var(--lc-primary) !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: hidden !important;
}

body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-cart-table-data.theme-cart-qty .theme-product-list-quantity-decrease svg,
body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-cart-table-data.theme-cart-qty .theme-product-list-quantity-increase svg,
/* The exception for [data-zs-delete-icon] is load-bearing, not tidiness.

   At quantity 1 zstore-core swaps the minus for a bin: it sets
   style.display="block" on [data-zs-cart-item-delete] and style.display="none"
   on the minus glyph and on the transparent click target. Without the
   exception below, this blanket rule -- display:none with !important at
   (0,7,1) -- outranks that inline style, so the bin never appeared and the
   only way to empty a line was the REMOVE button beside it. On a phone, where
   REMOVE was also hidden, there was no way at all.

   The exception restores the platform's own control: the element keeps its
   inline display, which is "none" at quantity > 1 and "block" at 1. */
body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-cart-table-data.theme-cart-qty .theme-product-list-quantity-decrease > *:not(.theme-cart-qty-inc-dec):not([data-zs-delete-icon]),
body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-cart-table-data.theme-cart-qty .theme-product-list-quantity-increase > *:not(.theme-cart-qty-inc-dec) {
    display: none !important;
}

body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-cart-table-data.theme-cart-qty .theme-product-list-quantity-decrease::before,
body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-cart-table-data.theme-cart-qty .theme-product-list-quantity-increase::before {
    display: block !important;
    color: var(--lc-primary) !important;
    font-family: "Hanken Grotesk", Poppins, Arial, sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
}

body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-cart-table-data.theme-cart-qty .theme-product-list-quantity-decrease::before {
    content: "-" !important;
}

body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-cart-table-data.theme-cart-qty .theme-product-list-quantity-increase::before {
    content: "+" !important;
}

body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-cart-table-data.theme-cart-qty .theme-cart-qty-inc-dec {
    position: absolute !important;
    inset: 0 !important;
    z-index: 5 !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    opacity: 0 !important;
}

body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-cart-table-data.theme-cart-qty input[type="text"],
body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-cart-table-data.theme-cart-qty .theme-product-list-quantity-field {
    position: relative !important;
    z-index: 1 !important;
    width: 42px !important;
    height: 38px !important;
    min-height: 38px !important;
    border: 0 !important;
    background: transparent !important;
    color: var(--lc-primary) !important;
    box-shadow: none !important;
    text-align: center !important;
}

body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-cart-item-remove {
    display: grid !important;
    gap: 10px !important;
}

body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-cart-item-remove .theme-cart-remove-button,
body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-cart-item-remove .theme-cart-remove-icon-button {
    margin: 0 !important;
}

body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-checkout-button-area,
body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-cart-button-container {
    display: grid !important;
    gap: 14px !important;
}

body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-checkout-button-area .theme-cart-table-data {
    margin: 0 !important;
    padding: 0 !important;
}

/* Header logo and action additions */
.lc-brand {
    display: inline-flex !important;
    width: min(142px, 24vw) !important;
    min-width: 118px !important;
    height: 42px !important;
    align-items: center !important;
}

.lc-brand img {
    display: block !important;
    width: 100% !important;
    max-width: 142px !important;
    height: auto !important;
    max-height: 34px !important;
    object-fit: contain !important;
    object-position: left center !important;
}

.lc-brand span {
    display: none !important;
}

.lc-header-actions {
    gap: 16px !important;
}

.lc-wishlist-icon svg {
    stroke-width: 1.7 !important;
}

.lc-header-search {
    display: inline-grid !important;
    grid-template-columns: minmax(150px, 210px) 34px !important;
    height: 38px !important;
    align-items: center !important;
    overflow: hidden !important;
    border: 1px solid rgba(28, 28, 44, 0.12) !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.72) !important;
    box-shadow: 0 10px 26px rgba(28, 28, 44, 0.045), inset 0 1px 0 rgba(255, 255, 255, 0.86) !important;
    transition: border-color 180ms ease, box-shadow 180ms ease, background 180ms ease !important;
}

.lc-header-search .sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
}

.lc-header-search:focus-within {
    border-color: rgba(118, 185, 0, 0.42) !important;
    background: #ffffff !important;
    box-shadow: 0 14px 32px rgba(118, 185, 0, 0.11), inset 0 1px 0 rgba(255, 255, 255, 0.94) !important;
}

.lc-header-search input {
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    padding: 0 4px 0 15px !important;
    color: var(--lc-primary) !important;
    background: transparent !important;
    box-shadow: none !important;
    font-family: "Hanken Grotesk", Poppins, Arial, sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    outline: 0 !important;
}

.lc-header-search input::placeholder {
    color: rgba(28, 28, 44, 0.48) !important;
}

.lc-search-submit {
    display: inline-flex !important;
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 999px !important;
    padding: 0 !important;
    color: var(--lc-primary) !important;
    background: transparent !important;
    cursor: pointer !important;
    transition: color 180ms ease, background 180ms ease !important;
}

.lc-search-submit:hover,
.lc-search-submit:focus-visible {
    color: #ffffff !important;
    background: var(--lc-copper) !important;
}

.lc-search-submit svg {
    width: 18px !important;
    height: 18px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 2 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
}

@media (max-width: 980px) {
    .lc-header-actions {
        gap: 12px !important;
    }

    .lc-icon-button {
        width: 26px !important;
        height: 26px !important;
    }

    .lc-header-search {
        display: inline-grid !important;
        grid-template-columns: minmax(118px, 168px) 32px !important;
        height: 36px !important;
    }

    .lc-header-search input {
        padding-left: 13px !important;
        font-size: 12px !important;
    }

    .lc-search-submit {
        width: 32px !important;
        height: 32px !important;
        min-width: 32px !important;
    }
}

@media (max-width: 640px) {
    .lc-brand {
        width: 118px !important;
        min-width: 100px !important;
    }

    .lc-header-search {
        display: inline-grid !important;
        grid-template-columns: minmax(92px, 136px) 30px !important;
        height: 34px !important;
    }

    .lc-search-submit {
        width: 30px !important;
        height: 30px !important;
        min-width: 30px !important;
    }
}

/* Home catalogue spotlight carousel */
.lc-catalog-spotlight-section {
    position: relative !important;
    overflow: hidden !important;
    padding-block: clamp(72px, 9vw, 128px) !important;
    background: var(--lc-surface-soft) !important;
}

.lc-catalog-spotlight-section::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    pointer-events: none !important;
    background:
        radial-gradient(circle at 14% 32%, rgba(199, 255, 240, 0.24), transparent 30%),
        radial-gradient(circle at 88% 18%, rgba(118, 185, 0, 0.14), transparent 34%) !important;
}

.lc-catalog-spotlight-section .lc-home-container {
    position: relative !important;
    z-index: 1 !important;
}

/* Homepage carousel, stack, and lightweight slider polish */
.lc-brand {
    width: min(172px, 28vw) !important;
    min-width: 136px !important;
    height: 50px !important;
}

.lc-brand img {
    max-width: 172px !important;
    max-height: 42px !important;
}

.lc-catalog-slider-controls button {
    width: 50px !important;
    height: 50px !important;
    border-color: rgba(28, 28, 44, 0.12) !important;
    color: var(--lc-primary) !important;
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.96), rgba(247, 243, 238, 0.82)) !important;
    box-shadow: 0 18px 40px rgba(31, 28, 44, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.9) !important;
    outline: 0 !important;
    will-change: transform !important;
}

.lc-catalog-slider-controls svg {
    width: 24px !important;
    height: 24px !important;
    stroke-width: 2.35 !important;
}

.lc-catalog-slider-controls button:hover {
    color: #fff !important;
    border-color: rgba(28, 28, 44, 0.16) !important;
    background: var(--lc-primary) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 22px 46px rgba(31, 28, 44, 0.16), inset 0 0 0 1px rgba(255, 255, 255, 0.08) !important;
}

.lc-catalog-slider-controls button:active {
    transform: translateY(0) scale(0.98) !important;
}

.lc-catalog-spotlight-section {
    overflow: hidden !important;
}

.lc-catalog-slider {
    position: relative !important;
    min-height: clamp(438px, 45vw, 566px) !important;
    border: 1px solid rgba(255, 255, 255, 0.86) !important;
    border-radius: 44px !important;
    background: rgba(253, 249, 244, 0.78) !important;
    box-shadow: 0 24px 78px rgba(31, 28, 44, 0.07), inset 0 1px 0 rgba(255, 255, 255, 0.82) !important;
    overflow: hidden !important;
    isolation: isolate !important;
    contain: layout paint !important;
    touch-action: pan-y !important;
    user-select: none !important;
}

.lc-catalog-slides {
    position: relative !important;
    min-height: inherit !important;
    overflow: hidden !important;
    border-radius: inherit !important;
    contain: layout paint !important;
}

.lc-catalog-slide {
    position: absolute !important;
    top: 16px !important;
    bottom: 16px !important;
    left: 16px !important;
    width: min(78%, calc(100% - 188px)) !important;
    display: grid !important;
    grid-template-columns: minmax(420px, 1fr) minmax(320px, 0.94fr) !important;
    gap: clamp(24px, 4.6vw, 62px) !important;
    align-items: center !important;
    padding: clamp(34px, 5.4vw, 70px) !important;
    border: 1px solid rgba(255, 255, 255, 0.88) !important;
    border-radius: 34px !important;
    background: linear-gradient(135deg, rgba(253, 249, 244, 0.96), rgba(247, 243, 238, 0.94)) !important;
    box-shadow: 0 24px 62px rgba(28, 28, 44, 0.09), inset 0 1px 0 rgba(255, 255, 255, 0.92) !important;
    overflow: hidden !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transform: translate3d(100%, 0, 0) !important;
    filter: none !important;
    transition: transform 430ms cubic-bezier(0.22, 1, 0.36, 1), opacity 300ms ease, visibility 300ms ease !important;
    will-change: transform, opacity !important;
    contain: layout paint !important;
}

.lc-catalog-slide::before,
.lc-catalog-slide figure::before {
    display: none !important;
}

.lc-catalog-slide.is-prev,
.lc-catalog-slide.is-next {
    visibility: visible !important;
    opacity: 0.24 !important;
    z-index: 1 !important;
}

.lc-catalog-slide.is-prev {
    transform: translate3d(calc(-100% - clamp(24px, 2.4vw, 34px)), 0, 0) !important;
}

.lc-catalog-slide.is-next {
    transform: translate3d(calc(100% + clamp(24px, 2.4vw, 34px)), 0, 0) !important;
}

.lc-catalog-slide.is-active {
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    z-index: 3 !important;
    transform: translate3d(0, 0, 0) !important;
    filter: none !important;
}

.lc-catalog-slide-copy {
    max-width: 660px !important;
}

.lc-catalog-slide-copy > span {
    display: inline-flex !important;
    min-height: 34px !important;
    align-items: center !important;
    border: 1px solid rgba(118, 185, 0, 0.26) !important;
    border-radius: 999px !important;
    padding: 0 16px !important;
    color: var(--lc-copper) !important;
    background: rgba(255, 255, 255, 0.54) !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: 0.14em !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
}

.lc-catalog-slide h3 {
    max-width: 660px !important;
    margin: 22px 0 16px !important;
    color: var(--lc-primary) !important;
    font-family: /* "Lilita One", */ "Libre Caslon Text", Georgia, serif !important;
    font-size: clamp(40px, 4.7vw, 68px) !important;
    font-weight: 400 !important;
    line-height: 1.03 !important;
    letter-spacing: 0 !important;
}

.lc-catalog-slide p {
    max-width: 590px !important;
    margin: 0 0 28px !important;
    color: rgba(28, 28, 44, 0.66) !important;
    font-size: clamp(15px, 1.4vw, 18px) !important;
    line-height: 1.7 !important;
}

.lc-catalog-slide a {
    display: inline-flex !important;
    min-height: 48px !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid var(--lc-primary) !important;
    border-radius: 999px !important;
    padding: 0 28px !important;
    color: var(--lc-primary) !important;
    background: rgba(255, 255, 255, 0.92) !important;
    box-shadow: 0 16px 34px rgba(31, 28, 44, 0.1) !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: 0.13em !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
    transition: color 200ms ease, background 200ms ease, transform 200ms ease !important;
}

.lc-catalog-slide a:hover {
    color: #fff !important;
    background: var(--lc-primary) !important;
    transform: translateY(-1px) !important;
}

.lc-catalog-slide figure {
    position: relative !important;
    display: flex !important;
    min-height: clamp(270px, 30vw, 402px) !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    border: 1px solid rgba(255, 255, 255, 0.88) !important;
    border-radius: 34px !important;
    background: #ffffff !important;
    box-shadow: 0 18px 46px rgba(31, 28, 44, 0.08) !important;
    overflow: hidden !important;
    contain: paint !important;
}

.lc-catalog-slide img {
    display: block !important;
    width: min(82%, 420px) !important;
    aspect-ratio: 1 / 0.82 !important;
    max-height: 318px !important;
    border-radius: 28px !important;
    object-fit: cover !important;
    object-position: center !important;
    animation: none !important;
    filter: none !important;
    transform: none !important;
}

.lc-catalog-dots {
    position: absolute !important;
    left: 50% !important;
    right: auto !important;
    bottom: 24px !important;
    z-index: 5 !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 7px 10px !important;
    border: 1px solid rgba(255, 255, 255, 0.82) !important;
    border-radius: 999px !important;
    background: rgba(253, 249, 244, 0.88) !important;
    box-shadow: 0 12px 28px rgba(31, 28, 44, 0.08) !important;
    transform: translateX(-50%) !important;
}

.lc-catalog-slider-controls button,
.lc-catalog-dots button {
    appearance: none !important;
    border: 0 !important;
    cursor: pointer !important;
}

.lc-catalog-dots button {
    width: 6px !important;
    height: 6px !important;
    border-radius: 999px !important;
    background: rgba(28, 28, 44, 0.24) !important;
    transition: width 220ms ease, background 220ms ease !important;
}

.lc-catalog-dots button.is-active {
    width: 16px !important;
    height: 6px !important;
    background: var(--lc-copper) !important;
}

.lc-catalog-slider-controls {
    position: absolute !important;
    right: clamp(26px, 4vw, 48px) !important;
    bottom: 22px !important;
    z-index: 5 !important;
    display: flex !important;
    gap: 12px !important;
}

.lc-catalog-slider-controls button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid rgba(255, 255, 255, 0.9) !important;
    border-radius: 999px !important;
    color: var(--lc-primary) !important;
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.96), rgba(247, 243, 238, 0.82)) !important;
    box-shadow: 0 18px 40px rgba(31, 28, 44, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.9) !important;
    transition: color 200ms ease, background 200ms ease, transform 200ms ease, box-shadow 200ms ease !important;
}

.lc-catalog-slider-controls svg {
    width: 28px !important;
    height: 28px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 2.5 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
}

@media (max-width: 980px) {
    .lc-brand {
        width: 140px !important;
        min-width: 124px !important;
    }

    .lc-catalog-slide.is-prev {
        transform: translate3d(calc(-100% - 28px), 0, 0) !important;
    }

    .lc-catalog-slide.is-next {
        transform: translate3d(calc(100% + 28px), 0, 0) !important;
    }

    .lc-catalog-slide.is-active {
        transform: translate3d(0, 0, 0) !important;
    }
}

@media (max-width: 640px) {
    .lc-catalog-slider-controls button {
        width: 44px !important;
        height: 44px !important;
    }

    .lc-catalog-slider-controls svg {
        width: 21px !important;
        height: 21px !important;
    }

    .lc-catalog-slide.is-prev,
    .lc-catalog-slide.is-next {
        opacity: 0 !important;
    }

    .lc-catalog-slider {
        min-height: 690px !important;
        border-radius: 30px !important;
    }

    .lc-catalog-slide {
        top: 12px !important;
        right: auto !important;
        bottom: 12px !important;
        left: 12px !important;
        width: calc(100% - 24px) !important;
        grid-template-columns: 1fr !important;
        gap: 22px !important;
        border-radius: 26px !important;
        padding: 28px 22px 86px !important;
    }

    .lc-catalog-slide figure {
        order: -1 !important;
        min-height: 226px !important;
        border-radius: 22px !important;
    }

    .lc-catalog-slide img {
        width: min(86%, 292px) !important;
        max-height: 206px !important;
        border-radius: 20px !important;
    }

    .lc-catalog-slide h3 {
        font-size: clamp(34px, 11vw, 52px) !important;
    }

    .lc-catalog-slider-controls {
        right: 22px !important;
        bottom: 20px !important;
    }

    .lc-catalog-dots {
        bottom: 22px !important;
    }
}

/* Secondary product navigation */
.lc-secondary-nav {
    position: relative !important;
    z-index: 998 !important;
    background: transparent !important;
}

.lc-secondary-container {
    width: min(1320px, calc(100% - 40px)) !important;
    margin-inline: auto !important;
}

.lc-secondary-menu {
    display: flex !important;
    min-height: 54px !important;
    align-items: center !important;
    justify-content: center !important;
    gap: clamp(18px, 3vw, 42px) !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.lc-secondary-menu > li {
    position: relative !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.lc-secondary-link {
    position: relative !important;
    display: inline-flex !important;
    min-height: 54px !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    border: 0 !important;
    color: rgba(28, 28, 44, 0.74) !important;
    background: transparent !important;
    font-family: "Hanken Grotesk", Poppins, Arial, sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0.02em !important;
    line-height: 1 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    cursor: pointer !important;
    transition: color 200ms ease !important;
}

.lc-secondary-link::after {
    content: "" !important;
    position: absolute !important;
    right: 0 !important;
    bottom: 9px !important;
    left: 0 !important;
    height: 1px !important;
    background: var(--lc-copper) !important;
    transform: scaleX(0) !important;
    transform-origin: center !important;
    transition: transform 220ms ease !important;
}

.lc-secondary-link svg {
    width: 13px !important;
    height: 13px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 2.2 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
    transition: transform 200ms ease !important;
}

.lc-secondary-link:hover,
.lc-secondary-item:hover > .lc-secondary-link,
.lc-secondary-item.is-open > .lc-secondary-link {
    color: var(--lc-copper) !important;
}

.lc-secondary-link:hover::after,
.lc-secondary-item:hover > .lc-secondary-link::after,
.lc-secondary-item.is-open > .lc-secondary-link::after {
    transform: scaleX(1) !important;
}

.lc-secondary-item:hover > .lc-secondary-link svg,
.lc-secondary-item.is-open > .lc-secondary-link svg {
    transform: rotate(180deg) !important;
}

.lc-secondary-mega {
    position: absolute !important;
    top: calc(100% + 12px) !important;
    left: 50% !important;
    z-index: 1002 !important;
    width: min(560px, calc(100vw - 40px)) !important;
    border: 1px solid rgba(255, 255, 255, 0.76) !important;
    border-radius: 30px !important;
    padding: 24px !important;
    background: rgba(255, 255, 255, 0.65) !important;
    box-shadow: 0 28px 72px rgba(28, 28, 44, 0.14), inset 0 1px 0 rgba(255, 255, 255, 0.82) !important;
    backdrop-filter: blur(24px) saturate(1.08) !important;
    -webkit-backdrop-filter: blur(24px) saturate(1.08) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translate(-50%, 12px) scale(0.98) !important;
    pointer-events: none !important;
    transition: opacity 220ms ease, visibility 220ms ease, transform 240ms ease !important;
}

.lc-secondary-item:hover .lc-secondary-mega,
.lc-secondary-item.is-open .lc-secondary-mega {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translate(-50%, 0) scale(1) !important;
    pointer-events: auto !important;
}

.lc-secondary-mega-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 22px !important;
}

.lc-secondary-mega h4 {
    margin: 0 0 14px !important;
    color: var(--lc-copper) !important;
    font-family: "Hanken Grotesk", Poppins, Arial, sans-serif !important;
    font-size: 10px !important;
    font-weight: 900 !important;
    letter-spacing: 0.15em !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
}

.lc-secondary-mega a {
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) !important;
    min-height: 54px !important;
    align-items: center !important;
    gap: 12px !important;
    border-radius: 18px !important;
    padding: 8px !important;
    color: var(--lc-primary) !important;
    font-family: "Hanken Grotesk", Poppins, Arial, sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
    transition: background 180ms ease, transform 180ms ease, color 180ms ease !important;
}

.lc-secondary-mega a:hover {
    color: var(--lc-copper) !important;
    background: rgba(28, 28, 44, 0.04) !important;
    transform: translateX(2px) !important;
}

.lc-secondary-mega img {
    display: block !important;
    width: 42px !important;
    height: 42px !important;
    border: 1px solid rgba(255, 255, 255, 0.82) !important;
    border-radius: 14px !important;
    background: rgba(255, 255, 255, 0.72) !important;
    object-fit: cover !important;
    box-shadow: 0 10px 24px rgba(28, 28, 44, 0.08) !important;
}

body.lc-cart-shell .lc-secondary-nav {
    border-bottom-color: rgba(255, 255, 255, 0.12) !important;
}

@media (max-width: 980px) {
    .lc-secondary-container {
        width: 100% !important;
    }

    .lc-secondary-menu {
        justify-content: flex-start !important;
        gap: 8px !important;
        overflow-x: auto !important;
        padding: 0 16px !important;
        scrollbar-width: none !important;
    }

    .lc-secondary-menu::-webkit-scrollbar {
        display: none !important;
    }

    .lc-secondary-link {
        min-height: 50px !important;
        border: 1px solid rgba(28, 28, 44, 0.08) !important;
        border-radius: 999px !important;
        padding: 0 14px !important;
        background: rgba(255, 255, 255, 0.46) !important;
    }

    .lc-secondary-link::after {
        display: none !important;
    }

    .lc-secondary-mega {
        position: fixed !important;
        top: 132px !important;
        right: 16px !important;
        left: 16px !important;
        width: auto !important;
        transform: translateY(8px) scale(0.98) !important;
    }

    .lc-secondary-item:hover .lc-secondary-mega,
    .lc-secondary-item.is-open .lc-secondary-mega {
        transform: translateY(0) scale(1) !important;
    }
}

@media (max-width: 640px) {
    .lc-secondary-menu {
        min-height: 48px !important;
    }

    .lc-secondary-link {
        min-height: 42px !important;
        font-size: 12px !important;
    }

    .lc-secondary-mega {
        top: 118px !important;
        padding: 18px !important;
        border-radius: 24px !important;
    }

    .lc-secondary-mega-grid {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }
}

/* Product-card typography refinements */

.lc-catalog .lc-live-product-card .theme-product-name a,
.lc-live-product-card .theme-product-name a,
.theme-product-list-style-01 .theme-product-name,
.theme-product-list-style-01 .theme-product-name a {
    font-size: clamp(14px, 1.05vw, 16px) !important;
    line-height: 1.24 !important;
}

/* Opaque dropdown and header-matched secondary nav */
.lc-secondary-nav {
    color: var(--lc-primary) !important;
    background: rgba(255, 255, 255, 0.72) !important;
    border-top: 0 !important;
    border-bottom: 1px solid rgba(28, 28, 25, 0.06) !important;
    box-shadow: 0 4px 20px rgba(28, 28, 25, 0.05) !important;
    backdrop-filter: blur(18px) saturate(1.08) !important;
    -webkit-backdrop-filter: blur(18px) saturate(1.08) !important;
}

.lc-secondary-container {
    background: transparent !important;
}

.lc-secondary-menu {
    background: transparent !important;
}

.lc-mega-menu,
.lc-secondary-mega {
    background: #fdf9f4 !important;
    background-image: linear-gradient(135deg, #fdf9f4 0%, #f7f3ee 100%) !important;
    border: 1px solid rgba(28, 28, 44, 0.08) !important;
    box-shadow: 0 30px 76px rgba(28, 28, 44, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.95) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

.lc-mega-item,
.lc-secondary-mega a {
    background: transparent !important;
}

.lc-mega-item:hover,
.lc-secondary-mega a:hover {
    background: #f1ede8 !important;
}

.lc-mega-icon,
.lc-secondary-mega img {
    background: #ffffff !important;
}

@media (max-width: 980px) {
    .lc-secondary-link {
        background: rgba(255, 255, 255, 0.72) !important;
        backdrop-filter: blur(18px) saturate(1.08) !important;
        -webkit-backdrop-filter: blur(18px) saturate(1.08) !important;
    }

    .lc-secondary-mega {
        background: #fdf9f4 !important;
        background-image: linear-gradient(135deg, #fdf9f4 0%, #f7f3ee 100%) !important;
    }
}

/* Green accent pass and welcome coupon */
.lc-section-kicker,
.lc-catalog-slide-copy > span,
.lc-catalog-dots button.is-active,
.lc-secondary-mega h4,
.lc-mega-item:hover strong,
.lc-secondary-mega a:hover,
.theme-product-price,
.theme-product-total-price-lable,
.theme-prod-price,
.theme-product-detail-price-area .theme-product-price {
    color: var(--lc-copper) !important;
}

.lc-catalog-dots button.is-active,
.lc-coupon-copy-button,
.lc-coupon-glow,
.lc-icon-badge {
    background: var(--lc-copper) !important;
}

.lc-coupon-copy-button,
.lc-coupon-box,
.lc-coupon-card,
.lc-catalog-slide-copy > span {
    border-color: rgba(118, 185, 0, 0.28) !important;
}

.lc-coupon-section {
    position: relative !important;
    overflow: hidden !important;
    padding-block: clamp(64px, 8vw, 116px) !important;
    background:
        radial-gradient(circle at 12% 18%, rgba(118, 185, 0, 0.1), transparent 30%),
        radial-gradient(circle at 90% 70%, rgba(28, 28, 44, 0.055), transparent 30%),
        var(--lc-bg) !important;
}

.lc-coupon-card {
    position: relative !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 0.46fr) !important;
    gap: clamp(28px, 5vw, 70px) !important;
    align-items: center !important;
    overflow: hidden !important;
    border: 1px solid rgba(118, 185, 0, 0.18) !important;
    border-radius: 34px !important;
    padding: clamp(34px, 5vw, 66px) !important;
    background:
        linear-gradient(135deg, rgba(253, 249, 244, 0.94), rgba(255, 255, 255, 0.82)),
        radial-gradient(circle at 78% 20%, rgba(118, 185, 0, 0.14), transparent 34%) !important;
    box-shadow: 0 30px 86px rgba(28, 28, 44, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.9) !important;
}

.lc-coupon-glow {
    position: absolute !important;
    width: 180px !important;
    height: 2px !important;
    pointer-events: none !important;
    opacity: 0.8 !important;
    box-shadow: 0 0 24px rgba(118, 185, 0, 0.46) !important;
}

.lc-coupon-glow-top {
    top: 26px !important;
    right: -42px !important;
    transform: rotate(-28deg) !important;
}

.lc-coupon-glow-bottom {
    bottom: 34px !important;
    left: -42px !important;
    transform: rotate(-28deg) !important;
}

.lc-coupon-copy {
    position: relative !important;
    z-index: 1 !important;
}

.lc-coupon-copy h2 {
    max-width: 780px !important;
    margin: 14px 0 24px !important;
    color: var(--lc-primary) !important;
    font-family: /* "Lilita One", */ "Libre Caslon Text", Georgia, serif !important;
    font-size: clamp(38px, 5vw, 74px) !important;
    font-weight: 400 !important;
    line-height: 1.04 !important;
    letter-spacing: 0 !important;
}

.lc-coupon-copy h2 em {
    color: var(--lc-copper) !important;
    font-style: italic !important;
}

.lc-coupon-features {
    display: grid !important;
    gap: 12px !important;
}

.lc-coupon-features span {
    display: flex !important;
    max-width: 660px !important;
    align-items: center !important;
    gap: 12px !important;
    color: rgba(28, 28, 44, 0.72) !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;
}

.lc-coupon-features svg {
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    fill: none !important;
    stroke: var(--lc-copper) !important;
    stroke-width: 2.2 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
}

.lc-coupon-code-panel {
    position: relative !important;
    z-index: 1 !important;
    display: grid !important;
    gap: 12px !important;
    justify-items: stretch !important;
}

.lc-coupon-box {
    display: grid !important;
    gap: 12px !important;
    border: 1px dashed rgba(118, 185, 0, 0.42) !important;
    border-radius: 28px !important;
    padding: 18px !important;
    background: rgba(255, 255, 255, 0.64) !important;
    box-shadow: 0 24px 52px rgba(31, 28, 44, 0.08) !important;
}

.lc-coupon-code {
    display: flex !important;
    min-height: 58px !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 20px !important;
    color: var(--lc-primary) !important;
    background: rgba(118, 185, 0, 0.1) !important;
    font-family: "Hanken Grotesk", Poppins, Arial, sans-serif !important;
    font-size: clamp(20px, 2vw, 28px) !important;
    font-weight: 900 !important;
    letter-spacing: 0.04em !important;
}

.lc-coupon-copy-button {
    display: inline-flex !important;
    min-height: 50px !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    border: 1px solid var(--lc-copper) !important;
    border-radius: 999px !important;
    color: #fff !important;
    cursor: pointer !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    letter-spacing: 0.12em !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
    transition: background 180ms ease, border-color 180ms ease, transform 180ms ease !important;
}

.lc-coupon-copy-button:hover {
    background: var(--lc-primary) !important;
    border-color: var(--lc-primary) !important;
    transform: translateY(-1px) !important;
}

.lc-coupon-copy-button svg {
    width: 19px !important;
    height: 19px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 2.2 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
}

.lc-coupon-code-panel small {
    color: rgba(28, 28, 44, 0.52) !important;
    font-size: 12px !important;
    text-align: center !important;
}

@media (max-width: 900px) {
    .lc-coupon-card {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 640px) {

    .lc-coupon-card {
        border-radius: 28px !important;
        padding: 28px 20px !important;
    }
}

/* Bulk savings calculator */

.lc-bulk-selectors {
    grid-column: 2 !important;
}

.lc-bulk-selectors {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    margin-top: 16px !important;
}

.lc-bulk-selectors label:last-child {
    grid-column: 1 / -1 !important;
}

.lc-bulk-selectors label {
    display: grid !important;
    gap: 8px !important;
}

.lc-bulk-selectors span {
    color: rgba(28, 28, 44, 0.62) !important;
    font-size: 10px !important;
    font-weight: 900 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
}

.lc-bulk-selectors select {
    width: 100% !important;
    min-height: 38px !important;
    border: 1px solid rgba(28, 28, 44, 0.1) !important;
    border-radius: 12px !important;
    padding: 0 12px !important;
    color: var(--lc-primary) !important;
    background: rgba(255, 255, 255, 0.76) !important;
    box-shadow: none !important;
    font-family: "Hanken Grotesk", Poppins, Arial, sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
}

@media (max-width: 1080px) {

    .lc-bulk-selectors {
        grid-column: auto !important;
    }
}

@media (max-width: 640px) {

    .lc-bulk-selectors {
        grid-template-columns: 1fr !important;
    }
}

/* Bulk calculator final compact layout pass */

.lc-bulk-selectors {
    margin-top: 14px !important;
    gap: 10px !important;
}

.lc-bulk-selectors select {
    min-height: 42px !important;
    border-radius: 14px !important;
}

/* ── Recommended For You Section ── */

.hero-carousel {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
}

.hero-slide {
    position: absolute !important;
    top: 0 !important;
    bottom: 0 !important;
    left: 50% !important;
    width: min(1160px, 80%) !important;
    height: 100% !important;
    box-sizing: border-box !important;
    background-size: cover !important;
    background-position: right center !important;
    border-radius: 28px !important;
    border: 1px solid rgba(255, 255, 255, 0.7) !important;
    box-shadow: 0 24px 60px rgba(28, 28, 44, 0.08) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 0 6% !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translate3d(-50%, 0, 0) scale(0.92) !important;
    transition: transform 600ms cubic-bezier(0.25, 1, 0.5, 1), opacity 450ms ease, visibility 450ms ease !important;
}

.hero-slide.active {
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: translate3d(-50%, 0, 0) scale(1) !important;
    z-index: 3 !important;
}

.hero-slide.prev {
    visibility: visible !important;
    opacity: 0.38 !important;
    transform: translate3d(calc(-50% - 84%), 0, 0) scale(0.92) !important;
    z-index: 2 !important;
}

.hero-slide.next {
    visibility: visible !important;
    opacity: 0.38 !important;
    transform: translate3d(calc(-50% + 84%), 0, 0) scale(0.92) !important;
    z-index: 2 !important;
}

@keyframes floatImg {
    0% { transform: translateY(0px); }
    50% { transform: translateY(-15px); }
    100% { transform: translateY(0px); }
}

.hero-carousel-dots {
    position: absolute !important;
    bottom: 24px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    display: flex !important;
    gap: 8px !important;
    z-index: 10 !important;
}

.hero-dot {
    width: 10px !important;
    height: 10px !important;
    border-radius: 50% !important;
    background: rgba(28, 28, 44, 0.2) !important;
    cursor: pointer !important;
    transition: all 300ms ease !important;
}

.hero-dot.active {
    width: 24px !important;
    border-radius: 6px !important;
    background: var(--lc-copper) !important;
}

@media (max-width: 1024px) {
    .hero-slide {
        width: 90% !important;
        padding: 0 4% !important;
    }
    .hero-slide.prev {
        transform: translate3d(calc(-50% - 93%), 0, 0) scale(0.92) !important;
    }
    .hero-slide.next {
        transform: translate3d(calc(-50% + 93%), 0, 0) scale(0.92) !important;
    }
}

@media (max-width: 768px) {
    .hero-carousel {
        height: 480px !important;
    }
    .hero-slide {
        width: calc(100% - 32px) !important;
        left: 16px !important;
        flex-direction: column !important;
        text-align: center !important;
        padding: 40px 20px 20px !important;
        transform: translate3d(0, 0, 0) scale(1) !important;
        border-radius: 20px !important;
    }
    .hero-slide.prev,
    .hero-slide.next {
        display: none !important;
    }
    .hero-slide.active {
        transform: translate3d(0, 0, 0) scale(1) !important;
    }
}

/* ── Filter Sidebar ── */
.lc-filter-group {
    border-bottom: 1px solid rgba(28, 28, 44, 0.08) !important;
    padding-bottom: 16px !important;
    margin-bottom: 16px !important;
}

.lc-filter-group:last-of-type {
    border-bottom: none !important;
    margin-bottom: 8px !important;
}

.lc-filter-heading {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    cursor: pointer !important;
    margin: 0 0 12px !important;
    padding: 0 !important;
    font-family: Poppins, sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: var(--lc-primary) !important;
    letter-spacing: 0.01em !important;
    user-select: none !important;
}

.lc-filter-heading svg {
    width: 16px !important;
    height: 16px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 2.2 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
    transition: transform 200ms ease !important;
}

.lc-filter-heading.is-collapsed svg {
    transform: rotate(-90deg) !important;
}

.lc-filter-options {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    transition: max-height 300ms ease, opacity 200ms ease !important;
    overflow: hidden !important;
}

.lc-filter-options.is-collapsed {
    max-height: 0 !important;
    opacity: 0 !important;
    margin: 0 !important;
}

.lc-filter-checkbox {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 7px 10px !important;
    border-radius: 10px !important;
    font-size: 13.5px !important;
    font-weight: 500 !important;
    color: rgba(28, 28, 44, 0.72) !important;
    cursor: pointer !important;
    transition: background 150ms ease, color 150ms ease !important;
    line-height: 1.35 !important;
    margin: 0 !important;
}

.lc-filter-checkbox:hover {
    background: rgba(118, 185, 0, 0.06) !important;
    color: var(--lc-copper) !important;
}

.lc-filter-checkbox input[type="checkbox"] {
    width: 16px !important;
    height: 16px !important;
    accent-color: var(--lc-copper) !important;
    cursor: pointer !important;
    margin: 0 !important;
    flex-shrink: 0 !important;
}

/* Price Slider */
.lc-price-slider-wrapper {
    padding: 4px 4px 0 !important;
}

.lc-price-slider {
    width: 100% !important;
    height: 6px !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    border-radius: 4px !important;
    background: linear-gradient(90deg, var(--lc-copper) 0%, rgba(28, 28, 44, 0.1) 100%) !important;
    outline: none !important;
    cursor: pointer !important;
}

.lc-price-slider::-webkit-slider-thumb {
    -webkit-appearance: none !important;
    width: 20px !important;
    height: 20px !important;
    border-radius: 50% !important;
    background: var(--lc-copper) !important;
    border: 3px solid #fff !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15) !important;
    cursor: pointer !important;
}

.lc-price-slider::-moz-range-thumb {
    width: 20px !important;
    height: 20px !important;
    border-radius: 50% !important;
    background: var(--lc-copper) !important;
    border: 3px solid #fff !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15) !important;
    cursor: pointer !important;
}

.lc-price-range-labels {
    display: flex !important;
    justify-content: space-between !important;
    margin-top: 10px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    color: rgba(28, 28, 44, 0.55) !important;
}

#price-slider-value {
    color: var(--lc-copper) !important;
    font-weight: 800 !important;
}

/* Clear Filters Button */
.lc-btn-clear-filters {
    width: 100% !important;
    padding: 12px !important;
    margin-top: 8px !important;
    border: 1.5px solid rgba(28, 28, 44, 0.12) !important;
    border-radius: 14px !important;
    background: transparent !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: rgba(28, 28, 44, 0.6) !important;
    cursor: pointer !important;
    transition: all 200ms ease !important;
}

.lc-btn-clear-filters:hover {
    border-color: var(--lc-copper) !important;
    color: var(--lc-copper) !important;
    background: rgba(118, 185, 0, 0.04) !important;
}

/* Mobile Filter Trigger */
.lc-mobile-filter-trigger {
    display: none !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 8px 16px !important;
    border: 1.5px solid rgba(28, 28, 44, 0.12) !important;
    border-radius: 10px !important;
    background: transparent !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: var(--lc-primary) !important;
    cursor: pointer !important;
    transition: all 200ms ease !important;
}

.lc-mobile-filter-trigger:hover {
    border-color: var(--lc-copper) !important;
    color: var(--lc-copper) !important;
}

/* Promo Card Inline */
.lc-promo-card-inline {
    border-radius: 24px !important;
    background: linear-gradient(135deg, #0e192d 0%, #1a2842 100%) !important;
    padding: 36px 32px !important;
    display: flex !important;
    align-items: center !important;
    overflow: hidden !important;
    position: relative !important;
}

.lc-promo-content {
    position: relative !important;
    z-index: 2 !important;
}

.lc-promo-kicker {
    font-family: Poppins, sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    color: var(--lc-copper) !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    display: block !important;
    margin-bottom: 10px !important;
}

.lc-promo-title {
    font-family: Poppins, sans-serif !important;
    font-size: 22px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    margin: 0 0 10px !important;
    color: #fff !important;
}

.lc-promo-desc {
    font-size: 13px !important;
    color: #94a3b8 !important;
    line-height: 1.45 !important;
    margin: 0 0 20px !important;
}

.lc-promo-cta {
    display: inline-block !important;
    padding: 11px 22px !important;
    background: var(--lc-copper) !important;
    color: #0e192d !important;
    border: none !important;
    border-radius: 8px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: all 200ms ease !important;
}

.lc-promo-cta:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(118, 185, 0, 0.35) !important;
}

@media (max-width: 991px) {
    .lc-mobile-filter-trigger {
        display: inline-flex !important;
    }

    .lc-catalog-sidebar {
        position: fixed !important;
        top: 0 !important;
        left: -100% !important;
        width: 85% !important;
        max-width: 360px !important;
        height: 100vh !important;
        z-index: 1100 !important;
        border-radius: 0 24px 24px 0 !important;
        overflow-y: auto !important;
        transition: left 300ms cubic-bezier(0.25, 1, 0.5, 1) !important;
        background: rgba(255, 255, 255, 0.96) !important;
        backdrop-filter: blur(24px) !important;
        -webkit-backdrop-filter: blur(24px) !important;
    }

    .lc-catalog-sidebar.is-open {
        left: 0 !important;
    }

    .lc-filter-overlay {
        display: none;
        position: fixed !important;
        inset: 0 !important;
        z-index: 1099 !important;
        background: rgba(0, 0, 0, 0.4) !important;
    }

    .lc-filter-overlay.is-open {
        display: block !important;
    }
}

/* ── Listing SEO Section ── */
.listing-seo-section {
    margin-top: 56px !important;
    margin-bottom: 24px !important;
    width: 100% !important;
}

.listing-seo-content {
    border: 1px solid rgba(255, 255, 255, 0.64) !important;
    background: rgba(255, 255, 255, 0.42) !important;
    box-shadow: 0 24px 60px rgba(28, 28, 44, 0.07) !important;
    backdrop-filter: blur(34px) !important;
    -webkit-backdrop-filter: blur(34px) !important;
    border-radius: 32px !important;
    padding: 48px !important;
}

.listing-seo-content h2 {
    color: var(--lc-primary) !important;
    font-family: /* "Lilita One", */ "Libre Caslon Text", Georgia, serif !important;
    font-size: 32px !important;
    font-weight: 400 !important;
    line-height: 1.35 !important;
    margin-top: 0 !important;
    margin-bottom: 32px !important;
    position: relative !important;
    display: inline-block !important;
}

.listing-seo-content h2::after {
    content: "" !important;
    position: absolute !important;
    bottom: -10px !important;
    left: 0 !important;
    width: 80px !important;
    height: 3px !important;
    background: var(--lc-copper) !important;
    border-radius: 2px !important;
}

.listing-seo-content p {
    color: var(--lc-text) !important;
    font-family: "Hanken Grotesk", Poppins, sans-serif !important;
    font-size: 15px !important;
    line-height: 1.7 !important;
    margin-bottom: 20px !important;
    opacity: 0.9 !important;
}

.listing-seo-content p:last-child {
    margin-bottom: 0 !important;
}

@media (max-width: 768px) {
    .listing-seo-section {
        margin-top: 36px !important;
    }
    .listing-seo-content {
        padding: 32px 24px !important;
        border-radius: 24px !important;
    }
    .listing-seo-content h2 {
        font-size: 24px !important;
        margin-bottom: 24px !important;
    }
    .listing-seo-content h2::after {
        width: 60px !important;
        bottom: -8px !important;
    }
    .listing-seo-content p {
        font-size: 14px !important;
        line-height: 1.6 !important;
        margin-bottom: 16px !important;
    }
}

/* ── Testimonials Section ── */
.testimonials-section {
    margin-top: 56px !important;
    margin-bottom: 24px !important;
    width: 100% !important;
}

.testimonials-header {
    text-align: center !important;
    margin-bottom: 40px !important;
}

.testimonials-header .testimonials-eyebrow {
    display: inline-block !important;
    color: var(--lc-copper) !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    margin-bottom: 12px !important;
}

.testimonials-header h2 {
    color: var(--lc-primary) !important;
    font-family: /* "Lilita One", */ "Libre Caslon Text", Georgia, serif !important;
    font-size: clamp(28px, 4vw, 42px) !important;
    font-weight: 400 !important;
    line-height: 1.25 !important;
    margin: 0 0 16px 0 !important;
}

.testimonials-header p {
    color: var(--lc-text) !important;
    font-family: "Hanken Grotesk", Poppins, sans-serif !important;
    font-size: 16px !important;
    line-height: 1.5 !important;
    opacity: 0.8 !important;
    max-width: 600px !important;
    margin: 0 auto !important;
}

.testimonials-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 28px !important;
}

.testimonial-card {
    position: relative !important;
    overflow: hidden !important;
    border: 1px solid rgba(255, 255, 255, 0.68) !important;
    border-radius: 32px !important;
    padding: 36px !important;
    background: rgba(255, 255, 255, 0.58) !important;
    box-shadow: 0 24px 64px rgba(28, 28, 44, 0.06) !important;
    backdrop-filter: blur(32px) !important;
    -webkit-backdrop-filter: blur(32px) !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
}

.testimonial-card .lc-quote-mark {
    position: absolute !important;
    top: -24px !important;
    right: 20px !important;
    color: rgba(118, 185, 0, 0.18) !important;
    font-family: Georgia, serif !important;
    font-size: 110px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    pointer-events: none !important;
}

.testimonial-card .testimonial-stars {
    color: var(--lc-copper) !important;
    font-size: 14px !important;
    letter-spacing: 0.12em !important;
    margin-bottom: 20px !important;
    position: relative !important;
    z-index: 1 !important;
}

.testimonial-card .testimonial-quote {
    color: var(--lc-primary) !important;
    font-family: /* "Lilita One", */ "Libre Caslon Text", Georgia, serif !important;
    font-size: 18px !important;
    font-style: italic !important;
    font-weight: 400 !important;
    line-height: 1.55 !important;
    margin-top: 0 !important;
    margin-bottom: 28px !important;
    flex-grow: 1 !important;
    position: relative !important;
    z-index: 1 !important;
}

.testimonial-card .testimonial-author {
    display: flex !important;
    gap: 14px !important;
    align-items: center !important;
    position: relative !important;
    z-index: 1 !important;
}

.testimonial-card .author-avatar {
    display: inline-grid !important;
    width: 44px !important;
    height: 44px !important;
    place-items: center !important;
    border: 1px solid rgba(28, 28, 44, 0.12) !important;
    border-radius: 12px !important;
    color: var(--lc-primary) !important;
    background: rgba(28, 28, 44, 0.06) !important;
    font-family: "Hanken Grotesk", Poppins, sans-serif !important;
    font-size: 14px !important;
    font-weight: 800 !important;
}

.testimonial-card .author-details {
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
}

.testimonial-card .author-name {
    color: var(--lc-primary) !important;
    font-family: "Hanken Grotesk", Poppins, sans-serif !important;
    font-size: 14px !important;
    font-weight: 800 !important;
}

.testimonial-card .author-title {
    color: rgba(28, 28, 44, 0.68) !important;
    font-family: "Hanken Grotesk", Poppins, sans-serif !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
}

@media (max-width: 991px) {
    .testimonials-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 20px !important;
    }
}

@media (max-width: 650px) {
    .testimonials-section {
        margin-top: 40px !important;
    }
    .testimonials-grid {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
    }
    .testimonials-header h2 {
        font-size: 24px !important;
    }
    .testimonial-card {
        padding: 28px !important;
    }
}

/* ── Product Detail Page Theme Updates ── */
.lc-product-page {
    /* Top was 140px: clearance for the old in-flow header, which this page
       has to own itself because <main class="lc-product-page"> replaces the
       content_area block outright and never sits inside .theme-content-area.
       The v2 nav is fixed and the header partial's h-24 spacer now clears it,
       so all that is left here is the section rhythm every other page uses. */
    padding: clamp(52px, 6vw, 84px) 0 96px !important;
    background:
        radial-gradient(circle at -8% 10%, rgba(226, 224, 247, 0.72), transparent 34%),
        radial-gradient(circle at 108% 28%, rgba(253, 206, 170, 0.42), transparent 34%),
        var(--lc-bg) !important;
    color: var(--lc-text) !important;
    font-family: "Hanken Grotesk", Poppins, sans-serif !important;
}

.lc-product-detail-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr) !important;
    gap: 48px !important;
    align-items: start !important;
}

/* Gallery & Thumbnails */
.gallery-wrapper {
    display: flex !important;
    gap: 18px !important;
    align-items: flex-start !important;
}

.gallery-thumbnails {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    width: 80px !important;
    min-width: 80px !important;
    flex-shrink: 0 !important;
}

.gallery-thumbnails .thumb-item {
    width: 80px !important;
    height: 80px !important;
    border-radius: 16px !important;
    border: 1px solid rgba(28, 28, 44, 0.08) !important;
    background: rgba(255, 255, 255, 0.48) !important;
    box-shadow: 0 4px 12px rgba(28, 28, 44, 0.02) !important;
    backdrop-filter: blur(10px) !important;
    overflow: hidden !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 200ms ease !important;
}

.gallery-thumbnails .thumb-item:hover,
.gallery-thumbnails .thumb-item.active {
    border-color: var(--lc-copper) !important;
    transform: scale(1.03) !important;
    box-shadow: 0 8px 20px rgba(118, 185, 0, 0.15) !important;
}

.gallery-thumbnails .thumb-item img {
    max-width: 90% !important;
    max-height: 90% !important;
    object-fit: contain !important;
}

.main-image-viewport {
    flex-grow: 1 !important;
    aspect-ratio: 1 / 1 !important;
    border-radius: 32px !important;
    border: 1px solid rgba(255, 255, 255, 0.7) !important;
    background: rgba(255, 255, 255, 0.46) !important;
    backdrop-filter: blur(30px) !important;
    box-shadow: 0 24px 64px rgba(28, 28, 44, 0.06) !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 32px !important;
    box-sizing: border-box !important;
}

.main-image-viewport img {
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    transition: transform 300ms ease !important;
}

.main-image-viewport:hover img {
    transform: scale(1.06) !important;
}

/* Sharing Box */
.social-share-box {
    margin-top: 28px !important;
    border: 1px solid rgba(255, 255, 255, 0.6) !important;
    background: rgba(255, 255, 255, 0.38) !important;
    backdrop-filter: blur(20px) !important;
    box-shadow: 0 16px 36px rgba(28, 28, 44, 0.04) !important;
    border-radius: 24px !important;
    padding: 24px !important;
}

.social-share-title {
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    color: rgba(28, 28, 44, 0.6) !important;
    margin-bottom: 16px !important;
}

.social-buttons-grid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 12px !important;
}

.btn-share {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    background: rgba(255, 255, 255, 0.6) !important;
    border: 1px solid rgba(28, 28, 44, 0.06) !important;
    border-radius: 16px !important;
    padding: 12px 6px !important;
    cursor: pointer !important;
    color: var(--lc-primary) !important;
    font-family: inherit !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    transition: all 200ms ease !important;
}

.btn-share svg {
    width: 20px !important;
    height: 20px !important;
    fill: currentColor !important;
}

.btn-share.copy svg {
    fill: none !important;
}

.btn-share:hover {
    background: #fff !important;
    border-color: var(--lc-copper) !important;
    color: var(--lc-copper) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 20px rgba(118, 185, 0, 0.1) !important;
}

/* Info Column & Badges */
.product-info-col {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
}

.prod-badge-tag {
    display: inline-block !important;
    background: var(--lc-copper-soft) !important;
    color: var(--lc-copper) !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    padding: 6px 14px !important;
    border-radius: 20px !important;
    margin-bottom: 14px !important;
}

.info-brand-model {
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    color: rgba(28, 28, 44, 0.52) !important;
    margin-bottom: 8px !important;
}

.product-title {
    font-family: /* "Lilita One", */ "Libre Caslon Text", Georgia, serif !important;
    font-size: clamp(28px, 3.2vw, 44px) !important;
    font-weight: 400 !important;
    line-height: 1.15 !important;
    color: var(--lc-primary) !important;
    margin: 0 0 16px 0 !important;
}

.rating-summary {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 14px !important;
    margin-bottom: 24px !important;
}

.stars-gold {
    color: var(--lc-copper) !important;
    letter-spacing: 0.08em !important;
}

.review-count-link {
    color: rgba(28, 28, 44, 0.6) !important;
    cursor: pointer !important;
    text-decoration: underline !important;
    font-weight: 600 !important;
}

.review-count-link:hover {
    color: var(--lc-copper) !important;
}

/* Pricing Wrapper */
.pricing-wrapper {
    width: 100% !important;
    border-top: 1px solid rgba(28, 28, 44, 0.08) !important;
    border-bottom: 1px solid rgba(28, 28, 44, 0.08) !important;
    padding: 20px 0 !important;
    margin-bottom: 24px !important;
}

.current-price {
    font-size: 32px !important;
    font-weight: 900 !important;
    color: var(--lc-primary) !important;
}

.mrp-cross {
    font-size: 18px !important;
    text-decoration: line-through !important;
    color: rgba(28, 28, 44, 0.4) !important;
}

.savings-percent {
    display: inline-block !important;
    background: #eefdf4 !important;
    color: #10b981 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    padding: 4px 10px !important;
    border-radius: 6px !important;
    margin-top: 8px !important;
}

/* Configurations & Selectors */
.section-label {
    display: block !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    color: rgba(28, 28, 44, 0.68) !important;
    margin-bottom: 8px !important;
}

.selector-dropdown {
    width: 100% !important;
    height: 48px !important;
    border-radius: 14px !important;
    border: 1px solid rgba(28, 28, 44, 0.12) !important;
    background: rgba(255, 255, 255, 0.8) !important;
    padding-inline: 14px !important;
    font-family: inherit !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: var(--lc-primary) !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
    transition: all 200ms ease !important;
}

.selector-dropdown:focus {
    outline: none !important;
    border-color: var(--lc-copper) !important;
    box-shadow: 0 0 0 3px var(--lc-copper-soft) !important;
}

/* Qty & Bulk Card */
.qty-bulk-container {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
}

.qty-row {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    margin-bottom: 20px !important;
}

.qty-input-wrapper {
    display: flex !important;
    align-items: center !important;
    border: 1px solid rgba(28, 28, 44, 0.12) !important;
    border-radius: 14px !important;
    background: #fff !important;
    overflow: hidden !important;
    width: 120px !important;
    height: 48px !important;
    box-sizing: border-box !important;
}

.qty-btn {
    border: none !important;
    background: none !important;
    width: 36px !important;
    height: 100% !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    color: rgba(28, 28, 44, 0.6) !important;
    transition: background 150ms ease !important;
}

.qty-btn:hover {
    background: rgba(28, 28, 44, 0.04) !important;
    color: var(--lc-copper) !important;
}

.qty-field {
    border: none !important;
    background: none !important;
    width: 48px !important;
    height: 100% !important;
    text-align: center !important;
    font-family: inherit !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: var(--lc-primary) !important;
}

.qty-field::-webkit-inner-spin-button,
.qty-field::-webkit-outer-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}

/* Bulk Pricing Table */
.bulk-tiers-box {
    width: 100% !important;
    border: 1px solid rgba(28, 28, 44, 0.08) !important;
    background: rgba(255, 255, 255, 0.3) !important;
    border-radius: 20px !important;
    padding: 16px !important;
    margin-bottom: 20px !important;
    box-sizing: border-box !important;
}

.bulk-tiers-title {
    font-size: 12px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    color: var(--lc-primary) !important;
    margin-bottom: 12px !important;
    display: flex !important;
    align-items: center !important;
}

.bulk-table {
    width: 100% !important;
    border-collapse: collapse !important;
    font-size: 13px !important;
}

.bulk-table th {
    text-align: left !important;
    color: rgba(28, 28, 44, 0.5) !important;
    font-weight: 700 !important;
    padding-bottom: 8px !important;
}

.bulk-table td {
    padding: 8px 0 !important;
    border-top: 1px solid rgba(28, 28, 44, 0.05) !important;
    font-weight: 600 !important;
}

.btn-bulk-add {
    background: var(--lc-copper-soft) !important;
    color: var(--lc-copper) !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 4px 10px !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    cursor: pointer !important;
    transition: all 180ms ease !important;
}

.btn-bulk-add:hover {
    background: var(--lc-copper) !important;
    color: #fff !important;
}

/* Calculator Panel */
.dynamic-price-calc-box {
    width: 100% !important;
    border: 1px dashed rgba(118, 185, 0, 0.34) !important;
    background: rgba(118, 185, 0, 0.03) !important;
    border-radius: 20px !important;
    padding: 20px !important;
    margin-bottom: 24px !important;
    box-sizing: border-box !important;
}

.calc-row {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    font-size: 14px !important;
    margin-bottom: 10px !important;
    color: rgba(28, 28, 44, 0.7) !important;
    font-weight: 600 !important;
}

.calc-row.discount-applied {
    color: #10b981 !important;
}

.calc-row.savings {
    color: #10b981 !important;
    font-weight: 700 !important;
}

.calc-row.grand-total {
    border-top: 1px solid rgba(28, 28, 44, 0.08) !important;
    padding-top: 12px !important;
    margin-bottom: 0 !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    color: var(--lc-primary) !important;
}

/* CTA Buttons Row */
.cta-buttons-row {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 16px !important;
    width: 100% !important;
}

.btn-product-action {
    height: 52px !important;
    border-radius: 999px !important;
    font-family: inherit !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    transition: all 220ms ease !important;
}

.btn-product-action.add-cart {
    background: transparent !important;
    border: 2px solid var(--lc-primary) !important;
    color: var(--lc-primary) !important;
}

.btn-product-action.add-cart:hover {
    background: var(--lc-primary) !important;
    color: #fff !important;
}

.btn-product-action.buy-now {
    background: var(--lc-copper) !important;
    border: 2px solid var(--lc-copper) !important;
    color: #fff !important;
    box-shadow: 0 10px 24px rgba(118, 185, 0, 0.15) !important;
}

.btn-product-action.buy-now:hover {
    background: var(--lc-primary) !important;
    border-color: var(--lc-primary) !important;
    box-shadow: 0 10px 24px rgba(28, 28, 44, 0.15) !important;
    transform: translateY(-2px) !important;
}

/* Frequently Bought Together Bundle */
.bundle-section {
    margin-top: 64px !important;
    border: 1px solid rgba(255, 255, 255, 0.6) !important;
    background: rgba(255, 255, 255, 0.38) !important;
    backdrop-filter: blur(34px) !important;
    box-shadow: 0 24px 64px rgba(28, 28, 44, 0.06) !important;
    border-radius: 32px !important;
    padding: 40px !important;
    box-sizing: border-box !important;
}

.bundle-title {
    font-family: /* "Lilita One", */ "Libre Caslon Text", Georgia, serif !important;
    font-size: 26px !important;
    font-weight: 400 !important;
    margin: 0 0 28px 0 !important;
    color: var(--lc-primary) !important;
}

.bundle-flex-container {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 20px !important;
}

.bundle-card-item {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    background: rgba(255, 255, 255, 0.6) !important;
    border: 1px solid rgba(28, 28, 44, 0.06) !important;
    border-radius: 20px !important;
    padding: 16px 20px !important;
    flex: 1 1 250px !important;
    box-sizing: border-box !important;
}

.bundle-checkbox {
    width: 20px !important;
    height: 20px !important;
    accent-color: var(--lc-copper) !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
}

.bundle-img {
    width: 60px !important;
    height: 60px !important;
    object-fit: contain !important;
    border-radius: 8px !important;
    background: #fff !important;
    padding: 4px !important;
    box-shadow: 0 4px 10px rgba(0,0,0,0.03) !important;
}

.bundle-item-details {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
}

.bundle-item-name {
    font-size: 13px !important;
    font-weight: 700 !important;
    color: var(--lc-primary) !important;
    line-height: 1.3 !important;
}

.bundle-item-price {
    font-size: 14px !important;
    font-weight: 800 !important;
    color: var(--lc-copper) !important;
}

.bundle-plus-icon {
    font-size: 24px !important;
    font-weight: 400 !important;
    color: rgba(28, 28, 44, 0.3) !important;
    user-select: none !important;
}

.bundle-summary-card {
    background: var(--lc-primary) !important;
    color: #fff !important;
    border-radius: 24px !important;
    padding: 24px 32px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 8px !important;
    min-width: 200px !important;
    flex-shrink: 0 !important;
    box-shadow: 0 16px 36px rgba(28, 28, 44, 0.16) !important;
    box-sizing: border-box !important;
}

.bundle-summary-label {
    font-size: 11px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.12em !important;
    color: rgba(255, 255, 255, 0.6) !important;
}

.bundle-summary-price {
    font-size: 26px !important;
    font-weight: 900 !important;
    color: #fff !important;
    margin-bottom: 8px !important;
}

.btn-add-bundle {
    background: var(--lc-copper) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 999px !important;
    padding: 12px 20px !important;
    font-family: inherit !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    cursor: pointer !important;
    transition: all 200ms ease !important;
    width: 100% !important;
    text-align: center !important;
}

.btn-add-bundle:hover {
    background: #fff !important;
    color: var(--lc-primary) !important;
    transform: translateY(-1px) !important;
}

/* Technical Details and Specs Card Layout */
.specs-overview-section {
    margin-top: 64px !important;
    width: 100% !important;
}

.specs-overview-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 0.58fr) !important;
    gap: 48px !important;
    align-items: start !important;
}

.section-title-modern {
    font-family: /* "Lilita One", */ "Libre Caslon Text", Georgia, serif !important;
    font-size: 26px !important;
    font-weight: 400 !important;
    color: var(--lc-primary) !important;
    margin: 0 0 20px 0 !important;
}

.overview-description p {
    font-size: 15px !important;
    line-height: 1.7 !important;
    color: rgba(28, 28, 44, 0.8) !important;
    margin-bottom: 16px !important;
}

.overview-description p:last-child {
    margin-bottom: 0 !important;
}

/* Features grid */
.features-cards-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 20px !important;
}

.feature-card {
    border: 1px solid rgba(255, 255, 255, 0.6) !important;
    background: rgba(255, 255, 255, 0.38) !important;
    backdrop-filter: blur(20px) !important;
    border-radius: 20px !important;
    padding: 24px !important;
    box-shadow: 0 8px 24px rgba(28, 28, 44, 0.03) !important;
    display: flex !important;
    flex-direction: column !important;
    box-sizing: border-box !important;
}

.feature-icon-wrapper {
    width: 44px !important;
    height: 44px !important;
    border-radius: 12px !important;
    background: var(--lc-copper-soft) !important;
    color: var(--lc-copper) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-bottom: 16px !important;
}

.feature-card-title {
    font-size: 14px !important;
    font-weight: 800 !important;
    color: var(--lc-primary) !important;
    margin-bottom: 8px !important;
}

.feature-card-desc {
    font-size: 12.5px !important;
    line-height: 1.5 !important;
    color: rgba(28, 28, 44, 0.66) !important;
}

/* Tech Specs Card (Right Column) */
.tech-specs-card {
    border: 1px solid rgba(255, 255, 255, 0.6) !important;
    background: rgba(255, 255, 255, 0.44) !important;
    backdrop-filter: blur(34px) !important;
    box-shadow: 0 24px 64px rgba(28, 28, 44, 0.06) !important;
    border-radius: 28px !important;
    padding: 32px !important;
    box-sizing: border-box !important;
}

.tech-specs-header {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin-bottom: 24px !important;
}

.tech-specs-icon-wrapper {
    width: 36px !important;
    height: 36px !important;
    border-radius: 10px !important;
    background: rgba(28, 28, 44, 0.06) !important;
    color: var(--lc-primary) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.tech-specs-header h3 {
    margin: 0 !important;
    font-family: /* "Lilita One", */ "Libre Caslon Text", Georgia, serif !important;
    font-size: 20px !important;
    font-weight: 400 !important;
    color: var(--lc-primary) !important;
}

.tech-specs-rows {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    margin-bottom: 28px !important;
}

.spec-row-item {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    border-bottom: 1px solid rgba(28, 28, 44, 0.06) !important;
    padding-bottom: 12px !important;
}

.spec-row-item:last-child {
    border-bottom: none !important;
    padding-bottom: 0 !important;
}

.spec-label {
    font-size: 11px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    color: rgba(28, 28, 44, 0.48) !important;
}

.spec-value {
    font-size: 13.5px !important;
    font-weight: 700 !important;
    color: var(--lc-primary) !important;
    line-height: 1.4 !important;
}

.btn-download-brochure {
    width: 100% !important;
    height: 48px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(28, 28, 44, 0.16) !important;
    background: rgba(255, 255, 255, 0.7) !important;
    color: var(--lc-primary) !important;
    font-family: inherit !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    box-shadow: 0 4px 12px rgba(28, 28, 44, 0.02) !important;
    transition: all 200ms ease !important;
    box-sizing: border-box !important;
}

.btn-download-brochure:hover {
    background: var(--lc-primary) !important;
    color: #fff !important;
    border-color: var(--lc-primary) !important;
    transform: translateY(-1px) !important;
}

/* Suggested Products */
.suggested-products-section {
    margin-top: 64px !important;
    width: 100% !important;
}

.suggested-products-section .section-title {
    font-family: /* "Lilita One", */ "Libre Caslon Text", Georgia, serif !important;
    font-size: 26px !important;
    font-weight: 400 !important;
    color: var(--lc-primary) !important;
    margin-bottom: 28px !important;
}

.suggested-products-grid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 24px !important;
}

.suggested-products-grid .product-card {
    border: 1px solid rgba(255, 255, 255, 0.6) !important;
    background: rgba(255, 255, 255, 0.38) !important;
    backdrop-filter: blur(24px) !important;
    border-radius: 24px !important;
    padding: 20px !important;
    box-shadow: 0 12px 36px rgba(28, 28, 44, 0.04) !important;
    display: flex !important;
    flex-direction: column !important;
    box-sizing: border-box !important;
    transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease !important;
    position: relative !important;
}

.suggested-products-grid .product-card:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 16px 44px rgba(28, 28, 44, 0.08) !important;
    border-color: var(--lc-copper) !important;
}

.product-card-badge {
    position: absolute !important;
    top: 16px !important;
    left: 16px !important;
    font-size: 9px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    padding: 4px 10px !important;
    border-radius: 20px !important;
    z-index: 2 !important;
}

.prod-badge-premium {
    background: #e0f2fe !important;
    color: #0369a1 !important;
}

.prod-badge-essential {
    background: #fef3c7 !important;
    color: #b45309 !important;
}

.product-img-box {
    aspect-ratio: 1 / 1 !important;
    border-radius: 16px !important;
    background: #fff !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 16px !important;
    margin-bottom: 16px !important;
    box-sizing: border-box !important;
}

.product-img-box img {
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
}

.product-info-meta {
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    color: rgba(28, 28, 44, 0.44) !important;
    margin-bottom: 6px !important;
}

.suggested-products-grid .product-card h3 {
    margin: 0 0 6px 0 !important;
    font-family: /* "Lilita One", */ "Libre Caslon Text", Georgia, serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    color: var(--lc-primary) !important;
    line-height: 1.3 !important;
}

.prod-desc {
    font-size: 12px !important;
    line-height: 1.4 !important;
    color: rgba(28, 28, 44, 0.6) !important;
    margin-bottom: 16px !important;
    flex-grow: 1 !important;
}

.product-card-pricing {
    font-size: 16px !important;
    font-weight: 800 !important;
    color: var(--lc-primary) !important;
    margin-bottom: 16px !important;
    display: flex !important;
    align-items: baseline !important;
    gap: 8px !important;
}

.product-card-pricing .original {
    font-size: 12px !important;
    text-decoration: line-through !important;
    color: rgba(28, 28, 44, 0.38) !important;
}

.product-btn-buy {
    width: 100% !important;
    height: 38px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(28, 28, 44, 0.1) !important;
    background: #fff !important;
    color: var(--lc-primary) !important;
    font-family: inherit !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    cursor: pointer !important;
    transition: all 180ms ease !important;
}

.product-card:hover .product-btn-buy {
    background: var(--lc-copper) !important;
    color: #fff !important;
    border-color: var(--lc-copper) !important;
}

/* Customer Reviews Summary Chart & Comments List */
.reviews-section {
    margin-top: 64px !important;
    border: 1px solid rgba(255, 255, 255, 0.6) !important;
    background: rgba(255, 255, 255, 0.38) !important;
    backdrop-filter: blur(34px) !important;
    box-shadow: 0 24px 64px rgba(28, 28, 44, 0.06) !important;
    border-radius: 32px !important;
    padding: 40px !important;
    box-sizing: border-box !important;
}

.reviews-title {
    font-family: /* "Lilita One", */ "Libre Caslon Text", Georgia, serif !important;
    font-size: 26px !important;
    font-weight: 400 !important;
    color: var(--lc-primary) !important;
    margin: 0 0 28px 0 !important;
}

.reviews-summary-layout {
    display: flex !important;
    gap: 48px !important;
    align-items: center !important;
    border-bottom: 1px solid rgba(28, 28, 44, 0.08) !important;
    padding-bottom: 32px !important;
    margin-bottom: 32px !important;
}

.rating-score-box {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    background: rgba(255, 255, 255, 0.6) !important;
    border: 1px solid rgba(28, 28, 44, 0.06) !important;
    border-radius: 24px !important;
    padding: 24px 32px !important;
    min-width: 160px !important;
    box-shadow: 0 8px 24px rgba(28, 28, 44, 0.02) !important;
}

.score-num {
    font-size: 48px !important;
    font-weight: 900 !important;
    color: var(--lc-primary) !important;
    line-height: 1 !important;
    margin-bottom: 8px !important;
}

.star-bars-col {
    flex-grow: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
}

.bar-row {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    font-size: 12.5px !important;
    font-weight: 700 !important;
    color: rgba(28, 28, 44, 0.7) !important;
}

.bar-track {
    flex-grow: 1 !important;
    height: 6px !important;
    background: rgba(28, 28, 44, 0.06) !important;
    border-radius: 3px !important;
    overflow: hidden !important;
}

.bar-fill {
    height: 100% !important;
    background: var(--lc-copper) !important;
    border-radius: 3px !important;
}

/* Reviews List */
.reviews-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
}

.review-item {
    border: 1px solid rgba(28, 28, 44, 0.05) !important;
    background: rgba(255, 255, 255, 0.28) !important;
    border-radius: 24px !important;
    padding: 28px !important;
    box-sizing: border-box !important;
}

.review-item-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    margin-bottom: 16px !important;
}

.reviewer-info {
    display: flex !important;
    gap: 14px !important;
    align-items: center !important;
}

.reviewer-avatar {
    width: 40px !important;
    height: 40px !important;
    border-radius: 12px !important;
    background: rgba(28, 28, 44, 0.06) !important;
    border: 1px solid rgba(28, 28, 44, 0.08) !important;
    color: var(--lc-primary) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 13px !important;
    font-weight: 800 !important;
}

.reviewer-name {
    font-size: 13.5px !important;
    font-weight: 800 !important;
    color: var(--lc-primary) !important;
    margin-bottom: 2px !important;
}

.verified-badge {
    display: inline-flex !important;
    align-items: center !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    color: #10b981 !important;
    background: #eefdf4 !important;
    padding: 2px 6px !important;
    border-radius: 4px !important;
    margin-left: 6px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.02em !important;
}

.review-date {
    font-size: 12px !important;
    font-weight: 600 !important;
    color: rgba(28, 28, 44, 0.4) !important;
}

.review-comment {
    font-size: 14px !important;
    line-height: 1.6 !important;
    color: rgba(28, 28, 44, 0.8) !important;
    margin: 0 !important;
}

/* Responsive Styles */
@media (max-width: 1024px) {
    .lc-product-detail-grid {
        grid-template-columns: 1fr !important;
        gap: 36px !important;
    }
    .specs-overview-grid {
        grid-template-columns: 1fr !important;
        gap: 36px !important;
    }
    .suggested-products-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 20px !important;
    }
}

@media (max-width: 768px) {
    .gallery-wrapper {
        flex-direction: column-reverse !important;
    }
    .gallery-thumbnails {
        flex-direction: row !important;
        width: 100% !important;
        overflow-x: auto !important;
        padding-bottom: 8px !important;
    }
    .social-buttons-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
    .reviews-summary-layout {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 24px !important;
    }
    .rating-score-box {
        align-self: center !important;
    }
}

@media (max-width: 550px) {
    .cta-buttons-row {
        grid-template-columns: 1fr !important;
    }
    .features-cards-grid {
        grid-template-columns: 1fr !important;
    }
    .suggested-products-grid {
        grid-template-columns: 1fr !important;
    }
    .review-item-header {
        flex-direction: column !important;
        gap: 12px !important;
    }
    .review-date {
        align-self: flex-start !important;
    }
}

/* Bulk Table Active Row Highlight */
.bulk-table tr.active-tier {
    background: rgba(118, 185, 0, 0.08) !important;
}
.bulk-table tr.active-tier td {
    color: var(--lc-copper) !important;
}

/* Product detail page final layout corrections */
.lc-product-page > .bundle-section,
.lc-product-page > .specs-overview-section,
.lc-product-page > .suggested-products-section,
.lc-product-page > .reviews-section {
    width: min(1240px, calc(100% - 48px)) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.lc-product-page > .bundle-section {
    margin-top: 72px !important;
}

.lc-product-page > .specs-overview-section,
.lc-product-page > .suggested-products-section,
.lc-product-page > .reviews-section {
    margin-top: 64px !important;
}

.lc-product-page .suggested-products-section .container-full {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.lc-product-page .qty-row {
    align-items: center !important;
    gap: 16px !important;
}

.lc-product-page .qty-input-wrapper {
    width: 132px !important;
    height: 48px !important;
    display: grid !important;
    grid-template-columns: 40px minmax(44px, 1fr) 40px !important;
    align-items: center !important;
    border: 1.5px solid rgba(28, 28, 44, 0.14) !important;
    border-radius: 14px !important;
    background: rgba(255, 255, 255, 0.76) !important;
    box-shadow: 0 8px 22px rgba(28, 28, 44, 0.05) !important;
    overflow: hidden !important;
}

.lc-product-page .qty-btn {
    width: 40px !important;
    height: 48px !important;
    min-width: 40px !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: rgba(28, 28, 44, 0.62) !important;
    border: 0 !important;
    background: transparent !important;
}

.lc-product-page .qty-btn:hover {
    background: rgba(118, 185, 0, 0.09) !important;
    color: var(--lc-copper) !important;
}

.lc-product-page .qty-field {
    width: 100% !important;
    height: 48px !important;
    min-width: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    text-align: center !important;
    border: 0 !important;
    background: transparent !important;
    line-height: 48px !important;
    font-size: 15px !important;
    font-weight: 800 !important;
}

.lc-product-page .qty-field:focus {
    outline: 0 !important;
    box-shadow: none !important;
}

.lc-product-page .bulk-tiers-box {
    padding: 18px !important;
    border-radius: 20px !important;
    background: rgba(255, 255, 255, 0.48) !important;
    border: 1px solid rgba(28, 28, 44, 0.1) !important;
    box-shadow: 0 14px 34px rgba(28, 28, 44, 0.04) !important;
}

.lc-product-page .bulk-tiers-title {
    justify-content: flex-start !important;
    gap: 8px !important;
    margin-bottom: 14px !important;
    color: var(--lc-primary) !important;
}

.lc-product-page .bulk-table {
    border-collapse: separate !important;
    border-spacing: 0 !important;
    overflow: hidden !important;
    border: 1px solid rgba(28, 28, 44, 0.1) !important;
    border-radius: 12px !important;
    background: rgba(255, 255, 255, 0.54) !important;
}

.lc-product-page .bulk-table th,
.lc-product-page .bulk-table td {
    padding: 12px 14px !important;
    text-align: center !important;
    vertical-align: middle !important;
    border-top: 0 !important;
    border-right: 1px solid rgba(28, 28, 44, 0.09) !important;
    border-bottom: 1px solid rgba(28, 28, 44, 0.08) !important;
}

.lc-product-page .bulk-table th:first-child,
.lc-product-page .bulk-table td:first-child {
    text-align: left !important;
}

.lc-product-page .bulk-table th:last-child,
.lc-product-page .bulk-table td:last-child {
    border-right: 0 !important;
}

.lc-product-page .bulk-table tr:last-child td {
    border-bottom: 0 !important;
}

.lc-product-page .bulk-table th {
    background: rgba(28, 28, 44, 0.025) !important;
    font-size: 11px !important;
    letter-spacing: 0.02em !important;
}

.lc-product-page .btn-bulk-add {
    min-width: 74px !important;
    padding: 7px 12px !important;
    border-radius: 999px !important;
    text-align: center !important;
    white-space: nowrap !important;
}

@media (max-width: 900px) {
    .lc-product-page > .bundle-section,
    .lc-product-page > .specs-overview-section,
    .lc-product-page > .suggested-products-section,
    .lc-product-page > .reviews-section {
        width: min(100% - 28px, 1240px) !important;
    }

    .lc-product-page .bulk-table {
        display: block !important;
        overflow-x: auto !important;
        white-space: nowrap !important;
    }
}

/* Home page title size pass */

.lc-home .lc-catalog-slide h3 {
    font-size: clamp(32px, 3.6vw, 52px) !important;
}

.lc-home .lc-coupon-copy h2 {
    font-size: clamp(30px, 4vw, 54px) !important;
}

@media (max-width: 640px) {

    .lc-home .lc-coupon-copy h2,
.lc-home .lc-catalog-slide h3 {
        font-size: clamp(24px, 7vw, 32px) !important;
    }
}

/* Home catalogue hero carousel refresh */
.lc-home .lc-catalog-spotlight-section {
    padding-block: clamp(44px, 6vw, 78px) clamp(52px, 7vw, 92px) !important;
}

.lc-home .lc-catalog-slider {
    min-height: clamp(360px, 39vw, 496px) !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
    contain: layout !important;
}

.lc-home .lc-catalog-slides {
    overflow: visible !important;
    border-radius: 0 !important;
    contain: layout !important;
}

.lc-home .lc-catalog-slide {
    top: 0 !important;
    bottom: auto !important;
    left: 0 !important;
    right: 0 !important;
    margin-inline: auto !important;
    width: min(78%, calc(100% - 220px)) !important;
    min-height: clamp(336px, 36vw, 472px) !important;
    grid-template-columns: minmax(360px, 0.95fr) minmax(280px, 0.85fr) !important;
    gap: clamp(24px, 4vw, 60px) !important;
    padding: clamp(38px, 5vw, 70px) clamp(34px, 5vw, 74px) !important;
    border: 1px solid rgba(255, 255, 255, 0.92) !important;
    border-radius: 34px !important;
    background-color: rgba(253, 249, 244, 0.94) !important;
    background-repeat: no-repeat !important;
    background-size: auto, cover !important;
    background-position: center, center !important;
    box-shadow: 0 28px 78px rgba(28, 28, 44, 0.09), inset 0 1px 0 rgba(255, 255, 255, 0.95) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translate3d(118%, 0, 0) scale(0.96) !important;
    transition: transform 520ms cubic-bezier(0.22, 1, 0.36, 1), opacity 320ms ease, visibility 320ms ease !important;
}

.lc-home .lc-catalog-slide:nth-child(1) {
    background-image:
        linear-gradient(135deg, rgba(245, 230, 225, 0.95), rgba(235, 210, 200, 0.9)),
        url("https://demo20.fiberlasercutting.in/Lasercart/lenses_banner_bg.png") !important;
}

.lc-home .lc-catalog-slide:nth-child(2) {
    background-image:
        linear-gradient(135deg, rgba(235, 240, 245, 0.95), rgba(215, 225, 235, 0.9)),
        url("https://demo20.fiberlasercutting.in/Lasercart/nozzles_banner_bg.png") !important;
}

.lc-home .lc-catalog-slide:nth-child(3) {
    background-image:
        linear-gradient(135deg, rgba(245, 245, 235, 0.95), rgba(225, 225, 210, 0.9)),
        url("https://demo20.fiberlasercutting.in/Lasercart/ceramics_banner_bg.png") !important;
}

.lc-home .lc-catalog-slide:nth-child(4) {
    background-image:
        linear-gradient(135deg, rgba(240, 240, 240, 0.95), rgba(220, 225, 230, 0.9)),
        url("https://demo20.fiberlasercutting.in/Lasercart/hero_banner_bg.png") !important;
}

.lc-home .lc-catalog-slide:nth-child(5) {
    background-image:
        linear-gradient(135deg, rgba(230, 245, 240, 0.95), rgba(210, 230, 220, 0.9)),
        url("/photoset/assets/02390777-9ded-4992-943d-9f5d3322a20a.png") !important;
}

.lc-home .lc-catalog-slide.is-active {
    opacity: 1 !important;
    visibility: visible !important;
    z-index: 3 !important;
    transform: translate3d(0, 0, 0) scale(1) !important;
}

.lc-home .lc-catalog-slide.is-next,
.lc-home .lc-catalog-slide.is-prev {
    opacity: 0.28 !important;
    visibility: visible !important;
    z-index: 1 !important;
    pointer-events: none !important;
}

.lc-home .lc-catalog-slide.is-next {
    transform: translate3d(calc(100% + clamp(28px, 3vw, 44px)), 0, 0) scale(0.96) !important;
}

.lc-home .lc-catalog-slide.is-prev {
    transform: translate3d(calc(-100% - clamp(28px, 3vw, 44px)), 0, 0) scale(0.96) !important;
}

.lc-home .lc-catalog-slide-copy {
    position: relative !important;
    z-index: 2 !important;
}

.lc-home .lc-catalog-slide-copy > span {
    min-height: 30px !important;
    background: rgba(255, 255, 255, 0.88) !important;
    font-size: 10px !important;
}

.lc-home .lc-catalog-slide h3 {
    font-size: clamp(34px, 4vw, 58px) !important;
    line-height: 1.08 !important;
}

.lc-home .lc-catalog-slide p {
    max-width: 500px !important;
    font-size: clamp(14px, 1.2vw, 16px) !important;
}

.lc-home .lc-catalog-slide figure {
    position: relative !important;
    z-index: 2 !important;
    min-height: clamp(210px, 25vw, 338px) !important;
    border-radius: 28px !important;
    background: rgba(255, 255, 255, 0.84) !important;
    box-shadow: 0 22px 58px rgba(28, 28, 44, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.96) !important;
}

.lc-home .lc-catalog-slide img {
    width: min(76%, 340px) !important;
    max-height: 260px !important;
    aspect-ratio: auto !important;
    border-radius: 22px !important;
    object-fit: contain !important;
    transform: translateY(0) !important;
}

.lc-home .lc-catalog-dots {
    bottom: 24px !important;
    gap: 7px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.lc-home .lc-catalog-dots button {
    width: 6px !important;
    height: 6px !important;
    min-width: 6px !important;
    border: 0 !important;
    border-radius: 999px !important;
    padding: 0 !important;
    background: rgba(28, 28, 44, 0.12) !important;
    box-shadow: none !important;
    opacity: 1 !important;
    transform: none !important;
    transition: width 180ms ease, background 180ms ease !important;
}

.lc-home .lc-catalog-dots button.is-active {
    width: 22px !important;
    height: 6px !important;
    min-width: 22px !important;
    background: #1c1c2c !important;
    transform: none !important;
}

.lc-home .lc-catalog-slider-controls {
    right: clamp(26px, 4vw, 52px) !important;
    bottom: 22px !important;
}

.lc-home .lc-catalog-slider-controls button {
    width: 52px !important;
    height: 52px !important;
}

@media (max-width: 980px) {
    .lc-home .lc-catalog-slide {
        width: min(86%, calc(100% - 82px)) !important;
        grid-template-columns: minmax(0, 1fr) minmax(220px, 0.78fr) !important;
    }
}

@media (max-width: 640px) {
    /* Each slide is position:absolute (stacked for the slide-transition
       effect), so the slider's height is a fixed min-height independent of
       which slide is active — it does NOT grow to fit the active slide's
       actual content. 620/590px was sized for short copy like "Protective
       Windows" (1-line heading, 2-line description); longer copy like
       "Precision Focus Lenses" or "Advanced Cutting Nozzles" (2-line
       heading, 3-line description) grows taller than that and pokes out
       past the container's bottom edge — which is also where the dots and
       arrow controls are anchored, so the card visually bleeds into the
       section below it. Sized up to comfortably fit the tallest slide
       across all 5, so every slide ends at the same clean boundary. */
    .lc-home .lc-catalog-slider {
        min-height: 700px !important;
    }

    .lc-home .lc-catalog-slide {
        top: 0 !important;
        left: 14px !important;
        width: calc(100% - 28px) !important;
        min-height: 670px !important;
        grid-template-columns: 1fr !important;
        padding: 24px 20px 82px !important;
    }

    .lc-home .lc-catalog-slide.is-next {
        transform: translate3d(calc(100% + 20px), 0, 0) scale(0.96) !important;
    }

    .lc-home .lc-catalog-slide.is-prev {
        transform: translate3d(calc(-100% - 20px), 0, 0) scale(0.96) !important;
    }

    .lc-home .lc-catalog-slide figure {
        order: -1 !important;
        min-height: 220px !important;
    }

    .lc-home .lc-catalog-dots {
        bottom: 22px !important;
    }

    .lc-home .lc-catalog-slider-controls {
        right: 26px !important;
        bottom: 18px !important;
    }
}

/* Bulk calculator compact final override */

.lc-home .lc-bulk-selectors {
    grid-area: selectors !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px 12px !important;
    margin: 10px 0 0 !important;
}

.lc-home .lc-bulk-selectors label:last-child {
    grid-column: 1 / -1 !important;
}

.lc-home .lc-bulk-selectors span {
    margin-bottom: 6px !important;
    font-size: 9px !important;
    letter-spacing: 0.16em !important;
}

.lc-home .lc-bulk-selectors select {
    min-height: 38px !important;
    padding: 0 14px !important;
    border-radius: 12px !important;
    font-size: 12px !important;
}

@media (max-width: 720px) {

    .lc-home .lc-bulk-selectors {
        grid-template-columns: 1fr !important;
    }
}

/* Bulk calculator refinements from visual QA */

.lc-home .lc-bulk-selectors {
    grid-template-columns: minmax(120px, 0.7fr) minmax(100px, 0.56fr) minmax(160px, 1fr) !important;
    gap: 12px !important;
}

.lc-home .lc-bulk-selectors label:last-child {
    grid-column: auto !important;
}

@keyframes lcBulkTierSelect {
    0% {
        transform: scale(0.985);
        box-shadow: 0 10px 22px rgba(118, 185, 0, 0.04);
    }
    55% {
        transform: scale(1.025);
        box-shadow: 0 20px 42px rgba(118, 185, 0, 0.2);
    }
    100% {
        transform: scale(1);
    }
}

@media (max-width: 980px) {

    .lc-home .lc-bulk-selectors {
        grid-template-columns: 1fr 1fr !important;
    }

    .lc-home .lc-bulk-selectors label:last-child {
        grid-column: 1 / -1 !important;
    }
}

/* Carousel dots: match snippet-style horizontal pagination */
.lc-home .lc-catalog-dots,
.hero-carousel-dots {
    position: absolute !important;
    left: 50% !important;
    right: auto !important;
    bottom: 24px !important;
    z-index: 10 !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: translateX(-50%) !important;
}

.lc-home .lc-catalog-dots button,
.lc-home .lc-catalog-dots [data-lc-catalog-dot],
.hero-dot {
    appearance: none !important;
    -webkit-appearance: none !important;
    display: block !important;
    flex: 0 0 auto !important;
    inline-size: 7px !important;
    block-size: 7px !important;
    width: 7px !important;
    min-width: 7px !important;
    max-width: 7px !important;
    height: 7px !important;
    min-height: 7px !important;
    max-height: 7px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: rgba(28, 28, 44, 0.14) !important;
    box-shadow: none !important;
    color: transparent !important;
    font-size: 0 !important;
    line-height: 0 !important;
    opacity: 1 !important;
    overflow: hidden !important;
    transform: none !important;
    writing-mode: horizontal-tb !important;
    cursor: pointer !important;
    transition: width 220ms ease, max-width 220ms ease, background 220ms ease !important;
}

.lc-home .lc-catalog-dots button.is-active,
.lc-home .lc-catalog-dots [data-lc-catalog-dot].is-active,
.hero-dot.active {
    inline-size: 24px !important;
    block-size: 7px !important;
    width: 24px !important;
    min-width: 24px !important;
    max-width: 24px !important;
    height: 7px !important;
    min-height: 7px !important;
    max-height: 7px !important;
    border-radius: 999px !important;
    background: #1c1c2c !important;
    transform: none !important;
}

/* Keep header search expanded at all viewport widths */
.lc-header-actions .lc-header-search {
    display: inline-grid !important;
    visibility: visible !important;
    opacity: 1 !important;
}

@media (max-width: 640px) {
    .lc-header-actions .lc-header-search {
        display: inline-grid !important;
        grid-template-columns: minmax(92px, 136px) 30px !important;
        height: 34px !important;
    }

    .lc-header-actions .lc-header-search input {
        display: block !important;
        padding-left: 12px !important;
        font-size: 11px !important;
    }
}

/* Selected tab keeps the solid green fill. */

@keyframes lcExplorerFade {
    from {
        opacity: 0;
        transform: translateY(8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Tighten the oversized vertical gap on the home page where the catalogue
   spotlight slider's bottom padding stacked on top of the line-up section's
   full section padding, leaving an unusually large empty band. */
.lc-home .lc-catalog-spotlight-section {
    padding-bottom: clamp(30px, 4vw, 54px) !important;
}

/* Home catalogue slider now starts directly without the removed heading block. */
.lc-home .lc-catalog-spotlight-section {
    padding-top: clamp(28px, 4vw, 52px) !important;
}

/* [5] All-products page: add breathing room between the sub-header nav and the
   hero carousel (collection-only wrapper, so the home page is unaffected). */
.lc-catalog-hero-wrap.lc-home {
    padding-top: clamp(28px, 3.5vw, 52px) !important;
}

/* [6] All-products page titles match the standard section-title size used
   across the site (clamp(28px, 3vw, 40px)) — the "All Products" collection
   heading and the custom section headings. */
.theme-collection-description h1,
.theme-category-description h1,
.theme-category-name h1,
.theme-collection-name h1,
.theme-category-heading,
.theme-collection-heading {
    font-size: clamp(28px, 3vw, 40px) !important;
}

.listing-seo-content h2,
.testimonials-header h2 {
    font-size: clamp(28px, 3vw, 40px) !important;
}

/* ============================================================
   Header redesign — larger left logo, centered & widened search
   The center nav items are removed in page.face / lasercart-theme.js,
   freeing the middle grid column for the search bar.
   ============================================================ */
.lc-header-grid {
    grid-template-columns: minmax(150px, 1fr) minmax(0, 560px) minmax(150px, 1fr) !important;
    gap: 28px !important;
}

/* Bigger logo on the left */
.lc-brand {
    width: min(210px, 30vw) !important;
    min-width: 156px !important;
    height: 56px !important;
}

.lc-brand img {
    max-width: 210px !important;
    max-height: 50px !important;
}

/* Search bar now lives directly in the center grid column */
.lc-header-grid > .lc-header-search {
    justify-self: center !important;
    width: 100% !important;
    max-width: 540px !important;
    grid-template-columns: 1fr 42px !important;
    height: 46px !important;
    border-radius: 999px !important;
}

.lc-header-grid > .lc-header-search input {
    padding-left: 20px !important;
    font-size: 14px !important;
}

.lc-header-grid > .lc-header-search .lc-search-submit {
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
}

@media (max-width: 980px) {
    .lc-header-grid {
        grid-template-columns: auto minmax(0, 1fr) auto !important;
        gap: 14px !important;
    }

    .lc-header-grid > .lc-header-search {
        max-width: 100% !important;
        height: 40px !important;
        grid-template-columns: 1fr 36px !important;
    }

    .lc-header-grid > .lc-header-search .lc-search-submit {
        width: 36px !important;
        height: 36px !important;
        min-width: 36px !important;
    }

    .lc-brand {
        width: 160px !important;
        min-width: 140px !important;
        height: 46px !important;
    }
}

@media (max-width: 640px) {
    .lc-header-grid {
        gap: 10px !important;
    }

    .lc-header-grid > .lc-header-search {
        height: 38px !important;
    }

    .lc-brand {
        width: 140px !important;
        min-width: 124px !important;
        height: 42px !important;
    }
}

/* ============================================================
   All-products (.lc-catalog) card: tighten vertical rhythm so the
   kicker / title / price / actions sit closer together and the card
   uses its space efficiently (was airy with large paddings + gaps).
   ============================================================ */
.lc-catalog .lc-live-product-media.theme-product-image-area {
    height: 188px !important;
    min-height: 188px !important;
    margin: 10px 10px 0 !important;
}

.lc-catalog .lc-live-product-copy {
    padding: 14px 16px 16px !important;
}

.lc-catalog .lc-live-product-kicker {
    margin-bottom: 8px !important;
    padding: 5px 9px !important;
}

.lc-catalog .lc-live-product-card .theme-product-name a {
    font-size: 14.5px !important;
    line-height: 1.25 !important;
}

.lc-catalog .lc-live-product-card .theme-product-price,
.lc-catalog .lc-live-product-card .theme-product-total-price-lable,
.lc-catalog .theme-product-list-style-01 .theme-product-price,
.lc-catalog .theme-min-rate {
    margin-top: 10px !important;
    font-size: 20px !important;
}

.lc-catalog .lc-live-product-actions {
    padding-top: 12px !important;
}

.lc-catalog .lc-live-product-details,
.lc-catalog .lc-live-product-add a,
.lc-catalog .lc-live-product-add button {
    min-height: 42px !important;
}

/* ============================================================
   All-products (.lc-catalog) grid: 4 cards per row on desktop, and
   the dead space between title/price/buttons removed.

   The gap wasn't from margins — it was CSS Grid's default
   align-items:stretch making every card in a row match the height of
   the tallest card (e.g. a 2-line title), while .lc-live-product-copy
   is a flex column with .lc-live-product-actions pinned via
   margin-top:auto. Shorter cards then had extra room above their
   buttons that margin-top:auto pushed down into visible empty space.
   Grid items now size to their own content (align-items:start), so
   price sits right under the title and the buttons sit right under
   the price on every card, regardless of a neighbour's title length.
   ============================================================ */
.lc-catalog-grid.theme-product-ratio,
[data-sort-by-products-target].lc-catalog-grid.theme-product-ratio {
    align-items: start !important;
}

.lc-catalog .lc-live-product-card-inner {
    min-height: 0 !important;
}

/* 4-per-row is a desktop-only change — scoped above the existing 1180px
   breakpoint so the 2-column / 1-column tablet and mobile layouts
   (defined earlier in this file) are left untouched. */
@media (min-width: 1181px) {
    .lc-catalog-grid.theme-product-ratio,
    [data-sort-by-products-target].lc-catalog-grid.theme-product-ratio {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }
}

/* View Details hover bug fix: the base rule set background: transparent
   with !important, which beat the hover rule's background (no
   !important) even though the hover color:#fff won on specificity —
   white text over an unaffected white/transparent surface. Both
   properties now carry !important so the navy fill actually shows. */
.lc-catalog .lc-live-product-details:hover {
    color: #fff !important;
    background: var(--lc-primary) !important;
    border-color: var(--lc-primary) !important;
}

/* "All Products" collection title: match the home page's section-title
   size (.lc-home .lc-home-heading h2), was a much larger clamp(40px..56px). */
.lc-catalog-title-row h1 {
    font-size: clamp(28px, 3vw, 40px) !important;
}

/* Category filter sidebar: expand to its full natural height instead of
   clipping into its own internal scrollbar. It stays sticky at top:118px,
   so as the (much taller) product list scrolls it remains stationary in the
   viewport, and only scrolls away with the page once its own bottom edge
   is reached — exactly like the reference — rather than always scrolling
   internally within a capped max-height. */
.lc-catalog-sidebar {
    max-height: none !important;
    overflow: visible !important;
}

/* Widen the filter column so it uses more of the left-hand space and sits
   proportionate to the wider product grid (was capped at 190-220px). */
@media (min-width: 1181px) {
    .lc-catalog-layout {
        grid-template-columns: minmax(260px, 300px) minmax(0, 1fr) !important;
    }
}

/* All-products card gap, take two: align-items:start stopped the row from
   stretching every card to the tallest sibling, but margin-top:auto on the
   actions row is still an auto-margin — the moment ANY extra height shows
   up in the column (a taller neighbour, a longer wrapped title) it will
   push the buttons down and reopen the same visible gap. Removing the
   auto-margin entirely and using a fixed gap instead means the buttons
   always sit a fixed distance under the price, full stop, regardless of
   what the rest of the row is doing. */
.lc-catalog .lc-live-product-copy {
    flex: 0 1 auto !important;
}

.lc-catalog .lc-live-product-actions {
    margin-top: 16px !important;
}

/* Product image should bleed to the card's edges (top corners rounded to
   match the card) instead of floating in a white-margin frame. */
.lc-catalog .lc-live-product-media.theme-product-image-area {
    margin: 0 !important;
    border-radius: 28px 28px 0 0 !important;
}

.lc-catalog .lc-live-product-media picture,
.lc-catalog .lc-live-product-media a:not(.lc-live-product-media-link),
.lc-catalog .lc-live-product-media img {
    border-radius: 28px 28px 0 0 !important;
}

/* Special-promotion card: already built (.lc-promo-card-inline, inserted
   after the 5th product) but was never given a column span, so it sat in a
   single grid cell instead of the 2-column banner the reference calls for.
   align-self:stretch (instead of the grid's default align-items:start)
   makes it match the height of its row's product cards, same as the
   reference where the banner is exactly one row tall. */
.lc-catalog-grid.theme-product-ratio .lc-promo-card-inline {
    grid-column: span 2 !important;
    align-self: stretch !important;
}

@media (max-width: 640px) {
    /* single-column grid: a span-2 item would force an implicit column */
    .lc-catalog-grid.theme-product-ratio .lc-promo-card-inline {
        grid-column: 1 / -1 !important;
    }
}

/* ============================================================
   All-products card gap — the ACTUAL root cause this time.
   An earlier generic rule (.lc-live-product-copy.theme-product-details-area,
   ~line 4433) pins the copy block to min-height:230px with
   justify-content:space-between. Whenever a card's text is shorter than
   230px, space-between distributes the slack as the even white voids seen
   between title → price → buttons. A second rule
   (.lc-live-product-card .theme-product-name a) forces min-height:48px on
   the title, reserving two lines even for one-line names ("Double Layer"),
   which added yet another void under short titles. Neither was touched by
   the earlier align-items / margin-top fixes because both act INSIDE the
   copy block. Kill the floor height, pack content to the top, and let the
   explicit margins (kicker 8px, price 10px, actions below) set the rhythm.
   ============================================================ */
.lc-catalog .lc-live-product-copy.theme-product-details-area,
.lc-catalog .lc-live-product-copy {
    min-height: 0 !important;
    justify-content: flex-start !important;
    gap: 0 !important;
}

.lc-catalog .lc-live-product-card .theme-product-name a {
    min-height: 0 !important;
}

/* One consolidated gap above the buttons (was margin 16px + padding 12px
   stacked from two earlier passes = 28px). */
.lc-catalog .lc-live-product-actions {
    margin-top: 14px !important;
    padding-top: 0 !important;
}

/* ============================================================
   "Clear All Filters" button. The generic .theme-content-area button
   rule (class+element = higher specificity than .lc-btn-clear-filters)
   was restyling it navy with 12px side padding — and on hover the two
   rules interleaved into green text on a green fill, plus off-center
   text. Restate the button at higher specificity: centered label, navy
   pill, and the same navy -> green hover the Add-to-Cart buttons use.
   ============================================================ */
.lc-catalog-sidebar button.lc-btn-clear-filters {
    display: flex !important;
    width: 100% !important;
    min-height: 46px !important;
    align-items: center !important;
    justify-content: center !important;
    margin-top: 8px !important;
    border: 1px solid var(--lc-primary) !important;
    border-radius: 999px !important;
    padding: 12px 18px !important;
    color: #fff !important;
    background: var(--lc-primary) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.1em !important;
    line-height: 1.1 !important;
    text-align: center !important;
    text-transform: uppercase !important;
    transition: background 180ms ease, border-color 180ms ease !important;
}

.lc-catalog-sidebar button.lc-btn-clear-filters:hover {
    border-color: var(--lc-copper) !important;
    color: #fff !important;
    background: var(--lc-copper) !important;
}

/* ============================================================
   Catalog card CTA: View Details removed from the markup (the image
   links to the product page), leaving one full-width button per card —
   Add to Cart, or a View-details fallback for variant/out-of-stock
   products. Single column replaces the old two-button grid, and the
   label typography is pinned to the theme's UI font at the same small
   uppercase size as the neighbouring buttons (the rendered add-to-cart
   partial was picking up a larger font from the base theme rules).
   ============================================================ */
.lc-catalog .lc-live-product-actions {
    grid-template-columns: 1fr !important;
}

.lc-catalog .lc-live-product-details,
.lc-catalog .lc-live-product-add,
.lc-catalog .lc-live-product-add a,
.lc-catalog .lc-live-product-add button,
.lc-catalog .lc-live-product-add input[type="button"],
.lc-catalog .lc-live-product-add input[type="submit"] {
    width: 100% !important;
}

.lc-catalog .lc-live-product-add a,
.lc-catalog .lc-live-product-add button,
.lc-catalog .lc-live-product-add input[type="button"],
.lc-catalog .lc-live-product-add input[type="submit"] {
    font-family: "Hanken Grotesk", Poppins, Arial, sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.1em !important;
    line-height: 1.1 !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
}

/* Product detail page — "Suggested Products" Add to Cart button: the label
   was hugging the left edge instead of sitting centered in the pill.
   Forcing it into a centered flex row (rather than relying on the
   button's default text-align) guarantees centering regardless of what
   else in the cascade is touching plain <button> elements. */
.suggested-products-grid .product-btn-buy {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
}

/* Mobile hamburger icon: the circular button was originally a block-level
   container, where its 3 bar <span>s stack vertically via display:block +
   margin:4px auto. A later responsive pass switched it to
   display:inline-flex (to show/hide it per breakpoint) but never set
   flex-direction/alignment, so the default row flex-start layout took
   over — the 3 bars ended up packed in a row near the top-left of the
   circle instead of a centered vertical stack. Restack them as a column
   and center the whole group in the button. */
.lc-menu-toggle {
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
}

.lc-menu-toggle span {
    margin: 0 !important;
}

/* ============================================================
   Catalogue hero carousel — dots & arrows should read as part of the
   active card, not float outside it. Two separate causes:

   1) .lc-catalog-slider-controls and .lc-catalog-dots are siblings of
      .lc-catalog-slides (not children of the individual .lc-catalog-slide
      card), so they're position:absolute against the full-width slider
      wrapper. The card itself is centered and narrower than the wrapper
      (78% on desktop, tighter at each breakpoint below that), so the
      arrow group — anchored to the wrapper's right edge — sat in the
      empty background past the card's actual right edge.

   2) The wrapper was deliberately taller than the card (a baked-in gap,
      used as overflow headroom for slides with longer copy). Bottom
      offsets measured from the wrapper therefore landed in that gap,
      below the card's own bottom edge, instead of inside its reserved
      bottom padding.

   Fix: pin the wrapper's min-height to the card's own min-height plus a
   FIXED (not independently-clamped) buffer, so the gap between them is
   an exact, known constant at every viewport width — then position dots
   and arrows using that constant, landing them just inside the card's
   bottom edge. The arrow group also gets the card's own width + centering
   formula, so its right edge lines up with the card's right edge instead
   of the wrapper's.
   ============================================================ */
.lc-home .lc-catalog-slider {
    min-height: calc(clamp(336px, 36vw, 472px) + 40px) !important;
}

.lc-home .lc-catalog-dots {
    bottom: 64px !important;
}

.lc-home .lc-catalog-slider-controls {
    left: 0 !important;
    right: 0 !important;
    width: min(78%, calc(100% - 220px)) !important;
    margin-inline: auto !important;
    justify-content: flex-end !important;
    padding-right: clamp(28px, 4.5vw, 56px) !important;
    bottom: 62px !important;
}

@media (max-width: 980px) {
    .lc-home .lc-catalog-slider-controls {
        width: min(86%, calc(100% - 82px)) !important;
    }
}

@media (max-width: 640px) {
    .lc-home .lc-catalog-slider {
        min-height: 710px !important;
    }

    .lc-home .lc-catalog-dots {
        bottom: 62px !important;
    }

    .lc-home .lc-catalog-slider-controls {
        width: calc(100% - 28px) !important;
        padding-right: 22px !important;
        bottom: 58px !important;
    }
}

/* ============================================================
   Footer subscribe field: focusing the email input showed the browser's
   default rectangular focus outline, which ignores the pill/rounded form
   wrapping it (the input itself is square-cornered inside an
   overflow:hidden rounded form, so the box ring cuts across the pill).
   Move the focus indicator to the form via :focus-within — its
   box-shadow ring follows the form's own border-radius (999px pill on
   desktop, 26px rounded box on stacked mobile) — and suppress the
   input's native outline.
   ============================================================ */
.lc-footer-subscribe input:focus,
.lc-footer-subscribe input:focus-visible {
    outline: none !important;
    box-shadow: none !important;
}

.lc-footer-subscribe form:focus-within {
    box-shadow: 0 0 0 2px rgba(28, 28, 44, 0.45) !important;
}

/* ============================================================
   Secondary nav bar (Products / Brands / Head and consumables /
   Supports): its own backdrop-filter can never work — the nav is a
   CHILD of .lc-header, which itself has backdrop-filter: blur(18px).
   An element with a backdrop-filter becomes a "backdrop root", so a
   descendant's backdrop-filter only samples content painted inside
   that root — never the page behind the parent. The nav's blur was
   therefore a no-op, and its semi-opaque white fill just painted a
   flat bar over the header's glass.

   Fix: don't blur here at all. The parent header's frosted surface
   (rgba fill + blur) already spans the entire header box INCLUDING
   this strip, so make the nav transparent and let the header's glass
   show through — one continuous, consistent surface. A hairline
   divider keeps the visual separation between the two rows.
   ============================================================ */
.lc-secondary-nav {
    background: transparent !important;
    border-top: 1px solid rgba(28, 28, 25, 0.06) !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

/* ============================================================
   All-products page, mobile: the grid collapsed to one card per row —
   a full screen of scrolling per product. Switch to 2-up (declared after
   the earlier 640px rule that set 1fr, so it wins), and compact/restyle
   the cards for half-width tiles referencing the home-page product
   cards (rec/explore): solid white face with the hairline
   1.5px rgba(28,28,44,0.08) border, image bled to the card edges with
   only the top corners rounded over the same #f8f9fa panel, a bare
   copper category label instead of the pill kicker, and tighter
   name/price/CTA spacing. Desktop and tablet layouts are untouched.
   ============================================================ */
@media (max-width: 640px) {
    .lc-catalog-grid.theme-product-ratio,
    [data-sort-by-products-target].lc-catalog-grid.theme-product-ratio {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 12px !important;
    }

    .lc-catalog .lc-live-product-card-inner {
        border: 1.5px solid rgba(28, 28, 44, 0.08) !important;
        border-radius: 18px !important;
        background: #ffffff !important;
        box-shadow: none !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }

    .lc-catalog .lc-live-product-media.theme-product-image-area {
        height: 148px !important;
        min-height: 148px !important;
        margin: 0 !important;
        border-radius: 16px 16px 0 0 !important;
        background: #f8f9fa !important;
    }

    .lc-catalog .lc-live-product-media picture,
    .lc-catalog .lc-live-product-media a:not(.lc-live-product-media-link),
    .lc-catalog .lc-live-product-media img {
        border-radius: 16px 16px 0 0 !important;
    }

    .lc-catalog .lc-live-product-copy {
        padding: 12px 14px 14px !important;
    }

    /* Bare copper label like the home cards' category labels, instead
       of the bordered pill kicker. */
    .lc-catalog .lc-live-product-kicker {
        margin-bottom: 6px !important;
        border: 0 !important;
        border-radius: 0 !important;
        padding: 0 !important;
        background: transparent !important;
        font-size: 9px !important;
        font-weight: 900 !important;
        letter-spacing: 0.12em !important;
    }

    .lc-catalog .lc-live-product-card .theme-product-name a {
        font-size: 14px !important;
        line-height: 1.3 !important;
    }

    .lc-catalog .lc-live-product-card .theme-product-price,
    .lc-catalog .lc-live-product-card .theme-product-total-price-lable,
    .lc-catalog .theme-product-list-style-01 .theme-product-price,
    .lc-catalog .theme-min-rate {
        margin-top: 8px !important;
        font-size: 17px !important;
    }

    .lc-catalog .theme-product-old-price,
    .lc-catalog .theme-product-total-old-price,
    .lc-catalog .theme-max-rate,
    .lc-catalog .theme-prod-old-price {
        font-size: 11px !important;
    }

    .lc-catalog .lc-live-product-actions {
        padding-top: 12px !important;
    }

    .lc-catalog .lc-live-product-details,
    .lc-catalog .lc-live-product-add a,
    .lc-catalog .lc-live-product-add button {
        min-height: 38px !important;
        border-radius: 12px !important;
        padding: 0 10px !important;
        font-size: 9px !important;
    }
}

/* ============================================================
   Mobile filter drawer: opening it tinted the WHOLE page (drawer
   included) and made the filter controls untappable. Root cause is a
   stacking-context trap: .lc-catalog carries position:relative +
   z-index:1 (so its blurred ::after decoration can sit at z:-1), which
   makes it a stacking context — the drawer's z-index:1100 only competes
   INSIDE that context, whose whole subtree sits at z=1 at root level.
   The dim overlay, however, is appended by JS directly to <body> at
   root-level z-index:1099 — and 1099 beats 1, so the overlay painted
   over the drawer and swallowed every tap (closing the drawer at best).

   Fix, drawer breakpoint only: stop .lc-catalog from creating the
   stacking context so the fixed drawer joins the root context, where
   1100 > 1099 puts it above the overlay. (The decorative ::after blob
   may sink behind the section background on mobile — acceptable.)

   Also restore the drawer's internal scrolling: a later, unconditional
   desktop fix (max-height:none + overflow:visible, for the sticky
   full-height sidebar) silently overrode the drawer's overflow-y:auto,
   leaving filters below the first viewport-height unreachable.
   ============================================================ */
@media (max-width: 991px) {
    .lc-catalog {
        z-index: auto !important;
    }

    .lc-catalog-sidebar {
        max-height: 100vh !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
    }
}

/* ============================================================
   Filter drawer header: "Filters" title with Clear / Apply actions
   beside it. The buttons only exist for the mobile drawer flow (select
   checkboxes → Apply confirms and closes, Clear resets) — on desktop
   the sidebar is always visible and keeps its bottom "Clear All
   Filters" button, so the header actions stay hidden there.
   ============================================================ */
.lc-filter-drawer-head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
}

.lc-filter-drawer-head h2 {
    margin: 0 !important;
}

.lc-filter-drawer-actions {
    display: none !important;
    align-items: center !important;
    gap: 8px !important;
}

@media (max-width: 991px) {
    .lc-filter-drawer-actions {
        display: inline-flex !important;
    }

    .lc-filter-clear-btn,
    .lc-filter-apply-btn {
        display: inline-flex !important;
        min-height: 34px !important;
        align-items: center !important;
        justify-content: center !important;
        border-radius: 999px !important;
        padding: 0 16px !important;
        font-size: 10px !important;
        font-weight: 800 !important;
        letter-spacing: 0.08em !important;
        line-height: 1 !important;
        text-transform: uppercase !important;
        cursor: pointer !important;
    }

    .lc-filter-clear-btn {
        border: 1px solid rgba(28, 28, 44, 0.18) !important;
        color: var(--lc-primary) !important;
        background: transparent !important;
    }

    .lc-filter-apply-btn {
        border: 1px solid var(--lc-copper) !important;
        color: #ffffff !important;
        background: var(--lc-copper) !important;
    }
}

/* ============================================================
   All-products "Sort by" dropdown fixes (desktop + mobile).

   1) The open listbox rendered BEHIND the product cards: Zoho gives the
      absolute-positioned option container z-index:3, but that only
      competes inside the toolbar's own stacking context — the toolbar
      never established one, while the product cards below (later in the
      DOM, with their own stacking contexts from backdrop-filter/
      transforms) paint on top. Elevate the toolbar above the grid so
      the dropdown floats over the cards.

   2) Option hover previously went solid green with white text, which
      could end up unreadable (and reads heavy anyway). Use the theme's
      tint treatment instead — soft green wash + dark text — matching
      the tier cards' hover; the selected option gets the same wash with
      the green accent text. Declared last, so it beats the earlier
      solid-green hover rule at equal-or-lower specificity.
   ============================================================ */
.lc-catalog-toolbar {
    position: relative !important;
    z-index: 60 !important;
}

.theme-collection-sort,
.lc-catalog-sort .theme-custom-sort {
    position: relative !important;
    z-index: 61 !important;
}

.theme-custom-sort .theme-custom-select-option-container .theme-custom-select-option:hover,
.theme-custom-select-option:hover {
    color: var(--lc-primary) !important;
    background: rgba(118, 185, 0, 0.14) !important;
}

.theme-custom-select-option.theme-selected-sort,
.theme-selected-sort {
    color: var(--lc-copper) !important;
    background: rgba(118, 185, 0, 0.1) !important;
    font-weight: 700 !important;
}

/* ============================================================
   All-products cards: collapse the dead white bands between
   title → price and price → Add-to-Cart, so the copy stacks with the
   same tight rhythm as the home-page line-up/recommended cards
   (title, price right under it, CTA right under that). The old gaps
   were margin-top:16px on the price plus margin-top:16px AND
   padding-top:18px stacked on the actions row. Unconditional, so it
   also supersedes the earlier mobile-specific 8px/12px values — one
   consistent rhythm at every width.
   ============================================================ */
.lc-catalog .lc-live-product-card .theme-product-price,
.lc-catalog .lc-live-product-card .theme-product-total-price-lable,
.lc-catalog .theme-product-list-style-01 .theme-product-price,
.lc-catalog .theme-min-rate {
    margin-top: 6px !important;
}

.lc-catalog .lc-live-product-actions {
    margin-top: 12px !important;
    padding-top: 0 !important;
}

/* ============================================================
   Toolbar "Filters" button hover: same green-on-green trap as the
   recommended-rail arrows. Its own :hover only recolours the TEXT to
   the green accent, while the generic .theme-content-area button:hover
   rule (it's a real <button> in the content area) fills the BACKGROUND
   with that same green — green text on green fill, nothing readable.
   Own the full hover state: solid green fill with white text/icon,
   like the theme's other buttons.
   ============================================================ */
.lc-catalog .lc-mobile-filter-trigger:hover,
.lc-mobile-filter-trigger:hover {
    border-color: var(--lc-copper) !important;
    color: #ffffff !important;
    background: var(--lc-copper) !important;
}

/* ============================================================
   Shared reveal micro-animation. The theme already has a signature
   reveal (lcExplorerFade: fade in + 8px rise, 260ms) on the brand
   explorer panels — reuse the exact same motion for every show/hide
   surface so the whole app animates with one voice, at all screen
   sizes:
     - the header hamburger menu panel (was: display:none -> grid, an
       instant pop);
     - the filter drawer's dim overlay (was: display:none -> block; the
       drawer itself already slides via its left transition, which now
       actually runs thanks to the reflow flush added in the JS);
     - the bulk calculator's "You Save / Unit Price" summary that pops
       up under the tiers when a quantity is selected.
   display:none -> visible can't transition, but an entry animation on
   the shown state gives the open motion; the overlay uses a real
   opacity transition so it fades both in AND out.
   ============================================================ */
.lc-mobile-panel.is-open {
    animation: lcExplorerFade 260ms ease both !important;
}

@media (max-width: 991px) {
    .lc-filter-overlay {
        display: block !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        transition: opacity 260ms ease, visibility 0s linear 260ms !important;
    }

    .lc-filter-overlay.is-open {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transition: opacity 260ms ease !important;
    }
}

/* 1) Dead gap above the breadcrumb: .lc-product-page (140px) and
   .lc-product-detail (96px at <=640) both carry a fixed-header
   clearance, so the offsets stack. Keep the page-level clearance
   and collapse the section's own to a small breathing space. */
@media (max-width: 768px) {
    .lc-product-detail {
        padding-top: 10px !important;
    }

    .lc-product-breadcrumb {
        margin-bottom: 14px !important;
    }
}

/* 2) Gallery images fill their frames edge-to-edge (all sizes):
   the rounded border stays, the inner white mat goes. */
.main-image-viewport {
    padding: 0 !important;
    background: #ffffff !important;
}

.main-image-viewport img {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: cover !important;
}

.gallery-thumbnails .thumb-item {
    padding: 0 !important;
    background: #ffffff !important;
}

.gallery-thumbnails .thumb-item img {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: cover !important;
}

/* 3) Bulk tier table: the <=900 display:block override made the
   table shrink to content width, leaving a raw empty strip inside
   the rounded box. Restore real table layout at full width and
   tighten cells so all four columns fit on a phone. */
@media (max-width: 900px) {
    .lc-product-page .bulk-table {
        display: table !important;
        width: 100% !important;
        table-layout: auto !important;
        white-space: normal !important;
    }

    .lc-product-page .bulk-table th,
    .lc-product-page .bulk-table td {
        padding: 10px 8px !important;
        font-size: 12px !important;
    }

    .lc-product-page .bulk-table th {
        font-size: 10px !important;
    }

    .lc-product-page .btn-bulk-add {
        min-width: 0 !important;
        padding: 7px 10px !important;
    }
}

/* 4) Frequently Bought Together — stacked mobile flow. The base
   container keeps align-items:center, which in column direction
   shrinks children to content width, so stretch is required. */
@media (max-width: 768px) {
    .bundle-section {
        padding: 22px 16px !important;
        border-radius: 24px !important;
    }

    .bundle-title {
        font-size: 22px !important;
        margin-bottom: 18px !important;
        text-align: center !important;
    }

    .bundle-flex-container {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 10px !important;
    }

    .bundle-card-item {
        flex: 0 0 auto !important;
        width: 100% !important;
        padding: 12px 14px !important;
        gap: 12px !important;
    }

    .bundle-img {
        width: 48px !important;
        height: 48px !important;
    }

    .bundle-plus-icon {
        align-self: center !important;
        font-size: 18px !important;
        line-height: 1 !important;
    }

    .bundle-summary-card {
        width: 100% !important;
        min-width: 0 !important;
        margin-top: 6px !important;
        padding: 20px !important;
    }

    .btn-add-bundle {
        width: min(100%, 260px) !important;
    }
}

/* Suggested Products — 2-up grid on phones (was single column),
   with the cards compacted to match the app's other 2-up rails.
   The long description is hidden at this width; meta, title,
   price, and CTA carry the card, like the home-page cards. */
@media (max-width: 550px) {
    .suggested-products-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 12px !important;
    }

    .suggested-products-grid .product-card {
        padding: 12px !important;
        border-radius: 18px !important;
    }

    .product-card-badge {
        top: 10px !important;
        left: 10px !important;
        font-size: 8px !important;
        padding: 3px 8px !important;
    }

    .product-img-box {
        padding: 10px !important;
        margin-bottom: 12px !important;
        border-radius: 14px !important;
    }

    .product-info-meta {
        font-size: 9px !important;
        margin-bottom: 4px !important;
    }

    .suggested-products-grid .product-card h3 {
        font-size: 14px !important;
        margin-bottom: 8px !important;
        flex-grow: 1 !important;
    }

    .prod-desc {
        display: none !important;
    }

    .product-card-pricing {
        font-size: 15px !important;
        gap: 6px !important;
        margin-bottom: 12px !important;
        flex-wrap: wrap !important;
    }

    .product-card-pricing .original {
        font-size: 11px !important;
    }

    .product-btn-buy {
        height: 34px !important;
        font-size: 9px !important;
    }
}

/* Uniform page color on phones: the decorative corner radials on
   .lc-product-page/.lc-product-detail tint the strip under the
   header differently from the rest of the page at narrow widths,
   reading as an off-color band above the breadcrumb. Flatten both
   to the base surface color so the whole page is one tone. */
@media (max-width: 768px) {
    .lc-product-page,
    .lc-product-detail {
        background: var(--lc-bg) !important;
    }
}

/* Section heading rhythm in the overview column: the "Key Features"
   h2 carries an inline margin-top, but .section-title-modern's
   !important margin shorthand overrides inline styles, collapsing
   the gap so the heading hugs the previous paragraph. Restore the
   intended spacing for every heading after the first. */
.specs-left-col .section-title-modern:not(:first-child) {
    margin-top: 44px !important;
}

/* ============================================================
   Added-to-cart popup — clear the fixed header and match the
   theme. Base theme puts it at top:11% / z-index:500, which is
   both under the glass header (z 999) and behind it visually.
   Only position and skin are touched; the show/hide transform
   mechanics stay native.
   ============================================================ */
.theme-cart-add-success-message {
    top: 122px !important;
    right: 14px !important;
    z-index: 1300 !important;
    width: min(272px, calc(100vw - 28px)) !important;
    background: #fffdfa !important;
    border: 1px solid rgba(28, 28, 44, 0.08) !important;
    border-radius: 22px !important;
    box-shadow: 0 26px 64px rgba(28, 28, 44, 0.18) !important;
    overflow: hidden !important;
    font-family: "Hanken Grotesk", Poppins, sans-serif !important;
}

.theme-cart-add-success-message .theme-cart-success-inner-container {
    padding: 14px !important;
    gap: 12px !important;
}

.theme-cart-add-success-message .theme-cart-success-inner-container .theme-cart-item .theme-cart-message-prod-img {
    height: 200px !important;
}

.theme-cart-add-success-message .theme-cart-success-inner-container .theme-cart-item .theme-cart-message-prod-img picture {
    border: 1px solid rgba(28, 28, 44, 0.08) !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    background: #ffffff !important;
}

.theme-cart-add-success-message .theme-cart-success-inner-container .theme-cart-item .theme-cart-success-item-details .theme-cart-message-prod-name {
    font-size: 13px !important;
    font-weight: 700 !important;
    color: var(--lc-primary) !important;
}

.theme-cart-add-success-message .theme-cart-success-inner-container .theme-cart-message-text {
    padding: 4px 8px 8px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    color: var(--lc-copper) !important;
}

.theme-cart-add-success-message .theme-cart-success-inner-container .theme-cart-message-buttons [data-zs-view-cart],
.theme-cart-add-success-message .theme-cart-success-inner-container .theme-cart-message-buttons [data-zs-view-mini-cart],
.theme-cart-add-success-message .theme-cart-success-inner-container .theme-cart-message-buttons [data-zs-view-quote] {
    border-radius: 999px !important;
    border: 1px solid var(--lc-primary) !important;
    background: var(--lc-primary) !important;
    padding: 13px 16px !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
}

.theme-cart-add-success-message .theme-cart-success-inner-container .theme-cart-message-buttons [data-zs-view-cart]::after,
.theme-cart-add-success-message .theme-cart-success-inner-container .theme-cart-message-buttons [data-zs-view-mini-cart]::after,
.theme-cart-add-success-message .theme-cart-success-inner-container .theme-cart-message-buttons [data-zs-view-quote]::after {
    background: var(--lc-copper) !important;
    border-radius: 999px !important;
}

/* Match the home-page container rhythm (edge margins ~20px each
   side, wider working area) instead of the narrow 1120px column. */
body.lc-cart-shell .theme-cart-area-container {
    width: min(1320px, calc(100% - 40px)) !important;
    padding: 48px 0 96px !important;
}

body.lc-cart-shell .theme-cart-area-container::before {
    content: "Cart Inventory" !important;
    display: block !important;
    margin: 0 0 8px !important;
    font-family: /* "Lilita One", */ "Libre Caslon Text", Georgia, serif !important;
    font-size: clamp(38px, 4vw, 58px) !important;
    font-weight: 400 !important;
    line-height: 1.05 !important;
    color: var(--lc-primary) !important;
}

body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty)::before {
    margin: 0 0 20px !important;
    font-size: 14px !important;
}

/* Items card takes the freed width; summary keeps its column. */
body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) {
    grid-template-columns: minmax(0, 1fr) minmax(320px, 372px) !important;
    gap: 40px !important;
}

/* Kill the dead band under a short item list. */
body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-shopping-cart-table-container {
    min-height: 0 !important;
    padding: 30px 34px !important;
}

body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-shopping-cart-table-container .theme-cart-table-row,
body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-shopping-cart-table-container .theme-cart-table-row.theme-cart-head {
    grid-template-columns: minmax(280px, 1fr) 128px 110px 100px !important;
    gap: 16px !important;
}

/* Price line: wrap between chips instead of mid-phrase overflow
   ("9.09% / Off" splitting across lines). */
body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-cart-item-info ul {
    flex-wrap: wrap !important;
    white-space: normal !important;
}

/* One remove action, styled as a quiet ghost pill; the duplicate
   icon variant next to it goes. */
body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-cart-item-remove .theme-cart-remove-icon-button {
    display: none !important;
}

body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-cart-item-remove .theme-cart-remove-button {
    width: auto !important;
    min-width: 0 !important;
    height: 34px !important;
    min-height: 34px !important;
    padding: 0 16px !important;
    border: 1px solid rgba(28, 28, 44, 0.18) !important;
    border-radius: 999px !important;
    background: transparent !important;
    color: rgba(28, 28, 44, 0.66) !important;
    box-shadow: none !important;
    font-size: 9px !important;
    font-weight: 800 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
}

body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-cart-item-remove .theme-cart-remove-button:hover {
    border-color: #ef4444 !important;
    color: #ef4444 !important;
    background: rgba(239, 68, 68, 0.06) !important;
}

/* Checkout buttons: keep the Razorpay quick-checkout on one line
   with a right-sized logo. */
body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-checkout-button-area button,
body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-checkout-button-area .theme-checkout-button {
    flex-wrap: nowrap !important;
    white-space: nowrap !important;
    gap: 8px !important;
}

body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-checkout-button-area button img,
body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-checkout-button-area .theme-checkout-button img {
    max-height: 16px !important;
    width: auto !important;
    display: inline-block !important;
}

body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-cart-summary-inner-container {
    padding: 30px !important;
}

@media (max-width: 640px) {
    body.lc-cart-shell .theme-cart-area-container {
        width: calc(100% - 28px) !important;
        padding: 32px 0 72px !important;
    }

    body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-shopping-cart-table-container {
        padding: 18px !important;
    }
}

/* Row grid: fully shrinkable first column so the action column
   can never overflow the card and push REMOVE outside it. */
body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-shopping-cart-table-container .theme-cart-table-row,
body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-shopping-cart-table-container .theme-cart-table-row.theme-cart-head {
    grid-template-columns: minmax(0, 1fr) 118px 96px 88px !important;
    gap: 12px !important;
}

/* Quantity stepper: explicit flex order so [-] [qty] [+] renders
   the same regardless of the DOM order the platform emits, and
   the minus can never vanish. At qty 1 the platform swaps the
   minus for its delete action — same slot, same glyph. */
body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-cart-table-data.theme-cart-qty .theme-quantity-field-button,
body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-cart-table-data.theme-cart-qty .theme-product-list-quantity {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
}

body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-cart-table-data.theme-cart-qty .theme-product-list-quantity-decrease {
    order: 1 !important;
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
}

body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-cart-table-data.theme-cart-qty input[type="text"],
body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-cart-table-data.theme-cart-qty .theme-product-list-quantity-field {
    order: 2 !important;
    flex: 1 1 auto !important;
    text-align: center !important;
}

body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-cart-table-data.theme-cart-qty .theme-product-list-quantity-increase {
    order: 3 !important;
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
}

body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-cart-table-data.theme-cart-qty .theme-product-list-quantity-decrease > *:not(.theme-cart-qty-inc-dec),
body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-cart-table-data.theme-cart-qty .theme-product-list-quantity-increase > *:not(.theme-cart-qty-inc-dec),
body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-cart-table-data.theme-cart-qty .theme-product-list-quantity-decrease svg,
body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-cart-table-data.theme-cart-qty .theme-product-list-quantity-increase svg {
    display: none !important;
}

/* Price line on ONE line: the base sheet stacks it via
   .theme-cart-price-label { flex-direction: column } with
   display:block spans — flatten all of it to an inline row. */
body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-cart-item-info ul {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: baseline !important;
    column-gap: 10px !important;
    row-gap: 3px !important;
    white-space: normal !important;
}

body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-cart-item-info li {
    display: inline-flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: baseline !important;
    column-gap: 6px !important;
    width: auto !important;
    white-space: nowrap !important;
    padding: 0 !important;
}

body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-cart-item-info .theme-cart-price-label {
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: baseline !important;
    column-gap: 6px !important;
    margin: 0 !important;
}

body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-cart-item-info li span,
body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-cart-item-info .theme-cart-price-label span {
    display: inline !important;
    white-space: nowrap !important;
}

body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-cart-item-info a,
body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-cart-item-info h4 {
    display: block !important;
    margin-bottom: 6px !important;
    line-height: 1.35 !important;
}

/* Summary buttons: one type scale and one rhythm for every
   control in the checkout stack, whatever element the payment
   script injects (button, link, or div). Nested wrappers become
   grids with the same gap so Checkout and Razorpay stop touching. */
body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-checkout-button-area > div,
body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-checkout-button-area > form,
body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-checkout-button-area > span,
body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-checkout-button-area .theme-cart-table-data {
    display: grid !important;
    gap: 14px !important;
}

body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-checkout-button-area button,
body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-checkout-button-area a,
body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-checkout-button-area [role="button"],
body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-checkout-button-area input[type="button"],
body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-checkout-button-area input[type="submit"] {
    width: 100% !important;
    min-height: 48px !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    flex-wrap: nowrap !important;
    white-space: nowrap !important;
    border-radius: 999px !important;
    font-family: "Hanken Grotesk", Poppins, sans-serif !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: 0.12em !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
}

body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-checkout-button-area button *:not(img),
body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-checkout-button-area a *:not(img) {
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
}

/* The price line is div.item-price: text "Price:", selling span,
   label span, then the discount ("9.1% Off") in ONE final span.
   Give that last span a full-row basis: the whole "x% Off" moves
   to its own line as a unit and can never split internally. */
body.lc-cart-shell .theme-cart-item-info .item-price {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: baseline !important;
    column-gap: 8px !important;
    row-gap: 3px !important;
}

body.lc-cart-shell .theme-cart-item-info .item-price .theme-cart-selling-price,
body.lc-cart-shell .theme-cart-item-info .item-price .theme-cart-label-price {
    white-space: nowrap !important;
}

body.lc-cart-shell .theme-cart-item-info .item-price > span:last-of-type {
    flex-basis: 100% !important;
    white-space: nowrap !important;
    font-weight: 700 !important;
    color: var(--lc-copper) !important;
}

body.lc-cart-shell .theme-cart-item-info .item-price > span:last-of-type:empty {
    display: none !important;
}

/* Stepper double ring: the pill skin was applied to BOTH the
   outer .theme-quantity-field-button and the inner
   .theme-product-list-quantity it wraps. Outer keeps the pill;
   inner becomes an invisible flex row filling it. */
body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-cart-table-data.theme-cart-qty .theme-quantity-field-button {
    display: block !important;
    padding: 0 !important;
}

body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-cart-table-data.theme-cart-qty .theme-quantity-field-button .theme-product-list-quantity {
    width: 100% !important;
    height: 100% !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: transparent !important;
    box-shadow: none !important;
}

/* Mobile cart rows: card-style stacking — product full width,
   then stepper / amount / remove on one control line. */
@media (max-width: 640px) {
    body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-shopping-cart-table-container .theme-cart-table-row.theme-cart-head {
        display: none !important;
    }

    body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-shopping-cart-table-container .theme-cart-table-row {
        grid-template-columns: auto minmax(0, 1fr) auto !important;
        grid-template-areas:
            "items items items"
            "qty   amount remove" !important;
        row-gap: 14px !important;
        column-gap: 10px !important;
        padding: 18px 0 !important;
    }

    body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-cart-table-row > .theme-cart-table-data.theme-cart-items {
        grid-area: items !important;
        grid-template-columns: 72px minmax(0, 1fr) !important;
        gap: 12px !important;
    }

    body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-cart-item-img {
        width: 72px !important;
        height: 72px !important;
    }

    body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-cart-table-row > .theme-cart-table-data.theme-cart-qty {
        grid-area: qty !important;
        min-width: 0 !important;
    }

    body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-cart-table-row > .theme-cart-table-data.theme-cart-price-label {
        grid-area: amount !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        margin: 0 !important;
        font-weight: 800 !important;
    }

    body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-cart-table-row > .theme-cart-table-data.theme-cart-control {
        grid-area: remove !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
    }

    body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-cart-item-info a,
    body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-cart-item-info h4 {
        font-size: 13.5px !important;
    }

    body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-cart-item-info .item-price {
        font-size: 12.5px !important;
    }

    body.lc-cart-shell .theme-cart-area-container::before {
        font-size: 34px !important;
    }
}

/* Summary stickiness owns the whole column: the OEM badge is a
   ::after on the OUTER summary container, but the sticky element
   was the INNER card — so the card followed the scroll and left
   its badge behind. Stick the outer container (card + badge move
   as one) and release the inner card. */
body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-cart-summary-container {
    position: sticky !important;
    top: 92px !important;
    align-self: start !important;
}

body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-cart-summary-inner-container {
    position: static !important;
    top: auto !important;
}

/* ============================================================
   Cart page responsiveness restore. The desktop space pass set
   the two-column body grid unconditionally at the end of the
   file, which out-cascaded the old <=1180 single-column rule —
   the summary card was crushing the items column on phones.
   Re-assert the stack here (later = wins), desktop untouched.
   ============================================================ */
@media (max-width: 1180px) {
    body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 28px !important;
    }

    /* No sticky column when stacked. */
    body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-cart-summary-container {
        position: static !important;
        top: auto !important;
    }
}

/* Platform's fixed bottom summary bar (shown < 992px): theme it
   like the header glass, dark pill button instead of the stock
   teal, and reserve space so it never covers the last item. */
@media (max-width: 991px) {
    body.lc-cart-shell .theme-cart-mobile-summary-container {
        align-items: center !important;
        gap: 12px !important;
        padding: 12px 16px !important;
        background: rgba(255, 255, 255, 0.88) !important;
        backdrop-filter: blur(16px) !important;
        -webkit-backdrop-filter: blur(16px) !important;
        border-top: 1px solid rgba(28, 28, 44, 0.08) !important;
        box-shadow: 0 -10px 30px rgba(28, 28, 44, 0.08) !important;
        z-index: 900 !important;
    }

    body.lc-cart-shell .theme-cart-mobile-summary-container p,
    body.lc-cart-shell .theme-cart-mobile-summary-container span {
        color: var(--lc-primary) !important;
        font-size: 13px !important;
    }

    body.lc-cart-shell .theme-cart-mobile-summary-container button,
    body.lc-cart-shell .theme-cart-mobile-summary-container a,
    body.lc-cart-shell .theme-cart-mobile-summary-container [role="button"] {
        min-height: 44px !important;
        padding: 12px 26px !important;
        border: 1px solid var(--lc-primary) !important;
        border-radius: 999px !important;
        background: var(--lc-primary) !important;
        background-image: none !important;
        color: #ffffff !important;
        font-size: 10px !important;
        font-weight: 800 !important;
        letter-spacing: 0.1em !important;
        text-transform: uppercase !important;
        white-space: nowrap !important;
    }

    body.lc-cart-shell .theme-cart-area-container {
        padding-bottom: 140px !important;
    }
}

/* Cart on small screens: center the column. Every wrapper in the
   chain goes full-width with auto inline margins so nothing can
   hug the left edge, and stray horizontal overflow (which shifts
   the page left and leaves a dead strip on the right) is clipped. */
@media (max-width: 1180px) {
    body.lc-cart-shell {
        overflow-x: clip !important;
    }

    body.lc-cart-shell .theme-cart-area-container {
        margin-inline: auto !important;
    }

    body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) {
        width: 100% !important;
        max-width: none !important;
        justify-content: stretch !important;
        justify-items: stretch !important;
    }

    body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-cart-details-container,
    body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-cart-summary-container,
    body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-shopping-cart-table-container,
    body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-cart-summary-inner-container {
        width: 100% !important;
        max-width: none !important;
        margin-inline: auto !important;
        box-sizing: border-box !important;
    }
}

/* The controls are width:100%, but injected payment markup can
   nest them in shrink-to-fit wrappers, so "100%" resolves against
   a narrow parent and the pill hugs the left. Stretch any wrapper
   that directly holds a control to the card's full width, and
   center whatever still renders narrower — auto margins collapse
   to nothing on an already full-width button, so nothing moves
   where the layout is already correct. */
body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-checkout-button-area {
    text-align: center !important;
}

body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-checkout-button-area :is(div, form, span):has(> button, > a, > [role="button"], > input[type="button"], > input[type="submit"]) {
    width: 100% !important;
    max-width: none !important;
    display: grid !important;
    justify-items: center !important;
    margin-inline: auto !important;
}

body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-checkout-button-area button,
body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-checkout-button-area a,
body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-checkout-button-area [role="button"],
body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-checkout-button-area input[type="button"],
body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-checkout-button-area input[type="submit"] {
    margin-inline: auto !important;
}

/* The cart shell still carried a rule hiding .lc-brand img from
   before the header switched to an image logo — with it, the brand
   anchor renders empty. Show it with the same sizing as the rest
   of the site's header. */
body.lc-cart-shell .lc-header .lc-brand img {
    display: block !important;
    width: 100% !important;
    max-width: 210px !important;
    height: auto !important;
    max-height: 50px !important;
    object-fit: contain !important;
    object-position: left center !important;
}

/* The cart header sits in normal flow, so the container's large
   top padding just reads as dead space under the nav pills. Pull
   the "Cart Inventory" title up close to the header. */
body.lc-cart-shell .theme-cart-area-container,
body:has(.theme-cart-area-container) .theme-cart-area-container {
    padding-top: 22px !important;
}

@media (max-width: 820px) {
    body.lc-cart-shell .theme-cart-area-container,
    body:has(.theme-cart-area-container) .theme-cart-area-container {
        padding-top: 14px !important;
    }
}

/* ============================================================
   Wishlist page — LaserCart shell + theme pass
   The /wishlist route is platform-rendered; lasercart-theme.js
   now installs the custom header/footer there (body gets
   .lc-cart-shell + .lc-wishlist-shell). Markup verified against
   the base template's store-wishlist.face.
   ============================================================ */

body.lc-wishlist-shell {
    overflow-x: clip !important;
    background: var(--lc-bg) !important;
    color: var(--lc-primary) !important;
    font-family: "Hanken Grotesk", Poppins, Arial, sans-serif !important;
}

body.lc-wishlist-shell .theme-content-container,
body.lc-wishlist-shell .theme-content-area-inner {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background:
        radial-gradient(circle at 80% 10%, rgba(118, 185, 0, 0.13), transparent 30%),
        radial-gradient(circle at 12% 16%, rgba(118, 239, 228, 0.08), transparent 24%),
        var(--lc-bg) !important;
}

/* Working area matches the cart page rhythm, tight under the
   in-flow header. */
body.lc-wishlist-shell .theme-content-area-inner > .zpcontainer {
    width: min(1320px, calc(100% - 40px)) !important;
    max-width: none !important;
    margin: 0 auto !important;
    margin-block-end: 0 !important;
    padding: 22px 0 96px !important;
    min-height: 60vh !important;
    box-sizing: border-box !important;
}

/* Title row: serif display title + search pill on one line. */
body.lc-wishlist-shell .wishlist-filter-container {
    display: flex !important;
    align-items: flex-end !important;
    justify-content: space-between !important;
    gap: 18px !important;
    flex-wrap: wrap !important;
    margin: 0 0 28px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

body.lc-wishlist-shell .wishlist-header {
    margin: 0 !important;
    color: var(--lc-primary) !important;
    font-family: /* "Lilita One", */ "Libre Caslon Text", Georgia, serif !important;
    font-size: clamp(38px, 4vw, 58px) !important;
    font-weight: 400 !important;
    line-height: 1.05 !important;
    letter-spacing: 0 !important;
}

body.lc-wishlist-shell .wishlist-header::after {
    content: "Saved components, ready when you are." !important;
    display: block !important;
    margin-top: 10px !important;
    color: rgba(28, 28, 44, 0.62) !important;
    font-family: "Hanken Grotesk", Poppins, sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.55 !important;
}

body.lc-wishlist-shell .theme-search-box {
    margin: 0 !important;
    flex: 0 1 320px !important;
}

body.lc-wishlist-shell .theme-search-box input.rounded-corner-input {
    width: 100% !important;
    min-height: 46px !important;
    padding: 0 44px 0 20px !important;
    border: 1px solid rgba(28, 28, 44, 0.12) !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.88) !important;
    color: var(--lc-primary) !important;
    box-shadow: 0 10px 26px rgba(28, 28, 44, 0.06) !important;
    font-family: "Hanken Grotesk", Poppins, sans-serif !important;
    font-size: 14px !important;
    outline: 0 !important;
    box-sizing: border-box !important;
}

body.lc-wishlist-shell .theme-search-box input.rounded-corner-input:focus {
    border-color: var(--lc-copper) !important;
}

body.lc-wishlist-shell .wishlist-search-icon {
    position: absolute !important;
    right: 18px !important;
}

/* "Removed from wishlist" alert as a quiet themed pill. */
body.lc-wishlist-shell .removed-alert-container {
    align-items: center !important;
    gap: 12px !important;
    margin: 0 0 18px !important;
    padding: 12px 18px !important;
    border: 1px solid rgba(28, 28, 44, 0.1) !important;
    border-radius: 18px !important;
    background: rgba(255, 255, 255, 0.82) !important;
    color: var(--lc-primary) !important;
    font-size: 13px !important;
}

body.lc-wishlist-shell .removed-alert-container button {
    border: 0 !important;
    border-radius: 999px !important;
    background: transparent !important;
}

/* Product grid: kill the zpcol float widths and lay the cards
   out on a responsive grid like the home-page rails. */
body.lc-wishlist-shell .theme-content-area-inner .zprow {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)) !important;
    gap: 22px !important;
    width: 100% !important;
    margin: 0 !important;
}

body.lc-wishlist-shell .theme-content-area-inner .zprow > [class*="zpcol"] {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
}

/* Card: same glass surface as the cart and home cards. */
body.lc-wishlist-shell .wishlist-grid {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 14px !important;
    border: 1px solid rgba(255, 255, 255, 0.76) !important;
    border-radius: 24px !important;
    background: rgba(255, 255, 255, 0.66) !important;
    box-shadow: 0 18px 46px rgba(28, 28, 44, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.88) !important;
    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;
    box-sizing: border-box !important;
}

body.lc-wishlist-shell .wishlist-image {
    width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    overflow: hidden !important;
    border-radius: 18px !important;
    background: #ffffff !important;
}

body.lc-wishlist-shell .wishlist-image img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

body.lc-wishlist-shell .variant-wishlist {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    gap: 8px !important;
    padding: 14px 4px 2px !important;
}

body.lc-wishlist-shell .variant-wishlist .theme-product-name a {
    color: var(--lc-primary) !important;
    font-family: /* "Lilita One", */ "Libre Caslon Text", Georgia, serif !important;
    font-size: 17px !important;
    font-weight: 400 !important;
    line-height: 1.3 !important;
    text-decoration: none !important;
}

body.lc-wishlist-shell .variant-wishlist .theme-product-name a:hover {
    color: var(--lc-copper) !important;
}

body.lc-wishlist-shell .variant-price {
    display: flex !important;
    align-items: baseline !important;
    gap: 8px !important;
    color: var(--lc-primary) !important;
    font-size: 15px !important;
    font-weight: 800 !important;
}

body.lc-wishlist-shell .variant-price .variant-old-price {
    color: rgba(28, 28, 44, 0.45) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    text-decoration: line-through !important;
}

/* Actions row: dark Add-to-cart pill + ghost remove circle. */
body.lc-wishlist-shell .variant-addcart-container {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin-top: auto !important;
    padding-top: 12px !important;
}

body.lc-wishlist-shell .variant-addcart-container .wishlist-btn {
    flex: 1 1 auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.lc-wishlist-shell .wishlist-btn .zpbutton,
body.lc-wishlist-shell .wishlist-btn a.theme-button {
    display: inline-flex !important;
    width: 100% !important;
    min-height: 42px !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 16px !important;
    border: 1px solid var(--lc-primary) !important;
    border-radius: 999px !important;
    background: var(--lc-primary) !important;
    background-image: none !important;
    color: #ffffff !important;
    box-shadow: none !important;
    font-family: "Hanken Grotesk", Poppins, sans-serif !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: 0.12em !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
    box-sizing: border-box !important;
}

body.lc-wishlist-shell .wishlist-btn .zpbutton:hover,
body.lc-wishlist-shell .wishlist-btn a.theme-button:hover {
    border-color: var(--lc-copper) !important;
    background: var(--lc-copper) !important;
    color: #ffffff !important;
}

body.lc-wishlist-shell .wishlist-btn .zpbutton span,
body.lc-wishlist-shell .wishlist-btn a.theme-button span {
    color: inherit !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
}

body.lc-wishlist-shell .wishlist-rm-icon {
    display: inline-flex !important;
    width: 42px !important;
    height: 42px !important;
    flex: 0 0 42px !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    border: 1px solid rgba(28, 28, 44, 0.18) !important;
    border-radius: 999px !important;
    background: transparent !important;
    cursor: pointer !important;
}

body.lc-wishlist-shell .wishlist-rm-icon:hover {
    border-color: #ef4444 !important;
    background: rgba(239, 68, 68, 0.06) !important;
}

body.lc-wishlist-shell .wishlist-rm-icon svg {
    width: 18px !important;
    height: 18px !important;
    margin: 0 !important;
}

body.lc-wishlist-shell .wishlist-rm-icon svg rect {
    fill: transparent !important;
}

/* Empty state. */
body.lc-wishlist-shell .theme-no-products-error {
    padding: 72px 20px !important;
    color: rgba(28, 28, 44, 0.62) !important;
    font-size: 15px !important;
    text-align: center !important;
}

/* Small screens: 2-up cards (the X X stacking used elsewhere),
   full-width search under the title. */
@media (max-width: 820px) {
    body.lc-wishlist-shell .theme-content-area-inner > .zpcontainer {
        width: calc(100% - 28px) !important;
        padding: 14px 0 72px !important;
    }

    body.lc-wishlist-shell .wishlist-filter-container {
        align-items: stretch !important;
        flex-direction: column !important;
        gap: 14px !important;
        margin-bottom: 20px !important;
    }

    body.lc-wishlist-shell .wishlist-header {
        font-size: 34px !important;
    }

    body.lc-wishlist-shell .theme-search-box {
        flex: 1 1 auto !important;
    }
}

@media (max-width: 640px) {
    body.lc-wishlist-shell .theme-content-area-inner .zprow {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 12px !important;
    }

    body.lc-wishlist-shell .wishlist-grid {
        padding: 10px !important;
        border-radius: 18px !important;
    }

    body.lc-wishlist-shell .wishlist-image {
        border-radius: 14px !important;
    }

    body.lc-wishlist-shell .variant-wishlist {
        padding: 10px 2px 0 !important;
    }

    body.lc-wishlist-shell .variant-wishlist .theme-product-name a {
        font-size: 14px !important;
    }

    body.lc-wishlist-shell .variant-price {
        font-size: 13.5px !important;
    }

    body.lc-wishlist-shell .variant-addcart-container {
        gap: 8px !important;
        padding-top: 10px !important;
    }

    body.lc-wishlist-shell .wishlist-btn .zpbutton,
    body.lc-wishlist-shell .wishlist-btn a.theme-button {
        min-height: 38px !important;
        padding: 0 10px !important;
        font-size: 9px !important;
    }

    body.lc-wishlist-shell .wishlist-btn .zpbutton span,
    body.lc-wishlist-shell .wishlist-btn a.theme-button span {
        font-size: 9px !important;
    }

    body.lc-wishlist-shell .wishlist-rm-icon {
        width: 38px !important;
        height: 38px !important;
        flex-basis: 38px !important;
    }
}

/* .theme-cart-area-container and .theme-cart-body are the SAME
   element, so the "Cart Inventory" ::before has always lost to
   the tagline ::before (higher specificity) and never rendered —
   the blank band under the header was its reserved padding. Put
   the title in the free ::after slot and hoist it above the
   tagline with grid order. */
body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty)::after {
    content: "Cart Inventory" !important;
    display: block !important;
    order: -1 !important;
    grid-column: 1 / -1 !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
    color: var(--lc-primary) !important;
    font-family: /* "Lilita One", */ "Libre Caslon Text", Georgia, serif !important;
    font-size: clamp(38px, 4vw, 58px) !important;
    font-weight: 400 !important;
    line-height: 1.05 !important;
    letter-spacing: 0 !important;
}

/* Tight rhythm under the in-flow header: small top padding, no
   row-track stretching from the min-height, and a compact row gap
   (columns keep their wider gap). */
body.lc-cart-shell .theme-cart-area-container {
    padding-top: 18px !important;
    align-content: start !important;
}

body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) {
    row-gap: 16px !important;
}

body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty)::before {
    margin: 0 0 14px !important;
}

/* Any stock wrapper padding above the cart goes too (scoped away
   from the wishlist, which manages its own container). */
body.lc-cart-shell:not(.lc-wishlist-shell) .theme-content-container .zpcontainer,
body.lc-cart-shell:not(.lc-wishlist-shell) .theme-content-area .zpcontainer,
body.lc-cart-shell:not(.lc-wishlist-shell) .theme-content-area-inner > .zpcontainer {
    padding-block: 0 !important;
    margin-block: 0 !important;
}

@media (max-width: 820px) {
    body.lc-cart-shell .theme-cart-area-container {
        padding-top: 12px !important;
    }

    body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty)::after {
        font-size: 34px !important;
    }
}

/* The first centering pass only stretched the buttons' DIRECT
   parent; the payment markup nests them deeper, so the outer
   wrapper still shrink-wrapped and pinned the stack left. Center
   the area itself and stretch EVERY wrapper in the chain that
   contains a control anywhere below it. */
body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-checkout-button-area {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 14px !important;
}

body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-checkout-button-area :is(div, form, span):has(button, a, [role="button"], input[type="button"], input[type="submit"]) {
    width: 100% !important;
    max-width: none !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 14px !important;
    margin-inline: auto !important;
    padding: 0 !important;
    float: none !important;
}

/* Top gap: mirror the wishlist fix, which proved out. The stock
   theme pads the content wrapper (including the
   .zpcontent-for-header-XX class) to clear its own fixed header;
   ours is in normal flow on the cart page, so that clearance is
   pure dead space. Applies to both the filled and empty cart —
   none of these selectors depend on cart contents. */
body.lc-cart-shell:not(.lc-wishlist-shell) {
    padding-top: 0 !important;
}

body.lc-cart-shell:not(.lc-wishlist-shell) .theme-content-container,
body.lc-cart-shell:not(.lc-wishlist-shell) .theme-content-area,
body.lc-cart-shell:not(.lc-wishlist-shell) .theme-content-area-inner,
body.lc-cart-shell:not(.lc-wishlist-shell) [class*="zpcontent-for-header"],
body.lc-cart-shell:not(.lc-wishlist-shell) .theme-content-area-inner > .zpcontainer {
    margin-block-start: 0 !important;
    padding-block-start: 0 !important;
}

body.lc-cart-shell .theme-cart-area-container,
body:has(.theme-cart-area-container) .theme-cart-area-container {
    margin-block-start: 0 !important;
    padding-top: 16px !important;
}

@media (max-width: 820px) {
    body.lc-cart-shell .theme-cart-area-container,
    body:has(.theme-cart-area-container) .theme-cart-area-container {
        padding-top: 12px !important;
    }
}

/* ============================================================
   Mobile menu panel: two-up chip grid instead of one tall
   vertical list — same six links in half the height.
   ============================================================ */
.lc-mobile-panel.is-open {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
}

.lc-mobile-panel a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 44px !important;
    padding: 10px 12px !important;
    border: 1px solid rgba(28, 28, 44, 0.1) !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.9) !important;
    text-align: center !important;
    font-size: 13px !important;
    font-weight: 600 !important;
}

.lc-mobile-panel a:hover {
    border-color: var(--lc-copper) !important;
    background: rgba(118, 185, 0, 0.08) !important;
    color: var(--lc-copper) !important;
}

/* ============================================================
   Customer portal pages — LaserCart shell + theme pass
   /portal, /signin, /signup, /forgotpassword and /account/*
   are platform-rendered; lasercart-theme.js installs the custom
   header/footer there (body: .lc-cart-shell + .lc-portal-shell).
   The sign-in form itself is platform-injected (page.form_code),
   so we theme the page and card around it and keep inner rules
   conservative for markup we don't control.
   ============================================================ */

body.lc-portal-shell {
    overflow-x: clip !important;
    background: var(--lc-bg) !important;
    color: var(--lc-primary) !important;
    font-family: "Hanken Grotesk", Poppins, Arial, sans-serif !important;
}

/* The portal's minimal go-back header variant is redundant under
   our injected header. */
body.lc-portal-shell .theme-header[data-portal-header] {
    display: none !important;
}

body.lc-portal-shell .theme-content-container,
body.lc-portal-shell .theme-content-area,
body.lc-portal-shell .theme-content-area-inner,
body.lc-portal-shell [class*="zpcontent-for-header"] {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background:
        radial-gradient(circle at 80% 10%, rgba(118, 185, 0, 0.13), transparent 30%),
        radial-gradient(circle at 12% 16%, rgba(118, 239, 228, 0.08), transparent 24%),
        var(--lc-bg) !important;
}

/* Sign-in / sign-up / forgot-password: one centered glass card
   with a serif page title above the injected form. */
body.lc-portal-shell .theme-portal-form-container {
    width: min(520px, calc(100% - 28px)) !important;
    margin: 30px auto 96px !important;
    padding: 30px 30px 26px !important;
    border: 1px solid rgba(255, 255, 255, 0.76) !important;
    border-radius: 30px !important;
    background: rgba(255, 255, 255, 0.72) !important;
    box-shadow: 0 24px 72px rgba(28, 28, 44, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.88) !important;
    backdrop-filter: blur(18px) !important;
    -webkit-backdrop-filter: blur(18px) !important;
    box-sizing: border-box !important;
}

body.lc-portal-shell .theme-portal-form-container::before {
    content: "Account Access" !important;
    display: block !important;
    margin: 0 0 18px !important;
    color: var(--lc-primary) !important;
    font-family: /* "Lilita One", */ "Libre Caslon Text", Georgia, serif !important;
    font-size: clamp(28px, 3.4vw, 38px) !important;
    font-weight: 400 !important;
    line-height: 1.1 !important;
    text-align: center !important;
}

body.lc-portal-shell .theme-portal-form-container iframe {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    border: 0 !important;
}

body.lc-portal-shell .theme-noaccount-signup,
body.lc-portal-shell .theme-forgotpassword-back {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 8px !important;
    margin-top: 16px !important;
    color: rgba(28, 28, 44, 0.62) !important;
    font-size: 13px !important;
    text-align: center !important;
}

body.lc-portal-shell .theme-noaccount-signup a,
body.lc-portal-shell .theme-forgotpassword-back a {
    color: var(--lc-copper) !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

body.lc-portal-shell .theme-noaccount-signup a:hover,
body.lc-portal-shell .theme-forgotpassword-back a:hover {
    text-decoration: underline !important;
}

/* Signup-disabled / contact-admin info states. */
body.lc-portal-shell .user-signup-container {
    width: min(560px, calc(100% - 28px)) !important;
    margin: 30px auto 96px !important;
    padding: 34px 30px !important;
    border: 1px solid rgba(255, 255, 255, 0.76) !important;
    border-radius: 30px !important;
    background: rgba(255, 255, 255, 0.72) !important;
    box-shadow: 0 24px 72px rgba(28, 28, 44, 0.08) !important;
    box-sizing: border-box !important;
    text-align: center !important;
}

body.lc-portal-shell .user-signup-heading {
    margin: 0 0 12px !important;
    color: var(--lc-primary) !important;
    font-family: /* "Lilita One", */ "Libre Caslon Text", Georgia, serif !important;
    font-size: 26px !important;
    font-weight: 400 !important;
}

body.lc-portal-shell .user-signup-error-text {
    color: rgba(28, 28, 44, 0.62) !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
}

body.lc-portal-shell .user-signup-back-button {
    display: inline-flex !important;
    min-height: 44px !important;
    align-items: center !important;
    justify-content: center !important;
    margin-top: 16px !important;
    padding: 0 26px !important;
    border: 1px solid var(--lc-primary) !important;
    border-radius: 999px !important;
    background: var(--lc-primary) !important;
    color: #ffffff !important;
    cursor: pointer !important;
    font-family: "Hanken Grotesk", Poppins, sans-serif !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
}

body.lc-portal-shell .user-signup-back-button:hover {
    border-color: var(--lc-copper) !important;
    background: var(--lc-copper) !important;
}

/* Logged-in /account/* pages: markup is platform-owned, so keep
   it conservative — working-area width, theme typography, copper
   links, pill text inputs. */
body.lc-cart-shell.lc-portal-shell #main-content > .zpcontainer,
body.lc-cart-shell.lc-portal-shell .theme-content-area-inner > .zpcontainer {
    width: min(1320px, calc(100% - 40px)) !important;
    max-width: none !important;
    margin: 0 auto !important;
    padding: 22px 0 96px !important;
    box-sizing: border-box !important;
}

body.lc-portal-shell #main-content a:not([class*="button"]):not([class*="btn"]) {
    color: var(--lc-copper) !important;
}

body.lc-portal-shell #main-content input[type="text"],
body.lc-portal-shell #main-content input[type="email"],
body.lc-portal-shell #main-content input[type="tel"],
body.lc-portal-shell #main-content input[type="password"],
body.lc-portal-shell #main-content select,
body.lc-portal-shell #main-content textarea {
    border: 1px solid rgba(28, 28, 44, 0.14) !important;
    border-radius: 14px !important;
    background: rgba(255, 255, 255, 0.9) !important;
    color: var(--lc-primary) !important;
    font-family: "Hanken Grotesk", Poppins, sans-serif !important;
}

/* Mobile. */
@media (max-width: 640px) {
    body.lc-portal-shell .theme-portal-form-container,
    body.lc-portal-shell .user-signup-container {
        width: calc(100% - 24px) !important;
        margin: 18px auto 72px !important;
        padding: 22px 18px !important;
        border-radius: 24px !important;
    }

    body.lc-portal-shell .theme-portal-form-container::before {
        font-size: 26px !important;
    }

    body.lc-cart-shell.lc-portal-shell #main-content > .zpcontainer,
    body.lc-cart-shell.lc-portal-shell .theme-content-area-inner > .zpcontainer {
        width: calc(100% - 24px) !important;
        padding: 14px 0 72px !important;
    }
}

/* ============================================================
   Cart quantity stepper — hitbox + alignment fixes
   The "-" slot in the platform markup also carries the classes
   .theme-cart-item-remove / .theme-cart-icon-delete and hides a
   trash icon inside it (shown by the platform when qty is 1), so
   the remove-column rules (flex-end, gap, 96px dark pills) were
   leaking into the 36px slot and covering the real click target.
   ============================================================ */

body:has(.theme-cart-area-container) .theme-cart-body.theme-cart-area-container .theme-cart-table-data.theme-cart-qty .theme-product-list-quantity-decrease,
body:has(.theme-cart-area-container) .theme-cart-body.theme-cart-area-container .theme-cart-table-data.theme-cart-qty .theme-product-list-quantity-increase {
    position: relative !important;
    flex: 0 0 36px !important;
    width: 36px !important;
    min-width: 36px !important;
    height: 40px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
}

body:has(.theme-cart-area-container) .theme-cart-body.theme-cart-area-container .theme-cart-table-data.theme-cart-qty .theme-product-list-quantity-decrease > svg,
body:has(.theme-cart-area-container) .theme-cart-body.theme-cart-area-container .theme-cart-table-data.theme-cart-qty .theme-product-list-quantity-increase > svg {
    display: block !important;
    margin: 0 !important;
}

/* Keep the "- / value / +" columns fixed so the glyphs stay symmetric */
body:has(.theme-cart-area-container) .theme-cart-body.theme-cart-area-container .theme-cart-table-data.theme-cart-qty .theme-product-list-quantity > input[type="text"] {
    flex: 0 0 48px !important;
}

/* The transparent input is the real click target — pin it over the
   whole slot (the stock rule that did this can be lost to resets). */
body:has(.theme-cart-area-container) .theme-cart-body.theme-cart-area-container .theme-cart-table-data.theme-cart-qty .theme-cart-qty-inc-dec {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    z-index: 3 !important;
    cursor: pointer !important;
}

/* qty == 1: the platform swaps "-" for a trash icon in the same slot.
   Make it a plain centered overlay instead of a clipped dark pill. */
body:has(.theme-cart-area-container) .theme-cart-body.theme-cart-area-container .theme-cart-qty .theme-cart-icon-delete [data-zs-delete-icon] {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 4 !important;
    cursor: pointer !important;
}

body:has(.theme-cart-area-container) .theme-cart-body.theme-cart-area-container .theme-cart-qty .theme-cart-icon-delete .theme-cart-remove-button {
    width: 100% !important;
    min-width: 0 !important;
    height: 100% !important;
    min-height: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 0 !important;
    border-radius: 0 !important;
    padding: 0 !important;
    color: var(--lc-primary) !important;
    background: transparent !important;
    box-shadow: none !important;
}

body:has(.theme-cart-area-container) .theme-cart-body.theme-cart-area-container .theme-cart-qty .theme-cart-icon-delete .theme-cart-remove-button svg,
body:has(.theme-cart-area-container) .theme-cart-body.theme-cart-area-container .theme-cart-qty .theme-cart-icon-delete .theme-cart-remove-button svg path {
    fill: currentColor !important;
}

/* The in-slot loading-spinner variant was rendering as a second pill */
body:has(.theme-cart-area-container) .theme-cart-body.theme-cart-area-container .theme-cart-qty .theme-cart-icon-delete .theme-cart-remove-icon-button {
    display: none !important;
}

/* Hide the "-" glyph underneath while the trash overlay is visible */
body:has(.theme-cart-area-container) .theme-cart-body.theme-cart-area-container .theme-cart-qty .theme-cart-icon-delete:has(> [data-zs-delete-icon]:not([style*="none"])) > svg.theme-cart-decrease {
    visibility: hidden !important;
}

/* ...and the "-" the customer actually sees, which is not that svg. The glyph
   is drawn as content on .theme-product-list-quantity-decrease::before, so the
   rule above was hiding an element that the blanket display:none had already
   removed. Standing alone, per the :has() rule: a selector list containing
   :has() is dropped whole where it is unsupported, and this must not take the
   sibling rules with it. */
body:has(.theme-cart-area-container) .theme-cart-body.theme-cart-area-container .theme-cart-qty .theme-cart-icon-delete:has(> [data-zs-delete-icon]:not([style*="none"]))::before {
    content: "" !important;
    display: none !important;
}

/* ============================================================
   Summary buttons — hover states
   Dark pills (Checkout / Checkout with Razorpay) go copper on
   hover, like the wishlist buttons; the outlined Continue
   Shopping pill fills dark.
   ============================================================ */

body.lc-cart-shell .theme-cart-body.theme-cart-area-container .theme-checkout-button-area button,
body.lc-cart-shell .theme-cart-body.theme-cart-area-container .theme-checkout-button-area a,
body.lc-cart-shell .theme-cart-body.theme-cart-area-container .theme-checkout-button-area [role="button"],
body.lc-cart-shell .theme-cart-body.theme-cart-area-container .theme-checkout-button-area input[type="button"],
body.lc-cart-shell .theme-cart-body.theme-cart-area-container .theme-checkout-button-area input[type="submit"],
body.lc-cart-shell .theme-cart-body.theme-cart-area-container .theme-checkout-button-area .theme-checkout-button,
body.lc-cart-shell .theme-cart-body.theme-cart-area-container .theme-checkout-button-area .theme-continue-shopping-button,
body.lc-cart-shell .theme-cart-body.theme-cart-area-container .theme-checkout-button-area .theme-continue-link {
    transition: background 0.18s ease, border-color 0.18s ease,
        color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease !important;
    cursor: pointer !important;
}

body.lc-cart-shell .theme-cart-body.theme-cart-area-container .theme-checkout-button-area button:hover,
body.lc-cart-shell .theme-cart-body.theme-cart-area-container .theme-checkout-button-area a:hover,
body.lc-cart-shell .theme-cart-body.theme-cart-area-container .theme-checkout-button-area [role="button"]:hover,
body.lc-cart-shell .theme-cart-body.theme-cart-area-container .theme-checkout-button-area input[type="button"]:hover,
body.lc-cart-shell .theme-cart-body.theme-cart-area-container .theme-checkout-button-area input[type="submit"]:hover,
body.lc-cart-shell .theme-cart-body.theme-cart-area-container .theme-checkout-button-area .theme-checkout-button:hover {
    border-color: var(--lc-copper) !important;
    background: var(--lc-copper) !important;
    color: #fff !important;
    box-shadow: 0 16px 34px rgba(118, 185, 0, 0.28) !important;
    transform: translateY(-1px) !important;
}

body.lc-cart-shell .theme-cart-body.theme-cart-area-container .theme-checkout-button-area .theme-continue-shopping-button:hover,
body.lc-cart-shell .theme-cart-body.theme-cart-area-container .theme-checkout-button-area .theme-continue-link:hover {
    border-color: var(--lc-primary) !important;
    background: var(--lc-primary) !important;
    color: #fff !important;
    box-shadow: 0 16px 34px rgba(28, 28, 44, 0.22) !important;
    transform: translateY(-1px) !important;
}

body.lc-cart-shell .theme-cart-body.theme-cart-area-container .theme-checkout-button-area button:active,
body.lc-cart-shell .theme-cart-body.theme-cart-area-container .theme-checkout-button-area a:active,
body.lc-cart-shell .theme-cart-body.theme-cart-area-container .theme-checkout-button-area .theme-checkout-button:active,
body.lc-cart-shell .theme-cart-body.theme-cart-area-container .theme-checkout-button-area .theme-continue-shopping-button:active,
body.lc-cart-shell .theme-cart-body.theme-cart-area-container .theme-checkout-button-area .theme-continue-link:active {
    transform: translateY(0) !important;
    box-shadow: 0 8px 18px rgba(28, 28, 44, 0.14) !important;
}

/* ============================================================
   Home page cleanup pass
   1) Catalog spotlight: wider active slide + taller section on
      desktop; the slide image loses its white frame box and is
      shown as a plain rounded-corner image on all viewports.
   2) Explore the line-up: container re-capped to the same width
      as the Recommended section and cards sized so exactly 5 are
      visible with the rest behind the carousel arrows; cards get
      the same top-left badges as the Recommended cards.
   ============================================================ */

@media (min-width: 981px) {
    .lc-home .lc-catalog-slide {
        width: min(95%, calc(100% - 56px)) !important;
        min-height: clamp(380px, 40vw, 540px) !important;
    }

    .lc-home .lc-catalog-slider {
        min-height: calc(clamp(380px, 40vw, 540px) + 44px) !important;
    }

    .lc-home .lc-catalog-slider-controls {
        width: min(95%, calc(100% - 56px)) !important;
    }

    .lc-home .lc-catalog-slide figure {
        min-height: clamp(250px, 28vw, 380px) !important;
    }

    .lc-home .lc-catalog-slide img {
        width: min(84%, 420px) !important;
        max-height: 340px !important;
    }
}

/* No white frame around the slide image — just the product image,
   always with curved edges */
.lc-home .lc-catalog-slide figure {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.lc-home .lc-catalog-slide img {
    border-radius: 24px !important;
    aspect-ratio: 1 / 0.9 !important;
    object-fit: cover !important;
    object-position: center !important;
}

/* compact sections */
.lc-home .lc-catalog-spotlight-section {
    padding-block: clamp(44px, 5vw, 64px) !important;
}

/* feature sections */
.lc-home .lc-coupon-section,
.lc-home #bestsellers {
    padding-block: clamp(60px, 7vw, 96px) !important;
}

/* ============================================================
   Home rhythm, second pass (per section-by-section review):
   - spotlight/line-up boundary: both halves of the gap halved
   - line-up bottom padding removed (coupon keeps its own)
   - bestsellers and shop-by-brand lose their top padding (the
     preceding feature sections' bottom padding sets the gap)
   ============================================================ */
.lc-home .lc-catalog-spotlight-section {
    padding-bottom: clamp(22px, 2.5vw, 32px) !important;
}

.lc-home #bestsellers {
    padding-top: 0 !important;
}

/* ============================================================
   Home rhythm, third pass — same pattern applied to the rest
   of the page:
   - spotlight top halved (opener strip above already has a
     small bottom padding)
   - brand explorer: top removed (shop-by-brand's 96px bottom
     sets that gap), bottom halved toward the bulk calculator
   - bulk calculator and recommended: both paddings halved so
     the flowing content cluster keeps ~64px seams
   - kit builder: halved on both sides (it renders as a soft
     tinted band, so it keeps a little internal breathing room
     instead of a hard 0)
   - feature carousel halved on both sides, trust top halved:
     ~96px around the banner-scale sections, and the trust
     section's hairline border keeps padding above its content
   ============================================================ */
.lc-home .lc-catalog-spotlight-section {
    padding-top: clamp(22px, 2.5vw, 32px) !important;
}

/* ============================================================
   Home background blend pass — no sudden color shifts between
   sections. Root causes fixed here:
   - radial washes previously sized as % of the corner distance
     (huge on wide sections) bled across section edges, printing
     a hard cut line where the next section starts; every wash
     is re-declared as a contained ellipse (semi-axes as % of
     the section box, fully faded before top/bottom edges)
   - the brand explorer's semi-white full-section overlay (the
     line in the review screenshot) is dropped; its tint now
     comes from a contained wash over the shared cream
   - kit builder's solid soft band now fades in and out of the
     page cream instead of starting abruptly
   - literal hairlines (top-categories bottom, trust top/bottom)
     removed
   - the spotlight's decorative ::before washes are masked so
     they fade out before the section edges
   ============================================================ */

.lc-home .lc-catalog-spotlight-section::before {
    -webkit-mask-image: linear-gradient(180deg, transparent 0, #000 18%, #000 82%, transparent 100%) !important;
    mask-image: linear-gradient(180deg, transparent 0, #000 18%, #000 82%, transparent 100%) !important;
}

.lc-home .lc-coupon-section {
    background:
        radial-gradient(42% 34% at 12% 38%, rgba(118, 185, 0, 0.09), transparent 100%),
        radial-gradient(38% 30% at 90% 56%, rgba(28, 28, 44, 0.05), transparent 100%),
        var(--lc-bg) !important;
}

/* Wrapper chain flattened so the cart container tracks the same
   min(1440px, 100% - 40px) box as .lc-header-container. */
body.lc-cart-shell:not(.lc-wishlist-shell):not(.lc-portal-shell) .theme-content-container,
body.lc-cart-shell:not(.lc-wishlist-shell):not(.lc-portal-shell) .theme-content-area,
body.lc-cart-shell:not(.lc-wishlist-shell):not(.lc-portal-shell) .theme-content-area-inner,
body.lc-cart-shell:not(.lc-wishlist-shell):not(.lc-portal-shell) .theme-content-area-inner > .zpcontainer {
    width: 100% !important;
    max-width: none !important;
    margin-inline: 0 !important;
    padding-inline: 0 !important;
}

body.lc-cart-shell .theme-cart-area-container,
body:has(.theme-cart-area-container) .theme-cart-area-container {
    width: min(1440px, calc(100% - 40px)) !important;
    max-width: none !important;
    margin-inline: auto !important;
}

@media (max-width: 640px) {
    body.lc-cart-shell .theme-cart-area-container,
    body:has(.theme-cart-area-container) .theme-cart-area-container {
        width: min(100% - 32px, 1440px) !important;
    }
}

/* -- Clear cart pill, bottom-left of the items card (the button
      is the table container's last child, so normal flow places it
      right under the final cart row) -- */
body.lc-cart-shell .theme-shopping-cart-table-container {
    position: relative !important;
}

body.lc-cart-shell .lc-cart-clear {
    position: static !important;
    display: inline-flex !important;
    width: fit-content !important;
    margin: 18px 0 2px !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 30px !important;
    border: 1px solid rgba(239, 68, 68, 0.35) !important;
    border-radius: 999px !important;
    padding: 0 14px !important;
    color: #cf3d34 !important;
    background: transparent !important;
    box-shadow: none !important;
    font-family: "Hanken Grotesk", Poppins, Arial, sans-serif !important;
    font-size: 9px !important;
    font-weight: 800 !important;
    letter-spacing: 0.12em !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    transition: color 0.18s ease, border-color 0.18s ease, background 0.18s ease !important;
}

body.lc-cart-shell .lc-cart-clear:hover {
    color: #ef4444 !important;
    border-color: #ef4444 !important;
    background: rgba(239, 68, 68, 0.06) !important;
}

body.lc-cart-shell .lc-cart-clear:disabled {
    opacity: 0.55 !important;
    cursor: default !important;
}

@media (max-width: 820px) {
    body.lc-cart-shell .lc-cart-clear {
        margin: 14px 0 2px !important;
        min-height: 28px !important;
    }
}

/* -- Coupon note inside the Summary card -- */
body.lc-cart-shell .lc-cart-coupon {
    display: grid !important;
    gap: 6px !important;
    margin: 18px 0 !important;
    padding-top: 18px !important;
    border-top: 1px solid rgba(28, 28, 44, 0.08) !important;
}

body.lc-cart-shell .lc-cart-coupon-title {
    color: var(--lc-primary) !important;
    font-family: "Hanken Grotesk", Poppins, Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

body.lc-cart-shell .lc-cart-coupon-hint {
    margin: 0 !important;
    color: rgba(28, 28, 44, 0.62) !important;
    font-family: "Hanken Grotesk", Poppins, Arial, sans-serif !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 1.55 !important;
}

/* -- Delivery options panel under the Summary card -- */
body.lc-cart-shell .lc-cart-shipping {
    margin-top: 14px !important;
    border: 1px solid rgba(255, 255, 255, 0.78) !important;
    border-radius: 24px !important;
    padding: 22px 24px !important;
    background: rgba(255, 255, 255, 0.66) !important;
    box-shadow: 0 18px 44px rgba(28, 28, 44, 0.06), inset 0 1px 0 rgba(255, 255, 255, 0.88) !important;
    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;
}

body.lc-cart-shell .lc-cart-shipping h3 {
    margin: 0 0 14px !important;
    color: var(--lc-primary) !important;
    font-family: /* "Lilita One", */ "Libre Caslon Text", Georgia, serif !important;
    font-size: 22px !important;
    font-weight: 400 !important;
    line-height: 1.15 !important;
}

body.lc-cart-shell .lc-cart-ship-modes {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    margin: 0 0 14px !important;
}

body.lc-cart-shell .lc-cart-ship-modes label {
    position: relative !important;
    display: grid !important;
    gap: 3px !important;
    border: 1px solid rgba(28, 28, 44, 0.12) !important;
    border-radius: 16px !important;
    padding: 12px 14px !important;
    background: rgba(255, 255, 255, 0.6) !important;
    cursor: pointer !important;
    transition: border-color 0.18s ease, background 0.18s ease, box-shadow 0.18s ease !important;
}

body.lc-cart-shell .lc-cart-ship-modes label input {
    position: absolute !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

body.lc-cart-shell .lc-cart-ship-modes label.is-active {
    border-color: var(--lc-copper) !important;
    background: rgba(118, 185, 0, 0.08) !important;
    box-shadow: 0 10px 22px rgba(118, 185, 0, 0.12) !important;
}

body.lc-cart-shell .lc-cart-ship-modes strong {
    color: var(--lc-primary) !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
}

body.lc-cart-shell .lc-cart-ship-modes small {
    color: rgba(28, 28, 44, 0.6) !important;
    font-size: 11px !important;
    line-height: 1.4 !important;
}

body.lc-cart-shell .lc-cart-ship-eta {
    margin: 0 0 6px !important;
    color: rgba(28, 28, 44, 0.72) !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
}

body.lc-cart-shell .lc-cart-ship-eta strong {
    color: #3e7d00 !important;
    font-weight: 800 !important;
}

body.lc-cart-shell .lc-cart-ship-note {
    margin: 0 !important;
    color: rgba(28, 28, 44, 0.5) !important;
    font-size: 11px !important;
    line-height: 1.5 !important;
}

/* -- Continue Shopping, bottom centre of the cart grid -- */
body.lc-cart-shell .lc-cart-continue-bottom {
    grid-column: 1 / -1 !important;
    justify-self: center !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 46px !important;
    margin-top: 6px !important;
    border: 1px solid var(--lc-primary) !important;
    border-radius: 999px !important;
    padding: 0 30px !important;
    color: var(--lc-primary) !important;
    background: rgba(255, 255, 255, 0.7) !important;
    box-shadow: 0 14px 30px rgba(28, 28, 44, 0.08) !important;
    font-family: "Hanken Grotesk", Poppins, Arial, sans-serif !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: 0.12em !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    transition: color 0.18s ease, background 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease !important;
}

body.lc-cart-shell .lc-cart-continue-bottom:hover {
    color: #fff !important;
    background: var(--lc-primary) !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 16px 34px rgba(28, 28, 44, 0.22) !important;
}

/* -- Cart breadcrumb (Home › Cart Inventory), same voice as the
      product page breadcrumbs -- */
body.lc-cart-shell .lc-cart-breadcrumb {
    order: -2 !important;
    grid-column: 1 / -1 !important;
    width: 100% !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 0 0 2px !important;
    color: rgba(28, 28, 44, 0.56) !important;
    font-family: "Hanken Grotesk", Poppins, Arial, sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
}

body.lc-cart-shell .lc-cart-breadcrumb a {
    color: rgba(28, 28, 44, 0.56) !important;
    text-decoration: none !important;
    transition: color 0.18s ease !important;
}

body.lc-cart-shell .lc-cart-breadcrumb a:hover {
    color: var(--lc-copper) !important;
}

/* -- Empty cart: breadcrumb on its own row, centred return-to-shop -- */
body.lc-cart-shell .theme-cart-body.theme-cart-empty {
    flex-wrap: wrap !important;
}

body.lc-cart-shell .lc-cart-return-shop {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 46px !important;
    margin: 18px auto 0 !important;
    border: 1px solid var(--lc-primary) !important;
    border-radius: 999px !important;
    padding: 0 30px !important;
    color: #fff !important;
    background: var(--lc-primary) !important;
    box-shadow: 0 14px 30px rgba(28, 28, 44, 0.12) !important;
    font-family: "Hanken Grotesk", Poppins, Arial, sans-serif !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: 0.12em !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    transition: background 0.18s ease, border-color 0.18s ease, transform 0.18s ease !important;
}

body.lc-cart-shell .lc-cart-return-shop:hover {
    border-color: var(--lc-copper) !important;
    background: var(--lc-copper) !important;
    transform: translateY(-1px) !important;
}

/* ============================================================
   Cart page follow-ups:
   - breadcrumb type scaled down to match the product pages
   - stepper -/+ slots narrowed so they no longer touch the
     pill's borders (36+48+36 filled the whole 124px pill)
   - Apply button text vertically centred
   - Continue Shopping lives in the summary column, right-aligned
   ============================================================ */

body.lc-cart-shell .lc-cart-breadcrumb {
    gap: 8px !important;
}

/* Size the crumb's children directly too — inherited 11px loses to
   any platform rule that puts an explicit font-size on cart-area
   links/spans. */
body.lc-cart-shell .lc-cart-breadcrumb,
body.lc-cart-shell .lc-cart-breadcrumb a,
body.lc-cart-shell .lc-cart-breadcrumb span {
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    line-height: 1.4 !important;
}

/* 32 + 44 + 32 = 108 inside the 124px pill → 8px breathing room
   on each side. Selectors mirror the earlier hitbox pass so they
   win by file order. */
body:has(.theme-cart-area-container) .theme-cart-body.theme-cart-area-container .theme-cart-table-data.theme-cart-qty .theme-product-list-quantity-decrease,
body:has(.theme-cart-area-container) .theme-cart-body.theme-cart-area-container .theme-cart-table-data.theme-cart-qty .theme-product-list-quantity-increase {
    flex: 0 0 32px !important;
    width: 32px !important;
    min-width: 32px !important;
}

body:has(.theme-cart-area-container) .theme-cart-body.theme-cart-area-container .theme-cart-table-data.theme-cart-qty .theme-product-list-quantity > input[type="text"] {
    flex: 0 0 44px !important;
    width: 44px !important;
}

body:has(.theme-cart-area-container) .theme-cart-body.theme-cart-area-container .theme-cart-table-data.theme-cart-qty .theme-product-list-quantity {
    justify-content: center !important;
    gap: 0 !important;
    padding: 0 !important;
}

/* Inside the summary column the pill sits FIRST (above the Summary
   card, in its leftover space), pushed to the right margin. */
body.lc-cart-shell .theme-cart-summary-container .lc-cart-continue-bottom {
    order: -1 !important;
    display: flex !important;
    width: fit-content !important;
    justify-self: end !important;
    margin: 0 0 14px auto !important;
}

/* Cart title sized to match the All Products collection title.
   That title's winning rule is the late clamp(28px, 3vw, 40px)
   override (home-section-title size), not the older
   clamp(40px, 4.5vw, 56px) declaration. Applies at every width —
   All Products uses this size on mobile too. */
body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty)::after,
body:has(.theme-cart-area-container) .theme-cart-area-container::before {
    font-size: clamp(28px, 3vw, 40px) !important;
}

/* Empty cart: none of the injected shopping extras belong here —
   only the platform's empty message and the return action. Guards
   the moment the platform flips the class client-side, before the
   JS reload kicks in. */
body.lc-cart-shell .theme-cart-empty .lc-cart-coupon,
body.lc-cart-shell .theme-cart-empty .lc-cart-shipping,
body.lc-cart-shell .theme-cart-empty .lc-cart-clear,
body.lc-cart-shell .theme-cart-empty .lc-cart-continue-bottom {
    display: none !important;
}

/* Branched links — all widths. Leads keep the 42px-thumb grid
   from the stock mega link rule; subs are plain text rows (the
   inherited 42px grid column would orphan their labels). */
.lc-secondary-mega .lc-mega-group {
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
    min-width: 0 !important;
}

.lc-secondary-mega .lc-mega-group h4 {
    margin-bottom: 10px !important;
}

.lc-secondary-mega a.lc-mega-lead {
    margin-bottom: 4px !important;
}

.lc-secondary-mega a.lc-mega-sub {
    display: flex !important;
    align-items: center !important;
    min-height: 34px !important;
    border-radius: 12px !important;
    padding: 5px 8px 5px 10px !important;
    color: rgba(28, 28, 44, 0.64) !important;
    font-size: 12.5px !important;
    font-weight: 600 !important;
}

.lc-secondary-mega a.lc-mega-sub:hover {
    color: var(--lc-copper) !important;
    background: rgba(118, 185, 0, 0.07) !important;
    transform: translateX(3px) !important;
}

.lc-secondary-mega .lc-mega-footer {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px 18px !important;
    margin-top: 18px !important;
    padding-top: 16px !important;
    border-top: 1px solid rgba(28, 28, 44, 0.08) !important;
}

.lc-secondary-mega .lc-mega-footer span {
    color: rgba(28, 28, 44, 0.55) !important;
    font-family: "Hanken Grotesk", Poppins, Arial, sans-serif !important;
    font-size: 12px !important;
}

.lc-secondary-mega .lc-mega-footer a {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 0 !important;
    padding: 4px 2px !important;
    color: var(--lc-copper) !important;
    font-family: "Hanken Grotesk", Poppins, Arial, sans-serif !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
}

.lc-secondary-mega .lc-mega-footer a:hover {
    color: var(--lc-primary) !important;
    background: transparent !important;
    transform: translateX(2px) !important;
}

/* Desktop geometry: position against the sub-header nav (the li
   goes static), centred, header-container width. */
@media (min-width: 981px) {
    .lc-secondary-menu > li.lc-secondary-item {
        position: static !important;
    }

    .lc-secondary-mega.lc-mega-full {
        top: calc(100% + 10px) !important;
        left: 50% !important;
        width: min(1440px, calc(100% - 40px)) !important;
        border-radius: 26px !important;
        padding: 30px 36px 24px !important;
    }

    /* Invisible hover bridge across the 10px gap between the nav
       bar and the panel so the menu doesn't close in transit. */
    .lc-secondary-mega.lc-mega-full::before {
        content: "" !important;
        position: absolute !important;
        top: -14px !important;
        right: 0 !important;
        left: 0 !important;
        height: 14px !important;
    }

    .lc-mega-full .lc-secondary-mega-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: 8px 30px !important;
    }

    .lc-mega-full .lc-mega-group + .lc-mega-group {
        border-left: 1px solid rgba(28, 28, 44, 0.06) !important;
        padding-left: 30px !important;
    }
}

/* ============================================================
   Custom themed dropdowns (.lc-select) — replace the native
   <select> popups in the home bulk-savings calculator and the
   product page configuration selects, mirroring the All Products
   "Sort by" dropdown: rounded cream panel, soft green hover wash,
   green-accented selected row. The native selects stay in the DOM
   (hidden) and keep driving the pricing logic; lasercart-theme.js
   keeps the two in sync. Everything is !important because the
   theme's generic .theme-content-area button rules (solid green
   hover fill) would otherwise swallow these buttons.
   ============================================================ */
select[data-lc-enhanced] {
    display: none !important;
}

.lc-select {
    position: relative !important;
    width: 100% !important;
}

.lc-select.is-open {
    z-index: 95 !important;
}

.lc-select .lc-select-trigger {
    display: flex !important;
    width: 100% !important;
    min-height: 42px !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    border: 1px solid rgba(28, 28, 44, 0.12) !important;
    border-radius: 12px !important;
    padding: 0 14px !important;
    color: var(--lc-primary) !important;
    background: rgba(255, 255, 255, 0.76) !important;
    box-shadow: none !important;
    font-family: "Hanken Grotesk", Poppins, Arial, sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    text-align: left !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    cursor: pointer !important;
    transition: border-color 160ms ease, background 160ms ease, box-shadow 160ms ease !important;
}

.lc-select .lc-select-trigger:hover {
    color: var(--lc-primary) !important;
    border-color: rgba(28, 28, 44, 0.24) !important;
    background: #ffffff !important;
    transform: none !important;
}

.lc-select.is-open .lc-select-trigger {
    border-color: rgba(118, 185, 0, 0.5) !important;
    background: #ffffff !important;
    box-shadow: 0 0 0 3px rgba(118, 185, 0, 0.14) !important;
}

.lc-select .lc-select-trigger svg {
    flex: 0 0 auto !important;
    width: 12px !important;
    height: 8px !important;
    transition: transform 180ms ease !important;
}

.lc-select.is-open .lc-select-trigger svg {
    transform: rotate(180deg) !important;
}

.lc-select .lc-select-value {
    overflow: hidden !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
}

.lc-select .lc-select-menu {
    position: absolute !important;
    top: calc(100% + 6px) !important;
    right: 0 !important;
    left: 0 !important;
    z-index: 90 !important;
    display: none !important;
    max-height: 280px !important;
    overflow: auto !important;
    border: 1px solid rgba(28, 28, 44, 0.08) !important;
    border-radius: 16px !important;
    padding: 6px !important;
    background: linear-gradient(160deg, #ffffff, #fdf9f4) !important;
    box-shadow: 0 18px 44px rgba(28, 28, 44, 0.16) !important;
}

.lc-select.is-open .lc-select-menu {
    display: block !important;
}

.lc-select .lc-select-option {
    display: flex !important;
    width: 100% !important;
    min-height: 36px !important;
    align-items: center !important;
    border: 0 !important;
    border-radius: 10px !important;
    padding: 6px 12px !important;
    color: rgba(28, 28, 44, 0.72) !important;
    background: transparent !important;
    box-shadow: none !important;
    font-family: "Hanken Grotesk", Poppins, Arial, sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    text-align: left !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    cursor: pointer !important;
    transition: background 140ms ease, color 140ms ease !important;
}

.lc-select .lc-select-option:hover {
    color: var(--lc-primary) !important;
    background: rgba(118, 185, 0, 0.14) !important;
    transform: none !important;
}

.lc-select .lc-select-option.is-selected {
    color: var(--lc-copper) !important;
    background: rgba(118, 185, 0, 0.1) !important;
    font-weight: 700 !important;
}

/* Product page configuration selects were 48px/14px-radius controls —
   keep the replacement trigger at the same size there. */
.lc-product-detail .lc-select-trigger {
    min-height: 48px !important;
    border-radius: 14px !important;
    font-size: 14px !important;
}

/* ============================================================
   Cart page, phones/tablets: restore the side gutters.

   The ≤1180px centering pass sets .theme-cart-body to
   width: 100%, but .theme-cart-body IS .theme-cart-area-container
   (same element), so that (0,3,1) rule out-ranked every (0,2,1)
   container-width rule and the whole cart — breadcrumb, title,
   items card, summary — rendered edge-to-edge. Re-assert the
   container box at matching specificity, declared last so it
   wins the tie. Desktop (>1180px) never hits the offending rule
   and is untouched.
   ============================================================ */
@media (max-width: 1180px) {
    body.lc-cart-shell .theme-cart-body.theme-cart-area-container,
    body:has(.theme-cart-area-container) .theme-cart-body.theme-cart-area-container {
        width: min(1440px, calc(100% - 40px)) !important;
        max-width: none !important;
        margin-inline: auto !important;
    }
}

@media (max-width: 640px) {
    body.lc-cart-shell .theme-cart-body.theme-cart-area-container,
    body:has(.theme-cart-area-container) .theme-cart-body.theme-cart-area-container {
        width: min(calc(100% - 32px), 1440px) !important;
    }
}

/* ============================================================
   Branched mega menus (Products / Brands), phones/tablets
   (≤980px — desktop geometry lives behind min-width: 981px and
   is untouched). The slide-down panel stacked all four groups in
   one column at desktop row sizes (54px leads, 42px thumbs,
   34px subs), pushing the panel past a full screen height.
   Two-up the groups and tighten the rows so the whole menu
   scans in one glance.
   ============================================================ */
@media (max-width: 980px) {
    .lc-secondary-mega.lc-mega-full .lc-secondary-mega-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 14px 16px !important;
    }

    .lc-secondary-mega.lc-mega-full h4 {
        margin-bottom: 6px !important;
    }

    .lc-secondary-mega.lc-mega-full a.lc-mega-lead {
        grid-template-columns: 30px minmax(0, 1fr) !important;
        min-height: 40px !important;
        gap: 9px !important;
        border-radius: 12px !important;
        padding: 5px 6px !important;
        margin-bottom: 2px !important;
        font-size: 12.5px !important;
    }

    .lc-secondary-mega.lc-mega-full a.lc-mega-lead img {
        width: 30px !important;
        height: 30px !important;
        border-radius: 10px !important;
    }

    .lc-secondary-mega.lc-mega-full a.lc-mega-sub {
        min-height: 28px !important;
        padding: 3px 6px 3px 8px !important;
        font-size: 12px !important;
    }

    .lc-secondary-mega.lc-mega-full .lc-mega-footer {
        margin-top: 12px !important;
        padding-top: 10px !important;
    }
}

/* Bulk-calculator card restructure: the full-width media strip
   letterboxed the square photo (white bands both sides) and pushed
   everything below the fold. Pin a square-ish photo to the card's
   left, put the title + blurb beside it, and pull the selectors up
   into the remaining right-column space. The square media box means
   the shared absolute + cover treatment now fills it edge to edge
   with the product intact. ≤720px keeps the stacked layout. */
@media (min-width: 721px) {

    /* Three selects no longer fit side by side in the right column:
       brand + model share a row, the longer size/type goes full width. */
    .lc-home .lc-bulk-selectors {
        align-self: start !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .lc-home .lc-bulk-selectors label:last-child {
        grid-column: 1 / -1 !important;
    }
}

/* ============================================================
   Cart page — mobile row compaction + items-card footer row.
   1) ≤640px rows follow the quick-commerce pattern from the
      reference: image + title on the left, quantity stepper
      pinned top-right, line amount under it. The standalone
      REMOVE pill is hidden when a stepper exists (the stepper's
      minus already becomes the platform's delete action at
      qty 1) and only shows, right-aligned, for rows without a
      stepper.
   2) Clear cart and Continue Shopping share one footer row
      inside the items card: clear pill left, continue pill on
      the right edge of the card (all widths — the old placement
      above the Summary card is retired).
   ============================================================ */
body.lc-cart-shell .lc-cart-card-footer {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    margin-top: 18px !important;
}

body.lc-cart-shell .lc-cart-card-footer .lc-cart-clear {
    margin: 0 !important;
}

body.lc-cart-shell .lc-cart-card-footer .lc-cart-continue-bottom {
    margin: 0 0 0 auto !important;
    min-height: 38px !important;
    padding: 0 22px !important;
    box-shadow: none !important;
}

@media (max-width: 640px) {
    body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-shopping-cart-table-container .theme-cart-table-row {
        grid-template-columns: minmax(0, 1fr) auto !important;
        grid-template-areas:
            "items qty"
            "items amount"
            "items control" !important;
        align-items: start !important;
        row-gap: 8px !important;
        column-gap: 12px !important;
    }

    body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-cart-table-row > .theme-cart-table-data.theme-cart-qty {
        grid-area: qty !important;
        justify-self: end !important;
    }

    body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-cart-table-row > .theme-cart-table-data.theme-cart-price-label {
        grid-area: amount !important;
        justify-content: flex-end !important;
    }

    body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-cart-table-row > .theme-cart-table-data.theme-cart-control {
        grid-area: control !important;
        justify-content: flex-end !important;
    }

    /* Stepper rows: minus at qty 1 is already the delete control,
       so the extra REMOVE pill only costs vertical space. Rows
       without a stepper keep their REMOVE pill. */
    body.lc-cart-shell .theme-cart-body:not(.theme-cart-empty) .theme-cart-table-row:has(.theme-cart-qty .theme-product-list-quantity) > .theme-cart-table-data.theme-cart-control {
        display: none !important;
    }
}
/* The spinner auto-retires after 12s (lcSearchGiveUp, fill-mode forwards).
   A pure :empty loader has no way to know the fetch failed, and a spinner
   that never stops is worse than no spinner — it reads as a hung page and
   hides whatever the platform did render. After the timeout the overlay
   removes itself and the container collapses back to auto height, so any
   late or partial result is visible rather than sitting behind 60vh of
   blank space. */
.zpsearch_products-container[data-zs-search-products]:empty {
    display: block !important;
    position: relative !important;
    min-height: 60vh !important;
    animation: lcSearchGiveUp 0s linear 12s forwards !important;
}

.zpsearch_products-container[data-zs-search-products]:empty::before {
    content: "" !important;
    position: absolute !important;
    top: 38% !important;
    left: 50% !important;
    width: 44px !important;
    height: 44px !important;
    margin: -22px 0 0 -22px !important;
    border: 3px solid rgba(28, 28, 44, 0.12) !important;
    border-top-color: var(--lc-copper, rgba(118, 185, 0, 1)) !important;
    border-radius: 50% !important;
    animation: lcSearchSpin 0.8s linear infinite, lcSearchFade 0s linear 12s forwards !important;
}

.zpsearch_products-container[data-zs-search-products]:empty::after {
    content: "Searching parts…" !important;
    position: absolute !important;
    top: 38% !important;
    left: 0 !important;
    right: 0 !important;
    margin-top: 38px !important;
    text-align: center !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    letter-spacing: 0.01em !important;
    color: rgba(28, 28, 44, 0.55) !important;
    animation: lcSearchFade 0s linear 12s forwards !important;
}

@keyframes lcSearchSpin {
    to { transform: rotate(360deg); }
}

@keyframes lcSearchFade {
    to { opacity: 0; visibility: hidden; }
}

@keyframes lcSearchGiveUp {
    to { min-height: 0; }
}

/* Respect reduced-motion: keep the label, drop the spin. */
@media (prefers-reduced-motion: reduce) {
    .zpsearch_products-container[data-zs-search-products]:empty::before {
        animation: none !important;
    }
}
/* lc-catalog rides on the grid row itself rather than a wrapper element,
   because Zoho's search app resolves its chrome with direct-child
   selectors and an extra DOM level breaks them. The row is still an
   ancestor of every card, so ".lc-catalog .lc-live-product-card…" rules
   match exactly as they do on the collection page — but the row must
   also shed .lc-catalog's page-level section styling (140px padding,
   gradient background, overflow:hidden and its ::after blur blob). */
.lc-search-catalog.lc-catalog {
    position: static !important;
    overflow: visible !important;
    background: none !important;
}

.lc-search-catalog.lc-catalog::after,
.lc-search-catalog.lc-catalog::before {
    content: none !important;
    display: none !important;
}

/* Heading + sort row on one line, matching the collection toolbar rhythm.
   Scoped to the search heading class directly — it is a sibling of the
   grid now, not a descendant. */
.theme-collection-heading-view-all-search {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 20px !important;
    flex-wrap: wrap !important;
    float: none !important;
    max-width: 1280px !important;
    margin: 0 auto 26px !important;
    padding: 28px 24px 0 !important;
}

.theme-collection-heading-view-all-search .theme-section-heading {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    color: var(--lc-primary, rgba(28, 28, 44, 1)) !important;
}

/* Grid row: centring and page gutters live here now that there is no
   wrapper element. The attribute selector is required, not decorative —
   [data-sort-by-products-target].lc-catalog-grid.theme-product-ratio
   (rule ~4592) is specificity (0,3,0) and sets margin:0 !important, so a
   plain two-class selector loses and the grid stays pinned left. Matching
   the attribute here makes this (0,4,0). The collection page never hits
   this because its grid sits inside .lc-catalog-container, which centres
   it; the search page has no such wrapper by design. */
[data-sort-by-products-target].lc-search-catalog.lc-catalog-grid.theme-product-ratio,
.lc-search-catalog.lc-catalog-grid.theme-product-ratio {
    float: none !important;
    max-width: 1280px !important;
    margin: 0 auto !important;
    padding: 0 24px 64px !important;
}

.lc-search-catalog .theme-no-products-error {
    grid-column: 1 / -1 !important;
    width: auto !important;
    max-width: none !important;
    padding: 48px 0 !important;
    text-align: center !important;
    font-size: 15px !important;
    color: rgba(28, 28, 44, 0.6) !important;
}

@media (max-width: 640px) {
    .theme-collection-heading-view-all-search {
        margin-bottom: 18px !important;
        padding: 18px 14px 0 !important;
    }

    .theme-collection-heading-view-all-search .theme-section-heading {
        font-size: 18px !important;
    }

    [data-sort-by-products-target].lc-search-catalog.lc-catalog-grid.theme-product-ratio,
    .lc-search-catalog.lc-catalog-grid.theme-product-ratio {
        margin: 0 auto !important;
        padding: 0 14px 44px !important;
    }
}

/* ============================================================
   STICKY FILTER SIDEBAR (all-products / collection page)

   The sidebar has carried `position: sticky; top: 118px` since rule
   ~4440, but it never actually stuck. The reason is one line up at
   rule 2532: .lc-catalog sets `overflow: hidden` to contain its
   decorative ::after blur blob (bottom: -220px). An ancestor with a
   non-visible overflow becomes the sticky element's scrollport, and
   since .lc-catalog itself does not scroll, there is nothing for the
   sidebar to stick against — it just scrolls away with the page.

   `overflow: clip` clips identically but does NOT create a scroll
   container, so stickiness survives. The `hidden` line is kept first
   as a fallback: browsers without `clip` (Safari < 16) ignore the
   second declaration and keep today's behaviour rather than letting
   the blob leak out.

   This is the same effect the cart Summary column already gets from
   .theme-cart-summary-container (rule ~16730) — that column works
   only because no cart ancestor clips it.
   ============================================================ */
.lc-catalog {
    overflow: hidden;
    overflow: clip;
}

/* Desktop only (>=992px). Below that the sidebar is the off-canvas
   filter drawer, which owns its own position/overflow at ~15894 and
   must not be made sticky.

   max-height + overflow-y is a reachability guard, not a design
   change: while the filter card is shorter than the viewport it
   behaves exactly as it does now (no scrollbar, full natural
   height). It only engages if the filter list ever grows past the
   viewport, where a pinned element with no internal scroll would put
   its lower filters permanently off-screen. Rule ~15038 set
   max-height:none deliberately so a tall sidebar could scroll away
   with the page and reveal its own bottom — but that trades away the
   always-visible behaviour asked for here, so the guard replaces it. */
@media (min-width: 992px) {
    .lc-catalog-layout > .lc-catalog-sidebar {
        /* Pins below the fixed nav. The v2 nav is a single h-24 bar, so
           its bottom edge is at 96px; 96 + 24px breathing room = 120.

           Was 168 for the old stacked header, whose real bottom edge
           measured 144px on the live page. That header is gone, and 168
           now leaves a 48px gap above the card.

           Both values derive from the one custom property so the pin
           offset and the height cap can never drift apart again: the cap
           is whatever is left of the viewport below the pin, less the
           same 24px at the bottom. */
        --lc-sticky-top: 120px;

        position: sticky !important;
        top: var(--lc-sticky-top) !important;
        align-self: start !important;
        max-height: calc(100vh - var(--lc-sticky-top) - 24px) !important;
        overflow-y: auto !important;
        scrollbar-width: thin !important;
    }
}

/* ============================================================
   Filter card head stays put while the list scrolls.

   The sidebar's natural height is ~1150px (three checkbox groups +
   price slider + Clear button), so the sticky card is always taller
   than its max-height and its internal scroll is always live. Because
   a scroll container's padding-top scrolls away with its content, the
   card's top padding, rounded corner clearance and the "Filters"
   heading all slid out of view the moment the list moved — the card
   read as clipped at the top even though its box had not moved.

   Fix: pin the head inside the scroll container and hand it the card's
   top padding (the card itself drops to padding-top: 0). Negative side
   margins bleed it across the card's 20px side padding so nothing
   scrolls past it in the gutters, and the top corner radius is
   repeated on the head so the card's silhouette is unbroken. The
   result is the reference look at every scroll position: full top
   padding, rounded corner, "Filters" always visible, list moving
   underneath.

   Desktop only. Below 992px the sidebar is the off-canvas drawer and
   is reparented to <body> by the drawer JS, so the
   `.lc-catalog-layout >` combinator stops matching there by design.
   ============================================================ */
@media (min-width: 992px) {
    .lc-catalog-layout > .lc-catalog-sidebar {
        padding-top: 0 !important;
        scrollbar-gutter: stable !important;
    }

    .lc-catalog-layout > .lc-catalog-sidebar > .lc-filter-drawer-head {
        position: sticky !important;
        top: 0 !important;
        z-index: 2 !important;
        margin: 0 -20px 18px !important;
        padding: 22px 20px 14px !important;
        border-radius: 32px 32px 0 0 !important;
        background: rgba(255, 255, 255, 0.92) !important;
        backdrop-filter: blur(20px) !important;
        -webkit-backdrop-filter: blur(20px) !important;
    }

    /* The h2's own bottom rule would now sit inside the pinned band and
       double up with its lower edge. */
    .lc-catalog-layout > .lc-catalog-sidebar > .lc-filter-drawer-head h2 {
        border-bottom: 0 !important;
        padding-bottom: 0 !important;
    }
}

/* ============================================================
   STICKY PRODUCT GALLERY (product detail page)

   Same treatment as the catalog filter card: the left column
   (main image + thumbnail selector + share card) pins while the
   longer right column scrolls past it.

   The release point needs no JS and no magic number. .cta-buttons-row
   is the last element inside .product-info-col, so the grid row's
   bottom edge IS the bottom of Add to Cart / Buy Now — and a sticky
   item is released by its containing block's bottom. The gallery
   column therefore unpins at exactly the moment its lower edge (the
   end of the share card) meets the buttons, which is the requested
   behaviour rather than an approximation of it.

   Two things already in place make this work, both verified:
   .lc-product-detail-grid sets align-items: start (a stretched grid
   item has no room to travel and could never stick), and unlike
   .lc-catalog nothing in the .lc-product-detail ancestry sets a
   non-visible overflow, so no ancestor hijacks the scrollport.

   --lc-sticky-top is the same 120px used by the filter sidebar,
   measured from the v2 fixed nav's bottom edge (96px, one h-24 bar)
   plus 24px of breathing room.
   ============================================================ */
@media (min-width: 992px) {
    .lc-product-detail-grid > .product-gallery-col {
        --lc-sticky-top: 120px;

        position: sticky !important;
        top: var(--lc-sticky-top) !important;
        align-self: start !important;
    }
}

/* ============================================================
   Dead space above the product-page breadcrumb.

   The header clearance is applied twice on this page. Unlike every
   other page, <main class="lc-product-page"> replaces the
   content_area block outright rather than sitting inside
   .theme-content-area, so it carries its own 140px clearance
   (rule ~10993) — and then .lc-product-detail adds another 132px
   on top (rule ~4826). 272px total, against a header whose real
   bottom edge is 144px: ~128px of empty band before the breadcrumb.

   Every other page totals 96px + the section's own top padding
   (.lc-catalog uses clamp(52px, 6vw, 84px), rule ~4356) — the 96px
   being the header partial's h-24 spacer, since the v2 nav is
   fixed. The product page gets the same spacer, so matching the
   rhythm here means the clamp alone.

   This used to read calc(88px + clamp(...)), mirroring the 88px
   .theme-content-area contributed under the old in-flow header.
   That padding is switched off for v2 pages in lc-tw.css now, and
   this page never sat inside .theme-content-area anyway.

   The clearance now has a single owner — .lc-product-page — and the
   section's duplicate is zeroed.

   Scoped to >=769px: the <=768px pass (rule ~16094) already found
   this stacking on phones and solved it the other way round,
   keeping the page-level clearance and collapsing the section to
   10px. Leave that alone.
   ============================================================ */
@media (min-width: 769px) {
    .lc-product-page {
        padding-top: clamp(52px, 6vw, 84px) !important;
    }

    .lc-product-detail {
        padding-top: 0 !important;
    }
}

/* ============================================================
   All-products: gap between the spotlight carousel and the
   catalog head.

   Two paddings meet at that seam and neither knows about the
   other: the hero's bottom, clamp(52px, 7vw, 92px) (rule ~12480,
   which wins because the carousel sits inside .lc-home on this
   template), and the catalog section's top, clamp(52px, 6vw, 84px)
   (rule ~4357). Up to 176px of combined dead space, and the
   background colour changes at that boundary so it reads as an
   empty band rather than as section rhythm.

   Both are cut to roughly a third, keeping ~68px at wide viewports
   — enough that the colour change still reads as a deliberate
   section break instead of a seam.

   >=769px only; the phone passes tune this seam separately.

   The catalog half is keyed to a preceding .lc-catalog-hero-wrap.
   It used to be a bare `.lc-catalog`, which also hit category
   pages — where there is no carousel above and so no seam to
   close. That went unnoticed while .theme-content-area still added
   88px on top; with the v2 fixed nav that padding is gone, and an
   unscoped 24px would leave category pages jammed against the bar.
   Category pages keep the full clamp from rule ~4357.

   Sibling combinator, not descendant: .lc-catalog follows the hero
   wrap as its sibling rather than sitting inside it.
   ============================================================ */
@media (min-width: 769px) {
    .lc-home.lc-catalog-hero-wrap .lc-catalog-spotlight-section {
        padding-bottom: clamp(24px, 3vw, 40px) !important;
    }

    .lc-catalog-hero-wrap ~ .lc-catalog {
        padding-top: clamp(20px, 2vw, 28px) !important;
    }
}

/* ============================================================
   Breadcrumb consistency.

   The two breadcrumbs were built independently and drifted:
   .lc-product-breadcrumb is 11px / 700 / 0.08em / uppercase
   (rule ~4835) while .lc-catalog-breadcrumb is a plain 13px
   (rule ~4377). Same component, two treatments, and the catalog
   one is the outlier across the site.

   The <a> and the current-page <span> already share the 13px from
   the parent, but both are named explicitly here so no platform
   rule targeting bare `nav span` can reintroduce a split between
   "Home" and the current crumb.
   ============================================================ */
.lc-catalog-breadcrumb,
.lc-catalog-breadcrumb a,
.lc-catalog-breadcrumb span {
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    line-height: 1.2 !important;
}

/* ============================================================
   The off-colour strip above the product breadcrumb.

   .lc-product-page and .lc-product-detail each paint their own
   decorative radials, and they are not the same radials:

     .lc-product-page   (rule ~10994)  lavender 0.72 at -8% 10%
     .lc-product-detail (rule ~4819)   lavender 0.26 at  4%  2%

   While the section carried its own 132px of padding those two
   layers overlapped enough to blend. With that padding removed,
   .lc-product-detail now begins immediately below the header, so
   the only thing painting the strip between the header and the
   section is .lc-product-page's much stronger tint — and the
   section's weaker one starts at a hard horizontal edge. That edge
   is the dead bar: not a gap, two different backgrounds meeting.

   Dropping the section's background leaves one continuous surface
   painted by the page wrapper, so the strip is the same colour as
   everything below it. Nothing is lost — .lc-product-page's
   gradient already covers this area, and the ~16271 pass flattens
   both to var(--lc-bg) below 768px for the same reason.
   ============================================================ */
@media (min-width: 769px) {
    .lc-product-detail {
        background: transparent !important;
    }
}

/* ============================================================
   STICKY TECH SPECS CARD (product detail page)

   .specs-right-col is a grid item of .specs-overview-grid, and
   <section class="suggested-products-section"> is the very next
   sibling after that grid's section. A sticky item is released by
   its containing block's bottom, so the card unpins exactly as the
   overview grid ends — which is the strip immediately above the
   Suggested Products cards. No JS, no scroll listener, no measured
   offset that could drift when the copy length changes.

   Preconditions checked rather than assumed: .specs-overview-grid
   already sets align-items: start (rule ~11625), so the column is
   not stretched to the row height and has room to travel; and no
   ancestor between .specs-right-col and the viewport sets a
   non-visible overflow — the only overflow in this subtree is
   .bulk-table's overflow-x inside a <=900px query, which is not in
   the chain.

   Same --lc-sticky-top as the gallery and the filter sidebar, so
   all three pin to one line down the page.
   ============================================================ */
@media (min-width: 992px) {
    .specs-overview-grid > .specs-right-col {
        --lc-sticky-top: 120px;

        position: sticky !important;
        top: var(--lc-sticky-top) !important;
        align-self: start !important;
    }
}

/* ============================================================
   Welcome-offer coupon: match the page's section rhythm.

   The home page runs two vertical rhythms (rules ~18010/~18021):

     compact  clamp(44px, 5vw, 64px)   spotlight, lineup, brand
                                       explorer, bulk calculator,
                                       rec, kit
     feature  clamp(60px, 7vw, 96px)   coupon, bestsellers, brand,
                                       feature, trust

   The coupon sits in the feature group, but every other member of
   that group opens with a section heading that occupies the extra
   space. This one goes straight to the card, so the same 96px reads
   as an empty band above and below it rather than as breathing room
   — most visibly against the lineup carousel directly above, which
   is on the compact rhythm.

   Moved to the compact value so it lines up with its neighbours.
   The card's own clamp(34px, 5vw, 66px) internal padding is
   untouched; only the section's outer block padding changes.

   The collection page's copy of this section is unaffected — it
   carries an inline padding-block, which outranks any stylesheet
   rule.
   ============================================================ */
.lc-home .lc-coupon-section {
    padding-block: clamp(44px, 5vw, 64px) !important;
}

/* ============================================================
   Coupon → "Engineered for Precision" seam.

   The coupon section paints two radial washes sized as a
   percentage of its own box — 42% x 34% at 12% 38%, and
   38% x 30% at 90% 56% (rule ~18132). #bestsellers below it has
   no background of its own and no top padding (rule ~18051), so
   it shows the flat body cream.

   While the section was tall those washes finished well inside it.
   Shortening it to the compact rhythm scaled them down with the
   box, so their lower extent now reaches the section's bottom edge
   and gets cut there — a faint tinted band ending in a hard
   horizontal line, right where the two sections meet.

   The wash moves to a ::before with a vertical fade mask so it
   dissolves into the cream before either edge instead of being
   clipped by it. This is the same treatment
   .lc-catalog-spotlight-section::before already uses (rule ~18128)
   for the same reason; the mask has to live on a decorative layer
   rather than the section, or it would fade the coupon card too.

   The 22%/78% stops are tighter than the spotlight's 18%/82%
   because this section is now the shorter of the two and needs the
   solid middle to still cover the card.
   ============================================================ */
.lc-home .lc-coupon-section {
    background: var(--lc-bg) !important;
}

.lc-home .lc-coupon-section::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
    pointer-events: none !important;
    background:
        radial-gradient(42% 34% at 12% 38%, rgba(118, 185, 0, 0.09), transparent 100%),
        radial-gradient(38% 30% at 90% 56%, rgba(28, 28, 44, 0.05), transparent 100%) !important;
    -webkit-mask-image: linear-gradient(180deg, transparent 0, #000 22%, #000 78%, transparent 100%) !important;
    mask-image: linear-gradient(180deg, transparent 0, #000 22%, #000 78%, transparent 100%) !important;
}

/* Keep the card above the decorative layer. */
.lc-home .lc-coupon-section > .lc-home-container {
    position: relative !important;
    z-index: 1 !important;
}

/* The form is inline-grid (rule ~7695) with columns sized for the
   field and the submit button, so the hint has to be taken out of
   flow or it would claim a grid cell and stretch the header. */
.lc-header-search {
    position: relative !important;
}

.lc-search-hint {
    position: absolute !important;
    top: calc(100% + 8px) !important;
    left: 0 !important;
    z-index: 5 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateY(-4px) !important;
    transition: opacity 160ms ease, transform 160ms ease, visibility 160ms !important;
    white-space: nowrap !important;
    border-radius: 12px !important;
    padding: 8px 14px !important;
    background: rgba(28, 28, 44, 0.94) !important;
    color: #fff !important;
    font-size: 12.5px !important;
    font-weight: 600 !important;
    letter-spacing: 0.01em !important;
    box-shadow: 0 12px 30px rgba(28, 28, 44, 0.18) !important;
}

.lc-search-hint.is-visible {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
}

.lc-header-search input[aria-invalid="true"] {
    border-color: rgba(214, 69, 69, 0.55) !important;
}

/* Blank-query results page: suppress the app's own output rather
   than remove it, so the platform's script keeps whatever DOM it
   expects to find. The :empty loader has to be neutralised too —
   the container genuinely is empty here, and left alone it would
   spin for its full 12s over the notice. */
body.lc-search-blank-query .zpsearch_products-container[data-zs-search-products] {
    min-height: 0 !important;
    animation: none !important;
}

body.lc-search-blank-query .zpsearch_products-container[data-zs-search-products]::before,
body.lc-search-blank-query .zpsearch_products-container[data-zs-search-products]::after {
    content: none !important;
    display: none !important;
}

body.lc-search-blank-query .zpsearch_products-container[data-zs-search-products] > * {
    display: none !important;
}

.lc-search-blank-notice {
    max-width: 1280px !important;
    margin: 0 auto !important;
    padding: 72px 24px 96px !important;
    text-align: center !important;
}

.lc-search-blank-notice h2 {
    margin: 0 0 12px !important;
    color: var(--lc-primary, rgba(28, 28, 44, 1)) !important;
    font-family: "Libre Caslon Text", Georgia, serif !important;
    font-size: clamp(22px, 2.4vw, 30px) !important;
    font-weight: 400 !important;
}

.lc-search-blank-notice p {
    margin: 0 auto !important;
    max-width: 520px !important;
    color: rgba(28, 28, 44, 0.6) !important;
    font-size: 15px !important;
    line-height: 1.6 !important;
}

@media (max-width: 640px) {
    .lc-search-hint {
        white-space: normal !important;
        max-width: min(78vw, 280px) !important;
    }

    .lc-search-blank-notice {
        padding: 48px 16px 64px !important;
    }
}

/* ============================================================
   CONTACT PAGE

   /contact renders through page.face's {{page.content}}, so the
   markup lives in Zoho's page editor (see contact-page-content.html
   in the repo root) and only its styling belongs here.

   Header clearance: this section is the first thing in
   .theme-content-area. That used to contribute 88px (rule ~1438)
   for the old in-flow header; the v2 nav is fixed, so clearance is
   the header partial's 96px h-24 spacer instead and the 88px is
   switched off in lc-tw.css. The same clamp(52px, 6vw, 84px)
   .lc-catalog uses puts this page on the identical rhythm.

   Surfaces reuse the existing glass recipe (.lc-catalog-sidebar,
   rule ~4429) and the standardised 11px uppercase breadcrumb, so
   the page inherits the site's language rather than defining a
   fifth variant of it.
   ============================================================ */
.lc-contact {
    position: relative;
    padding: clamp(52px, 6vw, 84px) 0 clamp(64px, 7vw, 96px);
    background:
        radial-gradient(42% 34% at 10% 22%, rgba(118, 185, 0, 0.08), transparent 100%),
        radial-gradient(38% 30% at 92% 40%, rgba(28, 28, 44, 0.05), transparent 100%),
        var(--lc-bg);
    color: var(--lc-primary);
    font-family: "Hanken Grotesk", Poppins, sans-serif;
}

.lc-contact-container {
    width: min(1120px, calc(100% - 40px));
    margin: 0 auto;
}

.lc-contact-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    margin-bottom: 14px;
    color: rgba(28, 28, 44, 0.58);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: 1.2;
    text-transform: uppercase;
}

.lc-contact-breadcrumb a {
    color: rgba(28, 28, 44, 0.58);
}

.lc-contact-breadcrumb a:hover {
    color: var(--lc-copper);
}

.lc-contact-title {
    max-width: 18ch;
    margin: 0 0 clamp(32px, 4vw, 48px);
    color: var(--lc-primary);
    font-family: "Libre Caslon Text", Georgia, serif;
    font-size: clamp(28px, 3vw, 40px);
    font-weight: 400;
    line-height: 1.18;
}

/* auto-fit rather than a fixed count: the four cards hold very
   short bodies, so a rigid 4-up leaves them looking stranded on
   wide screens and a rigid 2-up wastes the width. */
.lc-contact-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 24px;
    align-items: start;
}

.lc-contact-card {
    border: 1px solid rgba(255, 255, 255, 0.56);
    border-radius: 32px;
    padding: 28px 26px;
    background: rgba(255, 255, 255, 0.44);
    box-shadow: 0 18px 42px rgba(28, 28, 44, 0.07);
    backdrop-filter: blur(34px);
    -webkit-backdrop-filter: blur(34px);
}

.lc-contact-card h2 {
    margin: 0 0 14px;
    color: rgba(28, 28, 44, 0.52);
    font-family: "Hanken Grotesk", Poppins, sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.lc-contact-card p {
    margin: 0;
    color: rgba(28, 28, 44, 0.78);
    font-size: 15px;
    line-height: 1.65;
}

.lc-contact-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 2px;
    border-radius: 999px;
    padding: 11px 22px;
    background: var(--lc-primary);
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.02em;
    transition: background 180ms ease, transform 180ms ease;
}

.lc-contact-action:hover,
.lc-contact-action:focus-visible {
    background: var(--lc-copper);
    color: #fff;
    transform: translateY(-1px);
}

@media (max-width: 640px) {
    .lc-contact-container {
        width: calc(100% - 28px);
    }

    .lc-contact-title {
        max-width: none;
    }

    .lc-contact-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 16px;
    }

    .lc-contact-card {
        border-radius: 26px;
        padding: 22px 20px;
    }
}

/* ============================================================
   Contact page: living inside Zoho's page builder.

   /contact is a page-builder document, not a plain content field.
   Its {{page.content}} renders as

     .zpcontent-container > .zpsection > .zpcontainer >
       .zprow > .zpelem-col[data-element-type="column"]

   with the column currently empty. The contact markup goes into a
   Custom HTML element inside that column, so these wrappers end up
   between .theme-content-area-inner and .lc-contact and would
   otherwise impose their own layout on it: .zpcontainer is
   display:flex / align-items:center, which would vertically centre
   and shrink-wrap the section instead of letting it run as a block,
   and the column carries a 30px bottom margin.

   Every rule here is gated on :has(.lc-contact) so it only applies
   to the page that actually holds this section — other builder
   pages keep the platform's own behaviour untouched.
   ============================================================ */
.theme-content-area-inner:has(.lc-contact) .zpcontainer,
.theme-content-area-inner:has(.lc-contact) .zprow,
.theme-content-area-inner:has(.lc-contact) .zpelem-col[data-element-type="column"] {
    display: block !important;
    max-width: none !important;
    width: 100% !important;
    flex: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* page.face renders its own breadcrumb above {{page.content}} on
   CMS pages (theme-breadcrumb-container). On /contact it outputs
   "Contact /" — no Home link and a trailing separator — directly
   above the breadcrumb inside .lc-contact, which is the same trail
   done properly. Hide the platform one, but only where ours
   exists. */
.theme-content-area-inner:has(.lc-contact) .theme-breadcrumb-container {
    display: none !important;
}

/* "CONTACT US" rendered larger and heavier than "HOME": the <a>
   picked up the 11px from .lc-contact-breadcrumb, the current-page
   <span> did not, so a builder rule targeting a bare span won on
   specificity. Both crumbs and the separator are pinned explicitly
   — the same defence the catalog breadcrumb already carries. */
.lc-contact-breadcrumb,
.lc-contact-breadcrumb a,
.lc-contact-breadcrumb span {
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    line-height: 1.2 !important;
    text-transform: uppercase !important;
}

/* Card row alignment.

   align-items: start let every card size to its own copy, so a
   four-line address sat beside a one-line "Hours" and the row read
   as ragged rather than as a set. Stretching them to a common
   height and making each a column lets the two action buttons share
   one baseline via margin-top: auto, instead of floating at
   whatever height their card happened to be.

   The address is also the only entry that needs real width — at an
   equal quarter it broke "G. I. D. C.," across lines. From 1024px
   up it takes 1.4 shares against the other three, which fits the
   street line without stranding the short cards. */
.lc-contact-grid {
    align-items: stretch !important;
}

.lc-contact-card {
    display: flex !important;
    flex-direction: column !important;
}

.lc-contact-card p {
    margin: 0 !important;
}

.lc-contact-card p:has(.lc-contact-action) {
    margin-top: auto !important;
    padding-top: 12px !important;
}

.lc-contact-action {
    align-self: flex-start !important;
}

@media (min-width: 1024px) {
    .lc-contact-grid {
        grid-template-columns: minmax(0, 1.4fr) repeat(3, minmax(0, 1fr)) !important;
    }
}

/* ============================================================
   Variant gallery filter: the hiding half.

   lcSyncVariantGallery narrows the thumbnail strip to the images
   belonging to the selected size. It cannot do that with an inline
   display:none — .gallery-thumbnails .thumb-item carries
   display: flex !important (rule ~11037), and an inline style with
   no !important of its own loses that contest. The filter ran, the
   right thumbs were marked, and every one of them stayed visible.

   Three classes deep so it outranks the two-class rule it has to
   beat, with !important to match it.
   ============================================================ */
.gallery-thumbnails .thumb-item.lc-thumb-hidden {
    display: none !important;
}

/* ============================================================
   Catalogue lazy-load skeleton cards
   ------------------------------------------------------------
   Replaces Zoho's centred "Loading..." line at the foot of the
   collection grid with a row of placeholder cards, so the grid
   reads as continuing rather than stalling while page 2 (~165 KB
   of HTML) is fetched. The tiles are injected by the lazy-load
   block in lasercart-theme.js, which also stamps
   [data-lc-skeleton] on the container.

   The container is styled as a subgrid so the placeholders land
   on the same column tracks as the real cards at every
   breakpoint; the auto-fill line above it is the fallback for
   engines without subgrid support.

   Specificity note: the base rule earlier in this file sets
   display: flex !important on .theme-lazy-loading-container, so
   the attribute selector is here to outrank it rather than for
   scoping alone.
   ============================================================ */
.lc-catalog-grid .theme-lazy-loading-container[data-lc-skeleton] {
    display: grid !important;
    grid-column: 1 / -1 !important;
    grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)) !important;
    grid-template-columns: subgrid !important;
    gap: 28px !important;
    margin-top: 0 !important;
    justify-content: initial !important;
}

/* Kept in the accessibility tree — the skeletons are aria-hidden, so
   this stays the only announcement that more products are loading. */
.lc-catalog-grid .theme-lazy-loading-container[data-lc-skeleton] > .theme-lazy-loading {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
}

/* Mirrors .lc-catalog .lc-live-product-card-inner so the placeholder
   silhouette matches the cards on either side of it. */
.lc-skeleton-card {
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    border: 1px solid rgba(255, 255, 255, 0.64) !important;
    border-radius: 32px !important;
    background: rgba(255, 255, 255, 0.42) !important;
    box-shadow: 0 24px 60px rgba(28, 28, 44, 0.07) !important;
}

.lc-skeleton-media {
    display: block !important;
    min-height: 256px !important;
    margin: 16px 16px 0 !important;
    border-radius: 28px !important;
    background-color: rgba(247, 243, 238, 0.9) !important;
}

.lc-skeleton-copy {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    padding: 24px !important;
    background: rgba(255, 255, 255, 0.2) !important;
}

.lc-skeleton-line {
    display: block !important;
    height: 12px !important;
    border-radius: 999px !important;
}

.lc-skeleton-line-label { width: 38% !important; height: 10px !important; }
.lc-skeleton-line-title { width: 78% !important; height: 16px !important; }
.lc-skeleton-line-price { width: 46% !important; }

.lc-skeleton-actions {
    display: block !important;
    height: 44px !important;
    border-radius: 999px !important;
}

.lc-skeleton-media,
.lc-skeleton-line,
.lc-skeleton-actions {
    background-image:
        linear-gradient(100deg,
            rgba(28, 28, 44, 0.07) 0%,
            rgba(28, 28, 44, 0.07) 38%,
            rgba(255, 255, 255, 0.62) 50%,
            rgba(28, 28, 44, 0.07) 62%,
            rgba(28, 28, 44, 0.07) 100%) !important;
    background-size: 220% 100% !important;
    background-repeat: no-repeat !important;
    animation: lcSkeletonShimmer 1400ms linear infinite !important;
}

@keyframes lcSkeletonShimmer {
    from { background-position: 120% 0; }
    to { background-position: -120% 0; }
}

@media (prefers-reduced-motion: reduce) {
    .lc-skeleton-media,
    .lc-skeleton-line,
    .lc-skeleton-actions {
        animation: none !important;
        background-image: none !important;
        background-color: rgba(28, 28, 44, 0.07) !important;
    }

    .lc-skeleton-media {
        background-color: rgba(247, 243, 238, 0.9) !important;
    }
}

@media (max-width: 640px) {
    .lc-catalog-grid .theme-lazy-loading-container[data-lc-skeleton] {
        gap: 12px !important;
    }

    .lc-skeleton-media {
        min-height: 150px !important;
        margin: 10px 10px 0 !important;
    }

    .lc-skeleton-copy {
        gap: 10px !important;
        padding: 14px !important;
    }

    .lc-skeleton-card {
        border-radius: 18px !important;
    }
}

/* ==========================================================================
   Category page — sidebar category navigation
   Categories are navigation, not filters (Zoho resolves a category by URL and
   the product-list API has no category_ids param), so these render as links
   rather than checkboxes. Sized to match .lc-filter-checkbox so the group
   keeps the same rhythm as Brand / Model Compatibility above it.
   ========================================================================== */
.lc-filter-link {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    padding: 7px 10px !important;
    border-radius: 10px !important;
    font-size: 13.5px !important;
    font-weight: 500 !important;
    color: rgba(28, 28, 44, 0.72) !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: background 150ms ease, color 150ms ease !important;
    line-height: 1.35 !important;
    margin: 0 !important;
}

.lc-filter-link:hover,
.lc-filter-link:focus-visible {
    background: rgba(118, 185, 0, 0.06) !important;
    color: var(--lc-copper) !important;
}

.lc-filter-link.is-active {
    background: rgba(118, 185, 0, 0.1) !important;
    color: var(--lc-copper) !important;
    font-weight: 600 !important;
}

/* -- Zoho's own filter DOM, parked off-screen.
      ---------------------------------------------------------------
      The catalogue templates render it so products-pagination.js has the
      element contract it needs; the sidebar the customer sees is a mirror of
      it, built in lasercart-theme.js.

      Visually hidden rather than display:none on purpose. Zoho writes
      display directly onto [data-zs-filter-container] when a response carries
      no facets, and reads its offsetTop to decide how far to scroll, so the
      element has to stay laid out. Clipping to a 1px box is the one way to
      take it out of sight without taking it out of the layout.

      pointer-events is off so a stray click can never land on a control the
      customer cannot see. -- */
.lc-native-filters {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
    border: 0 !important;
    pointer-events: none !important;
}

/* -- The kit builder's native add-to-cart buttons, parked off-screen.
      ---------------------------------------------------------------
      One per component. "Order these parts" clicks them in turn so the adds go
      through zstore-core.js rather than through a request of our own; see the
      comment on the block in store-home.face.

      Hidden the same way as .lc-native-filters and for the same reason -- these
      are wiring, not controls. tabindex="-1" keeps them off the tab order;
      pointer-events keeps a stray tap off them. A script click still lands. -- */
.lc-bundle-atc {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
    border: 0 !important;
    pointer-events: none !important;
}
