/* ========================================
   GASTRO THEME - THEME.CSS OVERRIDES
   ========================================
   Acest fisier contine override-urile extrase
   din theme.css modificat (themecopy.css)
   ======================================== */


/* ========================================
   1. LINK COLORS
   ======================================== */

a {
    color: var(--th-color-text-gray);
}

a:hover {
    color: var(--th-color-main-green);
}


/* ========================================
   2. BUTTONS - Override focus/hover din theme.css
   ======================================== */

/* Fix focus - doar outline simplu, fara schimbare culori */
.btn:focus-visible {
    box-shadow: none !important;
    outline: 2px solid var(--th-color-main-green) !important;
    outline-offset: 2px;
}

.btn-check:focus-visible + .btn {
    box-shadow: none !important;
}

.btn-check:checked + .btn:focus-visible,
.btn.active:focus-visible,
.btn.show:focus-visible,
.btn:first-child:active:focus-visible,
:not(.btn-check) + .btn:active:focus-visible,
.btn-check:checked:focus-visible + .btn {
    box-shadow: none !important;
}

/* Butoane active - culoare verde */
.btn-check:checked + .btn,
.btn.active,
.btn.show,
.btn:first-child:active,
:not(.btn-check) + .btn:active {
    background-color: var(--th-color-main-green);
    border-color: var(--th-color-main-green);
    color: white;
}
.btn-link{
    text-decoration: none;
}

/* ========================================
   3. TEXT PRIMARY
   ======================================== */

.text-primary {
    color: var(--th-color-text-grey) !important;
}


/* ========================================
   4. PASSWORD FIELD
   ======================================== */

.password-field button:hover,
.password-field button:active {
    background: transparent !important;
    color: var(--th-color-main-green) !important;
}


/* ========================================
   5. HEADER BLOCK ICONS
   ======================================== */

.header-block__action-btn,
.header-block__action-btn:focus,
.header-block__action-btn:hover {
    color: var(--th-color-main-green);
}

@media (min-width: 992px) {
    .header-block--active .header-block,
    .header-block--active .header-block__icon {
        color: var(--th-color-main-green);
    }
}

.all-product-link.btn i {
    color: var(--th-color-main-green);
}


/* ========================================
   6. ACCOUNT MENU
   ======================================== */

/* Dezactiveaza background pe account menu hover */
.account-menu > a.active,
.account-menu > a:hover {
    background: transparent !important;
}

.account-menu > a.active .link-item,
.account-menu > a.active .link-item i,
.account-menu > a:hover .link-item,
.account-menu > a:hover .link-item i {
    color: var(--th-color-main-green);
}


/* ========================================
   7. CUSTOMER LINK
   ======================================== */

.customer-link a span:hover,
.customer-link__link span:hover {
    background: var(--th-color-main-green);
    color: var(--bs-white);
}


/* ========================================
   8. ADDRESS
   ======================================== */

.address {
    background: #fefefe;
    border: 1px solid #BFBFBF;
}


/* ========================================
   9. PAGINATION ICONS
   ======================================== */

.page-link .pagination__icon {
    color: var(--th-color-main-green);
}


/* ========================================
   10. SORT DROPDOWN
   ======================================== */

.sort-dropdown .sort-dropdown-item.active {
    background-color: var(--th-color-main-green);
    color: #ffffff;
}

/* Dropdown item border-radius fix */
.dropdown-menu li:first-child .dropdown-item.active {
    border-radius: 6px 6px 0 0;
}

.dropdown-menu li:last-child .dropdown-item.active {
    border-radius: 0 0 6px 6px;
}


/* ========================================
   11. PER PAGE DROPDOWN
   ======================================== */

.per-page-dropdown .dropdown-item.active {
    background-color: var(--th-color-main-green);
    color: #ffffff;
}


/* ========================================
   12. WISHLIST BUTTON
   ======================================== */

.product__add-to-cart .wishlist-button-add {
    border-radius: 60px;
    border: 1px solid var(--th-color-lines-light-grey, #EBE9EF);
}


/* ========================================
   13. PAGINATION GASTRO
   ======================================== */

.pagination-gastro {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
}

.pagination-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 33px;
    height: 33px;
    background-color: #ffffff;
    border: 1px solid var(--th-color-text-gray);
    border-radius: 8px;
    color: var(--th-color-main-green);
    text-decoration: none;
    font-family: 'Inter', sans-serif;
    font-weight: 300;
    font-size: 12px;
    line-height: 1.4;
    transition: all 0.2s ease;
}

.pagination-btn:hover {
    text-decoration: none;
    color: var(--th-color-main-green);
    border-color: var(--th-color-main-green);
}

.pagination-btn--active {
    background-color: var(--th-color-main-green);
    color: #ffffff;
    border-color: var(--th-color-main-green);
}

.pagination-btn--active:hover {
    background-color: var(--th-color-main-green);
    color: #ffffff;
    border-color: var(--th-color-main-green);
}

.pagination-btn--disabled {
    color: var(--th-color-text-gray);
    pointer-events: none;
    cursor: not-allowed;
}

.pagination-btn--disabled:hover {
    color: var(--th-color-text-gray);
    border-color: var(--th-color-text-gray);
}

.pagination-btn i {
    font-size: 12px !important;
}

.pagination-spacer {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 33px;
    height: 33px;
    color: var(--th-color-text-gray);
    font-size: 12px;
}

.input-group > .form-control,
.input-group > .form-floating,
.input-group > .form-select,
.modal.product-comment-modal .input-group > .form-control,
.modal.product-comment-modal .input-group > textarea {
  width: 50%;
}

.form-control:focus, .modal.product-comment-modal .form-control:focus, .modal.product-comment-modal textarea:focus{
    border-color: #6c757d;
}


/* ========================================
   14. CARIERE PAGE - override thjobs module colors
   ======================================== */

/* Titlul paginii "Cariere" - din purple (#2a1a46) în negru */
.th-job-page-title {
  color: #212529 !important;
}

/* Text content și headings - din purple (#7c6d96) în negru */
.th-job-empty,
.th-job-description-intro,
.th-job-section,
.th-job-description-intro h1, .th-job-section h1,
.th-job-description-intro h2, .th-job-section h2,
.th-job-description-intro h3, .th-job-section h3,
.th-job-description-intro h4, .th-job-section h4 {
  color: #212529 !important;
}

/* Butonul/tab-ul job-ului - din verde greșit (#3eb449) în verde temă (#1ec3a4) */
.th-job-tab {
  color: #1ec3a4 !important;
  border-color: #1ec3a4 !important;
}
.th-job-tab:hover {
  background-color: #1ec3a4 !important;
  color: #fff !important;
}
.th-job-tab.active {
  background-color: #1ec3a4 !important;
  border-color: #1ec3a4 !important;
  color: #fff !important;
}

/* Butonul "Trimite" - din verde greșit în verde temă */
.th-job-submit-btn {
  background-color: #1ec3a4 !important;
}
.th-job-submit-btn:hover {
  background-color: #19a88d !important;
}

/* Borduri formular - din purple (#3d2b6b) în verde temă */
.th-job-form-grid .form-control {
  border-color: #1ec3a4 !important;
}
.th-job-form-grid .form-control:focus {
  border-color: #1ec3a4 !important;
  box-shadow: 0 0 0 2px rgba(30, 195, 164, 0.15) !important;
}
.th-job-upload-container {
  border-color: #1ec3a4 !important;
}
.th-job-upload-container input[type="file"]::file-selector-button {
  border-right-color: #1ec3a4 !important;
}

/* Breadcrumb pe pagina cariere - din verde greșit în verde temă */
.breadcrumb-item a:hover {
  color: #1ec3a4 !important;
}
.breadcrumb-item.active,
.breadcrumb-item.active span,
.breadcrumb-item:last-child,
.breadcrumb-item:last-child span {
  color: #1ec3a4 !important;
}

/* ========================================
   ADDRESSES — split livrare/facturare
   ======================================== */

.addresses-group__title {
  color: var(--th-color-main-green);
  margin-bottom: 1rem;
}

.addresses__new-address--shipping,
.addresses__new-address--billing {
  color: var(--th-color-main-green);
}

.addresses__new-address--shipping .new-address__icon i,
.addresses__new-address--billing .new-address__icon i {
  color: var(--th-color-main-green);
}

.addresses__new-address--shipping:hover,
.addresses__new-address--billing:hover {
  color: var(--th-color-main-green);
  filter: brightness(0.9);
}

/* =========================================================
   HEADER MOBIL – top-bar negru cu program + selectoare
   (mutat din assets/css/custom.css ca sa beneficieze de cache-buster ?v=)
   ========================================================= */
@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;
    }
}

/* ===== Checkout adresa: buton "+ Adauga adresa noua" langa dropdown (verde gastro = btn-primary) ===== */
.address-block-wrapper {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
}
.address-block-wrapper > .customer-addresses {
    margin: 0;
    flex: 0 1 auto;
}
.address-block-wrapper > .add-new-address-btn {
    flex: 0 0 auto;
    white-space: nowrap;
    padding: 6px 14px;
    font-size: 0.9em;
    line-height: 1.4;
}
/* tableta — acelasi rand, gap mai mic */
@media (max-width: 991px) {
    .address-block-wrapper {
        gap: 8px;
    }
}
/* mobil — coloana, buton full-width aliniat cu form-group-urile (Bootstrap default padding 15px) */
@media (max-width: 767px) {
    .address-block-wrapper {
        flex-direction: column;
        align-items: stretch;
        gap: 8px;
        padding-right: 15px;
        padding-left: 0;
    }
    .address-block-wrapper > .customer-addresses,
    .address-block-wrapper > .customer-addresses .addresses-selection,
    .address-block-wrapper > .customer-addresses select {
        width: 100%;
        max-width: 100%;
    }
    .address-block-wrapper > .add-new-address-btn {
        width: 100%;
        justify-content: center;
        text-align: center;
    }
}

/* ===== Checkout shipping: adresa showroom + nota km (font mic, gri) ===== */
.delivery-option .carrier-address-extra {
    font-size: 12px;
    color: #666;
    margin-top: 2px;
    line-height: 1.3;
}
.delivery-options-list .delivery-km-note {
    font-size: 12px;
    color: #666;
    margin: 8px 0 0;
}

/* ===== Checkout: campurile adresei deja folosite raman editabile inline ===== */
[data-address-is-used="1"] .form-fields .form-group:after,
[data-address-is-used="1"] .business-private-checkboxes.form-group:after {
    content: none !important;
}
[data-address-is-used="1"] .form-fields .form-group input,
[data-address-is-used="1"] .form-fields .form-group select,
[data-address-is-used="1"] .form-fields .form-group textarea {
    background: #fff !important;
    cursor: text !important;
}
[data-address-is-used="1"] .form-fields .form-group select {
    cursor: pointer !important;
}

/* ===== Product page: titlu pentru valorile combinatiilor ===== */
.page-product .product__variants .variant__label {
    display: block !important;
    margin-bottom: 8px;
    color: var(--bs-gray-800);
    font-size: 16px;
    font-weight: 700;
    line-height: 1.25;
}
