/* Prima Shop homepage — visual replica of legacy OC theme
   All classes prefixed with .ps- to avoid conflicts with Sylius/Bootstrap. */

@font-face {
    font-family: 'Inter';
    src: url('/legacy-theme/fonts/Inter-Variable.woff2') format('woff2-variations'),
         url('/legacy-theme/fonts/Inter-Variable.woff2') format('woff2');
    font-weight: 100 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Inter';
    src: url('/legacy-theme/fonts/Inter-Italic.woff2') format('woff2-variations'),
         url('/legacy-theme/fonts/Inter-Italic.woff2') format('woff2');
    font-weight: 100 900;
    font-style: italic;
    font-display: swap;
}

:root {
    --ps-primary: #395374;
    --ps-primary-light: #4a6889;
    --ps-accent: #0d91d3;
    --ps-accent-dark: #0a7eb8;
    --ps-secondary: #454545;
    --ps-bg: #f7f7f7;
    --ps-border: #e5e5e5;
    --ps-font: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

body.ps-homepage { margin: 0; padding: 0; background: #f4f5f7; }

.ps-page * { box-sizing: border-box; }

.ps-page {
    color: #333;
    background: #f4f5f7;
    font-family: var(--ps-font);
    font-weight: 300;
    font-size: 13px;
    line-height: 1.5;
    letter-spacing: -0.005em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.ps-page input,
.ps-page button,
.ps-page select,
.ps-page textarea { font-family: inherit; font-weight: inherit; }

/* Use thin/light by default; only the most prominent items go heavier. */
.ps-page h1, .ps-page h2, .ps-page h3, .ps-page h4, .ps-page h5 { font-weight: 300; letter-spacing: -0.02em; }
.ps-page strong, .ps-page b { font-weight: 300; }

.ps-page a { text-decoration: none; color: inherit; }
.ps-page ul { list-style: none; margin: 0; padding: 0; }
.ps-page img { max-width: 100%; height: auto; display: block; }

.ps-wrap {
    max-width: 1600px;
    width: 100%;
    margin: 0 auto;
    padding: 0 32px;
}

/* === FULL header on dark blue === */
.ps-header {    background: linear-gradient(135deg, #0e1f3d 0%, #1a3567 50%, #0e1f3d 100%) !important;    color: #fff;}

/* Top row: grid 3 columns */
.ps-header-top {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 24px;
    padding: 18px 0;
}

/* === Phone block (left) === */
.ps-phone {
    display: flex;
    align-items: center;
    gap: 14px;
    color: #fff;
}


.ps-icon-circle {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: #4a6889;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: #fff;
}

.ps-icon-circle svg { width: 26px; height: 26px; fill: #fff; }
.ps-icon-circle.ps-icon-heart svg { fill: #e74c3c; }

.ps-phone-text { line-height: 1.3; color: #fff; }
.ps-phone-text .ps-lbl { display: block; font-size: 13px; color: #fff; opacity: .9; }
.ps-phone-text .ps-num { display: block; font-size: 15px; font-weight: 300; color: #fff; }

/* === Logo (center) === */
.ps-logo {
    display: flex;
    justify-content: center;
    align-items: center;
}

.ps-logo img {
    max-height: 62px;
    width: auto;
    display: block;
}

/* === Account / cart (right) === */
.ps-actions {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 18px;
    color: #fff;
}

.ps-action {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: #fff;
    transition: opacity .15s ease;
}

.ps-action:hover { opacity: .85; color: #fff; }

/* The 3 right-side icons (user/heart/cart) — bigger, transparent circle */
.ps-action .ps-icon-circle {
    width: 56px;
    height: 56px;
    background: #4a6889;
    color: #fff;
}
.ps-action .ps-icon-circle svg { width: 28px; height: 28px; fill: currentColor; }
.ps-action .ps-icon-circle.ps-icon-heart { color: #fff; }

.ps-action-text { line-height: 1.3; }
.ps-action-text .ps-at-title { display: block; font-weight: 300; font-size: 14px; color: #fff; }
.ps-action-text .ps-at-sub { display: block; font-size: 12px; color: #fff; opacity: .85; }

/* === Bottom row: cats button | menu | search === */
.ps-header-bottom {
    border-top: 1px solid rgba(255,255,255,.10);
    padding: 14px 0;
    display: grid;
    grid-template-columns: 320px 1fr 420px;
    gap: 24px;
    align-items: center;
}

.ps-btn-cats {
    background: #0d91d3;
    color: #fff;
    padding: 12px 18px;
    border-radius: 4px;
    display: inline-flex;
    align-items: center;
    gap: 14px;
    font-weight: 300;
    font-size: 14px;
    border: 0;
    cursor: pointer;
    justify-content: space-between;
    width: 100%;
}

.ps-btn-cats:hover { background: #0a7eb8; }

.ps-btn-cats svg { width: 18px; height: 18px; fill: #fff; flex-shrink: 0; }

.ps-menu {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 36px;
}

.ps-menu a {
    color: #fff;
    font-size: 14px;
    font-weight: 300;
    padding: 8px 16px;
    border: 1px solid transparent;
    border-radius: 6px;
    transition: border-color .15s ease, background-color .15s ease;
}

.ps-menu a:hover { color: #fff; border-color: rgba(255,255,255,.8); }

.ps-search {
    position: relative;
    background: #fff;
    border-radius: 4px;
    overflow: hidden;
    width: 100%;
}

.ps-search input {
    width: 100%;
    padding: 11px 56px 11px 16px;
    border: 0;
    background: #fff;
    color: #444;
    font-size: 13px;
    outline: none;
    box-sizing: border-box;
}

.ps-search input::placeholder { color: #999; }

.ps-search .ps-btn-search {
    position: absolute;
    right: 0;
    top: 0;
    height: 100%;
    background: #0d91d3;
    color: #fff;
    border: 0;
    padding: 0 16px;
    cursor: pointer;
    display: flex;
    align-items: center;
}

.ps-search .ps-btn-search:hover { background: #0a7eb8; }
.ps-search .ps-btn-search svg { width: 22px; height: 22px; color: #fff; }

/* === Main layout === */
.ps-main {
    padding: 32px 0;
}

.ps-grid {
    display: grid;
    grid-template-columns: 320px 1fr;
    gap: 32px;
}

/* === Sidebar === */
.ps-vc {
    border: 1px solid var(--ps-border);
    border-radius: 4px;
    background: #fff;
    overflow: hidden;
}

.ps-vc-title {
    background: var(--ps-primary);
    color: #fff;
    padding: 14px 16px;
    font-weight: 300;
}

.ps-vc-list li { border-bottom: 0; }

.ps-vc-list a {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 16px;
    color: var(--ps-secondary);
    font-size: 13px;
    border-radius: 4px;
    transition: background .15s ease;
}
.ps-vc-list a:hover { background: var(--ps-bg); color: var(--ps-primary); }

.ps-vc-icon {
    width: 28px;
    height: 28px;
    object-fit: contain;
    flex-shrink: 0;
}

/* === Hero === */
.ps-hero { overflow: hidden;
    background: linear-gradient(135deg, #395374 0%, #0d91d3 100%);
    color: #fff;
    padding: 0;
    border-radius: 8px;
    margin-bottom: 32px;
    min-height: 0;
}
.ps-hero h2 { font-size: 28px; font-weight: 300; margin: 0 0 16px; color: #fff; }
.ps-hero h2 small { font-size: 16px; opacity: .85; font-weight: 300; display: block; margin-top: 4px; }
.ps-hero p { margin: 0 0 24px; max-width: 60ch; line-height: 1.6; color: #fff; opacity: .95; }
.ps-hero-img { display: block; width: 100%; height: auto; margin: 0; }
.ps-hero .ps-btn-primary {
    display: inline-block;
    padding: 12px 26px;
    background: #fff;
    color: var(--ps-primary) !important;
    border-radius: 4px;
    font-weight: 300;
    font-size: 12px;
}
.ps-hero .ps-btn-primary:hover { background: var(--ps-bg); }

/* === Featured cats === */
.ps-section-title {
    position: relative;
    color: #395374;
    font-size: 19px;
    font-weight: 400;
    margin: 0 0 22px;
    padding-bottom: 12px;
    border-bottom: 1px solid #0d91d3;
    display: block;
}
.ps-section-title span {
    display: inline-block;
    position: relative;
}



.ps-cat-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 16px;
    margin-bottom: 32px;
}

.ps-cat-card {
    display: block;
    background: #fff;
    border: 1px solid var(--ps-border);
    border-radius: 4px;
    padding: 22px 12px;
    text-align: center;
    color: var(--ps-secondary);
    transition: all .15s ease;
}
.ps-cat-card:hover {
    border-color: var(--ps-primary);
    box-shadow: 0 4px 12px rgba(57,83,116,.12);
    color: var(--ps-primary);
    transform: translateY(-2px);
}
.ps-cat-icon { color: var(--ps-primary); margin-bottom: 10px; display: flex; justify-content: center; min-height: 52px; align-items: center; }
.ps-cat-icon svg { width: 48px; height: 48px; fill: currentColor; }
.ps-cat-icon img { width: 58px; height: 58px; object-fit: contain; }

/* === eMAG-style product cards === */
.ps-product-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 16px;
    margin-top: 16px;
}

.ps-product-card {
    position: relative;
    background: #fff;
    border: 1px solid var(--ps-border);
    border-radius: 6px;
    overflow: hidden;
    color: var(--ps-secondary);
    transition: box-shadow .15s ease;
    display: flex;
    flex-direction: column;
    text-decoration: none;
}

.ps-product-card:hover {
    box-shadow: 0 6px 20px rgba(0,0,0,.08);
    color: var(--ps-secondary);
}

.ps-product-fav { color: #395374; width: 38px; height: 38px; position: absolute; top: 10px; right: 10px; z-index: 2; background: transparent; border: 0; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: opacity .15s ease; }

.ps-product-fav { color: #395374; width: 38px; height: 38px; position: absolute; top: 10px; right: 10px; z-index: 2; background: transparent; border: 0; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: opacity .15s ease; }
.ps-product-fav:hover { color: #2c4159; opacity: .8; }
.ps-product-fav svg { width: 26px; height: 26px; fill: currentColor; }

.ps-product-img {
    aspect-ratio: 1 / 1;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    padding: 16px;
}

.ps-product-img img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
    transition: transform .2s ease;
}

.ps-product-card:hover .ps-product-img img { transform: scale(1.04); }

.ps-product-info {
    padding: 14px 14px 16px;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.ps-product-name {
    font-size: 14px;
    font-weight: 400;
    color: #222;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 36px;
}

.ps-product-price-row {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 10px;
    
}

.ps-product-price {
    color: #e74c3c;
    line-height: 1;
    font-weight: 300;
}

.ps-product-price .ps-pp-int {
    font-size: 22px;
    font-weight: 400;
}

.ps-product-price .ps-pp-dec {
    font-size: 12px;
    font-weight: 400;
    vertical-align: top;
    position: relative;
    top: 2px;
    margin-left: 1px;
}

.ps-product-price .ps-pp-cur {
    font-size: 13px;
    font-weight: 300;
    margin-left: 4px;
    color: #e74c3c;
}

.ps-product-cart {
    width: 38px;
    height: 38px;
    background: #0d91d3;
    border: 0;
    border-radius: 6px;
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background .15s ease;
    flex-shrink: 0;
}

.ps-product-cart:hover { background: #0a7eb8; }
.ps-product-cart svg { width: 20px; height: 20px; fill: #fff; }

/* Rating stars */
.ps-product-rating {
    display: flex;
    align-items: center;
    gap: 2px;
    margin-top: -4px;
}

.ps-star {
    width: 14px;
    height: 14px;
    fill: #e0e0e0;
}

.ps-star.ps-star-on { fill: #f9a826; }

.ps-product-reviews {
    margin-left: 6px;
    font-size: 12px;
    color: #888;
    font-weight: 300;
}
.ps-cat-name { font-size: 12px; font-weight: 300; line-height: 1.3; }

/* === About === */
.ps-about {
    background: var(--ps-bg);
    padding: 28px;
    border-radius: 4px;
    margin-top: 16px;
}
.ps-about img { max-height: 50px; margin-bottom: 14px; }
.ps-about h1 { font-size: 20px; color: var(--ps-primary); margin: 0 0 12px; }
.ps-about p { margin: 0; color: var(--ps-secondary); line-height: 1.7; }

/* === Footer === */
.ps-footer {
    background: var(--ps-primary) !important;
    color: rgba(255,255,255,.85);
    margin-top: 48px;
    padding: 36px 0 20px;
}
.ps-footer-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 24px; }
.ps-footer h5 { color: #fff; font-size: 14px; font-weight: 300; margin: 0 0 14px; }
.ps-footer a { color: rgba(255,255,255,.75); font-size: 13px; line-height: 2; }
.ps-footer a:hover { color: #fff; }
.ps-footer-bottom {
    margin-top: 28px;
    padding-top: 16px;
    border-top: 1px solid rgba(255,255,255,.15);
    text-align: center;
    font-size: 12px;
    color: rgba(255,255,255,.6);
}

/* === Responsive === */
@media (max-width: 991px) {
    .ps-header-top { grid-template-columns: 1fr; text-align: center; gap: 14px; }
    .ps-phone, .ps-actions { justify-content: center; }
    .ps-header-bottom { grid-template-columns: 1fr; gap: 12px; }
    .ps-grid { grid-template-columns: 1fr; }
    .ps-hero h2 { font-size: 28px; }
}

/* Sidebar toggle from "Toate categoriile" button */
.ps-sidebar.ps-hidden { display: none; }
.ps-grid.ps-grid-collapsed { grid-template-columns: 1fr; }
.ps-btn-cats[aria-expanded='false'] svg:last-child { transform: rotate(-90deg); }
.ps-btn-cats svg:last-child { transition: transform .15s ease; }

/* PrimaDeals badge — sticks to the left edge of the card (no left radius),
   navy gradient matching the site header. */
.ps-product-discount {
    position: absolute;
    top: 10px;
    left: 0;
    z-index: 2;
    background: linear-gradient(135deg, #0e1f3d 0%, #1a3567 50%, #0e1f3d 100%);
    color: #fff;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.3px;
    padding: 5px 11px;
    border-radius: 0 6px 6px 0;
    line-height: 1.2;
    box-shadow: 0 2px 6px rgba(14, 31, 61, 0.18);
    text-transform: none;
}

.ps-product-old-price {
    color: #555;
    text-decoration: line-through;
    font-size: 12px;
    line-height: 1;
}
/* (i) tooltip next to old price — Omnibus directive explanation */
.ps-pop-info {
    display: inline-block;
    width: 13px;
    height: 13px;
    border: 1px solid #b5b5b5;
    border-radius: 50%;
    color: #888;
    font-size: 9px;
    font-weight: 700;
    line-height: 11px;
    text-align: center;
    font-style: italic;
    cursor: help;
    margin-left: 5px;
    vertical-align: middle;
    text-decoration: none;
    user-select: none;
    background: #fff;
    transition: background .12s ease, color .12s ease, border-color .12s ease;
}
.ps-pop-info:hover {
    color: #fff;
    background: #0e1f3d;
    border-color: #0e1f3d;
}
/* Floating tooltip portal — appended to <body> so it escapes card overflow:hidden */
.ps-tooltip-floating {
    position: absolute;
    background: #0e1f3d;
    color: #fff;
    font-size: 11px;
    font-weight: 400;
    padding: 8px 10px;
    border-radius: 6px;
    max-width: 260px;
    line-height: 1.4;
    z-index: 9999;
    pointer-events: none;
    box-shadow: 0 6px 18px rgba(0,0,0,.18);
}
.ps-tooltip-floating::after {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    border: 5px solid transparent;
}
.ps-tooltip-floating[data-pos="top"]::after {
    top: 100%;
    border-top-color: #0e1f3d;
}
.ps-tooltip-floating[data-pos="bottom"]::after {
    bottom: 100%;
    border-bottom-color: #0e1f3d;
}

/* Price block: old + new sit tight together */
.ps-product-price-block {
    display: flex;
    flex-direction: column;
    gap: 2px;
    margin-top: auto;
}

/* ===== NEW FOOTER ===== */
.ps-footer {
    background: transparent !important;
    margin-top: 48px;
    padding: 0;
}

.ps-footer-top {
    display: grid;
    grid-template-columns: 1fr 60px 2fr;
    align-items: stretch;
    min-height: 320px;
}

/* LEFT: about (white) */
.ps-footer-about {
    background: #fff;
    padding: 32px 32px 32px 0;
    padding-left: max(32px, calc((100vw - 1600px) / 2 + 32px));
    color: #333;
}

.ps-footer-logo {
    max-height: 64px;
    width: auto;
    margin-bottom: 24px;
}


.ps-footer-about-title {
    color: #1a1a1a;
    font-size: 22px;
    font-weight: 300;
    margin: 0 0 12px;
}

.ps-footer-about p {
    color: #555;
    line-height: 1.7;
    font-size: 13px;
    margin: 0;
    max-width: 480px;
}

/* Middle: social (accent blue strip) */
.ps-footer-social {
    background: #0d91d3;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 18px;
    padding: 24px 0;
}

.ps-footer-social a {
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
}

.ps-footer-social svg {
    width: 22px;
    height: 22px;
    fill: #fff;
}

.ps-footer-social a:hover { opacity: .85; }

/* RIGHT: 4 link columns (dark blue) */
.ps-footer-cols {
    background: linear-gradient(135deg, #0e1f3d 0%, #1a3567 50%, #0e1f3d 100%);
    color: #fff;
    padding: 32px 32px 32px 32px;
    padding-right: max(32px, calc((100vw - 1600px) / 2 + 32px));
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 32px;
}

.ps-footer-col h5 {
    color: #fff;
    font-size: 16px;
    font-weight: 300;
    margin: 0 0 18px;
}

.ps-footer-col ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.ps-footer-col a {
    color: rgba(255,255,255,.85);
    font-size: 13px;
    text-decoration: none;
}

.ps-footer-col a:hover { color: #0d91d3; }

.ps-footer-li-icon {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    color: rgba(255,255,255,.85);
    font-size: 13px;
    line-height: 1.5;
}

.ps-footer-li-icon svg {
    width: 16px;
    height: 16px;
    fill: rgba(255,255,255,.85);
    flex-shrink: 0;
    margin-top: 2px;
}

/* Bottom strip: copyright + payments */
.ps-footer-bottom {
    background: linear-gradient(135deg, #0e1f3d 0%, #1a3567 50%, #0e1f3d 100%);
    color: rgba(255,255,255,.7);
    padding: 18px max(32px, calc((100vw - 1600px) / 2 + 32px));
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
    justify-content: space-between;
    align-items: center;
    border-top: 1px solid rgba(255,255,255,.08);
    margin: 0;
    text-align: left;
}

.ps-footer-copy {
    font-size: 11px;
    flex: 1;
    min-width: 280px;
}

.ps-footer-copy a { color: #0d91d3; text-decoration: none; }

.ps-footer-payments {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}







.ps-pay-anpc {
    flex-direction: column;
    gap: 1px;
    padding: 4px 10px;
    font-size: 8px;
    line-height: 1;
    color: #1f4f8b;
    text-transform: uppercase;
    min-width: 100px;
}

.ps-pay-anpc strong { background: #1f4f8b; color: #fff; padding: 2px 6px; border-radius: 2px; font-weight: 400; font-size: 9px; margin-top: 1px; }

/* Floating WhatsApp */
.ps-whatsapp-fab {
    position: fixed;
    bottom: 24px;
    left: 24px;
    width: 56px;
    height: 56px;
    background: #25d366;
    border-radius: 50%;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 16px rgba(0,0,0,.2);
    z-index: 100;
    text-decoration: none;
    transition: transform .15s ease;
}

.ps-whatsapp-fab:hover { transform: scale(1.05); }
.ps-whatsapp-fab svg { width: 32px; height: 32px; fill: #fff; }

@media (max-width: 991px) {
    .ps-footer-top { grid-template-columns: 1fr; }
    .ps-footer-about,
    .ps-footer-cols { padding-left: 24px; padding-right: 24px; }
    .ps-footer-cols { grid-template-columns: 1fr 1fr; }
    .ps-footer-social { padding: 18px; flex-direction: row; }
    .ps-footer-bottom { padding-left: 24px; padding-right: 24px; flex-direction: column; align-items: flex-start; }
}

/* ===== Sidebar benefits widget ===== */
.ps-benefits {
    margin-top: 32px;
    background: #fff;
    border: 1px solid var(--ps-border);
    border-radius: 4px;
    overflow: hidden;
}

.ps-benefits-title {
    background: #0d91d3;
    color: #fff;
    padding: 14px 18px;
    font-size: 14px;
    font-weight: 400;
}

.ps-benefits-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.ps-benefits-list li {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 16px 18px;
    border-bottom: 1px solid #f0f0f0;
}

.ps-benefits-list li:last-child { border-bottom: 0; }

.ps-benefit-icon {
    color: #1a1a1a;
    flex-shrink: 0;
    width: 48px;
    height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.ps-benefit-icon svg { width: 42px; height: 42px; }

.ps-benefit-text {
    display: flex;
    flex-direction: column;
    gap: 2px;
    line-height: 1.4;
}

.ps-benefit-text strong {
    color: #1a1a1a;
    font-size: 13px;
    font-weight: 500;
}

.ps-benefit-text span {
    color: #777;
    font-size: 12px;
    font-weight: 300;
}

/* ===== Category slider (eMAG style) ===== */
.ps-cat-slider-wrap {
    position: relative;
    margin-bottom: 32px;
    min-width: 0;
    max-width: 100%;
}

.ps-cat-slider {
    display: flex;
    gap: 16px;
    overflow-x: auto;
    overflow-y: visible;
    scroll-behavior: smooth;
    scrollbar-width: none;
    cursor: grab;
    padding: 4px 0 12px;
    user-select: none;
    -webkit-overflow-scrolling: touch;
}

.ps-cat-slider::-webkit-scrollbar { display: none; }
.ps-cat-slider.ps-dragging { cursor: grabbing; scroll-behavior: auto; }
.ps-cat-slider.ps-dragging a { pointer-events: none; }

.ps-cat-tile {
    flex: 0 0 200px;
    height: 220px;
    background: #395374;
    border-radius: 10px;
    color: #fff;
    text-decoration: none;
    position: relative;
    padding: 16px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    transition: transform .15s ease, box-shadow .15s ease;
}

.ps-cat-tile:hover {
    box-shadow: 0 8px 24px rgba(57,83,116,.3);
    transform: translateY(-2px);
    color: #fff;
}

.ps-cat-tile-title {
    font-size: 15px;
    font-weight: 500;
    line-height: 1.25;
    color: #fff;
    max-width: 160px;
    z-index: 1;
}











.ps-cat-tile-arrow {
    position: absolute;
    bottom: 16px;
    right: 16px;
    width: 32px;
    height: 32px;
    background: #fff;
    border-radius: 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.ps-cat-tile-arrow svg { width: 18px; height: 18px; }

/* Arrow buttons */
.ps-cat-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: #fff;
    border: 1px solid #e5e5e5;
    box-shadow: 0 2px 8px rgba(0,0,0,.08);
    cursor: pointer;
    font-size: 22px;
    color: #395374;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 3;
    transition: background .15s ease;
}

.ps-cat-nav:hover { background: #f7f7f7; }
.ps-cat-nav-prev { left: 8px; }
.ps-cat-nav-next { right: 8px; }


/* Prevent the horizontal slider from widening the page */
.ps-grid { min-width: 0; }
.ps-grid > * { min-width: 0; }
.ps-cat-slider-wrap {
    position: relative;
    margin-bottom: 32px;
    min-width: 0;
    max-width: 100%;
}

/* ===== Blog articles grid ===== */
.ps-blog-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 20px;
    margin-bottom: 40px;
}

.ps-blog-card {
    background: #fff;
    border: 1px solid var(--ps-border);
    border-radius: 6px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    text-decoration: none;
    transition: box-shadow .15s ease, transform .15s ease;
    color: inherit;
}

.ps-blog-card:hover {
    box-shadow: 0 8px 24px rgba(0,0,0,.08);
    transform: translateY(-2px);
}

.ps-blog-image {
    position: relative;
    aspect-ratio: 16 / 9;
    background-color: #f0f0f0;
    background-size: contain;
    background-position: center;
}

.ps-blog-cat {
    position: absolute;
    top: 12px;
    left: 12px;
    background: #0d91d3;
    color: #fff;
    font-size: 11px;
    font-weight: 400;
    padding: 4px 10px;
    border-radius: 3px;
    text-transform: uppercase;
    letter-spacing: .3px;
}

.ps-blog-body {
    padding: 18px;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.ps-blog-date {
    font-size: 12px;
    color: #888;
    font-weight: 300;
}

.ps-blog-title {
    font-size: 15px;
    font-weight: 400;
    color: #1a1a1a;
    line-height: 1.4;
    margin: 0;
}

.ps-blog-excerpt {
    font-size: 13px;
    color: #666;
    line-height: 1.5;
    margin: 0;
    flex: 1;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.ps-blog-more {
    color: #0d91d3;
    font-size: 13px;
    font-weight: 400;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: auto;
    transition: gap .15s ease;
}

.ps-blog-card:hover .ps-blog-more { gap: 10px; }
.ps-blog-more svg { width: 14px; height: 14px; }

/* ===== Product sliders (12 items, 4 per page) ===== */
.ps-prod-slider-wrap {
    position: relative;
    margin-bottom: 32px;
    padding: 0 4px;
    min-width: 0;
    max-width: 100%;
}

.ps-prod-slider {
    display: flex;
    gap: 16px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    scrollbar-width: none;
    cursor: grab;
    padding: 6px 0 6px;
    user-select: none;
    -webkit-overflow-scrolling: touch;
}

.ps-prod-slider::-webkit-scrollbar { display: none; }
.ps-prod-slider.ps-dragging { cursor: grabbing; scroll-behavior: auto; }
.ps-prod-slider.ps-dragging a { pointer-events: none; }

.ps-prod-slider .ps-product-card {
    flex: 0 0 calc((100% - 80px) / 6);
    scroll-snap-align: start;
    min-width: 0;
}

/* Arrows */
.ps-prod-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: #fff;
    border: 1px solid #e5e5e5;
    box-shadow: 0 2px 8px rgba(0,0,0,.08);
    cursor: pointer;
    font-size: 22px;
    color: #395374;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 3;
    transition: background .15s ease;
}
.ps-prod-nav:hover { background: #f7f7f7; }
.ps-prod-nav-prev { left: -16px; }
.ps-prod-nav-next { right: -16px; }

/* Dots indicator */
.ps-prod-dots {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 16px;
}

.ps-prod-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #d0d4d8;
    border: 0;
    padding: 0;
    cursor: pointer;
    transition: background .15s ease, width .15s ease;
}

.ps-prod-dot.ps-active {
    background: #0d91d3;
    width: 22px;
    border-radius: 5px;
}

@media (max-width: 991px) {
    .ps-prod-slider .ps-product-card { flex: 0 0 calc((100% - 16px) / 2); }
}

@media (max-width: 575px) {
    .ps-prod-slider .ps-product-card { flex: 0 0 calc(100% - 8px); }
}

/* ===== Product card v2 — full info + Adauga in Cos button ===== */
.ps-product-actions {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.ps-product-actions .ps-product-fav { color: #395374; width: 38px; height: 38px; background: transparent; border: 0; cursor: pointer; display: flex; align-items: center; justify-content: center; padding: 0; }

.ps-product-actions .ps-product-fav:hover { color: #2c4159; opacity: .8; }

.ps-product-actions .ps-product-fav svg { width: 26px; height: 26px; }
.ps-product-compare svg { width: 22px; height: 22px; }

.ps-product-card .ps-product-info { gap: 8px; }

.ps-product-stock {
    color: #2da44e;
    font-size: 12px;
    font-weight: 400;
}

/* epuizat se citeste dintr-o privire, nu cu aceeasi culoare ca "in stoc" */
.ps-product-stock-out { color: #c0392b; }

.ps-product-promo {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    color: #555;
    font-weight: 300;
}

.ps-product-promo svg { width: 22px; height: 16px; flex-shrink: 0; }

.ps-product-card .ps-product-price {
    margin-top: 6px;
}















/* Adauga in Cos — split red/blue with diagonal cut */











/* Top sold widget in sidebar */
.ps-top-sold {
    margin-top: 24px;
    background: #fff;
    border: 1px solid var(--ps-border);
    border-radius: 4px;
    overflow: hidden;
}
.ps-top-sold-title {
    background: #0d91d3;
    color: #fff;
    padding: 14px 18px;
    font-size: 14px;
    font-weight: 400;
}
.ps-top-sold-list { margin: 0; padding: 0; list-style: none; }
.ps-top-sold-list li { border-bottom: 1px solid #f0f0f0; }
.ps-top-sold-list li:last-child { border-bottom: 0; }
.ps-top-sold-list a {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 14px 16px;
    text-decoration: none;
    color: inherit;
    transition: background .15s ease;
}
.ps-top-sold-list a:hover { background: #fafbfc; }
.ps-top-sold-img {
    width: 70px;
    height: 70px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fafafa;
    border-radius: 3px;
    overflow: hidden;
}
.ps-top-sold-img img { max-width: 100%; max-height: 100%; object-fit: contain; }
.ps-top-sold-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
}
.ps-top-sold-name {
    color: #395374;
    font-size: 12px;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.ps-top-sold-price {
    color: #1a1a1a;
    font-size: 13px;
    font-weight: 400;
}
.ps-top-sold-rating {
    display: flex;
    gap: 1px;
}
.ps-top-sold-rating .ps-star {
    width: 13px;
    height: 13px;
    fill: #e0e0e0;
}
.ps-top-sold-rating .ps-star.ps-star-on { fill: #f9a826; }


/* Adauga in Cos — split dark/light blue with CURVED divider */












/* Adauga in Cos — single button, gradient dark→light blue, eMAG-style */







/* Adauga in Cos — light blue button with dark navy badge inside (left) */









/* Adauga in Cos — eMAG layout: dark navy D-shape badge attached to left edge, light blue background */









/* Adauga in Cos — vertical edge with bulge curve on right of badge */










/* Adauga in Cos — D-shape badge via clip-path with vertical top + curved middle */









/* Adauga in Cos — clean rounded badge + text */









/* Adauga in Cos — eMAG style: outer light blue, inner dark navy badge with curved right edge */










/* Adauga in Cos — badge with concave right edge (vertical, then curves inward LEFT) */









/* Adauga in Cos — eMAG exact: badge absolut cu border-bottom-right-radius: 37% 100% */
.ps-product-add {
    position: relative;
    margin-top: 10px;
    display: block;
    width: 100%;
    height: 40px;
    border: 0;
    border-radius: 6px;
    cursor: pointer;
    padding: 0 0 0 46px;
    background: #0d91d3;
    color: #fff;
    font-size: 13px;
    font-weight: 400;
    text-align: center;
    overflow: hidden;
    transition: filter .15s ease;
}
.ps-product-add:hover { filter: brightness(.92); }

.ps-product-add-badge {
    position: absolute;
    top: 0;
    left: 0;
    height: 40px;
    width: 46px;
    background: #0e1f3d;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 37% 100% !important;
}
.ps-product-add-badge svg { width: 22px; height: 22px; fill: #fff; }

.ps-product-add-label {
    display: inline-block;
    line-height: 40px;
}

/* Hero slider dots — bottom-right corner */
.ps-hero { position: relative; }
.ps-hero-dots {
    position: absolute;
    right: 24px;
    bottom: 20px;
    display: flex;
    gap: 8px;
    z-index: 2;
}
.ps-hero-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: rgba(255,255,255,.5);
    border: 0;
    padding: 0;
    cursor: pointer;
    transition: background .15s ease, transform .15s ease;
}
.ps-hero-dot:hover { transform: scale(1.2); }
.ps-hero-dot.ps-active { background: #395374; box-shadow: 0 0 0 2px rgba(255,255,255,.5); }


.ps-vc-list a > span {
    flex: 1;
    min-width: 0;
}
.ps-vc-chevron {
    width: 14px;
    height: 14px;
    color: #bbb;
    flex-shrink: 0;
    transition: transform .15s ease, color .15s ease;
}
.ps-vc-list a:hover .ps-vc-chevron {
    color: #0d91d3;
    transform: translateX(2px);
}

/* Price without VAT line */
.ps-product-price-novat {
    font-size: 11px;
    color: #888;
    font-weight: 300;
    margin-top: 2px;
}

/* Brand slider */
.ps-section-title .ps-brand-nav {
    float: right;
    display: inline-flex;
    gap: 6px;
    margin-top: -2px;
}
.ps-section-title .ps-brand-nav-btn {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #f4f5f7;
    border: 0;
    color: #395374;
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
    transition: background .15s ease;
}
.ps-section-title .ps-brand-nav-btn:hover { background: #e5e7eb; }

.ps-brand-card {
    background: #fff;
    border: 1px solid var(--ps-border);
    border-radius: 6px;
    padding: 20px 16px;
    margin-bottom: 32px;
}

.ps-brand-slider {
    display: flex;
    gap: 24px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-behavior: smooth;
    scrollbar-width: none;
    cursor: grab;
    user-select: none;
    -webkit-overflow-scrolling: touch;
}
.ps-brand-slider::-webkit-scrollbar { display: none; }

.ps-brand-item {
    flex: 0 0 calc((100% - 96px) / 5);
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    color: #395374;
    transition: opacity .15s ease;
}
.ps-brand-item:hover { opacity: .75; }

.ps-brand-item img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    filter: grayscale(.2);
    transition: filter .15s ease;
}
.ps-brand-item:hover img { filter: grayscale(0); }

.ps-brand-name {
    font-size: 18px;
    font-weight: 400;
    color: #395374;
}

@media (max-width: 991px) {
    .ps-brand-item { flex: 0 0 calc((100% - 48px) / 3); }
}
@media (max-width: 575px) {
    .ps-brand-item { flex: 0 0 calc((100% - 24px) / 2); }
}

/* Top strip — language + currency selectors */














/* Simple inline locale + currency selector under phone */







/* Locale dropdown — compact in header actions */
.ps-locale {
    position: relative;
    margin-right: 6px;
}

.ps-locale-toggle {
    background: transparent;
    color: #fff;
    border: 1px solid transparent;
    border-radius: 6px;
    padding: 7px 12px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    font-size: 13px;
    font-weight: 400;
    transition: border-color .15s ease;
    font-family: inherit;
}
.ps-locale-toggle:hover { border-color: rgba(255,255,255,.6); }

.ps-locale-toggle > svg:first-child { width: 18px; height: 18px; }
.ps-locale-caret { width: 14px; height: 14px; transition: transform .15s ease; }
.ps-locale.ps-open .ps-locale-caret { transform: rotate(180deg); }

.ps-locale-menu {
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    background: #fff;
    color: #222;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0,0,0,.18);
    padding: 8px;
    min-width: 200px;
    z-index: 50;
    display: none;
}
.ps-locale.ps-open .ps-locale-menu { display: block; }

.ps-locale-group { padding: 4px; }
.ps-locale-group + .ps-locale-group { border-top: 1px solid #eee; margin-top: 4px; padding-top: 8px; }

.ps-locale-group-label {
    display: block;
    font-size: 11px;
    color: #888;
    text-transform: uppercase;
    letter-spacing: .4px;
    padding: 0 6px 4px;
}

.ps-locale-opt {
    display: block;
    width: 100%;
    text-align: left;
    background: transparent;
    border: 0;
    color: #222;
    font-size: 13px;
    padding: 7px 10px;
    border-radius: 4px;
    cursor: pointer;
    transition: background .12s ease;
}
.ps-locale-opt:hover { background: #f4f5f7; }
.ps-locale-opt.ps-active { background: #e9eef5; color: #395374; font-weight: 500; }

.ps-section-title > span:first-child::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -14px;
    height: 3px;
    background: #0d91d3;
    transition: height .15s ease, bottom .15s ease;
}
.ps-section-title:hover > span:first-child::after {
    height: 5px;
    bottom: -15px;
}

/* Floating Oty chatbot button (bottom-left) */
.ps-oty-fab {
    position: fixed;
    bottom: 28px;
    right: 28px;
    width: 64px;
    height: 64px;
    background: #0e1f3d;
    border: 0;
    border-radius: 50%;
    color: #fff;
    cursor: pointer;
    box-shadow: 0 10px 28px rgba(0,0,0,.18), 0 2px 6px rgba(0,0,0,.08);
    z-index: 1000;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: transform .2s ease, box-shadow .2s ease;
    animation: ps-oty-bounce 3s ease-in-out infinite;
}
.ps-oty-fab:hover { transform: scale(1.06); box-shadow: 0 14px 32px rgba(0,0,0,.22), 0 4px 10px rgba(0,0,0,.12); animation-play-state: paused; }
.ps-oty-fab svg { width: 44px; height: 44px; fill: currentColor; }
.ps-oty-label {
    position: absolute;
    bottom: -22px;
    left: 50%;
    transform: translateX(-50%);
    background: #395374;
    color: #fff;
    font-size: 11px;
    font-weight: 500;
    padding: 2px 10px;
    border-radius: 10px;
    letter-spacing: .5px;
    box-shadow: 0 2px 6px rgba(0,0,0,.15);
}

@keyframes ps-oty-bounce {
    0%, 100% { transform: translateY(0); }
    50%      { transform: translateY(-4px); }
}


.ps-oty-fab::before {
    content: "";
    position: absolute;
    inset: -4px;
    border-radius: 50%;
    border: 2px solid rgba(57,83,116,.5);
    animation: ps-oty-pulse 2.4s ease-out infinite;
    pointer-events: none;
}
@keyframes ps-oty-pulse {
    0%   { transform: scale(.85); opacity: .9; }
    100% { transform: scale(1.25); opacity: 0; }
}


/* Compact sidebar Oty card */
.ps-oty-card {
    position: relative;
    margin-top: 24px;
    background: linear-gradient(135deg, #0e1f3d 0%, #1a3567 50%, #0e1f3d 100%);
    color: #fff;
    border-radius: 8px;
    padding: 20px 18px 18px;
    overflow: hidden;
    text-align: center;
}
.ps-oty-card::before {
    content: '';
    position: absolute;
    top: -60px;
    right: -60px;
    width: 150px;
    height: 150px;
    background: radial-gradient(circle, rgba(255,255,255,.14) 0%, transparent 70%);
    border-radius: 50%;
    pointer-events: none;
}

.ps-oty-card-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: rgba(255,255,255,.16);
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 999px;
    padding: 3px 9px;
    font-size: 10px;
    font-weight: 500;
    color: #fff;
    letter-spacing: .4px;
    text-transform: uppercase;
    margin-bottom: 14px;
    position: relative;
    z-index: 1;
}

.ps-oty-card-pulse {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #4ade80;
    box-shadow: 0 0 0 0 rgba(74,222,128,.7);
    animation: ps-oty-card-pulse 1.8s infinite;
}
@keyframes ps-oty-card-pulse {
    0%   { box-shadow: 0 0 0 0 rgba(74,222,128,.7); }
    70%  { box-shadow: 0 0 0 6px rgba(74,222,128,0); }
    100% { box-shadow: 0 0 0 0 rgba(74,222,128,0); }
}

.ps-oty-card-illu {
    position: relative;
    z-index: 1;
    width: 72px;
    height: 72px;
    margin: 0 auto 12px;
    background: rgba(255,255,255,.12);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid rgba(255,255,255,.2);
}
.ps-oty-card-illu svg { width: 50px; height: 50px; color: #fff; }

.ps-oty-card-title {
    font-size: 17px;
    font-weight: 400;
    color: #fff;
    margin: 0 0 6px;
    line-height: 1.2;
    position: relative;
    z-index: 1;
}
.ps-oty-card-title span { font-weight: 500; }

.ps-oty-card-text {
    font-size: 12px;
    color: rgba(255,255,255,.85);
    line-height: 1.5;
    margin: 0 0 14px;
    position: relative;
    z-index: 1;
}

.ps-oty-card-features {
    list-style: none;
    padding: 0;
    margin: 0 0 16px;
    text-align: left;
    position: relative;
    z-index: 1;
}
.ps-oty-card-features li {
    display: flex;
    align-items: center;
    gap: 8px;
    color: rgba(255,255,255,.92);
    font-size: 12px;
    font-weight: 300;
    padding: 4px 0;
}
.ps-oty-card-dot {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #4ade80;
    flex-shrink: 0;
}

.ps-oty-card-btn {
    width: 100%;
    background: #fff;
    color: #395374;
    border: 0;
    border-radius: 6px;
    padding: 10px;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: transform .15s ease, box-shadow .15s ease;
    position: relative;
    z-index: 1;
}
.ps-oty-card-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0,0,0,.18);
}

.ps-oty-card-incl {
    font-size: 11px;
    color: rgba(255,255,255,.7);
    font-weight: 300;
    letter-spacing: .3px;
    position: relative;
    z-index: 1;
    padding-top: 4px;
}


/* Footer payment logos — SVG files */




.ps-pay-logo {
    height: 22px;
    width: auto;
    display: inline-block;
    object-fit: contain;
}

/* Payment logos - force uniform small size in a line */
.ps-footer-payments {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
}
.ps-footer-payments .ps-pay-logo,
.ps-footer-payments img.ps-pay-logo {
    height: 18px !important;
    width: auto !important;
    max-width: 60px !important;
    display: inline-block !important;
    object-fit: contain !important;
    vertical-align: middle !important;
}
.ps-footer-payments .ps-pay-visa {
    max-width: 44px !important;
}
.ps-footer-payments .ps-pay-zen {
    max-width: 70px !important;
}

/* ANPC logos + Netopia bigger */
.ps-footer-payments .ps-pay-zen {
    max-width: 105px !important;
    height: 22px !important;
}
.ps-footer-payments .ps-pay-anpc-img {
    height: 26px !important;
    max-width: 110px !important;
    background: #fff;
    border-radius: 3px;
    padding: 2px 4px;
}

/* OVERRIDE — no bg on anpc, bigger sizes */
.ps-footer-payments .ps-pay-zen {
    max-width: 140px !important;
    height: 30px !important;
}
.ps-footer-payments .ps-pay-anpc-img {
    height: 40px !important;
    max-width: 160px !important;
    background: transparent !important;
    border-radius: 0 !important;
    padding: 0 !important;
}

/* MUCH BIGGER — final */
.ps-footer-payments .ps-pay-zen {
    max-width: 220px !important;
    height: 48px !important;
}
.ps-footer-payments .ps-pay-anpc-img {
    height: 64px !important;
    max-width: 260px !important;
}

/* SPECIFICITY FIX — beat img.ps-pay-logo */
.ps-footer-payments img.ps-pay-zen {
    max-width: 220px !important;
    height: 48px !important;
}
.ps-footer-payments img.ps-pay-anpc-img {
    height: 64px !important;
    max-width: 260px !important;
    background: transparent !important;
    border-radius: 0 !important;
    padding: 0 !important;
}

/* dial back — moderate size */
.ps-footer-payments img.ps-pay-zen {
    max-width: 140px !important;
    height: 30px !important;
}
.ps-footer-payments img.ps-pay-anpc-img {
    height: 38px !important;
    max-width: 160px !important;
}

/* Copyright white */
.ps-footer-copy { color: #ffffff !important; }
.ps-footer-copy a { color: #ffffff !important; text-decoration: underline; }

/* Visa + Mastercard bigger */
.ps-footer-payments img.ps-pay-visa {
    max-width: 70px !important;
    height: 26px !important;
}
.ps-footer-payments img.ps-pay-logo[alt="Mastercard"] {
    height: 32px !important;
    max-width: 50px !important;
}

/* Simplified locale dropdown (4 langs) */
.ps-locale-menu .ps-locale-opt {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    width: 100%;
    text-align: left;
    padding: 8px 12px !important;
}
.ps-locale-menu .ps-locale-opt .ps-locale-cur {
    font-size: 10px;
    color: #8a9ab2;
    font-weight: 400;
    letter-spacing: .3px;
}
.ps-locale-menu .ps-locale-opt.ps-active .ps-locale-cur {
    color: #395374;
}

/* Flags in locale dropdown */
.ps-flag {
    width: 20px;
    height: auto;
    aspect-ratio: 3 / 2;
    display: inline-block;
    vertical-align: middle;
    border-radius: 2px;
    box-shadow: 0 0 0 1px rgba(0,0,0,.08);
    margin-right: 6px;
    flex-shrink: 0;
}
.ps-locale-cur-label {
    display: inline-flex !important;
    align-items: center;
    gap: 4px;
}
.ps-locale-menu .ps-locale-opt {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 4px !important;
    width: 100%;
    text-align: left;
    padding: 8px 12px !important;
    font-weight: 500;
}
.ps-locale-menu .ps-locale-opt .ps-flag {
    margin-right: 4px;
}

/* Category tile background images removed — all tiles now show plain title (same style for all). */

/* Overlay link covering the whole product card */
.ps-product-card-link {
    position: absolute;
    inset: 0;
    z-index: 1;
    overflow: hidden;
    text-indent: -9999px;
}
.ps-product-card { position: relative; }
.ps-product-fav,
.ps-product-add { position: relative; z-index: 3; }
.ps-product-fav { position: absolute; }

/* ===== Discount progresiv pe card (reduceri cantitate) ===== */
.ps-product-img{position:relative}
/* Eticheta "de la … lei" — ca badge-ul PrimaDeals (pinuit pe stânga), în
   culoarea Prima (albastru deschis), poziționată stânga-jos peste imagine. */
.ps-card-deal-ribbon{
  position:absolute;left:0;bottom:8px;z-index:3;
  background:#0d91d3;color:#fff;
  font-size:11px;font-weight:700;letter-spacing:.3px;
  padding:5px 11px;border-radius:0 6px 6px 0;line-height:1.2;
  box-shadow:0 2px 6px rgba(14,31,61,.18);pointer-events:none;
}
.ps-card-tiers-table{
  width:100%;border-collapse:collapse;margin:8px 0 4px;
  font-size:12px;border:1px solid #e2e8f0;border-radius:6px;overflow:hidden;
}
.ps-card-tiers-table th{
  background:#0d91d3;color:#fff;font-weight:600;
  padding:4px 8px;text-align:center;font-size:11px;
}
.ps-card-tiers-table td{
  padding:4px 8px;text-align:center;border-top:1px solid #eef2f6;color:#1a2a44;
}
.ps-card-tiers-table td:last-child{font-weight:700;color:#12344d;}
.ps-card-tiers-table tbody tr:nth-child(even) td{background:#f7fbfe;}
/* Chips de variante pe card (selectabile — schimbă preț + poză) */
.ps-card-variants{position:relative;z-index:3;display:flex;flex-wrap:wrap;gap:6px;margin:0 0 8px}
.ps-card-variant{font-family:'Inter Tight',Arial,sans-serif;font-size:11px;font-weight:500;color:#3a4654;background:#fff;border:1px solid #d7dde5;border-radius:6px;padding:4px 10px;cursor:pointer;line-height:1.2;transition:border-color .12s,color .12s,background .12s}
.ps-card-variant:hover{border-color:#0d91d3;color:#0d91d3}
.ps-card-variant.ps-active{border-color:#0d91d3;color:#0d91d3;background:#eef7fc;font-weight:600}

/* ps-strip-responsive: 6/4/2 carduri pe rand dupa latime */
@media (max-width: 1500px) { .ps-prod-slider .ps-product-card { flex: 0 0 calc((100% - 48px) / 4); } }
@media (max-width: 900px)  { .ps-prod-slider .ps-product-card { flex: 0 0 calc((100% - 16px) / 2); } }

/* ps-card-bottom: rand final card 1:1 eMAG — pret rosu stanga, buton cos dreapta */
.ps-card-bottom { display: flex; align-items: flex-end; justify-content: space-between; gap: 10px; margin-top: 8px; }
.ps-card-bottom .ps-product-price-block { margin: 0; }
.ps-card-bottom .ps-product-price { color: #e0301e; }
.ps-card-bottom .ps-product-price .ps-pp-int { font-size: 24px; font-weight: 800; color: #e0301e; }
.ps-card-bottom .ps-product-price .ps-pp-dec { color: #e0301e; font-weight: 700; }
.ps-card-bottom .ps-product-price .ps-pp-cur { color: #e0301e; font-weight: 700; }
.ps-card-cartbtn { width: 42px; height: 42px; min-width: 42px; padding: 0 !important; margin: 0; border: 0; border-radius: 12px; background: #0d91d3; display: flex; align-items: center; justify-content: center; cursor: pointer; }
.ps-card-cartbtn:hover { background: #0b7ab3; filter: none; }
.ps-card-cartbtn svg { width: 24px; height: 24px; }
.ps-card-cartbtn[disabled] { background: #c3ccd9; cursor: not-allowed; }

/* ps-card-compact: spatii verticale reduse pe card */
.ps-product-info { padding: 10px 12px 12px !important; }
.ps-product-info .ps-product-name { margin-bottom: 4px !important; min-height: 0 !important; line-height: 1.3 !important; }
.ps-product-rating { margin: 2px 0 2px !important; }
.ps-product-stock { margin: 2px 0 4px !important; }
.ps-card-tiers-table { margin: 5px 0 2px !important; }
.ps-card-tiers-table th { padding: 3px 8px !important; }
.ps-card-tiers-table td { padding: 3px 8px !important; }
.ps-card-bottom { margin-top: 5px !important; }
.ps-product-price-novat { margin-top: 0 !important; }
.ps-card-variants { margin: 0 0 5px !important; }

/* Trepte discount pe o linie + inaltimi egale la carduri */
.ps-card-tiers-line { display: flex; gap: 5px; flex-wrap: nowrap; overflow: hidden; margin: 4px 0 2px; }
.ps-tier-pill { background: #eef7fc; border: 1px solid #cfe8f7; color: #0b6fa1; font-size: 11px; padding: 2px 8px; border-radius: 999px; white-space: nowrap; line-height: 1.5; }
.ps-tier-pill b { color: #0b6fa1; font-weight: 700; }
.ps-product-card { display: flex; flex-direction: column; }
.ps-product-card .ps-product-info { display: flex; flex-direction: column; flex: 1; }
.ps-product-card .ps-card-bottom { margin-top: auto !important; padding-top: 6px; }
.ps-prod-slider { align-items: stretch; }
.ps-tx-grid { align-items: stretch; }

/* Randul de stoc tine si mentiunea de variante, ca sa NU creasca inaltimea
   cardului. Chipurile de variante au fost scoase: cu 5-6 optiuni cardul se
   intindea pe trei randuri si strica grila. Alegerea se face in pagina. */
.ps-product-stock{display:flex;align-items:center;gap:8px;min-height:22px}  /* min-height: rezerva randul si pe cardurile FARA variante, ca pastila
     sa nu faca produsele cu variante cu 4px mai inalte decat restul */
.ps-card-varnote{
    margin-left:auto; flex:0 0 auto;
    font-family:'Inter Tight',Arial,sans-serif; font-size:11.5px; font-weight:500;
    color:#66788c; white-space:nowrap;
    border:1px solid #dde5ee; border-radius:20px; padding:2px 9px; line-height:1.35;
}
.ps-product-card:hover .ps-card-varnote{border-color:#0d91d3;color:#0d91d3}


/* ——— filtre pe atribute, in coloana din stanga ——— */
.ps-fl { margin-top: 14px; background: #fff; border: 1px solid #e6ebf0; border-radius: 12px;
    overflow: hidden; }
.ps-fl-head { display: flex; align-items: center; justify-content: space-between; gap: 8px;
    padding: 12px 14px; border-bottom: 1px solid #eef2f6; font-size: 13.5px; font-weight: 700;
    color: #12233d; }
.ps-fl-clear { font-size: 12px; font-weight: 500; color: #c0392b; text-decoration: none; }
.ps-fl-clear:hover { text-decoration: underline; }
.ps-fl-grup { border-bottom: 1px solid #f2f5f8; }
.ps-fl-grup:last-child { border-bottom: 0; }
.ps-fl-grup > summary { list-style: none; cursor: pointer; padding: 11px 14px; font-size: 13px;
    font-weight: 600; color: #12233d; display: flex; align-items: center; gap: 7px; }
.ps-fl-grup > summary::-webkit-details-marker { display: none; }
.ps-fl-grup > summary::after { content: ''; margin-left: auto; width: 7px; height: 7px;
    border-right: 2px solid #8a97a5; border-bottom: 2px solid #8a97a5;
    transform: rotate(45deg); transition: transform .15s; }
.ps-fl-grup[open] > summary::after { transform: rotate(-135deg); }
.ps-fl-badge { background: #0d91d3; color: #fff; font-size: 11px; font-weight: 700;
    border-radius: 9px; padding: 1px 7px; }
.ps-fl-lista { list-style: none; margin: 0; padding: 0 6px 10px; max-height: 230px; overflow-y: auto; }
.ps-fl-val { display: flex; align-items: center; gap: 9px; padding: 6px 8px; border-radius: 7px;
    text-decoration: none; color: #44576b; font-size: 13px; }
.ps-fl-val:hover { background: #f4f8fb; }
.ps-fl-box { flex: none; width: 15px; height: 15px; border: 1.5px solid #c9d4de;
    border-radius: 4px; background: #fff; position: relative; }
.ps-fl-on .ps-fl-box { background: #0d91d3; border-color: #0d91d3; }
.ps-fl-on .ps-fl-box::after { content: ''; position: absolute; left: 4px; top: 1px; width: 4px;
    height: 8px; border-right: 2px solid #fff; border-bottom: 2px solid #fff;
    transform: rotate(45deg); }
.ps-fl-on { color: #12233d; font-weight: 600; }
.ps-fl-nume { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ps-fl-nr { flex: none; font-size: 11.5px; color: #8a97a5; }


/* ---- Logourile de plata (BT iPay). Sunt albe, pe fundalul bleumarin al footerului.
   Inaltimile difera ca sa arate la fel de mari cu ochiul: scutul si cercurile sunt inalte,
   iar cuvintele (VISA, AMEX, Star Card) sunt late si joase. Regula sta ultima, ca sa nu fie
   rasturnata de straturile vechi de `!important` de mai sus. ---- */
.ps-footer-payments img.ps-pay-card {
    height: 20px !important;
    width: auto !important;
    max-width: none !important;
    opacity: .92;
}
.ps-footer-payments img.ps-pay-btpay { height: 27px !important; }
.ps-footer-payments img.ps-pay-mc { height: 27px !important; }
@media (max-width: 560px) {
    .ps-footer-payments img.ps-pay-card { height: 17px !important; }
    .ps-footer-payments img.ps-pay-btpay, .ps-footer-payments img.ps-pay-mc { height: 23px !important; }
}

/* Mastercard: regula veche cu [alt="Mastercard"] are specificitate mai mare, o batem aici. */
.ps-footer-payments img.ps-pay-logo.ps-pay-mc { height: 27px !important; max-width: none !important; }
.ps-footer-payments img.ps-pay-logo.ps-pay-card { max-width: none !important; }


/* ---- ps-titlu-intreg: numele produsului se vede INTREG pe carduri.
   Taierea la 2 randuri ascundea tocmai coada numelui (marimea, numarul de bucati),
   adica exact ce deosebeste doua produse intre ele. Randul de pret se lipeste de baza
   cardului, ca grila sa ramana aliniata desi titlurile au lungimi diferite. ---- */
.ps-product-name,
.ps-product-info .ps-product-name,
.ps-tx-grid.ps-view-list .ps-product-name,
.ps-tx-tc-name,
.ps-tx-tc-name .nm {
    display: block !important;
    -webkit-line-clamp: unset !important;
    overflow: visible !important;
    min-height: 0 !important;
    max-height: none !important;
}
.ps-card-bottom { margin-top: auto !important; }

