/* Pagina de produs — rezumat specificații, CTA cea mai bună ofertă, bară fixă pe mobil */
.key-specs { list-style: none; padding: 0; margin: 0 0 1rem; display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 8px; }
.key-specs li { display: flex; gap: 10px; align-items: center; background: #fff; border: 1px solid var(--gray-200, #e5e7eb); border-radius: 12px; padding: 9px 12px; min-width: 0; }
.key-specs i { font-size: 1.15rem; color: var(--primary, #2563EB); flex: 0 0 auto; }
.key-specs span { display: flex; flex-direction: column; min-width: 0; line-height: 1.2; }
.key-specs strong { font-size: .92rem; color: #0f172a; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.key-specs small { font-size: .72rem; color: #64748b; }

.best-offer-cta { display: flex; justify-content: center; align-items: center; gap: .5rem; flex-wrap: wrap; font-weight: 600; border-radius: 12px; padding: .8rem 1rem; box-shadow: 0 6px 18px rgba(22, 163, 74, .25); }
.best-offer-cta strong { font-weight: 800; }

.specs-card:not(.expanded) .spec-extra { display: none; }
.specs-table .spec-key { width: 42%; color: #475569; }
.specs-table td, .specs-table th { overflow-wrap: anywhere; word-break: break-word; }

@media (min-width: 992px) {
    .product-media-col > .product-image-container { position: sticky; top: 96px; }
}

.mobile-buy-bar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 1030; display: flex; align-items: center; gap: 8px; padding: 10px 12px calc(10px + env(safe-area-inset-bottom)); background: rgba(255, 255, 255, .97); backdrop-filter: blur(8px); border-top: 1px solid #e5e7eb; box-shadow: 0 -6px 20px rgba(15, 23, 42, .08); }
.mobile-buy-price { display: flex; flex-direction: column; line-height: 1.15; margin-right: auto; min-width: 0; }
.mobile-buy-price small { color: #64748b; font-size: .75rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mobile-buy-price strong { color: #15803d; font-size: 1.15rem; }
.mobile-buy-bar .btn-success { font-weight: 700; white-space: nowrap; }

@media (max-width: 991.98px) {
    body { padding-bottom: 72px; }
    .btn-scroll-top { display: none !important; }
}

/* Oferte compacte pe telefon: magazin | preț | buton pe un rând */
@media (max-width: 576px) {
    .store-offer-row { flex-wrap: nowrap; }
    .store-offer-col-brand { flex: 0 0 30%; max-width: 30%; }
    .store-offer-col-price { flex: 1 1 auto; max-width: none; }
    .store-offer-col-updated { display: none; }
    .store-offer-col-action { flex: 0 0 auto; width: auto; }
    .store-offer-btn { padding: .4rem .7rem; font-size: .8rem; white-space: nowrap; }
    .store-logo { max-width: 90px; }
    .key-specs { grid-template-columns: repeat(2, 1fr); }
    .product-title { font-size: 1.45rem; }
}

@media (max-width: 576px) {
    .product-actions { display: grid !important; grid-template-columns: 48px 1fr 1fr; gap: 8px; }
    .product-actions > * { width: 100% !important; margin: 0 !important; }
    .product-action-main, .product-action-secondary { font-size: .85rem; padding: .6rem .4rem; white-space: nowrap; }
    .best-offer-cta { font-size: 1rem; padding: .75rem; }
    .best-offer-cta > i { display: none; }
}

@media (max-width: 576px) {
    .product-action-main i { display: none; }
    .store-item .store-offer-row { display: flex !important; flex-wrap: nowrap !important; align-items: center; }
    .store-item .store-offer-col-brand { flex: 0 0 28% !important; max-width: 28% !important; width: auto !important; }
    .store-item .store-offer-col-price { flex: 1 1 auto !important; max-width: none !important; width: auto !important; }
    .store-item .store-offer-col-updated { display: none !important; }
    .store-item .store-offer-col-action { flex: 0 0 auto !important; width: auto !important; max-width: none !important; margin-top: 0 !important; }
    .store-item .store-offer-btn { width: auto !important; display: inline-flex !important; padding: .45rem .75rem !important; }
    .store-item .store-price { font-size: .95rem; }
    .store-item .store-price .badge { display: block; width: max-content; margin-top: 2px; font-size: .6rem; }
}

@media (max-width: 576px) {
    /* prețul și CTA-ul trebuie să intre în primul ecran */
    .product-image-main img { max-height: 230px; width: auto; margin: 0 auto; display: block; object-fit: contain; }
    .product-image-main { min-height: 0 !important; padding: 12px !important; }
}
