/*
==========================================================
PakMadee Marketplace Frontend
Version: 0.7.0
==========================================================
*/


/* ======================================================
   ROOT VARIABLES
====================================================== */

:root {
    --pm-green: #046a38;
    --pm-green-dark: #034d2a;
    --pm-green-deep: #023d22;

    --pm-gold: #d4af37;
    --pm-gold-dark: #b89227;
    --pm-gold-light: #f6e9b8;

    --pm-white: #ffffff;
    --pm-cream: #f8f6f0;
    --pm-light: #f6f7f6;
    --pm-soft-green: #f1f8f4;

    --pm-text: #17231d;
    --pm-muted: #6c746f;
    --pm-border: #e3e7e4;

    --pm-success: #16824b;
    --pm-danger: #c53d3d;

    --pm-radius-sm: 6px;
    --pm-radius: 10px;
    --pm-radius-lg: 16px;

    --pm-shadow:
        0 12px 35px rgba(0, 0, 0, 0.10);

    --pm-shadow-soft:
        0 5px 18px rgba(0, 0, 0, 0.06);
}


/* ======================================================
   BASIC RESET
====================================================== */

.pm-marketplace-header,
.pm-marketplace-header *,
.pm-market-availability,
.pm-market-availability *,
.pm-product-highlights,
.pm-product-highlights *,
.pm-marketplace-trust,
.pm-marketplace-trust *,
.pm-product-meta,
.pm-product-meta *,
.pm-vendor-attributes,
.pm-vendor-attributes * {
    box-sizing: border-box;
}


/* ======================================================
   MARKETPLACE HEADER
====================================================== */

.pm-marketplace-header {
    width: 100%;
    position: relative;
    z-index: 999;
    background: var(--pm-white);
    color: var(--pm-text);

    font-family:
        Inter,
        Poppins,
        Arial,
        sans-serif;
}

.pm-container {
    width: calc(100% - 40px);
    max-width: 1500px;
    margin: 0 auto;
}


/* ======================================================
   TOP BAR
====================================================== */

.pm-topbar {
    background: var(--pm-green-deep);
    color: #ffffff;
}

.pm-topbar-inner {
    min-height: 34px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 20px;

    font-size: 12px;
}

.pm-top-right {
    display: flex;
    align-items: center;

    gap: 13px;
}

.pm-topbar a {
    color: #ffffff !important;
    text-decoration: none !important;
}

.pm-topbar a:hover {
    color: var(--pm-gold) !important;
}

.pm-top-divider {
    width: 1px;
    height: 13px;

    background:
        rgba(255, 255, 255, 0.30);
}


/* ======================================================
   MAIN HEADER
====================================================== */

.pm-main-header {
    background: #ffffff;

    border-bottom:
        1px solid var(--pm-border);
}

.pm-main-inner {
    min-height: 86px;

    display: flex;
    align-items: center;

    gap: 24px;
}


/* ======================================================
   LOGO
====================================================== */

.pm-logo {
    width: 205px;
    flex: 0 0 205px;

    display: flex;
    align-items: center;
}

.pm-logo > a,
.pm-logo .custom-logo-link {
    width: 100%;

    display: flex !important;
    align-items: center;

    padding: 0 !important;
    margin: 0 !important;
}

.pm-logo img,
.pm-logo img.custom-logo {
    display: block !important;

    width: auto !important;
    height: auto !important;

    max-width: 195px !important;
    max-height: 62px !important;

    object-fit: contain;
}

.pm-logo-text {
    color: var(--pm-green);

    font-size: 29px;
    line-height: 1;
    font-weight: 900;
}


/* ======================================================
   SEARCH
====================================================== */

.pm-search-wrapper {
    position: relative;

    flex: 1 1 auto;

    min-width: 280px;
}

.pm-search-form {
    width: 100%;
    height: 50px;

    display: flex;
    align-items: stretch;

    overflow: hidden;

    border:
        2px solid var(--pm-green);

    border-radius:
        8px;

    background:
        #ffffff;
}

.pm-search-category {
    width: 155px !important;
    min-width: 155px;

    height: 100% !important;

    padding: 0 12px !important;
    margin: 0 !important;

    border: 0 !important;

    border-right:
        1px solid #dfe5e1 !important;

    border-radius: 0 !important;

    background:
        #f5f7f5 !important;

    color:
        #333333 !important;

    font-size:
        12px !important;

    box-shadow:
        none !important;

    outline:
        none !important;
}

.pm-search-input {
    flex: 1;

    width: auto !important;
    min-width: 0;

    height: 100% !important;

    padding: 0 16px !important;
    margin: 0 !important;

    border: 0 !important;
    border-radius: 0 !important;

    background:
        #ffffff !important;

    color:
        var(--pm-text) !important;

    font-size:
        14px !important;

    box-shadow:
        none !important;

    outline:
        none !important;
}

.pm-search-input::placeholder {
    color: #89918c;
}

.pm-search-button {
    width: 82px !important;
    min-width: 82px;

    height: 100% !important;

    padding: 0 14px !important;
    margin: 0 !important;

    border: 0 !important;
    border-radius: 0 !important;

    background:
        var(--pm-gold) !important;

    color:
        #142019 !important;

    font-size:
        12px !important;

    font-weight:
        800 !important;

    cursor:
        pointer;

    transition:
        0.2s ease;
}

.pm-search-button:hover {
    background:
        var(--pm-gold-dark) !important;
}


/* ======================================================
   LIVE SEARCH
====================================================== */

.pm-live-results {
    display: none;

    position: absolute;

    top: calc(100% + 7px);
    left: 0;
    right: 0;

    max-height: 480px;

    overflow-y: auto;

    background:
        #ffffff;

    border:
        1px solid var(--pm-border);

    border-radius:
        10px;

    box-shadow:
        var(--pm-shadow);

    z-index: 99999;
}

.pm-live-results.pm-active {
    display: block;
}

.pm-live-product {
    display: grid !important;

    grid-template-columns:
        55px 1fr auto;

    align-items: center;

    gap: 12px;

    padding:
        10px 13px;

    border-bottom:
        1px solid #edf0ee;

    color:
        var(--pm-text) !important;

    text-decoration:
        none !important;
}

.pm-live-product:hover {
    background:
        var(--pm-cream);
}

.pm-live-product:last-child {
    border-bottom: 0;
}

.pm-live-product img {
    width: 55px !important;
    height: 55px !important;

    object-fit:
        cover;

    border-radius:
        7px;
}

.pm-live-title {
    font-size: 13px;
    font-weight: 700;
}

.pm-live-price {
    color:
        var(--pm-green);

    font-size:
        13px;

    font-weight:
        800;

    white-space:
        nowrap;
}

.pm-live-empty {
    padding: 17px;

    color:
        var(--pm-muted);

    font-size:
        13px;

    text-align:
        center;
}


/* ======================================================
   HEADER ACTIONS
====================================================== */

.pm-header-actions {
    margin-left: auto;

    display: flex;
    align-items: center;

    gap: 20px;
}

.pm-action-item,
.pm-cart-action {
    display: flex !important;
    align-items: center;

    position: relative;

    color:
        var(--pm-text) !important;

    text-decoration:
        none !important;

    white-space:
        nowrap;
}

.pm-action-item:hover,
.pm-cart-action:hover {
    color:
        var(--pm-green) !important;
}

.pm-action-text {
    display: flex;
    flex-direction: column;

    line-height: 1.2;
}

.pm-action-text small {
    margin-bottom: 2px;

    color:
        var(--pm-muted);

    font-size:
        10px;

    font-weight:
        500;
}

.pm-action-text strong {
    color: inherit;

    font-size:
        13px;

    font-weight:
        800;
}

.pm-cart-icon {
    font-size:
        13px;

    font-weight:
        800;
}

.pm-cart-count {
    position: absolute;

    top: -16px;
    right: -14px;

    min-width: 20px;
    height: 20px;

    padding: 0 5px;

    display: flex;
    align-items: center;
    justify-content: center;

    border:
        2px solid #ffffff;

    border-radius:
        30px;

    background:
        var(--pm-gold);

    color:
        #142019;

    font-size:
        10px;

    line-height:
        1;

    font-weight:
        900;
}


/* ======================================================
   CATEGORY BAR
====================================================== */

.pm-category-bar {
    background:
        var(--pm-green);

    box-shadow:
        0 3px 9px rgba(0, 0, 0, 0.08);
}

.pm-category-inner {
    height: 48px;

    display: flex;
    align-items: stretch;

    gap: 20px;
}

.pm-all-categories {
    position: relative;

    flex:
        0 0 185px;
}

.pm-all-category-btn {
    width: 100% !important;
    height: 48px !important;

    padding:
        0 16px !important;

    margin:
        0 !important;

    display:
        flex !important;

    align-items:
        center;

    justify-content:
        space-between;

    gap: 8px;

    border:
        0 !important;

    border-radius:
        0 !important;

    background:
        var(--pm-green-dark) !important;

    color:
        #ffffff !important;

    font-size:
        12px !important;

    font-weight:
        800 !important;

    cursor:
        pointer;
}

.pm-category-dropdown {
    display: none;

    position: absolute;

    top: 100%;
    left: 0;

    width: 270px;

    padding:
        7px 0;

    background:
        #ffffff;

    border:
        1px solid var(--pm-border);

    border-top:
        0;

    border-radius:
        0 0 10px 10px;

    box-shadow:
        var(--pm-shadow);

    z-index:
        9999;
}

.pm-all-categories.pm-open
.pm-category-dropdown {
    display: block;
}

.pm-category-dropdown a {
    display:
        flex !important;

    align-items:
        center;

    justify-content:
        space-between;

    padding:
        11px 16px !important;

    color:
        var(--pm-text) !important;

    text-decoration:
        none !important;

    font-size:
        13px !important;

    font-weight:
        600;
}

.pm-category-dropdown a:hover {
    background:
        var(--pm-cream);

    color:
        var(--pm-green) !important;
}

.pm-category-links {
    flex: 1;

    display:
        flex;

    align-items:
        center;

    gap:
        22px;

    overflow:
        hidden;

    white-space:
        nowrap;
}

.pm-category-links a {
    color:
        #ffffff !important;

    text-decoration:
        none !important;

    font-size:
        12px !important;

    font-weight:
        700;
}

.pm-category-links a:hover {
    color:
        var(--pm-gold) !important;
}

.pm-seller-button {
    align-self:
        center;

    display:
        inline-flex !important;

    align-items:
        center;

    justify-content:
        center;

    padding:
        9px 17px !important;

    border-radius:
        6px;

    background:
        var(--pm-gold);

    color:
        #122018 !important;

    text-decoration:
        none !important;

    font-size:
        12px !important;

    font-weight:
        900;

    white-space:
        nowrap;
}

.pm-seller-button:hover {
    background:
        var(--pm-gold-dark);

    color:
        #111111 !important;
}


/* ======================================================
   MOBILE HEADER
====================================================== */

.pm-mobile-toggle {
    display: none;

    padding:
        0 !important;

    margin:
        0 !important;

    border:
        0 !important;

    background:
        transparent !important;

    color:
        var(--pm-green) !important;

    font-size:
        25px !important;

    cursor:
        pointer;
}

.pm-mobile-drawer {
    position:
        fixed;

    top:
        0;

    left:
        -340px;

    width:
        min(325px, 88vw);

    height:
        100vh;

    overflow-y:
        auto;

    background:
        #ffffff;

    box-shadow:
        15px 0 40px rgba(0, 0, 0, 0.18);

    z-index:
        100002;

    transition:
        left 0.25s ease;
}

.pm-mobile-drawer.pm-open {
    left:
        0;
}

.pm-mobile-drawer-head {
    min-height:
        67px;

    padding:
        0 19px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    background:
        var(--pm-green);

    color:
        #ffffff;
}

.pm-mobile-close {
    padding:
        0 !important;

    border:
        0 !important;

    background:
        transparent !important;

    color:
        #ffffff !important;

    font-size:
        30px !important;

    cursor:
        pointer;
}

.pm-mobile-menu a {
    display:
        block !important;

    padding:
        13px 18px !important;

    border-bottom:
        1px solid #edf0ee;

    color:
        var(--pm-text) !important;

    text-decoration:
        none !important;

    font-size:
        13px !important;

    font-weight:
        600;
}

.pm-mobile-menu a:hover {
    background:
        var(--pm-cream);

    color:
        var(--pm-green) !important;
}

.pm-mobile-overlay {
    display:
        none;

    position:
        fixed;

    inset:
        0;

    z-index:
        100001;

    background:
        rgba(0, 0, 0, 0.52);
}

.pm-mobile-overlay.pm-active {
    display:
        block;
}


/* ======================================================
   DOKAN VENDOR PRODUCT ATTRIBUTES
====================================================== */

.pm-vendor-attributes {
    margin:
        24px 0;

    overflow:
        hidden;

    border:
        1px solid var(--pm-border);

    border-radius:
        9px;

    background:
        #ffffff;
}

.pm-vendor-attributes-header {
    padding:
        17px 19px;

    border-left:
        4px solid var(--pm-green);

    background:
        var(--pm-cream);
}

.pm-vendor-attributes-header h3 {
    margin:
        0 0 5px !important;

    color:
        var(--pm-green);

    font-size:
        18px;

    font-weight:
        700;
}

.pm-vendor-attributes-header p {
    margin:
        0;

    color:
        var(--pm-muted);

    font-size:
        13px;

    line-height:
        1.5;
}

.pm-vendor-attributes-body {
    padding:
        18px;
}

.pm-vendor-attribute-group {
    margin-bottom:
        22px;
}

.pm-vendor-attribute-title {
    margin-bottom:
        10px;

    color:
        var(--pm-text);

    font-size:
        14px;

    font-weight:
        700;
}

.pm-vendor-attribute-options {
    display:
        flex;

    flex-wrap:
        wrap;

    gap:
        8px;
}

.pm-attribute-option {
    position:
        relative;

    display:
        inline-flex;

    align-items:
        center;

    gap:
        7px;

    padding:
        8px 11px;

    margin:
        0;

    border:
        1px solid #dfe5e1;

    border-radius:
        6px;

    background:
        #ffffff;

    color:
        #333333;

    font-size:
        12px;

    font-weight:
        500;

    cursor:
        pointer;

    transition:
        all 0.18s ease;
}

.pm-attribute-option:hover {
    border-color:
        var(--pm-green);

    background:
        #f5faf7;
}

.pm-attribute-option:has(input:checked) {
    border-color:
        var(--pm-green);

    background:
        #edf8f2;

    color:
        var(--pm-green-dark);
}

.pm-attribute-option input {
    width:
        15px !important;

    height:
        15px !important;

    margin:
        0 !important;

    accent-color:
        var(--pm-green);
}

.pm-attribute-info {
    margin-top:
        8px;

    padding:
        12px 14px;

    border-left:
        4px solid var(--pm-gold);

    background:
        #faf8f2;

    color:
        #5f655f;

    font-size:
        12px;
}

.pm-attribute-info strong {
    color:
        var(--pm-text);
}

.pm-attribute-info p {
    margin:
        4px 0 0;
}


/* ======================================================
   SINGLE PRODUCT BASE
====================================================== */

body.single-product
.woocommerce {
    color:
        var(--pm-text);
}

body.single-product
.woocommerce div.product {
    font-family:
        Inter,
        Poppins,
        Arial,
        sans-serif;
}

body.single-product
.woocommerce div.product
.product_title {
    margin-bottom:
        10px;

    color:
        #17231d;

    font-size:
        clamp(28px, 3vw, 42px);

    line-height:
        1.16;

    font-weight:
        800;
}

body.single-product
.woocommerce div.product
.summary {
    padding-left:
        15px;
}


/* ======================================================
   PRODUCT PRICE
====================================================== */

body.single-product
.woocommerce div.product
.summary
p.price,
body.single-product
.woocommerce div.product
.summary
span.price {
    margin:
        10px 0;

    color:
        var(--pm-green);

    font-size:
        26px;

    line-height:
        1.2;

    font-weight:
        800;
}

body.single-product
.woocommerce div.product
.summary
.price del {
    color:
        #9c9c8b;

    opacity:
        1;

    font-size:
        16px;

    margin-right:
        7px;
}

body.single-product
.woocommerce div.product
.summary
.price ins {
    color:
        var(--pm-green);

    text-decoration:
        none;

    font-weight:
        900;
}


/* ======================================================
   SOCIAL PROOF
====================================================== */

.pm-product-social-proof {
    margin:
        5px 0 12px;

    display:
        flex;

    flex-wrap:
        wrap;

    align-items:
        center;

    gap:
        7px;

    color:
        var(--pm-muted);

    font-size:
        12px;
}

.pm-product-rating {
    display:
        flex;

    align-items:
        center;

    gap:
        8px;
}

.pm-product-social-proof
.star-rating {
    margin:
        0 !important;

    color:
        var(--pm-gold);
}

.pm-review-count,
.pm-sold-by a {
    color:
        var(--pm-green) !important;

    text-decoration:
        none !important;

    font-weight:
        700;
}

.pm-review-count:hover,
.pm-sold-by a:hover {
    text-decoration:
        underline !important;
}

.pm-social-separator {
    color:
        #c4cbc6;
}

.pm-sold-count {
    font-weight:
        700;
}

.pm-new-product {
    display:
        inline-flex;

    align-items:
        center;

    padding:
        4px 8px;

    border:
        1px solid #dce8df;

    border-radius:
        50px;

    background:
        var(--pm-soft-green);

    color:
        var(--pm-green);

    font-size:
        11px;

    font-weight:
        800;
}


/* ======================================================
   SAVINGS
====================================================== */

.pm-product-saving {
    margin:
        9px 0 16px;

    display:
        flex;

    align-items:
        center;

    flex-wrap:
        wrap;

    gap:
        9px;
}

.pm-save-badge {
    padding:
        5px 9px;

    border-radius:
        5px;

    background:
        var(--pm-gold);

    color:
        #17231d;

    font-size:
        11px;

    font-weight:
        900;
}

.pm-save-amount {
    color:
        var(--pm-green);

    font-size:
        12px;

    font-weight:
        700;
}


/* ======================================================
   SHORT DESCRIPTION
====================================================== */

body.single-product
.woocommerce-product-details__short-description {
    margin:
        14px 0;

    color:
        #4e5852;

    font-size:
        14px;

    line-height:
        1.65;
}

body.single-product
.woocommerce-product-details__short-description
ul {
    margin:
        10px 0 0;

    padding-left:
        18px;
}


/* ======================================================
   DELIVERY AVAILABILITY
====================================================== */

.pm-market-availability {
    width:
        100%;

    margin:
        18px 0;

    padding:
        16px 17px;

    background:
        linear-gradient(
            135deg,
            #ffffff 0%,
            #fafcf9 100%
        );

    border:
        1px solid #dfe6e1;

    border-left:
        4px solid var(--pm-green);

    border-radius:
        var(--pm-radius);

    box-shadow:
        var(--pm-shadow-soft);

    font-family:
        Inter,
        Poppins,
        Arial,
        sans-serif;
}

.pm-market-title {
    margin-bottom:
        10px;

    color:
        var(--pm-green);

    font-size:
        15px;

    font-weight:
        900;
}

.pm-market-row {
    min-height:
        36px;

    padding:
        7px 0;

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        20px;

    border-bottom:
        1px solid #edf0ee;

    color:
        var(--pm-muted);

    font-size:
        12px;
}

.pm-market-row:last-of-type {
    border-bottom:
        0;
}

.pm-market-row strong {
    color:
        var(--pm-text);

    font-size:
        12px;

    font-weight:
        800;

    text-align:
        right;
}

.pm-market-note {
    margin-top:
        11px;

    padding:
        10px 12px;

    background:
        var(--pm-cream);

    border:
        1px solid #eee8d9;

    border-radius:
        6px;

    color:
        #5c625e;

    font-size:
        11px;

    line-height:
        1.55;
}


/* ======================================================
   PRODUCT HIGHLIGHTS
====================================================== */

.pm-product-highlights {
    margin:
        16px 0;

    padding:
        16px;

    border:
        1px solid var(--pm-border);

    border-radius:
        var(--pm-radius);

    background:
        #ffffff;

    box-shadow:
        var(--pm-shadow-soft);
}

.pm-highlight-heading {
    margin-bottom:
        12px;

    display:
        flex;

    align-items:
        flex-end;

    justify-content:
        space-between;

    gap:
        15px;
}

.pm-highlight-heading h3 {
    margin:
        0 !important;

    color:
        var(--pm-text);

    font-size:
        17px;

    line-height:
        1.2;

    font-weight:
        800;
}

.pm-highlight-heading span {
    color:
        var(--pm-muted);

    font-size:
        10px;
}

.pm-highlight-grid {
    display:
        grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap:
        8px;
}

.pm-highlight-item {
    min-height:
        42px;

    padding:
        9px 11px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        12px;

    border:
        1px solid #edf0ee;

    border-radius:
        7px;

    background:
        #fafcfb;
}

.pm-highlight-label {
    color:
        var(--pm-green);

    font-size:
        11px;

    font-weight:
        800;
}

.pm-highlight-value {
    color:
        var(--pm-text);

    font-size:
        11px;

    font-weight:
        700;

    text-align:
        right;
}


/* ======================================================
   STOCK
====================================================== */

body.single-product
.woocommerce div.product
p.stock {
    margin:
        12px 0 8px;

    color:
        var(--pm-success);

    font-size:
        12px;

    font-weight:
        700;
}


/* ======================================================
   CART / QUANTITY / BUTTONS
====================================================== */

body.single-product
.woocommerce div.product
form.cart {
    margin:
        15px 0 12px !important;

    display:
        flex;

    align-items:
        stretch;

    flex-wrap:
        wrap;

    gap:
        10px;
}

body.single-product
.woocommerce div.product
form.cart
.quantity {
    margin:
        0 !important;

    display:
        flex;

    align-items:
        stretch;

    height:
        48px;

    border:
        1px solid #cfd7d2;

    border-radius:
        7px;

    overflow:
        hidden;

    background:
        #ffffff;
}

body.single-product
.woocommerce div.product
form.cart
.quantity
input.qty {
    width:
        48px !important;

    height:
        46px !important;

    padding:
        0 !important;

    margin:
        0 !important;

    border:
        0 !important;

    border-left:
        1px solid #e4e8e5 !important;

    border-right:
        1px solid #e4e8e5 !important;

    border-radius:
        0 !important;

    background:
        #ffffff !important;

    color:
        var(--pm-text);

    font-size:
        14px;

    font-weight:
        700;

    text-align:
        center;

    box-shadow:
        none !important;
}

.pm-qty-button {
    width:
        39px;

    border:
        0;

    background:
        #f7f8f7;

    color:
        var(--pm-green);

    font-size:
        20px;

    font-weight:
        700;

    cursor:
        pointer;

    transition:
        background 0.2s ease;
}

.pm-qty-button:hover {
    background:
        #edf6f0;
}


/* ADD TO CART */

body.single-product
.woocommerce div.product
form.cart
.single_add_to_cart_button {
    min-height:
        48px;

    padding:
        0 25px !important;

    margin:
        0 !important;

    border:
        0 !important;

    border-radius:
        7px !important;

    background:
        var(--pm-green) !important;

    color:
        #ffffff !important;

    font-size:
        13px !important;

    font-weight:
        900 !important;

    letter-spacing:
        0.2px;

    transition:
        0.2s ease;
}

body.single-product
.woocommerce div.product
form.cart
.single_add_to_cart_button:hover {
    background:
        var(--pm-green-dark) !important;

    transform:
        translateY(-1px);
}


/* BUY NOW */

.pm-buy-now-button {
    min-height:
        48px;

    padding:
        0 25px !important;

    margin:
        0 !important;

    border:
        1px solid var(--pm-gold-dark) !important;

    border-radius:
        7px !important;

    background:
        var(--pm-gold) !important;

    color:
        #17231d !important;

    font-size:
        13px !important;

    font-weight:
        900 !important;

    cursor:
        pointer;

    transition:
        0.2s ease;
}

.pm-buy-now-button:hover {
    background:
        var(--pm-gold-dark) !important;

    color:
        #ffffff !important;

    transform:
        translateY(-1px);
}


/* ======================================================
   WISHLIST
====================================================== */

body.single-product
.tinv-wishlist {
    margin:
        8px 0 14px;
}

body.single-product
.tinvwl_add_to_wishlist_button {
    color:
        var(--pm-green) !important;

    font-size:
        12px !important;

    font-weight:
        700 !important;

    text-decoration:
        none !important;
}


/* ======================================================
   TRUST BOX
====================================================== */

.pm-marketplace-trust {
    margin:
        14px 0 18px;

    padding:
        14px;

    display:
        grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap:
        8px;

    border:
        1px solid var(--pm-border);

    border-radius:
        var(--pm-radius);

    background:
        var(--pm-soft-green);
}

.pm-trust-item {
    display:
        flex;

    align-items:
        flex-start;

    gap:
        8px;
}

.pm-trust-icon {
    width:
        26px;

    height:
        26px;

    flex:
        0 0 26px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    border-radius:
        50%;

    background:
        var(--pm-green);

    color:
        #ffffff;

    font-size:
        11px;

    font-weight:
        900;
}

.pm-trust-item strong {
    display:
        block;

    margin-bottom:
        2px;

    color:
        var(--pm-text);

    font-size:
        11px;

    line-height:
        1.25;

    font-weight:
        800;
}

.pm-trust-item small {
    display:
        block;

    color:
        var(--pm-muted);

    font-size:
        9px;

    line-height:
        1.4;
}


/* ======================================================
   PRODUCT META
====================================================== */

.pm-product-meta {
    margin:
        10px 0 16px;

    padding:
        12px 14px;

    border:
        1px solid var(--pm-border);

    border-radius:
        8px;

    background:
        #ffffff;
}

.pm-meta-item {
    padding:
        5px 0;

    display:
        flex;

    align-items:
        flex-start;

    gap:
        10px;

    color:
        var(--pm-muted);

    font-size:
        11px;
}

.pm-meta-item > span {
    min-width:
        65px;

    color:
        #777f7a;

    font-weight:
        700;
}

.pm-meta-item strong {
    color:
        var(--pm-text);

    font-weight:
        700;
}

.pm-meta-item a {
    color:
        var(--pm-green) !important;

    text-decoration:
        none !important;
}


/* ======================================================
   PRODUCT GALLERY
====================================================== */

body.single-product
.woocommerce-product-gallery {
    margin-bottom:
        25px !important;
}

body.single-product
.woocommerce-product-gallery__wrapper {
    overflow:
        hidden;

    border:
        1px solid #edf0ee;

    border-radius:
        var(--pm-radius);

    background:
        #ffffff;
}

body.single-product
.woocommerce-product-gallery__image
img {
    width:
        100% !important;

    height:
        auto !important;

    object-fit:
        contain;
}

body.single-product
.flex-control-thumbs {
    margin-top:
        12px !important;

    display:
        flex;

    gap:
        10px;

    flex-wrap:
        wrap;
}

body.single-product
.flex-control-thumbs li {
    width:
        72px !important;

    float:
        none !important;

    margin:
        0 !important;
}

body.single-product
.flex-control-thumbs img {
    padding:
        3px;

    border:
        1px solid #dde4df;

    border-radius:
        7px;

    background:
        #ffffff;

    opacity:
        1 !important;

    transition:
        0.2s ease;
}

body.single-product
.flex-control-thumbs img.flex-active,
body.single-product
.flex-control-thumbs img:hover {
    border-color:
        var(--pm-green);
}


/* ======================================================
   WOOCOMMERCE TABS
====================================================== */

body.single-product
.woocommerce-tabs {
    margin-top:
        38px;
}

body.single-product
.woocommerce-tabs
ul.tabs {
    display:
        flex;

    flex-wrap:
        wrap;

    gap:
        6px;

    padding:
        0 !important;

    margin:
        0 0 22px !important;

    border-bottom:
        1px solid var(--pm-border);
}

body.single-product
.woocommerce-tabs
ul.tabs::before {
    display:
        none !important;
}

body.single-product
.woocommerce-tabs
ul.tabs li {
    margin:
        0 !important;

    padding:
        0 !important;

    border:
        0 !important;

    border-radius:
        7px 7px 0 0 !important;

    background:
        transparent !important;
}

body.single-product
.woocommerce-tabs
ul.tabs li::before,
body.single-product
.woocommerce-tabs
ul.tabs li::after {
    display:
        none !important;
}

body.single-product
.woocommerce-tabs
ul.tabs li a {
    padding:
        11px 15px !important;

    color:
        #59615d !important;

    font-size:
        12px;

    font-weight:
        700 !important;

    text-decoration:
        none !important;
}

body.single-product
.woocommerce-tabs
ul.tabs li.active {
    background:
        var(--pm-green) !important;
}

body.single-product
.woocommerce-tabs
ul.tabs li.active a {
    color:
        #ffffff !important;
}


/* TAB CONTENT */

body.single-product
.woocommerce-Tabs-panel {
    color:
        #48514c;

    font-size:
        14px;

    line-height:
        1.75;
}

body.single-product
.woocommerce-Tabs-panel h2 {
    margin:
        0 0 18px;

    color:
        var(--pm-text);

    font-size:
        27px;

    font-weight:
        800;
}


/* ======================================================
   SPECIFICATION TABLE
====================================================== */

body.single-product
.woocommerce-product-attributes {
    border:
        1px solid var(--pm-border);

    border-radius:
        8px;

    overflow:
        hidden;
}

body.single-product
.woocommerce-product-attributes
th,
body.single-product
.woocommerce-product-attributes
td {
    padding:
        12px 14px !important;

    border-bottom:
        1px solid #edf0ee !important;

    font-size:
        13px;
}

body.single-product
.woocommerce-product-attributes
th {
    width:
        180px;

    background:
        var(--pm-soft-green);

    color:
        var(--pm-green-dark);

    font-weight:
        800;
}

body.single-product
.woocommerce-product-attributes
td {
    background:
        #ffffff;

    color:
        var(--pm-text);
}


/* ======================================================
   VENDOR INFO TAB / STORE CARD
====================================================== */

body.single-product
#tab-seller,
body.single-product
#tab-more_seller_product {
    padding-top:
        5px;
}

body.single-product
.dokan-vendor-info-wrap,
body.single-product
.seller-rating {
    border-color:
        var(--pm-border);
}


/* ======================================================
   RELATED PRODUCTS
====================================================== */

body.single-product
.related.products,
body.single-product
.up-sells {
    margin-top:
        45px;
}

body.single-product
.related.products > h2,
body.single-product
.up-sells > h2 {
    margin-bottom:
        22px;

    color:
        var(--pm-text);

    font-size:
        27px;

    font-weight:
        800;
}


/* ======================================================
   PRODUCT CARDS
====================================================== */

body.single-product
.woocommerce ul.products li.product {
    padding:
        10px;

    border:
        1px solid var(--pm-border);

    border-radius:
        10px;

    background:
        #ffffff;

    transition:
        0.2s ease;
}

body.single-product
.woocommerce ul.products li.product:hover {
    transform:
        translateY(-3px);

    box-shadow:
        var(--pm-shadow-soft);
}

body.single-product
.woocommerce ul.products li.product
.woocommerce-loop-product__title {
    color:
        var(--pm-text);

    font-size:
        14px;

    font-weight:
        700;
}

body.single-product
.woocommerce ul.products li.product
.price {
    color:
        var(--pm-green);

    font-weight:
        800;
}


/* ======================================================
   RESPONSIVE 1180
====================================================== */

@media (max-width: 1180px) {

    .pm-desktop-action {
        display:
            none !important;
    }

    .pm-logo {
        width:
            180px;

        flex-basis:
            180px;
    }

    .pm-logo img,
    .pm-logo img.custom-logo {
        max-width:
            170px !important;
    }

    .pm-category-links {
        gap:
            14px;
    }

    .pm-marketplace-trust {
        grid-template-columns:
            1fr;
    }
}


/* ======================================================
   RESPONSIVE 850
====================================================== */

@media (max-width: 850px) {

    .pm-topbar {
        display:
            none;
    }

    .pm-main-inner {
        min-height:
            auto;

        padding:
            11px 0;

        flex-wrap:
            wrap;

        gap:
            11px;
    }

    .pm-mobile-toggle {
        display:
            block;
    }

    .pm-logo {
        width:
            auto;

        flex:
            1;
    }

    .pm-logo img,
    .pm-logo img.custom-logo {
        max-width:
            145px !important;

        max-height:
            45px !important;
    }

    .pm-header-actions {
        gap:
            9px;
    }

    .pm-action-text {
        display:
            none;
    }

    .pm-search-wrapper {
        order:
            20;

        flex:
            0 0 100%;

        width:
            100%;
    }

    .pm-search-form {
        height:
            46px;
    }

    .pm-search-category {
        width:
            120px !important;

        min-width:
            120px;

        font-size:
            10px !important;
    }

    .pm-search-button {
        width:
            70px !important;

        min-width:
            70px;
    }

    .pm-category-bar {
        display:
            none;
    }

    body.single-product
    .woocommerce div.product
    .summary {
        padding-left:
            0;
    }

    .pm-highlight-grid {
        grid-template-columns:
            1fr;
    }

    .pm-marketplace-trust {
        grid-template-columns:
            1fr;
    }
}


/* ======================================================
   RESPONSIVE 600
====================================================== */

@media (max-width: 600px) {

    .pm-vendor-attributes-body {
        padding:
            14px;
    }

    .pm-vendor-attribute-options {
        gap:
            6px;
    }

    .pm-attribute-option {
        padding:
            7px 9px;
    }

    body.single-product
    .woocommerce div.product
    .product_title {
        font-size:
            27px;
    }

    .pm-product-social-proof {
        gap:
            5px;
    }

    .pm-social-separator {
        display:
            none;
    }

    .pm-product-social-proof {
        flex-direction:
            column;

        align-items:
            flex-start;
    }

    body.single-product
    .woocommerce div.product
    form.cart {
        display:
            grid;

        grid-template-columns:
            auto 1fr;

        width:
            100%;
    }

    body.single-product
    .woocommerce div.product
    form.cart
    .quantity {
        grid-column:
            1 / 2;
    }

    body.single-product
    .woocommerce div.product
    form.cart
    .single_add_to_cart_button {
        grid-column:
            2 / 3;
    }

    .pm-buy-now-button {
        grid-column:
            1 / -1;

        width:
            100%;
    }

    .pm-highlight-heading {
        align-items:
            flex-start;

        flex-direction:
            column;

        gap:
            3px;
    }

    .pm-market-row {
        flex-direction:
            column;

        align-items:
            flex-start;

        gap:
            3px;
    }

    .pm-market-row strong {
        text-align:
            left;
    }
}


/* ======================================================
   RESPONSIVE 520
====================================================== */

@media (max-width: 520px) {

    .pm-container {
        width:
            calc(100% - 24px);
    }

    .pm-search-category {
        display:
            none;
    }

    .pm-logo img,
    .pm-logo img.custom-logo {
        max-width:
            128px !important;
    }

    .pm-live-product {
        grid-template-columns:
            46px 1fr;
    }

    .pm-live-product img {
        width:
            46px !important;

        height:
            46px !important;
    }

    .pm-live-price {
        grid-column:
            2;
    }

    .pm-product-highlights,
    .pm-market-availability {
        padding:
            13px;
    }

    body.single-product
    .woocommerce-product-attributes
    th {
        width:
            115px;
    }

    body.single-product
    .woocommerce-tabs
    ul.tabs {
        display:
            grid;

        grid-template-columns:
            repeat(2, 1fr);
    }

    body.single-product
    .woocommerce-tabs
    ul.tabs li a {
        display:
            block;

        text-align:
            center;
    }
}