/* Product grid v2: catalog page UI layer only (backend/data flow unchanged). */
.dynamic-product-grid--catalog .gp-product-grid{gap:22px;margin-top:0}
.dynamic-product-grid--catalog .gp-product-grid-head{display:none}
.dynamic-product-grid--catalog .gp-product-card{
    border-radius:16px;
    border-color:#dbe3e7;
    background:#fff;
    box-shadow:none;
    min-height:100%;
    cursor:default;
    padding:12px 12px 14px;
    overflow:visible;
    transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;
}
.dynamic-product-grid--catalog .gp-product-card:hover{
    transform:translateY(-6px);
    box-shadow:0 10px 20px rgba(15,23,42,.06);
    border-color:#cfd9dd;
}
.dynamic-product-grid--catalog .gp-product-card a{
    pointer-events:none;
    text-decoration:none;
    color:inherit;
}
.dynamic-product-grid--catalog .gp-product-img-wrap{
    display:flex;
    height:auto;
    margin:0;
    width:100%;
    padding:14px;
    aspect-ratio:1 / 1;
    max-height:280px;
    border-radius:14px;
    background:#e3eef1;
    overflow:hidden;
    flex-shrink:0;
    box-sizing:border-box;
}
.dynamic-product-grid--catalog .gp-stock-flag{display:none}
.dynamic-product-grid--catalog .gp-product-img-wrap > .gp-fav-btn,
.dynamic-product-grid--catalog .gp-product-img-wrap > .gp-card-fav-btn{display:none !important}
.dynamic-product-grid--catalog .gp-product-img-link{
    display:flex;
    align-items:center;
    justify-content:center;
    flex:1;
    min-width:0;
    min-height:0;
    width:100%;
    padding:14px 16px;
    box-sizing:border-box;
    background:#fff;
    border-radius:10px;
}
.dynamic-product-grid--catalog .gp-product-img{
    display:block;
    width:100%;
    height:100%;
    max-width:100%;
    max-height:100%;
    object-fit:contain;
    object-position:center;
    transform:none;
    transition:none;
}
.dynamic-product-grid--catalog .gp-product-img[src*="no_image.png"]{
    object-fit:contain;
    padding:0;
    opacity:.72;
    filter:grayscale(.15);
    max-height:85%;
    transform:none;
}
.dynamic-product-grid--catalog .gp-product-img-placeholder{
    width:100%;
    height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:transparent;
}
.dynamic-product-grid--catalog .gp-product-card:hover .gp-product-img{transform:none}
.dynamic-product-grid--catalog .gp-product-info{
    padding:12px 2px 2px;
    gap:4px;
    flex:1;
    display:flex;
    flex-direction:column;
}
.dynamic-product-grid--catalog .gp-product-card .gp-view-details-link{
    pointer-events:auto;
    margin-top:0;
    padding-top:0;
    align-self:flex-start;
    color:#14532d;
    font-weight:700;
    font-size:14px;
    letter-spacing:.01em;
    text-decoration:none;
    cursor:pointer;
    background:transparent;
    box-shadow:none;
    min-height:0;
    border:0;
    border-radius:0;
    display:inline-flex;
    justify-content:flex-start;
    width:auto;
    text-align:left;
    flex-shrink:0;
}
.dynamic-product-grid--catalog .gp-product-card .gp-view-details-link:hover,
.dynamic-product-grid--catalog .gp-product-card .gp-view-details-link:focus-visible{
    color:#ea722e;
    text-decoration:underline;
}
.dynamic-product-grid--catalog .gp-catalog-card-footer{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-top:auto;
    padding-top:14px;
    width:100%;
}
.dynamic-product-grid--catalog .gp-inquire-now-btn{
    pointer-events:auto;
    flex-shrink:0;
    margin:0;
    padding:10px 22px;
    border:0;
    border-radius:999px;
    background:#ea722e;
    color:#fff;
    font-size:14px;
    font-weight:700;
    line-height:1.2;
    cursor:pointer;
    transition:background .2s ease,transform .2s ease;
    white-space:nowrap;
}
.dynamic-product-grid--catalog .gp-inquire-now-btn:hover,
.dynamic-product-grid--catalog .gp-inquire-now-btn:focus-visible{
    background:#d65a1d;
    color:#fff;
    transform:translateY(-1px);
}
.dynamic-product-grid--catalog .gp-product-cat{
    display:inline-flex;
    align-self:flex-start;
    padding:4px 10px;
    border-radius:999px;
    background:#e8efe8;
    color:#2f6b3c;
    font-size:11px;
    letter-spacing:.08em;
    margin-bottom:2px;
}
.dynamic-product-grid--catalog .gp-product-name{
    font-size:17px;
    min-height:0;
    margin:0;
    color:#0f172a;
    line-height:1.28;
    line-clamp:2;
    -webkit-line-clamp:2;
}
.dynamic-product-grid--catalog .gp-product-name:hover{color:#0f172a}
.dynamic-product-grid--catalog .gp-product-desc{
    margin:0 0 15px;
    color:#475569;
    font-size:16px;
    line-height:1.5;
    flex:1 1 auto;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:3;
    overflow:hidden;
}
.dynamic-product-grid--catalog .gp-catalog-softgel-meta{
    margin:0 0 12px;
    display:flex;
    flex-direction:column;
    gap:4px;
}
.dynamic-product-grid--catalog .gp-catalog-unit-price,
.dynamic-product-grid--catalog .gp-catalog-moq{
    margin:0;
    font-size:12px;
    line-height:1.45;
    letter-spacing:.04em;
    text-transform:uppercase;
    color:#64748b;
}
.dynamic-product-grid--catalog .gp-catalog-unit-price strong,
.dynamic-product-grid--catalog .gp-catalog-moq strong{
    color:#2d5a27;
    font-weight:700;
    font-size:14px;
    letter-spacing:.02em;
    text-transform:none;
}
.dynamic-product-grid--catalog .gp-catalog-unit-price-label{
    margin-right:.35em;
}
.dynamic-product-grid--catalog .gp-catalog-unit-price-suffix{
    margin-left:.2em;
    font-size:12px;
    font-weight:500;
    color:#64748b;
    text-transform:lowercase;
}
.dynamic-product-grid--catalog .gp-product-pricing,
.dynamic-product-grid--catalog .gp-stock-status{display:none !important}
.dynamic-product-grid--catalog .gp-add-to-cart-icon{display:none !important}
.dynamic-product-grid--catalog .gp-product-card--unavailable{
    opacity:1;
    background:#fff;
    border-color:#dbe3e7;
}
.dynamic-product-grid--catalog .gp-product-card--unavailable .gp-product-img-wrap{filter:none}
.dynamic-product-grid--catalog .gp-product-card--unavailable .gp-product-img{opacity:1}
@media(max-width:768px){
    .dynamic-product-grid--catalog .gp-product-card{padding:10px 10px 12px}
    .dynamic-product-grid--catalog .gp-product-img-wrap{
        max-height:240px;
        padding:12px;
    }
    .dynamic-product-grid--catalog .gp-product-img-link{
        padding:12px 14px;
    }
    .dynamic-product-grid--catalog .gp-product-info{padding:10px 0 0}
    .dynamic-product-grid--catalog .gp-product-name{font-size:15px}
    .dynamic-product-grid--catalog .gp-product-desc{font-size:14px}
    .dynamic-product-grid--catalog .gp-inquire-now-btn{padding:9px 16px;font-size:13px}
}

/* Product inquiry modal */
body.pgv2-inquiry-modal-open{overflow:hidden}
.pgv2-inquiry-modal{
    position:fixed;
    inset:0;
    z-index:10050;
    display:none;
    align-items:center;
    justify-content:center;
    padding:24px 16px;
    box-sizing:border-box;
}
.pgv2-inquiry-modal.is-open{display:flex}
.pgv2-inquiry-modal__backdrop{
    position:absolute;
    inset:0;
    background:rgba(15,23,42,.55);
    backdrop-filter:blur(4px);
}
.pgv2-inquiry-modal__dialog{
    position:relative;
    z-index:1;
    width:min(880px,100%);
    height:min(90vh,760px);
    max-height:min(90vh,760px);
    background:#fff;
    border-radius:20px;
    box-shadow:0 24px 60px rgba(15,23,42,.22);
    overflow:hidden;
    display:flex;
    flex-direction:column;
}
.pgv2-inquiry-modal__layout{
    display:grid;
    grid-template-columns:minmax(0,260px) minmax(0,1fr);
    flex:1;
    min-height:0;
    height:100%;
    max-height:100%;
}
.pgv2-inquiry-modal__aside{
    padding:36px 28px;
    /* background:#f8fafb; */
    border-right:1px solid #e5e7eb;
    box-sizing:border-box;
    overflow-y:auto;
}
.pgv2-inquiry-modal__badge{
    display:inline-flex;
    padding:6px 12px;
    border-radius:999px;
    background:#e8efe8;
    color:#2f6b3c;
    font-size:11px;
    font-weight:700;
    letter-spacing:.08em;
    margin-bottom:18px;
}
.pgv2-inquiry-modal__title{
    margin:0 0 12px;
    font-size:clamp(1.6rem,2.5vw,1.35rem);
    line-height:1.15;
    color:#0f172a;
    font-weight:800;
}
.pgv2-inquiry-modal__lead{
    margin:0;
    color:#64748b;
    font-size:13px !important;
    line-height:1.6;
}
.pgv2-inquiry-modal__main{
    position:relative;
    display:flex;
    flex-direction:column;
    min-height:0;
    max-height:100%;
    overflow:hidden;
    background:#fff;
}
.pgv2-inquiry-modal__close{
    position:absolute;
    top:14px;
    right:14px;
    z-index:2;
    width:36px;
    height:36px;
    border:0;
    border-radius:999px;
    background:transparent;
    color:#64748b;
    font-size:28px;
    line-height:1;
    cursor:pointer;
    transition:background .2s,color .2s;
}
.pgv2-inquiry-modal__close:hover,
.pgv2-inquiry-modal__close:focus-visible{
    background:#f1f5f9;
    color:#0f172a;
}
.pgv2-inquiry-modal__selected-product{
    flex-shrink:0;
    margin:0 0 20px;
    padding:0;
    box-sizing:border-box;
}
.pgv2-inquiry-modal__selected-label{
    display:block;
    margin:0 0 8px;
    font-size:14px;
    font-weight:700;
    line-height:1.3;
    color:#0f172a;
}
.pgv2-inquiry-modal__selected-value{
    display:block;
    width:100%;
    padding:12px 14px;
    border:1px solid #f7f8f9;
    border-radius:10px;
    background:#f7f8f9;
    font-size:15px;
    font-weight:500;
    line-height:1.4;
    color:#0f172a;
    box-sizing:border-box;
}
.pgv2-inquiry-modal__iframe-wrap{
    flex:1;
    min-height:0;
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    padding:48px 28px 28px;
    box-sizing:border-box;
    scrollbar-gutter:stable;
}
.pgv2-inquiry-modal__iframe-wrap::-webkit-scrollbar{width:8px}
.pgv2-inquiry-modal__iframe-wrap::-webkit-scrollbar-thumb{
    background:#cbd5e1;
    border-radius:999px;
}
.pgv2-inquiry-modal__iframe-wrap iframe{
    display:block;
    width:100%;
    min-height:480px;
    border:0;
}
@media(max-width:900px){
    .pgv2-inquiry-modal__dialog{
        height:min(92vh,100%);
        max-height:min(92vh,100%);
    }
    .pgv2-inquiry-modal__layout{
        grid-template-columns:1fr;
        grid-template-rows:auto minmax(0,1fr);
    }
    .pgv2-inquiry-modal__aside{
        border-right:0;
        border-bottom:1px solid #e5e7eb;
        padding:24px 20px;
    }
    .pgv2-inquiry-modal__iframe-wrap{
        padding:44px 16px 20px;
    }
}
