/* General Basket Styles */
#pqb-quote-basket-wrapper {
    margin-top: 20px;
    margin-bottom: 20px;
}

.pqb-quote-basket-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 20px;
}

.pqb-quote-basket-table th,
.pqb-quote-basket-table td {
    border: 1px solid #ddd;
    padding: 8px;
    text-align: left;
    vertical-align: middle;
}

.pqb-quote-basket-table th {
    background-color: #f2f2f2;
    font-weight: bold;
}

.pqb-quote-basket-table .product-thumbnail img {
    width: 50px;
    height: auto;
    display: block;
}

.pqb-qty-input {
    width: 60px;
    text-align: center;
}

.pqb-basket-actions {
    text-align: right;
    margin-top: 15px;
}

.pqb-update-basket-btn {
    /* Style for the update button */
}

.pqb-remove-item-btn {
    color: #a00;
    text-decoration: none;
    font-weight: bold;
    font-size: 1.2em;
    padding: 0 5px;
}
.pqb-remove-item-btn:hover {
    color: #f00;
}

.pqb-empty-basket-message {
    padding: 20px;
    border: 1px dashed #ddd;
    text-align: center;
    color: #555;
}

/* Quote Form Styles */
.pqb-quote-form label {
    display: block;
    margin-bottom: 5px;
    font-weight: bold;
}

.pqb-quote-form input[type="text"],
.pqb-quote-form input[type="email"],
.pqb-quote-form textarea {
    width: 100%;
    padding: 8px;
    margin-bottom: 15px;
    border: 1px solid #ddd;
    border-radius: 4px;
    box-sizing: border-box; /* Include padding in width */
}

.pqb-quote-form textarea {
    min-height: 100px;
    resize: vertical;
}

.pqb-quote-form button[type="submit"] {
    background-color: #0073aa;
    color: white;
    padding: 10px 20px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 1em;
    transition: background-color 0.3s ease;
}

.pqb-quote-form button[type="submit"]:hover {
    background-color: #005177;
}

/* Loading state for buttons */
button.loading {
    opacity: 0.7;
    cursor: not-allowed;
}
button.loading::after {
    display: inline-block;
    margin-left: 5px;
    content: '';
    width: 16px;
    height: 16px;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-radius: 50%;
    border-top-color: #fff;
    animation: spin 1s ease-in-out infinite;
    -webkit-animation: spin 1s ease-in-out infinite;
}

@keyframes spin {
    to { -webkit-transform: rotate(360deg); }
}
@-webkit-keyframes spin {
    to { -webkit-transform: rotate(360deg); }
}


/* Floating Quote Button Styles */
.pqb-floating-quote-button {
    position: fixed;
    bottom: 30px; /* Adjust vertical position */
    right: 30px; /* Adjust horizontal position */
    background-color: #0073aa; /* Example: WordPress blue, adjust to your brand */
    color: #fff;
    padding: 12px 18px;
    border-radius: 30px; /* Makes it pill-shaped */
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
    z-index: 9999; /* Ensures it stays on top of other content */
    text-decoration: none;
    transition: background-color 0.3s ease, transform 0.3s ease, opacity 0.2s ease;
    display: flex; /* For aligning icon and text */
    align-items: center;
    gap: 8px; /* Space between icon and text */
    cursor: pointer; /* Indicate it's clickable */
}

.pqb-floating-quote-button:hover {
    background-color: #005177; /* Darker blue on hover */
    transform: translateY(-2px); /* Slight lift effect */
    color: #fff; /* Keep text white on hover */
}

.pqb-floating-button-link {
    color: inherit; /* Inherit color from parent */
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 8px;
}

.pqb-floating-button-icon {
    font-size: 1.3em; /* Adjust icon size */
    line-height: 1; /* Helps with vertical alignment of text and icon */
}

.pqb-floating-button-text {
    font-weight: bold;
    white-space: nowrap; /* Prevent text from wrapping */
}

.pqb-floating-button-count {
    background-color: #dc3232; /* Red bubble for count */
    color: #fff;
    border-radius: 50%;
    padding: 3px 8px;
    font-size: 0.9em;
    min-width: 18px; /* Ensure circular shape for single digits */
    text-align: center;
    line-height: 1;
    display: inline-block; /* For proper padding and alignment */
}

/* Optional: Responsive adjustments for smaller screens */
@media (max-width: 768px) {
    .pqb-floating-quote-button {
        bottom: 15px;
        right: 15px;
        padding: 10px 15px;
        font-size: 0.9em;
    }
    .pqb-floating-button-icon {
        font-size: 1.1em;
    }
}

/* Styles for the top quote count (if used in a menu or header) */
.pqb-quote-count-wrapper {
    display: inline-block; /* Or block depending on where it's placed */
    margin-left: 15px; /* Adjust spacing */
}

.pqb-quote-count-link {
    text-decoration: none;
    color: #333; /* Adjust to match your menu text color */
    font-weight: bold;
}

.pqb-quote-count-link:hover {
    color: #0073aa; /* Adjust hover color */
}

.pqb-quote-count-label {
    /* Style for the 'Quote List' text */
}

.pqb-quote-count {
    background-color: #dc3232;
    color: #fff;
    border-radius: 50%;
    padding: 2px 7px;
    font-size: 0.8em;
    margin-left: 5px;
    vertical-align: super; /* Adjust vertical alignment */
}