
.gpcps-shop{max-width:1100px;margin:0 auto}
.gpcps-header{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:flex-start;margin-bottom:14px}
.gpcps-title{margin:0}
.gpcps-pickup{border:1px solid #e5e5e5;border-radius:14px;padding:12px;background:#fff;max-width:520px}
.gpcps-pickup-address,.gpcps-pickup-note{color:#444;font-size:14px;margin-top:4px}
.gpcps-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
.gpcps-card{border:1px solid #e7e7e7;border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.04)}
.gpcps-img img{width:100% !important;height:360px !important;object-fit:contain !important;display:block;background:#fff}

/* Force select text to black (some themes override selects) */
.gpcps-shop select{
    background:#fff !important;
    color:#111 !important;
    border:1px solid #bbb;
    appearance:auto;
    -webkit-appearance:menulist;
}

.gpcps-shop option{
    background:#fff !important;
    color:#111 !important;
}

.gpcps-shop option:checked{
    background:#d4af37 !important;
    color:#000 !important;
}

.gpcps-imgph{height:360px;background:linear-gradient(135deg,#f2f2f2,#fafafa)}
.gpcps-body{padding:12px}
.gpcps-body h3{margin:0 0 6px}
.gpcps-desc{font-size:14px;color:#555;margin-bottom:10px}
.gpcps-details{border:1px solid #eee;border-radius:14px;padding:10px;background:#fafafa}
.gpcps-summary{cursor:pointer;font-weight:700}
.gpcps-form{margin-top:10px}
.gpcps-selects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
@media (max-width:520px){.gpcps-selects{grid-template-columns:1fr}}
.gpcps-field label{display:block;font-size:13px;color:#666;margin:0 0 4px}
.gpcps-field select{width:100%;padding:10px;border:1px solid #ddd;border-radius:12px;background:#fff;color:#000 !important}

.gpcps-price-row{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:20px;
    margin-bottom:20px;
}

/* MOBILE */
@media (max-width:768px){

    .gpcps-price-row{
        flex-direction:column;
        align-items:stretch;
        gap:12px;
    }

    .gpcps-price,
    .gpcps-qty-wrap{
        width:100%;
    }

    .gpcps-qty{
        width:100%;
        box-sizing:border-box;
    }

}

.gpcps-actions{
    display:flex;
    flex-direction:column;
    gap:12px;
    width:100%;
    margin-top:20px;
}

.gpcps-actions .gpcps-btn{
    display:block;
    width:100%;
    max-width:none;
    margin:0;
    box-sizing:border-box;
}

.gpcps-price{font-size:15px}
.gpcps-muted{color:#777;font-size:12px;margin-left:6px}
.gpcps-qty-wrap label{display:block;font-size:13px;color:#666;margin:0 0 4px}
.gpcps-qty{width:90px;padding:10px;border:1px solid #ddd;border-radius:12px}
.gpcps-customer{margin-top:12px}
.gpcps-customer h4{margin:0 0 8px}
.gpcps-row{display:flex;gap:10px;margin-bottom:10px}
.gpcps-row input,.gpcps-row select{flex:1;padding:10px;border:1px solid #ddd;border-radius:12px;background:#fff;color:#000 !important}

/* Make option text black too (some themes set option color via inherit) */
.gpcps-card select option{color:#000 !important}
.gpcps-btn{padding:12px 14px;border-radius:12px;border:1px solid #cfcfcf;background:#fff;cursor:pointer;width:100%;font-weight:700}
.gpcps-primary{border:none}
.gpcps-footer{margin-top:16px;padding:12px;border:1px solid #eee;border-radius:14px;background:#fff}
.gpcps-empty{padding:12px;border:1px dashed #ddd;border-radius:12px;color:#666}


.gpcps-cart-top-btn{
  margin-left:auto;
  background:#fff;
  border:1px solid #cfd7df;
  padding:6px 10px;
  border-radius:6px;
  cursor:pointer;
}
.gpcps-cart-modal{ position:fixed; inset:0; z-index:99999; }
.gpcps-cart-modal__backdrop{ position:absolute; inset:0; background:rgba(0,0,0,0.45); }

.gpcps-cart-modal__panel{
    position:relative;
    background:#fff;
    color:#111;
    width:min(820px,92vw);
    max-height:85vh;
    margin:6vh auto;
    border-radius:10px;
    overflow:auto;
    padding:16px;
    -webkit-overflow-scrolling:touch;
    padding-bottom:110px;
}
.gpcps-cart-modal__head{ display:flex; align-items:center; justify-content:space-between; }
.gpcps-cart-close{ font-size:26px; line-height:1; background:none; border:none; cursor:pointer; }
.gpcps-cart-table th, .gpcps-cart-table td{ border-bottom:1px solid #eee; padding:8px; vertical-align:top; }
.gpcps-cart-total{ text-align:right; margin-top:10px; }
.gpcps-cart-footer{ display:flex; gap:8px; justify-content:flex-end; margin-top:12px; flex-wrap:wrap; }
.gpcps-checkout-wrap{ margin-top:16px; padding-top:12px; border-top:1px solid #eee; }



/* Mobile safety: ensure checkout section and Buy button are always reachable */
.gpcps-cart-modal__panel{
  -webkit-overflow-scrolling: touch;
  padding-bottom: 110px; /* space for sticky footer on small screens */
}
.gpcps-cart-footer{

    display:flex;
    flex-direction:column;

    align-items:center;
    justify-content:center;

    gap:12px;

    margin-top:18px;

    position:sticky;
    bottom:0;

    background:#fff;

    padding:14px 0;

    border-top:1px solid #e5e5e5;
}
.gpcps-checkout-wrap{
  display: block;
}
.gpcps-checkout-form .gpcps-btn.gpcps-primary{
  width: 100%;
}
@media (max-width: 480px){
  .gpcps-cart-modal__panel{
    width: 96vw;
    margin: 2vh auto;
    max-height: 92vh;
  }
  .gpcps-cart-table th:nth-child(3),
  .gpcps-cart-table td:nth-child(3){
    white-space: nowrap;
  }
}


/* Goldusters Premium Theme Upgrade */
.gpcps-shop-wrap,
.gpcps-card,
.gpcps-product-card{
    background:#050505 !important;
    border:1px solid #d4af37 !important;
    border-radius:22px !important;
    box-shadow:0 0 25px rgba(212,175,55,.15);
}

.gpcps-title,
.gpcps-product-title,
.gpcps-price{
    color:#d4af37 !important;
}

.gpcps-btn,
button,
.button{
    background:#d4af37 !important;
    color:#000 !important;
    border-radius:14px !important;
    font-weight:700 !important;
}

.gpcps-badge-preorder{
    display:inline-block;
    background:#d4af37;
    color:#000;
    padding:6px 12px;
    border-radius:999px;
    font-weight:700;
    margin-left:8px;
}

.gpcps-shipping-options{
    display:flex;
    gap:10px;
    margin-top:12px;
}

.gpcps-ship-pill{
    background:#102542;
    color:#fff;
    border-radius:999px;
    padding:8px 14px;
    font-size:13px;
    font-weight:700;
}

/* ==========================================
   CART MODAL FIXES
========================================== */

.gpcps-cart-modal__panel h3,
.gpcps-cart-modal__panel h4{
    color:#111;
}

.gpcps-cart-table{
    width:100%;
    border-collapse:collapse;
    background:#fff;
    color:#111;
}

.gpcps-cart-table thead{
    background:#f3f3f3;
}

.gpcps-cart-table th{
    color:#111 !important;
    font-weight:700;
    text-align:left;
    padding:12px;
}

.gpcps-cart-table td{
    color:#222 !important;
    background:#fff;
    padding:12px;
}

.gpcps-cart-table .gpcps-muted{
    color:#666 !important;
}

.gpcps-cart-total{
    color:#111;
    font-size:18px;
    margin-top:15px;
}

.gpcps-cart-footer .gpcps-btn{

    display:block;

    width:100%;
    max-width:680px;

    margin:0 auto;

    text-align:center;
}

.gpcps-cart-remove{

    background:#d4af37;
    color:#000 !important;

    border:none;

    border-radius:20px;

    padding:6px 14px;

    cursor:pointer;

    font-weight:600;
}

.gpcps-cart-remove:hover{
    filter:brightness(.95);
}

.gpcps-cart-table th:nth-child(1),
.gpcps-cart-table td:nth-child(1){
    width:60%;
}

.gpcps-cart-table th:nth-child(2),
.gpcps-cart-table td:nth-child(2){
    width:10%;
    text-align:center;
}

.gpcps-cart-table th:nth-child(3),
.gpcps-cart-table td:nth-child(3){
    width:15%;
    text-align:center;
}

.gpcps-cart-table th:nth-child(4),
.gpcps-cart-table td:nth-child(4){
    width:15%;
    text-align:center;
}

/* ===========================================
   G-STORE MOBILE PRODUCT FIX
=========================================== */

@media (max-width:768px){

    .gpcps-card{
        overflow:hidden;
    }

    .gpcps-body{
        padding:15px;
    }

    .gpcps-body h3{
        color:#d4af37 !important;
    }

    .gpcps-desc{
        color:#111 !important;
        background:#fff;
        padding:10px;
        border-radius:10px;
    }

    .gpcps-details{
        background:#fff;
    }

    .gpcps-details,
    .gpcps-details *,
    .gpcps-form label,
    .gpcps-form p,
    .gpcps-field label{
        color:#111 !important;
    }

    .gpcps-field select{
        width:100%;
        color:#000 !important;
        background:#fff !important;
    }

    .gpcps-btn{
        width:100% !important;
        display:block;
        margin:0 0 12px 0 !important;
    }

}
/* G-Store 4.0 catalog + product pages */
.gpcps-legacy-customize{display:none!important}
.gpcps-catalog-card{position:relative;transition:transform .2s ease,box-shadow .2s ease}
.gpcps-catalog-card:hover{transform:translateY(-5px);box-shadow:0 18px 45px rgba(0,0,0,.18)}
.gpcps-catalog-price{font-size:22px;font-weight:800;color:#d4af37;margin:8px 0 14px}
.gpcps-view-product{display:block;text-align:center;text-decoration:none!important;background:#d4af37;color:#090909!important;font-weight:800;padding:13px 18px;border-radius:10px}
.gpcps-product-page{max-width:1180px;margin:0 auto;padding:24px}
.gpcps-back{display:inline-block;margin:0 0 22px;color:#d4af37!important;font-weight:700;text-decoration:none!important}
.gpcps-product-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:48px;align-items:start;background:#0c0c0c;border:1px solid rgba(212,175,55,.35);border-radius:24px;padding:32px;box-shadow:0 20px 60px rgba(0,0,0,.18)}
.gpcps-product-media{background:#fff;border-radius:18px;overflow:hidden;min-height:420px;display:flex;align-items:center;justify-content:center}
.gpcps-product-media img{display:block;width:100%;height:auto;max-height:650px;object-fit:contain}
.gpcps-product-info h1{color:#fff!important;font-size:38px;line-height:1.1;margin:8px 0 12px}
.gpcps-product-kicker{font-size:12px;letter-spacing:3px;color:#d4af37;font-weight:800}
.gpcps-product-price{font-size:30px;font-weight:900;color:#d4af37;margin:10px 0 18px}
.gpcps-product-description,.gpcps-product-description p{color:#ddd!important}
.gpcps-product-form{margin-top:24px}.gpcps-product-form .gpcps-field{margin-bottom:16px}
.gpcps-product-form label{display:block;color:#fff!important;font-weight:700;margin-bottom:7px}
.gpcps-product-form select,.gpcps-product-form input{width:100%;min-height:48px;border-radius:10px;border:1px solid #444;background:#fff;color:#111!important;padding:10px 12px}
.gpcps-product-form .gpcps-qty-wrap{max-width:140px;margin:10px 0 20px}
.gpcps-product-form .gpcps-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.gpcps-pickup-mini{margin-top:22px;padding:16px;border:1px solid rgba(212,175,55,.35);border-radius:12px;color:#ddd}.gpcps-pickup-mini strong{color:#d4af37}
.gpcps-buyer-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.gpcps-buyer-grid input,.gpcps-buyer-grid select,.gpcps-checkout-form textarea{width:100%;padding:11px;border:1px solid #ccc;border-radius:8px;background:#fff;color:#111!important}.gpcps-checkout-form textarea{margin:10px 0;min-height:80px}
@media(max-width:800px){.gpcps-product-page{padding:10px}.gpcps-product-layout{grid-template-columns:1fr;gap:22px;padding:16px;border-radius:16px}.gpcps-product-media{min-height:260px}.gpcps-product-info h1{font-size:30px}.gpcps-product-form .gpcps-actions,.gpcps-buyer-grid{grid-template-columns:1fr}}


/* G-Store 4.0.2: product visibility + wide professional detail page */
body .gpcps-shop.gpcps-product-page{
    max-width:1500px !important;
    width:calc(100vw - 70px) !important;
    margin-left:50% !important;
    transform:translateX(-50%) !important;
    padding:30px 18px !important;
    box-sizing:border-box !important;
}
body .gpcps-product-page .gpcps-product-layout{
    grid-template-columns:minmax(500px,1.12fr) minmax(460px,.88fr) !important;
    gap:58px !important;
    padding:42px !important;
}
body .gpcps-product-page .gpcps-product-info h1,
body .gpcps-product-page .gpcps-product-info h1 *{
    color:#fff !important;
    -webkit-text-fill-color:#fff !important;
    opacity:1 !important;
    visibility:visible !important;
    text-shadow:none !important;
}
body .gpcps-product-page .gpcps-product-form .gpcps-qty-wrap label{
    color:#fff !important;
    -webkit-text-fill-color:#fff !important;
    opacity:1 !important;
    visibility:visible !important;
}
body .gpcps-product-page .gpcps-product-form input.gpcps-qty{
    background:#fff !important;
    color:#111 !important;
    -webkit-text-fill-color:#111 !important;
    border:1px solid #ddd !important;
    opacity:1 !important;
    font-weight:700 !important;
}
body .gpcps-product-page .gpcps-product-media img{
    transition:opacity .18s ease, transform .22s ease;
}
body .gpcps-product-page .gpcps-product-media img.gpcps-image-changing{
    opacity:.18;
    transform:scale(.985);
}
@media(max-width:1150px){
 body .gpcps-product-page .gpcps-product-layout{grid-template-columns:minmax(360px,1fr) minmax(380px,1fr)!important;gap:30px!important;padding:28px!important}
}
@media(max-width:800px){
 body .gpcps-shop.gpcps-product-page{width:100%!important;margin-left:auto!important;transform:none!important;padding:10px!important}
 body .gpcps-product-page .gpcps-product-layout{grid-template-columns:1fr!important;gap:22px!important;padding:16px!important}
}

/* G-Store 4.1.3: mobile catalog description contrast fix */
@media (max-width:768px){
    body .gpcps-shop .gpcps-catalog-card .gpcps-desc,
    body .gpcps-shop .gpcps-catalog-card .gpcps-desc p,
    body .gpcps-shop .gpcps-catalog-card .gpcps-desc span,
    body .gpcps-shop .gpcps-catalog-card .gpcps-desc strong,
    body .gpcps-shop .gpcps-catalog-card .gpcps-desc em,
    body .gpcps-shop .gpcps-catalog-card .gpcps-desc a{
        color:#111 !important;
    }
    body .gpcps-shop .gpcps-catalog-card .gpcps-desc{
        background:#fff !important;
    }
}
\n\n/* G-Store 4.1.4: variation image updated notice */\n.gpcps-variation-image-notice{\n    display:none;\n    align-items:center;\n    justify-content:space-between;\n    gap:12px;\n    margin:2px 0 16px;\n    padding:10px 12px;\n    border:1px solid rgba(212,175,55,.55);\n    border-radius:10px;\n    background:rgba(212,175,55,.10);\n    color:#fff;\n    font-size:13px;\n    font-weight:700;\n}\n.gpcps-variation-image-notice.is-visible{display:flex}\n.gpcps-variation-image-notice .gpcps-view-updated-image{\n    appearance:none;\n    border:0;\n    border-radius:8px;\n    background:#d4af37;\n    color:#111;\n    padding:8px 12px;\n    font:inherit;\n    font-weight:800;\n    cursor:pointer;\n    white-space:nowrap;\n}\n@media(max-width:800px){\n    .gpcps-variation-image-notice{\n        font-size:14px;\n        padding:11px 12px;\n    }\n}\n
/* v4.1.5 - clearer product-card separation */
.gpcps-card,
.gpcps-product-card{
    border:2px solid #d4af37 !important;
    box-shadow:0 0 30px rgba(212,175,55,.22) !important;
}

@media (max-width:768px){
    .gpcps-grid{
        row-gap:24px !important;
    }
    .gpcps-card,
    .gpcps-product-card{
        margin-bottom:8px;
        border:2px solid #e0b936 !important;
        box-shadow:0 0 22px rgba(212,175,55,.28) !important;
    }
}

/* v4.1.6 - high-visibility catalog product borders only */
body .gpcps-shop .gpcps-grid .gpcps-card.gpcps-catalog-card{
    border:3px solid #f2c94c !important;
    outline:1px solid rgba(255,215,64,.28);
    outline-offset:2px;
    box-shadow:
        0 0 0 1px rgba(242,201,76,.22),
        0 0 18px rgba(242,201,76,.32),
        0 14px 30px rgba(0,0,0,.34) !important;
}
@media (max-width:768px){
    body .gpcps-shop .gpcps-grid{
        row-gap:30px !important;
    }
    body .gpcps-shop .gpcps-grid .gpcps-card.gpcps-catalog-card{
        border:3px solid #f2c94c !important;
        outline:1px solid rgba(255,215,64,.34);
        outline-offset:2px;
        box-shadow:
            0 0 0 1px rgba(242,201,76,.25),
            0 0 20px rgba(242,201,76,.38),
            0 12px 28px rgba(0,0,0,.38) !important;
        margin-bottom:10px !important;
    }
}


/* v4.2.1 - storefront product card badge */
.gpcps-catalog-card .gpcps-img{position:relative;}
.gpcps-catalog-card .gpcps-card-badge{
    position:absolute;
    top:12px;
    left:12px;
    z-index:6;
    display:inline-block;
    max-width:calc(100% - 24px);
    padding:7px 12px;
    border:2px solid #f2c94c;
    border-radius:999px;
    background:rgba(10,10,10,.94);
    color:#ffd700 !important;
    box-shadow:0 3px 12px rgba(0,0,0,.45);
    font-size:12px;
    line-height:1.15;
    font-weight:900;
    letter-spacing:.06em;
    text-transform:uppercase;
    white-space:normal;
}
@media(max-width:768px){
    .gpcps-catalog-card .gpcps-card-badge{top:10px;left:10px;padding:6px 10px;font-size:11px;}
}

/* v4.3.0 Optional Shipping */
.gpcps-delivery{margin:16px 0;padding:14px;border:1px solid #d4af37;border-radius:10px;background:#111;color:#f5f5f5}
.gpcps-delivery h4{margin:0 0 10px;color:#ffd700!important}.gpcps-shipping-fields{grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.gpcps-shipping-fields input{width:100%;background:#fff!important;color:#111!important}
@media(max-width:600px){.gpcps-shipping-fields{grid-template-columns:1fr}}


/* v4.3.1 - admin-controlled desktop products per row */
@media (min-width:1101px){
  body .gpcps-shop .gpcps-grid{
    grid-template-columns:repeat(var(--gpcps-products-per-row,3),minmax(0,1fr)) !important;
  }
}
@media (min-width:701px) and (max-width:1100px){
  body .gpcps-shop .gpcps-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media (max-width:700px){
  body .gpcps-shop .gpcps-grid{grid-template-columns:1fr !important;}
}
