:focus-visible {
    outline: none !important;
}

.btn-outline-primary {
    color: var(--th-color-light-blue);
    leading-trim: both;
    text-edge: cap;
    font-family: Roboto;
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: 14.3px;
    padding: 8px 32px;
    border: 1px solid var(--th-color-light-blue);
    border-radius: 41px;
}

.btn-outline-primary:hover {
    background: var(--th-color-light-blue);
    border: 1px solid var(--th-color-light-blue);
}

/* Category Header Styles - Based on Figma Design */

/* Category Cards Grid */
.category-cards-grid {
    display: flex;
    flex-direction: column;
    gap: 26px;
    margin-bottom: 26px;
}

.category-cards-row {
    display: flex;
    flex-direction: row;
    gap: 16px;
    width: 100%;
    align-items: stretch;
}

/* Individual Category Card */
.category-card {
    background-color: #f4f4f4;
    border-radius: 20px;
    padding: 16px 8px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    flex: 1 1 auto;
    max-width: calc(20% - 12.8px);
    min-width: 173px;
    text-decoration: none;
    color: inherit;
    transition: transform 0.2s ease;
}

.category-card:hover {
    transform: translateY(-2px);
    text-decoration: none;
    color: inherit;
}

.category-card-image {
    width: 157px;
    height: 129px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 8px;
}

.category-card-image img {
    width: 129px;
    height: 129px;
    object-fit: cover;
    border-radius: 8px;
}

.category-card-title {
    width: 100%;
    padding: 4px 0;
    text-align: center;
}

.category-card-title p {
    font-family: 'Roboto', sans-serif;
    font-weight: 700;
    font-size: 16px;
    color: #00181c;
    line-height: 1.4;
    margin: 0;
}

/* Category Header Title Section */
.category-header-section {
    display: flex;
    flex-direction: column;
    gap: 26px;
}

.category-title-row {
    margin-bottom: 26px;
}

.category-main-title h1 {
    font-family: 'Roboto', sans-serif;
    font-weight: 700;
    font-size: 28px;
    color: #29b4d6;
    line-height: 1.4;
    margin: 0;
}

.category-description-text p {
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    font-size: 14px;
    color: #9aa8ae;
    line-height: 1.4;
    margin: 0;
}

/* Sorting and Pagination Controls */
.category-controls {
    display: flex;
    flex-direction: row;
    gap: 16px;
    align-items: center;
    justify-content: space-between;
    height: 40px;
    width: 100%;
}

.category-controls-left {
    display: flex;
    flex-direction: column;
    gap: 24px;
    align-items: flex-end;
    justify-content: flex-end;
    width: 345px;
}

.category-controls-center {
    flex: 1;
}

.category-controls-right {
    display: flex;
    flex-direction: row;
    gap: 15px;
    align-items: center;
}

.control-group {
    display: flex;
    flex-direction: row;
    gap: 15px;
    align-items: center;
    width: 100%;
}

.control-label {
    font-family: 'Roboto', sans-serif;
    font-weight: 500;
    font-size: 16px;
    color: #9aa8ae;
    white-space: nowrap;
}

.control-dropdown {
    background-color: #ffffff;
    border: 1px solid #ebe9ef;
    border-radius: 8px;
    height: 40px;
    padding: 0 12px;
    display: flex;
    flex-direction: row;
    gap: 6px;
    align-items: center;
    justify-content: space-between;
    position: relative;
}

.control-dropdown.active {
    border-color: #9aa8ae;
}

.control-dropdown-text {
    font-family: 'Roboto', sans-serif;
    font-weight: 600;
    font-size: 16px;
    color: #00181c;
    flex: 1;
    text-align: center;
}

.control-dropdown.active .control-dropdown-text {
    color: #2a1a46;
}

.control-dropdown-icon {
    font-family: 'Font Awesome 5 Free', sans-serif;
    font-weight: 900;
    font-size: 12px;
    color: #ebe9ef;
}

.control-dropdown.active .control-dropdown-icon {
    color: #2a1a46;
}

#category .product-miniature-card {
    width: auto;
}

#category .product-miniature {
    margin-bottom: 26px;
}

.search-filters-subtitle {
    font-size: 16px;
    font-weight: 700;
    line-height: 140%;
    color: var(--th-color-dark-blue);
    margin-top: 16px;
}

.search-filters-subtitle h6 {
    padding-bottom: 4px;
    border-bottom: 1px solid var(--th-color-lines-light-grey);
}

.search-filters .noUi-connect {
    background: var(--th-color-light-blue) !important;
}

.search-filters .noUi-horizontal .noUi-handle {
    background: var(--th-color-light-blue);
    border-color: var(--th-color-light-blue);
}

.search-filters .js-faceted-values {
    font-size: 16px;
    font-weight: 400;
    line-height: 140%;
    color: var(--th-color-text-medium-grey);
    text-align: center;
}

.search-filters .search-filters-link {
    font-size: 16px;
    font-weight: 400;
    color: var(--th-color-dark-blue);
}

.search-filters .search-filters-link .magnitude {
    color: var(--th-color-text-medium-grey);
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .category-cards-row {
        flex-wrap: wrap;
        gap: 12px;
    }
    
    .category-card {
        flex: 1 1 calc(50% - 6px);
        min-width: calc(50% - 6px);
    }
    
    .category-title-row {
        flex-direction: column;
        gap: 16px;
    }
    
    .category-controls {
        flex-direction: column;
        height: auto;
        gap: 20px;
    }
    
    .category-controls-left,
    .category-controls-right {
        width: 100%;
    }
    
    .control-group {
        justify-content: space-between;
    }
}

@media (max-width: 480px) {
    .category-card {
        flex: none;
        width: 100%;
    }
    
    .category-card-image {
        width: 120px;
        height: 100px;
    }
    
    .category-card-image img {
        width: 100px;
        height: 100px;
    }
}

/*Brand*/
#manufacturer .brand-header {
    margin-bottom: 42px;
}

#manufacturer .brand-header img {
    margin-right: 26px;
}

#manufacturer .brand-header .manufacturer-intro {
    font-size: 14px;
    color: var(--th-color-text-medium-grey) !important;
    font-weight: 400;
    line-height: 140%;
}

#manufacturer .brand-header .manufacturer-name {
    font-size: 28px;
    font-weight: 700 !important;
    color: var(--th-color-light-blue) !important;
    line-height: 120%;
}

#manufacturer .brand-header .brand-description {
    color: var(--th-color-text-medium-grey) !important;
    font-size: 14px;
    font-weight: 300;
    line-height: 140%;
}

#manufacturer .brand-header .brand-description p {
    margin-bottom: 0px;
}

#_desktop_user_info {
    width: unset !important;

    .header-block__title {
        color: var(--th-color-text-grey);
        text-align: center;
        font-style: normal;
        font-weight: 400;
        line-height: 18px;
        font-size: 14px;
    }
}

#_desktop_cart {
    .header-block__title {
        color: var(--th-color-text-grey);
        text-align: center;
        font-style: normal;
        font-weight: 400;
        line-height: 18px;
        font-size: 14px;
    }

    .header-block__action-btn {
        position: relative;

        .header-block__badge {
            position: absolute;
            top: -8px;
            right: -8px;
            left: auto;
            min-width: 20px;
            height: 20px;
            background-color: #E3001B;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            color: #ffffff;
            font-size: 11px;
            font-weight: 700;
            line-height: 1;
            padding: 2px 5px;
            border: 2px solid #ffffff;
            box-sizing: border-box;
        }
    }

    .blockcart .dropdown-menu {
        width: 380px
    }

    .cart_product_line_wrapper:not(:last-child) {
        border-bottom: 1px solid #e6e6e6;
        padding-bottom: 0.5rem;
        margin-bottom: 0.5rem;
    }

    .cart-voucher {
        display: none;
    }

    .cart_product_list {
        border-bottom: 1px solid #e6e6e6;
        border-radius: 0;
        margin-bottom: 0;
        border-top: 0;
        border-right: 0;
        border-left: 0;
        padding-bottom: .5rem;
    }

    .cart-detailed__totals,
    .cart_actions {
        padding: 0.5rem 0;
    }

    .cart-summary__line {
        padding: 0;
        font-size: .875rem;
    }

    .cart-summary__line:not(:last-child) {
        border-bottom: 1px solid #e6e6e6;
        padding-bottom: 0.3rem;
        margin-bottom: 0.3rem;
    }

    .cart-summary__totals {
        border-top: 1px solid #e6e6e6;
        margin-top: 0.3rem;
        padding-top: 0.3rem;

        .cart-summary__label {
            font-weight: normal;
        }
    }

    .cart_actions a {
        background: var(--th-color-main-purple);
        border-radius: 58px;
        font-family: Roboto;
        font-size: 16px;
        font-style: normal;
        font-weight: 700;
        line-height: 140%;
        width: 100%;
        color: #FFF;
    }

    .delete-from-cart {
        color: var(--th-color-dark-grey);
        padding: 0;
    }

    .delete-from-cart:hover {
        transform: scale(1.1);
    }
}

.product-comment-list-item {
    i {
        font-size: 18px;
    }
}

#post-product-comment-modal button[type="submit"],
#product-comment-posted-modal .modal-footer button {
    background: var(--th-color-main-purple);
    border: none;
    border-radius: 41px;
    color: white;
    font-size: 14px;
    font-weight: bold;
    font-family: 'Roboto', sans-serif;
    text-transform: uppercase;
    height: 40px;
    line-height: 14.3px;
    padding: 0 32px;
    transition: opacity 0.2s ease;
}

.wishlist-add-to {
    color: var(--th-color-text-grey);
}

.wishlist-create button:hover {
    transform: scale(1.01);
}

.wishlist-create button.btn.btn-primary,
.wishlist-product-addtocart {
    background: var(--th-color-main-purple) !important;
    border: none;
    border-radius: 41px;
    color: white !important;
    font-size: 14px;
    font-weight: bold;
    font-family: 'Roboto', sans-serif;
    text-transform: uppercase;
    height: 40px;
    line-height: 14.3px;
    padding: 0 32px;
    transition: opacity 0.2s ease;
}

.wishlist-create button.btn.btn-secondary,
.wishlist-modal button.btn.btn-secondary {
    background: transparent;
    border: 1px solid var(--th-color-light-blue);
    border-radius: 41px;
    color: var(--th-color-light-blue);
    font-size: 14px;
    font-weight: bold;
    font-family: 'Roboto', sans-serif;
    text-transform: uppercase;
    height: 40px;
    line-height: 14.3px;
    padding: 0 32px;
    transition: opacity 0.2s ease;
}

.th-swiper-button-next {
    background: transparent;
    box-shadow: none;
}

#blockcart-modal .modal-footer a.btn.btn-primary:hover {
    transform: scale(1.01);
}

#blockcart-modal .modal-footer a.btn.btn-primary {
    background-color: var(--th-color-main-purple);
    border-radius: 41px;
    border-color: var(--th-color-main-purple);
}

.product__stock-status {
    i {
        font-size: 16px;
    }

    i.product-available {
        color: #9CD967
    }

    i.product-unavailable {
        color: #E3001B;
    }

    .fw-semibold {
        margin-right: 6px;
    }
}

input.js-cart-line-product-quantity {
    border-radius: 0 !important;
}

.privacy-policy .form-check {
    padding-left: 0;
}

.th-review-verified {
    color: var(--th-color-main-purple);
}

@media (max-width: 768px) {
    .th-swiper-button-next,
    .th-swiper-button-prev {
        display: none;
    }

    .th-content-grids-container {
        #industrii-grid {
            .th-grid-item {
                display: flex;
                align-items: center;
                justify-content: center;

                .th-item-image {
                    width: 50%;
                }
            }

            .th-grid-item:not(:last-child) {
                margin-bottom: 8px;
            }
        }

        #producatori-grid .th-grid-item {
            padding: 0;
        }

        #parteneriate-succes {
            .th-item-link {
                display: flex;
            }
        }
    }

    .th-footer-element.th-link-list, .th-footer-element.th-contact {
        padding-top: 0;
    }

    .th-banners-hook-displayHome {
        .container:last-child {
            padding: 0;
        }

        .th-banner-full-width-wrapper {
            width: 100% !important;
        }

        .th-banner-image-text {
            padding: 0;
        }

        .th-banner-content {
            padding: 1em;
        }
    }

    .products-selection-vitrine .sort-section {
        flex: unset;
        width: 100%;
    }

    .products-selection-vitrine .sort-dropdown-wrapper {
        flex-grow: unset;
    }

    .product-sections .section-header {
        gap: 0;
    }

    .product-sections .section-border-line {
        margin-top: 0;
    }

    .product-showcase {
        padding: 0 !important;
    }

    .product__info {
        position: relative;

        .product__brand {
            position: absolute;
            top: 0;
            right: 0;

            img {
                height: 4em;
                max-height: 4.5em;
            }
        }
    }

    .product-actions__quantity.quantity-button {
        order: 1;
    }

    .wishlist-button-product {
        order: 2;
        margin-left: auto;
    }

    .th-share-services {
        order: 3;
    }

    .product-actions__button {
        order: 4;
    }

    .th-reassurance-items {
        justify-content: unset;
    }

    .login__register-prompt {
        margin-bottom: 2em;
    }

    section.register-form button[type="submit"],
    #identity form#customer-form button[type="submit"],
    #address div.address-form button[type="submit"] {
        width: 100%;
    }

    #order-detail .order__detail__products {
        margin-top: 1em;
    }

    #history, #order-detail {
        div.table-wrapper {
            padding: 1rem;
        }
    }

    .wishlist-list {
        padding: 0 1em;
    }

    .th-cart-item .product-line__informations.col-md-4 {
        width: 100%;
    }

    .th-cart-item .product-line__informations.col-md-4 .quantity-button.col-5 {
        width: 30%;
    }

    .th-cart-item .product-line__informations .row {
        justify-content: space-between;
    }
}

.breadcrumb__wrapper {
    margin-bottom: 0 !important;
}
