/* =================================================
   FTC CASHMERE — Design Fixes (supplements luma-compat.css)
   Applied AFTER luma-compat.css — overrides incorrect values.
   Based on block-by-block audit vs original site.
   ================================================= */


/* =====================================================
   1. PRODUCT GRID / CATEGORY LISTING — Critical Fixes
   (ref: original category.less:418-594)
   ===================================================== */

/* Grid gap — original uses float layout with ~4px margins */
.products-grid {
    gap: 4px !important;
}

/* Product name — parity with original prod (12px / line-height ~15px = 30px total for 2 lines).
   Default for home slider; PLP/category overrides below to 14px. */
.product-item h3 a,
.product-item .product-item-link {
    font-size: 12px !important;
    text-transform: none !important;
    opacity: 1 !important;
    color: #000 !important;
    line-height: 15px !important;
    letter-spacing: normal !important;
    overflow: hidden !important;
    text-overflow: clip !important;
    white-space: normal !important;
    display: block !important;
    padding: 0 !important;
}
.product-item strong.product-item-name {
    display: block !important;
    padding: 10px 0 0 !important;
    margin: 0 !important;
    overflow: visible !important;
    font-size: 12px !important;
    line-height: 15px !important;
}
/* PLP/category/search: 14px name + line-height normal (parity with original PLP). */
.catalog-category-view .product-item h3 a,
.catalog-category-view .product-item .product-item-link,
.catalogsearch-result-index .product-item h3 a,
.catalogsearch-result-index .product-item .product-item-link {
    font-size: 14px !important;
    line-height: normal !important;
    font-weight: 400 !important;
}
.catalog-category-view .product-item strong.product-item-name,
.catalogsearch-result-index .product-item strong.product-item-name {
    font-size: 14px !important;
    line-height: normal !important;
}
.catalog-category-view .product-item .price-box,
.catalog-category-view .product-item .price-box .price,
.catalogsearch-result-index .product-item .price-box,
.catalogsearch-result-index .product-item .price-box .price {
    font-size: 14px !important;
    line-height: 1.2 !important;
}
.catalog-category-view .product-item .product-item-name,
.catalogsearch-result-index .product-item .product-item-name {
    line-height: 1.4 !important;
}
@media (max-width: 900px) {
    .product-item h3 a,
    .product-item .product-item-link {
        font-size: 15px !important;
    }
}
.product-item h3 a:hover,
.product-item .product-item-link:hover {
    opacity: 1;
    color: #111 !important;
    text-decoration: none;
}

/* Price — original is BLACK (rgb(0,0,0)) on PLP/home tiles, 15px. Verified against shop.ftc-cashmere.com via getComputedStyle 2026-04-24. */
.product-item .price {
    font-size: 15px !important;
    color: #000 !important;
}
@media (max-width: 900px) {
    .product-item .price {
        font-size: 13px !important;
    }
}

/* Old price — 12px, brand-primary, line-through (category.less:446-456) */
.product-item .old-price {
    margin: 0 0 0 25px;
    display: inline-block;
}
.product-item .old-price .price {
    font-size: 12px !important;
    color: #ad8b70 !important;
    text-decoration: line-through;
}

/* Special/sale price — brand-secondary #f3633c (category.less:438) */
.product-item .special-price .price,
.product-item .special-price-md .price {
    color: #f36944 !important;
}

.product-item .price-box .price-label {
    display: none;
}

.category-sale-damen .product-item .normal-price .price,
.category-sale-herren .product-item .normal-price .price {
    color: #000 !important;
}

.category-sale-damen .product-item .price-box:has(.old-price) .normal-price .price,
.category-sale-herren .product-item .price-box:has(.old-price) .normal-price .price,
.product-item .price-box:has(.old-price) .normal-price .price {
    color: #f36944 !important;
}

/* Product card hover — background #eee (category.less:461) */
.product-item:hover {
    background: #eee;
}

/* Product details padding (category.less:511-514) */
.product-item .product-item-details {
    margin: 0;
    padding-top: 10px;
    padding-left: 10px;
    box-sizing: border-box;
}

/* Top labels — text-only, not badge style (category.less:483-498) */
.product-item .toplabels,
.product-item .product-label {
    position: absolute;
    z-index: 2;
    top: 18px;
    left: 18px;
    text-transform: uppercase;
    font-size: 14px;
    line-height: 1.4;
}
@media (max-width: 768px) {
    .product-item .toplabels,
    .product-item .product-label {
        font-size: 10px;
    }
}
.product-item .toplabels .sale-product,
.product-item .product-label.sale {
    color: #f3633c;
}
.product-item .toplabels .upcycled-product {
    color: #ad8b70;
}
/* Remove badge-style backgrounds added by Hyvä */
.product-item .badge-new,
.product-item .new-product {
    background: none !important;
    padding: 0 !important;
    color: #111;
    border: none !important;
}


/* =====================================================
   2. NAVIGATION — Dropdown & Active State Fixes
   ===================================================== */

/* Dropdown border: 1px not 3px, add bottom border */
.left-nav-section .navigation nav > ul > li > ul {
    border-top: 1px solid #a9ba9d !important;
    border-bottom: 1px solid #a9ba9d !important;
}

/* Active nav item indicator */
.left-nav-section .navigation nav > ul > li.active > span > a.level-0,
.left-nav-section .navigation nav > ul > li.has-active > span > a.level-0 {
    border-bottom: 1px solid #111;
    padding-bottom: 0 !important;
}

/* Active submenu item green color */
.left-nav-section .navigation nav > ul > li > ul li.active > a,
.left-nav-section .navigation nav > ul > li > ul li.has-active > a {
    color: #a9ba9d !important;
}


/* =====================================================
   3. PRODUCT DETAIL PAGE — Title, Price, Info Padding
   ===================================================== */

/* Product title — 28px, sans-serif body font (not serif Korpus-B) */
.catalog-product-view .page-title,
.catalog-product-view .page-title span,
.catalog-product-view .product-info-main .page-title,
.catalog-product-view .product-info-main .page-title * {
    font-family: "KorpusGrotesk-B", sans-serif !important;
    font-size: 28px !important;
    line-height: 30.8px !important;
    letter-spacing: 0 !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
}

/* Price — 28px (luma-compat says 20px, original is 28px) */
.catalog-product-view .product-info-price .price {
    font-size: 28px !important;
    line-height: 28px;
}
.catalog-product-view .old-price .price {
    font-size: 28px !important;
    line-height: 28px;
    text-decoration: line-through;
}
.catalog-product-view .product-info-price .price-container .price {
    margin-right: 20px;
}

/* Sale price — brand-secondary #f3633c (not #e85c2b) */
.catalog-product-view .price-box:has(.old-price) .final-price .price {
    color: #f3633c !important;
}

.product-info-stock-sku {
    margin: 4px 0 10px;
}

/* Product info area padding */
.catalog-product-view .product-info-main {
    padding: 10px 3vw 3vw 1vw;
}
@media (max-width: 768px) {
    .catalog-product-view .product-info-main {
        padding: 10px 0;
    }
}

/* Mobile price & title */
@media (max-width: 768px) {
    .catalog-product-view .page-title span {
        font-size: 20px !important;
        line-height: 20px;
    }
    .catalog-product-view .product-info-price .price,
    .catalog-product-view .old-price .price {
        font-size: 20px !important;
        line-height: 20px;
    }
}


/* =====================================================
   4. SIZE DROPDOWN — 50px height, black border
   ===================================================== */
.catalog-product-view .swatch-attribute.size select,
.catalog-product-view select.super-attribute-select {
    height: 50px;
    border: 1px solid #000;
    font-size: 18px;
    padding-right: 46px;
    background-color: #fff;
    background-repeat: no-repeat;
    background-position: right 14px center;
    background-size: 16px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M6 9L12 15L18 9' stroke='%23111' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    transition: all 0.2s ease-in-out;
}
.catalog-product-view .swatch-attribute.size select:focus,
.catalog-product-view select.super-attribute-select:focus {
    border-color: #A9BA9D;
    outline: none;
    box-shadow: none;
}
.catalog-product-view .swatch-attribute.size select::-ms-expand,
.catalog-product-view select.super-attribute-select::-ms-expand {
    display: none;
}


/* =====================================================
   5. ACCORDION SECTIONS — 20px title (not 13px!)
   (luma-compat general rule is 20px but specific
    .product-info-column rule wrongly overrides to 13px)
   ===================================================== */
.product-info-column .ftc-section-title {
    cursor: pointer;
    padding: 15px 52px 15px 0 !important;
    font-family: "KorpusGrotesk-B", sans-serif;
    font-size: 20px !important;
    letter-spacing: 0 !important;
    text-transform: uppercase;
}
.product-info-column .ftc-section-title::after {
    right: 38px !important;
    top: 0 !important;
    transform: none !important;
    font-size: 28px !important;
    line-height: 1 !important;
    color: #111 !important;
    font-weight: 300 !important;
}
@media (max-width: 768px) {
    .product-info-column .ftc-section-title {
        font-size: 18px !important;
        padding-right: 42px !important;
    }
    .product-info-column .ftc-section-title::after {
        right: 30px !important;
        font-size: 24px !important;
    }
}
.product-info-column .ftc-section-content {
    padding-bottom: 25px;
    font-family: "KorpusGrotesk-B", sans-serif;
    font-size: 14px;
    line-height: 1.6;
}
.product-info-column .ftc-section-content ul {
    list-style: disc;
    padding-left: 20px;
    margin: 8px 0;
}
.product-info-column .ftc-section-content li {
    margin-bottom: 4px;
}


/* =====================================================
   6. ADD TO CART BUTTON — 15px, opacity hover
   ===================================================== */
#product-addtocart-button {
    text-transform: uppercase !important;
    font-size: 15px !important;
    letter-spacing: 0.15em !important;
    font-weight: 600 !important;
    line-height: 22px !important;
    height: 50px !important;
    padding: 14px 17px !important;
    display: inline-block !important;
}
#product-addtocart-button:hover {
    background: #000 !important;
    opacity: 0.9;
}

/* PDP add-to-cart row parity — simple heart icon, no compare box */
.catalog-product-view .ftc-addtocart-row {
    gap: 15px !important;
    align-items: center !important;
}

.catalog-product-view .ftc-addtocart-row .ftc-wishlist-wrapper {
    flex: 0 0 auto !important;
    width: auto !important;
    border: 0 !important;
}

.catalog-product-view .ftc-wishlist-wrapper #add-to-wishlist,
.catalog-product-view .ftc-wishlist-wrapper button[data-addto="wishlist"],
.catalog-product-view .ftc-wishlist-wrapper .action.towishlist {
    border: 0 !important;
    background: transparent !important;
    width: 18px !important;
    min-width: 18px !important;
    height: 18px !important;
    padding: 0 !important;
}

.catalog-product-view .ftc-wishlist-wrapper #add-to-wishlist svg,
.catalog-product-view .ftc-wishlist-wrapper button[data-addto="wishlist"] svg,
.catalog-product-view .ftc-wishlist-wrapper .action.towishlist svg {
    width: 18px !important;
    height: 18px !important;
}

.catalog-product-view .ftc-wishlist-wrapper #add-to-compare,
.catalog-product-view .ftc-wishlist-wrapper button[data-addto="compare"],
.catalog-product-view .action.tocompare,
.catalog-product-view [data-addto="compare"] {
    display: none !important;
}



/* =====================================================
   7. GALLERY - Arrows, Zoom Icon, Fullscreen Modal
   ===================================================== */
#gallery-main {
    position: relative;
}

#gallery-main::before,
#gallery-main::after {
    display: none !important;
}

.gallery-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 20;
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.82);
    box-shadow: none;
    border: none;
    cursor: pointer;
    color: #4a4a4a;
    opacity: 0;
    transition: opacity 0.3s ease, background 0.2s ease, box-shadow 0.2s ease;
}

.gallery-arrow-left {
    left: 10px;
}

.gallery-arrow-right {
    right: 10px;
}

#gallery-main:hover .gallery-arrow {
    opacity: 1;
}

.gallery-arrow:hover {
    background: #fff;
    box-shadow: none;
}

.gallery-arrow svg {
    width: 18px;
    height: 18px;
    stroke-width: 2.2;
}

.gallery-arrow:focus {
    outline: 2px solid #a9ba9d;
    outline-offset: 2px;
    opacity: 1;
}

.gallery-zoom {
    position: absolute;
    right: 12px;
    bottom: 12px;
    z-index: 20;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    cursor: zoom-in;
    color: #666;
    opacity: 0;
    transition: opacity 0.3s ease;
}

#gallery-main:hover .gallery-zoom {
    opacity: 0.7;
}

.gallery-zoom:hover {
    opacity: 1;
}

.gallery-zoom:focus {
    outline: 2px solid #a9ba9d;
    outline-offset: 2px;
    opacity: 1;
}

.gallery-zoom svg {
    display: block;
    width: 20px;
    height: 20px;
}

.gallery-fullscreen-overlay {
    background: rgba(0, 0, 0, 0.85) !important;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    z-index: 10000 !important;
}

.gallery-fullscreen-overlay .gallery-arrow {
    opacity: 1;
    background: rgba(255, 255, 255, 0.82);
    color: #4a4a4a;
    box-shadow: none;
}

.gallery-fullscreen-overlay .gallery-arrow:hover {
    background: rgba(255, 255, 255, 0.95);
}

.gallery-fullscreen-overlay #gallery-main {
    margin-bottom: 0 !important;
    height: calc(100vh - 28px) !important;
}

.gallery-fullscreen-overlay #gallery-main img {
    max-height: calc(100vh - 42px) !important;
    width: auto !important;
    max-width: 100% !important;
}

/* Hide in-flow placeholder in fullscreen to prevent top-left artifacts */
.gallery-fullscreen-overlay #gallery-main > img.invisible:first-child {
    display: none !important;
}

.gallery-fullscreen-overlay .gallery-close-btn {
    background: rgba(255, 255, 255, 0.24);
}

.gallery-fullscreen-overlay .gallery-close-btn:hover {
    background: rgba(255, 255, 255, 0.4);
}

.gallery-close-wrap {
    position: fixed !important;
    top: 16px !important;
    right: 16px !important;
    z-index: 10020 !important;
}

.gallery-fullscreen-overlay .gallery-zoom {
    display: none !important;
}

.gallery-close-btn {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    border: none;
    color: #fff;
    transition: background 0.2s ease, transform 0.2s ease;
}

.gallery-close-btn:hover {
    background: rgba(255, 255, 255, 0.4);
    transform: scale(1.1);
}

.gallery-close-btn:focus {
    outline: 2px solid #a9ba9d;
    outline-offset: 2px;
}

@media (min-width: 769px) {
    #gallery > div:not(.gallery-fullscreen-overlay) > div:first-child {
        overflow: hidden;
    }
    #gallery > div:not(.gallery-fullscreen-overlay) > div:first-child img {
        max-height: 720px;
        object-fit: contain;
    }
    .js_thumbs_slides {
        max-height: 720px !important;
    }

    #gallery > div.gallery-fullscreen-overlay {
        display: block !important;
    }

    #gallery > div.gallery-fullscreen-overlay > div:first-child {
        flex: 1 1 auto !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow: visible !important;
    }

    #gallery > div.gallery-fullscreen-overlay > div:nth-child(2) {
        display: none !important;
        width: 0 !important;
        min-width: 0 !important;
        overflow: hidden !important;
    }
}

#gallery .gallery-thumb.active,
#gallery .gallery-thumb[aria-current="true"],
#gallery button.active img,
#gallery [data-gallery-role="nav-frame"].active {
    border-color: #a9ba9d !important;
}

/* =====================================================
   8. COLOR SWATCH — 80x80 image swatches
   ===================================================== */
.catalog-product-view .swatch-option.product-option-value-label {
    min-width: 80px;
    min-height: 80px;
    width: 80px;
    height: 80px;
    overflow: hidden;
    border: 1px solid #ccc;
    border-radius: 0;
    box-shadow: none;
    background-size: cover;
    background-position: center;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
}
.catalog-product-view .swatch-option img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.catalog-product-view .swatch-option.product-option-value-label.border-primary,
.catalog-product-view .swatch-option.product-option-value-label.ring-primary\/75,
.catalog-product-view .swatch-option.product-option-value-label.ring-primary\/50,
.catalog-product-view .swatch-option[aria-checked="true"],
.catalog-product-view .swatch-option.selected {
    border-color: #a9ba9d !important;
    border-width: 2px !important;
}

/* Swatch spacing parity with original (margin: 0 10px 5px 0) */
.catalog-product-view .swatch-attribute .swatch-option,
.catalog-product-view .swatch-attribute.color .swatch-option,
.catalog-product-view .swatch-attribute .product-option-value-label {
    margin: 0 10px 5px 0 !important;
}
.catalog-product-view .swatch-attribute .flex.justify-between {
    margin-bottom: 8px;
}
.catalog-product-view .swatch-attribute .product-option-label {
    display: inline;
    font-family: "KorpusGrotesk-B", sans-serif;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
.catalog-product-view .swatch-attribute .product-option-value-label-text {
    font-family: "KorpusGrotesk-B", sans-serif;
    font-size: 13px;
}


/* =====================================================
   9. PRODUCT PAGE LAYOUT
   ===================================================== */
.catalog-product-view .column.main {
    padding: 0;
}
.catalog-product-view .page-main {
    padding-top: 0;
}
.catalog-product-view nav.breadcrumbs {
    display: none;
}
.catalog-product-view .page-title {
    text-align: left;
    margin-bottom: 5px;
}


/* =====================================================
   10. FOOTER — Match original FTCShop Luma footer exactly.
   Sources: footer.less + general.less overrides.
   All !important to beat Tailwind @layer base resets.
   ===================================================== */

/* --- 10a. Container & base --- */
.page-footer {
    width: 100% !important;
    background: #f8f8f8 !important;
    font-family: "KorpusGrotesk-B", sans-serif !important;
    font-size: 15px !important;
    line-height: 1.4 !important;
    color: #111 !important;
}
@media (max-width: 1540px) {
    .page-footer {
        padding: 0 10px !important;
    }
}
/* Inner wrapper: NO padding — areas handle their own centering */
.page-footer > .footer.content {
    max-width: 1540px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    background: transparent !important;
}
.page-footer * {
    box-sizing: border-box;
}
.footer-copyright-row {
    display: none !important;
}
.page-footer > .footer.content > .bg-gray-100,
.page-footer > .footer.content > div:not(.links):not(.methods):not(.bottom):not(.footer-copyright-row):not([id]) {
    background: none !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* --- 10b. Override Tailwind img { display:block; max-width:100%; height:auto }
   Original Luma keeps images inline (browser default). --- */
.page-footer img {
    display: inline !important;
    max-width: none !important;
    height: auto !important;
    vertical-align: middle !important;
}

/* --- 10c. Area layout — MUST be display:block to kill luma-compat grid --- */
.page-footer .area,
.page-footer .links.area,
.page-footer .methods.area {
    display: block !important;
    grid-template-columns: none !important;
    gap: 0 !important;
    max-width: 1540px !important;
    margin: 0 auto !important;
    padding: 15px 0 30px 0 !important;
    overflow: hidden !important;
    font-size: 15px !important;
    line-height: 1.4 !important;
    color: #111 !important;
    letter-spacing: normal !important;
    border-bottom: none !important;
}
.page-footer .area a {
    transition: color 300ms ease-in-out !important;
    text-decoration: none !important;
    color: #111 !important;
}
.page-footer .area a:hover {
    color: #A9BA9D !important;
    text-decoration: none !important;
}
.page-footer .area.methods,
.page-footer .area.bottom {
    border-top: 1px solid #e0e0e0 !important;
}
.page-footer .area.bottom {
    display: block !important;
    padding-top: 25px !important;
}
/* Sections: float-based 1/3 columns (original uses float, not grid) */
.page-footer .area .section,
.page-footer .links.area .section,
.page-footer .methods.area .section {
    float: left !important;
    width: calc(100% / 3) !important;
    padding: 0 !important;
    display: block !important;
    font-size: 15px !important;
    line-height: 1.4 !important;
    color: #111 !important;
}
/* Contact and shipping sections — padding only at medium widths (from general.less) */
@media (min-width: 901px) and (max-width: 1720px) {
    .page-footer .area .contact.section,
    .page-footer .area .shipping.section {
        padding-left: 30px !important;
    }
}
/* h3 headings — override luma-compat 13px/letter-spacing */
.page-footer .area .section h3,
.page-footer .links.area h3,
.page-footer .methods.area h3,
.page-footer .links.area .section h3,
.page-footer .methods.area .section h3 {
    position: relative !important;
    margin: 20px 0 !important;
    font-family: "KorpusGrotesk-B", sans-serif !important;
    font-size: 24px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    line-height: 26.4px !important;
    letter-spacing: normal !important;
    margin-bottom: 20px !important;
    color: #111 !important;
}
/* Information section: block layout, NOT flex */
.page-footer .information.section {
    display: block !important;
    flex-wrap: unset !important;
}

/* --- 10d. Section images (shipping/payment/cert icons) --- */
.page-footer .area .section img,
.page-footer .methods.area img,
.page-footer .methods.area .section img {
    display: inline !important;
    height: 32px !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 16px 0 0 !important;
    vertical-align: middle !important;
    background-color: #f8f8f8;
    filter: saturate(0);
    transition: filter 300ms;
}
.page-footer .area .section img:hover {
    filter: saturate(1);
}
/* Cert logos in security section — taller than shipping/payment */
.page-footer .area.methods .security.section img,
.page-footer .security.section img {
    height: 32px !important;
    margin: 0 12px 0 0 !important;
}
/* Links wrapping icons must be inline */
.page-footer .area.methods .section a {
    display: inline !important;
}

/* --- 10e. Information columns (2 × 50% float) --- */
.page-footer .area .section .column,
.page-footer .information.section .first.column,
.page-footer .information.section .second.column {
    float: left !important;
    width: 50% !important;
}

/* --- 10f. Bottom area --- */
.page-footer .area.bottom,
.page-footer .bottom.area {
    display: block !important;
    justify-content: unset !important;
    align-items: unset !important;
}
.page-footer .area.bottom .legal,
.page-footer .bottom.area .legal {
    float: left !important;
    height: 20px !important;
    line-height: 20px !important;
    font-size: 12px !important;
    text-transform: uppercase !important;
    color: #111 !important;
}
.page-footer .area.bottom .social,
.page-footer .bottom.area .social {
    float: right !important;
    display: block !important;
    gap: 0 !important;
}
.page-footer .social .icon {
    display: inline-block !important;
    height: 20px !important;
    width: 20px !important;
    margin: 0 0 0 5px !important;
    background-size: 100% 100% !important;
    filter: saturate(0);
    transition: filter 300ms;
}
.page-footer .social .icon:hover {
    filter: saturate(1);
}

/* --- 10g. Newsletter form --- */
.page-footer .newsletter.section .block.newsletter {
    display: block !important;
    width: 100% !important;
    margin: 30px 0 0 0 !important;
    max-width: none !important;
}
.page-footer .newsletter.section .block.newsletter .content {
    overflow: hidden !important;
}
.page-footer .newsletter.section .block.newsletter .control::before {
    content: none !important;
}
.page-footer .newsletter.section .block.newsletter form > div {
    float: left !important;
    display: block !important;
}
.page-footer .newsletter.section .block.newsletter .field.newsletter {
    float: left !important;
    width: 70% !important;
    max-width: 100% !important;
    margin: 0 5% 0 0 !important;
}
.page-footer .newsletter.section .block.newsletter .field.newsletter input {
    width: 100% !important;
    height: 41px !important;
    padding: 20px 0 !important;
    border: none !important;
    border-bottom: 1px solid #eee !important;
    background-color: transparent !important;
    font-family: "KorpusGrotesk-B", sans-serif !important;
    font-size: 15px !important;
    line-height: 21.4286px !important;
    outline: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    box-sizing: border-box !important;
    color: #111 !important;
}
.page-footer .newsletter.section .block.newsletter .field.newsletter input:focus {
    border-color: #ad8b70 !important;
    outline: none !important;
    box-shadow: none !important;
}
.page-footer .newsletter.section .block.newsletter .actions {
    float: left !important;
    width: 25% !important;
}
.page-footer .newsletter.section .block.newsletter .actions button {
    opacity: 0.8;
    width: 100% !important;
    height: 42px !important;
    padding: 12px 0 !important;
    border: none !important;
    border-radius: 0 !important;
    background-color: transparent !important;
    font-family: "KorpusGrotesk-B", sans-serif !important;
    font-size: 14px !important;
    line-height: 16px !important;
    color: #A9BA9D !important;
    text-transform: uppercase !important;
    border-bottom: 2px solid #A9BA9D !important;
    box-sizing: border-box !important;
    cursor: pointer;
    transition: opacity 300ms;
}
.page-footer .newsletter.section .block.newsletter .actions button:hover {
    opacity: 1;
}


/* =====================================================
   11. ANNOUNCEMENT BAR — keep visible on storefront pages
   ===================================================== */
.checkout-index-index header.msg,
.checkout-cart-index header.msg {
    display: none !important;
}
/* Dismiss button position — original right: 45px */
header.msg .dismiss {
    right: 45px;
}


/* =====================================================
   12. HEADER — Flags on store switcher labels
   ===================================================== */
.ftc-store-switcher label:first-child {
    position: relative;
    padding-left: 22px;
}
.ftc-store-switcher label:first-child::before {
    content: "";
    position: absolute;
    width: 15px;
    height: 15px;
    top: 3px;
    left: 0;
    background-size: 100% 100%;
}
.ftc-store-switcher label.de-de::before { background-image: url("../images/flags/germany.png"); }
.ftc-store-switcher label.en-de::before { background-image: url("../images/flags/germany.png"); }
.ftc-store-switcher label.de-at::before { background-image: url("../images/flags/austria.png"); }
.ftc-store-switcher label.en-at::before { background-image: url("../images/flags/austria.png"); }
.ftc-store-switcher label.en-ne::before { background-image: url("../images/flags/netherlands.png"); }
.ftc-store-switcher label.en-dk::before { background-image: url("../images/flags/denmark.png"); }
.ftc-store-switcher label.en-se::before { background-image: url("../images/flags/sweden.png"); }
.ftc-store-switcher label.en-pl::before { background-image: url("../images/flags/poland.png"); }
.ftc-store-switcher label.en-ch::before { background-image: url("../images/flags/switzerland.png"); }
.ftc-store-switcher label.de-ch::before { background-image: url("../images/flags/switzerland.png"); }
.ftc-store-switcher label.en-it::before { background-image: url("../images/flags/italy.png"); }
.ftc-store-switcher label.en-fr::before { background-image: url("../images/flags/france.png"); }
.ftc-store-switcher label.en-be::before { background-image: url("../images/flags/belgium.png"); }
.ftc-store-switcher label.en-eu::before { background-image: url("../images/flags/eu.png"); }
.ftc-store-switcher label.de-eu::before { background-image: url("../images/flags/eu.png"); }

/* =====================================================
   13. HEADER — Inline search field (like original)
   ===================================================== */
.ftc-inline-search {
    display: flex;
    align-items: center;
    margin-left: 10px;
    margin-right: 5px;
}
.ftc-inline-search form {
    display: flex;
    align-items: center;
    position: relative;
}
.ftc-inline-search input[type="text"] {
    border: 1px solid #c2c2c2;
    border-radius: 0;
    padding: 4px 30px 4px 10px;
    font-size: 14px;
    width: 200px;
    height: 30px;
    line-height: 30px;
    outline: none;
    font-family: inherit;
    background: #f8f8f8;
    transition: width 0.3s;
}
.ftc-inline-search input[type="text"]:focus {
    width: 200px;
    border-color: #999;
}
.ftc-inline-search button[type="submit"] {
    position: absolute;
    right: 2px;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    cursor: pointer;
    padding: 4px;
    opacity: 0.5;
}
.ftc-inline-search button[type="submit"]:hover {
    opacity: 1;
}
.ftc-inline-search button[type="submit"] svg {
    width: 16px;
    height: 16px;
}
@media (max-width: 768px) {
    .ftc-inline-search {
        display: none;
    }
}

/* =====================================================
   14. PDP — Hide swatch color value text (e.g. "980,835")
   ===================================================== */
.catalog-product-view .swatch-attribute.color_name .swatch-attribute-selected-option {
    display: none !important;
}

/* =====================================================
   15. PDP — Hide SALE label + duplicate zoom on gallery button
   ===================================================== */
.catalog-product-view .product-label,
.catalog-product-view .product-label-sale,
.catalog-product-view .amasty-label-container,
.catalog-product-view [class*="amlabel"],
.catalog-product-view .product-media-column .price-label,
.catalog-product-view .product-media-column .old-price .price-label {
    display: none !important;
}
/* Hide any pseudo-element decorations on the fullscreen button (luma-compat remnants) */
#gallery-main > button[x-ref="galleryFullscreenBtn"]::before,
#gallery-main > button[x-ref="galleryFullscreenBtn"]::after {
    display: none !important;
}

/* Neutralize aggressive luma-compat display:flex!important rule for gallery overlay button */
#gallery > div > div:first-child #gallery-main > button[x-ref="galleryFullscreenBtn"] {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    inset: 0 !important;
    background: transparent !important;
}

#gallery > div > div:first-child #gallery-main > button[x-ref="galleryFullscreenBtn"][style*="display: none"] {
    display: none !important;
    background: transparent !important;
}

.gallery-fullscreen-overlay #gallery-main > button[x-ref="galleryFullscreenBtn"],
.gallery-fullscreen-overlay #gallery-main > button[x-ref="galleryFullscreenBtn"][style*="display: none"] {
    display: none !important;
    background: transparent !important;
}

/* =====================================================
   16. GLOBAL — Prevent horizontal scroll
   ===================================================== */
html,
body {
    overflow-x: hidden !important;
}


/* =====================================================
   17. HEADER — Full-width navigation (match original)
   Original .ftc-header-inner has NO max-width.
   Navigation takes full viewport width with 100px padding.
   (Ref: header.less:1179-1235, 1851-1870)
   ===================================================== */
.ftc-header-inner {
    padding-left: 0 !important;
    padding-right: 0 !important;
    max-width: none !important;
}

/* Single source of truth for desktop menu gutters */
.ftc-header {
    --ftc-menu-gutter: 100px;
}

@media (max-width: 1200px) {
    .ftc-header {
        --ftc-menu-gutter: 40px;
    }
}


/* =====================================================
   18. CATEGORY PAGE — 4-column product grid
   Override Hyvä Tailwind classes (xl:grid-cols-3 → 4).
   Original: product-item width: calc(25% - 3px), gap 4px.
   (Ref: category.less:254-280)
   ===================================================== */

/* Force 4 columns on the <ul> inside .products-grid */
.catalog-category-view .products-grid > ol,
.catalogsearch-result-index .products-grid > ol {
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 4px !important;
    padding-top: 0 !important;
}

@media (max-width: 1024px) {
    .catalog-category-view .products-grid > ol,
    .catalogsearch-result-index .products-grid > ol {
        grid-template-columns: repeat(3, 1fr) !important;
    }
}

@media (max-width: 768px) {
    .catalog-category-view .products-grid > ol,
    .catalogsearch-result-index .products-grid > ol {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 6px !important;
    }
}

/* Category page full-width columns */
.catalog-category-view .columns,
.catalogsearch-result-index .columns {
    width: 100% !important;
    max-width: 100% !important;
    border-top: 1px solid #eee;
}

/* Center the product content within max-width */
.catalog-category-view .column.main,
.catalogsearch-result-index .column.main {
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 20px 0 40px !important;
}

/* Product items — no extra padding on grid items */
.catalog-category-view .products-grid > ol > li,
.catalogsearch-result-index .products-grid > ol > li {
    padding: 0 !important;
    margin: 0 !important;
}

/* Category toolbar — centered, matching original */
.catalog-category-view .toolbar,
.catalogsearch-result-index .toolbar {
    font-family: "KorpusGrotesk-B", sans-serif !important;
    text-transform: uppercase !important;
    font-size: 13px !important;
    letter-spacing: 0.5px !important;
}

/* Wishlist heart button visible on hover */
.catalog-category-view .product-item .absolute.top-2.right-2,
.catalog-category-view .products-grid li .absolute.top-2.right-2 {
    opacity: 0;
    transition: opacity 300ms;
}
.catalog-category-view .product-item:hover .absolute.top-2.right-2,
.catalog-category-view .products-grid li:hover .absolute.top-2.right-2 {
    opacity: 1;
}

/* Category description / CMS block area */
.catalog-category-view .category-description,
.catalog-category-view .category-cms {
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    text-align: center !important;
}


/* =====================================================
   19. LOGIN PAGE — Two-column layout
   Original: login + register side by side, 50/50
   (Ref: account.less:58-190)
   ===================================================== */

/* Hide default page title */
.customer-account-login .page-title {
    display: none !important;
}

/* Two-column flex container */
.customer-account-login .column.main {
    max-width: 1540px !important;
    margin: 0 auto !important;
    display: flex !important;
    flex-wrap: wrap !important;
    padding: 80px 20px !important;
}

@media (max-width: 1540px) {
    .customer-account-login .column.main {
        max-width: 100% !important;
    }
}

/* Both column children: 50% width */
.customer-account-login .column.main > div {
    width: 50% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}

/* Login container (left column) */
.customer-account-login .login-container {
    padding-right: 10px !important;
}

.customer-account-login .login-container .block-customer-login {
    max-width: none !important;
    margin: 0 !important;
}

/* Register form (right column) */
.customer-account-login .column.main > div:not(.login-container) {
    padding-left: 10px !important;
    max-width: none !important;
    margin: 0 !important;
}

/* Block headings — gray strip (account.less:83-92) */
.customer-account-login .block-title {
    margin-bottom: 13px !important;
    border-bottom: none !important;
}

.customer-account-login .block-title h2,
.customer-account-login .section-title,
.customer-account-login legend {
    display: block !important;
    height: 60px !important;
    line-height: 30px !important;
    padding: 15px 20px !important;
    border-bottom: none !important;
    background-color: #f8f8f8 !important;
    font-family: "KorpusGrotesk-B", sans-serif !important;
    font-size: 24px !important;
    text-transform: uppercase !important;
    margin: 0 !important;
}

/* Form fields area padding */
.customer-account-login fieldset {
    padding: 0 20px !important;
}

.customer-account-login fieldset::after {
    display: none !important;
}

/* Field labels (account.less:122-125) */
.customer-account-login .field label {
    margin: 0 0 5px 0 !important;
    font-size: 14px !important;
    font-weight: normal !important;
}

/* Input fields — 40px height, black border (account.less:127-132) */
.customer-account-login input:not([type="checkbox"]):not([type="hidden"]):not([type="submit"]):not([type="button"]) {
    width: 100% !important;
    height: 40px !important;
    margin: 0 0 10px 0 !important;
    border: 1px solid #111 !important;
    font-size: 20px !important;
    border-radius: 0 !important;
}

/* Forgot password link (account.less:138-149) */
.customer-account-login a[href*="forgotpassword"],
.customer-account-login a[href*="Forgot"] {
    opacity: 0.8;
    display: block !important;
    margin: 0 0 39px 0 !important;
    text-align: right !important;
    color: #111 !important;
    transition: opacity 300ms !important;
    font-size: 14px !important;
}

.customer-account-login a[href*="forgotpassword"]:hover {
    opacity: 1;
}

/* Submit buttons — full width, 70px, black (account.less:151-163) */
.customer-account-login button[type="submit"],
.customer-account-login .btn-primary {
    width: 100% !important;
    height: 70px !important;
    border: none !important;
    border-radius: 0 !important;
    background-color: #111 !important;
    color: #fff !important;
    text-transform: uppercase !important;
    font-weight: normal !important;
    font-size: 15px !important;
    letter-spacing: 0.15em !important;
    transition: opacity 300ms !important;
    cursor: pointer !important;
}

.customer-account-login button[type="submit"]:hover,
.customer-account-login .btn-primary:hover {
    opacity: 0.9 !important;
}

/* Required fields note */
.customer-account-login .required-fields {
    margin: 15px 0 100px 0 !important;
    text-align: right !important;
}

.customer-account-login .required-fields span {
    color: #f3633c !important;
}

/* Mobile: stack columns */
@media (max-width: 768px) {
    .customer-account-login .column.main > div {
        width: 100% !important;
        padding: 0 !important;
    }

    .customer-account-login .column.main {
        padding: 40px 15px !important;
    }

    .customer-account-login .login-container {
        padding-right: 0 !important;
        margin-bottom: 30px !important;
    }

    .customer-account-login .column.main > div:not(.login-container) {
        padding-left: 0 !important;
    }
}

/* FIX: .products-grid wrapper applies 4-col grid from luma-compat,
   squeezing the inner <ol> to 25% width. Override to block. */
.catalog-category-view .products-grid,
.catalogsearch-result-index .products-grid {
    display: block !important;
    grid-template-columns: none !important;
}

/* =============================================
   20. Category page — full-width layout
   ============================================= */

/* Category page - columns full-width, main centered */
.catalog-category-view .columns {
    max-width: 100% !important;
    padding: 0 !important;
}

.catalog-category-view .column.main {
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 20px 0 40px !important;
}

/* Center category description text & image */
.catalog-category-view .category-description,
.catalog-category-view .category-image,
.catalog-category-view .category-view .category-cms {
    text-align: center;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding: 0;
}

/* Product grid — minimal gaps like original (4px) */
.catalog-category-view .products-grid > ol {
    gap: 4px !important;
}

/* =============================================
   21. Hover image overlay (product listing)
   ============================================= */
.product-item .hover-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    transition: opacity 0.3s ease;
    z-index: 1;
    pointer-events: none;
}

.product-item:hover .hover-image {
    opacity: 1;
}

/* =============================================
   22. FTC Sorter — matches original "SORTIEREN NACH POSITION" style
   ============================================= */
.ftc-sorter {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background: transparent !important;
    border: none !important;
    border-bottom: 1px solid #ad8b70 !important;
    border-radius: 0 !important;
    padding: 4px 24px 4px 4px !important;
    font-size: 11px !important;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #ad8b70;
    cursor: pointer;
    outline: none !important;
    box-shadow: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ad8b70' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 2px center !important;
    background-size: 16px !important;
    min-width: 80px;
}

.ftc-sorter:focus {
    border-color: #ad8b70 !important;
}

.toolbar-sorter .sorter-action {
    display: none !important;
}

/* =============================================
   23. MEHR LADEN (Load More) button
   ============================================= */
.mehr-laden-btn {
    display: inline-block;
    padding: 12px 40px;
    border: 1px solid #111;
    color: #111;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    text-decoration: none;
    transition: all 0.3s;
    cursor: pointer;
}

.mehr-laden-btn:hover {
    background: #111;
    color: #fff;
}

/* =============================================
   24. Back to Top button
   ============================================= */
/* Base styles moved to section 42 (single source of truth). */

/* =============================================
   25. Category description centered above products
   ============================================= */
.catalog-category-view .category-description {
    text-align: center !important;
    max-width: 100% !important;
    margin: 0 auto 20px auto !important;
    padding: 0 !important;
}

.catalog-category-view .category-description h2,
.catalog-category-view .category-description h3 {
    text-align: center;
}

.catalog-category-view .category-image {
    text-align: center !important;
    margin: 0 auto 20px auto !important;
}

.catalog-category-view .category-image img {
    display: block !important;
    margin: 0 auto;
}

/* Category title hidden (DAMEN etc.) */
.catalog-category-view .page-title-wrapper,
.catalog-category-view h1.page-title,
.catalog-category-view [data-ui-id="page-title-wrapper"] {
    display: none !important;
}

/* Hide view mode switcher and limiter on category (not needed for FTC) */
.catalog-category-view .toolbar .modes,
.catalog-category-view .toolbar .limiter {
    display: none !important;
}

.catalog-category-view .toolbar .toolbar-amount {
    display: block !important;
}

/* Bottom toolbar: only MEHR LADEN, no grid */
.catalog-category-view .toolbar.toolbar-products:has(.mehr-laden-container) {
    display: block !important;
}

/* Category view container - full width, centered content */
.catalog-category-view .category-view.container,
.catalog-category-view #category-view-container {
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 auto !important;
}

/* Category image full width */
.catalog-category-view .category-image img {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 !important;
}

/* Origin uses test_verysmallwhite.jpg as a transparent/placeholder marker —
   suppress the rendered <img> entirely so it doesn't appear as a 500x500 white box on Hyvä */
.catalog-category-view .category-image img[src$="test_verysmallwhite.jpg"],
.catalog-category-view .category-image img[src*="test_verysmallwhite"] {
    display: none !important;
}
.catalog-category-view .category-image:has(img[src*="test_verysmallwhite"]) {
    display: none !important;
}

/* Keep migrated CMS hero image blocks visible for category parity (e.g. CARE/LIVING) */
.catalog-category-view .category-description .ftc-image-block,
.catalog-category-view .category-cms .ftc-image-block {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 24px auto 0 !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.catalog-category-view .category-description .ftc-image-block .ftc-item,
.catalog-category-view .category-cms .ftc-image-block .ftc-item,
.catalog-category-view .category-description .ftc-image-block .ftc-image,
.catalog-category-view .category-cms .ftc-image-block .ftc-image {
    display: block !important;
    width: 100% !important;
}

.catalog-category-view .category-description .ftc-image-block img,
.catalog-category-view .category-cms .ftc-image-block img {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Category page on original has no breadcrumb row above description/products */
.catalog-category-view .top-container,
.catalog-category-view .breadcrumbs,
.catalog-category-view .ftc-breadcrumbs {
    display: none !important;
}

/* Hide the parent title container too */
.catalog-category-view .container.flex.flex-col.md\:flex-row.flex-wrap:has(h1.page-title) {
    display: none !important;
}

/* =============================================
   26. Hide Amasty Shopby Apply (Übernehmen) button on category pages
   ============================================= */
.catalog-category-view .am-show-button,
.catalog-category-view button.am-show-button,
.catalog-category-view .amshopby-overlay-buttons,
.catalog-category-view .am-filter-go,
.catalog-category-view .filter-actions button[type="submit"] {
    display: none !important;
}

/* Hide standard toolbar pager (replaced by MEHR LADEN) */
.catalog-category-view .toolbar-bottom .pages,
.catalog-category-view .toolbar-bottom .toolbar-amount,
.catalog-category-view .toolbar-bottom .limiter,
.catalog-category-view .toolbar-bottom .sorter {
    display: none !important;
}


/* Also hide the wrapper for extra safety */
.am_shopby_apply_filters {
    display: none !important;
}


/* =====================================================
   10. MEGA MENU — Multi-level navigation like original FTC
   ===================================================== */

/* Main navigation container */
.mega-nav {
    width: 100%;
    max-width: 1920px;
    margin: 0 auto;
    padding-left: var(--ftc-menu-gutter);
    padding-right: var(--ftc-menu-gutter);
}

/* Level 0 list */
.mega-nav-level0 {
    margin: 0;
    padding: 0;
    list-style: none;
    position: static !important;
}

/* Level 0 item */
.mega-nav-item.level-0 {
    display: inline-block;
    height: 60px;
    cursor: pointer;
    position: static;
}

/* Level 0 link */
.mega-nav-link.level-0 {
    display: block;
    text-decoration: none;
}

.mega-nav-link.level-0 > span {
    font-family: "KorpusGrotesk-B", sans-serif;
    color: #111;
    font-size: 18px;
    text-transform: uppercase;
    line-height: 60px;
    position: relative;
    display: inline-block;
}

.mega-nav-link.level-0 > span::after {
    position: absolute;
    content: "";
    bottom: 17px;
    left: 0;
    right: 0;
    height: 2px;
    background: #111;
    display: none;
}

.mega-nav-item.level-0:hover .mega-nav-link.level-0 > span::after {
    display: block;
}

.mega-nav-link.level-0[aria-current="page"] > span::after {
    display: block;
}

/* Dropdown panel (full-width) */
.mega-dropdown {
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    background: #fff;
    border-top: 1px solid #A9BA9D;
    border-bottom: 1px solid #A9BA9D;
    z-index: 100;
    padding: 0;
    margin: 0;
    font-family: "KorpusGrotesk-B", sans-serif;
    font-size: 15px;
    line-height: 21px;
    letter-spacing: normal;
    text-transform: none;
}

.mega-dropdown-inner {
    width: 100%;
    max-width: 1920px;
    margin: 0 auto;
    padding-left: 0;
    padding-right: 0;
}

/* Level 1 list (horizontal tabs: Featured, Ready to wear, etc.) */
.mega-level1-list {
    list-style: none;
    margin: 0;
    padding-left: var(--ftc-menu-gutter);
    padding-right: var(--ftc-menu-gutter);
    display: flex;
    flex-wrap: wrap;
    position: static;
    width: 100%;
    text-transform: none;
    letter-spacing: normal;
}

.mega-level1-item {
    display: inline-block;
    padding: 0 20px;
    height: 40px;
    position: static;
    margin-left: -4px;
}
.mega-level1-item:first-child {
    padding-left: 0;
}

.mega-level1-link {
    display: block;
    text-decoration: none;
    position: relative;
}

.mega-level1-link > span {
    font-family: "KorpusGrotesk-B", sans-serif;
    color: #111;
    font-size: 18px;
    line-height: 40px;
    text-transform: none;
    letter-spacing: normal;
    font-weight: 400;
}

.mega-level1-item:hover .mega-level1-link > span {
    color: #A9BA9D;
}

/* Arrow indicator for level 1 items with children */
.mega-level1-item.has-children:hover > .mega-level1-link::after {
    content: "";
    width: 16px;
    height: 16px;
    background-color: #fff;
    display: inline-block;
    border-bottom: 1px solid #A9BA9D;
    border-right: 1px solid #A9BA9D;
    transform: rotate(45deg);
    position: absolute;
    bottom: -8px;
    left: calc(50% - 8px);
    z-index: 110;
}

/* Level 2 panel (sub-panel below level 1 tabs) */
.mega-level2-panel {
    position: absolute;
    left: -4px;
    right: 0;
    transform: none;
    width: auto;
    top: 40px;
    background: #fff;
    border-top: 1px solid #A9BA9D;
    z-index: 105;
    padding: 0;
    font-family: "KorpusGrotesk-B", sans-serif;
}

/* Level 2 columns layout */
.mega-level2-columns {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: flex-start;
    position: relative;
    gap: 0;
    width: 100%;
    max-width: 1920px;
    margin: 0 auto;
    padding: 20px var(--ftc-menu-gutter) 100px var(--ftc-menu-gutter);
    border-bottom: 1px solid #A9BA9D;
    font-family: "KorpusGrotesk-B", sans-serif;
    letter-spacing: normal;
    text-transform: none;
}

.mega-level2-main {
    width: 100%;
    display: flex;
    flex-direction: column;
}

.mega-level2-columns.has-side-content .mega-level2-main {
    width: 50%;
}

.mega-level2-cms {
    width: 50%;
    display: flex;
    justify-content: flex-end;
    padding-left: 12px;
}

.mega-level2-cms > * {
    width: 100%;
}

.mega-level2-cms section {
    width: 100%;
    display: flex;
    gap: 12px;
    align-items: flex-start;
}

.mega-level2-cms section > div {
    flex: 1 1 0;
    min-width: 0;
}

.mega-level2-cms section > div > a {
    display: block;
}

.mega-level2-cms section > div img,
.mega-level2-cms > div img {
    display: block;
    width: 100%;
    height: 350px;
    object-fit: cover;
    object-position: center;
}

.mega-level2-cms section > div p,
.mega-level2-cms > div p {
    margin: 8px 0 0;
    color: #111;
    font-family: "KorpusGrotesk-B", sans-serif;
    font-size: 12px;
    line-height: 15px;
    text-transform: none;
}

.mega-level2-column {
    min-width: unset;
    max-width: unset;
    width: 100%;
    padding: 0 0;
    vertical-align: top;
}

/* Level 2 link (category heading) */
.mega-level2-link {
    display: inline-block;
    text-decoration: none;
    margin-bottom: 0;
    position: relative;
    padding-right: 0;
}

/* Original has no chevron next to level-2 items — hide ::after fully */
.mega-level2-link::after {
    content: none !important;
    display: none !important;
}

.mega-level2-link > span {
    font-family: "KorpusGrotesk-B", sans-serif;
    color: #111;
    font-size: 18px;
    line-height: 40px;
    text-transform: none;
    letter-spacing: normal;
    font-weight: 400;
}

.mega-level2-link:hover > span {
    color: #A9BA9D;
}

/* Level 3 list (sub-items under category heading) */
.mega-level3-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.mega-level3-link {
    display: block;
    text-decoration: none;
    padding: 2px 0;
}

.mega-level3-link > span {
    font-family: "KorpusGrotesk-B", sans-serif;
    color: #444;
    font-size: 16px;
    line-height: 24px;
    text-transform: uppercase;
    font-weight: 400;
    letter-spacing: normal;
}

.mega-level3-link:hover > span {
    color: #A9BA9D;
}

/* Active state for all levels */
.mega-nav-link[aria-current="page"] > span,
.mega-level1-link[aria-current="page"] > span,
.mega-level2-link[aria-current="page"] > span,
.mega-level3-link[aria-current="page"] > span {
    color: #A9BA9D !important;
}

/* Level 0 active item in original stays black with underline */
.mega-nav-link.level-0[aria-current="page"] > span {
    color: #111 !important;
}

.mega-nav-item.level-0 > .mega-nav-link.level-0[aria-current="page"] {
    border-bottom: 0 !important;
}




/* Close nav arrow at bottom of level 2 panel */
.mega-level2-panel::after {
    display: none;
}

.close-nav-arrow {
    width: 16px;
    height: 16px;
    background-color: #fff;
    display: inline;
    border-top: 1px solid #A9BA9D;
    border-left: 1px solid #A9BA9D;
    transform: rotate(45deg);
    position: absolute;
    bottom: 30px;
    left: calc(50% - 8px);
    z-index: 110;
}
/* Override default Hyva navigation styles */
.navigation.z-20 {
    background: #fff;
}


/* =====================================================
   20. LOGO POSITIONING — centered like original
   ===================================================== */
.ftc-logo {
    display: block;
    margin: 0 auto;
    text-align: center;
    padding: 0;
    position: relative;
    border: none;
    top: -5px;
    height: auto;
    line-height: normal;
}
.ftc-logo > * {
    text-align: center;
}
.ftc-logo p {
    margin: 0;
    padding: 0;
}
.ftc-logo a {
    display: inline-block !important;
    line-height: normal;
}
.ftc-logo img {
    display: inline-block;
    margin: 0 auto;
    vertical-align: middle;
    position: relative;
    top: 0;
    height: 103px;
    width: auto;
    max-width: none;
}
.ftc-logo img:not(:only-of-type):last-of-type {
    display: none;
}

/* Neutralize legacy luma-compat nav typography leaking into mega menu */
.navigation-no-arrows .mega-nav .level-0,
.navigation-no-arrows .mega-nav .level-0 * {
    font-family: "KorpusGrotesk-B", sans-serif !important;
    letter-spacing: normal !important;
}
.navigation-no-arrows .mega-dropdown,
.navigation-no-arrows .mega-dropdown * {
    text-transform: none !important;
    letter-spacing: normal !important;
}
.navigation-no-arrows .mega-nav-link.level-0 > span,
.navigation-no-arrows .mega-level3-link > span {
    text-transform: uppercase !important;
}


/* =====================================================
   21. MISSING CMS COMPONENT STYLES — ftc-toggle
   (Accordion/toggle component used in CMS pages)
   ===================================================== */
.ftc-toggle-group {
    margin-top: 30px;
    margin-bottom: 30px;
}
@media screen and (min-width: 768px) {
    .ftc-toggle-group {
        padding-left: 10vw;
        padding-right: 10vw;
    }
}
.ftc-toggle {
    border-top: 1px solid #dacbb6;
    text-align: left;
    margin: auto;
    margin-top: 30px;
    margin-bottom: 30px;
    position: relative;
}
.ftc-toggle .ftc-title-toggle {
    margin-top: 30px;
    margin-bottom: 30px;
    text-align: left;
    padding-left: 30px;
    padding-right: 70px;
    color: #111 !important;
    text-transform: uppercase;
    cursor: pointer;
    transition: all ease-in-out 0.3s;
}
.ftc-toggle .ftc-title-toggle:hover {
    color: #a6bb9a !important;
}
.ftc-toggle .ftc-title-toggle:after {
    content: "+";
    position: absolute;
    right: 30px;
    font-size: 30px;
    line-height: 20px;
    color: #a6bb9a;
    display: inline-block;
    font-weight: 200;
    transition: all ease-in-out 0.3s;
}
.ftc-toggle .ftc-title-toggle.active:after {
    transform: rotate(45deg);
    color: #ff6038;
}
.ftc-toggle .ftc-text-toggle {
    display: none;
    padding-left: 30px;
    color: #111 !important;
    padding-right: 30px;
    transition: all ease-in-out 0.3s;
}
.ftc-toggle .ftc-text-toggle p {
    color: #111 !important;
}
.ftc-toggle .ftc-text-toggle.active {
    display: block;
}


/* =====================================================
   22. MISSING CMS COMPONENT STYLES — ftc-popup/overlay
   (Popup/modal component used in CMS pages)
   ===================================================== */
.ftc-popup-button {
    cursor: pointer;
}
.ftc-overlay {
    position: fixed;
    height: 100%;
    width: 100%;
    top: 0;
    right: 0;
    z-index: 99999;
    bottom: 0;
    left: 0;
    background: rgba(255, 255, 255, 0.8);
    display: none;
}
.ftc-popup {
    max-width: 800px;
    overflow-y: auto;
    overflow-x: hidden;
    max-height: 95vh;
    width: 100%;
    height: auto;
    padding: 0px;
    position: relative;
    background: #fff;
    margin: 20px auto;
}
.ftc-popup img {
    width: 100%;
    height: auto;
}
.ftc-close {
    position: absolute;
    top: 10px;
    transform: rotate(45deg);
    right: 10px;
    font-size: 50px;
    cursor: pointer;
    color: #000;
    font-weight: 200;
}


/* =====================================================
   23. MISSING CMS COMPONENT STYLES — ftc-download
   (Download button with icon)
   ===================================================== */
a.ftc-download {
    position: relative;
    padding-left: 60px !important;
}
.ftc-download:after {
    position: absolute;
    left: 25px;
    top: 18px;
    content: "";
    display: inline-block;
    width: 20px;
    filter: invert(1);
    height: 20px;
    background: url(../images/download-icon.svg);
}
.ftc-download.button-border:after {
    filter: invert(0);
}
.ftc-download.button-border:hover:after {
    filter: invert(1);
}


/* =====================================================
   24. MISSING CMS COMPONENT STYLES — ftc-text-block-v
   (Vertical text block layout)
   ===================================================== */
.ftc-text-block-v .ftc-text-block-flex {
    display: flex;
    gap: 50px;
    flex-wrap: wrap;
}
.ftc-text-block-v .ftc-text-block-flex .ftc-text {
    flex: 1 1 0px;
    flex-basis: 20%;
}
.ftc-text-block-v {
    padding-left: 10vw;
    padding-right: 10vw;
    padding-top: 30px;
    padding-bottom: 30px;
}
.ftc-text-block-v.ftc-gray {
    background: #f8f8f8;
}
@media screen and (max-width: 1000px) {
    .ftc-text-block-v .ftc-text-block-flex {
        flex-wrap: wrap;
        gap: 20px 50px;
    }
    .ftc-text-block-v .ftc-text-block-flex .ftc-text {
        flex: 1 1 0px;
        flex-basis: 40%;
    }
}
@media screen and (max-width: 767px) {
    .ftc-text-block-v .ftc-text-block-flex {
        flex-direction: column;
        gap: 20px;
    }
}


/* =====================================================
   25. MISSING CMS COMPONENT STYLES — ftc-teaser
   ===================================================== */
.ftc-teaser {
    display: inline !important;
}
.ftc-complete.ftc-inline {
    display: inline !important;
}


/* =====================================================
   26. MISSING CMS COMPONENT STYLES — ftc-video
   (Video container with responsive aspect ratio)
   ===================================================== */
.ftc-video {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 0;
    height: 0;
    overflow: hidden;
    max-height: 300px;
}
.ftc-video iframe,
.ftc-video object,
.ftc-video embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}


/* =====================================================
   27. CATEGORY PAGE FILTER OVERRIDES
   (Match original inline styles)
   ===================================================== */
.toggle-category-filter {
    display: none !important;
}
.block.filter {
    display: none !important;
}
#amasty-shopby-product-list .toolbar.toolbar-products:last-of-type,
#amasty-shopby-product-list .toolbar.toolbar-products:nth-of-type(2n) {
    display: block !important;
}
.catalog-category-view .columns .toggle-category-filter {
    z-index: 100 !important;
}
.category-kaschmir-pflege .toggle-category-filter {
    display: none !important;
}
.catalog-category-view .columns .toolbar .top-toolbar {
    justify-content: space-between;
    display: flex;
}
.catalog-category-view .columns .block.filter .filter-content .filter-list-container .filter-options-content .am-shopby-form .am-swatch-link .swatch-option.selected:before {
    background-color: #a6bb9a;
    border-color: #a6bb9a;
}
#amasty-shopby-product-list .toolbar-products:last-of-type .top-toolbar {
    display: none;
}
@media (max-width: 767px) {
    .catalog-category-view .columns .product-item .product-item-details .swatch-attribute .swatch-option {
        width: 20px !important;
        height: 20px !important;
        margin: 1px 5px 0 0;
        border: 2px solid #f8f8f8;
    }
    .catalog-category-view .category-cms h1 {
        font-size: 22px;
    }
}


/* =====================================================
   28. SEARCH RESULTS PAGE
   ===================================================== */
.catalogsearch-result-index .page-wrapper .page-main {
    padding: 40px 20px 0 !important;
}
@media (max-width: 900px) {
    .catalogsearch-result-index .column.main .product-item:nth-of-type(odd) {
        margin-right: 10px !important;
    }
    .catalog-category-view .columns .product-item .product-actions,
    .product-slider .product-item .product-actions {
        z-index: 10;
    }
    .catalog-product-view .product-images-container {
        height: auto !important;
        margin-bottom: 300px;
    }
}
.catalogsearch-result-index .column.main .product-item .product-item-details .product-item-name {
    padding-top: 10px !important;
}
.catalogsearch-result-index.page-products .page-wrapper .page-main {
    padding-left: 0 !important;
    padding-right: 0 !important;
}
.cms-page-view .page-main {
    max-width: 100%;
}


/* =====================================================
   29. AMASTY SLIDER (category carousel)
   ===================================================== */
.amslider-container.am-swiper-slider {
    width: 100%;
}
#category-carousel.amslider {
    position: relative;
    margin: 0px auto;
}
#category-carousel .swiper-button-prev,
.swiper-button-next {
    background-size: 12px;
}
.amslider .swiper-slide .swiper-category-item:hover,
.amslider .swiper-slide .swiper-category-item.active {
    background: #ffffff;
    box-shadow: none !important;
    border: none !important;
    margin: 0;
    color: #a6bb9a !important;
}


/* =====================================================
   30. PRODUCT LIST ITEM - Stock Alert & Sizes
   ===================================================== */
.product-info-main .amxnotif-block {
    display: none;
}
.product-info-main .product-options-bottom .amstockstatus-stockalert .amxnotif-block {
    display: block;
}
.catalog-category-view .columns .product-item .FTC-ListItem .available-colors div span.more-available-colors {
    border: none;
}
.catalog-category-view .columns .product-item .FTC-ListItem .available-colors .available-sizes div span {
    border: none;
}


/* =====================================================
   31. FOOTER COPYRIGHT ROW — hide duplicate
   ===================================================== */
.page-footer .footer-copyright-row {
    display: none;
}


/* =====================================================
   32. HEADER FIXED CLASS — sticky behavior on scroll
   ===================================================== */
.ftc-header.fixed {
    position: relative;
    top: auto;
    z-index: 900;
}



/* =====================================================
   33. HEADER ICONS — parity with original size/tone
   ===================================================== */
.ftc-shopcontrol .ftc-icon {
    opacity: 0.8;
    filter: invert(1) brightness(0.2);
    max-width: none !important;
}

#accounticon {
    width: 20px !important;
    min-width: 20px !important;
    height: 20px !important;
}

#wishlisticon,
#carticon {
    width: 22px !important;
    min-width: 22px !important;
    height: 22px !important;
}

/* =====================================================
   34. ANNOUNCEMENT BAR SLIDE — ensure overlapping slides
   ===================================================== */
header.msg .home-message {
    position: relative;
    min-height: 18px;
}
header.msg .home-message p.slide {
    margin: 0;
    position: absolute;
    left: 0;
    right: 0;
    transition: opacity 2s;
}
header.msg .home-message p.slide:first-child {
    position: relative;
}

/* =====================================================
   35. ANNOUNCEMENT BAR COLOR — match original #A9BA9D bg + black text
   ===================================================== */
header.msg {
    background-color: #A9BA9D !important;
}
header.msg .home-message,
header.msg .home-message a {
    color: #000 !important;
}
header.msg .dismiss::before,
header.msg .dismiss::after {
    background: #000;
}

/* Original behavior: announcement bar is visible only on homepage. */
body:not(.cms-index-index) .ftc-header header.msg,
body:not(.cms-index-index) header.msg {
    display: none !important;
}

body:not(.cms-index-index) .region-chooser {
    display: none !important;
}



/* =====================================================
   36. MENU SPACING — authoritative nav spacing rules
   ===================================================== */
.mega-nav-item.level-0 {
    padding: 0 !important;
    margin-right: 40px;
}
.mega-nav-item.level-0:first-child {
    padding-left: 0 !important;
}
.mega-nav-item.level-0:last-child {
    margin-right: 0;
}
.mega-nav-link.level-0 {
    padding: 0 !important;
}

/* =====================================================
   37. DISMISS BUTTON — chevron style like original
   ===================================================== */
header.msg .dismiss {
    width: 16px;
    height: 16px;
}
header.msg .dismiss::before,
header.msg .dismiss::after {
    width: 9px;
    height: 1.5px;
    background: #000;
    top: 55%;
}
header.msg .dismiss::before {
    transform: translate(-85%, -50%) rotate(-45deg);
}
header.msg .dismiss::after {
    transform: translate(-15%, -50%) rotate(45deg);
}

/* =====================================================
   38. RIGHT NAV SECTION — widen for search + icons
   ===================================================== */
.right-nav-section {
    width: 400px;
}

/* =====================================================
   39. FOOTER PARITY — remove extra Hyva-only copyright row
   ===================================================== */
.page-footer .footer-copyright-row {
    display: none !important;
}

/* =====================================================
   40. PLP PARITY — Category list/toolbar/cards like original FTC
   ===================================================== */
.catalog-category-view .category-view .category-description {
    width: 900px !important;
    margin: 60px auto 70px auto !important;
    text-align: center !important;
    font-family: "KorpusGrotesk-B", sans-serif !important;
    font-size: 20px !important;
    line-height: 1.5 !important;
    padding: 0 !important;
}

@media (max-width: 1200px) {
    .catalog-category-view .category-view .category-description {
        width: 100% !important;
        margin: 0 auto 30px auto !important;
        padding: 50px 20px !important;
    }
}

.catalog-category-view .columns,
.catalogsearch-result-index .columns {
    width: 100% !important;
    max-width: 100% !important;
    border-top: 1px solid #f1f1f1 !important;
}

.catalog-category-view .column.main,
.catalogsearch-result-index .column.main {
    padding-top: 20px !important;
}

.catalog-category-view .toolbar.toolbar-products {
    position: relative !important;
    padding: 0 !important;
}

.catalog-category-view .toolbar .top-toolbar {
    position: absolute !important;
    z-index: 20 !important;
    top: 10px !important;
    left: 0 !important;
    right: 0 !important;
    display: flex !important;
    justify-content: space-between !important;
    pointer-events: none;
}

.catalog-category-view .toolbar .sorting-options {
    display: flex !important;
    align-items: center !important;
    gap: 18px !important;
    pointer-events: auto;
    margin-right: 15px;
}

.catalog-category-view .toolbar .toolbar-amount {
    margin: 0 !important;
    color: #111 !important;
    font-family: "KorpusGrotesk-B", sans-serif !important;
    font-size: 11px !important;
    letter-spacing: 0.5px !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
}

.catalog-category-view .toolbar .toolbar-amount .toolbar-number {
    color: #a9ba9d !important;
    margin-right: 4px !important;
}

.catalog-category-view .toolbar .toolbar-sorter {
    float: left !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
}

.catalog-category-view .toolbar .toolbar-sorter .sorter-label {
    margin: 0 !important;
    color: #111 !important;
    font-family: "KorpusGrotesk-B", sans-serif !important;
    font-size: 14px !important;
    text-transform: uppercase !important;
}

.catalog-category-view .toolbar .toolbar-sorter .sorter-options {
    margin: 0 !important;
    padding: 0 18px 0 0 !important;
    border: none !important;
    background-color: transparent !important;
    box-shadow: none !important;
    color: #a6bb9a !important;
    font-family: "KorpusGrotesk-B", sans-serif !important;
    font-size: 14px !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
}

.catalog-category-view .toolbar .toolbar-sorter .sorter-options:hover {
    color: #111 !important;
}

.catalog-category-view .products.wrapper .product-item,
.catalogsearch-result-index .products.wrapper .product-item {
    width: calc(25% - 3px) !important;
    margin: 0 4px 4px 0 !important;
    padding: 0 !important;
    position: relative !important;
    height: auto !important;
}

.catalog-category-view .products.wrapper .product-item:nth-of-type(4n),
.catalogsearch-result-index .products.wrapper .product-item:nth-of-type(4n) {
    margin-right: 0 !important;
}

@media (max-width: 900px) {
    .catalog-category-view .products.wrapper .product-item,
    .catalogsearch-result-index .products.wrapper .product-item {
        width: calc(50% - 3px) !important;
        margin: 0 0 6px 0 !important;
    }

    .catalog-category-view .products.wrapper .product-item:nth-of-type(odd),
    .catalogsearch-result-index .products.wrapper .product-item:nth-of-type(odd) {
        margin-right: 6px !important;
    }
}

.catalog-category-view .products .FTC-ListItem,
.catalogsearch-result-index .products .FTC-ListItem {
    position: relative;
    width: 100%;
    height: 100%;
    padding-bottom: 20px;
    transition: all 0.3s;
}

.catalog-category-view .products .FTC-ListItem:hover,
.catalogsearch-result-index .products .FTC-ListItem:hover {
    background: #eee;
}

.catalog-category-view .products .FTC-ListItem .product-item-photo,
.catalogsearch-result-index .products .FTC-ListItem .product-item-photo {
    display: block;
    width: 100%;
    position: relative;
}

.catalog-category-view .products .FTC-ListItem .product-item-photo img,
.catalogsearch-result-index .products .FTC-ListItem .product-item-photo img {
    display: block;
    width: 100%;
    height: auto;
    position: relative;
    z-index: 1;
    opacity: 1;
    transition: opacity 0.3s ease;
}

.catalog-category-view .products .FTC-ListItem .product-item-photo .image-overlay,
.catalogsearch-result-index .products .FTC-ListItem .product-item-photo .image-overlay {
    position: absolute;
    inset: 0;
    background-position: center center !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
    z-index: 2;
    opacity: 0;
    transition: opacity 0.3s ease;
    pointer-events: none;
}

.catalog-category-view .products .FTC-ListItem:hover .image-overlay.has-secondary-image,
.catalogsearch-result-index .products .FTC-ListItem:hover .image-overlay.has-secondary-image {
    opacity: 1 !important;
}

.catalog-category-view .products .FTC-ListItem:hover .product-item-photo > img.has-secondary-image,
.catalogsearch-result-index .products .FTC-ListItem:hover .product-item-photo > img.has-secondary-image {
    opacity: 0;
}

.catalog-category-view .products .FTC-ListItem .wishlit-container,
.catalogsearch-result-index .products .FTC-ListItem .wishlit-container {
    position: absolute;
    top: 0;
    right: 0;
    width: 50px;
    height: 50px;
    z-index: 4;
}

.catalog-category-view .products .FTC-ListItem .wishlit-container .action.to-wishlist,
.catalogsearch-result-index .products .FTC-ListItem .wishlit-container .action.to-wishlist {
    display: block;
    width: 50px;
    height: 50px;
    position: relative;
    opacity: 0.7;
}

.catalog-category-view .products .FTC-ListItem .wishlit-container .action.to-wishlist::before,
.catalogsearch-result-index .products .FTC-ListItem .wishlit-container .action.to-wishlist::before {
    content: "\2661";
    font-size: 22px;
    line-height: 50px;
    color: #111;
    display: block;
    text-align: center;
}

.catalog-category-view .products .FTC-ListItem .toplabels,
.catalogsearch-result-index .products .FTC-ListItem .toplabels {
    position: absolute;
    z-index: 3;
    top: 18px;
    left: 18px;
    text-transform: uppercase;
    font-size: 14px;
    line-height: 1.4;
}

.catalog-category-view .products .FTC-ListItem .toplabels .sale-product,
.catalogsearch-result-index .products .FTC-ListItem .toplabels .sale-product {
    color: #f3633c;
}

.catalog-category-view .products .FTC-ListItem .toplabels .upcycled-product,
.catalogsearch-result-index .products .FTC-ListItem .toplabels .upcycled-product {
    color: #ad8b70;
}

.catalog-category-view .products .FTC-ListItem .product-item-details,
.catalogsearch-result-index .products .FTC-ListItem .product-item-details {
    margin: 0;
    padding-top: 10px;
    padding-left: 10px;
    box-sizing: border-box;
}

.catalog-category-view .products .FTC-ListItem .product-item-details .product-item-name a,
.catalogsearch-result-index .products .FTC-ListItem .product-item-details .product-item-name a {
    display: block;
    text-transform: none;
    font-family: "KorpusGrotesk-B", sans-serif !important;
    font-size: 18px;
    color: #111;
    opacity: 0.7;
    transition: opacity 300ms;
}

.catalog-category-view .products .FTC-ListItem .product-item-details .product-item-name a:hover,
.catalogsearch-result-index .products .FTC-ListItem .product-item-details .product-item-name a:hover {
    opacity: 1;
    text-decoration: none;
}

@media (max-width: 900px) {
    .catalog-category-view .products .FTC-ListItem .product-item-details .product-item-name a,
    .catalogsearch-result-index .products .FTC-ListItem .product-item-details .product-item-name a {
        font-size: 15px;
    }
}

.catalog-category-view .products .FTC-ListItem .available-colors,
.catalogsearch-result-index .products .FTC-ListItem .available-colors {
    position: relative;
}

.catalog-category-view .products .FTC-ListItem .available-colors > div > span:not(.more-available-colors),
.catalogsearch-result-index .products .FTC-ListItem .available-colors > div > span:not(.more-available-colors) {
    width: 15px;
    height: 15px;
    border-radius: 100%;
    display: inline-block;
    margin-right: 5px;
    border: 1px solid rgb(229, 229, 229);
}

.catalog-category-view .products .FTC-ListItem .available-colors .available-sizes,
.catalogsearch-result-index .products .FTC-ListItem .available-colors .available-sizes {
    position: absolute;
    opacity: 0;
    left: 0;
    top: 0;
    bottom: 0;
    transition: all 0.3s;
}

.catalog-category-view .products .FTC-ListItem .available-colors .available-sizes span,
.catalogsearch-result-index .products .FTC-ListItem .available-colors .available-sizes span {
    width: auto;
    height: 15px;
    display: inline-block;
    margin-right: 8px;
    font-size: 14px;
    color: #999;
    border: 0 !important;
}

.catalog-category-view .products .FTC-ListItem:hover .available-colors > div {
    opacity: 0;
}

.catalog-category-view .products .FTC-ListItem:hover .available-colors .available-sizes {
    opacity: 1;
}

/* =============================================
   41. PLP GRID HARD FIX
   Prevent single-column fallback when other styles
   force block/float behavior on product items.
   ============================================= */
.catalog-category-view .products.wrapper.products-grid > ol.products.list.items.product-items,
.catalogsearch-result-index .products.wrapper.products-grid > ol.products.list.items.product-items {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 4px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.catalog-category-view .products.wrapper.products-grid > ol.products.list.items.product-items > li.item.product.product-item,
.catalogsearch-result-index .products.wrapper.products-grid > ol.products.list.items.product-items > li.item.product.product-item {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    clear: none !important;
    display: block !important;
}

@media (max-width: 1200px) {
    .catalog-category-view .products.wrapper.products-grid > ol.products.list.items.product-items,
    .catalogsearch-result-index .products.wrapper.products-grid > ol.products.list.items.product-items {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 900px) {
    .catalog-category-view .products.wrapper.products-grid > ol.products.list.items.product-items,
    .catalogsearch-result-index .products.wrapper.products-grid > ol.products.list.items.product-items {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 6px !important;
    }
}

/* Keep sorter in normal flow so it doesn't overlap product cards */
.catalog-category-view .toolbar.toolbar-products,
.catalogsearch-result-index .toolbar.toolbar-products {
    min-height: 44px !important;
    padding: 0 0 10px 0 !important;
}

.catalog-category-view .toolbar.toolbar-products .top-toolbar,
.catalogsearch-result-index .toolbar.toolbar-products .top-toolbar {
    position: static !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    z-index: auto !important;
    display: flex !important;
    justify-content: flex-end !important;
    pointer-events: auto !important;
    margin: 0 15px 0 0 !important;
}

.catalog-category-view .toolbar.toolbar-products .sorting-options,
.catalogsearch-result-index .toolbar.toolbar-products .sorting-options {
    margin-right: 0 !important;
}

/* =============================================
   42. PLP parity fixpack (toolbar/pagination/back-to-top/cms text)
   ============================================= */

/* Keep sorter row in normal flow so it cannot overlap first product row */
.catalog-category-view .toolbar.toolbar-products,
.catalogsearch-result-index .toolbar.toolbar-products {
    position: relative !important;
    min-height: 44px !important;
    padding: 0 0 10px 0 !important;
}

.catalog-category-view .toolbar.toolbar-products .top-toolbar,
.catalogsearch-result-index .toolbar.toolbar-products .top-toolbar {
    position: static !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    z-index: auto !important;
    display: flex !important;
    justify-content: flex-end !important;
    pointer-events: auto !important;
    margin: 0 15px 0 0 !important;
}

.catalog-category-view .toolbar.toolbar-products .bottom-toolbar,
.catalogsearch-result-index .toolbar.toolbar-products .bottom-toolbar {
    display: block !important;
    margin: 26px 0 0 !important;
    text-align: center !important;
}

:root {
    --ftc-backtotop-right: 16px;
    --ftc-backtotop-bottom: 24px;
    --ftc-backtotop-radius: 18px;
    --ftc-backtotop-width: 36px;
    --ftc-backtotop-min-height: 120px;
    --ftc-backtotop-icon-size: 22px;
    --ftc-backtotop-desktop-offset: 30px;
    --ftc-seo-title-size-desktop: 52px;
}

@supports (bottom: max(0px)) {
    :root {
        --ftc-backtotop-right: max(16px, env(safe-area-inset-right));
        --ftc-backtotop-bottom: max(24px, calc(env(safe-area-inset-bottom) + 10px));
    }
}

/* Match original Amasty "MEHR LADEN" button look */
.amscroll-load-button,
.mehr-laden-btn {
    background: #000 !important;
    color: #fff !important;
    opacity: 1 !important;
    padding: 20px 35px !important;
    font-size: 14px !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    font-family: "KorpusGrotesk-B", sans-serif !important;
    transition: all 0.3s ease-in-out !important;
    border: 0 !important;
}

.amscroll-load-button:hover,
.mehr-laden-btn:hover {
    background-color: #a6bb9a !important;
    color: #fff !important;
}

.mehr-laden-btn.is-loading {
    pointer-events: none;
    opacity: 0.85 !important;
}

.amscroll-load-button.-before {
    display: none !important;
}

/* Match original right-edge back-to-top control */
.amscroll-backtotop-block {
    background-color: #a6bb9a !important;
}

.amscroll-backtotop-block.-desktop-arrow,
.amscroll-backtotop-block.-desktop-text,
.amscroll-backtotop-block.-desktop-edge {
    right: var(--ftc-backtotop-right) !important;
    bottom: var(--ftc-backtotop-bottom) !important;
    width: var(--ftc-backtotop-width) !important;
    min-width: var(--ftc-backtotop-width) !important;
    min-height: var(--ftc-backtotop-min-height) !important;
    padding: 6px 4px 8px !important;
    border-radius: var(--ftc-backtotop-radius) !important;
    transform: none !important;
    box-sizing: border-box !important;
    overflow: visible !important;
    margin: 0 !important;
}

/* Fallback styling for custom button markup if Amasty did not inject its own */
.back-to-top-btn {
    position: fixed !important;
    left: auto !important;
    right: var(--ftc-backtotop-right) !important;
    bottom: var(--ftc-backtotop-bottom) !important;
    z-index: 9999 !important;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: var(--ftc-backtotop-width);
    min-width: var(--ftc-backtotop-width);
    max-width: var(--ftc-backtotop-width);
    min-height: var(--ftc-backtotop-min-height);
    padding: 8px 7px 14px;
    border-radius: var(--ftc-backtotop-radius) !important;
    background-color: #a6bb9a !important;
    color: #fff !important;
    transform: none !important;
    transform-origin: center !important;
    cursor: pointer;
    overflow: visible;
    box-sizing: border-box;
}

.back-to-top-btn svg {
    order: 0;
    width: var(--ftc-backtotop-icon-size);
    height: var(--ftc-backtotop-icon-size);
    padding: 4px;
    border: 1px solid currentColor;
    border-radius: 50%;
    transform: none !important;
}

.back-to-top-btn:hover {
    color: #fff !important;
    background-color: #98ad8c !important;
}

.amscroll-backtotop-block .amscroll-text {
    position: relative;
    z-index: 1;
    margin-right: 10px;
    font-family: "KorpusGrotesk-B", sans-serif;
    font-weight: 600;
    font-size: 1.8rem;
    line-height: 2.5rem;
    letter-spacing: 0;
    text-transform: uppercase;
}

.back-to-top-text {
    font-family: "KorpusGrotesk-B", sans-serif;
    font-weight: 600;
    font-size: 8px;
    line-height: 1;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    writing-mode: vertical-rl;
    text-orientation: mixed;
    white-space: nowrap;
}

/* Category CMS SEO text block parity */
.catalog-category-view .category-cms,
.catalogsearch-result-index .category-cms {
    margin: 80px 20px 50px !important;
    padding: 0 !important;
    text-align: left !important;
}

@media (max-width: 1540px) {
    .catalog-category-view .category-cms,
    .catalogsearch-result-index .category-cms {
        padding: 0 20px !important;
    }
}

@media (max-width: 768px) {
    .catalog-category-view .category-cms,
    .catalogsearch-result-index .category-cms {
        padding: 0 40px !important;
    }
}

.catalog-category-view .category-cms h1,
.catalogsearch-result-index .category-cms h1 {
    margin: 0 0 20px !important;
    font-family: "KorpusGrotesk-B", sans-serif !important;
    font-size: var(--ftc-seo-title-size-desktop) !important;
    font-weight: 600 !important;
    line-height: 1.06 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
    color: #111 !important;
    text-align: left !important;
}

@media (max-width: 767px) {
    .catalog-category-view .category-cms h1,
    .catalogsearch-result-index .category-cms h1 {
        font-size: 22px !important;
    }
}

.catalog-category-view .category-cms p,
.catalogsearch-result-index .category-cms p {
    margin: 0 0 10px !important;
    text-align: left !important;
    font-family: "KorpusGrotesk-B", sans-serif !important;
    font-size: 15px !important;
    line-height: 1.5 !important;
    color: #111 !important;
}

/* =====================================================
   43. HEADER/FOOTER PIXEL PARITY — pass 2 (desktop)
   Keep this block at end so it wins over legacy overrides.
   ===================================================== */
@media (min-width: 1025px) {
    /* Non-home (fixed): 189px; homepage (non-fixed): 150px. */
    .ftc-header.fixed {
        min-height: 189px !important;
    }

    .ftc-header.fixed .ftc-header-inner {
        min-height: 189px !important;
        padding-bottom: 0 !important;
    }

    .ftc-header:not(.fixed) {
        min-height: 150px !important;
    }

    .ftc-header:not(.fixed) .ftc-header-inner {
        min-height: 150px !important;
        padding-bottom: 0 !important;
    }

    .ftc-header:not(.fixed) .header-ftc-flex {
        top: -34px !important;
        margin-bottom: 0 !important;
    }

    .ftc-header.fixed .header-ftc-flex {
        top: -34px !important;
        margin-bottom: 0 !important;
    }

    .ftc-header.fixed .ftc-logo {
        top: -5px !important;
    }

    /* Remove inner menu link padding so first-level items match original spacing. */
    .left-nav-section .navigation .mega-nav .mega-nav-item.level-0 > a.mega-nav-link.level-0 {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    /* Keep logo optically centered against original (shift a bit to the left). */
    .ftc-logo a {
        position: relative !important;
        left: -10px !important;
    }

    /* Lock right controls position: avoid media-query drift at 1365px viewport. */
    .ftc-header:not(.fixed) .right-nav-section {
        right: 190px !important;
        top: 15px !important;
        width: 400px !important;
        overflow: visible !important;
    }

    .ftc-header.fixed .right-nav-section {
        right: 190px !important;
        top: 15px !important;
        width: 400px !important;
        overflow: visible !important;
    }

    .ftc-header .ftc-store-switcher {
        line-height: 22.4px !important;
        margin-right: 8px !important;
    }

    .ftc-store-switcher label:first-child {
        padding-left: 19px !important;
    }

    .ftc-store-switcher label:first-child::before {
        width: 13px !important;
        height: 13px !important;
        top: 4px !important;
    }

    .ftc-inline-search {
        margin-left: 0 !important;
        margin-right: 5px !important;
    }

    .ftc-inline-search input[type="text"] {
        width: 185px !important;
        height: 32px !important;
        line-height: 32px !important;
    }

    /*
     * Original Luma places wishlist/minicart controls effectively outside the
     * inline right-nav flow. Keep account in flow, detach wishlist/cart.
     */
    .right-nav-section .ftc-shopcontrol.wishlist,
    .right-nav-section .ftc-shopcontrol.cart {
        position: absolute !important;
        margin-left: 0 !important;
    }

    .right-nav-section .ftc-shopcontrol.wishlist {
        right: -36px !important;
        top: 2px !important;
    }

    .right-nav-section .ftc-shopcontrol.cart {
        right: -77px !important;
        top: 2px !important;
    }

    .right-nav-section .ftc-shopcontrol.account {
        position: relative !important;
        top: 1px !important;
    }

    /* Homepage keeps shorter header block than fixed inner pages. */
    .cms-index-index .ftc-header,
    .cms-index-index .ftc-header.fixed {
        height: 150px !important;
        min-height: 150px !important;
    }

    .cms-index-index .ftc-header .ftc-header-inner {
        height: 150px !important;
        min-height: 150px !important;
        padding-bottom: 0 !important;
    }

    .cms-index-index .ftc-header .ftc-logo {
        top: 25px !important;
    }
}

/* PDP right column: remove extra separator and tighten spacing around size + CTA block. */
.catalog-product-view .ftc-size-row {
    border-bottom: 0 !important;
    padding-top: 9px !important;
    padding-bottom: 6px !important;
}

.catalog-product-view .ftc-size-row .ftc-size-label {
    margin-bottom: 6px !important;
}

.catalog-product-view .ftc-size-row + .ftc-addtocart-row,
.catalog-product-view .ftc-addtocart-row {
    margin-top: 12px !important;
}

/* Match original icon counters (plain number near icon, not green badge bubble). */
.ftc-icon-counter {
    position: relative !important;
    top: 0 !important;
    right: auto !important;
    display: inline !important;
    margin-left: 0 !important;
    min-width: auto !important;
    height: auto !important;
    line-height: 16px !important;
    padding: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #111 !important;
    font-size: 15px !important;
    font-family: "KorpusGrotesk-B", sans-serif !important;
}

.ftc-icon-counter[style*="display: none"] {
    display: none !important;
}

/* Cart counter sits in normal inline flow on original (not flex-item blockification). */
.right-nav-section .ftc-shopcontrol.cart > a,
.right-nav-section .ftc-shopcontrol.cart > button {
    display: inline-block !important;
    vertical-align: top !important;
    line-height: 1 !important;
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    position: relative !important;
    overflow: visible !important;
}

.right-nav-section .ftc-shopcontrol.cart .ftc-icon-counter {
    display: inline !important;
    position: relative !important;
    top: 0 !important;
    left: auto !important;
    right: auto !important;
    margin-left: 0 !important;
    vertical-align: middle !important;
}

/* Use Cookiebot UI only; hide legacy Magento cookie-restriction bar on storefront */
#notice-cookie-block {
    display: none !important;
}

.right-nav-section .ftc-shopcontrol.cart .counter.qty {
    display: inline-block !important;
    position: static !important;
    top: auto !important;
    right: auto !important;
    margin-left: 0 !important;
    line-height: 16px !important;
    min-width: 0 !important;
    vertical-align: middle !important;
}

.right-nav-section .ftc-shopcontrol.cart .counter.qty[style*="display:none"] {
    display: none !important;
}

.right-nav-section .ftc-shopcontrol.cart .ftc-icon {
    display: inline-block !important;
    vertical-align: middle !important;
}

.right-nav-section .ftc-shopcontrol.cart .counter.qty .counter-number {
    position: static !important;
    top: auto !important;
    line-height: 16px !important;
    display: inline !important;
    vertical-align: middle !important;
}

/* Empty wishlist counter node should not reserve/shift any space. */
.ftc-shopcontrol.wishlist .ftc-icon-counter:empty {
    display: none !important;
}

/* Original screenshots do not show this control; keep it disabled for parity. */
#back-to-top,
.back-to-top-btn,
.amscroll-backtotop-block {
    display: none !important;
}

/* =====================================================
   44. PDP CARD PARITY — layout, gallery arrows, thumb rail
   ===================================================== */
@media (min-width: 1025px) {
    :root {
        --ftc-pdp-gallery-height: min(900px, calc(100vh - 190px));
    }

    /* Original PDP starts lower under the header. */
    .catalog-product-view .page-main {
        padding-top: 50px !important;
    }

    /* Match original 60/40 desktop split without extra side paddings/gaps. */
    .catalog-product-view .product-detail-page {
        max-width: none !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        gap: 0 !important;
    }

    .catalog-product-view .product-media-column {
        flex: 0 0 60% !important;
        width: 60% !important;
        min-width: 60% !important;
    }

    .catalog-product-view .product-info-column {
        flex: 0 0 40% !important;
        width: 40% !important;
        min-width: 40% !important;
        padding-top: 52px !important;
    }

    /* Internal paddings follow original offsets in the right column. */
    .catalog-product-view .column.main > .product-info-main {
        padding: 0 !important;
    }

    .catalog-product-view .product-info-column > .product-info-main {
        padding: 10px 116px 3vw 17px !important;
    }

    .catalog-product-view .product-info-main .page-title {
        margin-bottom: 10px !important;
    }

    .catalog-product-view .product-info-stock-sku {
        margin: 4px 0 0 !important;
        padding-bottom: 60px !important;
    }

    /* Gallery visual height and thumb rail geometry (desktop). */
    #gallery-main {
        height: var(--ftc-pdp-gallery-height) !important;
    }

    #gallery > div:not(.gallery-fullscreen-overlay) > div:first-child img,
    #gallery-main > img.invisible:first-child {
        max-height: var(--ftc-pdp-gallery-height) !important;
        height: var(--ftc-pdp-gallery-height) !important;
    }

    #gallery > div:not(.gallery-fullscreen-overlay) > div:nth-child(2),
    #thumbs,
    #thumbs .js_thumbs_slides,
    #thumbs .js_thumbs_slide {
        width: 128px !important;
        min-width: 128px !important;
    }

    #thumbs > button {
        display: none !important;
    }

    /* Arrow style/placement parity with original PDP. */
    #gallery > div:not(.gallery-fullscreen-overlay) .gallery-arrow {
        opacity: 0 !important;
        width: 80px !important;
        height: var(--ftc-pdp-gallery-height) !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        color: #b8bbb6 !important;
        top: 0 !important;
        transform: none !important;
        pointer-events: none !important;
        transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out, background-color 0.3s ease-in-out !important;
    }

    #gallery > div:not(.gallery-fullscreen-overlay) .gallery-arrow-left {
        left: 20px !important;
    }

    #gallery > div:not(.gallery-fullscreen-overlay) > div:first-child:hover .gallery-arrow {
        opacity: 1 !important;
        pointer-events: auto !important;
    }

    #gallery > div:not(.gallery-fullscreen-overlay) .gallery-arrow-right {
        right: 20px !important;
    }

    /*
     * luma-compat.css applies a broad button[aria-label] rule with
     * background: rgba(255,255,255,.7) !important; override it for gallery arrows.
     */
    #gallery > div > div:first-child button.gallery-arrow[aria-label],
    #gallery .relative button.gallery-arrow[aria-label*="revious"],
    #gallery .relative button.gallery-arrow[aria-label*="ext"],
    #gallery .relative button.gallery-arrow.absolute {
        background: transparent !important;
    }

    #gallery > div:not(.gallery-fullscreen-overlay) .gallery-arrow svg {
        width: 40px !important;
        height: 40px !important;
        stroke: #b8bbb6 !important;
        stroke-width: 1.05 !important;
    }

    #gallery > div:not(.gallery-fullscreen-overlay) .gallery-arrow:focus,
    #gallery > div:not(.gallery-fullscreen-overlay) .gallery-arrow:hover {
        outline: none !important;
        background: transparent !important;
        box-shadow: none !important;
    }
}

/* Thumb focus/active border should not become browser-blue. */
.catalog-product-view #thumbs button,
.catalog-product-view #thumbs button:focus,
.catalog-product-view #thumbs button:focus-visible {
    outline: none !important;
    box-shadow: none !important;
}

.catalog-product-view #thumbs button.border-primary {
    border-color: #a9ba9d !important;
    border-width: 2px !important;
}

/* Color label line should match original casing/weight. */
.catalog-product-view .swatch-attribute.color_name .product-option-label {
    text-transform: none !important;
    letter-spacing: 0 !important;
}

.catalog-product-view .swatch-attribute.color_name .product-option-label > span:last-child {
    font-weight: 400 !important;
    text-transform: none !important;
}

/* Size/add-to-cart vertical rhythm parity in product card. */
.catalog-product-view .swatch-attribute.color_name {
    margin-bottom: 10px !important;
}

.catalog-product-view .swatch-attribute.color_name,
.catalog-product-view .swatch-attribute.color {
    border-top: 0 !important;
    border-bottom: 0 !important;
}

.catalog-product-view .swatch-attribute.color_name .swatch-attribute-options,
.catalog-product-view .swatch-attribute.color .swatch-attribute-options {
    margin-bottom: 10px !important;
}

.catalog-product-view .ftc-size-row {
    border-top: 0 !important;
    border-bottom: 0 !important;
    padding-top: 8px !important;
    padding-bottom: 0 !important;
}

.catalog-product-view .ftc-size-row .ftc-size-label {
    margin-bottom: 10px !important;
}

.catalog-product-view .ftc-addtocart-row {
    margin-top: 12px !important;
}

.catalog-product-view #product-addtocart-button {
    height: 50px !important;
    padding-top: 14px !important;
    padding-bottom: 14px !important;
    margin-bottom: 15px !important;
    background: #111111 !important;
    letter-spacing: normal !important;
}

/* Hide full-width success/info bars on PDP to match original behavior. */
.catalog-product-view .page.messages,
.catalog-product-view .messages.container,
.catalog-product-view .messages,
.catalog-product-view .message,
.catalog-product-view .message-success,
.catalog-product-view .message.notice,
.catalog-product-view .message.info,
.catalog-product-view [role="alert"] {
    display: none !important;
}

/* =====================================================
   45. PDP INTERACTIONS PARITY — arrows, zoom, minicart
   ===================================================== */
@media (min-width: 1025px) {
    /* Match original arrow reveal motion: fade + slight slide on gallery hover. */
    #gallery > div:not(.gallery-fullscreen-overlay) .gallery-arrow-left {
        transform: translateX(-10px) !important;
    }

    #gallery > div:not(.gallery-fullscreen-overlay) .gallery-arrow-right {
        transform: translateX(10px) !important;
    }

    #gallery > div:not(.gallery-fullscreen-overlay) > div:first-child:hover .gallery-arrow-left,
    #gallery > div:not(.gallery-fullscreen-overlay) > div:first-child:hover .gallery-arrow-right {
        transform: translateX(0) !important;
    }

    /* Zoom icon should sit inside image bottom-right and appear only on hover. */
    #gallery > div:not(.gallery-fullscreen-overlay) > div:first-child .gallery-zoom {
        right: 20px !important;
        bottom: 24px !important;
        opacity: 0 !important;
        pointer-events: none !important;
        color: #9ea39e !important;
        cursor: zoom-in !important;
        transition: opacity 0.3s ease-in-out !important;
        z-index: 901 !important;
    }

    /*
     * luma-compat.css has a broad button[aria-label] rule that forces 40x60.
     * Keep zoom control square like the original.
     */
    #gallery > div:not(.gallery-fullscreen-overlay) > div:first-child button.gallery-zoom[aria-label],
    #gallery > div:not(.gallery-fullscreen-overlay) > div:first-child .gallery-zoom {
        width: 20px !important;
        min-width: 20px !important;
        max-width: 20px !important;
        height: 20px !important;
        min-height: 20px !important;
        max-height: 20px !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
    }

    #gallery > div:not(.gallery-fullscreen-overlay) > div:first-child .gallery-zoom svg {
        width: 20px !important;
        height: 20px !important;
    }

    #gallery > div:not(.gallery-fullscreen-overlay) > div:first-child:hover .gallery-zoom {
        opacity: 0.4 !important;
        pointer-events: auto !important;
    }

    #gallery > div:not(.gallery-fullscreen-overlay) > div:first-child .gallery-zoom:hover {
        opacity: 0.7 !important;
    }
}

/* =====================================================
   46. MINI CART POPUP PARITY — centered modal like original
   ===================================================== */
#cart-drawer.ftc-cart-drawer {
    position: fixed !important;
    top: 50% !important;
    left: 50% !important;
    right: auto !important;
    bottom: auto !important;
    transform: translateX(-50%) !important;
    width: 750px !important;
    max-width: calc(100vw - 40px) !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #fff !important;
    color: #111 !important;
    overflow: hidden !important;
    box-shadow: 0 20px 64px rgba(0, 0, 0, 0.26) !important;
}

#cart-drawer.ftc-cart-drawer::backdrop {
    background: rgba(0, 0, 0, 0.36) !important;
}

#cart-drawer.ftc-cart-drawer[open] {
    display: block !important;
}

#cart-drawer.ftc-cart-drawer .ftc-cart-modal,
#cart-drawer.ftc-cart-drawer .ftc-cart-empty-modal {
    display: flex !important;
    flex-direction: column !important;
    padding-bottom: 30px !important;
}

#cart-drawer.ftc-cart-drawer .ftc-cart-modal-head {
    display: grid !important;
    grid-template-columns: 1fr auto auto !important;
    align-items: center !important;
    gap: 26px !important;
    padding: 34px 30px 26px !important;
}

#cart-drawer.ftc-cart-drawer .ftc-cart-modal-title {
    margin: 0 !important;
    font-family: "KorpusGrotesk-B", sans-serif !important;
    font-weight: 600 !important;
    font-size: 50px !important;
    line-height: 0.95 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
    color: #111 !important;
}

#cart-drawer.ftc-cart-drawer .ftc-cart-modal-meta {
    display: inline-flex !important;
    align-items: center !important;
    gap: 26px !important;
    white-space: nowrap !important;
    font-family: "KorpusGrotesk-B", sans-serif !important;
    color: #111 !important;
}

#cart-drawer.ftc-cart-drawer .ftc-cart-modal-items {
    font-size: 20px !important;
    line-height: 1 !important;
    font-weight: 400 !important;
    text-transform: uppercase !important;
}

#cart-drawer.ftc-cart-drawer .ftc-cart-modal-subtotal {
    font-size: 20px !important;
    line-height: 1 !important;
    font-weight: 400 !important;
    color: #a9ba9d !important;
}

#cart-drawer.ftc-cart-drawer .ftc-cart-modal-close {
    width: 20px !important;
    height: 20px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: #111 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
}

#cart-drawer.ftc-cart-drawer .ftc-cart-modal-close svg {
    width: 20px !important;
    height: 20px !important;
    stroke-width: 1.4 !important;
}

#cart-drawer.ftc-cart-drawer .ftc-cart-modal-items-list {
    margin: 0 30px !important;
    padding: 0 !important;
    list-style: none !important;
    border-top: 1px solid #ececec !important;
    border-bottom: 1px solid #ececec !important;
    max-height: 255px !important;
    overflow-y: auto !important;
}

#cart-drawer.ftc-cart-drawer .ftc-cart-modal-item {
    display: grid !important;
    grid-template-columns: 70px 1fr !important;
    gap: 14px !important;
    align-items: center !important;
    padding: 12px 0 !important;
}

#cart-drawer.ftc-cart-drawer .ftc-cart-modal-item-image-link {
    display: block !important;
    width: 70px !important;
    height: 70px !important;
}

#cart-drawer.ftc-cart-drawer .ftc-cart-modal-item-image {
    width: 70px !important;
    height: 70px !important;
    object-fit: cover !important;
    display: block !important;
}

#cart-drawer.ftc-cart-drawer .ftc-cart-modal-item-content {
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    grid-template-areas:
        "main right"
        "opts right" !important;
    gap: 8px 18px !important;
    align-items: start !important;
}

#cart-drawer.ftc-cart-drawer .ftc-cart-modal-item-main {
    grid-area: main !important;
}

#cart-drawer.ftc-cart-drawer .ftc-cart-modal-item-name {
    margin: 0 !important;
    font-size: 18px !important;
    line-height: 1 !important;
    font-weight: 500 !important;
    color: #111 !important;
}

#cart-drawer.ftc-cart-drawer .ftc-cart-modal-item-sku {
    margin: 4px 0 0 !important;
    font-size: 12px !important;
    line-height: 1.1 !important;
    font-weight: 400 !important;
    color: #7a7a7a !important;
}

#cart-drawer.ftc-cart-drawer .ftc-cart-modal-item-options {
    grid-area: opts !important;
    margin: 0 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 18px !important;
}

#cart-drawer.ftc-cart-drawer .ftc-cart-modal-item-option {
    display: inline-flex !important;
    align-items: baseline !important;
    gap: 8px !important;
}

#cart-drawer.ftc-cart-drawer .ftc-cart-modal-item-option dt {
    margin: 0 !important;
    font-size: 14px !important;
    line-height: 1 !important;
    color: #a9ba9d !important;
    font-weight: 600 !important;
}

#cart-drawer.ftc-cart-drawer .ftc-cart-modal-item-option dd {
    margin: 0 !important;
    font-size: 14px !important;
    line-height: 1 !important;
    color: #111 !important;
    font-weight: 400 !important;
}

#cart-drawer.ftc-cart-drawer .ftc-cart-modal-item-right {
    grid-area: right !important;
    display: grid !important;
    grid-template-columns: auto auto auto !important;
    align-items: center !important;
    gap: 14px !important;
}

#cart-drawer.ftc-cart-drawer .ftc-cart-modal-item-qty,
#cart-drawer.ftc-cart-drawer .ftc-cart-modal-item-price {
    font-size: 18px !important;
    line-height: 1 !important;
    font-weight: 400 !important;
    color: #111 !important;
}

#cart-drawer.ftc-cart-drawer .ftc-cart-modal-item-remove {
    width: 20px !important;
    height: 20px !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: #a9ba9d !important;
    color: #fff !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    font-size: 24px !important;
    line-height: 1 !important;
    cursor: pointer !important;
    opacity: 1 !important;
    transition: opacity .3s ease !important;
}

#cart-drawer.ftc-cart-drawer .ftc-cart-modal-item-remove:hover {
    opacity: .8 !important;
}

#cart-drawer.ftc-cart-drawer .ftc-cart-modal-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    padding: 30px 30px 0 !important;
}

#cart-drawer.ftc-cart-drawer .ftc-cart-modal-btn {
    height: 70px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-transform: uppercase !important;
    letter-spacing: 0 !important;
    font-size: 15px !important;
    line-height: 1 !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    border: 0 !important;
    transition: opacity .3s ease !important;
}

#cart-drawer.ftc-cart-drawer .ftc-cart-modal-btn-cart {
    background: #a9ba9d !important;
    color: #fff !important;
}

#cart-drawer.ftc-cart-drawer .ftc-cart-modal-btn-checkout {
    background: #111 !important;
    color: #fff !important;
}

#cart-drawer.ftc-cart-drawer .ftc-cart-modal-btn:hover {
    opacity: .8 !important;
}

#cart-drawer.ftc-cart-drawer .ftc-cart-modal-extra,
#cart-drawer.ftc-cart-drawer .items-total,
#cart-drawer.ftc-cart-drawer .message.error {
    display: none !important;
}

#cart-drawer.ftc-cart-drawer .ftc-cart-empty-body {
    padding: 24px 30px 18px !important;
}

#cart-drawer.ftc-cart-drawer .ftc-cart-empty-text {
    margin: 0 !important;
    font-size: 24px !important;
    line-height: 1.3 !important;
    color: #111 !important;
}

#cart-drawer.ftc-cart-drawer .ftc-cart-modal-actions-empty {
    grid-template-columns: 1fr !important;
}

#cart-drawer.ftc-cart-drawer > .z-50.fixed.inset-0 {
    position: absolute !important;
    inset: 0 !important;
}

@media (max-width: 1024px) {
    #cart-drawer.ftc-cart-drawer {
        top: 110px !important;
        left: 0 !important;
        transform: none !important;
        width: 100% !important;
        max-width: 100vw !important;
    }

    #cart-drawer.ftc-cart-drawer .ftc-cart-modal-head {
        padding: 20px 16px 14px !important;
        gap: 14px !important;
    }

    #cart-drawer.ftc-cart-drawer .ftc-cart-modal-title {
        font-size: 30px !important;
    }

    #cart-drawer.ftc-cart-drawer .ftc-cart-modal-items,
    #cart-drawer.ftc-cart-drawer .ftc-cart-modal-subtotal {
        font-size: 16px !important;
    }

    #cart-drawer.ftc-cart-drawer .ftc-cart-modal-items-list {
        margin: 0 16px !important;
    }

    #cart-drawer.ftc-cart-drawer .ftc-cart-modal-item-name {
        font-size: 16px !important;
    }

    #cart-drawer.ftc-cart-drawer .ftc-cart-modal-item-sku,
    #cart-drawer.ftc-cart-drawer .ftc-cart-modal-item-option dt,
    #cart-drawer.ftc-cart-drawer .ftc-cart-modal-item-option dd,
    #cart-drawer.ftc-cart-drawer .ftc-cart-modal-item-qty,
    #cart-drawer.ftc-cart-drawer .ftc-cart-modal-item-price {
        font-size: 12px !important;
    }

    #cart-drawer.ftc-cart-drawer .ftc-cart-modal-actions {
        padding: 16px !important;
    }

    #cart-drawer.ftc-cart-drawer .ftc-cart-modal-btn {
        height: 52px !important;
        font-size: 14px !important;
    }
}

/* =====================================================
   47. PIXEL PASS — checkout/pdp/minicart fine tuning
   ===================================================== */

/* Luma checkout fallback: keep right controls in one line (prevents search jump). */
.checkout-index-index .right-nav-section,
.checkout-cart-index .right-nav-section {
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    width: auto !important;
    min-width: 0 !important;
    gap: 0 !important;
}

.checkout-index-index .right-nav-section .ftc-shopcontrol.search,
.checkout-cart-index .right-nav-section .ftc-shopcontrol.search {
    margin: 0 10px !important;
    float: none !important;
}

.checkout-index-index .right-nav-section .ftc-shopcontrol.search .block-search,
.checkout-cart-index .right-nav-section .ftc-shopcontrol.search .block-search {
    margin: 0 !important;
}

/* Fallback for pages where search block is rendered outside right-nav-section. */
.checkout-index-index .ftc-header > .ftc-header-inner > .block-search,
.checkout-cart-index .ftc-header > .ftc-header-inner > .block-search {
    position: absolute !important;
    top: 84px !important;
    right: 220px !important;
    width: 200px !important;
    margin: 0 !important;
}

/* PDP: accordion plus icon should not stick to right edge. */
.catalog-product-view .product-info-column .ftc-section-title {
    padding-right: 60px !important;
}

.catalog-product-view .product-info-column .ftc-section-title::after {
    right: 52px !important;
}

/* PDP: gallery arrows like original (thin icon, no circular bubble) + reveal on hover. */
.catalog-product-view .gallery-arrow {
    width: 26px !important;
    height: 44px !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #9ea39e !important;
    opacity: 0 !important;
    transition: opacity .25s ease, transform .25s ease !important;
}

.catalog-product-view .gallery-arrow svg {
    width: 26px !important;
    height: 26px !important;
    stroke-width: 1.35 !important;
}

.catalog-product-view .gallery-arrow-left {
    left: -72px !important;
    transform: translate(-8px, -50%) !important;
}

.catalog-product-view .gallery-arrow-right {
    right: -72px !important;
    transform: translate(8px, -50%) !important;
}

.catalog-product-view #gallery-main:hover .gallery-arrow {
    opacity: .9 !important;
}

.catalog-product-view #gallery-main:hover .gallery-arrow-left {
    transform: translate(0, -50%) !important;
}

.catalog-product-view #gallery-main:hover .gallery-arrow-right {
    transform: translate(0, -50%) !important;
}

/* PDP: add-to-cart button visual size closer to original baseline. */
.catalog-product-view #product-addtocart-button {
    height: 56px !important;
    padding-top: 16px !important;
    padding-bottom: 16px !important;
}

/* Mini-cart popup: move above center and preserve bottom breathing room like original. */
#cart-drawer.ftc-cart-drawer {
    top: 39% !important;
    transform: translateX(-50%) !important;
}

#cart-drawer.ftc-cart-drawer .ftc-cart-modal,
#cart-drawer.ftc-cart-drawer .ftc-cart-empty-modal {
    padding-bottom: 34px !important;
}

@media (max-width: 1024px) {
    .catalog-product-view .product-info-column .ftc-section-title {
        padding-right: 48px !important;
    }

    .catalog-product-view .product-info-column .ftc-section-title::after {
        right: 36px !important;
    }

    .catalog-product-view .gallery-arrow-left {
        left: -8px !important;
        transform: translate(-4px, -50%) !important;
    }

    .catalog-product-view .gallery-arrow-right {
        right: -8px !important;
        transform: translate(4px, -50%) !important;
    }
}

/* =====================================================
   48. MOBILE PARITY PASS — header controls + footer stack
   ===================================================== */
@media (max-width: 768px) {
    /* HOME / HYVA HEADER: restore mobile controls row and search row */
    #header.ftc-header,
    #header .ftc-header-inner {
        min-height: 124px !important;
    }

    #header .ftc-header-inner {
        display: block !important;
        position: relative !important;
        padding: 0 10px 8px !important;
        max-width: none !important;
    }

    #header .ftc-logo {
        position: absolute !important;
        top: 6px !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        margin: 0 !important;
        padding: 0 !important;
        z-index: 4 !important;
    }

    #header .ftc-logo img {
        height: 42px !important;
        width: auto !important;
        max-width: none !important;
    }

    #header .header-ftc-flex {
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        margin: 0 !important;
        width: 100% !important;
        min-height: 40px !important;
        padding-top: 12px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
    }

    #header .left-nav-section {
        display: block !important;
        width: auto !important;
        flex: 0 0 auto !important;
        position: relative !important;
        z-index: 5 !important;
    }

    #header .left-nav-section nav,
    #header .left-nav-section [data-nav-desktop],
    #header .left-nav-section .mega-nav,
    #header .left-nav-section .navigation .z-20.navigation {
        display: none !important;
    }

    #header .left-nav-section button[aria-label*="Open"] {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-width: 28px !important;
        min-height: 28px !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
    }

    #header .right-nav-section {
        position: static !important;
        left: auto !important;
        right: auto !important;
        top: auto !important;
        width: auto !important;
        margin-left: auto !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 8px !important;
        overflow: visible !important;
        z-index: 5 !important;
    }

    #header .ftc-store-switcher {
        display: inline-flex !important;
        align-items: center !important;
        margin-right: 0 !important;
        font-size: 16px !important;
    }

    #header .ftc-shopcontrol {
        margin-left: 0 !important;
    }

    #header .ftc-shopcontrol .ftc-icon {
        width: auto !important;
        height: 20px !important;
    }

    #header .ftc-inline-search {
        display: block !important;
        position: absolute !important;
        left: 0 !important;
        right: 0 !important;
        top: 44px !important;
        width: auto !important;
        margin: 0 !important;
        z-index: 4 !important;
    }

    #header .ftc-inline-search form {
        display: block !important;
        position: relative !important;
    }

    #header .ftc-inline-search input[type="text"] {
        width: 100% !important;
        height: 30px !important;
        line-height: 30px !important;
        padding: 0 34px 0 10px !important;
        background: #f8f8f8 !important;
    }

    #header .ftc-inline-search button[type="submit"] {
        right: 8px !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
    }

#header .ftc-shopcontrol.cart .counter.qty {
    display: inline-block !important;
    margin-left: 2px !important;
}

    #header header.msg {
        margin-bottom: 4px !important;
    }

    /* FOOTER: one section per row, no text overlap */
    .page-footer {
        padding: 0 !important;
    }

    .page-footer .area,
    .page-footer .links.area,
    .page-footer .methods.area {
        padding: 0 !important;
        overflow: visible !important;
    }

    .page-footer .area .section,
    .page-footer .links.area .section,
    .page-footer .methods.area .section {
        float: none !important;
        clear: both !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        border-top: 1px solid #e0e0e0 !important;
        max-height: 56px !important;
        overflow: hidden !important;
    }

    .page-footer .area .section.open,
    .page-footer .links.area .section.open,
    .page-footer .methods.area .section.open {
        max-height: 420px !important;
    }

    .page-footer .area .section.contact {
        border-top: 0 !important;
    }

    .page-footer .area .section h3,
    .page-footer .links.area .section h3,
    .page-footer .methods.area .section h3 {
        white-space: nowrap !important;
        margin: 14px 0 !important;
    }

    .page-footer .area .section .column,
    .page-footer .information.section .first.column,
    .page-footer .information.section .second.column {
        float: none !important;
        width: 100% !important;
    }

    .page-footer .area.bottom .legal,
    .page-footer .bottom.area .legal {
        float: none !important;
        width: 100% !important;
        text-align: center !important;
    }

    .page-footer .area.bottom .social,
    .page-footer .bottom.area .social {
        float: none !important;
        width: 100% !important;
        margin: 10px auto 0 !important;
        text-align: center !important;
    }

.page-footer .social .icon {
    margin: 0 6px !important;
}
}

/* Keep HOME menu item active underline on homepage + living category pages. */
.cms-index-index .left-nav-section .mega-nav .mega-nav-link.level-0[href*="/living.html"],
.catalog-category-view.categorypath-living .left-nav-section .mega-nav .mega-nav-link.level-0[href*="/living.html"] {
    border-bottom: 1px solid #111 !important;
    padding-bottom: 1px !important;
}

/* =====================================================
   49. CHECKOUT/CART PARITY PASS — Luma fallback
   ===================================================== */

/* Header counters on cart/checkout should sit on baseline (no vertical jump). */
.checkout-index-index .ftc-header .right-nav-section .ftc-shopcontrol.cart .counter.qty,
.checkout-cart-index .ftc-header .right-nav-section .ftc-shopcontrol.cart .counter.qty,
.checkout-index-index .ftc-header .right-nav-section .ftc-shopcontrol.wishlist .counter.qty,
.checkout-cart-index .ftc-header .right-nav-section .ftc-shopcontrol.wishlist .counter.qty {
    position: static !important;
    top: 0 !important;
    right: auto !important;
    margin-left: 0 !important;
    line-height: 18px !important;
    vertical-align: top !important;
}

.checkout-index-index .ftc-header .right-nav-section .ftc-shopcontrol .ftc-icon-counter,
.checkout-cart-index .ftc-header .right-nav-section .ftc-shopcontrol .ftc-icon-counter {
    top: 0 !important;
    line-height: 18px !important;
}

/* Mini-cart should behave like original overlay + lower-positioned white modal. */
#cart-drawer.ftc-cart-drawer {
    position: fixed !important;
    inset: 0 !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100vw !important;
    max-width: none !important;
    height: 100vh !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: rgba(0, 0, 0, 0.35) !important;
    box-shadow: none !important;
    overflow: auto !important;
    transform: none !important;
}

#cart-drawer.ftc-cart-drawer::backdrop {
    background: transparent !important;
}

#cart-drawer.ftc-cart-drawer .ftc-cart-modal,
#cart-drawer.ftc-cart-drawer .ftc-cart-empty-modal {
    width: 750px !important;
    max-width: calc(100vw - 40px) !important;
    margin: 50vh auto 34px !important;
    background: #fff !important;
}

#cart-drawer.ftc-cart-drawer .ftc-cart-modal-head {
    padding-top: 30px !important;
}

#cart-drawer.ftc-cart-drawer .ftc-cart-modal-items-list {
    margin-top: 20px !important;
}

@media (max-width: 1024px) {
    #cart-drawer.ftc-cart-drawer .ftc-cart-modal,
    #cart-drawer.ftc-cart-drawer .ftc-cart-empty-modal {
        width: 100% !important;
        max-width: 100vw !important;
        margin: 110px 0 0 !important;
        min-height: calc(100vh - 110px) !important;
    }
}

/* Cart page geometry and controls. */
.checkout-cart-index .page-main {
    max-width: 1540px !important;
    margin: 0 auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.checkout-cart-index .page-main h1.page-title {
    padding: 0 0 15px !important;
    margin: 0 !important;
}

.checkout-cart-index .page-main h1.page-title > span {
    font-family: "Korpus-B", serif !important;
    font-size: 50px !important;
    line-height: 1 !important;
    font-weight: 400 !important;
    text-transform: uppercase !important;
}

.checkout-cart-index .towishlist,
.checkout-cart-index .table-caption,
.checkout-cart-index #block-shipping,
.checkout-cart-index .action.multicheckout,
.checkout-cart-index button.action.update {
    display: none !important;
}

.checkout-cart-index .cart-container {
    overflow: hidden !important;
}

.checkout-cart-index .cart-container .form.form-cart {
    float: left !important;
    width: calc(100% - 430px) !important;
    padding-right: 20px !important;
}

.checkout-cart-index .cart-container .cart-summary {
    float: right !important;
    width: 400px !important;
    padding: 10px 30px 30px !important;
    background: #f8f8f8 !important;
    margin-top: 0 !important;
}

.checkout-cart-index .cart-container .cart-summary .title {
    position: absolute !important;
    top: -70px !important;
    left: 0 !important;
    font-family: "Korpus-B", serif !important;
    font-size: 30px !important;
    font-weight: 400 !important;
}

.checkout-cart-index #shopping-cart-table thead {
    background: #f8f8f8 !important;
}

.checkout-cart-index #shopping-cart-table thead .col {
    border-bottom: 0 !important;
    padding: 5px 0 !important;
    font-weight: 400 !important;
}

.checkout-cart-index #shopping-cart-table thead .col.item {
    padding-left: 10px !important;
}

.checkout-cart-index #shopping-cart-table .cart.item .product-item-photo {
    width: 120px !important;
    padding: 0 !important;
}

.checkout-cart-index #shopping-cart-table .cart.item .product-image-wrapper {
    width: 120px !important;
    height: 120px !important;
    background: #f8f8f8 !important;
}

.checkout-cart-index #shopping-cart-table .cart.item .product-image-photo {
    width: 100px !important;
    height: 100px !important;
    margin: 10px !important;
    mix-blend-mode: multiply !important;
}

.checkout-cart-index #shopping-cart-table .cart.item .product-item-name {
    margin: 10px 0 0 !important;
    font-size: 18px !important;
    line-height: 1 !important;
    font-weight: 400 !important;
    opacity: 0.8 !important;
}

.checkout-cart-index #shopping-cart-table .cart.item .product-item-sku {
    display: inline-block !important;
    margin: 0 0 20px !important;
    font-size: 12px !important;
}

.checkout-cart-index #shopping-cart-table .cart.item .item-options .values .label {
    font-family: "Korpus-B", serif !important;
    font-size: 14px !important;
    margin-right: 20px !important;
    font-weight: 400 !important;
}

.checkout-cart-index #shopping-cart-table .cart.item .col.qty {
    position: relative !important;
    width: 110px !important;
    padding-top: 55px !important;
}

.checkout-cart-index #shopping-cart-table .cart.item .col.qty input {
    width: 110px !important;
    height: 40px !important;
    border: 1px solid #111 !important;
    font-size: 16px !important;
    text-align: center !important;
}

.checkout-cart-index #shopping-cart-table .cart.item .col.qty .change-qty {
    position: absolute !important;
    top: -4px !important;
    font-size: 24px !important;
    opacity: 0.7 !important;
}

.checkout-cart-index #shopping-cart-table .cart.item .col.qty .change-qty.minus {
    right: 85px !important;
}

.checkout-cart-index #shopping-cart-table .cart.item .col.qty .change-qty.plus {
    right: 15px !important;
}

.checkout-cart-index #shopping-cart-table .cart.item .col.price {
    padding: 20px 0 0 40px !important;
}

.checkout-cart-index #shopping-cart-table .cart.item .col.price .price,
.checkout-cart-index #shopping-cart-table .cart.item .col.subtotal .price {
    display: block !important;
    padding-top: 40px !important;
    font-size: 18px !important;
    line-height: 1 !important;
    font-weight: 400 !important;
    color: #ad8b70 !important;
}

.checkout-cart-index #shopping-cart-table .cart.item .col.subtotal {
    position: relative !important;
    padding: 20px 100px 0 0 !important;
}

.checkout-cart-index #shopping-cart-table .cart.item .col.subtotal .action-delete {
    position: absolute !important;
    width: 20px !important;
    height: 20px !important;
    top: 60px !important;
    right: 0 !important;
}

.checkout-cart-index #shopping-cart-table .cart.item .col.subtotal .action-delete:before {
    content: "-" !important;
    display: block !important;
    width: 20px !important;
    height: 20px !important;
    border-radius: 50% !important;
    background: #a9ba9d !important;
    font-family: "KorpusGrotesk-B", sans-serif !important;
    font-size: 24px !important;
    line-height: 20px !important;
    text-align: center !important;
    color: #fff !important;
}

.checkout-cart-index .cart-summary .totals th,
.checkout-cart-index .cart-summary .totals td {
    padding: 10px 0 0 !important;
    font-weight: 400 !important;
}

.checkout-cart-index .cart-summary button.action.primary.checkout {
    height: 70px !important;
    margin-top: 15px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #111 !important;
    text-transform: uppercase !important;
    font-size: 15px !important;
    font-weight: 400 !important;
}

.checkout-cart-index .cart-discount {
    max-width: 500px !important;
    padding-right: 0 !important;
}

.checkout-cart-index .cart-discount #block-discount .title:after {
    display: none !important;
}

.checkout-cart-index .cart-discount #block-discount .content {
    display: block !important;
}

.checkout-cart-index .cart-discount .action.apply.primary {
    height: 42px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #111 !important;
    text-transform: uppercase !important;
    font-size: 15px !important;
}

/* Checkout login/register stepper and first step columns. */
.checkout-index-index .column.main {
    max-width: 1540px !important;
    margin: 0 auto !important;
    counter-reset: ftc-checkout-steps !important;
}

.checkout-index-index .column.main .opc-progress-bar {
    position: relative !important;
    width: fit-content !important;
    margin: 50px auto 25px !important;
    text-align: center !important;
}

.checkout-index-index .column.main .opc-progress-bar:before {
    content: "" !important;
    position: absolute !important;
    width: 700px !important;
    height: 2px !important;
    top: calc(50% - 35px) !important;
    left: 20px !important;
    background: #f8f8f8 !important;
}

.checkout-index-index .column.main .opc-progress-bar .opc-progress-bar-item {
    position: relative !important;
    width: 70px !important;
    height: 70px !important;
    margin: 0 100px 50px 0 !important;
}

.checkout-index-index .column.main .opc-progress-bar .opc-progress-bar-item:last-child {
    margin-right: 0 !important;
}

.checkout-index-index .column.main .opc-progress-bar .opc-progress-bar-item > span {
    position: absolute !important;
    inset: 0 !important;
    padding-top: 60px !important;
    font-size: 14px !important;
    line-height: 1 !important;
    font-weight: 400 !important;
    color: #111 !important;
    text-align: center !important;
}

.checkout-index-index .column.main .opc-progress-bar .opc-progress-bar-item > span:before {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: 10px !important;
    width: 50px !important;
    height: 50px !important;
    border-radius: 50% !important;
    background: #f8f8f8 !important;
}

.checkout-index-index .column.main .opc-progress-bar .opc-progress-bar-item > span:after {
    content: counter(ftc-checkout-steps) !important;
    counter-increment: ftc-checkout-steps !important;
    position: absolute !important;
    top: 0 !important;
    left: 10px !important;
    width: 50px !important;
    height: 50px !important;
    font-family: "Korpus-B", serif !important;
    font-size: 18px !important;
    line-height: 50px !important;
    color: #111 !important;
    text-align: center !important;
}

.checkout-index-index .column.main .opc-progress-bar .opc-progress-bar-item._active > span:before {
    background: #ad8b70 !important;
}

.checkout-index-index .column.main .opc-progress-bar .opc-progress-bar-item._active > span:after {
    color: #fff !important;
}

.checkout-index-index .column.main .opc-wrapper .login-container {
    float: left !important;
    width: calc(100% / 3 * 2) !important;
    padding-right: 40px !important;
}

.checkout-index-index .column.main .opc-wrapper .guest {
    float: left !important;
    width: calc(100% / 3) !important;
    max-width: 473px !important;
}

.checkout-index-index .column.main .opc-wrapper .block-title {
    display: block !important;
    height: 60px !important;
    margin: 0 !important;
    padding: 15px 20px !important;
    border: 0 !important;
    background: #f8f8f8 !important;
    font-size: 24px !important;
    font-weight: 400 !important;
}

.checkout-index-index .column.main .opc-wrapper .block-content {
    padding: 0 20px 20px !important;
}

.checkout-index-index .column.main .opc-wrapper .field .control input:not([type="checkbox"]):not([type="radio"]),
.checkout-index-index .column.main .opc-wrapper .field .control select {
    width: 100% !important;
    height: 40px !important;
    margin: 0 0 10px !important;
    border: 1px solid #111 !important;
    font-size: 20px !important;
}

.checkout-index-index .column.main .opc-wrapper .actions-toolbar {
    margin: 0 !important;
    padding-top: 50px !important;
}

.checkout-index-index .column.main .opc-wrapper .actions-toolbar .primary .action.primary {
    width: 100% !important;
    height: 70px !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #111 !important;
    text-transform: uppercase !important;
    font-size: 15px !important;
    font-weight: 400 !important;
}

@media (max-width: 1440px) {
    .checkout-cart-index .cart-container .form.form-cart {
        width: 100% !important;
        float: none !important;
        padding: 0 20px !important;
    }

    .checkout-cart-index .cart-container .cart-summary {
        float: left !important;
        width: calc(100% - 40px) !important;
        margin: 0 20px 20px !important;
    }

    .checkout-cart-index .cart-container .cart-summary .title {
        display: none !important;
    }
}

@media (max-width: 1024px) {
    .checkout-index-index .column.main .opc-progress-bar:before {
        width: 300px !important;
        top: 25px !important;
    }

    .checkout-index-index .column.main .opc-progress-bar .opc-progress-bar-item {
        float: left !important;
        height: 150px !important;
        margin: 0 !important;
    }

    .checkout-index-index .column.main .opc-progress-bar .opc-progress-bar-item > span {
        padding-top: 75px !important;
    }

    .checkout-index-index .column.main .opc-progress-bar .opc-progress-bar-item > span:before,
    .checkout-index-index .column.main .opc-progress-bar .opc-progress-bar-item > span:after {
        left: 50% !important;
        margin-left: -25px !important;
    }

    .checkout-index-index .column.main .opc-wrapper .login-container,
    .checkout-index-index .column.main .opc-wrapper .guest {
        width: 100% !important;
        max-width: none !important;
        padding-right: 0 !important;
    }

    .checkout-index-index .column.main .opc-wrapper .guest {
        margin-top: 80px !important;
    }

    .checkout-cart-index .page-main h1.page-title {
        padding: 10px 25px 15px !important;
    }

    .checkout-cart-index #shopping-cart-table .cart.item .col.qty {
        position: absolute !important;
        top: 90px !important;
        left: 15px !important;
    }

    .checkout-cart-index #shopping-cart-table .cart.item .col.qty .change-qty.minus {
        right: auto !important;
        left: 15px !important;
    }

    .checkout-cart-index #shopping-cart-table .cart.item .col.qty .change-qty.plus {
        right: auto !important;
        left: 80px !important;
    }

    .checkout-cart-index #shopping-cart-table .cart.item .col.subtotal .action-delete {
        top: 5px !important;
        left: 300px !important;
        right: auto !important;
    }
}

/* Cart email modal parity (guest prompt on cart page). */
.ftc-cart-email-modal {
    position: fixed !important;
    inset: 0 !important;
    display: none !important;
    align-items: flex-start !important;
    justify-content: center !important;
    background: rgba(0, 0, 0, 0.35) !important;
    z-index: 10020 !important;
    padding-top: 110px !important;
}

.ftc-cart-email-modal.is-open {
    display: flex !important;
}

.ftc-cart-email-modal__dialog {
    position: relative !important;
    width: 560px !important;
    max-width: calc(100vw - 24px) !important;
    border-radius: 32px !important;
    background: #fff !important;
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.28) !important;
    padding: 24px 28px 34px !important;
}

.ftc-cart-email-modal__close {
    position: absolute !important;
    top: 12px !important;
    right: 16px !important;
    border: 0 !important;
    background: transparent !important;
    color: #8a8a8a !important;
    font-size: 22px !important;
    line-height: 1 !important;
    cursor: pointer !important;
}

.ftc-cart-email-modal__title {
    margin: 0 !important;
    padding-bottom: 10px !important;
    font-size: 46px !important;
    line-height: 1 !important;
    text-align: center !important;
    font-family: "Korpus-B", serif !important;
    font-weight: 400 !important;
}

.ftc-cart-email-modal__divider {
    width: 100% !important;
    height: 1px !important;
    background: #dedede !important;
    margin-bottom: 24px !important;
}

.ftc-cart-email-modal__label {
    display: block !important;
    margin: 0 0 10px !important;
    font-size: 18px !important;
    font-weight: 400 !important;
    color: #111 !important;
}

.ftc-cart-email-modal__input {
    width: 100% !important;
    height: 42px !important;
    border: 1px solid #d0d0d0 !important;
    padding: 0 12px !important;
    font-size: 16px !important;
    margin-bottom: 16px !important;
}

.ftc-cart-email-modal__submit {
    display: block !important;
    margin: 0 auto !important;
    min-width: 110px !important;
    height: 42px !important;
    padding: 0 16px !important;
    border: 0 !important;
    border-radius: 6px !important;
    background: #2f7ac6 !important;
    color: #fff !important;
    font-size: 22px !important;
    line-height: 1 !important;
    cursor: pointer !important;
}

@media (max-width: 768px) {
    .ftc-cart-email-modal {
        padding-top: 72px !important;
    }

    .ftc-cart-email-modal__dialog {
        border-radius: 20px !important;
        padding: 18px 16px 24px !important;
    }

    .ftc-cart-email-modal__title {
        font-size: 34px !important;
    }
}

/* =====================================================
   50. HOMEPAGE PRODUCT WIDGET GRID PARITY
   ===================================================== */
/* Constrain homepage product rows to original desktop container. */
.cms-index-index .block.widget.block-products-list {
    max-width: 1540px !important;
    margin: 0 auto 50px !important;
}

.cms-index-index .block.widget.block-products-list:last-of-type {
    margin-bottom: 0 !important;
}

.cms-index-index .block.widget.block-products-list .products-grid.grid,
.cms-index-index .block.widget.block-products-list .block-content {
    display: block !important;
    width: 100% !important;
    overflow: hidden !important;
}

.cms-index-index .block.widget.block-products-list .product-items.widget-product-grid {
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    flex-wrap: nowrap !important;
    gap: 10px !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    white-space: normal !important;
    overflow-x: hidden !important;
    overflow-y: visible !important;
}

.cms-index-index .block.widget.block-products-list .product-items.widget-product-grid > .product-item {
    flex: 0 0 200px !important;
    width: 200px !important;
    min-width: 200px !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
}

/* Normalize both homepage rows to original card geometry. */
.cms-index-index .block.widget.block-products-list .product-item .product-item-photo,
.cms-index-index .block.widget.block-products-list .product-item .product.photo {
    display: block !important;
    width: 100% !important;
    height: 262.7px !important;
}

.cms-index-index .block.widget.block-products-list .product-item .product-image-container,
.cms-index-index .block.widget.block-products-list .product-item .product-image-wrapper {
    width: 100% !important;
    height: 262.7px !important;
    min-height: 262.7px !important;
    padding-bottom: 0 !important;
}

.cms-index-index .block.widget.block-products-list .product-item .product-image-photo {
    width: 100% !important;
    height: 262.7px !important;
    object-fit: fill !important;
}

.cms-index-index .block.widget.block-products-list .product-item .product-item-details {
    min-height: 88px !important;
    max-height: 88px !important;
    padding-top: 0 !important;
    overflow: hidden !important;
}

.cms-index-index .block.widget.block-products-list .product-item .available-colors {
    min-height: 18px !important;
    max-height: 18px !important;
    margin-top: 2px !important;
    overflow: hidden !important;
}

.cms-index-index .block.widget.block-products-list .product-item .quick-view,
.cms-index-index .block.widget.block-products-list .product-item .product-actions,
.cms-index-index .block.widget.block-products-list .product-item .actions-primary,
.cms-index-index .block.widget.block-products-list .product-item .actions-primary form,
.cms-index-index .block.widget.block-products-list .product-item .actions-primary .action.tocart {
    display: none !important;
}
/* Wishlist on home product cards: show (parity with original).
   actions-secondary contains wishlist + compare links; allow only wishlist to render. */
.cms-index-index .block.widget.block-products-list .product-item .actions-secondary {
    display: block !important;
    position: static !important;
}
.cms-index-index .block.widget.block-products-list .product-item .actions-secondary > a.action.tocompare {
    display: none !important;
}

.cms-index-index .block.widget.block-products-list .product-items .product-item.slick-cloned,
.cms-index-index .block.widget.block-products-list .product-items .product-item.cloned {
    display: none !important;
}

@media (max-width: 1024px) {
    .cms-index-index .block.widget.block-products-list .product-items.widget-product-grid {
        overflow-x: auto !important;
        overflow-y: hidden !important;
        scrollbar-width: none !important;
        -ms-overflow-style: none !important;
    }

    .cms-index-index .block.widget.block-products-list .product-items.widget-product-grid::-webkit-scrollbar {
        display: none !important;
    }
}

/* =====================================================
   51. CHECKOUT RUNTIME STABILIZATION (priority overrides)
   ===================================================== */
/* Checkout/cart should use inline header search only (prevents floating fallback search row). */
.checkout-index-index .ftc-search-overlay,
.checkout-cart-index .ftc-search-overlay,
.checkout-index-index .ftc-header .block-search,
.checkout-cart-index .ftc-header .block-search {
    display: none !important;
}

.checkout-index-index .ftc-header .right-nav-section,
.checkout-cart-index .ftc-header .right-nav-section {
    width: auto !important;
    min-width: 400px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 0 !important;
}

.checkout-index-index .ftc-header .ftc-inline-search,
.checkout-cart-index .ftc-header .ftc-inline-search {
    display: block !important;
    margin: 0 10px 0 12px !important;
}

.checkout-index-index .ftc-header .ftc-inline-search form,
.checkout-cart-index .ftc-header .ftc-inline-search form {
    width: 200px !important;
    height: 38px !important;
}

/* Cart and wishlist counters: keep baseline alignment (no vertical jump after add-to-cart). */
.checkout-index-index .ftc-header .right-nav-section .counter.qty,
.checkout-cart-index .ftc-header .right-nav-section .counter.qty {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    transform: none !important;
    display: inline-flex !important;
    align-items: center !important;
    vertical-align: middle !important;
    margin-left: 1px !important;
}

.checkout-index-index .ftc-header .right-nav-section .counter.qty .counter-number,
.checkout-cart-index .ftc-header .right-nav-section .counter.qty .counter-number {
    position: static !important;
    top: auto !important;
    line-height: 1 !important;
}

/* Minicart modal should open lower, with visible breathing room under modal like original. */
#cart-drawer.ftc-cart-drawer {
    background: rgba(0, 0, 0, 0.36) !important;
}

#cart-drawer.ftc-cart-drawer .ftc-cart-modal,
#cart-drawer.ftc-cart-drawer .ftc-cart-empty-modal {
    margin: 50vh auto 48px !important;
    padding-bottom: 34px !important;
}

@media (max-height: 900px) {
    #cart-drawer.ftc-cart-drawer .ftc-cart-modal,
    #cart-drawer.ftc-cart-drawer .ftc-cart-empty-modal {
        margin-top: 44vh !important;
    }
}

@media (max-width: 1024px) {
    #cart-drawer.ftc-cart-drawer .ftc-cart-modal,
    #cart-drawer.ftc-cart-drawer .ftc-cart-empty-modal {
        margin: 96px 0 20px !important;
    }
}

/* =====================================================
   52. CATEGORY/HOME TOP-FOLD PARITY
   ===================================================== */
/* Homepage logo vertical alignment should match original and stay fully visible. */
.cms-index-index .ftc-header .ftc-logo,
.cms-index-index .ftc-header.fixed .ftc-logo {
    top: -5px !important;
}

/* Damen/Herren originals do not show a big hero image between intro text and toolbar. */
.catalog-category-view.categorypath-damen .category-cms .ftc-image-block,
.catalog-category-view.categorypath-herren .category-cms .ftc-image-block,
.catalog-category-view.categorypath-damen .category-cms .ftc-image,
.catalog-category-view.categorypath-herren .category-cms .ftc-image,
.catalog-category-view.categorypath-damen .category-description .ftc-image-block,
.catalog-category-view.categorypath-herren .category-description .ftc-image-block,
.catalog-category-view.categorypath-damen .category-description .ftc-image,
.catalog-category-view.categorypath-herren .category-description .ftc-image {
    display: none !important;
}

.catalog-category-view.categorypath-damen .category-cms,
.catalog-category-view.categorypath-herren .category-cms,
.catalog-category-view.categorypath-damen .category-description,
.catalog-category-view.categorypath-herren .category-description {
    padding-bottom: 0 !important;
    margin-bottom: 55px !important;
}

/* Desktop header search width should match original (200px) on catalog/home pages. */
@media (min-width: 769px) {
    .cms-index-index .ftc-inline-search form,
    .catalog-category-view .ftc-inline-search form,
    .catalog-product-view .ftc-inline-search form,
    .cms-index-index .ftc-inline-search input[type="text"],
    .catalog-category-view .ftc-inline-search input[type="text"],
    .catalog-product-view .ftc-inline-search input[type="text"] {
        width: 200px !important;
    }
}

/* Damen/Herren intro copy block height/spacing parity after hero-image suppression. */
.catalog-category-view.categorypath-damen .category-description,
.catalog-category-view.categorypath-herren .category-description {
    min-height: 60px !important;
    line-height: 1.35 !important;
}

.catalog-category-view.categorypath-damen .category-description p,
.catalog-category-view.categorypath-herren .category-description p {
    margin: 0 !important;
}

.catalog-category-view.categorypath-damen .category-description p:last-child,
.catalog-category-view.categorypath-herren .category-description p:last-child {
    margin-bottom: 0 !important;
}

/* Original desktop keeps product count visible on Damen/Herren category toolbars. */
.catalog-category-view.categorypath-damen .toolbar .toolbar-amount,
.catalog-category-view.categorypath-herren .toolbar .toolbar-amount {
    display: block !important;
}

/* Living/Home category keeps hero image block; match original block width and spacing. */
.catalog-category-view.categorypath-living .category-description {
    margin-bottom: 70px !important;
}

.catalog-category-view.categorypath-living .category-description .ftc-image-block,
.catalog-category-view.categorypath-living .category-description .ftc-image-block .ftc-item,
.catalog-category-view.categorypath-living .category-description .ftc-image-block .ftc-image {
    width: 900px !important;
    max-width: 900px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.catalog-category-view.categorypath-living .category-description .ftc-image-block {
    margin-top: 39px !important;
}

@media (min-width: 1025px) {
    .catalog-category-view.categorypath-living .category-description .ftc-image-block {
        transform: translateX(-10px) !important;
    }
}

/* =====================================================
   13. PARITY FIXES 2026-04-24 (pixel verified vs original)
   © BuyReadySite.com
   Sources: getComputedStyle on shop.ftc-cashmere.com
   ===================================================== */

/* Home/PLP product card image: original is 200x263 object-fit:fill, full card width.
   Hyva default centers a smaller 180px img with object-fit:cover (crops).
   Use html-prefixed + multi-class selector to beat Tailwind utility (object-cover) specificity. */
html body .product-item img.product-image-photo,
html body .product-item .product-image-container img,
html body .product-item-info img.product-image-photo,
html body .product-item span.product-image-container img,
html body .product-item span.product-image-wrapper img,
html body .product-item img[class*="object-cover"],
html body .product-item img[class*="object-contain"] {
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    object-fit: fill !important;
    object-position: 50% 50% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    position: absolute !important;
    top: 0 !important; left: 0 !important;
}
.product-item span.product-image-container {
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
}
.product-item span.product-image-wrapper {
    width: 100% !important;
    display: block !important;
    position: relative !important;
}
.product-item .product-image-container,
.product-item .product-image-wrapper {
    width: 100% !important;
    padding: 0 !important;
}

/* Product card spacing: zero internal padding around image so image fills card edge-to-edge like original. */
.product-item .product-item-info {
    background: transparent !important;
    padding: 0 !important;
}
.product-item a.product-item-photo,
.product-item a.product.photo,
.product-item a.product-photo {
    display: block !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
}

/* Logo in page-header: prevent negative-y crop on PDP (was y=-5 vs y=25 on home). */
header.page-header .logo,
header.page-header a.logo {
    align-self: center;
}
header.page-header img[src*="logo" i] {
    max-height: 103px;
    object-fit: contain;
    object-position: center;
    margin: 0 auto;
}

/* Wishlist icon on home/PLP product cards: original has it absolute top:10/right:10 inside card.
   Real markup uses both `to-wishlist` (PLP list.phtml) and `towishlist` (CatalogWidget) class spellings.
   Inject heart SVG via background. */
.products-grid .product-item,
.product-items .product-item,
.product-item .product-item-info,
.product-item .wishlit-container {
    position: relative;
}
.product-item a.to-wishlist,
.product-item a.towishlist,
.product-item a.action.to-wishlist,
.product-item a.action.towishlist,
.product-item-details a.towishlist,
.product-item-details a.to-wishlist,
.product-item .actions-secondary > a.action.towishlist {
    display: inline-block !important;
    position: absolute !important;
    top: 10px !important;
    right: 10px !important;
    left: auto !important;
    bottom: auto !important;
    z-index: 5 !important;
    width: 20px !important;
    height: 18px !important;
    min-width: 20px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    visibility: visible !important;
    opacity: 0.7 !important;
    background-color: transparent !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111' stroke-width='1.2'><path d='M12 21s-7-4.35-9.5-9A5.5 5.5 0 0 1 12 6a5.5 5.5 0 0 1 9.5 6c-2.5 4.65-9.5 9-9.5 9z'/></svg>") !important;
    overflow: hidden !important;
    color: transparent !important;
    font-size: 0 !important;
    line-height: 0 !important;
    text-indent: 0 !important;
    pointer-events: auto !important;
}
/* PLP / category / search: wishlist anchor inside .wishlit-container is 50x50,
   icon centered as background-image 18x18 (parity with original FTC Luma). */
.catalog-category-view .product-item .wishlit-container a.to-wishlist,
.catalog-category-view .product-item .wishlit-container a.towishlist,
.catalog-category-view .product-item .wishlit-container a.action.to-wishlist,
.catalog-category-view .product-item .wishlit-container a.action.towishlist,
.catalogsearch-result-index .product-item .wishlit-container a.to-wishlist,
.catalogsearch-result-index .product-item .wishlit-container a.towishlist,
.catalogsearch-result-index .product-item .wishlit-container a.action.to-wishlist,
.catalogsearch-result-index .product-item .wishlit-container a.action.towishlist {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    width: 50px !important;
    height: 50px !important;
    min-width: 50px !important;
    background-size: 18px 18px !important;
    background-position: 50% 50% !important;
}
.product-item a.to-wishlist:hover,
.product-item a.towishlist:hover,
.product-item a.action.to-wishlist:hover,
.product-item a.action.towishlist:hover {
    opacity: 1 !important;
}
.product-item a.to-wishlist > *,
.product-item a.towishlist > * {
    display: none !important;
}
.product-item .actions-secondary {
    position: static !important;
}
/* On PLP/category, .wishlit-container holds the wishlist anchor and must be absolute
   inside the card so it overlays the image. Original has it at top:0/right:0 corner. */
.product-item .wishlit-container {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    width: 50px !important;
    height: 50px !important;
    z-index: 4 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}
.product-item .wishlit-container > div {
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}

/* PDP price parity: original is font-weight:600, color #000. */
.catalog-product-view .product-info-price .price,
.catalog-product-view .product-info-main .price-box .price,
.catalog-product-view .product-info-main .price-wrapper .price,
.catalog-product-view .product-info-price .price-wrapper .price,
.catalog-product-view .product-info-price .price-container .price {
    font-weight: 600 !important;
    color: #000000 !important;
}

/* PDP add-to-cart parity: original 485x50, padding 14px 17px. */
.catalog-product-view #product-addtocart-button,
.catalog-product-view button#product-addtocart-button.action.tocart,
.catalog-product-view button#product-addtocart-button.btn {
    width: 485px !important;
    max-width: 100% !important;
    height: 50px !important;
    min-height: 50px !important;
    padding: 14px 17px !important;
    line-height: 1.2 !important;
}

/* PDP add-to-cart width: original 485px on desktop. Cap so it stretches inside info column. */
@media (min-width: 1025px) {
    .catalog-product-view #product-addtocart-button {
        width: 100% !important;
        max-width: 485px !important;
    }
}

/* =============================================
   30. Mega-menu cleanup (parity with original)
   - Original DAMEN/HERREN top-level lists: Featured | Ready to wear | Sale (no duplicates)
   - On stage there are two "Sale" entries with raw category URLs:
       a) /catalog/category/view/s/sale/id/215/        — generic, duplicate
       b) /catalog/category/view/s/sale-damen/id/215/  — section-specific, keep
     Hide only the generic one (a) so a single "Sale" remains.
   ============================================= */
.mega-level1-item:has(> a.mega-level1-link[href*="/s/sale/id/"]),
.mega-level1-list > li:has(> a[href*="/s/sale/id/"]) {
    display: none !important;
}

/* =============================================
   31. Guest wishlist (Hyvä-native parity with origin)
   - Hover: heart fill changes to primary color
   - Active (item in wishlist): solid filled heart
   - Click: pulse animation
   - Header counter badge alignment
   - Category tile heart: prevent overlap with image, position properly
   ============================================= */

/* Heart icon on category tiles — the .ftc-wishlist-heart anchor */
.product-item a.action.to-wishlist,
.product-item a.action.ftc-wishlist-heart,
a.to-wishlist[data-action="add-to-wishlist"],
a.to-wishlist[data-action="remove-in-wishlist"] {
    position: absolute !important;
    top: 8px !important;
    right: 8px !important;
    z-index: 5 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 32px !important;
    height: 32px !important;
    margin: 0 !important;
    padding: 4px !important;
    background: transparent !important;
    border: none !important;
    color: #1a1a1a !important;
    cursor: pointer !important;
    transition: color 180ms ease, transform 180ms ease !important;
}

/* Ensure the product tile is the positioning context */
.product-item-info,
.product-item .product-item-info {
    position: relative !important;
}

/* Default heart: outline only */
.product-item a.to-wishlist::before,
.product-item a.ftc-wishlist-heart::before {
    content: "" !important;
    display: block !important;
    width: 22px !important;
    height: 20px !important;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a1a1a' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><path d='M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z'/></svg>") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;
}

/* Hide any inline child <span>/<img> the original tile renders so only ::before shows */
.product-item a.to-wishlist > *,
.product-item a.ftc-wishlist-heart > * {
    display: none !important;
}

/* Hover: filled */
.product-item a.to-wishlist:hover::before,
.product-item a.ftc-wishlist-heart:hover::before {
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%231a1a1a' stroke='%231a1a1a' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><path d='M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z'/></svg>") !important;
}

/* Active (added to wishlist): permanent fill */
.product-item a.to-wishlist.active::before,
.product-item a.ftc-wishlist-heart.active::before,
a.to-wishlist.active::before {
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%231a1a1a' stroke='%231a1a1a' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><path d='M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z'/></svg>") !important;
}

/* Click pulse animation */
@keyframes ftcWishPulse {
    0%   { transform: scale(1); }
    30%  { transform: scale(1.35); }
    60%  { transform: scale(0.92); }
    100% { transform: scale(1); }
}
.ftc-wish-pulse,
.ftc-wish-pulse::before {
    animation: ftcWishPulse 0.55s cubic-bezier(.4,0,.2,1) !important;
}

.ftc-shopcontrol.wishlist {
    position: relative !important;
}

.right-nav-section .ftc-shopcontrol.wishlist > a {
    gap: 6px !important;
    justify-content: flex-start !important;
}

.ftc-shopcontrol.wishlist .ftc-icon-counter,
.ftc-shopcontrol.wishlist .counter.qty {
    position: static !important;
    top: auto !important;
    right: auto !important;
    min-width: 0 !important;
    height: auto !important;
    padding: 0 !important;
    margin-left: 0 !important;
    background: transparent !important;
    color: #111 !important;
    font-size: 15px !important;
    line-height: 16px !important;
    font-weight: 400 !important;
    text-align: left !important;
    border-radius: 0 !important;
    box-sizing: border-box !important;
    pointer-events: none !important;
    display: none;
}
.ftc-shopcontrol.wishlist .ftc-icon-counter:not(:empty),
.ftc-shopcontrol.wishlist .counter.qty:not(:empty) {
    display: inline-block !important;
}

/* Header icon row vertical centering — ensure all icons share baseline */
.right-nav-section {
    display: flex !important;
    align-items: center !important;
}
.right-nav-section .ftc-shopcontrol {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 21px !important;
}
.right-nav-section .ftc-shopcontrol > a,
.right-nav-section .ftc-shopcontrol > button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 21px !important;
    font-size: 15px !important;
    color: #111 !important;
}

.right-nav-section .ftc-shopcontrol.cart > button,
.right-nav-section .ftc-shopcontrol.cart .counter.qty,
.right-nav-section .ftc-shopcontrol.cart .counter.qty .counter-number {
    line-height: 21px !important;
    font-size: 15px !important;
    color: #111 !important;
}
.right-nav-section .ftc-shopcontrol .ftc-icon {
    display: block !important;
    vertical-align: middle !important;
}

/* DE | EUR store switcher — match origin spacing.
   Stage already gives DE label a border-right for the separator,
   so we MUST NOT add a second border-left on the EUR label
   (otherwise the screen renders "DE || EUR"). */
.ftc-store-switcher {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    margin-right: 12px !important;
    line-height: 1 !important;
}
.ftc-store-switcher label {
    margin: 0 !important;
    font-size: 13px !important;
    color: #1a1a1a !important;
}
.ftc-store-switcher label + label {
    padding-left: 6px !important;
    border-left: 0 !important;
}
.ftc-store-switcher label.de-de {
    padding-right: 6px !important;
    /* keep the existing border-right that stage adds */
}

/* Inline search input — match origin padding (was too tight on stage) */
.ftc-inline-search {
    display: inline-flex !important;
    align-items: center !important;
    margin: 0 4px !important;
}
.ftc-inline-search .form.minisearch {
    display: inline-flex !important;
    align-items: center !important;
    width: 185px !important;
    max-width: 185px !important;
    border-bottom: 1px solid #1a1a1a !important;
    padding: 0 !important;
}
.ftc-inline-search input,
.ftc-inline-search input[type="text"],
.ftc-inline-search input[type="search"],
.right-nav-section .ftc-inline-search input {
    height: 32px !important;
    min-height: 32px !important;
    max-height: 32px !important;
    padding: 0 8px !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    background: transparent !important;
    background-color: transparent !important;
    font-size: 13px !important;
    line-height: 32px !important;
    width: 185px !important;
    max-width: 185px !important;
    box-sizing: border-box !important;
    border-radius: 0 !important;
}
.ftc-inline-search input:focus,
.ftc-inline-search input:focus-visible {
    outline: none !important;
    box-shadow: none !important;
    border-color: transparent !important;
}
.ftc-inline-search button {
    background: transparent !important;
    border: none !important;
    padding: 0 4px !important;
    cursor: pointer !important;
    line-height: 0 !important;
}
.ftc-inline-search button svg {
    width: 16px !important;
    height: 16px !important;
}

/* Defensive: hide any leftover Hyvä full-width search block that may render
   beside our compact .ftc-inline-search inside the right nav. */
.right-nav-section .block.block-search:not(.ftc-inline-search):not(:has(.ftc-inline-search)),
.right-nav-section > .block.block-search,
.right-nav-section form.minisearch.input-group {
    display: none !important;
}

/* Login page: clean the password field eye-toggle alignment.
   Hyvä's reveal button is .relative > input + button.absolute. */
.login-container .field.password,
.customer-account-login .field.password,
.customer-account-create .field.password {
    position: relative !important;
}
.login-container .field.password input,
.customer-account-login .field.password input,
.customer-account-create .field.password input {
    padding-right: 40px !important;
}
.login-container .field.password button.password-toggle,
.customer-account-login .field.password button.password-toggle,
.customer-account-create .field.password button.password-toggle {
    position: absolute !important;
    top: 50% !important;
    right: 8px !important;
    transform: translateY(-50%) !important;
    background: transparent !important;
    border: none !important;
    padding: 4px !important;
    line-height: 0 !important;
    cursor: pointer !important;
}

/* Stronger overrides for inline search button + input border (Hyvä utility classes were winning) */
.ftc-inline-search > .form.minisearch,
.ftc-inline-search form.minisearch,
.right-nav-section .ftc-inline-search form.minisearch {
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
}
.ftc-inline-search form.minisearch > input,
.right-nav-section .ftc-inline-search form.minisearch > input {
    border: 1px solid #c2c2c2 !important;
    border-radius: 0 !important;
    background: #f8f8f8 !important;
    color: #000 !important;
    font-size: 14px !important;
    line-height: 20px !important;
    width: 100% !important;
    flex: 1 1 auto !important;
    padding-left: 9px !important;
    padding-right: 35px !important;
}
.ftc-inline-search form.minisearch,
.right-nav-section .ftc-inline-search form.minisearch {
    position: relative !important;
}
.ftc-inline-search form.minisearch > button,
.ftc-inline-search form.minisearch button[type="submit"],
.right-nav-section .ftc-inline-search form.minisearch button[type="submit"] {
    position: absolute !important;
    right: 10px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    margin: 0 !important;
    background: transparent !important;
    background-color: transparent !important;
    color: #333 !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    width: 16px !important;
    height: 32px !important;
    line-height: 19.6px !important;
    z-index: 2 !important;
}
.ftc-inline-search form.minisearch button[type="submit"] svg {
    stroke: #333 !important;
    fill: none !important;
    width: 14px !important;
    height: 14px !important;
}
.ftc-inline-search form.minisearch > input {
    padding-right: 35px !important;
}

/* Desktop right-nav parity: keep origin inner geometry for DE|EUR + search + account. */
@media (min-width: 1025px) {
    .right-nav-section .ftc-store-switcher {
        width: 72px !important;
        gap: 4px !important;
        margin-right: 0 !important;
    }

    .right-nav-section .ftc-inline-search {
        width: 220px !important;
        margin: 0 !important;
        display: block !important;
    }

    .right-nav-section .ftc-inline-search .form.minisearch,
    .right-nav-section .ftc-inline-search form.minisearch {
        width: 220px !important;
        max-width: 220px !important;
        position: relative !important;
    }

    .right-nav-section .ftc-inline-search input,
    .right-nav-section .ftc-inline-search input[type="text"],
    .right-nav-section .ftc-inline-search input[type="search"] {
        width: 185px !important;
        max-width: 185px !important;
        height: 32px !important;
        line-height: 20px !important;
        margin-left: 15px !important;
    }

    .right-nav-section .ftc-inline-search form.minisearch > button,
    .right-nav-section .ftc-inline-search form.minisearch button[type="submit"] {
        right: 14px !important;
        height: 32px !important;
    }

    .right-nav-section .ftc-shopcontrol.account {
        margin-left: 0 !important;
    }
}

/* Heart icon on tile — restore visible heart SVG.
   Stage already inlines an SVG inside .ftc-wishlist-heart anchor; just enforce
   sizing + positioning so it sits at top-right of the tile, no overlap. */
.product-item .wishlit-container {
    position: absolute !important;
    top: 8px !important;
    right: 8px !important;
    z-index: 5 !important;
    background: transparent !important;
}
.product-item .wishlit-container > div,
.product-item .wishlit-container > div > a.to-wishlist,
.product-item .wishlit-container a.ftc-wishlist-heart {
    width: 28px !important;
    height: 28px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(255,255,255,0.85) !important;
    border-radius: 50% !important;
    transition: transform 0.18s ease, background 0.18s ease !important;
}
.product-item .wishlit-container a.ftc-wishlist-heart svg {
    width: 16px !important;
    height: 16px !important;
    display: block !important;
    pointer-events: none !important;
    stroke: #111 !important;
}
.product-item .wishlit-container a.ftc-wishlist-heart:hover svg {
    fill: #111 !important;
}
.product-item .wishlit-container a.ftc-wishlist-heart.active svg {
    fill: #c0392b !important;
    stroke: #c0392b !important;
}

/* 32. Финальная parity-подгонка: springkollektion + guestwishlist */
body.catalog-category-view .toolbar.toolbar-products .toolbar-amount,
body.catalog-category-view .toolbar-products .toolbar-amount,
.catalog-category-view .toolbar-amount {
    display: block !important;
    visibility: visible !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
}
.catalog-category-view .product-item .wishlit-container {
    top: 10px !important;
    right: 10px !important;
    width: 18px !important;
    height: 18px !important;
}
.catalog-category-view .product-item .wishlit-container > div,
.catalog-category-view .product-item .wishlit-container > div > a.to-wishlist,
.catalog-category-view .product-item .wishlit-container a.ftc-wishlist-heart {
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    min-height: 18px !important;
    max-width: 18px !important;
    max-height: 18px !important;
    padding: 0 !important;
    background: transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
.catalog-category-view .product-item .wishlit-container a.ftc-wishlist-heart svg,
.catalog-category-view .product-item .wishlit-container a.to-wishlist svg {
    width: 18px !important;
    height: 16px !important;
}
.catalog-category-view .product-item .wishlit-container a.ftc-wishlist-heart:hover svg,
.catalog-category-view .product-item .wishlit-container a.to-wishlist:hover svg,
.catalog-category-view .product-item .wishlit-container a.ftc-wishlist-heart.active svg,
.catalog-category-view .product-item .wishlit-container a.to-wishlist.active svg {
    fill: #111 !important;
    stroke: #111 !important;
}
.catalog-category-view .product-item .wishlit-container a.ftc-wishlist-heart::before,
.catalog-category-view .product-item .wishlit-container a.ftc-wishlist-heart::after,
.catalog-category-view .product-item .wishlit-container a.to-wishlist::before,
.catalog-category-view .product-item .wishlit-container a.to-wishlist::after {
    content: none !important;
    display: none !important;
    background: none !important;
}

.guestwishlist-index-index .breadcrumbs,
.guestwishlist-index-index .actions-toolbar,
.guestwishlist-index-index .comment-box,
.guestwishlist-index-index .field.qty,
.guestwishlist-index-index .action.edit {
    display: none !important;
}
.guestwishlist-index-index .page-main {
    max-width: 1540px !important;
    margin: 0 auto !important;
}
@media (max-width: 1540px) {
    .guestwishlist-index-index .page-main {
        padding-left: 10px !important;
        padding-right: 10px !important;
        padding-top: 100px !important;
    }
}
.guestwishlist-index-index .container.flex.flex-col.md\:flex-row.flex-wrap {
    display: block !important;
}
.wishlist-index-index .wishlist-title,
.guestwishlist-index-index .wishlist-title,
.guestwishlist-index-index h1.page-title,
.guestwishlist-index-index .page-title {
    padding: 0 0 20px 0 !important;
    font-size: 32px !important;
    font-weight: 300 !important;
    text-align: left !important;
    text-transform: uppercase !important;
}
.guestwishlist-index-index .products.wrapper.grid.products-grid.wishlist,
.guestwishlist-index-index .products.wrapper.wishlist,
.guestwishlist-index-index .products-grid.wishlist,
.guestwishlist-index-index .products.list.items.product-items,
.guestwishlist-index-index .products-grid.wishlist ol,
.guestwishlist-index-index .products.wrapper.wishlist ol {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}
.guestwishlist-index-index .products-grid .product-item,
.guestwishlist-index-index .products.wrapper.wishlist .product-item {
    position: relative !important;
    display: inline-block !important;
    vertical-align: top !important;
    width: calc(100% / 3 - 10px) !important;
    max-width: calc(100% / 3 - 10px) !important;
    height: 600px !important;
    padding: 0 !important;
    margin: 0 10px !important;
    overflow: hidden !important;
}
@media (max-width: 768px) {
    .guestwishlist-index-index .products-grid .product-item,
    .guestwishlist-index-index .products.wrapper.wishlist .product-item {
        display: inline-block !important;
        width: calc(100% / 2 - 5px) !important;
        max-width: calc(100% / 2 - 5px) !important;
        height: 425px !important;
        margin: 0 !important;
        border: none !important;
    }
    .guestwishlist-index-index .products-grid .product-item:nth-of-type(odd),
    .guestwishlist-index-index .products.wrapper.wishlist .product-item:nth-of-type(odd) {
        margin-right: 10px !important;
    }
}
.guestwishlist-index-index .product-item-info {
    position: relative !important;
    width: 100% !important;
    height: 400px !important;
    text-align: center !important;
    background-color: #f6f6f4 !important;
}
@media (max-width: 768px) {
    .guestwishlist-index-index .product-item-info {
        height: 300px !important;
    }
}
.guestwishlist-index-index .product-item-photo {
    width: 100% !important;
    height: 500px !important;
    background-color: #f6f6f4 !important;
}
@media (max-width: 768px) {
    .guestwishlist-index-index .product-item-photo {
        height: 270px !important;
    }
}
.guestwishlist-index-index .product-item-photo .product-image-container,
.guestwishlist-index-index .product-item-photo .product-image-wrapper {
    width: 100% !important;
    height: 100% !important;
    background-color: #f6f6f4 !important;
}

.guestwishlist-index-index .product-item-photo .product-image-container {
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.guestwishlist-index-index .product-item-photo .product-image-wrapper {
    transition: background-color 300ms !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.guestwishlist-index-index .product-item-photo .product-image-photo,
.guestwishlist-index-index .product-item-photo .product-hover-image-photo {
    mix-blend-mode: multiply !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    position: static !important;
    max-width: none !important;
    max-height: none !important;
}
.guestwishlist-index-index .product-item-name {
    margin: 0 !important;
    padding: 20px 0 10px 0 !important;
    text-align: left !important;
}
@media (max-width: 768px) {
    .guestwishlist-index-index .product-item-name {
        padding: 20px !important;
    }
}
.guestwishlist-index-index .product-item-name a,
.guestwishlist-index-index .product-item-link {
    display: block !important;
    height: 20px !important;
    font-size: 18px !important;
    color: #111 !important;
    opacity: 0.7 !important;
    overflow: hidden !important;
    text-transform: none !important;
    text-decoration: none !important;
}
@media (max-width: 768px) {
    .guestwishlist-index-index .product-item-name a,
    .guestwishlist-index-index .product-item-link {
        height: auto !important;
    }
}
.guestwishlist-index-index .price-box {
    text-align: left !important;
}
.guestwishlist-index-index .price-box .price {
    font-size: 15px !important;
    font-weight: 400 !important;
    color: #ad8b70 !important;
}
.guestwishlist-index-index .product-item-inner {
    position: static !important;
    overflow: visible !important;
}
.guestwishlist-index-index .action.tocart.primary {
    position: absolute !important;
    right: 100px !important;
    bottom: -50px !important;
    display: inline-block !important;
    width: 18px !important;
    height: 18px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: url("../images/icons/cart1.png") center center / 100% 100% no-repeat !important;
    opacity: 0.7 !important;
    min-width: 18px !important;
}
.guestwishlist-index-index .action.tocart.primary span {
    display: none !important;
}
.guestwishlist-index-index .btn-remove.action.delete {
    position: absolute !important;
    right: 50px !important;
    bottom: -50px !important;
    display: inline-block !important;
    width: 18px !important;
    height: 18px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid #111 !important;
    border-radius: 50% !important;
    background: transparent !important;
    opacity: 0.7 !important;
}
.guestwishlist-index-index .btn-remove.action.delete::before {
    content: "-";
    position: absolute;
    top: -6px;
    left: 5px;
    color: #111;
}
.guestwishlist-index-index .btn-remove.action.delete span {
    display: none !important;
}

/* 33. Header right block final alignment fix (springkollektion parity)
   Keep search icon inside field and normalize icon row gaps/vertical baseline. */
@media (min-width: 1025px) {
    #header.ftc-header .right-nav-section,
    .ftc-header .right-nav-section {
        right: 78px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 0 !important;
    }

    #header.ftc-header .right-nav-section .ftc-inline-search,
    .ftc-header .right-nav-section .ftc-inline-search {
        width: 185px !important;
        max-width: 185px !important;
        margin: 0 20px 0 10px !important;
        display: block !important;
        flex: 0 0 185px !important;
    }

    #header.ftc-header .right-nav-section .ftc-inline-search form.minisearch,
    .ftc-header .right-nav-section .ftc-inline-search form.minisearch {
        width: 185px !important;
        max-width: 185px !important;
        position: relative !important;
        overflow: hidden !important;
    }

    #header.ftc-header .right-nav-section .ftc-inline-search input,
    #header.ftc-header .right-nav-section .ftc-inline-search input[type="text"],
    #header.ftc-header .right-nav-section .ftc-inline-search input[type="search"],
    .ftc-header .right-nav-section .ftc-inline-search input,
    .ftc-header .right-nav-section .ftc-inline-search input[type="text"],
    .ftc-header .right-nav-section .ftc-inline-search input[type="search"] {
        width: 185px !important;
        max-width: 185px !important;
        height: 32px !important;
        margin-left: 0 !important;
        padding-left: 9px !important;
        padding-right: 32px !important;
        box-sizing: border-box !important;
    }

    #header.ftc-header .right-nav-section .ftc-inline-search form.minisearch > button,
    #header.ftc-header .right-nav-section .ftc-inline-search form.minisearch button[type="submit"],
    .ftc-header .right-nav-section .ftc-inline-search form.minisearch > button,
    .ftc-header .right-nav-section .ftc-inline-search form.minisearch button[type="submit"] {
        right: 8px !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        width: 14px !important;
        height: 32px !important;
        line-height: 32px !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    #header.ftc-header .right-nav-section .ftc-shopcontrol,
    .ftc-header .right-nav-section .ftc-shopcontrol {
        position: relative !important;
        right: auto !important;
        top: 0 !important;
        margin-left: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        line-height: 21px !important;
        font-size: 15px !important;
        color: #111 !important;
    }

    #header.ftc-header .right-nav-section .ftc-shopcontrol.account,
    .ftc-header .right-nav-section .ftc-shopcontrol.account {
        top: 0 !important;
    }

    #header.ftc-header .right-nav-section .ftc-shopcontrol.wishlist,
    .ftc-header .right-nav-section .ftc-shopcontrol.wishlist {
        margin-left: 19px !important;
        top: -1px !important;
    }

    #header.ftc-header .right-nav-section .ftc-shopcontrol.cart,
    .ftc-header .right-nav-section .ftc-shopcontrol.cart {
        margin-left: 13px !important;
        top: -1px !important;
    }

    #header.ftc-header .right-nav-section .ftc-shopcontrol > a,
    #header.ftc-header .right-nav-section .ftc-shopcontrol > button,
    .ftc-header .right-nav-section .ftc-shopcontrol > a,
    .ftc-header .right-nav-section .ftc-shopcontrol > button {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 6px !important;
        line-height: 21px !important;
        font-size: 15px !important;
        color: #111 !important;
    }

    #header.ftc-header .right-nav-section .ftc-shopcontrol.wishlist > a,
    .ftc-header .right-nav-section .ftc-shopcontrol.wishlist > a {
        min-width: 36px !important;
        min-height: 28px !important;
    }

    #header.ftc-header .right-nav-section .ftc-shopcontrol.cart > a,
    #header.ftc-header .right-nav-section .ftc-shopcontrol.cart > button,
    .ftc-header .right-nav-section .ftc-shopcontrol.cart > a,
    .ftc-header .right-nav-section .ftc-shopcontrol.cart > button {
        min-width: 44px !important;
        min-height: 28px !important;
        justify-content: flex-start !important;
    }

    #header.ftc-header .right-nav-section .ftc-shopcontrol.account .ftc-icon,
    .ftc-header .right-nav-section .ftc-shopcontrol.account .ftc-icon {
        width: 20px !important;
        height: 20px !important;
        object-fit: contain !important;
    }

    #header.ftc-header .right-nav-section .ftc-shopcontrol.wishlist .ftc-icon,
    #header.ftc-header .right-nav-section .ftc-shopcontrol.cart .ftc-icon,
    .ftc-header .right-nav-section .ftc-shopcontrol.wishlist .ftc-icon,
    .ftc-header .right-nav-section .ftc-shopcontrol.cart .ftc-icon {
        width: 22px !important;
        height: 22px !important;
    }

    #header.ftc-header .right-nav-section .ftc-shopcontrol.wishlist .counter.qty,
    #header.ftc-header .right-nav-section .ftc-shopcontrol.cart .counter.qty,
    #header.ftc-header .right-nav-section .ftc-shopcontrol.wishlist .ftc-icon-counter,
    #header.ftc-header .right-nav-section .ftc-shopcontrol.cart .ftc-icon-counter,
    .ftc-header .right-nav-section .ftc-shopcontrol.wishlist .counter.qty,
    .ftc-header .right-nav-section .ftc-shopcontrol.cart .counter.qty,
    .ftc-header .right-nav-section .ftc-shopcontrol.wishlist .ftc-icon-counter,
    .ftc-header .right-nav-section .ftc-shopcontrol.cart .ftc-icon-counter {
        position: static !important;
        line-height: 21px !important;
        font-size: 15px !important;
        color: #111 !important;
        margin: 0 !important;
    }

    #header.ftc-header .right-nav-section .counter.qty.is-zero,
    #header.ftc-header .right-nav-section .ftc-icon-counter.is-zero,
    .ftc-header .right-nav-section .counter.qty.is-zero,
    .ftc-header .right-nav-section .ftc-icon-counter.is-zero {
        display: none !important;
    }
}
@media (max-width: 768px) {
    .guestwishlist-index-index .action.tocart.primary,
    .guestwishlist-index-index .btn-remove.action.delete {
        bottom: 70px !important;
    }
}

/* ===== Desktop header flex layout (was missing — only had mobile rules) ===== */
@media (min-width: 769px) {
    .ftc-header .header-ftc-flex {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: 100% !important;
    }
    .ftc-header .left-nav-section {
        flex: 1 1 auto !important;
        display: flex !important;
        align-items: center !important;
    }
    .ftc-header .right-nav-section {
        display: flex !important;
        align-items: center !important;
        gap: 12px !important;
        flex: 0 0 auto !important;
        width: auto !important;
        margin-left: auto !important;
    }
    .ftc-header .ftc-logo {
        position: absolute !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        z-index: 1 !important;
    }
    .ftc-header-inner {
        position: relative !important;
    }
}

/* ===== Fix header logo positioning - was pushing up into announcement bar ===== */
@media (min-width: 769px) {
    .ftc-header .ftc-logo {
        top: 50% !important;
        transform: translate(-50%, -50%) !important;
        margin-top: 0 !important;
    }
    /* Make sure flex row has enough height to host the logo (logo is 103px tall) */
    .ftc-header .header-ftc-flex {
        min-height: 100px !important;
        padding: 16px 24px !important;
        position: relative !important;
    }
    /* Logo wrapper image sizing — keep reasonable */
    .ftc-header .ftc-logo img {
        max-height: 60px !important;
        width: auto !important;
        height: auto !important;
    }
    /* Add side padding to nav + icons so they don't touch screen edges */
    .ftc-header .left-nav-section {
        padding-left: 24px !important;
    }
    .ftc-header .right-nav-section {
        padding-right: 24px !important;
    }
}

/* ===== Override existing -5px logo positioning (was cutting logo off top) ===== */
@media (min-width: 769px) {
    body.cms-index-index .ftc-header .ftc-logo,
    body.cms-index-index .ftc-header.fixed .ftc-logo,
    body .ftc-header .ftc-logo,
    body .ftc-header.fixed .ftc-logo {
        top: 50% !important;
        transform: translate(-50%, -50%) !important;
        margin-top: 0 !important;
    }
}

/* ===== Announcement bar slideshow (was showing both slides at once) ===== */
.ftc-header header.msg .home-message {
    position: relative !important;
    height: 1.5em !important;
    overflow: hidden !important;
    line-height: 1.5em !important;
}

.ftc-header header.msg .home-message .slide {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    text-align: center !important;
    margin: 0 !important;
    opacity: 0 !important;
    animation: msgSlideRotate 10s infinite !important;
}

.ftc-header header.msg .home-message .slide:nth-child(1) {
    animation-delay: 0s !important;
}
.ftc-header header.msg .home-message .slide:nth-child(2) {
    animation-delay: 5s !important;
}

@keyframes msgSlideRotate {
    0%, 45% { opacity: 1; transform: translateY(0); }
    50%, 100% { opacity: 0; transform: translateY(-100%); }
}

/* ===== Fix announcement: hide all but first slide for now (cleaner UX) ===== */
.ftc-header header.msg .home-message {
    position: relative !important;
    height: auto !important;
    overflow: visible !important;
    line-height: 1.5em !important;
}

.ftc-header header.msg .home-message .slide {
    position: static !important;
    display: none !important;
    margin: 0 !important;
    text-align: center !important;
    opacity: 1 !important;
    animation: none !important;
    transform: none !important;
}

/* Only show first slide */
.ftc-header header.msg .home-message .slide:nth-child(1) {
    display: block !important;
}

/* ===== Position 'NEW IN' labels on hero banners (overlay bottom-left) ===== */
.ftc-image-block .ftc-item {
    position: relative !important;
}

.ftc-image-block .ftc-item .ftc-text {
    position: absolute !important;
    bottom: 30px !important;
    left: 30px !important;
    right: auto !important;
    margin: 0 !important;
    z-index: 5 !important;
}

/* Right-aligned label (Herren - ftc-text without ftc-white modifier) */
.ftc-image-block .ftc-item .ftc-text[style*=text-align: right] {
    left: auto !important;
    right: 30px !important;
}

.ftc-image-block .ftc-item .ftc-subtitle {
    color: white !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    letter-spacing: 0.15em !important;
    text-transform: uppercase !important;
    text-shadow: 0 1px 3px rgba(0,0,0,0.4) !important;
}

.ftc-image-block .ftc-item .ftc-text.ftc-white .ftc-subtitle {
    color: white !important;
}

/* ===== Fix header layout: logo as own row above nav (match Live) ===== */
@media (min-width: 769px) {
    body .ftc-header .ftc-header-inner {
        display: block !important;
        background: white !important;
    }
    /* Logo: centered, OWN row, NOT absolute */
    body .ftc-header .ftc-logo,
    body.cms-index-index .ftc-header .ftc-logo,
    body.cms-index-index .ftc-header.fixed .ftc-logo,
    body .ftc-header.fixed .ftc-logo {
        position: relative !important;
        top: auto !important;
        left: auto !important;
        transform: none !important;
        text-align: center !important;
        padding: 20px 0 12px 0 !important;
        margin: 0 auto !important;
        display: block !important;
        width: 100% !important;
    }
    body .ftc-header .ftc-logo a,
    body .ftc-header .ftc-logo img {
        display: inline-block !important;
        max-height: 70px !important;
        height: auto !important;
        width: auto !important;
    }
    /* Nav + Icons row: below logo */
    body .ftc-header .header-ftc-flex {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        padding: 0 24px 16px 24px !important;
        position: relative !important;
        min-height: 40px !important;
        top: auto !important;
        margin-bottom: 0 !important;
    }
    body .ftc-header .left-nav-section {
        flex: 0 0 auto !important;
        display: flex !important;
        align-items: center !important;
    }
    body .ftc-header .right-nav-section {
        flex: 0 0 auto !important;
        display: flex !important;
        align-items: center !important;
        gap: 12px !important;
        position: relative !important;
        right: auto !important;
        top: auto !important;
        width: auto !important;
        margin: 0 !important;
    }
}

/* ===== Fix alignment between nav and icons (both should be vertically centered) ===== */
@media (min-width: 769px) {
    body .ftc-header .header-ftc-flex {
        align-items: center !important;
    }
    body .ftc-header .left-nav-section {
        align-self: center !important;
    }
    body .ftc-header .left-nav-section > nav,
    body .ftc-header .left-nav-section .navigation {
        margin: 0 !important;
        padding: 0 !important;
        line-height: 1 !important;
    }
    body .ftc-header .left-nav-section .navigation > ul {
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        align-items: center !important;
        gap: 24px !important;
        list-style: none !important;
    }
    body .ftc-header .left-nav-section .navigation > ul > li {
        margin: 0 !important;
        padding: 0 !important;
        font-size: 13px !important;
        letter-spacing: 0.1em !important;
        text-transform: uppercase !important;
    }
    body .ftc-header .right-nav-section {
        align-self: center !important;
    }
    /* Reduce logo to match Live size ~70px */
    body .ftc-header .ftc-logo a img {
        max-height: 70px !important;
    }
}

.ftc-header .left-nav-section nav.mega-nav {
    display: block !important;
}

/* ===== Header: all elements on ONE row (nav left, logo center, icons right) ===== */
@media (min-width: 769px) {
    /* Make ftc-header-inner a grid: nav | logo | icons */
    body .ftc-header .ftc-header-inner {
        display: block !important;
        position: relative !important;
        background: white !important;
    }
    /* The whole content row (header.msg stays as banner above) */
    body .ftc-header .header-ftc-flex {
        display: grid !important;
        grid-template-columns: 1fr auto 1fr !important;
        align-items: center !important;
        padding: 18px 24px !important;
        position: relative !important;
        min-height: 80px !important;
        top: auto !important;
        margin: 0 !important;
    }
    /* Logo positioned in CENTER cell of the grid */
    body .ftc-header .ftc-logo,
    body.cms-index-index .ftc-header .ftc-logo,
    body.cms-index-index .ftc-header.fixed .ftc-logo,
    body .ftc-header.fixed .ftc-logo {
        position: static !important;
        top: auto !important;
        left: auto !important;
        transform: none !important;
        text-align: center !important;
        padding: 0 !important;
        margin: 0 !important;
        width: auto !important;
        order: 2 !important;
        grid-column: 2 !important;
    }
    body .ftc-header .ftc-logo a {
        display: inline-block !important;
    }
    body .ftc-header .ftc-logo img {
        max-height: 60px !important;
        height: auto !important;
        width: auto !important;
    }
    /* Nav goes into LEFT cell */
    body .ftc-header .left-nav-section {
        order: 1 !important;
        grid-column: 1 !important;
        justify-self: start !important;
        align-self: center !important;
        flex: 0 0 auto !important;
        padding: 0 !important;
    }
    /* Right icons go into RIGHT cell */
    body .ftc-header .right-nav-section {
        order: 3 !important;
        grid-column: 3 !important;
        justify-self: end !important;
        align-self: center !important;
        display: flex !important;
        align-items: center !important;
        gap: 12px !important;
        flex: 0 0 auto !important;
        position: relative !important;
        right: auto !important;
        top: auto !important;
        width: auto !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    /* Bottom border + spacing between header and content */
    body .ftc-header {
        border-bottom: 1px solid #eee !important;
        margin-bottom: 16px !important;
    }
}



/* ===== Add '|' separator between DE and EUR in store switcher ===== */
.ftc-header .ftc-store-switcher > label:first-of-type::after {
    content: '|' !important;
    display: inline-block !important;
    margin: 0 8px !important;
    color: #aaa !important;
    font-weight: normal !important;
}

/* ===== Force store switcher and labels inline so | sits between DE and EUR ===== */
.ftc-header .ftc-store-switcher {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0 !important;
    white-space: nowrap !important;
}
.ftc-header .ftc-store-switcher > label,
.ftc-header .ftc-store-switcher > span,
.ftc-header .ftc-store-switcher > a {
    display: inline-flex !important;
    align-items: center !important;
    float: none !important;
    margin: 0 !important;
}
.ftc-header .ftc-store-switcher > label:first-of-type::after {
    content: '|' !important;
    display: inline !important;
    margin: 0 10px !important;
    color: #aaa !important;
    font-weight: normal !important;
    line-height: 1 !important;
}

/* ===== Increase logo size to match live (~109px) ===== */
@media (min-width: 769px) {
    .ftc-header .ftc-logo img {
        max-height: 109px !important;
        height: 109px !important;
        width: auto !important;
    }
    /* Ensure flex row is tall enough to host the bigger logo */
    .ftc-header .header-ftc-flex {
        min-height: 135px !important;
    }
}

/* ===== Force logo to 109px - override existing 42px / 60px / 70px rules ===== */
@media (min-width: 769px) {
    body #header.ftc-header .ftc-logo img,
    body.cms-index-index #header.ftc-header .ftc-logo img,
    body #header .ftc-logo img,
    body .ftc-header .ftc-logo img,
    body.cms-index-index .ftc-header .ftc-logo img {
        max-height: 109px !important;
        height: 109px !important;
        width: auto !important;
    }
}
