/* ===== Product page (show.html.twig) ===== */

.ps-product {
    background: #fff;
    border-radius: 8px;
    padding: 24px;
    box-shadow: 0 1px 3px rgba(0,0,0,.04);
}

/* Breadcrumb */
.ps-breadcrumb {
    font-size: 13px;
    color: #6b7785;
    margin-bottom: 16px;
}
.ps-breadcrumb a {
    color: #6b7785;
    text-decoration: none;
}
.ps-breadcrumb a:hover { color: #0d91d3; }
.ps-bc-sep { margin: 0 6px; color: #c1c8d1; }
.ps-bc-curr { color: #1a1a1a; }

/* Title + code */
.ps-prod-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 20px;
    flex-wrap: wrap;
}
.ps-prod-title {
    font-size: 22px;
    font-weight: 500;
    color: #1a1a1a;
    margin: 0;
    line-height: 1.3;
    flex: 1;
}
.ps-prod-code {
    font-size: 13px;
    color: #6b7785;
    white-space: nowrap;
}

/* Main grid: gallery 1fr | info 1fr | buy-box 320px */
.ps-prod-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 320px;
    gap: 28px;
    margin-bottom: 36px;
}

/* Gallery */
.ps-prod-gallery { min-width: 0; }
.ps-prod-main-img {
    width: 100%;
    aspect-ratio: 1;
    background: #fff;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    margin-bottom: 12px;
}
.ps-prod-main-img img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}
.ps-prod-main-img.ps-no-img { color: #aab2bd; font-size: 14px; }
.ps-prod-thumbs {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}
.ps-prod-thumb {
    width: 64px;
    height: 64px;
    border: 1px solid #e4e8ee;
    border-radius: 4px;
    background: #fff;
    padding: 4px;
    cursor: pointer;
    transition: border-color .15s ease;
}
.ps-prod-thumb img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.ps-prod-thumb:hover { border-color: #0d91d3; }
.ps-prod-thumb.ps-active { border-color: #0d91d3; border-width: 2px; padding: 3px; }

/* Info: rating + variants + short desc */
.ps-prod-info { min-width: 0; }
.ps-prod-rating {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 18px;
}
.ps-stars {
    display: inline-flex;
    gap: 1px;
}
.ps-prod-reviews-link {
    font-size: 13px;
    color: #0d91d3;
    text-decoration: none;
}
.ps-prod-reviews-link:hover { text-decoration: underline; }

.ps-prod-variants { margin-bottom: 18px; }
.ps-prod-variants-label {
    font-size: 13px;
    font-weight: 500;
    color: #1a1a1a;
    margin-bottom: 8px;
}
.ps-prod-variants-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.ps-prod-variant {
    border: 1px solid #d1d8e0;
    background: #fff;
    border-radius: 6px;
    padding: 8px 14px;
    cursor: pointer;
    /* Butonul avea nume + pret pe doua randuri, de-aici coloana si alinierea
       la stanga. Acum poarta doar numele, deci continutul se centreaza —
       altfel etichetele scurte de o cifra atarna in coltul din stanga. */
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    min-width: 62px;
    min-height: 42px;
    transition: border-color .15s ease, background .15s ease, color .15s ease;
}
.ps-prod-variant:hover { border-color: #0d91d3; }
.ps-prod-variant.ps-active {
    border-color: #0d91d3;
    background: #e8f4fb;
    border-width: 2px;
    padding: 7px 13px;   /* -1px, cat creste bordura, ca butonul sa nu sara */
}
.ps-prod-variant-name {
    font-size: 14px;
    font-weight: 500;
    color: #1a1a1a;
}
.ps-prod-variant-price {
    font-size: 11px;
    color: #c0392b;
    font-weight: 500;
    margin-top: 2px;
}

.ps-prod-short {
    font-size: 14px;
    line-height: 1.6;
    color: #4a5562;
}

/* Buy box (right) */
.ps-buy-box {
    border: 1px solid #e4e8ee;
    border-radius: 8px;
    padding: 20px;
    background: #fff;
    height: fit-content;
    position: sticky;
    top: 20px;
}
/* Old strikethrough price (above the current price on PDP, when discounted).
   Mirrors the listing-card treatment so the buy-box reads the same way. */
.ps-buy-old-price {
    color: #8a8a8a;
    font-size: 15px;
    font-weight: 300;
    line-height: 1;
    text-decoration: line-through;
    text-decoration-color: #b5b5b5;
    margin-bottom: 6px;
}
.ps-buy-old-price .ps-buy-old-int { font-size: 15px; }
.ps-buy-old-price .ps-buy-old-dec {
    font-size: 11px;
    vertical-align: top;
    position: relative;
    top: 1px;
    margin-left: 1px;
}

/* "Economisești" line below "fara TVA" on PDP, only when discounted */
.ps-buy-savings {
    color: #555;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.2;
    margin-top: 4px;
    margin-bottom: 6px;
}
.ps-buy-savings strong {
    color: #c0392b;
    font-weight: 600;
}
.ps-buy-savings .ps-buy-save-dec {
    font-size: 10px;
    vertical-align: top;
    position: relative;
    top: 1px;
    margin-left: 1px;
}

.ps-buy-price {
    font-size: 32px;
    font-weight: 600;
    color: #c0392b;
    line-height: 1;
    margin-bottom: 4px;
    display: flex;
    align-items: flex-start;
    gap: 4px;
}
.ps-buy-price-int {}
.ps-buy-price-dec { font-size: 18px; margin-top: 2px; }
.ps-buy-price-cur { font-size: 24px; margin-left: 6px; align-self: center; }
.ps-buy-price-na { font-size: 18px; color: #6b7785; font-weight: 400; }
.ps-buy-stock {
    font-size: 13px;
    color: #27ae60;
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 14px;
}
.ps-stock-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #27ae60;
    display: inline-block;
}
.ps-buy-shipping {
    background: #e8f7ee;
    border-radius: 6px;
    padding: 10px 12px;
    font-size: 13px;
    color: #1a1a1a;
    margin-bottom: 16px;
}
.ps-buy-shipping strong { color: #27ae60; }

.ps-buy-btn {
    width: 100%;
    background: #0d91d3;
    color: #fff;
    border: 0;
    border-radius: 6px;
    padding: 12px 16px;
    font-size: 15px;
    font-weight: 500;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-bottom: 10px;
    transition: background .15s ease;
}
.ps-buy-btn:hover { background: #0a7eb8; }
.ps-buy-btn-icon { display: inline-flex; }

.ps-fav-btn {
    width: 100%;
    background: #fff;
    color: #0d91d3;
    border: 1px solid #0d91d3;
    border-radius: 6px;
    padding: 10px 16px;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-bottom: 16px;
    transition: background .15s ease, color .15s ease;
}
.ps-fav-btn:hover { background: #e8f4fb; }

.ps-buy-trust {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding-top: 14px;
    border-top: 1px solid #e4e8ee;
}
.ps-buy-trust-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    color: #4a5562;
}

/* Tabs */
.ps-prod-tabs {
    margin-top: 24px;
}
.ps-prod-tabs-nav {
    display: flex;
    border-bottom: 2px solid #e4e8ee;
    margin-bottom: 20px;
    gap: 4px;
    overflow-x: auto;
}
.ps-prod-tab {
    background: transparent;
    border: 0;
    padding: 12px 18px;
    font-size: 14px;
    font-weight: 500;
    color: #6b7785;
    cursor: pointer;
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
    white-space: nowrap;
    transition: color .15s ease, border-color .15s ease;
}
.ps-prod-tab:hover { color: #0d91d3; }
.ps-prod-tab.ps-active {
    color: #0d91d3;
    border-bottom-color: #0d91d3;
}
.ps-prod-tab-content {
    display: none;
    font-size: 14px;
    line-height: 1.7;
    color: #2a2f36;
}
.ps-prod-tab-content.ps-active { display: block; }
.ps-prod-tab-content img { max-width: 100%; height: auto; }

.ps-prod-attrs {
    width: 100%;
    border-collapse: collapse;
}
.ps-prod-attrs th,
.ps-prod-attrs td {
    text-align: left;
    padding: 10px 14px;
    font-size: 13px;
    border-bottom: 1px solid #eef0f3;
}
.ps-prod-attrs th {
    font-weight: 500;
    color: #4a5562;
    width: 40%;
    background: #f8fafc;
}
.ps-prod-attrs td { color: #1a1a1a; }

/* Responsive */
@media (max-width: 1100px) {
    .ps-prod-grid {
        grid-template-columns: 1fr 1fr;
    }
    .ps-buy-box {
        grid-column: 1 / -1;
        position: static;
    }
}
@media (max-width: 720px) {
    .ps-prod-grid { grid-template-columns: 1fr; }
    .ps-prod-title { font-size: 18px; }
    .ps-buy-price { font-size: 26px; }
    .ps-product { padding: 16px; }
}

/* Favorite button active state */
.ps-fav-btn.ps-fav-active {
    background: #0d91d3;
    color: #fff;
    border-color: #0d91d3;
}
.ps-fav-btn.ps-fav-active svg { color: #fff; }

/* Quantity input in buy-box */
.ps-buy-qty {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
}
.ps-buy-qty-label {
    font-size: 13px;
    color: #4a5562;
}
.ps-buy-qty-input input,
.ps-buy-qty-input .ps-qty-field {
    width: 70px;
    padding: 8px 10px;
    border: 1px solid #d1d8e0;
    border-radius: 4px;
    font-size: 14px;
    text-align: center;
}
.ps-buy-qty-input input:focus {
    outline: none;
    border-color: #0d91d3;
}
.ps-out-of-stock {
    color: #c0392b;
    font-weight: 500;
    padding: 14px;
    background: #fdecea;
    border-radius: 6px;
    text-align: center;
}
.ps-add-cart-wrap .ps-buy-form > div + button,
.ps-add-cart-wrap form .alert {
    /* allow Sylius form errors to display */
    margin-bottom: 10px;
}

/* Wishlist /favorite page */
.ps-wishlist-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 16px;
}
.ps-wishlist-item {
    display: flex;
    gap: 14px;
    border: 1px solid #e4e8ee;
    border-radius: 8px;
    padding: 12px;
    background: #fff;
}
.ps-wishlist-img {
    flex: 0 0 90px;
    width: 90px;
    height: 90px;
    background: #f5f7fa;
    border-radius: 6px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}
.ps-wishlist-img img { max-width: 100%; max-height: 100%; object-fit: contain; }
.ps-wishlist-info { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.ps-wishlist-name {
    font-size: 14px;
    font-weight: 500;
    color: #1a1a1a;
    text-decoration: none;
    line-height: 1.3;
    margin-bottom: 6px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.ps-wishlist-name:hover { color: #0d91d3; }
.ps-wishlist-price {
    font-size: 16px;
    font-weight: 600;
    color: #c0392b;
    margin-bottom: 8px;
}
.ps-wishlist-remove {
    background: transparent;
    border: 0;
    color: #6b7785;
    font-size: 12px;
    padding: 0;
    cursor: pointer;
    text-align: left;
    align-self: flex-start;
    margin-top: auto;
}
.ps-wishlist-remove:hover { color: #c0392b; text-decoration: underline; }


/* ==========================================================================
   Descrierea de produs — „Fişă tehnică"

   Descrierea din baza de date rămâne HTML SEMANTIC CURAT: h2, p, ul, table,
   blockquote. Fără div-uri, fără clase, fără SVG-uri inline — pentru că
   editorul din admin e TipTap şi curăţă la salvare tot ce nu cunoaşte. Aşa,
   descrierea supravieţuieşte oricărei editări făcute de om, iar designul stă
   aici, în CSS.

   ⚠️ Marcajele sunt legate de STRUCTURĂ, nu de ordinea secţiunilor: bara de
   accent pe orice h2, buline pe orice listă, iconul de certificat pe citat
   (singurul blockquote dintr-o descriere e textul de lege). Aşa merge pe
   toate produsele, indiferent ce secţiuni are fiecare. O primă variantă lega
   iconurile de `nth-of-type` şi s-a rupt: titlul paginii („Detalii produs")
   e tot un h2 în acelaşi container şi decala toată numărătoarea.
   ========================================================================== */

/* `h2 ~ h2` = orice h2 care vine DUPĂ altul, adică sar peste titlul paginii */
.ps-prod-tab-content[data-content="descriere"] > h2 ~ h2 {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #0e1f3d;
    margin: 30px 0 0;
    padding-bottom: 9px;
    border-bottom: 1px solid #e3eaf1;
}
.ps-prod-tab-content[data-content="descriere"] > h2 ~ h2::before {
    content: "";
    width: 22px;
    height: 3px;
    flex: 0 0 22px;
    border-radius: 2px;
    background: #0d91d3;
}

/* fraza de deschidere, mai apăsată decât restul */
.ps-prod-tab-content[data-content="descriere"] > p:first-of-type {
    font-size: 16.5px;
    line-height: 1.6;
    color: #0e1f3d;
    font-weight: 500;
    margin: 0 0 4px;
}
.ps-prod-tab-content[data-content="descriere"] > p {
    font-size: 14.5px;
    line-height: 1.68;
    color: #33445c;
    margin: 13px 0 0;
}

/* datele tehnice: etichetă mică la stânga, valoarea apăsată la dreapta */
.ps-prod-tab-content[data-content="descriere"] > table:not(.ps-prod-attrs) {
    width: 100%;
    border-collapse: collapse;
    margin-top: 6px;
}
.ps-prod-tab-content[data-content="descriere"] > table:not(.ps-prod-attrs) th {
    width: 34%;
    text-align: left;
    vertical-align: top;
    padding: 11px 16px 11px 0;
    border-bottom: 1px solid #eef2f7;
    font-size: 10.5px;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #657a93;
    font-weight: 600;
}
.ps-prod-tab-content[data-content="descriere"] > table:not(.ps-prod-attrs) td {
    padding: 11px 0;
    border-bottom: 1px solid #eef2f7;
    font-size: 14.5px;
    color: #0e1f3d;
    font-weight: 500;
    line-height: 1.5;
}
@media (max-width: 560px) {
    .ps-prod-tab-content[data-content="descriere"] > table th,
    .ps-prod-tab-content[data-content="descriere"] > table:not(.ps-prod-attrs) td { display: block; width: auto }
    .ps-prod-tab-content[data-content="descriere"] > table:not(.ps-prod-attrs) th { border-bottom: 0; padding-bottom: 2px }
}

/* lista de conţinut, pe două coloane */
.ps-prod-tab-content[data-content="descriere"] > ul {
    margin: 14px 0 0;
    padding: 0;
    list-style: none;
    columns: 2;
    column-gap: 34px;
}
.ps-prod-tab-content[data-content="descriere"] > ul > li {
    break-inside: avoid;
    position: relative;
    padding: 4px 0 4px 15px;
    font-size: 14px;
    line-height: 1.5;
    color: #33445c;
}
.ps-prod-tab-content[data-content="descriere"] > ul > li::before {
    content: "";
    position: absolute;
    left: 0;
    /* Aliniat pe prima linie de text: padding-top (4px) + jumatate din
       inaltimea liniei (14px * 1.5 / 2 = 10.5) - jumatate din bulina (2.5). */
    top: 12px;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #0d91d3;
}
/* Descrierile venite din editor au textul impachetat in <p> in interiorul
   fiecarui <li>. Marginile implicite ale paragrafului impingeau textul in jos,
   in timp ce bulina (absolut pozitionata fata de <li>) ramanea sus — de aici
   decalajul. Le anulam ca textul sa cada exact pe linia bulinei. */
.ps-prod-tab-content[data-content="descriere"] > ul > li > p {
    margin: 0;
    font-size: inherit;
    line-height: inherit;
    color: inherit;
}
/* Daca un <li> chiar are mai multe paragrafe, pastram o respiratie intre ele. */
.ps-prod-tab-content[data-content="descriere"] > ul > li > p + p {
    margin-top: 8px;
}
@media (max-width: 620px) {
    .ps-prod-tab-content[data-content="descriere"] > ul { columns: 1 }
}

/* ------------------------------------------------------------------
   Conformitate şi cadru legal — card, nu citat.

   E singurul blockquote dintr-o descriere, deci marcajul se leagă de
   structură şi merge pe orice produs, fără clase în text.
   ------------------------------------------------------------------ */
.ps-prod-tab-content[data-content="descriere"] > blockquote {
    position: relative;
    margin: 16px 0 0;
    padding: 20px 22px 20px 62px;
    background: #fff;
    border: 1px solid #e3eaf1;
    border-left: 3px solid #0d91d3;
    border-radius: 0 10px 10px 0;
    box-shadow: 0 1px 2px rgba(14, 31, 61, .04);
    quotes: none;
}
/* insignă rotundă cu certificatul — iconul din temă, mono */
.ps-prod-tab-content[data-content="descriere"] > blockquote::before {
    content: "";
    position: absolute;
    left: 20px;
    top: 20px;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background-color: #eaf5fc;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230d91d3' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2.5h8.5L20 8v13.5H6z'/%3E%3Cpath d='M14 2.5V8h6'/%3E%3Cpath d='M9.7 15.2l1.7 1.7 3.2-3.2'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 16px 16px;
}
.ps-prod-tab-content[data-content="descriere"] > blockquote p {
    margin: 0;
    font-size: 13px;
    line-height: 1.68;
    color: #5b6b7d;
}
.ps-prod-tab-content[data-content="descriere"] > blockquote p + p {
    margin-top: 11px;
    padding-top: 11px;
    border-top: 1px solid #f0f4f8;
}
/* numele actului normativ, scos în evidenţă */
.ps-prod-tab-content[data-content="descriere"] > blockquote strong {
    display: block;
    color: #0e1f3d;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .04em;
    margin-bottom: 3px;
}
@media (max-width: 520px) {
    .ps-prod-tab-content[data-content="descriere"] > blockquote {
        padding: 56px 18px 18px;
    }
}

/* ------------------------------------------------------------------
   Pozele printre randuri.

   Plutesc alternativ dreapta-stanga, iar textul le inconjoara. Sunt puse
   la randare de App\Support\ProductDescription, doar in sectiunile cu text
   curgator — langa un tabel sau o lista pe doua coloane ar iesi inghesuiala.
   ------------------------------------------------------------------ */
.ps-prod-tab-content[data-content="descriere"] .ps-pd-shot {
    margin: 4px 0 16px;
    width: min(270px, 40%);
    background: #f3f8fc;
    border: 1px solid #eaf0f6;
    border-radius: 10px;
    padding: 16px;
    overflow: hidden;
}
.ps-prod-tab-content[data-content="descriere"] .ps-pd-right {
    float: right;
    margin-left: 28px;
}
.ps-prod-tab-content[data-content="descriere"] .ps-pd-left {
    float: left;
    margin-right: 28px;
}
.ps-prod-tab-content[data-content="descriere"] .ps-pd-shot img {
    width: 100%;
    height: auto;
    display: block;
    /* pozele de catalog au fundal alb: multiply îl topeşte în cardul albastru */
    mix-blend-mode: multiply;
    transition: transform .35s ease;
}
.ps-prod-tab-content[data-content="descriere"] .ps-pd-shot:hover img {
    transform: scale(1.04);
}

/* Orice bloc de sine statator porneste pe rand nou, sub poza precedenta —
   altfel un titlu scurt ar urca in golul de langa fotografie. */
.ps-prod-tab-content[data-content="descriere"] > h2,
.ps-prod-tab-content[data-content="descriere"] > h3,
.ps-prod-tab-content[data-content="descriere"] > table,
.ps-prod-tab-content[data-content="descriere"] > ul,
.ps-prod-tab-content[data-content="descriere"] > ol,
.ps-prod-tab-content[data-content="descriere"] > blockquote {
    clear: both;
}

/* Pe telefon nu are ce sa inconjoare: poza trece pe toata latimea, mai scunda,
   ca sa nu impinga textul cu un ecran mai jos. */
@media (max-width: 640px) {
    .ps-prod-tab-content[data-content="descriere"] .ps-pd-shot {
        float: none;
        width: 100%;
        margin: 14px 0;
        padding: 12px;
    }
    .ps-prod-tab-content[data-content="descriere"] .ps-pd-shot img {
        max-height: 230px;
        width: auto;
        margin: 0 auto;
    }
}

/* ------------------------------------------------------------------
   Descrieri vechi, aduse din OpenCart.

   Multe au <h3> ca subsecţiune, <h1> în loc de titlu, tabele cu
   `border="1" cellpadding="6"` şi culori puse în atribut. Regulile de mai
   jos le aduc în aceeaşi ţinută, fără să fie nevoie de rescriere. Atributele
   de prezentare din HTML au prioritate mai mică decât orice regulă CSS, deci
   `border: 0` bate `border="1"`.
   ------------------------------------------------------------------ */

/* un <h1> în descriere ar concura cu titlul paginii; îl aducem la nivel de secţiune */
.ps-prod-tab-content[data-content="descriere"] > h1 {
    font-size: 19px;
    font-weight: 700;
    letter-spacing: -.01em;
    color: #0e1f3d;
    margin: 0 0 6px;
    line-height: 1.3;
}

/* subsecţiunile: mai mici decât h2, fără bară, dar cu acelaşi aer */
.ps-prod-tab-content[data-content="descriere"] h3:not(.ps-prod-attrs-title) {
    clear: both;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: -.005em;
    color: #0e1f3d;
    margin: 24px 0 0;
    padding-left: 13px;
    border-left: 3px solid #0d91d3;
    line-height: 1.35;
}
.ps-prod-tab-content[data-content="descriere"] h3:not(.ps-prod-attrs-title) + p,
.ps-prod-tab-content[data-content="descriere"] h3:not(.ps-prod-attrs-title) + ul,
.ps-prod-tab-content[data-content="descriere"] h3:not(.ps-prod-attrs-title) + table {
    margin-top: 10px;
}

/* orice tabel din descriere, inclusiv cele aduse cu border="1" din OpenCart */
.ps-prod-tab-content[data-content="descriere"] table:not(.ps-prod-attrs) {
    width: 100%;
    border-collapse: collapse;
    border: 0;
    margin-top: 12px;
}
.ps-prod-tab-content[data-content="descriere"] table:not(.ps-prod-attrs) th,
.ps-prod-tab-content[data-content="descriere"] table:not(.ps-prod-attrs) td {
    border: 0;
    border-bottom: 1px solid #eef2f7;
}
.ps-prod-tab-content[data-content="descriere"] table:not(.ps-prod-attrs) thead th {
    padding: 0 16px 9px 0;
    border-bottom: 1px solid #dbe3ec;
    font-size: 10.5px;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #657a93;
    font-weight: 600;
    text-align: left;
    vertical-align: bottom;
}
.ps-prod-tab-content[data-content="descriere"] table:not(.ps-prod-attrs) tbody td {
    padding: 11px 16px 11px 0;
    font-size: 14px;
    line-height: 1.55;
    color: #33445c;
    vertical-align: top;
}
.ps-prod-tab-content[data-content="descriere"] table:not(.ps-prod-attrs) tbody td:last-child {
    padding-right: 0;
}
/* prima coloană a unui tabel cu antet e eticheta rândului */
.ps-prod-tab-content[data-content="descriere"] table:not(.ps-prod-attrs) tbody td:first-child {
    color: #0e1f3d;
    font-weight: 600;
    width: 38%;
}
.ps-prod-tab-content[data-content="descriere"] table:not(.ps-prod-attrs) tbody td strong {
    font-weight: 600;
}
.ps-prod-tab-content[data-content="descriere"] table:not(.ps-prod-attrs) tbody tr:last-child td {
    border-bottom: 0;
}

/* textele vechi vin cu culori puse în atribut sau în style; le readucem la
   paleta paginii, altfel apar galben-portocaliu peste tot */
.ps-prod-tab-content[data-content="descriere"] font,
.ps-prod-tab-content[data-content="descriere"] span[style*="color"],
.ps-prod-tab-content[data-content="descriere"] td[style*="color"],
.ps-prod-tab-content[data-content="descriere"] p[style*="color"] {
    color: inherit !important;
    background: none !important;
}
/* dimensiunile de font scrise în text strică ritmul tipografic */
.ps-prod-tab-content[data-content="descriere"] span[style*="font-size"],
.ps-prod-tab-content[data-content="descriere"] p[style*="font-size"] {
    font-size: inherit !important;
}

/* tabelele late nu au voie să împingă pagina în lateral */
.ps-prod-tab-content[data-content="descriere"] table:not(.ps-prod-attrs) {
    display: block;
    overflow-x: auto;
}
@media (min-width: 561px) {
    .ps-prod-tab-content[data-content="descriere"] table:not(.ps-prod-attrs) {
        display: table;
        overflow: visible;
    }
}

/* ------------------------------------------------------------------
   Avize şi documente — secţiune proprie, sub descriere.
   Descărcarea e deschisă doar clienţilor care au cumpărat produsul.
   ------------------------------------------------------------------ */
.ps-pd-docs-title {
    clear: both;
    margin: 30px 0 0;
    padding-bottom: 9px;
    border-bottom: 1px solid #e3eaf1;
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #0e1f3d;
}
.ps-pd-docs-title::before {
    content: "";
    width: 22px;
    height: 3px;
    flex: 0 0 22px;
    border-radius: 2px;
    background: #0d91d3;
}

.ps-pd-docs {
    list-style: none;
    margin: 14px 0 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.ps-pd-doc {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 13px 16px;
    border: 1px solid #e3eaf1;
    border-radius: 10px;
    background: #fff;
    transition: border-color .15s ease;
}
.ps-pd-doc:hover { border-color: #cfdcea }

/* iconul: document cu bifă la descărcabile, lacăt la cele blocate.
   Ambele mono, în albastrul mărcii — desenate din tema existentă. */
.ps-pd-doc-ic {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    border-radius: 8px;
    background-color: #eaf5fc;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 18px 18px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230d91d3' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2.5h8.5L20 8v13.5H6z'/%3E%3Cpath d='M14 2.5V8h6'/%3E%3Cpath d='M9.7 15.2l1.7 1.7 3.2-3.2'/%3E%3C/svg%3E");
}
.ps-pd-doc-lock .ps-pd-doc-ic {
    background-color: #f2f5f8;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23869ab2' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 10V7.5a4 4 0 0 1 8 0V10'/%3E%3Cpath d='M5.5 10h13v10.5h-13z'/%3E%3C/svg%3E");
}

.ps-pd-doc-txt { min-width: 0; flex: 1 }
.ps-pd-doc-name {
    display: block;
    font-size: 14.5px;
    font-weight: 600;
    color: #0e1f3d;
    line-height: 1.35;
}
.ps-pd-doc-sub {
    display: block;
    margin-top: 2px;
    font-size: 12px;
    color: #657a93;
}

.ps-pd-doc-btn {
    flex: 0 0 auto;
    height: 36px;
    display: inline-flex;
    align-items: center;
    padding: 0 16px;
    border-radius: 20px;
    font-size: 12.5px;
    font-weight: 700;
    background: #0d91d3;
    /* regula sitului: butoanele solide au scrisul mereu alb */
    color: #fff !important;
    text-decoration: none !important;
    transition: background .15s ease;
}
a.ps-pd-doc-btn:hover { background: #0a72a6 }
.ps-pd-doc-btn-off {
    background: #f2f5f8;
    color: #869ab2 !important;
    cursor: default;
}

.ps-pd-docs-note {
    margin: 11px 0 0;
    font-size: 12.5px;
    line-height: 1.6;
    color: #657a93;
}
.ps-pd-docs-note a { color: #0d91d3 }

@media (max-width: 520px) {
    .ps-pd-doc { flex-wrap: wrap; gap: 10px }
    .ps-pd-doc-txt { flex: 1 1 calc(100% - 48px) }
    .ps-pd-doc-btn { width: 100%; justify-content: center }
}
