/* ========================================
   GASTRO THEME - CUSTOM STYLES
   ========================================
   TABLE OF CONTENTS
   ========================================
   1. GLOBAL / UTILITIES
   2. BUTTONS
   3. HEADER
   4. NAVIGATION / MENU
   5. SEARCH
   6. FOOTER
   7. PRODUCT CARDS
   8. PRODUCT PAGE
   9. CATEGORY PAGE
   10. BRAND / MANUFACTURER PAGE
   11. CART
   12. WISHLIST
   13. AUTHENTICATION
   14. BLOG
   15. CMS PAGES
   16. FORMS
   17. MODALS
   18. SLIDERS / SWIPER
   19. HOMEPAGE
   20. RESPONSIVE - TABLET (max-width: 768px)
   21. RESPONSIVE - MOBILE (max-width: 576px)
   22. RESPONSIVE - DESKTOP (min-width: 768px)
   ======================================== */


/* ========================================
   1. GLOBAL / UTILITIES
   ======================================== */

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

.custom-links-top {
    text-align: center;
    color: #818181;
    padding-bottom: 2px;
}

.custom-links-top a {
    font-size: 12px;
    color: #818181;
}
.cart__item .product-line__actions a:after{
    content: unset;
    display: none;
}


/* ========================================
   2. BUTTONS
   ======================================== */

.btn {
    font-size: 14px;
    line-height: 14px;
}

.btn-outline-primary {
    color: var(--th-color-main-green);
    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-main-green);
    border-radius: 8px;
}
.btn-outline-primary i {
    color: var(--th-color-main-green);
}

.btn-outline-primary:hover {
    background: var(--th-color-main-green);
    border: 1px solid var(--th-color-main-green);
    color: white;
}
.btn-outline-primary:hover i {
    color:white !important;
}

.btn-primary {
    background: var(--th-color-main-green);
    color: white;
    border: 1px solid var(--th-color-main-green);
    border-radius: 5px;
    font-weight: 500;
    transition: all 0.2s ease;

    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 20px !important
}

.btn-primary i {
    color: white;
}

.btn-primary:hover {
    border-color: var(--th-color-main-green);
    background-color: white !important;
    color: var(--th-color-main-green);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(111, 66, 193, 0.3);
}

.btn-primary:hover i {
    color: var(--th-color-main-green);
}

.btn-secondary {
    background-color: var(--th-color-text-gray);
    color: white;
    border: 1px solid var(--th-color-text-gray);
    border-radius: 5px;
    font-weight: 500;
    
    padding: 10px 20px !important;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}
.btn-secondary i{
    color: white;
}

.btn-secondary:hover {
    background-color: black;
    color: white;
    border: 1px solid black;
    transition: all 0.2s ease;
}
.btn-secondary:hover i{
    color: white;
}
/* ========================================
   3. HEADER
   ======================================== */

.header-top #currency-selector {
    padding-top: unset;
    padding-bottom: unset;
    color: var(--th-color-main-green);
    --bs-form-select-bg-img: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23var(--th-color-main-green)' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3E%3C/svg%3E");
    cursor: pointer;
    padding: 9px 1.5rem 9px 9px;
}

.header-top #currency-selector option {
    color: #444;
}

.header-top #currency-selector option:hover {
    background: transparent !important;
    color: var(--th-color-main-green) !important;
}

.header-top #currency-selector:focus {
    box-shadow: none;
}

.header-bottom {
    align-items: center;
    display: flex;
    justify-content: center;
    flex-direction: column;
    border-bottom: unset;
}
.header-bottom .header-bottom__container{
    padding-bottom: 16px;
}
.header-bottom .header-bottom__menuContainer{
    background-color: #F5F5F5;
    width: 100%;
    border-top: 1px solid #cccccc;
}

.header-bottom .logo {
    width: 240px;
    height: auto;
}

.header-bottom__row .th-wishlist-nav {
    order: unset !important;
}

.header-bottom__row .th-wishlist-nav,
.header-bottom__row .th_quote_cart_style,
.header-bottom__row #_desktop_user_info,
.header-bottom__row #_desktop_cart,
.header-bottom__row img.logo {
    padding-top: 20px;
    z-index: 2000;
}
.header-bottom__row #_desktop_user_info .dropdown-item{
    padding: 0;
}
.header-bottom__row #_desktop_user_info .dropdown-item:not(:first-child):not(:last-child) {
    padding-bottom: .5rem;
}
.header-bottom__row #_desktop_user_info .dropdown-item:hover{
    color: var(--th-color-main-green);
}


/* TODO: REVIEW - duplicate selector - check if both declarations are needed */
#_desktop_user_info {
    width: unset !important;
}

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

#_desktop_cart {
    padding-left: 12px;
    padding-right: 12px;

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

#_desktop_cart .header-block__action-btn {
    position: relative;
    padding: 0;
    cursor: pointer;
}

#_desktop_cart .header-block__action-btn .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;
}

.th-wishlist-nav-link i,
.material-icons {
    color: var(--th-color-main-green);
}


/* ========================================
   4. NAVIGATION / MENU
   ======================================== */

.th-menu--horizontal .th-menu__item {
    position: unset !important;
}

.th-menu--horizontal {
    position: relative;
}

.th-menu--horizontal .th-menu__arrow {
    display: none;
}

.th-mega-menu__column li a:hover {
    color: var(--th-color-main-green);
}

.th-vertical-menu .th-vertical-menu__toggle {
    max-height: 50px;
    background: var(--th-color-main-green);
    color: #FFF;
}

.th-menu-item--horizontal .th-menu__submenu {
    border-radius: 0;
}

.th-vertical-menu .th-menu__list--vertical {
    border: unset;
}

.th-menu__label {
    font-weight: 400;
}

/* Hide menu when toggle is collapsed */
.th-vertical-menu__toggle[aria-expanded="false"] + #th-vertical-menu-3 {
    display: none !important;
}

/* Show menu when toggle is expanded */
.th-vertical-menu__toggle[aria-expanded="true"] + #th-vertical-menu-3 {
    display: block !important;
}

/* Show vertical menu on hover on desktop */
@media (min-width: 1200px) {
    body:not(.th-is-touch) .th-vertical-menu:hover #th-vertical-menu-3 {
        display: block !important;
    }

    #index:not(.gp-header-stuck) #th-vertical-menu-3 {
        display: block !important;
    }
}

/* Homepage: dropdown categories wrapper in content area */
#homepage-dropdown-wrapper {
    position: absolute;
    top: 0;
    z-index: 99;
    overflow: visible;
    pointer-events: auto;
}

#homepage-dropdown-wrapper #th-vertical-menu-3 {
    position: relative !important;
    top: 0 !important;
    overflow: visible !important;
    display: flex !important;
    flex-direction: column !important;
}

#homepage-dropdown-wrapper #th-vertical-menu-3 > li {
    flex: 1 !important;
}

#homepage-dropdown-wrapper #th-vertical-menu-3 > li > .th-menu__link {
    height: 100% !important;
    align-items: center !important;
}

#homepage-dropdown-wrapper .th-menu--vertical .th-menu__item {
    border-bottom: none !important;
}

body#index #wrapper {
    position: relative;
}

/* Hide homepage dropdown on mobile/tablet - hamburger menu takes over */
@media (max-width: 1199px) {
    #homepage-dropdown-wrapper {
        display: none !important;
    }
}


/* ========================================
   5. SEARCH
   ======================================== */

#search_widget {
    width: 85%;
}

#search_widget form input {
    border: 2px solid #ececec;
}

#search_widget input[type="search"]::-webkit-search-cancel-button {
    -webkit-appearance: none;
    display: none;
}

.search-widgets__dropdown {
    max-width: 100% !important;
    width: 100% !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 9999;
}
.search-widgets__dropdown{
    top: 100%!important;
}

/* ========================================
   6. FOOTER
   ======================================== */

.footer .footer__main {
    background-color: var(--th-color-background-gray);
}

.th-footer-row:first-child {
    margin-top: 1rem;
}

.th-footer-bu {
    margin-top: 1rem;
}

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

.th-footer-element.th-buttons .th-btn {
    width: 250px;
    text-align: left;
    padding: 8px 16px;
    color: var(--th-color-main-green) !important;
    font-size: 14px !important;
    background: white;
    border: 1px solid var(--th-color-main-green);
    min-width: 225px;
    font-weight: 300 !important;
    align-items: center;
    justify-content: center;
    border-radius: 0px;
}

.th-footer-column .th-image-gallery .th-footer-title {
    display: none;
}

.th-footer-column .th-image-gallery {
    display: flex;
    align-items: center;
    gap: 8px;
}

.th-buttons-container {
    gap: 16px;
}

.th-newsletter-form .form-control {
    padding: 8px !important;
    border-radius: unset !important;
}

.th-newsletter-submit-btn svg {
    color: var(--th-color-main-green) !important;
}


/* ========================================
   7. PRODUCT CARDS
   ======================================== */

.product-miniature-card {
    border-radius: unset !important;
}

.product-miniature-card:hover {
    box-shadow: 0px 2px 20px rgba(30, 195, 164, 0.5) !important;
}

.product-miniature-card .add-to-cart-button {
    background: var(--th-color-main-green);
    border-radius: 5px;
    border: none;
    box-shadow: none;
}

.product-miniature-card .add-to-cart-button:hover {
    background: #373435;
}

.product-miniature-card a.add-to-cart-button {
    align-self: flex-start;
    display: inline-block;
    text-decoration: none;
}

.product-details .product-list-reviews {
    display: none;
}

.product-details .view-details-button {
    background: var(--th-color-main-green);
    border-radius: 5px;
    border: none;
    box-shadow: none;
    color: white;
}

.product-details .view-details-button:hover {
    background: #373435;
}

.product-overlay .th-wishlist-toggle-btn {
    margin-left: auto;
}

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

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


/* ========================================
   8. PRODUCT PAGE
   ======================================== */

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

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

.product__stock-status i.product-last-items {
    color: #FFC107;
}

.product__stock-status i.product-backorder {
    color: #FFC107;
}

/* .product-unavailable (rosu #E3001B) NU mai e folosit pe pagina de produs;
   pastreaza-l doar daca e referit in alte zone (listing/cart). */

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

/* Product page thumbnails - simple horizontal slider */
.thumbnails__list.swiper {
    overflow: hidden;
}
.thumbnails__list .swiper-slide.thumbnail {
    width: 90px;
    height: 90px;
    flex-shrink: 0;
    cursor: pointer;
}
.thumbnails__list .swiper-slide.thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
/* Suprascrie border-ul albastru #0d6efd din theme.css cu verde Gastro */
.thumbnail.active img,
.thumbnails__list .swiper-slide.thumbnail.active img {
    border-color: #1ec3a4 !important;
}

.product-actions__button.add .btn.btn-primary {
    color: #ffffff !important;
    background: #1ec3a4 !important;
    border-color: #1ec3a4 !important;
}

.th-share-btn {
    background: white;
    border: 1px solid #e0e0e0 !important;
    border-radius: 5px !important;
    padding: 8px 10px;
    height: 40px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    color: var(--th-color-dark-blue);
    font-size: 15px;
    transition: all 0.2s ease;
}

.th-write-review-btn {
    background: var(--th-color-main-green) !important;
}

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

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


/* ========================================
   9. CATEGORY PAGE
   ======================================== */

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

.category-cards-row {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 16px;
    width: 100%;
}

/* 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;
    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: 14px;
}

.category-main-title h1 {
    font-family: 'Roboto', sans-serif;
    font-weight: 700;
    font-size: 28px;
    color: var(--th-color-text-gray);
    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;
}

/* Search Filters */
.search-filters-subtitle {
    font-size: 16px;
    font-weight: 700;
    line-height: 140%;
    color: var(--th-color-dark-blue);
    margin-top: 16px;
    /* border-bottom: 1px solid #d6d4d4; */
}
.search-filters-title{
    border-bottom: 1px solid var(--th-color-light-grey);
    width: 100%;
    color: #777777 !important;
}
.search-filters-subtitle h6 {
    padding-bottom: 4px;
    border-bottom: 1px solid var(--th-color-light-grey);
    color: #777777;
    font-size: 18px;
}
.facet-total-count {
    font-size: 14px;
    color: #777777;
    opacity: .6;
}
.search-filters .noUi-connect {
    background: var(--th-color-main-green) !important;
}

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

.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 {
    opacity: 0.5;
}

/* Inline subcategories grid - border only if more than 3 columns */
.th-inline-subcats-grid:has(.th-inline-subcats-column:nth-child(4)) .th-inline-subcats-column {
    border-bottom: 1px solid #e0e0e0;
    padding-bottom: 15px;
    margin-bottom: 15px;
}
/* Facet Show All - Filtre ascunse și toggle cu tranziție */
.facet-list li.facet-hidden {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    padding: 0;
    margin: 0;
    transition: max-height 0.3s ease, opacity 0.3s ease, padding 0.3s ease, margin 0.3s ease;
}

/* Filtrele active sunt MEREU vizibile */
.facet-list li.facet-active {
    max-height: 200px !important;
    opacity: 1 !important;
    overflow: visible !important;
}

/* Când lista e expandată, arată toate filtrele cu animație */
.facet-list.expanded li.facet-hidden {
    max-height: 200px;
    opacity: 1;
    overflow: visible;
}

.facet-show-all-btn {
    float: right;
}

/* ========================================
   10. BRAND / MANUFACTURER PAGE
   ======================================== */

#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-main-green) !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;
}


/* ========================================
   11. CART
   ======================================== */

#_desktop_cart .blockcart .dropdown-menu {
    width: 380px;
    z-index: 99999;
}

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

#_desktop_cart .cart-voucher {
    display: none;
}

#_desktop_cart .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;
}

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

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

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

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

#_desktop_cart .cart-summary__totals .cart-summary__label {
    font-weight: normal;
}

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

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

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

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

/*#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);*/
/*}*/

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

/* Cart page */
.cart__items{
    margin-bottom: 0px;
}
.cart__items li{
 border-bottom: 1px solid #BFBFBF;   
}
.cart__items li:last-child{
 border-bottom: unset;   
}
.btn-proceed{
    background-color: var(--th-color-main-green);
    border-color: var(--th-color-main-green);
}
.btn-proceed:hover,
.btn-proceed:focus,
.btn-proceed:active{
    background: #fff;
    color: var(--th-color-main-green);
    border-color: var(--th-color-main-green);
}
.cart-grid__body,
.cart-grid__right{
    border-radius: 6px;
    border: 1px solid #BFBFBF;

}
.cart-summary{
    padding: 0;
} 
.cart-grid .h5{
    color: #777;
    border-bottom: 1px solid #BFBFBF;
    padding-bottom:0.5rem;
    
}
.cart-summary__totals{
    border-top: 1px solid #BFBFBF;
    border-bottom: 1px solid #BFBFBF;
    margin-bottom: 0.75rem;
    padding-bottom: 1rem;
}
/* ========================================
   12. WISHLIST
   ======================================== */

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

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

.wishlist-create button.btn.btn-primary,
.wishlist-product-addtocart {
    background: var(--th-color-main-green) !important;
    border: none;
    border-radius: 5px;
    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-main-green);
    /*border-radius: 41px;*/
    color: var(--th-color-main-green);
    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;
}


/* ========================================
   13. AUTHENTICATION
   ======================================== */

#authentication .login{
    gap: 20px 0px;
}
#password #content-wrapper,
#registration .register-form,
#authentication .login__register-prompt,
#authentication .login__form-wrapper {
    padding: 1.5rem;
    border: 1px solid #ebe9ef;
    border-radius: 5px;
    background-color: #ffffff;
}

#authentication .login__register-prompt {
    display: flex;
    flex-direction: column;
}

#authentication .new-account {
    margin-top: auto !important;
}

.login__register-prompt {
    height: 100%;
}

.register-form__login-prompt a:hover {
    color: var(--th-color-main-green);
}


/* ========================================
   14. BLOG
   ======================================== */

.post-read-more a,
.blog-homepage-posts .h4 {
    color: var(--th-color-main-green) !important;
}

.blog-homepage-footer .btn {
    padding: 8px;
}

.blog-homepage-footer .material-icons {
    display: none;
}

.blog-posts-grid {
    margin-bottom: 10px !important;
}

.blog-homepage-posts,
.th-banners-hook-displayHome,
.th-content-grids-container {
    background: white !important;
}

.th-content-grids-container .container .th-promo-swiper {
    overflow: hidden;
}


/* ========================================
   15. CMS PAGES
   ======================================== */

/* Section Titles */
.cms_content .section-title {
    color: #1ec3a4 !important;
}

.cms_content .section-subtitle {
    color: #1ec3a4 !important;
    font-size: 18px;
}

/* Testimonials */
.cms_content .testimonial .stars i {
    color: #e74c3c;
    font-size: 18px;
}

.cms_content .testimonial h5 {
    font-size: 20px;
    font-weight: bold;
    color: #444444;
    margin-top: 8px;
}

.cms_content .testimonial small {
    font-size: 16px;
    color: #666666;
}

.cms_content .testimonial p {
    font-size: 15px;
    margin-top: 10px;
    color: #444444;
}

/* Contact Section */
.cms_content .contact-section {
    color: #1ec3a4;
}

.cms_content .contact-section h3 {
    font-size: 28px;
    font-weight: bold;
    color: #1ec3a4;
}

.cms_content .contact-section p {
    font-size: 18px;
    margin-top: 8px;
}

.cms_content .contact-section i {
    margin-right: 8px;
}

/* Social Icons */
.cms_content .social-icon {
    margin: 15px;
    text-align: center;
}

.cms_content .social-icon a {
    text-decoration: none;
}

.cms_content .social-icon i {
    font-size: 28px;
}

/* TODO: REVIEW - duplicate selector for .social-icon span */
.cms_content .social-icon span {
    display: block;
    font-size: 16px;
    color: #1ec3a4 !important;
    margin-top: 6px;
    text-align: center;
}

/* Facebook */
.cms_content .social-facebook i {
    color: #3b5998;
}

.cms_content .social-facebook span {
    color: #3b5998;
}

/* YouTube */
.cms_content .social-youtube i {
    color: #ff0000;
}

.cms_content .social-youtube span {
    color: #ff0000;
}

/* Twitter */
.cms_content .social-twitter i {
    color: #1da1f2;
}

.cms_content .social-twitter span {
    color: #1da1f2;
}


/* ========================================
   16. FORMS
   ======================================== */

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


/* ========================================
   17. MODALS
   ======================================== */

#post-product-comment-modal button[type="submit"],
#product-comment-posted-modal .modal-footer button {
    background: var(--th-color-main-green);
    border: none;
    border-radius: 5px;
    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;
}


/* ========================================
   18. SLIDERS / SWIPER
   ======================================== */

/* TODO: REVIEW - .th-swiper-button-next defined twice */
.th-swiper-button-next {
    background: transparent;
    box-shadow: none;
}

.th-swiper-button-next,
.th-swiper-button-prev {
    border-radius: 50%;
    width: 50px !important;
    height: 50px !important;
    margin-top: -25px !important;
    transition: all 0.3s ease;
    opacity: 0;
    visibility: hidden;
}

.th-swiper-button-next:after,
.th-swiper-button-prev:after {
    color: var(--th-color-main-green) !important;
}

.th-promo-slider-container:hover .th-swiper-button-next,
.th-promo-slider-container:hover .th-swiper-button-prev {
    opacity: 1;
    visibility: visible;
}

.th-promo-subtitle,
.th-promo-title {
    color: var(--th-color-main-green) !important;
}


/* ========================================
   19. HOMEPAGE
   ======================================== */

#content .home-container {
    background-color: var(--th-color-background-gray);
}

/* Breadcrumb */
.breadcrumb .breadcrumb-link:hover {
    color: var(--th-color-main-green);
}

/* Separator line for product sections - desktop only */
@media screen and (min-width: 991px) {
    .separator {
        width: 70px;
        height: 3px;
        background-color: #1ec3a4;
        margin-bottom: 7px;
    }
}


/* Per Page Dropdown - match button width */
.per-page-dropdown {
    position: relative;
    display: inline-block;
}
.per-page-dropdow{
    min-width:unset!important;

}
.per-page-btn{
    border-color: var(--th-color-main-green) !important;
    background-color: white !important;
    color: var(--th-color-main-green) !important;
}

.per-page-dropdown .dropdown-menu {
    width: 100%;
    min-width: unset !important;
}
.sort-dropdown .sort-dropdown-btn{
    min-width: 186px;
    border-color: var(--th-color-main-green);
    background-color: white;
    color: var(--th-color-main-green);
}
.per-page-dropdown .per-page-value,
.sort-dropdown .sort-dropdown-text{
    color: var(--th-color-main-green);
}
.sort-dropdown .sort-dropdown-icon,
.per-page-btn i{
    color: var(--th-color-main-green);
}
.per-page-btn .per-page-value{
    flex-grow: 1;
}

/* ========================================
   20. RESPONSIVE - TABLET (768px - 991px)
   ======================================== */

@media (min-width: 768px) and (max-width: 991px) {
    /* Products Selection - label above, dropdown below, 50/50 */
    .products-selection-vitrine .products-selection-content {
        gap: 15px;
    }

    .products-selection-vitrine .sort-section,
    .products-selection-vitrine .per-page-section {
        flex: 0 0 calc(50% - 7.5px);
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }

    .products-selection-vitrine .sort-dropdown-wrapper,
    .products-selection-vitrine .per-page-dropdown {
        width: 100%;
    }

    .products-selection-vitrine .sort-dropdown-wrapper .sort-dropdown,
    .products-selection-vitrine .per-page-dropdown {
        position: relative;
        width: 100%;
    }

    .sort-dropdown .sort-dropdown-btn,
    .per-page-btn {
        width: 100% !important;
        min-width: unset !important;
    }

    .sort-dropdown .sort-dropdown-menu,
    .per-page-dropdown .dropdown-menu {
        width: 100% !important;
        min-width: unset !important;
    }
}

/* ========================================
   21. RESPONSIVE - MOBILE (max-width: 767px)
   ======================================== */

@media (max-width: 767px) {
    /* Pagination Mobile Fix */
    .pagination-gastro {
        flex-wrap: wrap;
        justify-content: center;
    }

    .pagination-list-container nav {
        flex-wrap: wrap !important;
    }

    /* Category Page */
    .category-cards-row {
        gap: 12px;
    }

    .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;
    }

    /* Swiper Navigation */
    .th-swiper-button-next,
    .th-swiper-button-prev {
        display: none;
    }

    /* Content Grids */
    .th-content-grids-container #industrii-grid .th-grid-item {
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .th-content-grids-container #industrii-grid .th-grid-item .th-item-image {
        width: 50%;
    }

    .th-content-grids-container #industrii-grid .th-grid-item:not(:last-child) {
        margin-bottom: 8px;
    }

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

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

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

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

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

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

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

    /* Products Selection - 50/50 layout on mobile */
    .products-selection-vitrine .products-selection-content {
        gap: 10px;
    }

    .products-selection-vitrine .sort-section {
        order: 1;
        flex: 0 0 calc(50% - 5px);
        width: calc(50% - 5px);
        flex-wrap: nowrap;
    }

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

    .products-selection-vitrine .mobile-filter-section {
        order: 2;
        flex: 0 0 calc(50% - 5px);
        width: calc(50% - 5px);
    }

    .products-selection-vitrine .mobile-filter-section .btn {
        width: 100%;
        height: 40px;
    }

    .products-selection-vitrine .per-page-section {
        order: 3;
        flex: 1 1 100%;
        justify-content: space-between;
        align-items: center;
        margin-top: 0;
    }

    .products-selection-vitrine .per-page-dropdown {
        width: auto;
    }

    .sort-dropdown {
        position: relative;
        width: 100%;
    }

    .sort-dropdown .sort-dropdown-btn {
        width: 100% !important;
        min-width: unset !important;
    }

    .sort-dropdown .sort-dropdown-menu {
        width: 100%;
        min-width: unset;
    }
    /* Product Sections */
    .product-sections .section-header {
        gap: 0;
    }

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

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

    /* Product Info */
    .product__info {
        position: relative;
    }

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

    .product__info .product__brand img {
        height: 4em;
        max-height: 4.5em;
    }

    /* Product Actions Ordering */
    .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;
    }

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

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

    /* Forms */
    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 .order__detail__products {
        margin-top: 1em;
    }

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

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

    /* Cart */
    .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: 40%;
    }

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

    /* Header */


    #_desktop_search {
        display: flex;
        justify-content: center;
        align-items: center;
        padding-top: 10px !important;
    }

    .header-bottom .logo {
        max-width: 140px !important;
        width: unset !important;
    }

    .home-container .th-menu-container {
        display: none;
    }

    .header-bottom__row .th-wishlist-nav,
    .header-bottom__row #_desktop_user_info,
    .header-bottom__row #_desktop_cart,
    .header-bottom__row img.logo {
        padding-top: 0px;
    }

    .header-bottom .header-bottom__row {
        padding: 10px 0px 0px 0px;
    }

    .header-bottom {
        padding: 0px;
    }

    #search_widget {
        width: 100%;
    }

    .th-menu-container {
        padding: 0px !important;
    }

    .header-bottom #_desktop_currency_selector .currency-selector__wrapper {
        margin-bottom: 0px;
    }

    #currency-selector {
        border: none;
        box-shadow: none;
        padding: 0;
        padding-right: 32px !important;
        background-position: right -0.25rem center;
    }

    .header-bottom__row {
        position: relative;
    }

    /*.header-bottom__row > .logo {*/
    /*    position: absolute;*/
    /*    left: 50%;*/
    /*    right: 50%;*/
    /*    top: 10px;*/
    /*}*/

    /* Authentication */
    #authentication .login__register-prompt,
    #authentication .login__form-wrapper {
        padding: 1rem;
    }

    /* ===== CATEGORII DE PRODUSE - 2 pe rand, inaltime egala, colturi rotunjite ===== */
    #categorii-produse .th-grid-items {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 10px !important;
        grid-auto-rows: 1fr !important;
    }
    #categorii-produse .th-grid-item {
        width: 100% !important;
        height: 100% !important;
        border-radius: 15px !important;
        overflow: hidden !important;
    }
    #categorii-produse .th-grid-item .th-item-link {
        height: 100% !important;
        display: flex !important;
        flex-direction: column !important;
    }
    #categorii-produse .th-grid-item .th-item-image {
        flex: 1 1 auto !important;
    }
    #categorii-produse .th-grid-item .th-item-content {
        flex: 0 0 auto !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-height: 80px !important;
    }

    /* ===== PRODUCATORI - Slider orizontal ===== */
    #producatori-grid-gastro .th-grid-items {
        display: flex !important;
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        gap: 25px !important;
        padding: 10px 0 !important;
        scroll-behavior: smooth;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        align-items: center !important;
    }
    #producatori-grid-gastro .th-grid-items::-webkit-scrollbar {
        display: none;
    }
    #producatori-grid-gastro .th-grid-items .th-grid-item {
        flex: 0 0 130px !important;
        width: 130px !important;
        min-width: 130px !important;
        height: auto !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
    #producatori-grid-gastro .th-grid-items .th-grid-item a {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        height: auto !important;
    }
    #producatori-grid-gastro .th-grid-items .th-grid-item img {
        max-height: 60px !important;
        width: auto !important;
        max-width: 100% !important;
        object-fit: contain !important;
    }

    /* ===== FOOTER - Text centrat ===== */
    #footer .th-footer-column {
        text-align: center !important;
    }
    #footer .th-footer-title,
    #footer h4 {
        text-align: center !important;
    }
    #footer .th-footer-links {
        text-align: center !important;
        padding-left: 0 !important;
        list-style: none !important;
    }
    #footer .th-footer-links li {
        text-align: center !important;
    }
    #footer .th-footer-element {
        text-align: center !important;
    }
    #footer .th-footer-bu {
        text-align: center !important;
    }
    #footer .th-footer-row {
        text-align: center !important;
    }
    #footer .th-rich-text,
    #footer .th-rich-text p,
    #footer .th-rich-text h4 {
        text-align: center !important;
    }
    #footer .th-image-gallery {
        justify-content: center !important;
    }
    #footer .icons {
        display: flex !important;
        justify-content: center !important;
        gap: 10px !important;
    }
    /* fix icon alignment */
    #footer .th-footer-column:last-child .th-footer-element {
        display: block !important;
        text-align: center !important;
    }
    #footer .th-footer-column:last-child a {
        display: inline !important;
    }
    #footer .th-footer-column:last-child a[href*="google"] .material-icons {
        display: inline !important;
        vertical-align: middle !important;
        font-size: 20px !important;
        margin-right: 2px !important;
    }
    #footer .th-footer-column:last-child a[href^="tel"] {
        white-space: nowrap !important;
    }
    #footer .th-footer-column:last-child a[href^="tel"] .material-icons {
        display: inline !important;
        vertical-align: middle !important;
        font-size: 18px !important;
        margin-right: 2px !important;
    }
    #footer .th-footer-column:last-child .th-image-gallery {
        display: flex !important;
        justify-content: center !important;
    }
    #footer .th-footer-element.th-button-element {
        display: flex !important;
        justify-content: center !important;
    }
}


/* ========================================
   21. RESPONSIVE - MOBILE (max-width: 576px)
   ======================================== */

@media (max-width: 576px) {
    .header-bottom .logo {
        max-width: 120px !important;
        width: unset !important;
    }
}

@media (max-width: 480px) {
    .category-cards-row {
        grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    }

    .category-card-image {
        width: 120px;
        height: 100px;
    }

    .category-card-image img {
        width: 100px;
        height: 100px;
    }
}


/* ========================================
   22. RESPONSIVE - DESKTOP (min-width: 768px)
   ======================================== */

@media (min-width: 1029px) {
    .header-bottom #_desktop_currency_selector {
        display: none !important;
    }
}
@media (min-width: 768px) {
    .row-md {
        -bs-gutter-x: 1.5rem;
        --bs-gutter-y: 0;
        display: flex;
        flex-wrap: wrap;
        margin-left: calc(var(--bs-gutter-x) * -0.5);
        margin-right: calc(var(--bs-gutter-x) * -0.5);
        margin-top: calc(var(--bs-gutter-y) * -1);
    }

    /*.header-bottom #_desktop_currency_selector {*/
    /*    display: none;*/
    /*}*/
    .products-selection-vitrine .products-selection-content {
    justify-content: space-between;
    flex-wrap: wrap;
    }
}

/* Fix: Prevent Catering submenu white space caused by flex column wrap */
.th-menu-item--horizontal .th-menu__submenu .th-menu__item {
    max-height: none !important;
    flex-wrap: nowrap !important;
}

/* Fix: Prevent arrow button from overflowing on long category names in vertical menu */
.th-menu--vertical .th-menu__item {
    min-width: 0;
}

.th-menu--vertical .th-menu__link {
    min-width: 0;
    overflow: hidden;
}

.th-menu--vertical .th-menu__link .th-menu__label {
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Fix: Make checkout custom-checkbox clickable on the visual checkbox span */
.business-private-checkboxes .custom-checkbox,
.second-address .custom-checkbox {
    position: relative;
}

.business-private-checkboxes .custom-checkbox label,
.second-address .custom-checkbox label {
    position: static;
    cursor: pointer;
}

.business-private-checkboxes .custom-checkbox label::before,
.second-address .custom-checkbox label::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

/* Fix: Prevent text selection on all custom checkboxes (avoids accidental highlight on double-click) */
.custom-checkbox,
.custom-checkbox *,
.custom-checkbox label {
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
}

/* ===================================
   CATEGORIES DROPDOWN SCROLL BEHAVIOR
   =================================== */

/* Override menu.css :hover when scrolled - prevent unintended show */
body.is-scrolled:not(.th-is-touch) .th-vertical-menu:hover .th-menu__list--vertical,
body.is-scrolled .th-vertical-menu:hover .th-menu__list--vertical,
body.is-scrolled .th-vertical-menu:hover #th-vertical-menu-3 {
    display: none !important;
    clip-path: inset(100%) !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    pointer-events: none !important;
}

/* NOT SCROLLED (homepage top): show dropdown overlaying slider */
body#index:not(.is-scrolled) header nav.th-menu--vertical .th-vertical-menu #th-vertical-menu-3 {
    display: flex !important;
    flex-direction: column !important;
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    width: 278px !important;
    height: auto !important;
    clip-path: none !important;
    overflow: visible !important;
    pointer-events: auto !important;
    background: #F5F5F5 !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1) !important;
    border: 1px solid rgba(55, 52, 53, 0.2) !important;
    min-height: 558px;
    max-height: 558px;
    z-index: 99;
}

/* SCROLLED: hide dropdown completely */
body.is-scrolled header nav.th-menu--vertical .th-vertical-menu #th-vertical-menu-3 {
    display: none !important;
    clip-path: inset(100%) !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    pointer-events: none !important;
}

/* SCROLLED + HOVER (via JS class): show as dropdown under sticky header */
body.is-scrolled header nav.th-menu--vertical .th-vertical-menu.is-hovered #th-vertical-menu-3 {
    display: flex !important;
    flex-direction: column !important;
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    width: 278px !important;
    height: auto !important;
    clip-path: none !important;
    overflow: visible !important;
    pointer-events: auto !important;
    background: #F5F5F5 !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15) !important;
    border: 1px solid rgba(55, 52, 53, 0.2) !important;
    border-radius: 0 0 6px 6px;
    min-height: 558px;
    max-height: 558px;
    z-index: 1001;
}

/* Hide old wrapper after JS moves the list to header */
#homepage-dropdown-wrapper.is-moved {
    display: none !important;
}

/* ===== STICKY HEADER CU ANIMATIE (ca pe .ro) ===== */

/* ===== STICKY HEADER ===== */
#header:not(.gp-slide-in) {
  position: relative !important;
  transform: none !important;
}
#gp-placeholder {
  display: block !important;
  overflow: hidden;
}
#gp-placeholder:not(.active) {
  height: 0px !important;
}
#gp-placeholder.active {
  height: var(--gp-header-height, 0px) !important;
}
@keyframes gpSlideDown {
  from { transform: translate3d(0, -100%, 0); opacity: 0; }
  to   { transform: translate3d(0, 0, 0); opacity: 1; }
}
#header.gp-stuck {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  z-index: 9999 !important;
  box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}
#header.gp-stuck:not(.gp-slide-in) {
  transform: none !important;
  animation: none !important;
}
#header.gp-slide-in {
  animation: gpSlideDown 0.6s ease both !important;
}
#header.gp-stuck #custom-top-bar,
#header.gp-stuck .header__banner {
  display: none !important;
}

/* ===== VERTICAL MENU - keep visible until header sticks ===== */
body#index.is-scrolled:not(.gp-header-stuck) #th-vertical-menu-3 {
  display: flex !important;
  width: 278px !important;
  height: auto !important;
  min-height: 558px !important;
  max-height: 558px !important;
  overflow: visible !important;
  clip-path: none !important;
  pointer-events: auto !important;
  position: absolute !important;
  top: 100% !important;
  left: 0px !important;
  z-index: 99 !important;
  flex-direction: column !important;
  background: rgb(245, 245, 245) !important;
  box-shadow: rgba(0, 0, 0, 0.1) 0px 2px 8px !important;
  border: 1px solid rgba(55, 52, 53, 0.2) !important;
}
body#index.is-scrolled:not(.gp-header-stuck) .th-vertical-menu:hover #th-vertical-menu-3 {
  display: flex !important;
  width: 278px !important;
  height: auto !important;
  min-height: 558px !important;
  clip-path: none !important;
  overflow: visible !important;
  pointer-events: auto !important;
}
@media (min-width: 1200px) {
  /* Hide menu by default when header is sticky */
  #index.gp-header-stuck #th-vertical-menu-3 {
    display: none !important;
  }

  /* Show on hover when sticky */
  #index.gp-header-stuck .th-vertical-menu:hover #th-vertical-menu-3,
  #index.gp-header-stuck .th-vertical-menu.is-hovered #th-vertical-menu-3 {
    display: flex !important;
    width: 278px !important;
    height: auto !important;
    min-height: 300px !important;
    clip-path: none !important;
    overflow: visible !important;
    pointer-events: auto !important;
    position: absolute !important;
    top: 100% !important;
    left: 0px !important;
    z-index: 99 !important;
  }

  /* Show on click/toggle (aria-expanded) when sticky */
  #index.gp-header-stuck .th-vertical-menu__toggle[aria-expanded="true"] + #th-vertical-menu-3 {
    display: flex !important;
    width: 278px !important;
    height: auto !important;
    min-height: 300px !important;
    clip-path: none !important;
    overflow: visible !important;
    pointer-events: auto !important;
    position: absolute !important;
    top: 100% !important;
    left: 0px !important;
    z-index: 99 !important;
  }
}

/* FIX 1: Elimina spatiul alb dintre searchbar si slider pe mobile */
@media (max-width: 1028px) {
    /* Collapse empty menuContainer */
    .header-bottom__menuContainer {
        height: 0 !important;
        min-height: 0 !important;
        overflow: visible !important;
        border: none !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    /* Sticky ACTIV la 769px-1028px (tableta/laptop) - dezactivat doar pe mobil */
}

/* Dezactiveaza sticky DOAR pe mobil (<= 768px) */
@media (max-width: 768px) {
    /* Header sticky (scroll jos) - identic cu desktop */
    body #header.gp-stuck,
    body #header.gp-stuck:not(.gp-slide-in) {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        z-index: 9999 !important;
        transform: none !important;
        animation: none !important;
        box-shadow: 0 2px 8px rgba(0,0,0,0.12) !important;
    }

    /* Animatie slide-down la aparitia sticky */
    body #header.gp-stuck.gp-slide-in {
        animation: gpSlideDown 0.4s ease both !important;
    }

    /* Header static (sus de tot, nu e stuck) */
    body #header:not(.gp-stuck) {
        position: relative !important;
        top: auto !important;
        left: auto !important;
        transform: none !important;
        animation: none !important;
        box-shadow: none !important;
    }

    /* Placeholder rezerva spatiu cand header e fixed */
    #gp-placeholder,
    #gp-placeholder.active {
        display: block !important;
        /* height setat dinamic din JS (placeholder.style.height) */
    }
    #gp-placeholder:not(.active) {
        height: 0 !important;
    }

    body #wrapper {
        padding-top: 0 !important;
    }
}

/* FIX 2: Distanta text-sageata la selectorul de pret */
#custom-top-bar #currency-selector,
#custom-top-bar #language-selector {
    padding-right: 32px !important;
}

@media (max-width: 1028px) {
    #currency-selector {
        padding-right: 32px !important;
    }
}

/* Hide duplicate "cu TVA" label next to price */
.vat-label {
    display: none;
}

/* Align tax info, transport and quote button on same row */
.product__tax-info {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
}

/* Remove bottom margin from timbru verde row */
.product__tax-info > .d-flex.mb-default {
    margin-bottom: 0 !important;
}

/* ========================================
   FIX: Header top bar - selectoare pret/limba wrap pe rand separat
   la viewport 992-1199px (container 960px, col-md-7 = 560px < continut 575px)
   Solutie: left devine auto-width, right ia restul spatiului cu nowrap
   ======================================== */
@media (min-width: 992px) and (max-width: 1199.98px) {
    .header-top-desktop .header-top__left {
        flex: 0 0 auto !important;
        width: auto !important;
        max-width: none !important;
    }
    .header-top-desktop .header-top__right {
        flex: 1 1 auto !important;
        width: auto !important;
        max-width: none !important;
        flex-wrap: nowrap !important;
    }
}

/* Lățime toggle Categorii — elimină gap-ul lateral cu slider-ul */
.th-vertical-menu .th-vertical-menu__toggle {
    width: 278px !important;
    max-width: 278px !important;
}

/* ===== FADE-IN ANIMAȚIE DROPDOWN-URI (ca pe site-ul live) ===== */
@keyframes thMenuFadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

/* Vertical menu dropdowns */
.th-menu--vertical .th-menu__item:hover > .th-menu__submenu {
  animation: thMenuFadeIn 0.2s ease-in-out forwards;
}

/* Horizontal menu dropdowns */
body:not(.th-is-touch) .th-menu-item--horizontal:hover > .th-menu__submenu {
  animation: thMenuFadeIn 0.2s ease-in-out forwards;
}

body:not(.th-is-touch) .th-menu-item--horizontal.th-menu-item--grid:hover > .th-menu__submenu.th-mega-grid {
  animation: thMenuFadeIn 0.2s ease-in-out forwards;
}

body:not(.th-is-touch) .th-menu-item--mega:hover > .th-menu__submenu {
  animation: thMenuFadeIn 0.2s ease-in-out forwards;
}

/* Qty input group - border radius rotunjit */
.product-actions__quantity .input-group.flex-nowrap {
  border-radius: 6px !important;
  overflow: hidden !important;
  border: 1px solid #ced4da !important;
}

.product-actions__quantity .input-group.flex-nowrap .btn.decrement.js-decrement-button {
  border-radius: 6px 0 0 6px !important;
  border: none !important;
  border-right: 1px solid #ced4da !important;
}

.product-actions__quantity .input-group.flex-nowrap .form-control.js-quantity-wanted {
  border-radius: 0 !important;
  border: none !important;
}

.product-actions__quantity .input-group.flex-nowrap .btn.increment.js-increment-button {
  border-radius: 0 6px 6px 0 !important;
  border: none !important;
  border-left: 1px solid #ced4da !important;
}

/* Cere ofertă button - border radius consistent */
.th_quotation_add_wrapper .th_quotation_add {
  border-radius: 6px !important;
}

/* lightGallery over header */
.lg-backdrop { z-index: 10000 !important; }
.lg-outer { z-index: 10001 !important; }
#product-modal { display: none !important; }
#product-images .carousel-item { cursor: pointer; }

/* Fix dropdown Echipamente auxiliare HoReCa */
.echipamente-aux-horeca .th-mega-grid__link {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 0 !important;
  padding: 0 12px !important;
}

.echipamente-aux-horeca .th-mega-grid__label {
  font-weight: 600 !important;
  font-size: 17px !important;
  color: #373435 !important;
  display: flex !important;
  align-items: flex-start !important;
  order: -1 !important;
  padding-bottom: 6px !important;
  margin-bottom: 10px !important;
  width: 100% !important;
  min-height: 57px !important;
}

/* Hover effect - text becomes green */
.echipamente-aux-horeca .th-mega-grid__link:hover .th-mega-grid__label {
  color: #1ec3a4 !important;
}

.echipamente-aux-horeca .th-mega-grid__icon {
  width: auto !important;
  height: auto !important;
  flex-shrink: 0 !important;
}

.echipamente-aux-horeca .th-mega-grid__icon img {
  width: 200px !important;
  height: 230px !important;
  max-width: 100% !important;
  object-fit: contain !important;
}

.echipamente-aux-horeca .th-mega-grid__row {
  border-bottom: 1px solid #f2f2f2 !important;
  margin-bottom: 12px !important;
  padding-bottom: 6px !important;
  position: relative !important;
}

/* Linie separatoare continua intre titluri si imagini */
.echipamente-aux-horeca .th-mega-grid__row::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: 65px !important;
  height: 1px !important;
  background-color: #f2f2f2 !important;
  z-index: 1 !important;
  pointer-events: none !important;
}

/* Animatie fluenta hover - identica cu categoriile din meniul vertical */
.echipamente-aux-horeca .th-mega-grid__link {
  transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-color 0.2s ease-in-out !important;
}

.echipamente-aux-horeca .th-mega-grid__label {
  transition: color 0.2s ease-in-out !important;
}

.echipamente-aux-horeca .th-mega-grid__icon img {
  transition: transform 0.3s ease-in-out, opacity 0.2s ease-in-out !important;
}

.echipamente-aux-horeca .th-mega-grid__link:hover .th-mega-grid__icon img {
  transform: scale(1.05) !important;
}

/* Fix aliniere iconite header (Cerere oferta vs Contul meu) */
.header-bottom__row .th_quote_cart_style.th_quote {
  display: flex !important;
  align-items: center !important;
  align-self: stretch !important;
}

/* =========================================================
   HEADER MOBIL – top-bar negru cu program + selectoare
   ---------------------------------------------------------
   - Stanga top-bar: programul de lucru (ex. "L-V: 08:30 - 17:00"
     sau "Mon-Fri: 08:30 - 17:00")
   - Dreapta top-bar: selector moneda + selector limba, cu sageti
     dropdown vizibile
   - Totul dinamic: pe texte/limbi mai lungi (ex. EN) fontul se
     micsoreaza automat iar programul se trunchiaza cu "..." pe
     ecrane foarte inguste
   - Hamburger se repozitioneaza corect in functie de starea
     sticky (clasa .gp-stuck adaugata de tema pe #header la scroll)
   ========================================================= */
@media (max-width: 991.98px) {

    /* ---------- TOP-BAR NEGRU ---------- */

    #custom-top-bar.hidden-sm-down,
    #custom-top-bar {
        display: block !important;
        min-height: 32px !important;
    }

    #custom-top-bar .header-top-desktop {
        display: flex !important;
        flex-wrap: nowrap !important;
        margin: 0 !important;
        align-items: center !important;
        min-height: 32px !important;
    }

    #custom-top-bar .container-md {
        padding-left: 8px !important;
        padding-right: 8px !important;
    }

    /* Ascundem mesajul promo "Transport gratuit..." */
    #custom-top-bar .header-top__left {
        display: none !important;
    }

    /* Coloana dreapta ocupa toata latimea, flex nowrap intern */
    #custom-top-bar .header-top__right {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        width: 100% !important;
        display: flex !important;
        flex-wrap: nowrap !important;
        justify-content: flex-start !important;
        align-items: center !important;
        padding: 0 !important;
        min-height: 32px !important;
    }

    /* Programul de lucru - stanga, cu ellipsis daca nu incape */
    #custom-top-bar .header-top__right .top-bar__contact-info {
        display: flex !important;
        order: 1 !important;
        align-items: center !important;
        font-size: 12px !important;
        white-space: nowrap !important;
        flex: 0 1 auto !important;
        min-width: 0 !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }
    #custom-top-bar .header-top__right .top-bar__contact-info > *:not(:last-child) {
        display: none !important;
    }
    #custom-top-bar .header-top__right .top-bar__contact-info > *:last-child {
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        min-width: 0 !important;
    }

    /* RESET wrappere pentru aliniere verticala corecta */
    #custom-top-bar .currency-selector__wrapper,
    #custom-top-bar .language-selector__wrapper {
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        align-items: center !important;
    }

    /* Currency - impins la dreapta cu margin-left:auto */
    #custom-top-bar .header-top__right #_desktop_currency_selector {
        order: 10 !important;
        margin: 0 0 0 auto !important;
        padding: 0 !important;
        display: flex !important;
        align-items: center !important;
        flex: 0 0 auto !important;
    }

    /* Language - lipit de currency */
    #custom-top-bar .header-top__right #_desktop_language_selector {
        order: 11 !important;
        margin: 0 0 0 8px !important;
        padding: 0 !important;
        display: flex !important;
        align-items: center !important;
        flex: 0 0 auto !important;
    }

    /* Selectoare: padding-right mare ca sa incapa sageata vizibila,
       sageata repozitionata la right:4px cu size 12x10.
       Specificitate mare ca sa bata regulile din custom_shop_1.css */
    #custom-top-bar .header-top__right #_desktop_currency_selector .js-currency-selector,
    #custom-top-bar .header-top__right #_desktop_language_selector .js-language-selector,
    #custom-top-bar #currency-selector,
    #custom-top-bar #language-selector {
        padding: 0 20px 0 0 !important;
        font-size: 13px !important;
        line-height: 1 !important;
        height: auto !important;
        min-width: 0 !important;
        width: auto !important;
        background-position: right 4px center !important;
        background-size: 12px 10px !important;
    }

    /* Ecrane < 420px: micsoram fonturi ca textele lungi (EN) sa incapa */
    @media (max-width: 420px) {
        #custom-top-bar .header-top__right .top-bar__contact-info {
            font-size: 11px !important;
        }
        #custom-top-bar #currency-selector,
        #custom-top-bar #language-selector {
            font-size: 12px !important;
            padding-right: 18px !important;
        }
        #custom-top-bar .header-top__right #_desktop_language_selector {
            margin-left: 6px !important;
        }
    }

    /* Ecrane < 360px (iPhone SE etc.): inca mai mic */
    @media (max-width: 360px) {
        #custom-top-bar .header-top__right .top-bar__contact-info {
            font-size: 10px !important;
        }
        #custom-top-bar #currency-selector,
        #custom-top-bar #language-selector {
            font-size: 11px !important;
            padding-right: 16px !important;
            background-size: 10px 8px !important;
            background-position: right 3px center !important;
        }
    }

    /* ---------- HEADER ALB ---------- */

    /* Ascundem moneda duplicata din header-ul alb (ramane in top-bar) */
    .header-bottom__row #_desktop_currency_selector {
        display: none !important;
    }

    /* Hamburger: sub top-bar cand e vizibil, sus cand header e sticky */
    #header:not(.gp-stuck) .th-mobile-menu-wrapper {
        top: 32px !important;
    }
    #header.gp-stuck .th-mobile-menu-wrapper {
        top: 0 !important;
    }

    /* Grup iconite (quote + user + cart) lipit la marginea dreapta */
    .header-bottom__row .logo {
        margin-right: auto !important;
    }
}

/* Header sticky = z-index 9999. Overlay-urile trebuie deasupra. */
.modal-backdrop     { z-index: 10040 !important; }
.modal              { z-index: 10050 !important; }
.offcanvas-backdrop { z-index: 10040 !important; }
.offcanvas          { z-index: 10050 !important; }

/* wishlist are z-index 1051 hardcodat in modules/blockwishlist/public/wishlist.css */
.wishlist-modal.show,
.wishlist-login  .wishlist-modal.show,
.wishlist-create .wishlist-modal.show { z-index: 10055 !important; }

/* Backdrop-uri orfane neutralizate. Wishlist foloseste legacy .in, exclus. */
.modal-backdrop:not(.show):not(.in),
.offcanvas-backdrop:not(.show):not(.in) {
    pointer-events: none !important;
    opacity: 0 !important;
}

/* Adrese de livrare + facturare pe mobil: campuri full-width de la primul paint */
@media (max-width: 767.98px) {
    #invoice-address section.form-fields,
    #delivery-address section.form-fields,
    .address-fields section.form-fields {
        display: flex !important;
        flex-wrap: wrap !important;
        grid-template-columns: none !important;
    }
    #invoice-address section.form-fields > .form-group,
    #invoice-address section.form-fields .business-fields-container > .form-group,
    #invoice-address section.form-fields .private-fields-container > .form-group,
    #delivery-address section.form-fields > .form-group,
    #delivery-address section.form-fields .business-fields-container > .form-group,
    #delivery-address section.form-fields .private-fields-container > .form-group,
    .address-fields section.form-fields > .form-group,
    .address-fields section.form-fields .business-fields-container > .form-group,
    .address-fields section.form-fields .private-fields-container > .form-group {
        flex-basis: 100% !important;
        width: 100% !important;
        max-width: 100% !important;
        grid-column: 1 / -1 !important;
    }
}

/* Livrare: acelasi layout ca facturare pe desktop (flex-wrap, fara grid gap) */
#delivery-address section.form-fields {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: normal !important;
    row-gap: normal !important;
    column-gap: normal !important;
    grid-template-columns: none !important;
}

@media (max-width: 1028px) {
    body #wrapper {
        padding-top: 0 !important;
    }
}

.th-banners-hook-displayHome .th-banner {
    margin-bottom: 0 !important;
}

/* =========================================================
   FIX 1 — Homepage: <html> e scroll container (sticky merge)
   ========================================================= */
html { overflow-x: hidden; }
body#index { overflow-x: visible !important; overflow-y: visible !important; }

/* =========================================================
   FIX 2 — Slider home, fara overflow orizontal pe mobil
   ========================================================= */
.thblog-home-wrapper { overflow: hidden; }
.thblog-home-slider {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* =========================================================
   FIX 3 — Animatie PURA de coborare (translate, FARA fade)
   Folosim proprietatea CSS `translate` (Transforms Level 2)
   pentru a evita conflictul cu regulile vechi care au
   `transform: none !important` pe header.
   ========================================================= */
@keyframes gpHeaderSlideDownTranslate {
  from { translate: 0 -100%; }
  to   { translate: 0 0;     }
}

html body #header.gp-stuck.gp-coboara,
html body #header.gp-stuck.gp-slide-in.gp-coboara {
  animation: gpHeaderSlideDownTranslate 0.7s cubic-bezier(0.22, 1, 0.36, 1) both !important;
  opacity: 1 !important;
}

@media (max-width: 768px) {
  html body #header.gp-stuck.gp-coboara,
  html body #header.gp-stuck.gp-slide-in.gp-coboara {
    animation: gpHeaderSlideDownTranslate 0.7s cubic-bezier(0.22, 1, 0.36, 1) both !important;
    opacity: 1 !important;
  }
}

/* =========================================================
   CHECKOUT — Aliniere carduri adrese (stanga), logica unul/altul pastrata
   ========================================================= */
.checkout-block .customer-addresses {
  text-align: left !important;
  margin-top: 16px;
  margin-bottom: 10px;
}
.checkout-block .customer-addresses > a.custom-link {
  display: inline-block; float: none; margin: 0; text-align: left;
}
.checkout-block .customer-addresses .addresses-selection {
  display: inline-flex; align-items: center; gap: 6px;
  margin: 0; float: none; padding-right: 0; text-align: left;
}
.checkout-block .customer-addresses .addresses-selection.hidden {
  display: none !important;
}
.checkout-block .customer-addresses .addresses-selection .saved-addresses-label {
  display: inline-block; float: none; margin: 0;
}
.checkout-block .customer-addresses .addresses-selection select {
  display: inline-block; float: none; margin: 0; width: auto; max-width: 200px;
}

/* "* Address used in past orders - Edit" aliniat la stanga */
.address-is-used {
  text-align: left !important;
  margin-left: 0 !important;
}

/* Return Policy — padding lateral */
.reassurance-section.return {
  padding-left: 20px !important;
  padding-right: 20px !important;
}

/* Steluta rosie la finalul propozitiei din checkbox */
.form-group.required-checkbox-1 .label.js-terms::before { content: none !important; }
.form-group.required-checkbox-1 .label.js-terms::after {
  content: "*"; color: #ff0000; float: none; display: inline; margin-left: 4px;
}

/* Blog post — spatiere intre "Articolul anterior" / "Articolul urmator" pe ≤391px */
@media (max-width: 391px) {
  .thblog-post-nav {
    flex-direction: column;
    gap: 12px;
  }
  .thblog-post-nav-next.text-end { text-align: start !important; }
}

/* Blog post — titlu redus pe mobil/tableta */
@media (max-width: 575.98px) {
  .thblog-post-page .page-header h1 {
    font-size: 22px !important;
    line-height: 1.3 !important;
  }
}
@media (min-width: 576px) and (max-width: 767.98px) {
  .thblog-post-page .page-header h1 {
    font-size: 26px !important;
    line-height: 1.3 !important;
  }
}
@media (min-width: 768px) and (max-width: 991.98px) {
  .thblog-post-page .page-header h1 {
    font-size: 30px !important;
    line-height: 1.35 !important;
  }
}

/* Identity form — checkbox-urile GDPR + newsletter pe toată lățimea, sub casete */
#identity form section > .mb-3:has(.form-check) {
  grid-column: 1 / -1;
}

/* Cart — PayPal button centrat pe toate rezolutiile */
.cart-detailed__actions .text-sm-center {
  text-align: center !important;
}
.cart-detailed__actions .text-sm-center > div {
  justify-content: center !important;
}

/* productcomments modal (Review sent / error) — OK button in gastro green */
.modal.product-comment-modal .modal-footer .btn-primary,
.modal.product-comment-modal .modal-footer .btn-primary:focus,
.modal.product-comment-modal .modal-footer .btn-primary:active {
  background: var(--th-color-main-green);
  border-color: var(--th-color-main-green);
  color: #fff;
}
.modal.product-comment-modal .modal-footer .btn-primary:hover {
  background: #fff;
  border-color: var(--th-color-main-green);
  color: var(--th-color-main-green);
}

/* Product details - feature rows: aligned columns globally (table layout) */
.product-details-table .details-table {
    display: table !important;
    width: 100% !important;
    border-collapse: collapse;
}
.product-details-table .details-row,
.product-details-table .table-row {
    display: table-row !important;
    padding: 0 !important;
    position: static !important;
}
.product-details-table .col-label.details-label,
.product-details-table .col-value.details-value {
    display: table-cell !important;
    padding: 4px 0 !important;
    line-height: 1.3 !important;
    vertical-align: baseline !important;
    width: auto !important;
    max-width: none !important;
    position: static !important;
    float: none !important;
}
.product-details-table .col-label.details-label {
    white-space: nowrap !important;
    width: 1px !important;
    padding-right: 16px !important;
}
.product-details-table .col-label.details-label .detail__title {
    white-space: nowrap !important;
}
.product-details-table .col-value.details-value {
    word-break: break-word;
}
@media (max-width: 575.98px) {
    .product-details-table .details-table {
        table-layout: fixed !important;
    }
    .product-details-table .col-label.details-label,
    .product-details-table .col-value.details-value {
        padding-top: 3px !important;
        padding-bottom: 3px !important;
    }
    .product-details-table .col-label.details-label,
    .product-details-table .col-label.details-label .detail__title {
        white-space: normal !important;
        word-break: break-word;
    }
    .product-details-table .col-label.details-label {
        width: 45% !important;
        padding-right: 10px !important;
    }
    .product-details-table .col-value.details-value {
        width: auto !important;
    }
}

/* Product description - compact tables, first column shrinks to fit (desktop only) */
.product__description table,
.product__description-short table,
#product-description table {
    border-collapse: collapse;
    margin-bottom: 0.5rem;
    max-width: 100% !important;
}
.product__description table th,
.product__description table td,
.product__description-short table th,
.product__description-short table td,
#product-description table th,
#product-description table td {
    padding: 3px 0 !important;
    line-height: 1.25 !important;
    vertical-align: top;
    text-align: left !important;
    word-break: break-word;
}
@media (min-width: 576px) {
    .product__description table,
    .product__description-short table,
    #product-description table {
        width: auto !important;
    }
    .product__description table tr > th:first-child,
    .product__description table tr > td:first-child,
    .product__description-short table tr > th:first-child,
    .product__description-short table tr > td:first-child,
    #product-description table tr > th:first-child,
    #product-description table tr > td:first-child {
        width: 1px !important;
        white-space: nowrap;
        padding-right: 16px !important;
    }
}
@media (max-width: 575.98px) {
    .product__description table,
    .product__description-short table,
    #product-description table {
        width: 100% !important;
        max-width: 100% !important;
        table-layout: auto !important;
    }
    /* nested data table (Excel export wrapped in a spacer table) fills the row */
    .product__description table table,
    .product__description-short table table,
    #product-description table table {
        width: 100% !important;
    }
    .product__description table th,
    .product__description table td,
    .product__description-short table th,
    .product__description-short table td,
    #product-description table th,
    #product-description table td {
        padding: 2px 0 !important;
    }
    /* first column (codes/labels): stays on one line, only as wide as its content */
    .product__description table tr > th:first-child,
    .product__description table tr > td:first-child,
    .product__description-short table tr > th:first-child,
    .product__description-short table tr > td:first-child,
    #product-description table tr > th:first-child,
    #product-description table tr > td:first-child {
        width: 1% !important;
        max-width: none !important;
        white-space: nowrap !important;
        word-break: normal !important;
        padding-right: 12px !important;
    }
    /* remaining columns take the rest of the width and wrap normally */
    .product__description table tr > th:not(:first-child),
    .product__description table tr > td:not(:first-child),
    .product__description-short table tr > th:not(:first-child),
    .product__description-short table tr > td:not(:first-child),
    #product-description table tr > th:not(:first-child),
    #product-description table tr > td:not(:first-child) {
        max-width: none !important;
        white-space: normal !important;
        word-break: break-word;
    }
    /* a first cell that itself wraps a nested table must not shrink to nothing */
    .product__description table tr > td:first-child:has(table),
    .product__description table tr > th:first-child:has(table),
    .product__description-short table tr > td:first-child:has(table),
    #product-description table tr > td:first-child:has(table),
    #product-description table tr > th:first-child:has(table) {
        width: auto !important;
        white-space: normal !important;
        padding: 0 !important;
    }
}

/* Responsive embedded media (iframe-uri YouTube/Vimeo, video, embed, object)
   in descrieri produse, descrieri scurte, pagini CMS si orice rich-text. */
.product__description iframe,
.product__description-short iframe,
#product-description iframe,
.rich-text iframe,
.cms-content iframe,
.page-cms iframe,
.page-product iframe {
    max-width: 100%;
    width: 100%;
    aspect-ratio: 16 / 9;
    height: auto;
    border: 0;
}
/* Product videos keep their natural mobile behavior, but no longer fill the
   entire desktop description column. */
.page-product .product__description iframe,
.page-product #product-description iframe {
    display: block;
    max-width: 35rem;
    margin: 1.5rem auto;
}
.product__description video,
.product__description-short video,
#product-description video,
.rich-text video,
.cms-content video,
.page-cms video,
.page-product video {
    max-width: 100%;
    height: auto;
}
.product__description embed,
.product__description object,
.product__description-short embed,
.product__description-short object,
#product-description embed,
#product-description object,
.rich-text embed,
.rich-text object,
.cms-content embed,
.cms-content object {
    max-width: 100%;
    height: auto;
}
/* Imagini din descrieri sa nu depaseasca containerul (siguranta extra). */
.product__description img,
.product__description-short img,
#product-description img,
.rich-text img,
.cms-content img {
    max-width: 100%;
    height: auto;
}

/* Elimina spatiile dintre liniile tabelelor din descrierea produsului
   cauzate de <p> / <br> inserate de WYSIWYG */
.product__description table p,
.product__description-short table p,
#product-description table p {
    margin: 0 !important;
    padding: 0 !important;
}
.product__description table br,
.product__description-short table br,
#product-description table br {
    display: none !important;
}
.product__description table tr:empty,
.product__description-short table tr:empty,
#product-description table tr:empty {
    display: none !important;
}

/* Fixed-width tables pasted from Excel scroll as a unit on mobile instead of
   compressing every cell until the content becomes unreadable. */
.product__description .product-description-table-scroll,
#product-description .product-description-table-scroll {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
.product__description .product-description-table-scroll:focus-visible,
#product-description .product-description-table-scroll:focus-visible {
    outline: 2px solid var(--th-color-main-green);
    outline-offset: 2px;
}
@media (max-width: 767.98px) {
    .page-product .product-description-table-scroll table {
        width: max-content !important;
        min-width: 100%;
        max-width: none !important;
    }
    .page-product .product-description-table-scroll table th,
    .page-product .product-description-table-scroll table td,
    .page-product .product-description-table-scroll table tr > th:first-child,
    .page-product .product-description-table-scroll table tr > td:first-child {
        max-width: none !important;
        word-break: normal !important;
        overflow-wrap: normal;
    }
}

/* === Cart page: Transformă în ofertă button (match Finalizează dimensions) === */
body#cart .th-q-cart-to-quotation {
    display: inline-block;
    width: auto;
    padding: 10px 20px;
    background: transparent;
    border: 1px solid var(--th-color-main-green);
    border-radius: 5px;
    color: var(--th-color-main-green);
    font-family: Roboto, sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 14px;
    text-align: center;
    text-decoration: none;
    transition: 0.2s;
    cursor: pointer;
}

body#cart .th-q-cart-to-quotation:hover,
body#cart .th-q-cart-to-quotation:focus {
    background: var(--th-color-main-green);
    border-color: var(--th-color-main-green);
    color: #fff;
    text-decoration: none;
}

@media (max-width: 991px) {
    .cart-item .product-line { padding-bottom: 14px !important; }
    .cart-item .product-line-delete {
        position: absolute !important;
        top: auto !important;
        bottom: 14px !important;
        left: 0 !important;
        right: auto !important;
        width: 70px !important;
        text-align: center !important;
    }
    .cart-item .product-line-delete .remove-from-cart {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 28px !important;
        height: 28px !important;
    }
    .cart-confirm-wrap { display: none !important; }
}

#cart-confirm-clone {
    background: #dc3545;
    border-color: #dc3545;
    color: #fff;
    width: 100%;
    padding: 10px 20px;
}
#cart-confirm-clone:hover {
    background: #c82333;
    border-color: #bd2130;
}
.cart-confirm-wrap { padding: 14px 20px; }

.btn-primary:hover,
#confirm_order.btn.btn-primary:hover,
#cart-confirm-clone.btn.btn-primary:hover {
    color: var(--th-color-main-green) !important;
    background-color: #fff !important;
    border-color: var(--th-color-main-green) !important;
}

/* ===== Checkout: deblocheaza checkbox "Vreau factura pe firma" cand adresa e precompletata ===== */
[data-address-is-used="1"] .business-private-checkboxes.form-group::after {
    display: none;
}
[data-address-is-used="1"] .business-private-checkboxes.form-group {
    opacity: 1 !important;
}
[data-address-is-used="1"] .business-fields-container .form-group::after {
    display: none !important;
}
[data-address-is-used="1"] .business-fields-container input {
    background: #fff !important;
}

/* ===== Checkout: ascunde textul butonului in timpul loader-ului ===== */
#confirm_order.btn.btn-primary.confirm-loading {
    color: transparent !important;
}

/* ===== Buton clone (din cardul Cosul de cumparaturi): loader ca cel principal ===== */
#cart-confirm-clone { position: relative; }
#cart-confirm-clone > div.tc-loader { display: none; }
button#cart-confirm-clone.confirm-loading,
button#cart-confirm-clone.confirm-loading.btn.btn-primary {
    color: transparent !important;
    cursor: wait;
}
#cart-confirm-clone.confirm-loading > div.tc-loader {
    display: block;
    position: absolute;
    margin: 0 auto;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}

#offcanvas-faceted .gp-apply-filters-footer {
  flex-shrink: 0;
  padding: 12px 16px;
  background: #fff;
  border-top: 1px solid #e5e5e5;
  box-shadow: 0 -4px 12px rgba(0,0,0,.05);
}
#offcanvas-faceted .gp-apply-filters-btn {
  width: 100%;
  background: rgb(30,195,164);
  color: #fff;
  font-family: Roboto, sans-serif;
  font-size: 16px;
  font-weight: 500;
  padding: 12px 18px;
  border: 0;
  border-radius: 5px;
  cursor: pointer;
  transition: filter .2s;
}
#offcanvas-faceted .gp-apply-filters-btn:hover { filter: brightness(.92); }
#offcanvas-faceted .gp-apply-filters-btn:active { filter: brightness(.85); }

/* ============================================================
   #30 Mobile — infinite scroll replaces pagination
   - Hide "Produse pe pagina" selector on mobile
   - Hide numerical pagination on mobile
   - Loader spinner shown between products and sentinel during fetch
   ============================================================ */
@media (max-width: 767.98px) {
  .products-selection-vitrine .per-page-section { display: none !important; }
  #js-product-list .pagination-container { display: none !important; }
}

.gp-infinite-loader {
  display: none;
  width: 100%;
  text-align: center;
  padding: 20px 0 28px;
}
.gp-infinite-loader.is-active { display: block; }
.gp-infinite-spinner {
  display: inline-block;
  width: 36px;
  height: 36px;
  border: 3px solid var(--th-color-main-green, #006A4E);
  border-top-color: transparent;
  border-radius: 50%;
  animation: gp-infinite-spin 0.8s linear infinite;
  vertical-align: middle;
}
@keyframes gp-infinite-spin {
  to { transform: rotate(360deg); }
}



/* GASTRO #task: tighten footer link list spacing (subfooter) */
#footer .th-footer-links li {
    margin-bottom: 0.15rem !important;
    line-height: 1.4 !important;
}
#footer .th-footer-links a {
    line-height: 1.4 !important;
    display: inline-block;
}
#footer .th-footer-element + .th-footer-element {
    margin-top: 0.5rem !important;
}


/* GASTRO #task: breadcrumb — tighter spacing between items and separator */
.breadcrumb {
    padding-left: 0 !important;
    padding-right: 0 !important;
}
.breadcrumb .breadcrumb-item {
    padding-left: 0 !important;
    padding-right: 0 !important;
}
.breadcrumb .breadcrumb-item + .breadcrumb-item {
    padding-left: 0.25rem !important;
}
.breadcrumb .breadcrumb-item + .breadcrumb-item::before {
    padding-right: 0.25rem !important;
    padding-left: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}
.breadcrumb .breadcrumb-item span,
.breadcrumb .breadcrumb-link {
    margin: 0 !important;
}
@media (max-width: 767.98px) {
    .breadcrumb .breadcrumb-item + .breadcrumb-item {
        padding-left: 0.2rem !important;
    }
    .breadcrumb .breadcrumb-item + .breadcrumb-item::before {
        padding-right: 0.2rem !important;
    }
}


/* GASTRO #task: CMS / rich-text links — brand color always (gastro=green) */
.page-cms.rich-text a,
.rich-text a,
section#content.rich-text a,
.cms-block a {
    color: var(--th-color-main-green) !important;
}
.page-cms.rich-text a:hover,
.page-cms.rich-text a:focus,
.rich-text a:hover,
.rich-text a:focus,
section#content.rich-text a:hover,
section#content.rich-text a:focus,
.cms-block a:hover,
.cms-block a:focus {
    color: var(--th-color-main-green) !important;
    text-decoration: underline !important;
}


/* GASTRO #task: product page first-screen layout (right column) */
.product__col .mb-default {
    margin-bottom: 18px !important;
}
.product__col h1.product__name {
    margin-bottom: 18px !important;
}

/* Remove top space on the left (image) column */
.product__left,
.product__left > .product__images,
.product__left .product__images,
.product__left .product__images__cover,
.product__left .product-cover,
.product__left .carousel,
.product__left .carousel-inner,
.product__left .carousel-item {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Hide share button (th_shareservices + ps_sharebuttons fallback) on product page */
.th-share-services,
.th-share-button-container,
.product-actions__share,
.social-sharing,
.product__share {
    display: none !important;
}
/* Ensure top brand image column tops with the text column on desktop */
.product__col .product__info--top .row {
    align-items: flex-start;
}

/* Vertical alignment fix: every direct content block under .product__col must
   start at the SAME left edge (the .product__col padding edge). Cancel any
   Bootstrap/theme left padding/margin on the wrapping nodes. */
.product__col > h1,
.product__col > .product__info,
.product__col > .product__description-short,
.product__col > .product__services-list,
.product__col > .product__prices,
.product__col > .product__actions,
.product__col > .product__offer-button-wrapper,
.product__col .product__prices > *,
.product__col .prices__wrapper,
.product__col .prices__wrapper > *,
.product__col .prices__content,
.product__col .prices__content--inline {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}
/* description-short may inherit rich-text left padding */
.product__col .product__description-short.rich-text {
    padding-left: 0 !important;
    margin-left: 0 !important;
}

/* Inner stack inside the info col: consistent 8px vertical gap, left-aligned */
.product__col .product__info--top .col-md-8 {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
}
.product__col .product__info--top .col-md-8 > * {
    margin: 0 !important;   /* defer to flex gap */
}

/* Product code (under title) */
.product__col .product__code {
    font-size: 13px;
}

/* Delivery time accentuated badge */
.product__col .product__delivery-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 600;
    background-color: #1ec3a4;
    color: #fff;
    width: fit-content;
    max-width: 100%;
}
.product__col .product__delivery-badge i {
    font-size: 18px;
    color: #fff;          /* check stays white on green */
}
.product__col .product__delivery-badge--lastitems {
    background-color: #ffb368;
    color: #00181c;
}
.product__col .product__delivery-badge--lastitems i {
    color: #00181c;
}
.product__col .product__delivery-badge--backorder {
    background-color: #f4b84a;
    color: #00181c;
}
.product__col .product__delivery-badge--backorder i {
    color: #00181c;
}

/* Transport cost line */
.product__col .product__shipping-line {
    display: flex;
    align-items: center;
    gap: 6px;
    color: #6c757d;
    font-size: 13px;
}
.product__col .product__shipping-line i {
    font-size: 16px;
}

/* Services bullet list */
.product__col .product__services-list {
    list-style: none;
    padding-left: 0;
    margin: 0 0 18px 0;
}
.product__col .product__services-list li {
    color: #6c757d;
    font-size: 13px;
    line-height: 1.7;
    padding-left: 22px;
    position: relative;
}
.product__col .product__services-list li::before {
    content: "\2713"; /* checkmark */
    position: absolute;
    left: 0;
    top: 0;
    color: #1ec3a4;
    font-weight: 700;
    font-size: 14px;
}

/* Prices inline */
.product__col .prices__content--inline {
    display: flex;
    flex-direction: row;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 10px;
}
.product__col .product__current-price {
    color: #00181c;
    font-family: 'Roboto', sans-serif;
    font-weight: 700;
    font-size: 24px;
    line-height: 1.2;
}
.product__col .product__price-regular {
    color: #9aa8ae;
    font-size: 15px;
    text-decoration: line-through;
    font-weight: 400;
}
.product__col .product__discount-badge {
    background-color: #ee0000;
    color: #fff;
    font-size: 12px;
    font-weight: bold;
    padding: 3px 8px;
    border-radius: 4px;
    line-height: 1.2;
}
.product__col .product__tax-info {
    margin-top: 6px;
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
    padding: 0 !important;
    display: block !important;
}
.product__col .product__tax-line {
    color: #6c757d;
    font-size: 12px;
}
.product__col .prices__wrapper,
.product__col .product__prices {
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
}

/* Offer button placement: under the reassurance list, right-aligned */
.product__offer-button-wrapper {
    margin-top: 14px;
    display: flex;
    justify-content: flex-end;
}
.product__offer-button-wrapper .th_quotation_add_wrapper {
    margin: 0;
}

/* The two long secondary actions cannot fit side-by-side on a phone. */
@media (max-width: 767.98px) {
    .page-product .product__offer-button-wrapper {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 12px;
        width: 100%;
        margin-right: 0;
        margin-left: 0;
    }
    .page-product .product__offer-button-wrapper .th_quotation_add_wrapper,
    .page-product .product__offer-button-wrapper .th_request_sicap_wrapper {
        width: 100%;
        margin: 0 !important;
    }
    .page-product .product__offer-button-wrapper .th_quotation_add,
    .page-product .product__offer-button-wrapper .th_request_sicap_inner {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 6px;
        width: 100%;
        min-height: 44px;
        height: auto !important;
        padding: 10px 16px !important;
        line-height: 1.25;
        white-space: normal;
        text-align: center;
    }
}

/* Reassurance link items — spread across full column width */
.product__col .th-reassurance-container,
.product__col .th-reassurance-section,
.product__col .th-reassurance-section {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    display: block !important;
}
.product__col .th-reassurance-section .th-reassurance-items {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: space-between !important;
    align-items: flex-start;
    gap: 8px;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}
.product__col .th-reassurance-section .th-reassurance-item.th-reassurance-link {
    flex: 1 1 auto;
    min-width: 0;
    text-align: left;
}
.product__col .th-reassurance-section .th-reassurance-item.th-reassurance-link:last-child {
    text-align: right;
}
.product__col .th-reassurance-section .th-reassurance-link-wrapper {
    width: 100%;
}
.product__col .th-reassurance-section .th-reassurance-link {
    font-size: 13px;
    white-space: nowrap;
}


/* GASTRO #task: product page slider arrows — clean, side-positioned, brand-colored */
.product__left .carousel-control-prev,
.product__left .carousel-control-next,
#product-images .carousel-control-prev,
#product-images .carousel-control-next {
    background: none !important;
    background-color: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    width: 44px !important;
    height: 44px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    opacity: 1 !important;
}
.product__left .carousel-control-prev,
#product-images .carousel-control-prev { left: -10px !important; }
.product__left .carousel-control-next,
#product-images .carousel-control-next { right: -10px !important; }
@media (max-width: 767.98px) {
    .product__left .carousel-control-prev,
    #product-images .carousel-control-prev { left: 0 !important; }
    .product__left .carousel-control-next,
    #product-images .carousel-control-next { right: 0 !important; }
}

/* Replace default Bootstrap SVG icons with thin CSS chevrons (precise stroke control) */
.product__left .carousel-control-prev-icon,
.product__left .carousel-control-next-icon,
#product-images .carousel-control-prev-icon,
#product-images .carousel-control-next-icon {
    background-image: none !important;
    background-color: transparent !important;
    width: 44px;
    height: 44px;
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.product__left .carousel-control-prev-icon::before,
.product__left .carousel-control-next-icon::before,
#product-images .carousel-control-prev-icon::before,
#product-images .carousel-control-next-icon::before {
    content: '';
    display: block;
    width: 16px;
    height: 16px;
    border-style: solid;
    border-color: var(--gp-arrow-color, #1ec3a4);
    border-width: 0;
    transition: border-color .15s, transform .15s;
}
.product__left .carousel-control-prev-icon::before,
#product-images .carousel-control-prev-icon::before {
    border-top-width: 2px;
    border-left-width: 2px;
    transform: rotate(-45deg);
    margin-left: 4px;
}
.product__left .carousel-control-next-icon::before,
#product-images .carousel-control-next-icon::before {
    border-top-width: 2px;
    border-right-width: 2px;
    transform: rotate(45deg);
    margin-right: 4px;
}
.product__left .carousel-control-prev:hover .carousel-control-prev-icon::before,
#product-images .carousel-control-prev:hover .carousel-control-prev-icon::before {
    transform: rotate(-45deg) scale(1.15);
}
.product__left .carousel-control-next:hover .carousel-control-next-icon::before,
#product-images .carousel-control-next:hover .carousel-control-next-icon::before {
    transform: rotate(45deg) scale(1.15);
}

/* GASTRO ONLY: favorite (heart) button — square shape (overrides inline style in add-button.tpl) */
.gp-favorite-btn {
    border-radius: 6px !important;
}


/* GASTRO ONLY: arrow color */
:root { --gp-arrow-color: #1ec3a4; }

/* Order-confirmation: cross-sell — 4 produse pe rand, titlu mare */
body#order-confirmation .featured-products,
.page-order-confirmation .featured-products {
    margin-top: 2.5rem;
}

body#order-confirmation .featured-products h2.section-title,
.page-order-confirmation .featured-products h2.section-title {
    font-size: 1.75rem;
    font-weight: 700;
    margin: 0 0 1.5rem;
    text-align: center;
}

body#order-confirmation .featured-products .products,
.page-order-confirmation .featured-products .products {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}

body#order-confirmation .featured-products .product-miniature,
.page-order-confirmation .featured-products .product-miniature {
    width: 100%;
    max-width: 100%;
    flex: unset;
}

body#order-confirmation .featured-products .product-image,
.page-order-confirmation .featured-products .product-image {
    height: 140px;
    object-fit: contain;
}

body#order-confirmation .featured-products .product-miniature h3,
.page-order-confirmation .featured-products .product-miniature h3 {
    font-size: 0.85rem;
    line-height: 1.2;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

body#order-confirmation .featured-products .price,
.page-order-confirmation .featured-products .price {
    font-size: 0.9rem;
}

@media (max-width: 768px) {
    body#order-confirmation .featured-products .products,
    .page-order-confirmation .featured-products .products {
        grid-template-columns: repeat(2, 1fr);
    }
    body#order-confirmation .featured-products h2.section-title,
    .page-order-confirmation .featured-products h2.section-title {
        font-size: 1.4rem;
    }
}

/* GASTRO-MOD 2026-05-13 (rev 5 - cauza adevarata gasita): theme.css are .product-flags{padding:.25rem=4px} si .badge{margin:.25rem=4px} care impingeau LI-ul cu 8px in jos fata de UL — de aceea Premium aparea aliniat dar discount-ul aparea mai jos. Resetam padding/margin pe wrapper si LI. */
.gp-product-flags-aligned {
    position: absolute;
    top: 14px !important;
    left: 10px;
    z-index: 11;
    padding: 0 !important;
}
.gp-product-flags-aligned > .gp-discount-badge {
    margin: 0 !important;
}
@media (max-width: 1199px) {
    .gp-product-flags-aligned {
        top: 14px !important;
        left: 8px;
    }
}
@media (max-width: 767px) {
    .gp-product-flags-aligned {
        top: 14px !important;
        left: 6px;
    }
}

/* Badge interior — dimensiuni si responsive scaling identice cu thproductlabel-text (label-ul Premium curent are inline-style padding:4px 8px). */
.gp-discount-badge {
    font-size: 14px;
    padding: 4px 8px;
    border-radius: 3px;
    line-height: 1;
}
@media (max-width: 1199px) {
    .gp-discount-badge {
        font-size: 13px;
    }
}
@media (max-width: 767px) {
    .gp-discount-badge {
        font-size: 12px;
        padding: 4px 8px;
    }
}

/* ===== Cookie consent (gdprpro): modal centrat + backdrop dark, stil Cookiebot =====
   Fix pentru bug-ul modulului: cu overlay color+opacity setate, footer.tpl aplica
   `.gdprModal--visible { height: inherit !important }` -> inherit din body (auto) = 0,
   iar overlay-ul `:after` mosteneste height:inherit = 0 => backdrop invizibil.
   Aici desenam un backdrop full-viewport independent de lantul de inherit. */
html body .gdprModal.gdprModal--visible {
    height: 100% !important;
}
html body .gdprModal.gdprModal--visible::after {
    content: "" !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    background: rgba(0, 0, 0, 0.6) !important;
    opacity: 1 !important;
    z-index: 0 !important;
}
html body .gdprModal.gdprModal--visible .gdprModal__placeholder {
    z-index: 2 !important;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.35) !important;
    border-radius: 6px !important;
}
/* Responsive: pe ecrane mici caseta de 780px (fortata de modul) ar depasi latimea */
@media (max-width: 820px) {
    html body .gdprModal.gdprModal--visible .gdprModal__placeholder {
        width: 92vw !important;
        max-width: 92vw !important;
    }
}
/* Butoane consent mai mari si mai proeminente (default: font 13px, fara padding vertical) */
html body .gdprModal .gdpr_buttons {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    justify-content: flex-end !important;
    margin-top: 12px !important;
}
html body .gdprModal .gdpr_buttons button {
    padding: 13px 32px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    height: auto !important;
    min-width: 160px !important;
    border: 0 !important;
    border-radius: 6px !important;
    cursor: pointer !important;
    margin-top: 0 !important;
    transition: opacity .15s ease !important;
}
html body .gdprModal .gdpr_buttons button:hover {
    opacity: .9 !important;
}
/* Ordine: "Accepta toate" in dreapta (primar), "Refuza toate" in stanga */
html body .gdprModal .gdpr_buttons #accept-all-gdpr {
    order: 2 !important;
}
html body .gdprModal .gdpr_buttons #reject-all-gdpr {
    order: 1 !important;
}
/* Pe mobil: butoane full-width, stivuite, tap target mare */
@media (max-width: 520px) {
    html body .gdprModal .gdpr_buttons {
        justify-content: stretch !important;
    }
    html body .gdprModal .gdpr_buttons button {
        flex: 1 1 100% !important;
        min-width: 0 !important;
    }
}

