/*
 Theme Name:   ICD3S Theme
 Theme URI:    https://icd3s.com
 Description:  Custom theme for ICD - Servers. Scale. Support.
 Author:       ICD Group
 Author URI:   https://icloudist.com
 Template:     shoptimizer
 Version:      1.0.3
 Text Domain:  icd3s-theme
*/

/* ==========================================================================
   FIX: Homepage Elementor content left/right edge cutoff (Feb 9, 2026)
   ========================================================================== */

.entry-content > [data-elementor-type] {
    padding-left: 42px;
    padding-right: 42px;
    box-sizing: border-box;
    max-width: 100%;
    overflow-x: hidden;
}
@media (max-width: 1024px) {
    .entry-content > [data-elementor-type] {
        padding-left: 20px;
        padding-right: 20px;
    }
}
@media (max-width: 768px) {
    .entry-content > [data-elementor-type] {
        padding-left: 15px;
        padding-right: 15px;
    }
}
.entry-content .woocommerce ul.products {
    overflow: visible;
    margin-left: 0;
}
.entry-content .woocommerce .products .product-category {
    margin-left: 0;
}

/* ==========================================================================
   MOBILE: Logo left-aligned, proper size (Mar 1, 2026)
   Shoptimizer parent uses flex-direction:column + align-items:center
   which centers logo. Override align-items to flex-start for left-align.
   ========================================================================== */

@media (max-width: 992px) {
    /* Override Shoptimizer's centered column flex layout */
    .site-header .site-branding {
        align-items: flex-start !important;
        text-align: left !important;
        padding-left: 70px !important;
    }
    .site-header .site-logo-anchor,
    .site-header .custom-logo-link {
        text-align: left !important;
        margin-left: 0 !important;
    }
    .site-header .site-logo-anchor img,
    .site-header .custom-logo-link img,
    .site-header .custom-logo {
        max-height: 34px !important;
        width: auto !important;
        height: 34px !important;
    }

    /* FORCE dark text on white header - prevent white-on-white */
    .site-header,
    .site-header .site-branding,
    .site-header .site-branding * {
        color: #111 !important;
    }
    .menu-toggle,
    .menu-toggle .bar-text {
        color: #111 !important;
    }
    .menu-toggle .bar {
        background-color: #111 !important;
    }
    .shoptimizer-cart a.cart-contents,
    .shoptimizer-cart .cart-contents .count,
    .shoptimizer-cart .amount,
    .site-header-cart a,
    .site-header-cart .count {
        color: #111 !important;
    }
    .shoptimizer-myaccount a,
    .shoptimizer-myaccount svg {
        color: #111 !important;
        stroke: #111 !important;
    }
    .site-header,
    body:not(.header-4) .site-header {
        background-color: #fff !important;
    }
    .site-branding button.menu-toggle,
    .site-branding button.menu-toggle:hover {
        background-color: #fff !important;
        color: #111 !important;
    }
}

/* Desktop logo - ensure proper size */
.site-header .site-logo-anchor img,
.site-header .custom-logo-link img,
.site-header .custom-logo {
    max-height: 48px;
    width: auto;
}

/* ==========================================================================
   PREMIUM FOOTER - Multinational Enterprise Style (Feb 9, 2026)
   Using !important to override parent Shoptimizer theme defaults
   ========================================================================== */

/* Footer headings - OVERRIDE parent theme + customizer inline CSS */
footer.site-footer .widget .widget-title,
footer.site-footer .widget .gamma,
footer.site-footer .col-full .widget .widget-title,
footer.site-footer .widget h4,
footer.site-footer .textwidget h4 {
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    margin-bottom: 20px !important;
    position: relative !important;
    padding-bottom: 12px !important;
}
footer.site-footer .widget .widget-title::after,
footer.site-footer .widget .gamma::after,
footer.site-footer .col-full .widget .widget-title::after,
footer.site-footer .widget h4::after,
footer.site-footer .textwidget h4::after {
    content: '' !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 30px !important;
    height: 2px !important;
    background: #7B2FAF !important;
    display: block !important;
}

/* Footer links - OVERRIDE parent theme */
footer.site-footer .widget ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
footer.site-footer .widget ul li {
    margin-bottom: 10px !important;
    padding: 0 !important;
}
footer.site-footer .widget ul li a {
    color: rgba(255,255,255,0.6) !important;
    text-decoration: none !important;
    font-size: 14px !important;
    transition: color 0.3s ease, padding-left 0.3s ease !important;
}
footer.site-footer .widget ul li a:hover {
    color: #7B2FAF !important;
    padding-left: 4px !important;
    text-decoration: none !important;
}

/* Social icons - white outlined circles - OVERRIDE parent */
footer .icd-social {
    display: flex !important;
    gap: 10px !important;
    margin-top: 24px !important;
    flex-wrap: wrap !important;
}
footer .icd-social a,
footer.site-footer .icd-social a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 36px !important;
    height: 36px !important;
    border: 1.5px solid rgba(255,255,255,0.3) !important;
    border-radius: 50% !important;
    color: rgba(255,255,255,0.7) !important;
    font-size: 15px !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
    margin-right: 0 !important;
}
footer .icd-social a:hover,
footer.site-footer .icd-social a:hover {
    border-color: #7B2FAF !important;
    color: #7B2FAF !important;
    background: rgba(123,47,175,0.08) !important;
    transform: translateY(-3px) !important;
    text-decoration: none !important;
}
footer .icd-social a i,
footer.site-footer .icd-social a i {
    color: inherit !important;
}

/* Contact items with icons - OVERRIDE parent */
footer .icd-contact-row,
footer.site-footer .icd-contact-row {
    display: flex !important;
    align-items: flex-start !important;
    gap: 14px !important;
    margin-bottom: 16px !important;
    color: rgba(255,255,255,0.6) !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
}
footer .icd-contact-row i,
footer.site-footer .icd-contact-row i {
    color: #7B2FAF !important;
    font-size: 16px !important;
    width: 18px !important;
    text-align: center !important;
    flex-shrink: 0 !important;
    margin-top: 3px !important;
}
footer .icd-contact-row a,
footer.site-footer .icd-contact-row a {
    color: rgba(255,255,255,0.6) !important;
    text-decoration: none !important;
    transition: color 0.3s ease !important;
}
footer .icd-contact-row a:hover,
footer.site-footer .icd-contact-row a:hover {
    color: #7B2FAF !important;
    text-decoration: none !important;
}

/* Brand tagline in footer */
footer .icd-brand-tagline,
footer.site-footer .icd-brand-tagline {
    color: #7B2FAF !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    letter-spacing: 0.5px !important;
    margin-bottom: 14px !important;
}
footer .icd-brand-desc,
footer.site-footer .icd-brand-desc {
    color: rgba(255,255,255,0.5) !important;
    font-size: 13px !important;
    line-height: 1.7 !important;
    margin-bottom: 0 !important;
}

/* Override Shoptimizer customizer inline: .widget .widget-title { font-size: 13px } */
.widget .widget-title {
    font-size: 14px !important;
}
footer.site-footer .widget.widget_text .widget-title {
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    margin-bottom: 20px !important;
    position: relative !important;
    padding-bottom: 12px !important;
}
footer.site-footer .widget.widget_text .widget-title::after {
    content: '' !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 30px !important;
    height: 2px !important;
    background: #7B2FAF !important;
    display: block !important;
}

/* ==========================================================================
   COPYRIGHT BAR - ICD Brand Style
   ========================================================================== */

footer.copyright {
    border-top: 1px solid rgba(255,255,255,0.08) !important;
    padding: 24px 0 !important;
}
footer.copyright .col-full {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
}
footer.copyright .widget {
    text-align: center !important;
}
footer.copyright .widget .textwidget,
footer.copyright .widget .textwidget p {
    margin: 0 !important;
    text-align: center !important;
}
footer.copyright .icd-copyright-brand {
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    letter-spacing: 0.5px !important;
    display: block !important;
    margin-bottom: 4px !important;
}
footer.copyright .icd-copyright-tagline {
    color: #7B2FAF !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    display: block !important;
}

/* ==========================================================================
   MOBILE RESPONSIVE
   ========================================================================== */

@media (max-width: 768px) {
    footer .icd-social,
    footer.site-footer .icd-social {
        justify-content: flex-start !important;
    }
    footer.site-footer .widget {
        margin-bottom: 30px !important;
    }
    footer.copyright .col-full {
        flex-direction: column !important;
        text-align: center !important;
    }
}

/* ==========================================================================
   ICD3S SHOP FIXES - Product Cards & Gallery (Feb 11, 2026)
   ========================================================================== */

/* FIX 1: Uniform image containers on shop listing */
.woocommerce ul.products li.product .woocommerce-image__wrapper {
    height: 280px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    background: #fff !important;
}

.woocommerce ul.products li.product .shoptimizer-plp-image-wrapper {
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.woocommerce ul.products li.product img.attachment-woocommerce_thumbnail,
.woocommerce ul.products li.product .shoptimizer-plp-image-wrapper img {
    max-height: 260px !important;
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
    margin: 0 auto !important;
}

/* FIX 2: Product detail page - limit image size */
.woocommerce div.product div.images img {
    max-height: 450px !important;
    width: auto !important;
    max-width: 100% !important;
    object-fit: contain !important;
    margin: 0 auto !important;
    display: block !important;
}

.woocommerce div.product div.images .woocommerce-product-gallery__image {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #fff !important;
}

/* FIX 3: Gallery thumbnails styling (if gallery enabled) */
.woocommerce div.product div.images .flex-control-thumbs {
    display: flex !important;
    gap: 8px !important;
    margin-top: 10px !important;
    padding: 0 !important;
}

.woocommerce div.product div.images .flex-control-thumbs li {
    width: 70px !important;
    height: 70px !important;
    overflow: hidden !important;
    border: 1px solid #ddd !important;
    border-radius: 4px !important;
    cursor: pointer !important;
}

.woocommerce div.product div.images .flex-control-thumbs li img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
}

/* FIX 4: Related products uniform */
.woocommerce .related ul.products li.product .woocommerce-image__wrapper,
.woocommerce .upsells ul.products li.product .woocommerce-image__wrapper {
    height: 200px !important;
}

/* ==========================================================================
   ICD3S SHOP FIXES v2 - Feb 11, 2026
   Uniform card heights, title clamping, gallery improvements
   ========================================================================== */

/* FIX: Uniform card heights - clamp product titles to 2 lines max */
.woocommerce ul.products li.product .woocommerce-loop-product__title a,
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    min-height: 48px !important;
    line-height: 1.3 !important;
}

/* FIX: Product card uniform height */
.woocommerce ul.products li.product .woocommerce-card__header {
    min-height: 120px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
}

/* FIX: Category text uniform */
.woocommerce ul.products li.product .product__categories {
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    min-height: 20px !important;
}

/* FIX: Product detail - better image presentation */
.woocommerce div.product div.images {
    background: #fff !important;
    border-radius: 8px !important;
    padding: 15px !important;
}

/* FIX: Gallery thumbnails row - enhanced */
.woocommerce div.product div.images .flex-control-thumbs {
    display: flex !important;
    gap: 8px !important;
    margin-top: 12px !important;
    padding: 0 !important;
    list-style: none !important;
}

.woocommerce div.product div.images .flex-control-thumbs li {
    width: 70px !important;
    height: 70px !important;
    flex-shrink: 0 !important;
    border: 2px solid #eee !important;
    border-radius: 6px !important;
    overflow: hidden !important;
    cursor: pointer !important;
    transition: border-color 0.2s !important;
}

.woocommerce div.product div.images .flex-control-thumbs li:hover,
.woocommerce div.product div.images .flex-control-thumbs li.flex-active {
    border-color: #4D067B !important;
}

.woocommerce div.product div.images .flex-control-thumbs li img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
}

/* FIX: Related products section */
.woocommerce .related > h2,
.woocommerce .upsells > h2 {
    font-size: 1.4em !important;
    margin-bottom: 20px !important;
}

/* FIX: Add to Quote button consistent */
.woocommerce ul.products li.product .button.add_to_cart_button {
    margin-top: auto !important;
    width: 100% !important;
    text-align: center !important;
}

/* FIX: Mobile responsive adjustments - v2 */
@media (max-width: 768px) {
    .woocommerce ul.products li.product .woocommerce-image__wrapper {
        height: 200px !important;
    }
    .woocommerce ul.products li.product img.attachment-woocommerce_thumbnail,
    .woocommerce ul.products li.product .shoptimizer-plp-image-wrapper img {
        max-height: 180px !important;
    }
    .woocommerce div.product div.images img {
        max-height: 300px !important;
    }
}

@media (max-width: 480px) {
    .woocommerce ul.products li.product .woocommerce-image__wrapper {
        height: 150px !important;
    }
    .woocommerce ul.products li.product img.attachment-woocommerce_thumbnail,
    .woocommerce ul.products li.product .shoptimizer-plp-image-wrapper img {
        max-height: 130px !important;
    }
}

/* === ICD3S SHOP FIXES v3 - Feb 11, 2026 === */
/* FIX: Category pages left-cutting / not centered */
/* ROOT CAUSE: Shoptimizer only targets .post-type-archive-product for full-width */
/* Category pages have .tax-product_cat class instead - gets 76% width + float:right */
/* This leaves empty space on left where non-existent sidebar would be */
.tax-product_cat.shoptimizer-full-width-content .content-area,
.tax-product_cat .content-area {
    width: 100% !important;
    float: none !important;
    margin: 0 auto !important;
}

/* Also fix search results and tag pages (same issue) */
.search-results .content-area,
.tax-product_tag .content-area {
    width: 100% !important;
    float: none !important;
    margin: 0 auto !important;
}

/* Ensure ALL WooCommerce pages are full-width when no sidebar present */
body.woocommerce:not(.left-woocommerce-sidebar) .content-area,
body.woocommerce-page:not(.left-woocommerce-sidebar) .content-area {
    width: 100% !important;
    float: none !important;
}

/* Hide empty sidebar wrapper on full-width pages */
.shoptimizer-full-width-content .widget-area,
.tax-product_cat .widget-area:empty {
    display: none !important;
}

/* === ICD3S SHOP FIXES v4 - Feb 11, 2026 === */
/* FIX: Homepage and ALL pages not centered - shifted 7.5px to the left */
/* ROOT CAUSE: Shoptimizer main.min.css has html { scrollbar-gutter: stable } */
/* This reserves 15px on the RIGHT for scrollbar, making body 1905px instead of 1920px */
/* All content becomes asymmetric: 42px left gap vs 57px right gap */
html {
    scrollbar-gutter: auto !important;
}

/* === HOMEPAGE CATEGORY & PRODUCT GRID - Mobile Fix (Feb 11, 2026) === */
/* FIX: wpautop was wrapping shortcodes in <p> tags, creating invalid <p><div> HTML */
/* SOLUTION: Wrapped shortcodes in <div> wrapper + CSS for proper mobile centering */

/* Category grid wrapper - prevent wpautop interference */
.icd-category-grid,
.icd-products-grid {
    clear: both;
    width: 100%;
}

/* Mobile: Center category cards and product cards */
@media (max-width: 768px) {
    /* Center the product grid within its container */
    .icd-category-grid ul.products,
    .icd-products-grid ul.products {
        justify-content: center;
        padding-left: 10px;
        padding-right: 10px;
    }

    /* Center text inside category cards */
    .icd-category-grid .product-category,
    .icd-category-grid .product-category a,
    .icd-category-grid .product-category h2,
    .icd-category-grid .product-category .count {
        text-align: center;
    }

    /* Center product card text on mobile */
    .icd-products-grid .product .woocommerce-loop-product__title,
    .icd-products-grid .product .price {
        text-align: center;
    }

    /* Ensure category images are centered */
    .icd-category-grid .product-category a img {
        margin-left: auto;
        margin-right: auto;
        display: block;
    }
}

/* Tablet: Ensure proper grid alignment */
@media (max-width: 992px) and (min-width: 769px) {
    .icd-category-grid ul.products,
    .icd-products-grid ul.products {
        justify-content: center;
    }
}


/* Hide product count */
.product-category .woocommerce-loop-category__title .count {
    display: none !important;
}

/* === GENIUS HEADER REDESIGN v3 (Feb 11, 2026) === */
/* Clean, compact white navigation - ALL items same style */

/* --- Navigation bar: WHITE, compact, subtle border --- */
.col-full-nav {
    background-color: #ffffff !important;
    border-bottom: 1px solid #eee !important;
}

/* --- Compact nav height --- */
.menu-primary-menu-container > ul > li > a,
.menu-primary-menu-container > ul > li.nolink > span,
.site-header-cart,
.logo-mark {
    line-height: 44px !important;
}
.site-header-cart,
.menu-primary-menu-container > ul > li.menu-button {
    height: 44px !important;
}

/* --- ALL nav links: Same dark text, same style --- */
.main-navigation ul li a,
.main-navigation .menu > li > a,
.main-navigation .menu > li:last-child > a {
    color: #333 !important;
    background: none !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    padding: 0 16px !important;
    border-radius: 0 !important;
    letter-spacing: 0 !important;
    margin: 0 !important;
    transform: none !important;
}

/* --- Hover: red accent for ALL nav items --- */
.main-navigation ul li a:hover,
.main-navigation .menu > li > a:hover,
.main-navigation .menu > li:last-child > a:hover,
.main-navigation .menu > li.current-menu-item > a {
    color: #4D067B !important;
    background: none !important;
}

/* --- Dropdown menus: white with shadow --- */
.main-navigation ul.sub-menu,
.main-navigation .menu ul {
    background: #fff !important;
    border: 1px solid #eee !important;
    box-shadow: 0 4px 16px rgba(0,0,0,0.08) !important;
}
.main-navigation ul.sub-menu li a {
    color: #555 !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    padding: 8px 16px !important;
}
.main-navigation ul.sub-menu li a:hover {
    color: #4D067B !important;
    background: #f5edf8 !important;
}

/* --- Top bar trust signals styling --- */
.top-bar-center .textwidget p {
    font-size: 13px;
    letter-spacing: 0.3px;
}
.top-bar-center .textwidget i {
    margin-right: 3px;
    opacity: 0.85;
}

/* --- Cart / Account icons: dark on white nav --- */
.site-header-cart .cart-contents,
.shoptimizer-cart .cart-contents,
.site-header-cart a,
.shoptimizer-account-login a {
    color: #333 !important;
}
.site-header-cart .cart-contents:hover,
.shoptimizer-account-login a:hover {
    color: #4D067B !important;
}

/* --- Cart: clean count display (no text label) --- */
.shoptimizer-cart .cart-contents .count::before {
    content: none !important;
    display: none !important;
}

/* --- Search bar: subtle border on white nav --- */
.site-search .search-field {
    border: 1px solid #ddd !important;
    border-radius: 4px !important;
}
.site-search .search-field:focus {
    border-color: #4D067B !important;
}

/* --- Hide empty Below Header bar (widget removed) --- */
.below-header,
.shoptimizer-below-header,
.header-1-wrapper,
.header-widget-region,
[class*="below-header"] {
    display: none !important;
}

/* --- Hide empty secondary nav area (items removed) --- */
.secondary-navigation .menu:empty,
.secondary-navigation ul:empty {
    display: none;
}

/* --- Mobile: nav items same style --- */
@media (max-width: 768px) {
    .shoptimizer-mobile-menu .menu > li:last-child > a {
        color: #333 !important;
        background: none !important;
        font-weight: 600 !important;
    }
}

/* === FOOTER: ICD Logo === */
footer.site-footer .icd-footer-logo {
    max-height: 45px !important;
    width: auto !important;
    margin-bottom: 16px !important;
    display: block !important;
}
footer.site-footer .icd-footer-logo-white {
    filter: brightness(0) invert(1) !important;
    max-height: 45px !important;
    width: auto !important;
    margin-bottom: 16px !important;
    display: block !important;
}

/* ============================================================
   PREMIUM REDESIGN v6.0 — Phases 2-5
   WooCommerce Shop, Product Detail, Nav, My Account
   ============================================================ */

/* ================================================================
   PHASE 2: WooCommerce Shop Page — Premium Cards
   ================================================================ */

/* Card hover lift + purple shadow */
.woocommerce ul.products li.product {
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease !important;
    border: 1.5px solid #ece8e0 !important;
    border-radius: 12px !important;
    overflow: hidden !important;
}
.woocommerce ul.products li.product:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 12px 32px rgba(77,6,123,0.10), 0 4px 12px rgba(0,0,0,0.04) !important;
    border-color: rgba(77,6,123,0.15) !important;
}

/* Image zoom on hover */
.woocommerce ul.products li.product .woocommerce-image__wrapper {
    transition: none !important;
}
.woocommerce ul.products li.product .woocommerce-image__wrapper img {
    transition: transform 0.4s ease !important;
}
.woocommerce ul.products li.product:hover .woocommerce-image__wrapper img {
    transform: scale(1.06) !important;
}

/* Category text as badge */
.woocommerce ul.products li.product .product__categories,
.woocommerce ul.products li.product .product__categories a {
    text-transform: uppercase !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: 1px !important;
    color: #4D067B !important;
    background: #f5edf8 !important;
    display: inline-block !important;
    padding: 3px 10px !important;
    border-radius: 20px !important;
    text-decoration: none !important;
}

/* Product title hover → purple */
.woocommerce ul.products li.product .woocommerce-loop-product__title a:hover,
.woocommerce ul.products li.product a:hover .woocommerce-loop-product__title {
    color: #4D067B !important;
}

/* Add to Quote button — purple, rounded, premium */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .button.add_to_cart_button {
    background: #4D067B !important;
    color: #fff !important;
    border: none !important;
    border-radius: 8px !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    letter-spacing: 0.3px !important;
    padding: 10px 16px !important;
    transition: background 0.2s, box-shadow 0.2s, transform 0.15s !important;
}
.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product .button.add_to_cart_button:hover {
    background: #3A0460 !important;
    box-shadow: 0 4px 14px rgba(77,6,123,0.25) !important;
    transform: translateY(-1px) !important;
}

/* Card border turns purple-tinted on hover */
.woocommerce ul.products li.product:hover {
    border-color: rgba(77,6,123,0.20) !important;
}

/* ================================================================
   PHASE 3: Product Detail Pages — Premium
   ================================================================ */

/* Gallery frame */
.woocommerce div.product div.images {
    border: 1.5px solid #ece8e0 !important;
    border-radius: 14px !important;
    box-shadow: 0 2px 12px rgba(0,0,0,0.04) !important;
    padding: 16px !important;
}

/* Product title */
.woocommerce div.product .product_title {
    font-size: 28px !important;
    font-weight: 800 !important;
    letter-spacing: -0.5px !important;
}

/* SKU display — monospace, purple bg chip */
.woocommerce div.product .sku_wrapper,
.woocommerce div.product .sku {
    font-family: 'SF Mono', 'Fira Code', 'Consolas', monospace !important;
}
.woocommerce div.product .sku {
    background: #f5edf8 !important;
    color: #4D067B !important;
    padding: 3px 10px !important;
    border-radius: 6px !important;
    font-weight: 700 !important;
    font-size: 13px !important;
}

/* Add to Quote button — purple, uppercase, premium */
.woocommerce div.product .single_add_to_cart_button,
.woocommerce div.product form.cart .button {
    background: #4D067B !important;
    color: #fff !important;
    border: none !important;
    border-radius: 10px !important;
    text-transform: uppercase !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    letter-spacing: 0.5px !important;
    padding: 14px 28px !important;
    transition: background 0.2s, box-shadow 0.25s, transform 0.15s !important;
}
.woocommerce div.product .single_add_to_cart_button:hover,
.woocommerce div.product form.cart .button:hover {
    background: #3A0460 !important;
    box-shadow: 0 6px 20px rgba(77,6,123,0.3) !important;
    transform: translateY(-1px) !important;
}

/* Tab headers — purple active underline */
.woocommerce div.product .woocommerce-tabs ul.tabs li {
    border-bottom: 3px solid transparent !important;
    transition: border-color 0.2s !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
    border-bottom-color: #4D067B !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
    color: #4D067B !important;
    font-weight: 700 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
    color: #4D067B !important;
}

/* Related products h2 — purple gradient underline */
.woocommerce .related > h2,
.woocommerce .upsells > h2 {
    position: relative !important;
    display: inline-block !important;
    padding-bottom: 10px !important;
}
.woocommerce .related > h2::after,
.woocommerce .upsells > h2::after {
    content: '' !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 40px !important;
    height: 3px !important;
    background: linear-gradient(90deg, #4D067B, #7B2FAF) !important;
    border-radius: 2px !important;
}

/* Gallery thumbnails — purple hover border + shadow */
.woocommerce div.product div.images .flex-control-thumbs li:hover {
    border-color: #4D067B !important;
    box-shadow: 0 2px 8px rgba(77,6,123,0.15) !important;
}

/* ================================================================
   PHASE 4: Header Navigation Polish
   ================================================================ */

/* Dropdown menu — better radius, stronger shadow, padding */
.main-navigation ul.sub-menu,
.main-navigation .menu ul {
    border-radius: 8px !important;
    box-shadow: 0 8px 32px rgba(0,0,0,0.10), 0 2px 8px rgba(0,0,0,0.04) !important;
    padding: 6px !important;
    border: 1px solid #f0f0f0 !important;
}

/* Dropdown items — left accent bar on hover */
.main-navigation ul.sub-menu li a {
    border-left: 3px solid transparent !important;
    border-radius: 6px !important;
    transition: all 0.2s ease !important;
}
.main-navigation ul.sub-menu li a:hover {
    border-left-color: #4D067B !important;
    padding-left: 13px !important;
}

/* Active nav item — purple underline indicator */
.main-navigation .menu > li.current-menu-item > a::after,
.main-navigation .menu > li.current-menu-ancestor > a::after {
    content: '' !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 16px !important;
    right: 16px !important;
    height: 2px !important;
    background: #4D067B !important;
    border-radius: 2px !important;
}
.main-navigation .menu > li > a {
    position: relative !important;
}

/* ================================================================
   PHASE 5: My Account Dashboard — Premium
   ================================================================ */

/* Account nav — purple left border on active, hover transition */
.woocommerce-MyAccount-navigation ul li {
    transition: background 0.2s, border-color 0.2s !important;
    border-left: 3px solid transparent !important;
}
.woocommerce-MyAccount-navigation ul li.is-active,
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--quote-requests.is-active {
    border-left-color: #4D067B !important;
    background: #f5edf8 !important;
}
.woocommerce-MyAccount-navigation ul li.is-active a {
    color: #4D067B !important;
    font-weight: 700 !important;
}
.woocommerce-MyAccount-navigation ul li:hover {
    background: #faf5fc !important;
    border-left-color: rgba(77,6,123,0.3) !important;
}
.woocommerce-MyAccount-navigation ul li a:hover {
    color: #4D067B !important;
}

/* Content area — white bg, cream border, frame */
.woocommerce-MyAccount-content {
    background: #fff !important;
    border: 1.5px solid #ece8e0 !important;
    border-radius: 12px !important;
    padding: 28px !important;
}

/* Orders table — cream header, purple column headers */
.woocommerce-MyAccount-content table.woocommerce-orders-table thead tr,
.woocommerce-MyAccount-content .woocommerce-orders-table thead tr {
    background: linear-gradient(180deg, #FAF4E2, #F5EFD8) !important;
}
.woocommerce-MyAccount-content table.woocommerce-orders-table thead th,
.woocommerce-MyAccount-content .woocommerce-orders-table thead th {
    color: #4D067B !important;
    text-transform: uppercase !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.8px !important;
    padding: 12px 14px !important;
}

/* View button — purple, rounded */
.woocommerce-MyAccount-content .woocommerce-button,
.woocommerce-MyAccount-content .button {
    background: #4D067B !important;
    color: #fff !important;
    border: none !important;
    border-radius: 6px !important;
    font-weight: 600 !important;
    font-size: 12px !important;
    padding: 6px 14px !important;
    transition: background 0.2s, transform 0.15s !important;
}
.woocommerce-MyAccount-content .woocommerce-button:hover,
.woocommerce-MyAccount-content .button:hover {
    background: #3A0460 !important;
    transform: translateY(-1px) !important;
}

/* Welcome box — CSS class (replacing inline styles in functions.php) */
.icd-dashboard-welcome {
    background: linear-gradient(135deg, #f5edf8 0%, #faf5fc 50%, #FAF4E2 100%) !important;
    border-left: 4px solid #4D067B !important;
    padding: 24px 28px !important;
    margin-bottom: 28px !important;
    border-radius: 8px !important;
    box-shadow: 0 2px 12px rgba(77,6,123,0.06) !important;
}
.icd-dashboard-welcome h3 {
    margin: 0 0 8px 0 !important;
    color: #4D067B !important;
    font-size: 19px !important;
    font-weight: 700 !important;
}
.icd-dashboard-welcome p {
    margin: 0 !important;
    color: #555 !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
}

/* Dashboard quotes table — enhanced */
.icd-dashboard-quotes h4 {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #222 !important;
}
.icd-dashboard-quotes table thead tr {
    background: linear-gradient(180deg, #FAF4E2, #F5EFD8) !important;
}
.icd-dashboard-quotes table thead th {
    color: #4D067B !important;
    text-transform: uppercase !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.8px !important;
}

/* ============================================================
   Sticky Mobile "Add to Quote" Bottom Bar
   ============================================================ */
.icd-sticky-atq {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 999;
    background: #000;
    border-top: 2px solid #4D067B;
    transform: translateY(100%);
    transition: transform 0.3s ease;
    display: none; /* desktop: hidden */
}
.icd-sticky-atq--visible {
    transform: translateY(0);
}
.icd-sticky-atq__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 16px;
    max-width: 100%;
}
.icd-sticky-atq__info {
    flex: 1;
    min-width: 0;
    overflow: hidden;
}
.icd-sticky-atq__title {
    color: #fff;
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: block;
}
.icd-sticky-atq__btn {
    flex-shrink: 0;
    background: #4D067B;
    color: #fff;
    border: none;
    border-radius: 8px;
    padding: 12px 24px;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    cursor: pointer;
    transition: background 0.2s;
    white-space: nowrap;
}
.icd-sticky-atq__btn:hover,
.icd-sticky-atq__btn:active {
    background: #3A0460;
}

/* Show only on mobile/tablet */
@media (max-width: 768px) {
    .icd-sticky-atq {
        display: block;
    }
    /* Add bottom padding to body so footer isn't hidden behind sticky bar */
    body.single-product {
        padding-bottom: 70px;
    }
}


/* ==========================================================================
   REFINED: Page title & breadcrumb (Mar 1, 2026)
   Theme default entry-title is 42px — too heavy and unprofessional.
   Reduced to 26px for clean, modern look matching website quality.
   Affects all standard template pages (NOT Elementor Canvas pages).
   ========================================================================== */

.entry-header {
    margin-bottom: 12px;
}

.entry-header .entry-title {
    font-size: 26px;
    font-weight: 700;
    letter-spacing: -0.5px;
    line-height: 1.25;
    color: #1a1a1a;
}

.woocommerce-breadcrumb {
    font-size: 12px;
    color: #999;
    padding: 10px 0 2px;
}

.woocommerce-breadcrumb a {
    color: #7B2FAF;
    text-decoration: none;
}

.woocommerce-breadcrumb a:hover {
    color: #4D067B;
}

.woocommerce-breadcrumb .breadcrumb-separator {
    color: #ccc;
    margin: 0 2px;
}

@media (max-width: 768px) {
    .entry-header .entry-title {
        font-size: 22px;
    }
}
