/* ============================================================
   PRODUCT QUICK VIEW — styled to match product-view.css
   ============================================================ */

/* ── Modal shell: roomier sizing & padding so contents breathe ── */
@media (min-width: 992px) {
    #product_quick_view_modal .modal-dialog {
        max-width: 880px;
    }
}

/* ── Modal body layout: row on desktop, column on mobile ── */
#product_quick_view_modal .pqv-layout {
    display: flex;
    flex-direction: row;
    gap: 20px;
    align-items: flex-start;
}

#product_quick_view_modal .pqv-layout .pqv-prodt_img {
    flex: 0 0 260px;
    width: 260px;
}

#product_quick_view_modal .pqv-layout .pqv-info-col {
    flex: 1 1 0;
    min-width: 0;
}

@media (max-width: 991px) {
    #product_quick_view_modal .pqv-layout {
        flex-direction: column;
        gap: 18px;
    }

    #product_quick_view_modal .pqv-layout .pqv-prodt_img {
        flex: none;
        width: 100%;
    }
}

/* ── Image ── */
.pqv-prodt_img {
    border: 1px solid #dbe1e9;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px;
}

/* ── Badge overlay inside quick-view image ── */
.pqv-prodt_img .position-relative {
    position: relative;
    display: inline-block; /* shrink-wrap the image */
    line-height: 0;        /* remove gap under img */
}

.pqv-prodt_img .fv-product-badge-top-left,
.pqv-prodt_img .fv-product-badge-top-right,
.pqv-prodt_img .fv-product-badge-bottom-left,
.pqv-prodt_img .fv-product-badge-bottom-right {
    position: absolute;
    display: flex;
    flex-direction: column;
    gap: 4px;
    z-index: 2;
}

.pqv-prodt_img .fv-product-badge-top-left    { top: 8px;    left: 8px;  }
.pqv-prodt_img .fv-product-badge-top-right   { top: 8px;    right: 8px; }
.pqv-prodt_img .fv-product-badge-bottom-left { bottom: 8px; left: 8px;  }
.pqv-prodt_img .fv-product-badge-bottom-right{ bottom: 8px; right: 8px; }

.pqv-attr-title {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--ink-900, #111) !important;
    margin-bottom: 10px !important;
    display: block;
}

.pqv-var-attr-btn {
    padding: 10px 18px !important;
    border: 1px solid #c3ccd9 !important;
    border-radius: 10px !important;
    background: #fff !important;
    color: #1a3147 !important;
    border-radius: 10px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    cursor: pointer;
    transition: border-color 0.15s, background 0.15s, color 0.15s;
}

.pqv-var-attr-btn-selected {
    padding: 10px 18px !important;
    border: 1px solid #c3ccd9 !important;
    border-radius: 10px !important;
    background: var(--navy, #0f2236) !important;
    color: #fff !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    cursor: pointer;
    transition: border-color 0.15s, background 0.15s, color 0.15s;
}

.pqv-prodt_img img {
    height: 280px;
    width: 280px;
    object-fit: contain;
    object-position: center;
}

@media only screen and (max-width: 768px) {
    .pqv-prodt_img img {
        height: 200px;
        width: 200px;
    }
}

/* ── Product name ── */
.pqv-prodt_name {
    font-weight: 700;
    font-size: 22px;
    line-height: 1.3;
    letter-spacing: 0.4px;
    color: #0f2236;
    display: block;
    margin-bottom: 4px;
}

/* ── Brand ── */
.pqv-brand_name {
    font-weight: 700;
    font-size: 14px;
    letter-spacing: 0.6px;
    color: #3BB77E;
    text-transform: uppercase;
    display: block;
    margin-bottom: 6px;
}
.pqv-brand_name a {
    color: #3BB77E !important;
    text-decoration: none !important;
}

/* ── Price ── */
.pqv-price {
    font-weight: 800;
    font-size: 30px;
    line-height: 45px;
    letter-spacing: 1.3px;
    color: #252F40;
    margin-bottom: 0;
}

/* ── Old / strikethrough price ── */
.pqv-discount_status .old-price {
    color: #696B79;
    font-size: 16px;
    font-weight: 600;
    line-height: 100%;
}

/* ── % OFF badge ── */
.pqv-discount_status .fv-sale-perc-off {
    color: #EE4949;
    font-size: 16px;
    font-weight: 700;
    line-height: 100%;
    margin-left: 4px;
}

/* ── PayPal info line ── */
.pqv-paypal-section {
    font-weight: 400;
    font-size: 12px;
    line-height: 15.6px;
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
    padding: 6px 0 10px;
}

.pqv-paypal-section .learn-more {
    text-decoration: none;
    color: #0070BA;
}

/* ── Variant / attribute selection ── */
.pqv-product_variant_selection_section {
    margin-bottom: 0.9rem;
}

.fv-attr-title {
    font-size: 1rem;
    color: #272525;
    font-weight: 700;
}

/* ── Qty wrapper ── */
#product_quick_view_modal .qty-wrapper {
    border: 2px solid #121212;
    border-radius: 10px;
}

#product_quick_view_modal .qty-wrapper .pqv-qty_input {
    border: 1px solid #fff;
}

/* ── Add to cart button ── */
#pqv-add_to_cart {
    background: #0f857f;
    border: none;
    border-radius: 10px !important;
    padding: 12px 20px;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.01em;
    color: #fff;
    width: 100%;
}

/* ── Choose an option button ── */
#pqv-choose-a-product-btn {
    border-radius: 10px !important;
    padding: 12px 20px;
    font-size: 15px;
    font-weight: 700;
    width: 100%;
}

/* ── Notify Me button ── */
#product_quick_view_modal #pqv-notify button {
    border-radius: 10px !important;
    padding: 12px 20px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    letter-spacing: 0.01em !important;
    border: none !important;
    color: #fff;
    width: 100%;
}

/* ── Shipping info grid (matches product-view) ── */
.pqv-shipping-info {
    padding: 16px 0 4px;
}

.pqv-shipping-row {
    display: flex;
    gap: 20px;
    margin-bottom: 12px;
}

@media only screen and (max-width: 576px) {
    .pqv-shipping-row {
        flex-direction: column;
        gap: 8px;
    }
}

.pqv-shipping-item {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1;
}

.pqv-shipping-icon {
    width: 22px;
    height: auto;
    flex-shrink: 0;
}

.pqv-shipping-text {
    font-weight: 400;
    font-size: 11.5px;
    line-height: 1.5;
    color: #4a6383;
}

.pqv-shipping-text a {
    color: #0481C6;
    text-decoration: underline;
}

/* ── Out-of-stock badge ── */
#product_quick_view_modal .sold-out-badge {
    font-size: 10px;
    color: black;
    font-weight: bold;
}

/* ── Variant stock styling ── */
.pqv-select_variant_btn_stock_styling:not([data-stock="In-Stock"]) {
    background-color: #e7e7e7;
    border: 1px solid #5a5a5a;
    color: #5a5a5a;
    background-image: linear-gradient(to bottom right, transparent 46%, #00000021 48%);
    background-size: 102% 100%;
    background-repeat: no-repeat;
}

/* ── Cart row layout ── */
#product_quick_view_modal .pqv-cart-row {
    display: flex;
    gap: 8px;
    align-items: flex-end;
    margin-top: 16px;
    margin-bottom: 12px;
}

#product_quick_view_modal .pqv-qty-container {
    width: 150px;
    flex-shrink: 0;
}

#product_quick_view_modal .pqv-atc-container {
    flex: 1;
}

/* ── Wishlist icon ── */
#product_quick_view_modal .pqv-wishlist-icon-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border: 1px solid #e0e0e0;
    border-radius: 10px;
    background: #fff;
    cursor: pointer;
    flex-shrink: 0;
}

.pqv-attribute-available {
    color: #0f857f;
    font-size: 12px;
    font-weight: 500;
}