/* Header Background and Colors (Normal & Sticky) */
html body header.c-header,
html body .c-header,
html body .c-header .c-header__row,
html body .c-header__row,
html body .c-header--desktop,
html body .c-header--mobile,
html body .c-header.c-header--sticky.c-header--active,
html body .c-header.c-header--sticky,
html body .c-header.c-header--sticky .c-header__row,
header.c-header,
.c-header,
.c-header .c-header__row,
.c-header__row,
.c-header--desktop,
.c-header--mobile,
.c-header.c-header--sticky.c-header--active,
.c-header.c-header--sticky {
    background-color: #f5e8d5 !important;
}

.c-header.c-header--sticky {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

/* Desktop & Mobile Navigation Links - Black Text on #f5e8d5 */
html body .c-top-menu__item a,
html body .c-header .c-top-menu__item a,
html body .c-header.c-header--sticky .c-top-menu__item a,
.c-top-menu__item a,
.c-header .c-top-menu__item a,
.c-header.c-header--sticky .c-top-menu__item a {
    color: #000000 !important;
}

html body .c-top-menu__item a:hover,
html body .c-header .c-top-menu__item a:hover,
html body .c-header.c-header--sticky .c-top-menu__item a:hover,
.c-top-menu__item a:hover,
.c-header .c-top-menu__item a:hover,
.c-header.c-header--sticky .c-top-menu__item a:hover {
    color: #555555 !important;
}

.c-header__logo-img--all {
    height: 60px;
    width: 60px;
}

.c-header__logo-img--desktop {
    height: 50px;
}

/* Header Icons (Account, Wishlist, Cart, Search, Mobile Menu) */
html body .c-header__button-link,
html body .c-header__button-link i,
html body .c-header__wildlist-icon,
html body .c-header__cart-icon,
html body .c-header__search-button i,
html body .c-header__menu-button-icon,
html body .c-header--mobile .c-header__menu-button-icon,
html body .c-header--mobile .c-header__button-link i,
html body .c-header.c-header--sticky .c-header__button-link,
html body .c-header.c-header--sticky .c-header__button-link i,
html body .c-header.c-header--sticky .c-header__wildlist-icon,
html body .c-header.c-header--sticky .c-header__cart-icon,
html body .c-header.c-header--sticky .c-header__search-button i,
html body .c-header--mobile.c-header--sticky .c-header__menu-button-icon,
html body .c-header--mobile.c-header--sticky .c-header__button-link i,
.c-header__button-link,
.c-header__button-link i,
.c-header__wildlist-icon,
.c-header__cart-icon,
.c-header__search-button i,
.c-header__menu-button-icon,
.c-header--mobile .c-header__menu-button-icon,
.c-header--mobile .c-header__button-link i,
.c-header.c-header--sticky .c-header__button-link,
.c-header.c-header--sticky .c-header__button-link i,
.c-header.c-header--sticky .c-header__wildlist-icon,
.c-header.c-header--sticky .c-header__cart-icon,
.c-header.c-header--sticky .c-header__search-button i,
.c-header--mobile.c-header--sticky .c-header__menu-button-icon,
.c-header--mobile.c-header--sticky .c-header__button-link i {
    color: #000000 !important;
}

html body .c-header__button-link:hover i,
html body .c-header.c-header--sticky .c-header__button-link:hover i,
.c-header__button-link:hover i,
.c-header.c-header--sticky .c-header__button-link:hover i {
    color: #555555 !important;
}

.c-header__cart-count {
    background-color: #000000 !important;
    color: #f5e8d5 !important;
}


.add_to_cart_button,
.c-product-grid__thumb-button-list,
.product_type_grouped,
.product_type_simple,
.c-product-grid__stock-wrap,
.product_type_external {
    display: none !important;
}

/* ==========================================================================
   GLOBAL HEADER NORMAL FLOW FIX (PREVENTS BODY & MESSAGES CUTTING OFF)
   ========================================================================== */

/* Outer header tag and wrappers take natural height in normal flow */
header.c-header.c-header--header-type-1,
.c-header__outer--desktop,
.c-header__outer--mobile {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    z-index: 100;
}

/* Header bar when NOT sticky: relative so page content and alert messages start below it */
.c-header--desktop:not(.c-header--sticky),
.c-header--mobile:not(.c-header--sticky),
.c-header:not(.c-header--sticky) {
    position: relative !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
}

/* Header bar when sticky: fixed on top with high z-index when user scrolls */
.c-header.c-header--sticky {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 9999 !important;
}

/* Remove non-sticky light border so normal header looks clean and identical to sticky */
.c-header--desktop:not(.c-header--sticky) .c-header__row,
.c-header--mobile:not(.c-header--sticky) .c-header__row {
    border-bottom: none !important;
}

/* ==========================================================================
   MOBILE HEADER & MENU BUTTON FIX (NORMAL & STICKY)
   ========================================================================== */

@media (max-width: 1189.98px) {

    /* Lock entire mobile header tree to exact 60px height (fixes excess vertical space) */
    html body header.c-header,
    html body header.c-header.c-header--header-type-1,
    html body .c-header__outer--mobile,
    html body .c-header.c-header--mobile,
    html body .c-header--mobile,
    header.c-header,
    header.c-header.c-header--header-type-1,
    .c-header__outer--mobile,
    .c-header.c-header--mobile,
    .c-header--mobile {
        height: 60px !important;
        min-height: 60px !important;
        max-height: 60px !important;
        box-sizing: border-box !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        background-color: #f5e8d5 !important;
    }

    /* Force desktop elements completely hidden with 0 height on mobile */
    .c-header--desktop,
    .c-header__outer--desktop,
    .c-header--desktop.l-section__container {
        display: none !important;
        height: 0 !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* Mobile Header Row - Strict Single-Row Flexbox */
    html body .c-header--mobile .c-header__row,
    .c-header--mobile .c-header__row {
        display: flex !important;
        flex-direction: row !important;
        justify-content: space-between !important;
        align-items: center !important;
        flex-wrap: nowrap !important;
        height: 60px !important;
        min-height: 60px !important;
        max-height: 60px !important;
        padding: 0 16px !important;
        width: 100% !important;
        box-sizing: border-box !important;
        background-color: #f5e8d5 !important;
        border-bottom: none !important;
        position: relative !important;
    }

    /* Normal Mobile Header (when NOT sticky) */
    html body .c-header--mobile:not(.c-header--sticky),
    .c-header--mobile:not(.c-header--sticky) {
        position: relative !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        background-color: #f5e8d5 !important;
        box-shadow: none !important;
        border-bottom: none !important;
    }

    /* Sticky Mobile Header (when sticky) */
    html body .c-header--mobile.c-header--sticky,
    html body .c-header.c-header--mobile.c-header--sticky,
    .c-header--mobile.c-header--sticky,
    .c-header.c-header--mobile.c-header--sticky {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        z-index: 99999 !important;
        background-color: #f5e8d5 !important;
        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08) !important;
        border-bottom: none !important;
    }

    /* Mobile Columns */
    .c-header--mobile .c-header__col-left {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        flex: 1 1 0 !important;
        min-width: 40px !important;
    }

    .c-header--mobile .c-header__col-center {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex: 0 0 auto !important;
        text-align: center !important;
        max-width: 60% !important;
    }

    .c-header--mobile .c-header__col-right {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        flex: 1 1 0 !important;
        gap: 16px !important;
        min-width: 40px !important;
    }

    /* Menu button reset - transparent with black hamburger */
    html body .c-header--mobile .c-header__menu-button,
    html body .c-header__menu-button,
    .c-header--mobile .c-header__menu-button,
    .c-header__menu-button {
        background: transparent !important;
        background-color: transparent !important;
        border: none !important;
        outline: none !important;
        box-shadow: none !important;
        padding: 0 !important;
        margin: 0 !important;
        width: 36px !important;
        height: 36px !important;
        min-width: 36px !important;
        min-height: 36px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        cursor: pointer !important;
        -webkit-appearance: none !important;
        appearance: none !important;
        color: #000000 !important;
        border-radius: 0 !important;
    }

    html body .c-header--mobile .c-header__menu-button i,
    html body .c-header--mobile .c-header__menu-button .ip-hamburger_menu,
    html body .c-header__menu-button-icon,
    html body .c-header__menu-icon,
    .c-header--mobile .c-header__menu-button i,
    .c-header--mobile .c-header__menu-button .ip-hamburger_menu,
    .c-header__menu-button-icon,
    .c-header__menu-icon {
        color: #000000 !important;
        font-size: 22px !important;
        width: auto !important;
        height: auto !important;
        line-height: 1 !important;
        display: inline-block !important;
    }

    /* Mobile Logo */
    .c-header--mobile .c-header__logo {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 0 !important;
        margin: 0 !important;
        height: 48px !important;
        max-height: 48px !important;
        width: auto !important;
    }

    .c-header--mobile .c-header__logo-img,
    .c-header--mobile .c-header__logo-img--mobile {
        display: block !important;
        height: 38px !important;
        max-height: 38px !important;
        width: auto !important;
        max-width: 130px !important;
        object-fit: contain !important;
        margin: 0 auto !important;
    }

    /* Mobile Header Action Icons (User, Cart) */
    html body .c-header--mobile .c-header__button-link,
    html body .c-header--mobile .c-header__button-link i,
    html body .c-header--mobile .c-header__cart-icon,
    html body .c-header--mobile .ip-user,
    html body .c-header--mobile .ip-cart,
    .c-header--mobile .c-header__button-link,
    .c-header--mobile .c-header__button-link i,
    .c-header--mobile .c-header__cart-icon,
    .c-header--mobile .ip-user,
    .c-header--mobile .ip-cart {
        color: #000000 !important;
        font-size: 20px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        line-height: 1 !important;
    }

    .c-header--mobile .cart-badge-count {
        position: absolute !important;
        top: -6px !important;
        right: -10px !important;
        background: #000000 !important;
        color: #f5e8d5 !important;
        font-size: 11px !important;
        font-weight: 700 !important;
        min-width: 18px !important;
        height: 18px !important;
        line-height: 18px !important;
        border-radius: 9px !important;
        text-align: center !important;
        padding: 0 4px !important;
    }

    .c-header--mobile .user-dropdown-menu {
        right: 0 !important;
        left: auto !important;
    }

    /* ==========================================================================
       MOBILE DRAWER MENU (PHONE ONLY) - CLEAN LINKS ONLY
       ========================================================================== */

    /* Hide ALL weird bottom buttons inside mobile drawer menu */
    .c-header__menu-bottom,
    .c-header__menu-bottom-wrap,
    .c-header__menu-bottom--menu,
    .c-header__menu .c-header__cart,
    .c-header__menu .c-header__auth-button {
        display: none !important;
        visibility: hidden !important;
        height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* Drawer menu container & background */
    html body .c-header__menu.c-header--mobile,
    .c-header__menu.c-header--mobile {
        background-color: #f5e8d5 !important;
        z-index: 100000 !important;
        box-shadow: -5px 0 30px rgba(0, 0, 0, 0.15) !important;
    }

    .c-header__menu-shadow {
        background-color: rgba(0, 0, 0, 0.4) !important;
    }

    /* Top bar of drawer with only Close 'X' button */
    .c-header__menu-buttons {
        display: flex !important;
        justify-content: flex-end !important;
        align-items: center !important;
        height: 60px !important;
        padding: 0 20px !important;
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        z-index: 2 !important;
    }

    html body .c-header__menu-close,
    .c-header__menu-close {
        background: transparent !important;
        border: none !important;
        outline: none !important;
        color: #000000 !important;
        font-size: 20px !important;
        cursor: pointer !important;
        padding: 8px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    html body .c-header__menu-close:hover,
    .c-header__menu-close:hover {
        color: #555555 !important;
    }

    .c-header__menu-close-svg {
        color: inherit !important;
        font-size: 18px !important;
    }

    .c-header__menu-back:not(.c-header__menu-back--active) {
        display: none !important;
    }

    /* Menu content area takes full height down to bottom */
    .c-header__menu-content,
    .h-menu-bottom .c-header__menu-content {
        top: 60px !important;
        bottom: 0 !important;
        position: absolute !important;
        left: 0 !important;
        right: 0 !important;
        overflow-y: auto !important;
    }

    .c-header__menu-page {
        padding: 10px 24px 30px 24px !important;
    }

    /* Menu Links List (Clean & Luxurious) */
    .c-header__menu.c-header--mobile .c-mobile-menu__list {
        padding: 0 !important;
        margin: 0 !important;
        list-style: none !important;
    }

    .c-header__menu.c-header--mobile .c-mobile-menu__list li {
        border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    html body .c-header__menu.c-header--mobile .c-mobile-menu__list li a,
    .c-header__menu.c-header--mobile .c-mobile-menu__list li a {
        color: #000000 !important;
        font-size: 15px !important;
        font-weight: 500 !important;
        letter-spacing: 1.2px !important;
        text-transform: uppercase !important;
        display: block !important;
        padding: 14px 0 !important;
        text-decoration: none !important;
        transition: color 0.2s ease, padding-left 0.2s ease !important;
    }

    html body .c-header__menu.c-header--mobile .c-mobile-menu__list li a:hover,
    html body .c-header__menu.c-header--mobile .c-mobile-menu__list li.active a,
    .c-header__menu.c-header--mobile .c-mobile-menu__list li a:hover,
    .c-header__menu.c-header--mobile .c-mobile-menu__list li.active a {
        color: #555555 !important;
        padding-left: 6px !important;
    }
}

/* Hide empty spacer header on single product page */
.c-page-header--product-page {
    display: none !important;
}

/* Slider Banner Images - Full Width & Height Cover */
.c-ip-slider {
    margin-top: 0 !important;
}

.c-ip-slider__item,
.c-ip-slider__item picture {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
}

.c-ip-slider__image,
.c-ip-slider__image--full {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
}

/* Mobile Banner Styles */
@media (max-width: 768px) {
    .c-ip-slider {
        margin-top: 0 !important;
    }

    .c-ip-slider,
    .c-ip-slider__list,
    .c-ip-slider .owl-stage-outer,
    .c-ip-slider .owl-stage,
    .c-ip-slider .owl-item,
    .c-ip-slider__item,
    .c-ip-slider__item picture,
    .c-ip-slider__image,
    .c-ip-slider__image--full {
        height: 200px !important;
        min-height: 200px !important;
        max-height: 200px !important;
    }
}

/* ==========================================================================
   STANDARD MEDIUM SIZE FOR PAGE HEADER BANNERS & ELEMENTOR HERO DIVS
   Reduces oversized 500px banners to balanced medium height (220px desktop, 150px mobile)
   so user does not have to scroll excessively to see content
   ========================================================================== */

.c-page-header:not(.c-page-header--product-page),
.c-page-header--high,
.c-page-header--low,
.c-page-header--default,
.c-page-header--page,
.c-page-header--product-list,
.c-page-header--wc,
.elementor-widget-ideapark-page-header .c-page-header {
    min-height: 220px !important;
    height: 220px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
}

.c-page-header:not(.c-page-header--product-page) .c-page-header__wrap,
.c-page-header--high .c-page-header__wrap,
.c-page-header--low .c-page-header__wrap,
.c-page-header--product-list .c-page-header__wrap {
    min-height: 220px !important;
    height: 220px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 15px !important;
}

.c-page-header:not(.c-page-header--product-page) .c-page-header__title,
.c-page-header--high .c-page-header__title,
.c-page-header--low .c-page-header__title,
.c-page-header--product-list .c-page-header__title {
    font-size: 38px !important;
    letter-spacing: 2px !important;
    margin: 0 !important;
    line-height: 1.2 !important;
    text-align: center !important;
}

/* Ensure any page-header widget inside elementor-container has medium proportion */
.elementor-widget-ideapark-page-header .c-page-header,
.elementor-widget-ideapark-page-header .c-page-header--high,
.elementor-widget-ideapark-page-header .c-page-header--low {
    min-height: 220px !important;
    height: 220px !important;
    padding: 0 !important;
}

/* Compact spacing for sections following page banners */
.elementor-8 .elementor-element.elementor-element-f7b080a {
    margin-top: 40px !important;
}

.elementor-8 .elementor-element.elementor-element-d5aa12f {
    margin-top: 50px !important;
}

/* Mobile & Tablet Medium Responsive */
@media (max-width: 768px) {

    .c-page-header:not(.c-page-header--product-page),
    .c-page-header--high,
    .c-page-header--low,
    .c-page-header--default,
    .c-page-header--page,
    .c-page-header--product-list,
    .c-page-header--wc,
    .elementor-widget-ideapark-page-header .c-page-header,
    .elementor-widget-ideapark-page-header .c-page-header--high,
    .elementor-widget-ideapark-page-header .c-page-header--low {
        min-height: 150px !important;
        height: 150px !important;
        padding: 0 !important;
    }

    .c-page-header:not(.c-page-header--product-page) .c-page-header__wrap,
    .c-page-header--high .c-page-header__wrap,
    .c-page-header--low .c-page-header__wrap,
    .c-page-header--product-list .c-page-header__wrap {
        min-height: 150px !important;
        height: 150px !important;
        margin-top: 0 !important;
    }

    .c-page-header:not(.c-page-header--product-page) .c-page-header__title,
    .c-page-header--high .c-page-header__title,
    .c-page-header--low .c-page-header__title,
    .c-page-header--product-list .c-page-header__title {
        font-size: 26px !important;
        letter-spacing: 1px !important;
    }

    .elementor-8 .elementor-element.elementor-element-f7b080a {
        margin-top: 30px !important;
    }
}

/* ==========================================================================
   FOOTER BACKGROUND (#f5e8d5) AND TEXT/ICON COLORS (BLACK)
   ========================================================================== */

html body footer.c-footer,
html body .c-footer,
html body .c-footer .l-section,
html body .c-footer .elementor-57,
html body .c-footer .elementor-element-720db9e8,
html body .c-footer .elementor-top-section,
html body .c-footer .elementor-section,
footer.c-footer,
.c-footer,
.c-footer .l-section,
.c-footer .elementor-57,
.c-footer .elementor-element-720db9e8,
.c-footer .elementor-top-section,
.c-footer .elementor-section {
    background: #f5e8d5 !important;
    background-color: #f5e8d5 !important;
    background-image: none !important;
    color: #000000 !important;
}

.c-footer .elementor-background-overlay {
    display: none !important;
    background: transparent !important;
    background-image: none !important;
}

/* All footer text, links, headings, and icons */
.c-footer a,
.c-footer p,
.c-footer span,
.c-footer i,
.c-footer li,
.c-footer div,
.c-footer .c-ip-inline-menu__item a,
.c-footer .c-ip-inline-menu__separator,
.c-footer .elementor-icon-list-item,
.c-footer .elementor-icon-list-item a,
.c-footer .elementor-icon-list-icon i,
.c-footer .elementor-icon-list-text,
.c-footer .c-ip-social__link,
.c-footer .c-ip-social__link i,
.c-footer .c-ip-social__icon,
.c-footer .c-ip-heading,
.c-footer .c-ip-heading__inner,
.c-footer .footer-address-content,
.c-footer .footer-address-content p,
.c-footer .footer-address-content span,
.c-footer .footer-address-content b,
.c-footer .footer-address-content strong {
    color: #000000 !important;
}

/* Hover States */
.c-footer .c-ip-inline-menu__item a:hover,
.c-footer .elementor-icon-list-item a:hover,
.c-footer .elementor-icon-list-item a:hover .elementor-icon-list-text,
.c-footer .elementor-icon-list-item a:hover .elementor-icon-list-icon i,
.c-footer .c-ip-social__link:hover,
.c-footer .c-ip-social__link:hover i,
.c-footer .elementor-element-24cb5cec a:hover,
.c-footer .elementor-element-70e42022 a:hover {
    color: #555555 !important;
}