/* NPBS Product Cards Professional v2.4 */
.npbs-product-cards-wrap{
    font-family:inherit;
    color:inherit;
    width:100%;
}
.npbs-product-cards-grid{
    display:grid;
    grid-template-columns:repeat(var(--npbs-desktop-cols,3), minmax(0,1fr));
    gap:var(--npbs-gap,30px);
    align-items:stretch;
}
.npbs-product-card-col{display:flex;min-width:0;}
.npbs-product-card{
    position:relative;
    display:flex;
    flex-direction:column;
    width:100%;
    height:100%;
    min-width:0;
    background:var(--npbs-card-bg,#fff);
    border:1px solid var(--npbs-border,#e7e7e7);
    border-radius:var(--npbs-radius,0px);
    padding:42px 34px 34px;
    box-sizing:border-box;
    transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease;
    overflow:visible;
}
.npbs-equal-height-no .npbs-product-card{height:auto;}
.npbs-hover-lift .npbs-product-card:hover{
    transform:translateY(-6px);
    border-color:var(--npbs-accent,#ff7607);
    box-shadow:0 18px 40px rgba(0,0,0,.10);
}
.npbs-hover-border .npbs-product-card:hover{border-color:var(--npbs-accent,#ff7607);}
.npbs-card-badge{
    position:absolute;
    top:-16px;
    right:24px;
    z-index:2;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:8px 22px;
    background:#fff;
    border-radius:999px;
    box-shadow:0 8px 24px rgba(0,0,0,.08);
    font:inherit;
    font-weight:700;
    line-height:1.15;
    color:#334155;
    text-transform:uppercase;
    white-space:normal;
}
.npbs-card-icon{
    width:58px;
    height:58px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--npbs-accent,#ff7607);
    background:rgba(255,118,7,.10);
    border-radius:50%;
    margin-bottom:28px;
}
.npbs-card-icon i{font-size:22px;line-height:1;}
.npbs-card-model{
    display:block;
    margin:0 0 28px;
    font-family:inherit;
    font-size:var(--npbs-model-desktop,42px) !important;
    font-weight:var(--npbs-model-weight,700);
    line-height:1.05;
    letter-spacing:-.02em;
    color:#1b1a1a;
    word-break:break-word;
}
.npbs-card-specs{
    flex:1 1 auto;
    margin:0 0 28px;
    padding:0;
}
.npbs-info-row{
    display:flex;
    align-items:flex-start;
    gap:20px;
    padding:0;
    margin:0 0 16px;
    font:inherit;
    line-height:inherit;
    color:inherit;
}
.npbs-label{
    width:140px;
    flex:0 0 140px;
    font:inherit;
    font-weight:400;
    color:inherit;
}
.npbs-value{
    flex:1 1 auto;
    min-width:0;
    font:inherit;
    font-weight:400;
    color:inherit;
    white-space:pre-line;
    word-break:break-word;
}
.npbs-card-footer{margin-top:auto;}
.npbs-card-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    min-height:48px;
    padding:12px 26px;
    border-radius:10px;
    background:var(--npbs-accent,#ff7607);
    color:#fff !important;
    font:inherit;
    font-weight:700;
    line-height:1.2;
    text-decoration:none !important;
    transition:background .3s ease,transform .3s ease;
}
.npbs-card-button:hover{background:#1b1a1a;color:#fff !important;}
.npbs-card-button .npbs-btn-arrow{transition:transform .3s ease;}
.npbs-card-button:hover .npbs-btn-arrow{transform:translateX(4px);}
.npbs-layout-wide .npbs-product-card{padding:38px 40px;}
.npbs-layout-wide .npbs-card-icon{display:none;}
.npbs-layout-wide .npbs-card-model{font-size:calc(var(--npbs-model-desktop,42px) * .56) !important;margin-bottom:24px;}
.npbs-layout-wide .npbs-info-row{display:block;margin-bottom:18px;}
.npbs-layout-wide .npbs-label{display:inline;width:auto;flex:auto;font-weight:400;}
.npbs-layout-wide .npbs-value{display:inline;}
@media (max-width: 991px){
    .npbs-product-cards-grid{grid-template-columns:repeat(var(--npbs-tablet-cols,2), minmax(0,1fr));}
    .npbs-card-model{font-size:var(--npbs-model-tablet,36px) !important;}
}
@media (max-width: 767px){
    .npbs-product-cards-grid{grid-template-columns:repeat(var(--npbs-mobile-cols,1), minmax(0,1fr));}
    .npbs-product-card{padding:34px 26px 28px;}
    .npbs-card-model{font-size:var(--npbs-model-mobile,30px) !important;}
    .npbs-info-row{display:block;margin-bottom:16px;}
    .npbs-label{display:block;width:auto;margin-bottom:2px;}
    .npbs-value{display:block;}
}

/* ==========================================================
   NPBS Product Cards Professional Enterprise v5.1
   Flex Card Engine + Per-Row Equal Height + Button Alignment
   ========================================================== */
.npbs-pc-enterprise-v5 .npbs-product-cards-grid {
    align-items: stretch !important;
}

.npbs-pc-enterprise-v5 .npbs-product-card-col {
    display: flex !important;
    align-items: stretch !important;
    min-width: 0;
}

.npbs-pc-enterprise-v5 .npbs-product-card {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    height: auto !important;
    box-sizing: border-box !important;
}

.npbs-pc-enterprise-v5 .npbs-card-icon,
.npbs-pc-enterprise-v5 .npbs-card-model {
    flex: 0 0 auto;
}

.npbs-pc-enterprise-v5 .npbs-card-specs {
    flex: 1 1 auto !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    width: 100%;
    min-height: 0;
}

.npbs-pc-enterprise-v5 .npbs-info-row {
    display: grid !important;
    grid-template-columns: 120px minmax(180px,1fr);
    column-gap: 12px;
    align-items: start;
}

.npbs-pc-enterprise-v5 .npbs-label {
    width: auto !important;
    flex: none !important;
    min-width: 0;
}

.npbs-pc-enterprise-v5 .npbs-value {
    min-width: 0;
    word-break: normal;
    overflow-wrap: normal;
    white-space: normal;
}

.npbs-pc-enterprise-v5 .npbs-card-footer {
    flex: 0 0 auto !important;
    margin-top: auto !important;
    padding-top: 24px;
}

.npbs-pc-enterprise-v5 .npbs-card-button {
    min-width: 180px;
    max-width: 100%;
}

.npbs-pc-enterprise-v5 .npbs-card-badge {
    min-width: 130px;
    text-align: center;
}

@media (max-width: 767px) {
    .npbs-pc-enterprise-v5 .npbs-product-card {
        min-height: 0 !important;
    }

    .npbs-pc-enterprise-v5 .npbs-info-row {
        display: block !important;
    }

    .npbs-pc-enterprise-v5 .npbs-card-footer {
        margin-top: 22px !important;
        padding-top: 0;
    }

    .npbs-pc-enterprise-v5 .npbs-card-button {
        width: 100%;
    }
}

/* ==========================================================
   Enterprise v5.1 Visual Upgrade
   Bold values + interactive icon/badge/button hover effects
   ========================================================== */
.npbs-pc-enterprise-v5 .npbs-label {
    color: #64748b;
    font-weight: 500;
}

.npbs-pc-enterprise-v5 .npbs-value {
    color: #111827;
    font-weight: 700;
    letter-spacing: .01em;
}

.npbs-pc-enterprise-v5 .npbs-card-icon {
    position: relative;
    overflow: hidden;
    transform: translateZ(0);
    transition:
        color .35s ease,
        background-color .35s ease,
        transform .35s cubic-bezier(.2,.7,.2,1),
        box-shadow .35s ease;
}

.npbs-pc-enterprise-v5 .npbs-card-icon::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: var(--npbs-accent,#ff7607);
    transform: scale(0);
    opacity: 0;
    transition: transform .35s cubic-bezier(.2,.7,.2,1), opacity .35s ease;
}

.npbs-pc-enterprise-v5 .npbs-card-icon i,
.npbs-pc-enterprise-v5 .npbs-card-icon svg {
    position: relative;
    z-index: 1;
    transition: transform .35s cubic-bezier(.2,.7,.2,1);
}

.npbs-pc-enterprise-v5 .npbs-product-card:hover .npbs-card-icon,
.npbs-pc-enterprise-v5 .npbs-product-card:focus-within .npbs-card-icon {
    color: #fff;
    transform: translateY(-5px) rotate(-7deg) scale(1.08);
    box-shadow: 0 14px 30px rgba(255,118,7,.30);
}

.npbs-pc-enterprise-v5 .npbs-product-card:hover .npbs-card-icon::before,
.npbs-pc-enterprise-v5 .npbs-product-card:focus-within .npbs-card-icon::before {
    transform: scale(1);
    opacity: 1;
}

.npbs-pc-enterprise-v5 .npbs-product-card:hover .npbs-card-icon i,
.npbs-pc-enterprise-v5 .npbs-product-card:hover .npbs-card-icon svg,
.npbs-pc-enterprise-v5 .npbs-product-card:focus-within .npbs-card-icon i,
.npbs-pc-enterprise-v5 .npbs-product-card:focus-within .npbs-card-icon svg {
    transform: scale(1.13) rotate(7deg);
}

.npbs-pc-enterprise-v5 .npbs-card-badge {
    transition: transform .3s ease, box-shadow .3s ease, color .3s ease;
}

.npbs-pc-enterprise-v5 .npbs-product-card:hover .npbs-card-badge,
.npbs-pc-enterprise-v5 .npbs-product-card:focus-within .npbs-card-badge {
    transform: translateY(-3px);
    color: var(--npbs-accent,#ff7607);
    box-shadow: 0 12px 30px rgba(0,0,0,.12);
}

.npbs-pc-enterprise-v5 .npbs-card-button {
    transition: background-color .3s ease, color .3s ease, transform .3s ease, box-shadow .3s ease;
}

.npbs-pc-enterprise-v5 .npbs-card-button:hover,
.npbs-pc-enterprise-v5 .npbs-card-button:focus-visible {
    transform: translateY(-3px);
    box-shadow: 0 12px 24px rgba(0,0,0,.14);
}

@media (prefers-reduced-motion: reduce) {
    .npbs-pc-enterprise-v5 .npbs-card-icon,
    .npbs-pc-enterprise-v5 .npbs-card-icon::before,
    .npbs-pc-enterprise-v5 .npbs-card-icon i,
    .npbs-pc-enterprise-v5 .npbs-card-icon svg,
    .npbs-pc-enterprise-v5 .npbs-card-badge,
    .npbs-pc-enterprise-v5 .npbs-card-button {
        transition: none !important;
    }
}

