/**
 * B2B Enquiry System Styles
 * Styles for B2B enquiry functionality and hiding B2C elements
 */

/* Hide all B2C elements for B2B products - target summary area specifically */
.product-b2b .summary .price,
.product-b2b .summary .woocommerce-price-suffix,
.product-b2b .summary .variations_form,
.product-b2b .summary .variations,
.product-b2b .summary .single_variation_wrap,
.product-b2b .summary .quantity,
.product-b2b .summary .single_add_to_cart_button,
.product-b2b .summary .cart,
.product-b2b .summary form.cart,
.product-b2b .summary .woocommerce-variation-add-to-cart,
.product-b2b .summary .woocommerce-variation-price,
.product-b2b .summary .woocommerce-variation-availability,
.product-b2b .summary table.variations,
.product-b2b .summary .variation-selector,
.product-b2b .summary .reset_variations,
.product-b2b .summary .woocommerce-variation,
.product-b2b .summary .woocommerce-variation-description,
.product-b2b .summary .stock {
    display: none !important;
}

/* Also hide from any other locations */
.product-b2b .woocommerce-product-attributes-item--attribute_pa_size,
.product-b2b .woocommerce-product-attributes-item--attribute_pa_colour,
.product-b2b .woocommerce-product-attributes-item--attribute_pa_color,
.product-b2b .woocommerce-product-attributes-item[data-attribute*="size"],
.product-b2b .woocommerce-product-attributes-item[data-attribute*="color"],
.product-b2b .woocommerce-product-attributes-item[data-attribute*="colour"],
.product-b2b .woocommerce-product-attributes tr[data-attribute*="size"],
.product-b2b .woocommerce-product-attributes tr[data-attribute*="color"],
.product-b2b .woocommerce-product-attributes tr[data-attribute*="colour"] {
    display: none !important;
}

/* Enquiry button styling - consistent with site button system */
.enquiry-button,
.add-to-enquiry-btn,
button.add-to-enquiry-btn,
a.add-to-enquiry-btn,
.woocommerce .enquiry-button,
.woocommerce-page .enquiry-button,
.woocommerce .add-to-enquiry-btn,
.woocommerce-page .add-to-enquiry-btn {
    /* Layout & Box Model - matching buttons.css */
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
    padding: 14px 28px !important;
    margin: 5px 0 !important;
    border: 2px solid var(--ul-red-200) !important;
    border-radius: 50px !important; /* Consistent with site buttons */
    box-sizing: border-box !important;
    vertical-align: middle !important;
    overflow: hidden !important;
    width: auto !important;
    max-width: 100% !important;

    /* Typography - matching buttons.css */
    font-family: var(--font-family-base) !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    text-align: center !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;

    /* Red background for enquiry buttons on shop pages */
    background-color: var(--ul-red-200) !important;
    border-color: var(--ul-red-200) !important;
    color: var(--neutral-100) !important;
    box-shadow: 0 4px 15px var(--ul-red-30) !important;

    /* Interaction - matching buttons.css */
    cursor: pointer !important;
    transition: all 0.3s cubic-bezier(0.25, 1, 0.33, 1) !important;
    transform: translateY(0) !important;

    /* Force visibility */
    opacity: 1 !important;
    visibility: visible !important;
    z-index: 1000 !important;

    /* Accessibility */
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
}

/* Remove cart emoji from all enquiry buttons */
.enquiry-button::before,
.add-to-enquiry-btn::before,
button.enquiry-button::before,
a.enquiry-button::before,
button.add-to-enquiry-btn::before,
a.add-to-enquiry-btn::before {
    content: none !important;
    display: none !important;
}

/* Override .button:hover from buttons.css - enquiry buttons should be grey on hover, not red */
.enquiry-button:hover,
.enquiry-button:focus,
.add-to-enquiry-btn:hover,
.add-to-enquiry-btn:focus,
button.add-to-enquiry-btn:hover,
a.add-to-enquiry-btn:hover,
a.button.enquiry-button:hover,
.button.enquiry-button:hover,
.woocommerce .enquiry-button:hover,
.woocommerce-page .enquiry-button:hover,
.woocommerce .add-to-enquiry-btn:hover,
.woocommerce-page .add-to-enquiry-btn:hover,
.woocommerce a.button.enquiry-button:hover,
.woocommerce .button.enquiry-button:hover {
    background-color: var(--neutral-800) !important;
    border-color: var(--neutral-800) !important;
    color: var(--neutral-100) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3) !important;
    text-decoration: none !important;
}

.enquiry-button:active,
.add-to-enquiry-btn:active,
button.add-to-enquiry-btn:active,
a.add-to-enquiry-btn:active {
    transform: translateY(0) !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3) !important;
}

.enquiry-button:disabled,
.add-to-enquiry-btn:disabled,
button.add-to-enquiry-btn:disabled {
    background-color: var(--neutral-300) !important;
    cursor: not-allowed !important;
}

/* Product action buttons container */
.product-action-buttons {
    margin: 20px 0;
}

/* Single product enquiry section - positioned after product details */
.single-product-enquiry {
    padding: 20px;
    background: var(--neutral-50);
    border-radius: 8px;
    border: 1px solid var(--neutral-200);
    text-align: center;
}

.single-product-enquiry h3 {
    margin: 0 0 15px 0;
    font-size: 18px;
    font-weight: 600;
    color: var(--neutral-1000);
}

/* Single product cart section - Compact Premium styling */
.single-product-cart-section {
    padding: 1rem;
    background: #ffffff;
    border-radius: 8px;
    border: 2px solid var(--neutral-200);
    text-align: left;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
    margin-top: 1rem;
}

.single-product-cart-section h3 {
    margin: 0 0 0.5rem 0;
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--neutral-1000);
    text-align: center;
    letter-spacing: -0.02em;
    padding-bottom: 0.375rem;
    border-bottom: 2px solid var(--neutral-200);
}

/* Fix padding issues for B2C products - hide price from summary since it appears in cart section */
.summary .price {
    margin-bottom: 5px !important;
    padding-bottom: 0 !important;
}

/* Better spacing for product elements */
.woocommerce-product-details__short-description {
    margin-bottom: 15px !important;
}

/* Ensure proper spacing for B2C elements */
.single-product-cart-section .cart {
    margin: 0;
    text-align: left;
}

/* Center form elements in B2C section */
.single-product-cart-section form.cart,
.single-product-cart-section .variations_form,
.single-product-cart-section .woocommerce-variation-add-to-cart {
    text-align: left;
}

.single-product-cart-section .woocommerce-variation-add-to-cart {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

/* Variation dropdowns in cart section - Compact Premium styling */
.single-product-cart-section .variations {
    margin-bottom: 0.5rem;
    text-align: left;
}

.single-product-cart-section .variations tr {
    display: flex;
    flex-direction: column;
    margin-bottom: 0.5rem;
}

.single-product-cart-section .variations tr:last-child {
    margin-bottom: 0;
}

.single-product-cart-section .variations td {
    text-align: left;
    padding: 0;
}

.single-product-cart-section .variations td.label {
    padding-bottom: 0.25rem;
}

.single-product-cart-section .variations label {
    font-weight: 700;
    font-size: 0.75rem;
    color: var(--neutral-1000);
    margin-bottom: 0.375rem;
    display: block;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.single-product-cart-section .variations select {
    padding: 10px 40px 10px 14px;
    border: 2px solid var(--neutral-200);
    border-radius: 6px;
    background: var(--neutral-50);
    font-size: 0.875rem;
    color: var(--neutral-1000);
    cursor: pointer;
    font-weight: 500;
    transition: all 0.3s cubic-bezier(0.25, 1, 0.33, 1);
    width: 100%;
    appearance: none;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%23666' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 14px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
    min-height: 40px;
    box-sizing: border-box;
}

.single-product-cart-section .variations select:hover {
    border-color: var(--neutral-300);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%23E53613' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");
    transform: translateY(-2px);
    background-color: #ffffff;
}

.single-product-cart-section .variations select:focus {
    outline: none;
    border-color: var(--ul-red-200);
    box-shadow: 0 0 0 4px rgba(229, 54, 19, 0.15), 0 4px 12px rgba(0, 0, 0, 0.1);
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%23E53613' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");
    background-color: #ffffff;
}

/* Quantity selector - Fixed styling for WooCommerce structure */
.single-product-cart-section .quantity {
    margin-bottom: 0.5rem;
    text-align: left;
}

.single-product-cart-section .quantity label {
    display: block;
    font-weight: 700;
    font-size: 0.75rem;
    color: var(--neutral-1000);
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 0.375rem;
}

/* Style the actual WooCommerce quantity div wrapper */
.single-product-cart-section form.cart .quantity,
.single-product-cart-section .woocommerce-variation-add-to-cart .quantity {
    display: flex !important;
    align-items: center;
    gap: 0;
    max-width: 120px;
    border: 2px solid var(--neutral-200);
    border-radius: 6px;
    background: var(--neutral-50);
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
    transition: all 0.3s cubic-bezier(0.25, 1, 0.33, 1);
    margin: 0;
    padding: 0;
    width: auto !important;
}

.single-product-cart-section form.cart .quantity:hover,
.single-product-cart-section .woocommerce-variation-add-to-cart .quantity:hover {
    border-color: var(--neutral-300);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
    background-color: #ffffff;
}

.single-product-cart-section .quantity input.qty {
    flex: 1;
    border: none;
    background: transparent;
    text-align: center;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--neutral-1000);
    padding: 8px 6px;
    min-width: 40px;
    height: 40px;
    -moz-appearance: textfield;
    margin: 0;
    box-shadow: none;
}

.single-product-cart-section .quantity input.qty::-webkit-outer-spin-button,
.single-product-cart-section .quantity input.qty::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.single-product-cart-section .quantity input.minus,
.single-product-cart-section .quantity input.plus {
    width: 36px;
    height: 40px;
    border: none;
    background: transparent;
    color: var(--neutral-700);
    font-size: 1.125rem;
    font-weight: 600;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
    padding: 0;
    line-height: 1;
    margin: 0;
    box-shadow: none;
}

.single-product-cart-section .quantity input.minus:hover,
.single-product-cart-section .quantity input.plus:hover {
    background: var(--neutral-200);
    color: var(--ul-red-200);
}

.single-product-cart-section .quantity input.minus:active,
.single-product-cart-section .quantity input.plus:active {
    background: var(--neutral-300);
    transform: scale(0.95);
}

/* Add to cart button - natural width like other site buttons */
.single-product-cart-section .single_add_to_cart_button,
.single-product-cart-section button.single_add_to_cart_button.button.alt,
.woocommerce .single-product-cart-section button.single_add_to_cart_button.button.alt,
body .woocommerce .single-product-cart-section button.single_add_to_cart_button.button.alt {
    border-radius: 50px !important;
    background-color: var(--ul-red-200) !important;
    border-color: var(--ul-red-200) !important;
    color: var(--neutral-100) !important;
    box-shadow: 0 3px 12px var(--ul-red-30) !important;
    padding: 10px 24px !important;
    font-size: 0.875rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    min-height: 40px !important;
    width: 100% !important;
    transition: all 0.3s cubic-bezier(0.25, 1, 0.33, 1) !important;
}

.single-product-cart-section .single_add_to_cart_button:hover,
.single-product-cart-section button.single_add_to_cart_button.button.alt:hover,
.woocommerce .single-product-cart-section button.single_add_to_cart_button.button.alt:hover,
body .woocommerce .single-product-cart-section button.single_add_to_cart_button.button.alt:hover {
    background-color: var(--ul-red-300) !important;
    border-color: var(--ul-red-300) !important;
    color: var(--neutral-100) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px var(--ul-red-50) !important;
}

.single-product-enquiry .enquiry-info {
    margin: 10px 0 0 0;
    color: var(--neutral-600);
    font-size: 14px;
    line-height: 1.5;
}

/* Style informational text in B2C section - Compact styling */
.single-product-cart-section .purchase-info {
    margin: 1rem 0 0 0;
    color: var(--neutral-600);
    font-size: 0.75rem;
    line-height: 1.4;
    text-align: center;
    font-style: italic;
    padding-top: 0.625rem;
    border-top: 1px solid var(--neutral-200);
}

/* Enquiry list styling */
.ul-enquiry-list {
    margin: 20px 0;
}

.enquiry_table {
    width: 100%;
    border-collapse: collapse;
    margin: 20px 0;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    border-radius: 8px;
    overflow: hidden;
}

.enquiry_table th,
.enquiry_table td {
    padding: 12px;
    text-align: left;
    border-bottom: 1px solid var(--neutral-200);
    vertical-align: middle;
}

.enquiry_table th {
    background-color: var(--neutral-50);
    font-weight: 600;
    color: var(--neutral-700);
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.enquiry_table tbody tr {
    transition: background-color 0.2s ease;
}

.enquiry_table tbody tr:hover {
    background-color: var(--neutral-50);
}

/* Column-specific styling */
.enquiry_table_image {
    width: 80px;
    text-align: center;
}

.enquiry_table_product {
    width: auto;
    min-width: 200px;
}

.enquiry_table_remove {
    width: 60px;
    text-align: center;
}

/* Product image styling */
.enquiry_product_image {
    width: 60px !important;
    height: 60px !important;
    object-fit: cover;
    border-radius: 6px;
    border: 1px solid var(--neutral-200);
    display: block;
    margin: 0 auto;
    background-color: var(--neutral-100);
}

/* Product link styling */
.enquiry_product_link {
    text-decoration: none !important;
    color: var(--ul-blue-200) !important;
    display: block;
    margin-bottom: 5px;
}

.enquiry_product_link:hover {
    color: var(--ul-blue-300) !important;
    text-decoration: underline !important;
}

.enquiry_product_link strong {
    font-size: 16px;
    line-height: 1.3;
}

/* Product description styling */
.enquiry_product_description {
    color: var(--neutral-600);
    font-size: 13px;
    line-height: 1.4;
    margin-top: 4px;
}

/* Remove button styling */
.remove_enquiry_item {
    background-color: var(--ul-red-200) !important;
    border: none !important;
    border-radius: 50% !important;
    width: 32px !important;
    height: 32px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    margin: 0 auto !important;
}

.remove_enquiry_item:hover {
    background-color: var(--ul-red-300) !important;
    transform: scale(1.1) !important;
}

.remove_enquiry_item .dashicons {
    color: white !important;
    font-size: 16px !important;
    width: 16px !important;
    height: 16px !important;
}

/* Loading state */
.enquiry_table.loading {
    opacity: 0.7;
    pointer-events: none;
}

/* Empty state styling enhancement */
.ul-enquiry-list .empty-enquiry {
    text-align: center;
    padding: 40px 20px;
    background: linear-gradient(135deg, var(--neutral-50) 0%, var(--neutral-200) 100%);
    border-radius: 8px;
    border: 2px dashed var(--neutral-300);
    color: var(--neutral-600);
}

.ul-enquiry-list .empty-enquiry h3 {
    margin-bottom: 10px;
    color: var(--neutral-700);
    font-size: 18px;
}

.ul-enquiry-list .empty-enquiry p {
    margin: 0;
    font-style: italic;
    background: none !important;
    border: none !important;
    padding: 0 !important;
}

/* Responsive design */
@media (max-width: 768px) {
    .enquiry_table th,
    .enquiry_table td {
        padding: 8px;
        font-size: 14px;
    }
    
    .enquiry_product_image {
        width: 50px !important;
        height: 50px !important;
    }
    
    .enquiry_table_image {
        width: 60px;
    }
    
    .enquiry_product_link strong {
        font-size: 15px;
    }
    
    .enquiry_product_description {
        font-size: 12px;
    }
    
    .remove_enquiry_item {
        width: 28px !important;
        height: 28px !important;
    }
    
    .remove_enquiry_item .dashicons {
        font-size: 14px !important;
    }
}

@media (max-width: 480px) {
    .enquiry_table {
        font-size: 13px;
    }
    
    .enquiry_table th,
    .enquiry_table td {
        padding: 6px;
    }
    
    .enquiry_table_product {
        min-width: 150px;
    }
    
    .enquiry_product_link strong {
        font-size: 14px;
    }
}

/* ========================================
   CUSTOM HEADER ICON OVERRIDES
   Replace default Salient icons with custom SVGs
   ======================================== */

/* Custom Search Icon */
#header-outer #top nav ul #search-btn a span.icon-salient-search::before,
#top .mobile-search .icon-salient-search::before {
    content: '' !important;
    display: inline-block;
    width: 22px;
    height: 22px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='22px' viewBox='0 -960 960 960' width='22px' fill='rgba(0,0,0,0.48)'%3E%3Cpath d='M784-120 532-372q-30 24-69 38t-83 14q-109 0-184.5-75.5T120-580q0-109 75.5-184.5T380-840q109 0 184.5 75.5T640-580q0 44-14 83t-38 69l252 252-56 56ZM380-400q75 0 127.5-52.5T560-580q0-75-52.5-127.5T380-760q-75 0-127.5 52.5T200-580q0 75 52.5 127.5T380-400Z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

#header-outer #top nav ul #search-btn a span.icon-salient-search,
#top .mobile-search .icon-salient-search {
    font-size: 0 !important;
    width: 22px !important;
    height: 22px !important;
    display: inline-block !important;
}

/* Custom Cart Icon */
#header-outer .cart-menu .cart-icon-wrap .icon-salient-cart::before,
#top #mobile-cart-link i.icon-salient-cart::before {
    content: '' !important;
    display: inline-block;
    width: 26px;
    height: 26px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='26px' viewBox='0 -960 960 960' width='26px' fill='rgba(0,0,0,0.48)'%3E%3Cpath d='M280-80q-33 0-56.5-23.5T200-160q0-33 23.5-56.5T280-240q33 0 56.5 23.5T360-160q0 33-23.5 56.5T280-80Zm400 0q-33 0-56.5-23.5T600-160q0-33 23.5-56.5T680-240q33 0 56.5 23.5T760-160q0 33-23.5 56.5T680-80ZM246-720l96 200h280l110-200H246Zm-38-80h590q23 0 35 20.5t1 41.5L692-482q-11 20-29.5 31T622-440H324l-44 80h480v80H280q-45 0-68-39.5t-2-78.5l54-98-144-304H40v-80h130l38 80Zm134 280h280-280Z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

#header-outer .cart-menu .cart-icon-wrap .icon-salient-cart,
#top #mobile-cart-link i.icon-salient-cart {
    font-size: 0 !important;
    width: 26px !important;
    height: 26px !important;
    display: inline-block !important;
}

/* Custom Enquiry Icon (SVG already handled in PHP) */
#header-outer #top nav ul #enquiry-btn a span.icon-salient-enquiry,
#header-outer .nectar-enquiry-list .nectar-icon {
    font-size: 0 !important;
    color: rgba(0, 0, 0, 0.48);
    line-height: 1;
    width: 26px !important;
    height: 26px !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
}

#header-outer #top nav ul #enquiry-btn a span.icon-salient-enquiry svg,
#header-outer .nectar-enquiry-list .nectar-icon svg,
#top .mobile-enquiry .icon-salient-enquiry svg {
    fill: rgba(0, 0, 0, 0.48);
    width: 26px;
    height: 26px;
}

#header-outer .nectar-enquiry-list {
    position: relative;
}

#header-outer .nectar-enquiry-list .enquiry-wrap {
    position: absolute;
    top: -4px;
    right: -8px;
    color: var(--neutral-100);
    pointer-events: none;
}

#header-outer .nectar-enquiry-list .enquiry-wrap span {
    background: var(--ul-blue-200);
    border-radius: 50%;
    height: 18px;
    width: 18px;
    text-align: center;
    line-height: 18px;
    font-size: 11px;
    display: block;
    font-weight: 700;
    font-family: 'Open Sans', sans-serif;
    min-width: 18px;
    color: var(--neutral-100);
    visibility: visible;
    opacity: 1;
}

/* Hide count when it's 0 */
#header-outer .nectar-enquiry-list .enquiry-wrap span:empty,
#header-outer .nectar-enquiry-list .enquiry-wrap span[data-count="0"] {
    display: none;
}

/* Ensure proper spacing and alignment with other buttons */
#header-outer #top nav ul #enquiry-btn > div {
    padding-left: 0.75rem; /* 12px */
    padding-right: 0.75rem; /* 12px */
}

#header-outer #top nav ul #enquiry-btn > div a {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Mobile enquiry icon positioning - matches other mobile icons */
#top .mobile-enquiry {
    display: none;
    text-align: right;
    z-index: 10000;
    position: relative;
}

    #top .mobile-enquiry .icon-salient-enquiry {
        background-color: transparent;
        color: var(--neutral-500);
        line-height: 34px;
        font-size: 0px;
        width: 22px;
        height: 22px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        transition: color 0.3s ease;
        -webkit-transition: color 0.3s ease;
    }

/* Remove all hover effects and override any Salient theme default hover states */
#header-outer #top nav ul #search-btn a:hover span.icon-salient-search::before,
#header-outer #top nav ul #search-btn a:hover span,
#header-outer #top nav ul #search-btn:hover a span.icon-salient-search::before,
#header-outer #top nav ul #search-btn:hover a span {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='22px' viewBox='0 -960 960 960' width='22px' fill='rgba(0,0,0,0.48)'%3E%3Cpath d='M784-120 532-372q-30 24-69 38t-83 14q-109 0-184.5-75.5T120-580q0-109 75.5-184.5T380-840q109 0 184.5 75.5T640-580q0 44-14 83t-38 69l252 252-56 56ZM380-400q75 0 127.5-52.5T560-580q0-75-52.5-127.5T380-760q-75 0-127.5 52.5T200-580q0 75 52.5 127.5T380-400Z'/%3E%3C/svg%3E") !important;
    color: rgba(0, 0, 0, 0.48) !important;
}

#header-outer .cart-menu:hover .cart-icon-wrap .icon-salient-cart::before,
#header-outer .cart-menu .cart-icon-wrap:hover .icon-salient-cart::before,
#header-outer .nectar-woo-cart:hover .cart-icon-wrap .icon-salient-cart::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='26px' viewBox='0 -960 960 960' width='26px' fill='rgba(0,0,0,0.48)'%3E%3Cpath d='M280-80q-33 0-56.5-23.5T200-160q0-33 23.5-56.5T280-240q33 0 56.5 23.5T360-160q0 33-23.5 56.5T280-80Zm400 0q-33 0-56.5-23.5T600-160q0-33 23.5-56.5T680-240q33 0 56.5 23.5T760-160q0 33-23.5 56.5T680-80ZM246-720l96 200h280l110-200H246Zm-38-80h590q23 0 35 20.5t1 41.5L692-482q-11 20-29.5 31T622-440H324l-44 80h480v80H280q-45 0-68-39.5t-2-78.5l54-98-144-304H40v-80h130l38 80Zm134 280h280-280Z'/%3E%3C/svg%3E") !important;
    color: rgba(0, 0, 0, 0.48) !important;
}

/* Force enquiry icon SVG to always be grey, never red */
#header-outer #top nav ul #enquiry-btn a span.icon-salient-enquiry svg,
#header-outer #top nav ul #enquiry-btn a:hover span.icon-salient-enquiry svg,
#header-outer #top nav ul #enquiry-btn:hover a span.icon-salient-enquiry svg,
#header-outer .nectar-enquiry-list .nectar-icon svg,
#header-outer .nectar-enquiry-list:hover .nectar-icon svg,
#top .mobile-enquiry .icon-salient-enquiry svg,
#top .mobile-enquiry:hover .icon-salient-enquiry svg {
    fill: rgba(0, 0, 0, 0.48) !important;
    color: rgba(0, 0, 0, 0.48) !important;
}

/* Override any Salient theme red hover states on header buttons - keep menu text dark */
#header-outer #top nav ul #search-btn:hover,
#header-outer #top nav ul #search-btn:hover a,
#header-outer #top nav ul #enquiry-btn:hover,
#header-outer #top nav ul #enquiry-btn:hover a,
#header-outer .nectar-woo-cart:hover,
#header-outer .nectar-woo-cart:hover a,
#header-outer .cart-menu:hover {
    color: var(--black-100) !important;
    background-color: transparent !important;
    border-color: transparent !important;
}

/* Menu items should stay black on hover - not override them */
/* Exclude contact button (menu-item-2223) from this rule */
#header-outer #top nav ul li:not(#menu-item-2223):hover,
#header-outer #top nav ul li:not(#menu-item-2223) a:hover,
#header-outer #top nav ul li:not(#menu-item-2223):hover a {
    color: var(--black-100) !important;
    background-color: transparent !important;
    border-color: transparent !important;
}

/* Force header button icons to maintain consistent coloring */
/* Exclude contact button (menu-item-2223) from this rule */
#header-outer #top nav ul li:not(#menu-item-2223) a span,
#header-outer #top nav ul li:not(#menu-item-2223):hover a span,
#header-outer #top nav ul li:not(#menu-item-2223) a:hover span {
    color: var(--black-100) !important;
}

/* CRITICAL: Force white text on ALL count badges with maximum specificity - prevent JS overrides */
html body #header-outer .nectar-enquiry-list .enquiry-wrap span[style],
html body #header-outer .nectar-enquiry-list .enquiry-wrap span,
html body #header-outer .nectar-enquiry-list .enquiry-wrap span::before,
html body #header-outer .nectar-enquiry-list .enquiry-wrap span::after,
html body #top .mobile-enquiry .enquiry-wrap span[style],
html body #top .mobile-enquiry .enquiry-wrap span,
html body #top .mobile-enquiry .enquiry-wrap span::before,
html body #top .mobile-enquiry .enquiry-wrap span::after {
    color: #ffffff !important;
    background-color: var(--ul-blue-200) !important;
    text-shadow: none !important;
    -webkit-text-fill-color: var(--neutral-100) !important;
    font-weight: 700 !important;
}

html body #header-outer .cart-wrap span[style],
html body #header-outer .cart-wrap span,
html body #header-outer .nectar-woo-cart .cart-wrap span[style],
html body #header-outer .nectar-woo-cart .cart-wrap span,
html body #header-outer .cart-menu .cart-wrap span[style],
html body #header-outer .cart-menu .cart-wrap span,
html body #top #mobile-cart-link .cart-wrap span[style],
html body #top #mobile-cart-link .cart-wrap span,
html body #header-outer .cart-wrap span::before,
html body #header-outer .nectar-woo-cart .cart-wrap span::before,
html body #header-outer .cart-menu .cart-wrap span::before,
html body #top #mobile-cart-link .cart-wrap span::before {
    color: #ffffff !important;
    text-shadow: none !important;
    -webkit-text-fill-color: var(--neutral-100) !important;
    font-weight: 700 !important;
}

/* Extra protection against theme overrides and JS modifications */
.nectar-enquiry-list .enquiry-wrap span[style],
.nectar-enquiry-list .enquiry-wrap span,
.mobile-enquiry .enquiry-wrap span[style],
.mobile-enquiry .enquiry-wrap span,
.cart-wrap span[style],
.cart-wrap span,
#mobile-cart-link .cart-wrap span[style],
#mobile-cart-link .cart-wrap span {
    color: #ffffff !important;
    -webkit-text-fill-color: var(--neutral-100) !important;
}

/* Absolutely prevent any red colors in header button area */
#header-outer #top nav ul.buttons li,
#header-outer #top nav ul #search-btn,
#header-outer #top nav ul #search-btn *,
#header-outer #top nav ul #enquiry-btn,
#header-outer #top nav ul #enquiry-btn a,
#header-outer #top nav ul #enquiry-btn span.icon-salient-enquiry,
#header-outer .nectar-enquiry-list,
#header-outer .nectar-enquiry-list a,
#header-outer .nectar-enquiry-list .nectar-icon,
#header-outer .nectar-woo-cart,
#header-outer .cart-menu {
    border-color: transparent !important;
    background: transparent !important;
    box-shadow: none !important;
}

/* Allow enquiry wrap (count badge) to keep its blue color and proper top positioning */
#header-outer .nectar-enquiry-list .enquiry-wrap,
#header-outer .nectar-enquiry-list .enquiry-wrap span,
#top .mobile-enquiry .enquiry-wrap,
#top .mobile-enquiry .enquiry-wrap span {
    background: var(--ul-blue-200) !important;
    color: #ffffff !important;
    border-radius: 50% !important;
    font-weight: 700 !important;
    font-family: 'Open Sans', sans-serif !important;
    text-align: center !important;
    line-height: 1.2 !important;
    pointer-events: none !important;
    font-size: 11px !important;
}

/* Ensure cart badges also have white text and proper sizing */
#header-outer .cart-wrap span,
#header-outer .nectar-woo-cart .cart-wrap span,
#header-outer .cart-menu .cart-wrap span,
#top #mobile-cart-link .cart-wrap span {
    color: #ffffff !important;
    font-weight: 700 !important;
    font-size: 11px !important;
    height: 18px !important;
    width: 18px !important;
    min-width: 18px !important;
    line-height: 18px !important;
    text-align: center !important;
}

/* Ensure consistent top positioning for enquiry badges */
#header-outer .nectar-enquiry-list .enquiry-wrap,
#top .mobile-enquiry .enquiry-wrap {
    position: absolute !important;
    top: -0.375rem !important; /* -6px - adjusted for larger icon */
    right: -0.5rem !important; /* -8px - adjusted for larger icon */
}

/* Ensure the enquiry badge maintains proper dimensions and readable text */
#header-outer .nectar-enquiry-list .enquiry-wrap span,
#top .mobile-enquiry .enquiry-wrap span {
    height: 20px !important;
    width: 20px !important;
    min-width: 20px !important;
    font-size: 11px !important;
    line-height: 20px !important;
    display: block !important;
    color: #ffffff !important;
    font-weight: 700 !important;
}

/* Remove any theme red color variables from header buttons */
#header-outer #top nav ul li,
#header-outer #top nav ul li:hover,
#header-outer #top nav ul li:focus,
#header-outer #top nav ul li:active {
    --ul-red-200: transparent !important;
    --ul-red-300: transparent !important;
    --ul-red-30: transparent !important;
    --ul-red-50: transparent !important;
}

/* Specifically target enquiry button to ensure no red coloring */
#header-outer #top nav ul #enquiry-btn,
#header-outer #top nav ul #enquiry-btn:hover,
#header-outer #top nav ul #enquiry-btn:focus,
#header-outer #top nav ul #enquiry-btn:active,
#header-outer #top nav ul #enquiry-btn > div,
#header-outer #top nav ul #enquiry-btn > div:hover,
#header-outer #top nav ul #enquiry-btn > div a,
#header-outer #top nav ul #enquiry-btn > div a:hover,
#header-outer .nectar-enquiry-list,
#header-outer .nectar-enquiry-list:hover,
#header-outer .nectar-enquiry-list:focus,
#header-outer .nectar-enquiry-list:active {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    border-color: transparent !important;
    color: rgba(0, 0, 0, 0.48) !important;
    box-shadow: none !important;
    --ul-red-200: transparent !important;
    --ul-red-300: transparent !important;
    --ul-red-30: transparent !important;
    --ul-red-50: transparent !important;
}

/* Remove any pseudo-elements that might be adding red coloring */
#header-outer #top nav ul #enquiry-btn::before,
#header-outer #top nav ul #enquiry-btn::after,
#header-outer #top nav ul #enquiry-btn > div::before,
#header-outer #top nav ul #enquiry-btn > div::after,
#header-outer #top nav ul #enquiry-btn > div a::before,
#header-outer #top nav ul #enquiry-btn > div a::after,
#header-outer .nectar-enquiry-list::before,
#header-outer .nectar-enquiry-list::after,
#header-outer .nectar-enquiry-list .nectar-icon::before,
#header-outer .nectar-enquiry-list .nectar-icon::after {
    background: transparent !important;
    background-color: transparent !important;
    border-color: transparent !important;
    color: rgba(0, 0, 0, 0.48) !important;
    content: none !important;
}

#top .mobile-enquiry .enquiry-wrap {
    position: absolute;
    top: -4px;
    right: -8px;
    color: var(--neutral-100);
    pointer-events: none;
}

#top .mobile-enquiry .enquiry-wrap span {
    background: var(--ul-blue-200);
    border-radius: 50%;
    height: 18px;
    width: 18px;
    text-align: center;
    line-height: 18px;
    font-size: 11px;
    display: block;
    font-weight: 700;
    font-family: 'Open Sans', sans-serif;
    min-width: 18px;
    color: var(--neutral-100);
    visibility: visible;
    opacity: 1;
}

/* Mobile responsive display (matching Salient theme breakpoints) */
@media only screen and (max-width: 999px) {
    #top .mobile-enquiry {
        display: flex;
        align-items: center;
        position: relative;
        width: auto;
        padding: 0 14px;
        top: auto;
        right: auto;
        margin-bottom: 0;
        margin-top: 0;
        line-height: 0;
        height: 100%;
        -webkit-transform: none;
        transform: none;
    }
    
    #top .mobile-enquiry .enquiry-wrap {
        top: -4px;
        right: -8px;
    }
    
    /* Ensure mobile badges are properly sized and readable - but hidden by default */
    #top .mobile-enquiry .enquiry-wrap span,
    #top #mobile-cart-link .cart-wrap span {
        height: 20px !important;
        width: 20px !important;
        min-width: 20px !important;
        font-size: 12px !important;
        line-height: 20px !important;
        color: #ffffff !important;
        font-weight: 700 !important;
    }
    
    /* Mobile enquiry badges always visible - no animation */
    #top .mobile-enquiry .enquiry-wrap span {
        visibility: visible !important;
        opacity: 1 !important;
        transform: scale(1, 1) !important;
        animation: none !important;
        -webkit-animation: none !important;
    }
    
    /* Ensure mobile icons are properly sized */
    #top .mobile-search .icon-salient-search,
    #top #mobile-cart-link i.icon-salient-cart,
    #top .mobile-enquiry .icon-salient-enquiry {
        font-size: 0 !important;
        width: 24px !important;
        height: 24px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
    
    #top .mobile-search .icon-salient-search::before,
    #top #mobile-cart-link i.icon-salient-cart::before {
        width: 24px !important;
        height: 24px !important;
        background-size: 24px 24px !important;
    }
    
    #top .mobile-enquiry .icon-salient-enquiry svg {
        width: 24px !important;
        height: 24px !important;
    }
    
    /* Override mobile hover states */
    #top .mobile-search:hover .icon-salient-search::before,
    #top #mobile-cart-link:hover i.icon-salient-cart::before,
    #top .mobile-enquiry:hover .icon-salient-enquiry svg {
        color: rgba(0, 0, 0, 0.48) !important;
        fill: rgba(0, 0, 0, 0.48) !important;
    }
    
    #top .mobile-search:hover .icon-salient-search::before {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24px' viewBox='0 -960 960 960' width='24px' fill='rgba(0,0,0,0.48)'%3E%3Cpath d='M784-120 532-372q-30 24-69 38t-83 14q-109 0-184.5-75.5T120-580q0-109 75.5-184.5T380-840q109 0 184.5 75.5T640-580q0 44-14 83t-38 69l252 252-56 56ZM380-400q75 0 127.5-52.5T560-580q0-75-52.5-127.5T380-760q-75 0-127.5 52.5T200-580q0 75 52.5 127.5T380-400Z'/%3E%3C/svg%3E") !important;
    }
    
    #top #mobile-cart-link:hover i.icon-salient-cart::before {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24px' viewBox='0 -960 960 960' width='24px' fill='rgba(0,0,0,0.48)'%3E%3Cpath d='M280-80q-33 0-56.5-23.5T200-160q0-33 23.5-56.5T280-240q33 0 56.5 23.5T360-160q0 33-23.5 56.5T280-80Zm400 0q-33 0-56.5-23.5T600-160q0-33 23.5-56.5T680-240q33 0 56.5 23.5T760-160q0 33-23.5 56.5T680-80ZM246-720l96 200h280l110-200H246Zm-38-80h590q23 0 35 20.5t1 41.5L692-482q-11 20-29.5 31T622-440H324l-44 80h480v80H280q-45 0-68-39.5t-2-78.5l54-98-144-304H40v-80h130l38 80Zm134 280h280-280Z'/%3E%3C/svg%3E") !important;
    }
    
    /* Mobile icon ordering - ensure same order on mobile */
    .nectar-mobile-only .inner {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
    }
    
    /* Mobile: Search (1), Enquiry (2), Cart (3) */  
    .mobile-search {
        order: 1 !important;
    }
    
    .mobile-enquiry {
        order: 2 !important;  
    }
    
    #mobile-cart-link {
        order: 3 !important;
    }
    
    .mobile-user-account {
        order: 1.5 !important;
    }
}

/* Ensure consistent icon alignment and sizing */
#header-outer #top nav ul li > div a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 22px;
}

/* ========================================
   HEADER UTILITY BAR - DESKTOP & MOBILE POSITIONING
   Desktop: Utility bar above header (1000px+)
   Mobile: Fixed floating button (<1000px)
   ======================================== */

/* Hide header navigation icons on desktop - moved to utility bar */
@media (min-width: 1000px) {
    #header-outer #top nav ul.buttons,
    #header-outer #top nav ul #search-btn,
    #header-outer #top nav ul #enquiry-btn,
    #header-outer #top nav ul .nectar-woo-cart,
    #header-outer #top nav ul .cart-menu {
        display: none !important;
    }
}

/* Completely hide cart icon from header menu - we use floating icons instead */
#header-outer #top nav ul .nectar-woo-cart,
#header-outer #top nav ul .cart-menu,
#header-outer #top nav ul li.nectar-woo-cart,
#header-outer #top nav ul li.cart-menu {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Hide mobile cart link - we use floating icons instead */
#top #mobile-cart-link,
#header-outer #mobile-cart-link,
a#mobile-cart-link,
#header-outer #top #mobile-cart-link,
#header-outer #top a#mobile-cart-link {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    position: absolute !important;
    left: -9999px !important;
}

/* Hide mobile enquiry icon - we use floating icons instead */
#top .mobile-enquiry,
#header-outer .mobile-enquiry,
a.mobile-enquiry,
#header-outer #top .mobile-enquiry,
#header-outer #top a.mobile-enquiry {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    position: absolute !important;
    left: -9999px !important;
}

/* Hide all mobile header icons - we use floating icons instead */
@media (max-width: 999px) {
    /* Hide search, enquiry, cart, and user account icons on mobile */
    #header-outer #top nav ul.buttons,
    #header-outer #top nav ul #search-btn,
    #header-outer #top nav ul #enquiry-btn,
    #header-outer #top nav ul .nectar-woo-cart,
    #header-outer #top nav ul .cart-menu,
    #top .mobile-search,
    #header-outer .mobile-search,
    #top .mobile-enquiry,
    #header-outer .mobile-enquiry,
    #top #mobile-cart-link,
    #header-outer #mobile-cart-link,
    #top .mobile-user-account,
    #header-outer .mobile-user-account {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        width: 0 !important;
        height: 0 !important;
        overflow: hidden !important;
        margin: 0 !important;
        padding: 0 !important;
    }
}

/* Fix any potential conflicts with Salient's default icon fonts */
.icon-salient-search:before,
.icon-salient-cart:before,
.icon-salient-enquiry:before {
    font-family: inherit !important;
}

/* ========================================
   DISABLE ALL BADGE ANIMATIONS
   Remove bounce effects from both cart and enquiry badges
   ======================================== */

/* Disable Salient's cart badge animation */
#header-outer .first-load a.cart-contents .cart-wrap span,
#header-outer #mobile-cart-link.first-load .cart-wrap span,
.ascend #header-outer .first-load a.cart-contents .cart-wrap span {
    animation: none !important;
    -webkit-animation: none !important;
    visibility: visible !important;
    opacity: 1 !important;
    transform: scale(1, 1) !important;
    -webkit-transform: scale(1, 1) !important;
}

/* All enquiry badges always visible - no animation */
#header-outer .nectar-enquiry-list .enquiry-wrap span,
#header-outer .nectar-enquiry-list.first-load .enquiry-wrap span,
#top .mobile-enquiry .enquiry-wrap span,
#top .mobile-enquiry.first-load .enquiry-wrap span {
    visibility: visible !important;
    opacity: 1 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: var(--neutral-100) !important;
    text-shadow: none !important;
    background-color: var(--ul-blue-200) !important;
    transform: scale(1, 1) !important;
    -webkit-transform: scale(1, 1) !important;
    animation: none !important;
    -webkit-animation: none !important;
}

/* Notification styles - positioned at bottom of screen, above floating buttons */
.product-notification {
    position: fixed;
    bottom: 160px; /* Above floating buttons (60px + 12px gap + 60px + 20px margin = 152px, rounded to 160px) */
    right: 20px;
    padding: 12px 20px;
    border-radius: 4px;
    color: white;
    font-weight: 500;
    z-index: 10001; /* Above floating buttons (z-index: 10000) */
    max-width: 300px;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
    animation: slideInFromBottom 0.3s ease-out;
}

.product-notification.success {
    background-color: var(--green-200);
}

.product-notification.error {
    background-color: var(--ul-red-200);
}

.product-notification.info {
    background-color: var(--ul-blue-200);
}

.product-notification.warning {
    background-color: var(--warning-light);
    color: var(--neutral-1000);
}

@keyframes slideInFromBottom {
    from {
        transform: translateY(100px);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}

/* B2B product indicators */
.product-b2b .woocommerce-product-details__short-description::before {
    content: "🏢 Business Product";
    display: inline-block;
    background: var(--ul-blue-200);
    color: white;
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 500;
    margin-bottom: 10px;
}

.product-b2c .woocommerce-product-details__short-description::before {
    content: "🏫 School Shop";
    display: inline-block;
    background: var(--green-200);
    color: white;
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 500;
    margin-bottom: 10px;
}

/* Loop/archive page enquiry buttons - override .button styles */
.woocommerce ul.products li.product .enquiry-button,
.woocommerce ul.products li.product .button.enquiry-button,
.woocommerce ul.products li.product a.enquiry-button,
.woocommerce ul.products li.product a.button.enquiry-button {
    margin-top: 10px;
    width: 100%;
    text-align: center;
    background-color: var(--ul-red-200) !important;
    border-color: var(--ul-red-200) !important;
    border: 2px solid var(--ul-red-200) !important;
    color: var(--neutral-100) !important;
    box-shadow: 0 4px 15px var(--ul-red-30) !important;
}

/* Override .button:hover from buttons.css - enquiry buttons should be grey on hover */
.woocommerce ul.products li.product .enquiry-button:hover,
.woocommerce ul.products li.product .button.enquiry-button:hover,
.woocommerce ul.products li.product a.enquiry-button:hover,
.woocommerce ul.products li.product a.button.enquiry-button:hover,
.woocommerce ul.products li.product .button.enquiry-button:hover {
    background-color: var(--neutral-800) !important;
    border-color: var(--neutral-800) !important;
    border: 2px solid var(--neutral-800) !important;
    color: var(--neutral-100) !important;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3) !important;
    transform: translateY(-2px) !important;
}

/* Position enquiry button after product details accordion */
.single-product-enquiry {
    order: 999; /* Ensure it appears after other elements */
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .product-notification {
        bottom: 160px; /* Above floating buttons on mobile too */
        right: 10px;
        left: 10px;
        max-width: none;
    }
    
    .single-product-enquiry {
        margin: 15px 0;
        padding: 15px;
    }
    
    .enquiry-menu-link .count {
        font-size: 11px;
        padding: 1px 5px;
        min-width: 16px;
    }
}

/* Integration with Salient theme */
body.material .enquiry-button {
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

body.material .enquiry-button:hover {
    box-shadow: 0 4px 8px rgba(0,0,0,0.15);
}

/* WooCommerce integration */
.woocommerce .enquiry-button,
.woocommerce-page .enquiry-button {
    font-family: inherit;
}

/* Gravity Forms integration */
.gform_wrapper .ul-enquiry-list {
    margin-bottom: 20px;
}

.gform_wrapper .enquiry_table {
    margin-bottom: 30px;
}

/* Enquiry list empty state */
.ul-enquiry-list p {
    padding: 20px;
    text-align: center;
    color: var(--neutral-600);
    font-style: italic;
    background: var(--neutral-50);
    border-radius: 4px;
    border: 1px solid var(--neutral-200);
}

/* ========================================
   UTILITY BAR - DESKTOP & MOBILE
   Floating buttons for both desktop and mobile
   ======================================== */

/* Hide the desktop utility bar - we use floating buttons on all devices */
.header-utility-bar {
    display: none !important;
}

/* ========================================
   FLOATING BUTTONS - ALL DEVICES
   Fixed button bottom-right corner
   ======================================== */

.floating-icons-mobile {
    display: flex !important; /* Always visible on all devices */
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 10000;
    flex-direction: column;
    gap: 12px;
}

/* Individual floating icon button */
.floating-icon-btn {
    position: relative;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: var(--neutral-100);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.25, 1, 0.33, 1);
    border: 2px solid var(--neutral-300);
    text-decoration: none;
    color: var(--neutral-1000);
}

.floating-icon-btn:hover,
.floating-icon-btn:active {
    transform: scale(1.1) translateY(-2px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
    border-color: var(--neutral-400);
}

/* Glowing border animation when items are added */
@keyframes glowPulse {
    0% {
        border-color: var(--neutral-300);
        box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
    }
    25% {
        border-color: var(--ul-red-200);
        box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2), 0 0 0 0 rgba(229, 54, 19, 0.7);
    }
    50% {
        border-color: var(--ul-red-200);
        box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2), 0 0 0 8px rgba(229, 54, 19, 0);
    }
    75% {
        border-color: var(--ul-red-200);
        box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2), 0 0 0 0 rgba(229, 54, 19, 0.7);
    }
    100% {
        border-color: var(--neutral-300);
        box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
    }
}

/* Apply animation to buttons when items are added */
.floating-icon-btn.item-added {
    animation: glowPulse 1.2s cubic-bezier(0.4, 0, 0.2, 1) 2;
}

/* Cart button gets red glow */
#floating-cart.item-added,
.floating-icon-btn.item-added[href*="cart"] {
    animation: glowPulse 1.2s cubic-bezier(0.4, 0, 0.2, 1) 2;
}

/* Enquiry button gets blue glow */
#floating-enquiry.item-added,
.floating-icon-btn.item-added[href*="enquiry"] {
    animation: glowPulseBlue 1.2s cubic-bezier(0.4, 0, 0.2, 1) 2;
}

@keyframes glowPulseBlue {
    0% {
        border-color: var(--neutral-300);
        box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
    }
    25% {
        border-color: var(--ul-blue-200);
        box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2), 0 0 0 0 rgba(82, 86, 165, 0.7);
    }
    50% {
        border-color: var(--ul-blue-200);
        box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2), 0 0 0 8px rgba(82, 86, 165, 0);
    }
    75% {
        border-color: var(--ul-blue-200);
        box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2), 0 0 0 0 rgba(82, 86, 165, 0.7);
    }
    100% {
        border-color: var(--neutral-300);
        box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
    }
}

/* Add a subtle pulse animation to draw attention (optional) */
@media (min-width: 1024px) {
    .floating-icon-btn {
        width: 64px;
        height: 64px;
    }

    .floating-icons-mobile {
        gap: 14px;
    }
}

/* Floating icon SVGs */
.floating-icon-btn svg,
.floating-icon-btn .icon-salient-cart,
.floating-icon-btn .icon-salient-enquiry {
    width: 26px;
    height: 26px;
    fill: var(--neutral-1000) !important;
}

.floating-icon-btn svg {
    fill: var(--neutral-1000) !important;
}

/* Disable ::before pseudo-elements on floating buttons - we use SVG directly */
.floating-icon-btn .icon-salient-cart::before,
.floating-icon-btn .icon-salient-enquiry::before {
    display: none !important;
    content: none !important;
}

/* Floating button hover tooltips */
.floating-icon-btn::after {
    content: attr(data-tooltip);
    position: absolute;
    right: calc(100% + 12px);
    top: 50%;
    transform: translateY(-50%);
    background: var(--neutral-1000);
    color: var(--neutral-100);
    padding: 0.5rem 0.75rem;
    border-radius: 6px;
    font-size: 0.875rem;
    font-weight: 500;
    white-space: nowrap;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: all 0.3s cubic-bezier(0.25, 1, 0.33, 1);
    z-index: 10001;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.floating-icon-btn::before {
    content: '';
    position: absolute;
    right: calc(100% + 6px);
    top: 50%;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px 0 6px 6px;
    border-color: transparent transparent transparent var(--neutral-1000);
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s cubic-bezier(0.25, 1, 0.33, 1);
    z-index: 10002;
    pointer-events: none;
}

.floating-icon-btn:hover::after,
.floating-icon-btn:hover::before {
    opacity: 1;
    visibility: visible;
}

/* Floating icon badges */
.floating-icon-btn .enquiry-wrap,
.floating-icon-btn .cart-wrap {
    position: absolute;
    top: -4px;
    right: -4px;
    pointer-events: none;
}

.floating-icon-btn .enquiry-wrap span,
.floating-icon-btn .cart-wrap span {
    background: var(--ul-blue-200);
    color: #ffffff;
    border-radius: 50%;
    height: 22px;
    width: 22px;
    min-width: 22px;
    text-align: center;
    line-height: 22px;
    font-size: 12px;
    font-weight: 700;
    font-family: 'Open Sans', sans-serif;
    display: block;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

/* Cart badge color */
.floating-icon-btn .cart-wrap span {
    background: var(--ul-red-200);
}

/* Empty state badges */
.floating-icon-btn .enquiry-wrap span[data-count="0"],
.floating-icon-btn .cart-wrap span[data-count="0"] {
    background: var(--neutral-300);
    color: var(--neutral-700);
    box-shadow: none;
}

.floating-icon-btn.is-empty .enquiry-wrap span,
.floating-icon-btn.is-empty .cart-wrap span {
    border: 1px solid var(--neutral-400);
}

/* Ensure floating buttons are touch-friendly */
@media (max-width: 640px) {
    .floating-icons-mobile {
        bottom: 16px;
        right: 16px;
    }

    .floating-icon-btn {
        width: 52px;
        height: 52px;
    }
}

/* ========================================
   HIDE FOOTER FORM ON ENQUIRY PAGE
   Prevent duplicate contact forms
   ======================================== */

/* Hide footer CTA/contact form on enquiry list page */
.page-template-default .ul-enquiry-list ~ #call-to-action,
body[class*="enquiry-list"] #call-to-action,
body[class*="page-id"] .ul-enquiry-list ~ #call-to-action {
    display: none !important;
}

/* More specific: hide on any page containing the enquiry list shortcode */
body:has(.ul-enquiry-list) #call-to-action {
    display: none !important;
}

/* Hide global enquiry form section on cart and checkout pages */
body.woocommerce-cart .vc_row:has(.gform_wrapper),
body.woocommerce-cart .wpb_row:has(.gform_wrapper),
body.woocommerce-cart section:has(.gform_wrapper),
body.woocommerce-checkout .vc_row:has(.gform_wrapper),
body.woocommerce-checkout .wpb_row:has(.gform_wrapper),
body.woocommerce-checkout section:has(.gform_wrapper) {
    display: none !important;
}

/* Fallback for browsers without :has() support */
body.woocommerce-cart .gform_wrapper,
body.woocommerce-checkout .gform_wrapper {
    display: none !important;
}

/* Hide entire rows/sections containing Gravity Forms EXCEPT form ID 2 on pages with enquiry list */
/* IMPORTANT: Don't hide sections with confirmation messages or form ID 2 */
body:has(.ul-enquiry-list) .vc_row:has(.gform_wrapper:not(#gform_wrapper_2)):not(:has(#gform_wrapper_2)):not(:has(.gform_confirmation_wrapper)),
body:has(.ul-enquiry-list) .wpb_row:has(.gform_wrapper:not(#gform_wrapper_2)):not(:has(#gform_wrapper_2)):not(:has(.gform_confirmation_wrapper)),
body:has(.ul-enquiry-list) section:has(.gform_wrapper:not(#gform_wrapper_2)):not(:has(#gform_wrapper_2)):not(:has(.gform_confirmation_wrapper)),
body:has(.ul-enquiry-list) .nectar-cta:has(.gform_wrapper:not(#gform_wrapper_2)):not(:has(#gform_wrapper_2)):not(:has(.gform_confirmation_wrapper)) {
    display: none !important;
}

/* Fallback: Hide the forms themselves if :has() not supported, but not form 2 or confirmations */
body:has(.ul-enquiry-list) .gform_wrapper:not(#gform_wrapper_2):not(.gform_confirmation_wrapper) {
    display: none !important;
}

/* Make sure confirmation messages are always visible */
body:has(.ul-enquiry-list) .gform_confirmation_wrapper,
body:has(.ul-enquiry-list) .gform_confirmation_message,
.page[class*="enquiry"] .gform_confirmation_wrapper,
.page[class*="enquiry"] .gform_confirmation_message {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}
