.pd-page{
    /* background:#000; */
    color:#fff;
}

.pd-hero{
    display:grid;
    grid-template-columns:minmax(320px,540px) minmax(0,1fr);
    gap:26px;
    align-items:start;
    margin-bottom:18px;
}

.pd-gallery-wrap{
    min-width:0;
}

.pd-main-image-card{
    background:#f3f3f3;
    border:1px solid #d7d7d7;
    border-radius:2px;
    min-height:450px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:18px;
}

.pd-main-image{
    width:100%;
    max-width:420px;
    max-height:400px;
    object-fit:contain;
}

.pd-thumbs-row{
    display:flex;
    gap:10px;
    margin-top:14px;
}

.pd-thumb{
    width:64px;
    height:64px;
    border:1px solid #8d8d8d;
    background:#fff;
    padding:4px;
    display:flex;
    align-items:center;
    justify-content:center;
}

.pd-thumb img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.pd-thumb-active{
    border-color:#f29b28;
    box-shadow:inset 0 0 0 1px #f29b28;
}

.pd-info-wrap{
    min-width:0;
}

.pd-title{
    font-size:27px;
    font-weight:600;
    line-height:1.35;
    color:#191C1F;
    margin-bottom:8px;
}

.pd-rating-line{
    display:flex;
    align-items:center;
    gap:8px;
    margin-bottom:8px;
}

.pd-stars{
    color:#f4b400;
    letter-spacing:0.8px;
    font-size:13px;
}

.pd-rating-text{
    color:#454545;
    font-size:12px;
}

.pd-meta-line{
    display:flex;
    flex-wrap:wrap;
    gap:20px;
    color:#d1d1d1;
    font-size:13px;
    margin-bottom:14px;
}

.pd-meta-line strong{
    font-weight:500;
    color:#191C1F;
}

.pd-agent-link{
    display:inline-flex;
    align-items:center;
    gap:10px;
    text-decoration:none;
    margin-bottom:14px;
}

.pd-agent-avatar{
    width:42px;
    height:42px;
    border-radius:50%;
    object-fit:cover;
    border:1px solid #d9d9d9;
}

.pd-agent-meta{
    display:flex;
    flex-direction:column;
    line-height:1.2;
}

.pd-agent-label{
    color:#8a8a8a;
    font-size:12px;
}

.pd-agent-name{
    color:#191C1F;
    font-weight:600;
    font-size:14px;
}

.pd-price-line{
    display:flex;
    align-items:flex-end;
    gap:8px;
    margin-bottom:12px;
}

.pd-price-now{
    font-size:40px;
    line-height:1;
    color:#004080;
    font-weight:700;
}

.pd-price-unit{
    color:#888888;
    font-size:16px;
    margin-bottom:5px;
}

.pd-tier-row{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-bottom:14px;
}

.pd-tier-btn{
    min-width:126px;
    border:1px solid #E7E7E7;
    background:transparent;
    color:#000000;
    border-radius:7px;
    padding:12px 12px 11px;
    font-size:13px;
    text-align:center;
}

.pd-tier-btn span{
    display:block;
    color:#4F4F4F;
    font-size:12px;
    margin-top:2px;
}

.pd-tier-active{
    background:#edf5ff;
    border-color:#4d9af8;
    color:#111;
}

.pd-tier-active span{
    color:#546173;
}

.pd-variant-grid{
    display:flex;
    flex-direction:column;
    gap:14px;
    margin-bottom:12px;
}

.pd-variant-group{
    display:flex;
    flex-direction:column;
}

.pd-variant-options{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}

.pd-variant-btn{
    min-width:72px;
    padding:10px 18px;
}

.pd-variant-btn[disabled]{
    opacity:0.45;
    cursor:not-allowed;
    background:#f7f7f7;
    color:#7a7a7a;
}

.pd-stock-status{
    display:inline-flex;
    align-items:center;
    min-height:22px;
    margin-bottom:14px;
    font-size:14px;
    font-weight:500;
}

.pd-stock-in{
    color:#198754;
}

.pd-stock-out{
    color:#dc3545;
}

.pd-stock-pending{
    color:#8a8a8a;
}

.pd-label{
    display:block;
    color: #3d3d3d;;
    font-size:13px;
    margin-bottom:6px;
}

.pd-select{
    border-radius:0;
    border:1px solid #d9d9d9;
    min-height:43px;
    box-shadow:none;
    color:#1c1c1c;
    font-size:14px;
}

.pd-select:focus{
    box-shadow:none;
    border-color:#53a2ff;
}

.pd-qty-row{
    display:flex;
    align-items:center;
    gap:16px;
    margin-bottom:12px;
}

.pd-stepper{
    display:flex;
    align-items:center;
    gap:0px;
}

.pd-step-btn{
    width:auto;
    height:24px;
    border:none;
    border-radius:50%;
    background:#fff;
    color:#121212;
    font-size:18px;
    line-height:24px;
    padding:0;
}

.pd-step-value{
    color:#000000;
    font-size:18px;
    padding: 0 10px;
    max-width: 60px;
}

.pd-subtotal{
    display:flex;
    align-items:center;
    gap:10px;
    color:#3d3d3d;
    font-size:14px;
    margin-bottom:14px;
}

.total_cost{
    display:flex;
    align-items:center;
    line-height:1;
    margin-top:4px;
}

.pd-subtotal-value{
    font-size:24px;
    color:#000000;
    font-weight:600;
}

.pd-cta-row{
    display:flex;
    align-items:center;
    gap:14px;
    margin-bottom:10px;
    flex-wrap:wrap;
}

.pd-cart-btn{
    min-width:320px;
    min-height:56px;
    border:none;
    background:#024a92;
    color:#fff;
    font-size:16px;
    font-weight:700;
    padding:8px 18px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:9px;
}

.pd-go-to-cart-btn{
    text-decoration:none;
}

.pd-text-action{
    background:transparent;
    border:none;
    color:#c6c6c6;
    font-size:14px;
    display:inline-flex;
    align-items:center;
    gap:6px;
}

.pd-safe-pay{
    border:1px solid #d7d7d7;
    background:#fff;
    color:#6a6a6a;
    min-height:52px;
    padding:10px 12px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    max-width:640px;
    font-size:14px;
}

.pd-safe-pay img{
    width:96px;
    height:auto;
}

.pd-card{
    /* background:#efefef; */
    color:#404040;
    border-radius:6px;
    /* border:1px solid #d8d8d8; */
    padding:16px 18px;
    margin-top:15px;
}

.pd-card h3{
    font-size:33px;
    color:#3c3c3c;
    margin-bottom:12px;
    font-weight:600;
}

.pd-card p{
    margin-bottom:0;
    line-height:1.6;
    font-size:14px;
}

.pd-reviews .pd-review-item{
    padding:10px 0 16px;
    border-bottom:1px solid #d0d0d0;
}

.pd-reviews .pd-review-last{
    border-bottom:none;
    padding-bottom:4px;
}

.pd-review-item h4{
    font-size:30px;
    color:#2f2f2f;
    margin:7px 0 8px;
}

.pd-review-item p{
    font-size:29px;
    color:#555;
    margin-bottom:5px;
}

.pd-review-item small{
    color:#8b8b8b;
    font-size:20px;
}

.pd-review-item strong{
    font-weight:500;
}

.pd-related-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:14px;
}

.pd-carousel-arrows{
    display:flex;
    align-items:center;
    gap:8px;
}

.pd-carousel-arrows button{
    width:30px;
    height:30px;
    border:1px solid #9fb0c6;
    color:#4f6d8b;
    border-radius:50%;
    background:#f4f8fc;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-size:12px;
}

.pd-related-grid{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:16px;
}

.pd-related-card{
    position:relative;
}

.pd-related-card img{
    width:100%;
    height:150px;
    object-fit:cover;
    border-radius:2px;
    border:1px solid #d0d0d0;
    margin-bottom:8px;
}

.pd-discount-badge{
    position:absolute;
    left:8px;
    top:8px;
    background:#f2ce1f;
    color:#2f2f2f;
    padding:3px 6px;
    font-size:11px;
    font-weight:700;
    border-radius:2px;
}

.pd-related-rating{
    color:#606060;
    font-size:13px;
    margin-bottom:5px;
}

.pd-related-rating i{
    color:#f4b400;
}

.pd-related-card h4{
    margin:0 0 4px;
    font-size:13px;
    line-height:1.4;
    color:#363636;
    min-height:36px;
}

.pd-related-card p{
    font-size:13px;
    margin:0;
    color:#111;
}

.pd-related-card p strong{
    font-size:16px;
    font-weight:700;
}

.pd-related-card p span{
    color:#919191;
    text-decoration:line-through;
    margin-left:4px;
    font-size:14px;
}

@media (max-width:1199.98px){
    .pd-title{
        font-size:23px;
    }

    .pd-price-now{
        font-size:35px;
    }

    .pd-related-grid{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }

    .pd-review-item h4{
        font-size:24px;
    }

    .pd-review-item p{
        font-size:22px;
    }

    .pd-review-item small{
        font-size:17px;
    }
}

@media (max-width:991.98px){
    .pd-hero{
        grid-template-columns:1fr;
    }

    .pd-main-image-card{
        min-height:360px;
    }

    .pd-cart-btn{
        min-width:100%;
    }

    .pd-related-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .pd-card h3{
        font-size:26px;
    }

    .pd-review-item h4{
        font-size:20px;
    }

    .pd-review-item p{
        font-size:17px;
    }

    .pd-review-item small{
        font-size:14px;
    }

    .pd-related-card p strong{
        font-size:20px;
    }
}

@media (max-width:575.98px){
    .pd-page{
        padding-bottom:12px;
    }

    .pd-main-image-card{
        min-height:300px;
    }

    .pd-thumbs-row{
        gap:8px;
    }

    .pd-thumb{
        width:54px;
        height:54px;
    }

    .pd-title{
        font-size:20px;
    }

    .pd-price-now{
        font-size:30px;
    }

    .pd-tier-row{
        gap:8px;
    }

    .pd-tier-btn{
        min-width:calc(50% - 6px);
    }

    .pd-variant-grid{
        gap:12px;
    }

    .pd-variant-options{
        gap:8px;
    }

    .pd-variant-btn{
        min-width:calc(50% - 4px);
    }

    .pd-text-action{
        font-size:14px;
    }

    .pd-safe-pay{
        font-size:13px;
    }

    .pd-related-grid{
        grid-template-columns:1fr;
    }
}
