/* =========================================
   PRODUCT CARD (v10 clean + actions)
   - top icon buttons: view / fav / facebook
   - cart button: stable primary style
   - keeps your existing markup in /partials/product_card.php
   ========================================= */

:root {
    --pc-radius: 16px;
    --pc-radius-sm: 12px;

    --pc-border: rgba(15, 23, 42, .10);
    --pc-border-2: rgba(148, 163, 184, .34);

    --pc-bg: rgba(255, 255, 255, .94);
    --pc-bg-2: rgba(248, 250, 252, .94);

    --pc-text: rgba(15, 23, 42, .92);
    --pc-muted: rgba(100, 116, 139, 1);

    --pc-font-xs: 11px;
    --pc-font-sm: 12px;

    --pc-ctl-h: 34px;
    --pc-ctl-h2: 36px;
    --pc-ctl-r: 11px;

    --pc-icon: 30px;
    --pc-icon-r: 10px;

    --pc-accent: var(--nk-accent, #f59e0b);

    /* Size-tunable tokens (default: M) */
    --pc-card-max: 220px;
    --pc-media-pad: 12px;
    --pc-body-pad: 12px;
    --pc-body-gap: 9px;

    --pc-title-font: 12.5px;
    --pc-desc-font: 11px;

    --pc-prices-minh: 28px;
    --pc-price-minh: 26px;
    --pc-price-pad-y: 4px;
    --pc-price-pad-x: 10px;
    --pc-price-font: 12.5px;
    --pc-oldprice-font: 11.5px;

    --pc-add-font: 11.5px;
    --pc-add-pad-x: 12px;

    --pc-qty-btn-w: 34px;
    --pc-topactions-gap: 6px;
    --pc-topactions-offset: 8px;
    --pc-topactions-size: var(--pc-icon);
    --pc-badge-safe-right: calc((var(--pc-topactions-size) * 3) + (var(--pc-topactions-gap) * 2) + var(--pc-topactions-offset) + 12px);

    --pc-title-weight: 600;
    --pc-price-weight: 700;
    --pc-add-weight: 600;
    --pc-qty-weight: 600;
    --pc-flag-weight: 700;

    /* Action colors */
    --pc-fb: #1877F2;
    --pc-heart: #e11d48;
    --pc-ink: rgba(15, 23, 42, .82);

    --pc-shadow: 0 10px 26px rgba(15, 23, 42, .08);
    --pc-shadow-sm: 0 8px 18px rgba(15, 23, 42, .06);
}

/* =========================================================
   Size presets (CRM setting: product_card_size)
   Apply by adding class to body: pc-size--s|m|l|xl|xxl
   ========================================================= */

.pc-size--s{
    --pc-card-max: 190px;
    --pc-radius: 14px;
    --pc-radius-sm: 11px;
    --pc-font-xs: 10px;
    --pc-font-sm: 11px;
    --pc-ctl-h2: 34px;
    --pc-ctl-r: 10px;
    --pc-icon: 28px;
    --pc-icon-r: 9px;

    --pc-media-pad: 10px;
    --pc-body-pad: 10px;
    --pc-body-gap: 7px;

    --pc-title-font: 11.8px;
    --pc-desc-font: 10.5px;
    --pc-price-font: 11.8px;
    --pc-oldprice-font: 10.8px;

    --pc-prices-minh: 26px;
    --pc-price-minh: 24px;
    --pc-price-pad-y: 3px;
    --pc-price-pad-x: 8px;

    --pc-add-font: 10.8px;
    --pc-add-pad-x: 10px;

    --pc-qty-btn-w: 32px;
}

.pc-size--m{
    --pc-card-max: 220px;
}

.pc-size--l{
    --pc-card-max: 260px;
    --pc-radius: 18px;
    --pc-radius-sm: 14px;
    --pc-font-xs: 12px;
    --pc-font-sm: 13px;
    --pc-ctl-h2: 38px;
    --pc-ctl-r: 12px;
    --pc-icon: 32px;
    --pc-icon-r: 11px;

    --pc-media-pad: 14px;
    --pc-body-pad: 14px;
    --pc-body-gap: 9px;

    --pc-title-font: 13.5px;
    --pc-desc-font: 12px;
    --pc-price-font: 13.5px;
    --pc-oldprice-font: 12.5px;

    --pc-prices-minh: 30px;
    --pc-price-minh: 28px;
    --pc-price-pad-y: 5px;
    --pc-price-pad-x: 12px;

    --pc-add-font: 12.5px;
    --pc-add-pad-x: 14px;

    --pc-qty-btn-w: 36px;
}

.pc-size--xl{
    --pc-card-max: 300px;
    --pc-radius: 20px;
    --pc-radius-sm: 16px;
    --pc-font-xs: 13px;
    --pc-font-sm: 14px;
    --pc-ctl-h2: 40px;
    --pc-ctl-r: 13px;
    --pc-icon: 34px;
    --pc-icon-r: 12px;

    --pc-media-pad: 16px;
    --pc-body-pad: 16px;
    --pc-body-gap: 10px;

    --pc-title-font: 14.5px;
    --pc-desc-font: 13px;
    --pc-price-font: 14.5px;
    --pc-oldprice-font: 13px;

    --pc-prices-minh: 32px;
    --pc-price-minh: 30px;
    --pc-price-pad-y: 6px;
    --pc-price-pad-x: 14px;

    --pc-add-font: 13.5px;
    --pc-add-pad-x: 16px;

    --pc-qty-btn-w: 38px;
}

.pc-size--xxl{
    --pc-card-max: 340px;
    --pc-radius: 22px;
    --pc-radius-sm: 18px;
    --pc-font-xs: 14px;
    --pc-font-sm: 15px;
    --pc-ctl-h2: 44px;
    --pc-ctl-r: 14px;
    --pc-icon: 36px;
    --pc-icon-r: 13px;

    --pc-media-pad: 18px;
    --pc-body-pad: 18px;
    --pc-body-gap: 11px;

    --pc-title-font: 15.5px;
    --pc-desc-font: 14px;
    --pc-price-font: 15.5px;
    --pc-oldprice-font: 14px;

    --pc-prices-minh: 34px;
    --pc-price-minh: 32px;
    --pc-price-pad-y: 7px;
    --pc-price-pad-x: 16px;

    --pc-add-font: 14.5px;
    --pc-add-pad-x: 18px;

    --pc-qty-btn-w: 40px;
}

/* ----- Card shell ----- */
.category-product {
    border-radius: var(--pc-radius);
    border: 1px solid var(--pc-border);
    background: var(--pc-bg);
    overflow: hidden;

    display: flex;
    flex-direction: column;
    min-height: 0;
    height: auto;

    box-shadow: var(--pc-shadow-sm);
    transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}

/* Search találatok (legacy product-grid helyett shared card grid) */
.category-products-grid--search {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(220px, 100%), 1fr));
    gap: 14px;
}

/* ----- Load animation preset (CRM setting) ----- */
@keyframes pc-card-in-subtle {
    0% {
        opacity: 0;
        transform: translateY(6px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes pc-card-in-premium {
    0% {
        opacity: 0;
        transform: translateY(10px) scale(.985);
        filter: blur(1px);
    }
    100% {
        opacity: 1;
        transform: translateY(0) scale(1);
        filter: blur(0);
    }
}

.category-product.pc-anim--none {
    animation: none;
}

.category-product.pc-anim--subtle {
    animation: pc-card-in-subtle .42s ease-out both;
}

.category-product.pc-anim--premium {
    animation: pc-card-in-premium .62s cubic-bezier(.22, 1, .36, 1) both;
}

@media (hover:hover) {
    .category-product:hover {
        transform: translateY(-1px);
        box-shadow: var(--pc-shadow);
        border-color: rgba(148, 163, 184, .28);
    }
}

/* Akció (webshop): nincs extra keretezés, csak a címke (flag). */

.category-product--unavailable {
    border-color: rgba(248, 113, 113, .45);
}

/* ----- Media ----- */
.category-product-image-wrapper {
    position: relative;
    aspect-ratio: 5/4;
    overflow: hidden;
    padding: var(--pc-media-pad);

    background: linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(248, 250, 252, .92));
    border-bottom: 1px solid rgba(15, 23, 42, .06);
}

.category-product-image-wrapper::after {
    content: "";
    position: absolute;
    inset: var(--pc-media-pad);
    border-radius: calc(var(--pc-radius-sm) - 2px);
    opacity: 0;
    pointer-events: none;
    background: linear-gradient(
        100deg,
        rgba(226, 232, 240, .42) 18%,
        rgba(255, 255, 255, .78) 34%,
        rgba(226, 232, 240, .42) 50%
    );
    background-size: 220% 100%;
    transition: opacity .18s ease;
}

@keyframes pc-media-shimmer {
    0% {
        background-position: 100% 0;
    }
    100% {
        background-position: -120% 0;
    }
}

.category-product-media {
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    color: inherit;
}

.category-product-image {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    display: block;
    transition: opacity .22s ease;
}

.category-product.is-media-loading .category-product-image {
    opacity: 0;
}

.category-product.is-media-loading .category-product-image-wrapper::after {
    opacity: .95;
    animation: pc-media-shimmer 1.05s linear infinite;
}

.category-product.is-media-ready .category-product-image {
    opacity: 1;
}

.category-product.is-media-ready .category-product-image-wrapper::after {
    opacity: 0;
    animation: none;
}

/* ----- Top actions overlay ----- */
.category-product-topactions {
    position: absolute;
    top: var(--pc-topactions-offset);
    right: var(--pc-topactions-offset);
    left: auto;
    z-index: 3;
    width: auto;
    max-width: calc(100% - (var(--pc-topactions-offset) * 2));

    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    gap: var(--pc-topactions-gap);

    pointer-events: none;
}

.category-product-topactions * {
    pointer-events: auto;
}

.category-product-topactions-right {
    display: inline-flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: flex-end;
    gap: var(--pc-topactions-gap);
}

.category-product-topactions-right .category-product-fav-form {
    margin: 0;
    display: inline-flex;
    align-items: center;
}

.category-product-topactions .pc-icon {
    flex: 0 0 auto;
    display: inline-flex;
}

/* =========================================================
     ICON BUTTONS (view / fav / facebook)
     ========================================================= */

.pc-icon {
    width: var(--pc-icon);
    height: var(--pc-icon);
    border-radius: var(--pc-icon-r);

    border: 1px solid rgba(148, 163, 184, .35);
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 6px 14px rgba(15, 23, 42, .08);

    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 0;
    line-height: 1;
    text-decoration: none;

    color: var(--pc-ink);
    cursor: pointer;

    -webkit-tap-highlight-color: transparent;

    transition: background .15s ease, border-color .15s ease, transform .12s ease, box-shadow .15s ease, color .15s ease;
}

.pc-icon svg {
    width: 16px;
    height: 16px;
    display: block;
}

.pc-icon:focus {
    outline: none;
}

.pc-icon:focus-visible {
    box-shadow: 0 0 0 3px rgba(245, 158, 11, .18), 0 6px 14px rgba(15, 23, 42, .08);
    border-color: rgba(245, 158, 11, .55);
}

@media (hover:hover) {
    .pc-icon:hover {
        transform: translateY(-1px);
        box-shadow: 0 10px 18px rgba(15, 23, 42, .12);
        border-color: rgba(148, 163, 184, .55);
    }
}

.pc-icon--ghost {
    color: rgba(15, 23, 42, .78);
    background: rgba(255, 255, 255, .92);
}

/* Kedvencek */
.pc-icon--fav {
    color: rgba(15, 23, 42, .78);
}

@media (hover:hover) {
    .pc-icon--fav:hover {
        color: var(--pc-heart);
        border-color: rgba(225, 29, 72, .45);
        background: rgba(225, 29, 72, .08);
    }
}

/* Ha később adsz aktív osztályt: add hozzá a gombhoz: class="pc-icon pc-icon--fav is-active" */
.pc-icon--fav.is-active,
.pc-icon--fav[aria-pressed="true"] {
    color: var(--pc-heart);
    border-color: rgba(225, 29, 72, .55);
    background: rgba(225, 29, 72, .10);
}

.pc-icon--fav.is-active svg path,
.pc-icon--fav[aria-pressed="true"] svg path {
    fill: currentColor;
    fill-opacity: .22;
}

@keyframes pc-fav-bump {
    0% {
        transform: scale(1);
    }
    35% {
        transform: scale(1.12) rotate(-2deg);
    }
    70% {
        transform: scale(0.98) rotate(0deg);
    }
    100% {
        transform: scale(1);
    }
}

.pc-icon--fav.is-animating {
    animation: pc-fav-bump 0.62s ease-out;
}

/* Facebook megosztás */
.pc-icon--fb {
    color: var(--pc-fb);
    border-color: rgba(24, 119, 242, .35);
    background: rgba(24, 119, 242, .08);
}

.pc-icon--fb:visited {
    color: var(--pc-fb);
}

@media (hover:hover) {
    .pc-icon--fb:hover {
        background: rgba(24, 119, 242, .12);
        border-color: rgba(24, 119, 242, .55);
    }
}

/* Műveletek (minimal mód mobil toggle) */
.pc-icon--more {
    color: rgba(15, 23, 42, .78);
}

/* ----- Body ----- */
.category-product-body {
    padding: var(--pc-body-pad);
    display: flex;
    flex-direction: column;
    gap: var(--pc-body-gap);
    flex: 1 1 auto;

    min-width: 0;
    overflow-wrap: anywhere;
}

.category-product {
    position: relative;
}

.category-product-flags {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: nowrap;
    min-height: 0;
    max-width: calc(100% - var(--pc-badge-safe-right) - 10px);
    overflow: visible;

    position: absolute;
    top: calc(var(--pc-topactions-offset) + 1px);
    left: var(--pc-topactions-offset);
    z-index: 4;
    flex-direction: column;
    align-items: flex-start;

    pointer-events: none;
}

.category-product-flag {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 22px;
    padding: 3px 10px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: var(--pc-flag-weight);
    letter-spacing: .08em;
    text-transform: uppercase;
    white-space: nowrap;
    border: 1px solid transparent;
    box-shadow: 0 10px 22px rgba(15, 23, 42, .10);
    pointer-events: none;
}

.category-product-flag--sale {
    color: #7c2d12;
    background: linear-gradient(180deg, rgba(253, 224, 71, .94), rgba(251, 191, 36, .92));
    border-color: rgba(180, 83, 9, .22);
}

.category-product-flag--featured {
    color: rgba(15, 23, 42, .86);
    background: rgba(15, 23, 42, .05);
    border-color: rgba(148, 163, 184, .32);
}

@media (max-width: 720px) {
    .category-product-flags {
        top: var(--pc-topactions-offset);
        left: var(--pc-topactions-offset);
        max-width: calc(100% - var(--pc-badge-safe-right) - 8px);
    }
}

@media (max-width: 760px) {
    .category-product {
        --pc-badge-safe-right: calc(var(--pc-topactions-size) + var(--pc-topactions-offset) + 12px);
    }

    .category-product-topactions {
        --pc-topactions-offset: 7px;
        --pc-topactions-gap: 5px;
        --pc-topactions-size: 30px;
    }

    .category-product-topactions .pc-icon {
        width: var(--pc-topactions-size);
        height: var(--pc-topactions-size);
        border-radius: 9px;
    }

    .category-product-topactions .pc-icon svg {
        width: 14px;
        height: 14px;
    }

    .category-product-topactions-right {
        flex-direction: column;
        align-items: flex-end;
        justify-content: flex-start;
        gap: var(--pc-topactions-gap);
    }

    .category-product-topactions-right .category-product-fav-form {
        display: inline-flex;
    }
}

.category-product-title {
    margin: 0;
    font-weight: var(--pc-title-weight);
    letter-spacing: -0.012em;
    color: var(--pc-text);
    font-size: var(--pc-title-font);
    line-height: 1.3;

    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: calc(2 * 1.3em);
}

.category-product-title a {
    color: inherit;
    text-decoration: none;
}

.category-product-title a:hover {
    text-decoration: underline;
}

.category-product-meta {
    font-size: 11px;
    font-weight: 600;
    line-height: 1.25;
    color: rgba(71, 85, 105, .88);
    margin-top: -3px;
    min-height: 14px;
}

.category-product-shortdesc {
    font-size: var(--pc-desc-font);
    line-height: 1.35;
    color: var(--pc-muted);
    margin-top: -2px;

    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.category-product-prices {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    flex-wrap: wrap;
    min-height: var(--pc-prices-minh);
    margin-top: -1px;
    margin-bottom: 2px;
}

.category-product-price {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: var(--pc-price-minh);
    padding: var(--pc-price-pad-y) var(--pc-price-pad-x);
    border-radius: 999px;
    border: 1px solid rgba(245, 158, 11, .48);
    background: linear-gradient(180deg, rgba(255, 246, 220, 1), rgba(255, 236, 186, .98));
    box-shadow: 0 6px 14px rgba(245, 158, 11, .16);
    font-weight: var(--pc-price-weight);
    font-size: var(--pc-price-font);
    letter-spacing: -0.01em;
    color: rgba(15, 23, 42, .96);
}

.category-product-oldprice {
    font-weight: 500;
    font-size: var(--pc-oldprice-font);
    color: var(--pc-muted);
    opacity: .85;
    text-decoration: line-through;
    text-decoration-thickness: 2px;
}

.category-product-unitprice {
    width: 100%;
    margin-top: -3px;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.2;
    color: rgba(71, 85, 105, .9);
    text-align: center;
}

.category-product-stock {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: -1px;
    min-height: 24px;
}

.category-product-stock-status,
.category-product-stock-qty {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 2px 8px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 600;
}

.category-product-stock-status.is-in {
    color: #0f5132;
    border: 1px solid #6ee7b7;
    background: #d1fae5;
}

.category-product-stock-status.is-backorder {
    color: #7c2d12;
    border: 1px solid rgba(251, 146, 60, .7);
    background: rgba(255, 237, 213, .95);
}

.category-product-stock-status.is-out {
    color: #7f1d1d;
    border: 1px solid #fca5a5;
    background: #fee2e2;
}

.category-product-stock-qty {
    color: rgba(51, 65, 85, .98);
    border: 1px solid rgba(148, 163, 184, .45);
    background: rgba(241, 245, 249, .95);
}

/* ----- Actions ----- */
.category-product-actions {
    margin-top: auto;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.category-product-actions--overlay {
    position: absolute;
    left: 10px;
    right: 10px;
    bottom: 10px;
    z-index: 4;

    margin-top: 0;
    padding: 8px;
    border-radius: 14px;
    border: 1px solid rgba(148, 163, 184, .38);
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 14px 30px rgba(15, 23, 42, .14);
}

.category-product-actions--overlay .category-product-row--qty {
    flex-direction: row;
    align-items: stretch;
    gap: 8px;
}

.category-product-actions--overlay .category-product-qty {
    --pc-qty-btn-w: 32px;
    flex: 0 0 118px;
    height: 34px;
}

.category-product-actions--overlay .category-product-add {
    flex: 1 1 auto;
    height: 34px;
}

.category-product-actions--overlay .qty-btn {
    width: 32px;
}

.category-product-actions--overlay .category-product-qty input[type="number"] {
    font-size: 12px;
}

.category-product-row--qty {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
}

/* Qty */
.category-product-qty {
    width: 100%;
    display: grid;
    grid-template-columns: var(--pc-qty-btn-w) minmax(0, 1fr) var(--pc-qty-btn-w);
    align-items: stretch;

    height: var(--pc-ctl-h2);
    border-radius: var(--pc-ctl-r);
    border: 1px solid rgba(148, 163, 184, .32);
    background: rgba(255, 255, 255, .96);
    overflow: hidden;
}

.qty-btn {
    width: 100%;
    height: 100%;
    border: 0;
    background: rgba(248, 250, 252, .88);
    font-weight: var(--pc-qty-weight);
    font-size: 12px;
    cursor: pointer;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;

    transition: background .15s ease, transform .05s ease;
}

@media (hover:hover) {
    .qty-btn:hover {
        background: rgba(241, 245, 249, .96);
    }
}

.qty-btn:active {
    transform: translateY(1px);
}

.category-product-qty input[type="number"] {
    width: 100%;
    min-width: 0;
    height: 100%;

    border: 0;
    background: transparent;

    display: block;
    text-align: center;
    text-indent: 0;
    font-weight: var(--pc-qty-weight);
    font-size: max(var(--pc-font-sm), 13px);
    line-height: 1;
    color: #0f172a !important;
    -webkit-text-fill-color: #0f172a !important;
    opacity: 1;
    font-variant-numeric: tabular-nums;
    appearance: textfield;
    font-family: inherit;
    caret-color: #0f172a;

    padding: 0 !important;
    margin: 0 auto !important;
    border-radius: 0;

    outline: none;
    -moz-appearance: textfield;
}

.category-product-qty input[type="number"]::-webkit-outer-spin-button,
.category-product-qty input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* =========================================================
     KOSÁRBA gomb – stabil, narancs, “pill”
     (akkor is jól néz ki, ha a globál .btn/.btn-primary változik)
     ========================================================= */

.category-product-add {
    width: 100%;
    height: var(--pc-ctl-h2);
    border-radius: var(--pc-ctl-r);

    padding: 0 var(--pc-add-pad-x);
    border: 1px solid rgba(15, 23, 42, .10);
    cursor: pointer;

    font-weight: var(--pc-add-weight);
    font-size: var(--pc-add-font);
    letter-spacing: -0.01em;

    color: #111827;
    background: linear-gradient(180deg, rgba(255, 214, 90, 1), rgba(245, 158, 11, 1));
    box-shadow: 0 8px 18px rgba(245, 158, 11, .24);

    transition: filter .15s ease, transform .12s ease, box-shadow .15s ease;
}

@media (hover:hover) {
    .category-product-add:hover {
        filter: brightness(.98);
        transform: translateY(-1px);
        box-shadow: 0 12px 24px rgba(245, 158, 11, .30);
    }
}

.category-product-add:active {
    transform: translateY(0);
    box-shadow: 0 8px 18px rgba(245, 158, 11, .24);
}

.category-product-add:disabled,
.category-product-add[disabled] {
    opacity: .55;
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
    filter: none;
    background: #e5e7eb;
    border-color: #cbd5e1;
    color: #94a3b8;
}

.category-product-row--qty.is-disabled .category-product-qty {
    opacity: 1;
    background: rgba(248, 250, 252, .92);
}

.category-product-row--qty.is-disabled .category-product-qty input[type="number"] {
    color: rgba(71, 85, 105, .92) !important;
    -webkit-text-fill-color: rgba(71, 85, 105, .92) !important;
    opacity: .94;
}

.category-product-row--qty.is-disabled .category-product-qty .qty-btn {
    color: rgba(100, 116, 139, .92);
}

/* =========================================================
     TERMÉKKÁRTYA MÓDOK (CRM beállítás)
     ========================================================= */

.category-product.pc-mode--minimal.pc-actions--hover .category-product-actions {
    display: none;
}

.category-product.pc-mode--minimal.pc-actions--hover:hover .category-product-actions,
.category-product.pc-mode--minimal.pc-actions--hover.is-actions-open .category-product-actions {
    display: flex;
}

.category-product.pc-mode--minimal.pc-actions--hover .category-product-topactions .pc-icon:not(.pc-icon--more) {
    display: none;
}

.category-product.pc-mode--minimal.pc-actions--hover:hover .category-product-topactions .pc-icon:not(.pc-icon--more),
.category-product.pc-mode--minimal.pc-actions--hover.is-actions-open .category-product-topactions .pc-icon:not(.pc-icon--more) {
    display: inline-flex;
}

.category-product.pc-mode--minimal.pc-actions--hover.pc-mobile--button .pc-icon--more {
    display: inline-flex;
}

@media (hover:hover) and (pointer:fine) {
    .category-product.pc-mode--minimal.pc-actions--hover.pc-mobile--button .pc-icon--more {
        display: none;
    }
}

.category-product.pc-mode--minimal.pc-actions--hover.is-actions-open {
    border-color: rgba(245, 158, 11, .34);
    box-shadow: var(--pc-shadow);
}

/* ----- Motion safety ----- */
@media (hover:none) {

    .category-product,
    .qty-btn,
    .pc-icon,
    .category-product-add {
        transition: none !important;
    }
}

@media (prefers-reduced-motion: reduce) {

    .category-product,
    .qty-btn,
    .pc-icon,
    .category-product-add {
        transition: none !important;
    }

    .category-product.pc-anim--subtle,
    .category-product.pc-anim--premium {
        animation: none !important;
        filter: none !important;
    }

    .category-product.is-media-loading .category-product-image-wrapper::after {
        animation: none !important;
    }
}

/* ----- Ultra narrow mobile ----- */
@media (max-width: 420px) {
    .category-product-topactions {
        --pc-topactions-offset: 6px;
        --pc-topactions-gap: 4px;
        --pc-topactions-size: 28px;
    }

    .category-product-image-wrapper {
        padding: calc(var(--pc-media-pad) - 2px);
    }

    .category-product-body {
        padding: calc(var(--pc-body-pad) - 1px);
        gap: var(--pc-body-gap);
    }

    .category-product-qty {
        height: calc(var(--pc-ctl-h2) - 2px);
    }

    .qty-btn {
        width: calc(var(--pc-qty-btn-w) - 2px);
    }

    .pc-icon {
        width: calc(var(--pc-icon) - 2px);
        height: calc(var(--pc-icon) - 2px);
        border-radius: 10px;
    }
}

/* Global mobile guard:
   quick actions must remain top-right overlay in every storefront context
   (category, home featured, wishlist, account cards). */
@media (max-width: 430px) {
    .category-product-topactions {
        --pc-topactions-offset: 6px;
        --pc-topactions-gap: 5px;
        --pc-topactions-size: 28px;
        top: var(--pc-topactions-offset);
        right: var(--pc-topactions-offset);
    }

    .category-product-topactions .pc-icon {
        width: var(--pc-topactions-size);
        height: var(--pc-topactions-size);
        border-radius: 9px;
    }

    .category-product-topactions .pc-icon svg {
        width: 14px;
        height: 14px;
    }

    .category-product-flags {
        top: 8px;
        left: 8px;
        max-width: calc(100% - var(--pc-badge-safe-right) - 8px);
    }

    .category-product-flag {
        max-width: 100%;
        overflow: hidden;
        text-overflow: ellipsis;
    }
}

.category-product-featured-title {
    margin: 0;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.35;
    color: rgba(71, 85, 105, .92);
}

.category-product-featured-subtitle {
    margin: -2px 0 0;
    font-size: 10.5px;
    font-weight: 500;
    line-height: 1.3;
    color: rgba(100, 116, 139, .9);
}

@media (max-width: 430px) {
    .category-product-featured-subtitle {
        display: none;
    }
}
