.search-inline {
    flex-basis: 70% !important;
    margin-left: 0 !important;
}

.btn-primary{
	background: #ff6400 !important;
	border: none !important;
	border-radius: 5px !important
}

.product-summary__purchase-row {
    display: flex !important;
    gap: 10px;
    align-items: stretch !important;
}

.product-summary__purchase-row > div,
.product-summary__purchase-row > div > div,
.product-summary__purchase-row .btn {
    margin: 0 !important;
}

.product-summary__purchase-quantity {
    flex: 0 0 auto;
    display: flex;
    align-items: stretch;
}

.product-summary__purchase-quantity .quantity-spinner {
    margin: 0 !important;
    height: 100%;
    align-items: stretch;
}

.product-summary__purchase-quantity .quantity-spinner button,
.product-summary__purchase-quantity .quantity-spinner input,
.product-summary__purchase-quantity .quantity-spinner span {
    height: auto;
    vertical-align: middle;
}

.product-summary__purchase-actions {
    flex: 1 1 auto !important;
    min-width: 0;
    display: block !important;
    width: auto !important;
}

.product-summary__purchase-actions > div {
    width: 100% !important;
    height: 100%;
}

.product-summary__purchase-actions .btn {
    width: 100% !important;
    min-width: 100% !important;
    height: 100%;
    display: flex !important;
    align-items: center;
    justify-content: center;
}
.product-summary__codes {
    margin-bottom: 12px;
}

.product-summary__codes .product-summary__info--sku,
.product-summary__codes .product-summary__info--ean {
    margin-bottom: 2px !important;
    line-height: 1.35;
}

.product-summary__codes .info-label {
    font-weight: 700;
}

/* Separator between the product codes and the price */
.product-summary__codes {
    border-bottom: 1px solid #f1f1f1;
    padding-bottom: 12px;
}

/* "(TVA inclus)" after the price, not before it */
.product-summary__info--price-gross-row {
    flex-flow: row wrap !important;
    justify-content: flex-start !important;
    align-items: baseline;
    gap: 8px;
    margin-bottom: 0 !important;
    line-height: 1.1 !important;
}

.product-summary__info--price-gross,
.product-summary__info--tax-price-gross {
    line-height: 1.1 !important;
}

.product-summary__info--price-gross-row > * {
    margin-right: 0 !important;
    padding-right: 0 !important;
}

/* Shipping note: tighter to the price, lighter grey */
.product-summary__info--shipping {
    margin-top: 0 !important;
    font-size: 0.875rem;
    color: #9a9a9a !important;
}

/* Equal split between gallery and details.
   product-summary.css pins the gallery at `flex: 0 0 50%` while
   `.product-summary > * + *` adds `margin-left: 2rem` to the details
   column, leaving it 2rem narrower. Give each side half the gap. */
@media (min-width: 992px) {
    .product-summary--product-details > .product-summary__images {
        flex: 0 0 calc(50% - 1rem) !important;
        max-width: calc(50% - 1rem);
    }
}

/* ---------------------------------------------------------------
   Availability status badge
   Overrides the theme's purple default with status-aware colours.
   --------------------------------------------------------------- */
/* Pill sits above the price with a bit of breathing room */
.product-summary__info--availability {
    margin: 0 0 5px !important;
    padding: 0 !important;
}

.product-summary__info--availability .product-summary__info--message {
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
    padding: 6px 12px !important;
    border-radius: 999px !important;
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    line-height: 1.3;
    border: 1px solid transparent;

    /* Neutral default — any status without an explicit rule below
       falls back to this rather than the old purple. */
    background-color: #f1f3f5 !important;
    color: #495057 !important;
    border-color: #dee2e6;
}

.product-summary__info--availability .product-summary__info--message:before {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: currentColor;
    flex: 0 0 auto;
}

/* In stock — green.
   Case 1 always renders "Livrare din stoc"; id 1 is the same status
   even when it lands in case 3 (stock quantity <= 0 but marked available). */
.product-summary__info--availability [data-availability-case="1"],
.product-summary__info--availability [data-availability-id="1"] {
    background-color: #e8f6ed !important;
    color: #1a7f42 !important;
    border-color: #b7e2c6;
}

/* Contact us (stock known, no availability set) — orange/brand */
.product-summary__info--availability [data-availability-case="2"],
.product-summary__info--availability [data-availability-case="4"] {
    background-color: #fff2e8 !important;
    color: #c24e00 !important;
    border-color: #ffd4b3;
}

/* Out of stock, by availability id (confirmed mapping):
     2 = INDISPONIBIL – nu se mai comercializează
     3 = Disponibil cu precomandă
     4 = Disponibil în 2-7 zile
     5 = Stoc furnizor indisponibil
     6 = Disponibil în 7-14 zile
     7 = Disponibil în 14-21 zile
     8 = Disponibil în 21-90 zile
   Anything unmapped (e.g. Neasignat) falls back to the neutral grey. */

/* Discontinued / supplier out of stock — red */
.product-summary__info--availability [data-availability-id="2"],
.product-summary__info--availability [data-availability-id="5"] {
    background-color: #fdecec !important;
    color: #b02a2a !important;
    border-color: #f5c2c2;
}

/* Pre-order, contact for lead time — amber */
.product-summary__info--availability [data-availability-id="3"] {
    background-color: #fff8e1 !important;
    color: #8a6100 !important;
    border-color: #ffe49c;
}

/* Short lead time (2-7 days) — teal */
.product-summary__info--availability [data-availability-id="4"] {
    background-color: #e6f6f8 !important;
    color: #0f6f7d !important;
    border-color: #b5e3ea;
}

/* Longer lead times (7-14, 14-21, 21-90 days) — blue, darkening */
.product-summary__info--availability [data-availability-id="6"] {
    background-color: #eaf1fb !important;
    color: #1f5aa8 !important;
    border-color: #c3d8f2;
}

.product-summary__info--availability [data-availability-id="7"] {
    background-color: #e9eef7 !important;
    color: #2b4d84 !important;
    border-color: #c3d0e6;
}

.product-summary__info--availability [data-availability-id="8"] {
    background-color: #eceef2 !important;
    color: #3d4a63 !important;
    border-color: #ccd2dd;
}

/* Brand logo above the title: drop the theme's left margin,
   keep the grey background, add a small padding. */
@media (min-width: 768px) {
    .product-summary__info--brand {
        margin-left: 0 !important;
        background: #f5f5f5 !important;
        padding: 5px !important;
    }
}

/* Contact: icon on the same line as the text, in brand orange.
   Overrides product-summary.css `.product-summary__info--contact a`
   which sets display:block and color:#219045. */
.product-summary__info--contact .contact__item {
    display: flex !important;
    align-items: center;
    gap: 0;
}

.product-summary__info--contact .contact__item > a,
.product-summary__info--contact .contact__item > a:hover,
.product-summary__info--contact .contact__item > a:focus {
    display: inline-flex !important;
    align-items: center;
    width: auto !important;
    color: #ff6400 !important;
}

.product-summary__info--contact .contact__item > a svg {
    fill: currentColor;
}

.tbi-product-installment {
    width: 100% !important;
    max-width: 100% !important;
}

/* Mobile first: 50px, desktop 70px */
.header__logo-image {
    max-height: 50px !important;
}

@media (min-width: 768px) {
    .header__logo-image {
        max-height: 70px !important;
    }
}

/* Page heading underline: brand orange instead of theme green.
   Same selector as theme.css `.page .page__heading`; albertool.css
   loads later so the colour override wins. */
.page .page__heading {
    border-bottom-color: #ff6400;
}

/* ---------------------------------------------------------------
   Category grid (subcategory listing on catalog pages)
   2 cols mobile / 3 tablet / 4 desktop, uniform card tiles.
   catalog.css sizes columns with [data-cols-*] (specificity 0,2,0)
   and loads after albertool.css, so we win with 0,3,0 selectors. */
.categories__content.categories__content--grid[data-cols-m] {
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
}

@media (min-width: 768px) {
    .categories__content.categories__content--grid[data-cols-t] {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (min-width: 992px) {
    .categories__content.categories__content--grid[data-cols-d] {
        grid-template-columns: repeat(5, 1fr);
        gap: 1.25rem;
    }
}

/* Card tile */
.categories__content--grid .category {
    background: #fff;
    min-height: 0;
    border: 1px solid #e9e9e9;
    border-radius: 10px;
    overflow: hidden;
    transition: box-shadow .2s, border-color .2s;
}

.categories__content--grid .category:hover {
    border-color: #ff6400;
    box-shadow: 0 6px 18px rgba(0, 0, 0, .08);
}

.categories__content--grid .category__link {
    display: flex;
    flex-direction: column;
    height: 100%;
}

/* Uniform image: fixed square, cover-cropped regardless of source size */
.categories__content--grid .category__image-container,
.categories__content--grid .category__no-image {
    display: block;
    position: static;
    width: 100%;
}

.categories__content--grid .category__image {
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    background: #fff;
    padding: 15px;
}

.categories__content--grid .category__no-image {
    aspect-ratio: 1 / 1;
    background: #f2f2f2;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Title as a clean bar below the image (overrides catalog.css overlay,
   which positions the name absolutely — needs 0,4,0 to win). */
.categories__content.categories__content--grid .category__image-container .category__name,
.categories__content.categories__content--grid .category__no-image .category__name {
    position: static;
    transform: none;
    bottom: auto;
    left: auto;
    right: auto;
    background: none;
    color: #212529;
    text-transform: none;
    font-weight: 600;
    font-size: .95rem;
    line-height: 1.3;
    padding: .75rem .5rem;
    text-align: center;
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    justify-content: center;
}