/* Simple View Toggle Icons - Inside Breadcrumbs */
.breadcrumb .view-toggle-container {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-left: 15px;
    padding-left: 15px;
    border-left: 1px solid #ddd;
}

.breadcrumb .view-toggle-btn {
    background: transparent;
    border: 1px solid #ddd;
    color: #666;
    padding: 4px 8px;
    border-radius: 4px;
    cursor: pointer;
    font-size: 12px;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 24px;
    height: 24px;
}

.breadcrumb .view-toggle-btn:hover {
    background: #f8f9fa;
    border-color: #aaa;
    color: #333;
}

.breadcrumb .view-toggle-btn.active {
    background: #007cba;
    border-color: #007cba;
    color: white;
}

.breadcrumb .view-toggle-btn.active:hover {
    background: #005a87;
    border-color: #005a87;
}

/* Hide the old flashy container */
.view-toggle-container:not(.breadcrumb .view-toggle-container) {
    display: none !important;
}

/* ====================================
   COMPACT PRODUCT CARDS - TILES VIEW
   ==================================== */

.products-container[data-view="tiles"] .product-item {
    margin-bottom: 25px !important;
    display: flex !important;
    flex-direction: column !important;
}

.products-container[data-view="tiles"] .product-default {
    border: 1px solid #eee !important;
    border-radius: 8px !important;
    padding: 15px !important;
    background: white !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06) !important;
    transition: all 0.3s ease !important;
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    min-height: 380px !important;
    /* Reduced from 480px */
}

.products-container[data-view="tiles"] .product-default:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.1) !important;
    border-color: #007cba !important;
}

/* Image container - smaller height */
.products-container[data-view="tiles"] .product-default figure {
    margin-bottom: 12px !important;
    flex-shrink: 0 !important;
    height: 160px !important;
    /* Reduced from 200px */
    overflow: hidden !important;
    border-radius: 6px !important;
    background: #f8f9fa !important;
}

.products-container[data-view="tiles"] .product-default figure img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border-radius: 6px !important;
}

/* Product details container - flexible height */
.products-container[data-view="tiles"] .product-details {
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1 !important;
    justify-content: space-between !important;
}

/* Title section - smaller height */
.products-container[data-view="tiles"] .product-title-section {
    margin-bottom: 10px !important;
    min-height: 45px !important;
    /* Reduced from 60px */
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    /* Ensure container doesn't overflow */
}

.products-container[data-view="tiles"] .product-title {
    font-size: 0.95rem !important;
    line-height: 1.3 !important;
    margin-bottom: 6px !important;
    font-weight: 600 !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    hyphens: auto !important;
    display: block !important;
    overflow: visible !important;
    text-overflow: clip !important;
    flex-grow: 1 !important;
    width: 100% !important;
    /* Ensure full width */
    position: relative !important;
    min-height: 2.6em !important;
    /* Minimum height for consistency */
}

.products-container[data-view="tiles"] .product-title a {
    color: inherit !important;
    text-decoration: none !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    display: block !important;
    /* Ensure link takes full space */
    max-width: 100% !important;
}

/* Price section - compact */
.products-container[data-view="tiles"] .price-box {
    margin: 8px 0 !important;
    font-size: 1.1rem !important;
    font-weight: 600 !important;
    flex-shrink: 0 !important;
    min-height: 25px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Action section - NEW LAYOUT ORDER */
.products-container[data-view="tiles"] .product-action {
    margin-top: auto !important;
    padding-top: 10px !important;
    flex-shrink: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
}

/* Hide original heart and quickview icons at bottom - they are duplicates */
.products-container[data-view="tiles"] .product-action>.btn-icon-wish,
.products-container[data-view="tiles"] .product-action>.btn-quickview {
    display: none !important;
}

/* Also hide them if they're in direct child elements */
.products-container[data-view="tiles"] .product-action .btn-icon-wish:not(.action-buttons-row .btn-icon-wish),
.products-container[data-view="tiles"] .product-action .btn-quickview:not(.action-buttons-row .btn-quickview) {
    display: none !important;
}

/* 1. Heart and View icons at TOP - smaller icons */
.products-container[data-view="tiles"] .action-buttons-row {
    display: flex !important;
    justify-content: center !important;
    gap: 8px !important;
    order: 1 !important;
}

.products-container[data-view="tiles"] .action-buttons-row .btn-icon-wish,
.products-container[data-view="tiles"] .action-buttons-row .btn-quickview {
    flex-shrink: 0 !important;
    width: 28px !important;
    /* Reduced from 36px */
    height: 28px !important;
    /* Reduced from 36px */
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 50% !important;
    font-size: 12px !important;
    /* Smaller icons */
    border: 1px solid #ddd !important;
    background: #fff !important;
    transition: all 0.2s ease !important;
}

.products-container[data-view="tiles"] .action-buttons-row .btn-icon-wish:hover,
.products-container[data-view="tiles"] .action-buttons-row .btn-quickview:hover {
    background: #f8f9fa !important;
    border-color: #007cba !important;
    color: #007cba !important;
}

/* 2. Quantity counter in MIDDLE */
.products-container[data-view="tiles"] .quantity-selector {
    order: 2 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    margin: 6px 0 !important;
    border: 1px solid #ddd !important;
    border-radius: 4px !important;
    background: #fff !important;
    overflow: hidden !important;
    min-width: 120px !important;
    max-width: 140px !important;
}

.products-container[data-view="tiles"] .quantity-selector .qty-btn {
    width: 24px !important;
    height: 24px !important;
    font-size: 12px !important;
    background: #f8f9fa !important;
    border: none !important;
    color: #666 !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    user-select: none !important;
    font-weight: 600 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    pointer-events: auto !important;
}

.products-container[data-view="tiles"] .quantity-selector .qty-btn:hover {
    background: #e9ecef !important;
    color: #333 !important;
}

.products-container[data-view="tiles"] .quantity-selector .qty-btn:disabled {
    background: #f8f9fa !important;
    color: #ccc !important;
    cursor: not-allowed !important;
}

.products-container[data-view="tiles"] .quantity-selector .qty-input {
    width: 40px !important;
    height: 24px !important;
    text-align: center !important;
    font-size: 12px !important;
    border: none !important;
    background: transparent !important;
    font-weight: 600 !important;
    color: #333 !important;
    outline: none !important;
    border-left: 1px solid #eee !important;
    border-right: 1px solid #eee !important;
    margin: 0 !important;
    padding: 0 !important;
    cursor: default !important;
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    -moz-appearance: textfield !important;
}

.products-container[data-view="tiles"] .quantity-selector .qty-input::-webkit-outer-spin-button,
.products-container[data-view="tiles"] .quantity-selector .qty-input::-webkit-inner-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}

/* 3. Add to cart button at BOTTOM */
.products-container[data-view="tiles"] .btn-add-cart {
    width: 100% !important;
    padding: 8px 12px !important;
    /* Reduced padding */
    font-size: 11px !important;
    /* Smaller font */
    font-weight: 600 !important;
    text-align: center !important;
    border-radius: 4px !important;
    order: 3 !important;
}

/* Quantity and cart section - restructured */
.products-container[data-view="tiles"] .quantity-add-to-cart {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 6px !important;
    margin-bottom: 6px !important;
}

/* Stock status - compact */
.products-container[data-view="tiles"] .product-availability-badge-loop {
    margin-top: 6px !important;
    text-align: center !important;
    flex-shrink: 0 !important;
    min-height: 20px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 11px !important;
}

/* ====================================
   LIST VIEW STYLES
   ==================================== */

.products-container[data-view="list"] .product-item {
    width: 100% !important;
    flex: 0 0 100% !important;
    max-width: 100% !important;
    margin-bottom: 20px !important;
    float: none !important;
}

.products-container[data-view="list"] .product-default {
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
    border: 1px solid #ddd !important;
    border-radius: 8px !important;
    padding: 15px !important;
    background: white !important;
    min-height: 160px !important;
    /* Reduced height */
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06) !important;
    transition: all 0.3s ease !important;
    width: 100% !important;
    overflow: hidden !important;
}

.products-container[data-view="list"] .product-default:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important;
    border-color: #007cba !important;
}

.products-container[data-view="list"] .product-default figure {
    flex: 0 0 140px !important;
    margin-right: 15px !important;
    margin-bottom: 0 !important;
    width: 140px !important;
    height: 120px !important;
    overflow: hidden !important;
    border-radius: 6px !important;
}

.products-container[data-view="list"] .product-default figure img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border-radius: 6px !important;
}

.products-container[data-view="list"] .product-details {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    min-height: 120px !important;
    padding-left: 10px !important;
    overflow: hidden !important;
    min-width: 0 !important;
}

.products-container[data-view="list"] .product-title-section {
    margin-bottom: 8px !important;
    overflow: hidden !important;
    /* Ensure container doesn't overflow */
    width: 100% !important;
}

.products-container[data-view="list"] .product-title {
    font-size: 1rem !important;
    line-height: 1.3 !important;
    margin-bottom: 6px !important;
    font-weight: 600 !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    hyphens: auto !important;
    display: block !important;
    overflow: visible !important;
    text-overflow: clip !important;
    width: 100% !important;
    /* Ensure full width */
    position: relative !important;
    min-height: 2.6em !important;
    /* Minimum height for consistency */
}

.products-container[data-view="list"] .product-title a {
    color: inherit !important;
    text-decoration: none !important;
    display: block !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    max-width: 100% !important;
}

.products-container[data-view="list"] .price-box {
    margin: 8px 0 !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    flex-shrink: 0 !important;
}

/* List view - same layout order and hide original icons */
.products-container[data-view="list"] .product-action {
    margin-top: auto !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 6px !important;
    flex-shrink: 0 !important;
}

/* Hide original icons in list view too */
.products-container[data-view="list"] .product-action>.btn-icon-wish,
.products-container[data-view="list"] .product-action>.btn-quickview {
    display: none !important;
}

.products-container[data-view="list"] .product-action .btn-icon-wish:not(.add-to-cart-row .btn-icon-wish),
.products-container[data-view="list"] .product-action .btn-quickview:not(.add-to-cart-row .btn-quickview) {
    display: none !important;
}

.products-container[data-view="list"] .add-to-cart-row {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    width: 100% !important;
    order: 1 !important;
}

.products-container[data-view="list"] .quantity-add-to-cart {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 6px !important;
}

.products-container[data-view="list"] .btn-add-cart {
    white-space: nowrap !important;
    font-size: 11px !important;
    padding: 6px 12px !important;
    order: 3 !important;
}

.products-container[data-view="list"] .quantity-selector {
    order: 2 !important;
    flex-shrink: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid #ddd !important;
    border-radius: 4px !important;
    background: #fff !important;
    overflow: hidden !important;
    min-width: 100px !important;
    max-width: 120px !important;
}

.products-container[data-view="list"] .quantity-selector .qty-btn {
    width: 20px !important;
    height: 20px !important;
    font-size: 10px !important;
    background: #f8f9fa !important;
    border: none !important;
    color: #666 !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    user-select: none !important;
    font-weight: 600 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    pointer-events: auto !important;
}

.products-container[data-view="list"] .quantity-selector .qty-btn:hover {
    background: #e9ecef !important;
    color: #333 !important;
}

.products-container[data-view="list"] .quantity-selector .qty-btn:disabled {
    background: #f8f9fa !important;
    color: #ccc !important;
    cursor: not-allowed !important;
}

.products-container[data-view="list"] .quantity-selector .qty-input {
    width: 35px !important;
    height: 20px !important;
    text-align: center !important;
    font-size: 10px !important;
    border: none !important;
    background: transparent !important;
    font-weight: 600 !important;
    color: #333 !important;
    outline: none !important;
    border-left: 1px solid #eee !important;
    border-right: 1px solid #eee !important;
    margin: 0 !important;
    padding: 0 !important;
    cursor: default !important;
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    -moz-appearance: textfield !important;
}

.products-container[data-view="list"] .quantity-selector .qty-input::-webkit-outer-spin-button,
.products-container[data-view="list"] .quantity-selector .qty-input::-webkit-inner-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}

.products-container[data-view="list"] .add-to-cart-row .btn-icon-wish,
.products-container[data-view="list"] .add-to-cart-row .btn-quickview {
    flex-shrink: 0 !important;
    width: 24px !important;
    height: 24px !important;
    font-size: 11px !important;
}

.products-container[data-view="list"] .product-availability-badge-loop {
    margin-top: 6px !important;
    flex-shrink: 0 !important;
    font-size: 10px !important;
}

/* ================================================
   GENERAL PRODUCT TITLE TRUNCATION - CATCH ALL
   ================================================ */

/* Ensure all product titles are truncated properly */
.product-default .product-title,
.product-default .product-title a,
.product-title-section .product-title,
.product-title-section .product-title a {
    overflow: hidden !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
    hyphens: auto !important;
}

/* Multi-line text wrapping for modern browsers */
.product-default .product-title:not(.single-line),
.product-title-section .product-title:not(.single-line) {
    display: block !important;
    overflow: visible !important;
    text-overflow: clip !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    min-height: 2.8em !important;
    /* Minimum height for consistency */
}

/* Single-line fallback for very constrained spaces */
.product-default .product-title.single-line,
.product-title-section .product-title.single-line {
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-width: 100% !important;
}

/* Ensure title containers don't exceed their bounds */
.product-title-section,
.product-default .product-details {
    overflow: hidden !important;
    width: 100% !important;
}

/* ================================================
   TOOLTIP STYLING FOR TRUNCATED TITLES
   ================================================ */

/* Enhanced tooltip styling for product titles */
.product-title a[title] {
    position: relative !important;
    cursor: help !important;
}

/* Custom tooltip styling - enhance browser default */
.product-title a[title]:hover {
    position: relative !important;
}

/* For browsers that support it, create a custom tooltip */
.product-title a[title]:hover:after {
    content: attr(title) !important;
    position: absolute !important;
    bottom: 100% !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    background-color: rgba(0, 0, 0, 0.9) !important;
    color: white !important;
    padding: 8px 12px !important;
    border-radius: 4px !important;
    font-size: 0.85rem !important;
    font-weight: 400 !important;
    line-height: 1.4 !important;
    white-space: normal !important;
    max-width: 250px !important;
    word-wrap: break-word !important;
    text-align: center !important;
    z-index: 1000 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transition: opacity 0.3s ease, visibility 0.3s ease !important;
    pointer-events: none !important;
}

/* Show tooltip on hover */
.product-title a[title]:hover:after {
    opacity: 1 !important;
    visibility: visible !important;
}

/* Tooltip arrow */
.product-title a[title]:hover:before {
    content: '' !important;
    position: absolute !important;
    bottom: 100% !important;
    left: 50% !important;
    transform: translateX(-50%) translateY(2px) !important;
    border: 5px solid transparent !important;
    border-top-color: rgba(0, 0, 0, 0.9) !important;
    z-index: 1001 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transition: opacity 0.3s ease, visibility 0.3s ease !important;
}

.product-title a[title]:hover:before {
    opacity: 1 !important;
    visibility: visible !important;
}

/* List view tooltip positioning adjustment */
.products-container[data-view="list"] .product-title a[title]:hover:after {
    bottom: auto !important;
    top: 100% !important;
    margin-top: 5px !important;
}

.products-container[data-view="list"] .product-title a[title]:hover:before {
    bottom: auto !important;
    top: 100% !important;
    transform: translateX(-50%) translateY(-2px) !important;
    border-top-color: transparent !important;
    border-bottom-color: rgba(0, 0, 0, 0.9) !important;
}

/* Mobile responsive tooltips */
@media (max-width: 768px) {
    .product-title a[title]:hover:after {
        max-width: 200px !important;
        font-size: 0.8rem !important;
        padding: 6px 10px !important;
    }
}

/* Fallback for touch devices - show on tap */
@media (hover: none) {

    .product-title a[title]:active:after,
    .product-title a[title]:focus:after {
        opacity: 1 !important;
        visibility: visible !important;
    }

    .product-title a[title]:active:before,
    .product-title a[title]:focus:before {
        opacity: 1 !important;
        visibility: visible !important;
    }
}

/* ================================================
   QUANTITY BUTTONS - ENSURE ALWAYS CLICKABLE
   ================================================ */

/* Force quantity buttons to be clickable in all states */
.qty-btn {
    pointer-events: auto !important;
    cursor: pointer !important;
    z-index: 10 !important;
    position: relative !important;
}

.qty-btn:disabled {
    pointer-events: none !important;
    cursor: not-allowed !important;
    opacity: 0.5 !important;
}

/* Ensure quantity selectors work during loading */
.products-container.loading .quantity-selector,
.products-container.loading .quantity-selector .qty-btn {
    pointer-events: auto !important;
}

/* ================================================
   ORIGINAL STYLES BELOW
   ================================================ */

/* Mobile Responsive */
@media (max-width: 768px) {
    .breadcrumb .view-toggle-container {
        margin-left: 10px;
        padding-left: 10px;
    }

    .breadcrumb .view-toggle-btn {
        min-width: 24px;
        height: 24px;
        font-size: 12px;
        padding: 4px 8px;
    }

    /* Tiles view mobile adjustments - work with new grid system */
    .products-container[data-view="tiles"] .product-default {
        min-height: auto !important;
        padding: 0.75rem !important;
        margin-bottom: 1rem !important;
    }

    .products-container[data-view="tiles"] .product-default figure {
        height: auto !important;
        min-height: 160px !important;
        margin-bottom: 0.75rem !important;
    }

    .products-container[data-view="tiles"] .product-title-section {
        min-height: auto !important;
        margin-bottom: 0.5rem !important;
    }

    .products-container[data-view="tiles"] .action-buttons-row .btn-icon-wish,
    .products-container[data-view="tiles"] .action-buttons-row .btn-quickview {
        width: 28px !important;
        height: 28px !important;
        font-size: 12px !important;
    }

    /* List view mobile adjustments - better mobile experience */
    .products-container[data-view="list"] .product-default {
        flex-direction: column !important;
        text-align: center !important;
        padding: 1rem !important;
        min-height: auto !important;
        border-radius: 8px !important;
        margin-bottom: 1.5rem !important;
    }

    .products-container[data-view="list"] .product-default figure {
        flex: none !important;
        margin: 0 auto 1rem auto !important;
        width: 180px !important;
        height: 180px !important;
        align-self: center !important;
        max-width: 100% !important;
    }

    .products-container[data-view="list"] .product-details {
        padding-left: 0 !important;
        min-height: auto !important;
        width: 100% !important;
        text-align: center !important;
    }

    .products-container[data-view="list"] .product-title {
        min-height: auto !important;
        text-align: center !important;
        margin-bottom: 0.75rem !important;
    }

    .products-container[data-view="list"] .product-action {
        align-items: center !important;
        justify-content: center !important;
        margin-top: 1rem !important;
    }
}

/* Tablet adjustments */
@media (max-width: 1200px) {
    .products-container[data-view="list"] .product-default figure {
        flex: 0 0 120px !important;
        width: 120px !important;
        height: 100px !important;
    }

    .products-container[data-view="list"] .product-title {
        font-size: 0.95rem !important;
    }

    .products-container[data-view="tiles"] .product-default {
        min-height: 350px !important;
    }
}

/* ================================================
   FORCE TEXT WRAPPING OVERRIDE
   ================================================ */

/* Override any other CSS that might prevent text wrapping */
.product-default .product-title,
.product-default .product-title a,
.product-title-section .product-title,
.product-title-section .product-title a,
.products-container .product-title,
.products-container .product-title a {
    display: block !important;
    overflow: visible !important;
    text-overflow: clip !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    word-break: break-word !important;
    white-space: normal !important;
    -webkit-line-clamp: unset !important;
    -webkit-box-orient: unset !important;
    max-height: none !important;
    height: auto !important;
    line-height: 1.3 !important;
}

/* Ensure links also wrap properly */
.product-title a {
    display: block !important;
    width: 100% !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    word-break: break-word !important;
    white-space: normal !important;
}

/* Override any demo CSS that might be loaded */
.product-default .product-title,
.product-default .product-title a {
    overflow: visible !important;
    text-overflow: clip !important;
    -webkit-line-clamp: unset !important;
    -webkit-box-orient: unset !important;
    max-height: none !important;
    height: auto !important;
}

/* ================================================
   ULTIMATE OVERRIDE - HIGHEST SPECIFICITY
   ================================================ */

/* Force text wrapping with maximum specificity */
html body .product-default .product-title,
html body .product-default .product-title a,
html body .product-title-section .product-title,
html body .product-title-section .product-title a,
html body .products-container .product-title,
html body .products-container .product-title a,
html body .woocommerce .product-default .product-title,
html body .woocommerce .product-default .product-title a {
    display: block !important;
    overflow: visible !important;
    text-overflow: clip !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    word-break: break-word !important;
    white-space: normal !important;
    -webkit-line-clamp: unset !important;
    -webkit-box-orient: unset !important;
    max-height: none !important;
    height: auto !important;
    line-height: 1.3 !important;
    text-decoration: none !important;
}

/* Ensure links also wrap properly with maximum specificity */
html body .product-title a,
html body .product-default .product-title a,
html body .product-title-section .product-title a {
    display: block !important;
    width: 100% !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    word-break: break-word !important;
    white-space: normal !important;
    text-decoration: none !important;
}

/* Override any demo CSS files that might be loaded */
html body .product-default .product-title,
html body .product-default .product-title a {
    overflow: visible !important;
    text-overflow: clip !important;
    -webkit-line-clamp: unset !important;
    -webkit-box-orient: unset !important;
    max-height: none !important;
    height: auto !important;
}

/* ================================================
   HIDE COUPON ELEMENTS ON CART PAGE
   ================================================ */

/* Hide coupon section on cart page */
.cart-page .coupon,
.cart-page .cart-discount,
.woocommerce-cart .coupon,
.woocommerce-cart .cart-discount,
.cart-table-container .coupon,
.cart-table-container .cart-discount {
    display: none !important;
}

/* Hide coupon input and button */
.cart-page input[name="coupon_code"],
.cart-page button[name="apply_coupon"],
.woocommerce-cart input[name="coupon_code"],
.woocommerce-cart button[name="apply_coupon"],
.cart-table-container input[name="coupon_code"],
.cart-table-container button[name="apply_coupon"] {
    display: none !important;
}

/* Hide any coupon-related labels */
.cart-page label[for="coupon_code"],
.woocommerce-cart label[for="coupon_code"],
.cart-table-container label[for="coupon_code"] {
    display: none !important;
}

/* Hide coupon actions */
.cart-page .woocommerce-cart-coupon,
.woocommerce-cart .woocommerce-cart-coupon,
.cart-table-container .woocommerce-cart-coupon {
    display: none !important;
}