/* Gem Store Flow – maroon / blush theme. Override any colour in your theme's Additional CSS. */
:root{
  --gsf-maroon:#7a1f48; --gsf-maroon-d:#5c1236; --gsf-peach:#f6c98f; --gsf-peach-d:#efb877;
  --gsf-ink:#2b1620; --gsf-muted:#8a6f78; --gsf-blush:#fdf2ee; --gsf-blush2:#fbe4dd;
  --gsf-line:#f0d6d0; --gsf-r:16px; --gsf-shadow:0 8px 24px rgba(122,31,72,.10);
}
.gsf-i{vertical-align:middle;flex:none}

/* ================= Product cards ================= */
.gsf-grid{display:grid;grid-template-columns:repeat(var(--gsf-cols,4),1fr);gap:18px;margin:0 0 24px}
.gsf-card,
body.gsf-on ul.products li.product{
  position:relative;background:linear-gradient(180deg,#fff 0%,var(--gsf-blush) 100%);
  border:1px solid var(--gsf-line);border-radius:var(--gsf-r);padding:6px 6px 16px;text-align:center;
  box-shadow:var(--gsf-shadow);transition:transform .2s,box-shadow .2s;overflow:hidden;
}
.gsf-card:hover,body.gsf-on ul.products li.product:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(122,31,72,.16)}
.gsf-thumb{display:block;border-radius:12px;overflow:hidden;background:var(--gsf-blush2)}
.gsf-thumb img,body.gsf-on ul.products li.product img{display:block;width:100%;height:auto;border-radius:12px;aspect-ratio:1/1;object-fit:cover}
.gsf-title,body.gsf-on ul.products li.product .woocommerce-loop-product__title{
  font-size:15px;line-height:1.35;font-weight:600;color:var(--gsf-ink);margin:14px 8px 6px;padding:0}
.gsf-title a{color:inherit;text-decoration:none}
.gsf-price,body.gsf-on ul.products li.product .price{display:block;font-size:17px;font-weight:700;color:var(--gsf-ink);margin:0 0 4px}
.gsf-price del,body.gsf-on ul.products li.product .price del{font-weight:400;opacity:.55;font-size:.85em}
.gsf-price ins,body.gsf-on ul.products li.product .price ins{text-decoration:none}
.gsf-rating{display:flex;justify-content:center;align-items:center;gap:4px;font-size:13px;color:var(--gsf-ink);margin:2px 0 12px}
.gsf-star{color:#f5a623;font-size:15px;line-height:1}
.gsf-count{color:var(--gsf-muted)}
body.gsf-on ul.products li.product .star-rating{display:none}

.gsf-btn,
body.gsf-on ul.products li.product a.button,
body.gsf-on ul.products li.product a.add_to_cart_button{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--gsf-peach);color:#3b1a12;
  border:0;border-radius:12px;padding:10px 22px;font-size:14px;font-weight:600;text-decoration:none;cursor:pointer;
  box-shadow:inset 0 -1px 0 rgba(0,0,0,.06);transition:background .15s,transform .1s;margin-top:4px;line-height:1.2}
.gsf-btn:hover,body.gsf-on ul.products li.product a.button:hover{background:var(--gsf-peach-d);color:#3b1a12}
.gsf-btn:active{transform:scale(.97)}
.gsf-btn.is-loading,a.add_to_cart_button.is-loading{opacity:.6;pointer-events:none}
body.gsf-on ul.products li.product a.added_to_cart{display:none!important}

/* Heart */
.gsf-heart{position:absolute;top:14px;right:14px;z-index:5;width:34px;height:34px;border-radius:50%;background:#fff;border:0;
  display:flex;align-items:center;justify-content:center;color:#222;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.12);padding:0;transition:transform .15s}
.gsf-heart:hover{transform:scale(1.1)}
.gsf-heart.is-on{color:#d6275a}
.gsf-heart.is-on svg{fill:#d6275a}
.gsf-heart-ti{background:#fff}
.gsf-heart-ti .tinv-wraper,.gsf-heart-ti .tinvwl_add_to_wishlist_button{margin:0!important;display:flex!important;align-items:center;justify-content:center;width:34px;height:34px}
.gsf-heart-ti .tinvwl_add_to_wishlist-text{display:none!important}
body.gsf-on ul.products li.product .tinv-wraper{position:absolute;top:14px;right:14px;z-index:5;background:#fff;border-radius:50%;width:34px;height:34px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,.12);margin:0}
body.gsf-on ul.products li.product .tinv-wraper .tinvwl_add_to_wishlist-text{display:none!important}

/* ================= Toast ================= */
.gsf-toasts{position:fixed;top:96px;right:20px;z-index:999999;width:min(380px,calc(100vw - 24px));pointer-events:none}
.gsf-toast{pointer-events:auto;display:flex;align-items:center;gap:12px;background:#fff;border-radius:14px;padding:14px 16px;
  box-shadow:0 12px 36px rgba(60,10,35,.22);border:1px solid var(--gsf-line);opacity:0;transform:translateX(40px);transition:all .3s cubic-bezier(.2,.8,.2,1)}
.gsf-toast.in{opacity:1;transform:none}
.gsf-toast-ico{flex:none;width:28px;height:28px;border-radius:50%;background:#2e9e5b;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700}
.gsf-toast-ico.is-error{background:#d6275a}
.gsf-toast-txt{flex:1;min-width:0;font-size:14px;line-height:1.35;color:var(--gsf-ink)}
.gsf-toast-txt strong{display:block;font-weight:600;word-break:break-word}
.gsf-toast-txt span{color:var(--gsf-muted)}
.gsf-toast-link{flex:none;font-size:14px;font-weight:600;color:var(--gsf-maroon);text-decoration:none;white-space:nowrap}
.gsf-toast-x{flex:none;align-self:flex-start;background:none;border:0;color:#999;cursor:pointer;padding:2px}
body.admin-bar .gsf-toasts{top:128px}
@media(max-width:600px){.gsf-toasts{top:70px;right:12px;left:12px;width:auto}}

/* ================= Quantity ================= */
.gsf-qty{display:inline-flex;align-items:center;border:1px solid var(--gsf-line);border-radius:10px;background:#fff;overflow:hidden}
.gsf-qty .qty{width:46px;border:0!important;text-align:center;background:transparent;padding:8px 0;box-shadow:none;-moz-appearance:textfield}
.gsf-qty .qty::-webkit-inner-spin-button,.gsf-qty .qty::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.gsf-q{width:34px;height:38px;background:#fff;border:0;font-size:18px;color:var(--gsf-maroon);cursor:pointer;padding:0}
.gsf-q:hover{background:var(--gsf-blush)}

/* ================= Shared primary button ================= */
.gsf-btn-primary,
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
body.woocommerce-checkout #place_order,
.gsf-next,.gsf-checkout .gsf-apply{
  background:var(--gsf-maroon)!important;color:#fff!important;border:0;border-radius:12px;padding:14px 26px;font-size:15px;font-weight:600;
  cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:background .15s;line-height:1.2}
.gsf-btn-primary:hover,body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,body.woocommerce-checkout #place_order:hover,.gsf-next:hover{background:var(--gsf-maroon-d)!important}
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,body.woocommerce-checkout #place_order{width:100%;margin:0;float:none}
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button::after{content:"→"}

/* ================= Cart ================= */
.gsf-cart-title{font-size:24px;color:var(--gsf-ink);margin:0 0 18px;display:flex;align-items:center;gap:8px}
.gsf-cart-title span{color:var(--gsf-muted);font-weight:400;font-size:.8em}
body.woocommerce-cart .woocommerce{display:grid;grid-template-columns:1fr 360px;gap:24px;align-items:start}
body.woocommerce-cart .woocommerce>.gsf-cart-title,body.woocommerce-cart .woocommerce>.woocommerce-notices-wrapper{grid-column:1/-1}
body.woocommerce-cart .woocommerce-cart-form{grid-column:1;background:linear-gradient(180deg,#fff,var(--gsf-blush));border:1px solid var(--gsf-line);border-radius:var(--gsf-r);padding:18px;box-shadow:var(--gsf-shadow)}
body.woocommerce-cart .cart-collaterals{grid-column:2;float:none;width:auto}
body.woocommerce-cart .cart-collaterals .cart_totals{float:none;width:100%;background:linear-gradient(180deg,#fff,var(--gsf-blush));border:1px solid var(--gsf-line);border-radius:var(--gsf-r);padding:20px;box-shadow:var(--gsf-shadow)}
body.woocommerce-cart .cart_totals h2{font-size:18px;margin:0 0 12px;color:var(--gsf-ink)}
body.woocommerce-cart table.shop_table{border:0;border-collapse:collapse;background:transparent}
body.woocommerce-cart table.shop_table th,body.woocommerce-cart table.shop_table td{border:0;border-bottom:1px solid var(--gsf-line);padding:14px 8px;background:transparent}
body.woocommerce-cart table.cart img{width:72px;border-radius:10px}
body.woocommerce-cart table.cart td.product-name a{color:var(--gsf-ink);font-weight:600;text-decoration:none}
body.woocommerce-cart table.cart td.product-remove a.remove{color:var(--gsf-maroon)!important;background:transparent;font-size:22px}
body.woocommerce-cart table.cart td.actions{padding-top:16px}
body.woocommerce-cart table.cart td.actions .coupon input{border:1px solid var(--gsf-line);border-radius:10px;padding:10px}
body.woocommerce-cart table.cart td.actions button[name="update_cart"]{display:none}
.gsf-continue{display:inline-block;margin-top:14px;color:var(--gsf-maroon);font-weight:600;text-decoration:none;font-size:14px}
@media(max-width:860px){body.woocommerce-cart .woocommerce{grid-template-columns:1fr}body.woocommerce-cart .cart-collaterals{grid-column:1}}

/* ================= Checkout (3 steps) ================= */
body.woocommerce-checkout .woocommerce-form-coupon-toggle,body.woocommerce-checkout form.checkout_coupon{display:none!important}
form.gsf-checkout{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:24px;align-items:start}
.gsf-steps{grid-column:1/-1;list-style:none;margin:0 0 6px;padding:18px;display:flex;justify-content:center;align-items:flex-start;
  background:linear-gradient(180deg,#fff,var(--gsf-blush));border:1px solid var(--gsf-line);border-radius:var(--gsf-r);box-shadow:var(--gsf-shadow)}
.gsf-s{position:relative;flex:1;max-width:220px;text-align:center;font-size:13px;color:var(--gsf-muted);list-style:none;margin:0}
.gsf-s::before{content:"";position:absolute;top:15px;left:-50%;width:100%;height:2px;background:var(--gsf-line);z-index:0}
.gsf-s:first-child::before{display:none}
.gsf-s.is-done::before,.gsf-s.is-active::before{background:var(--gsf-maroon)}
.gsf-dot{position:relative;z-index:1;display:flex;margin:0 auto 6px;width:32px;height:32px;border-radius:50%;background:#fff;border:2px solid var(--gsf-line);align-items:center;justify-content:center;font-weight:700;color:var(--gsf-muted)}
.gsf-s.is-active .gsf-dot{background:var(--gsf-maroon);border-color:var(--gsf-maroon);color:#fff}
.gsf-s.is-done .gsf-dot{background:var(--gsf-maroon);border-color:var(--gsf-maroon)}
.gsf-s em{font-style:normal;font-weight:600}
.gsf-s.is-active em,.gsf-s.is-done em{color:var(--gsf-ink)}

.gsf-main{grid-column:1;min-width:0}
.gsf-main #customer_details,.gsf-rcard,.gsf-coupon,.gsf-pay #payment{
  background:linear-gradient(180deg,#fff,var(--gsf-blush));border:1px solid var(--gsf-line);border-radius:var(--gsf-r);padding:20px;box-shadow:var(--gsf-shadow);margin-bottom:16px}
.gsf-main #customer_details .col-1,.gsf-main #customer_details .col-2{float:none;width:100%}
.gsf-main #customer_details h3{font-size:18px;color:var(--gsf-ink);margin:0 0 14px}
.gsf-checkout .form-row input.input-text,.gsf-checkout .form-row select,.gsf-checkout .form-row textarea,.gsf-checkout .select2-container .select2-selection{
  border:1px solid var(--gsf-line);border-radius:10px;padding:11px 12px;background:#fff;box-shadow:none;min-height:44px}
.gsf-checkout .form-row input:focus,.gsf-checkout .form-row select:focus{outline:0;border-color:var(--gsf-maroon);box-shadow:0 0 0 3px rgba(122,31,72,.12)}
.gsf-checkout .form-row.gsf-invalid input,.gsf-checkout .form-row.gsf-invalid select,.gsf-checkout .form-row.gsf-invalid .select2-selection{border-color:#d6275a!important}
.gsf-msg{background:#fde8ee;color:#a1163f;border-radius:10px;padding:10px 14px;font-size:14px;margin:0 0 12px}

/* steps visibility (survives WooCommerce AJAX refresh) */
.gsf-step-2 #customer_details,.gsf-step-3 #customer_details{display:none}
.gsf-step-1 .gsf-pay,.gsf-step-1 .gsf-review{display:none}
.gsf-step-2 .gsf-review{display:none}
.gsf-step-2 .gsf-pay .place-order,.gsf-step-2 #place_order{display:none}
.gsf-step-3 .gsf-pay .wc_payment_methods{display:none}
.gsf-step-3 .gsf-pay #payment{padding:16px}
.gsf-pay #payment{background:linear-gradient(180deg,#fff,var(--gsf-blush))}
.gsf-pay #payment ul.payment_methods{border:0;padding:0;margin:0 0 10px}
.gsf-pay #payment ul.payment_methods li{list-style:none;border:1px solid var(--gsf-line);border-radius:12px;padding:12px 14px;margin-bottom:10px;background:#fff}
.gsf-pay #payment div.payment_box{background:var(--gsf-blush);border-radius:10px;color:var(--gsf-ink);margin-top:10px}
.gsf-pay #payment div.payment_box::before{display:none}
.gsf-pay #payment .place-order{padding:0;margin:0}
.gsf-pay .woocommerce-terms-and-conditions-wrapper{font-size:13px;margin-bottom:12px}

.gsf-rcard .gsf-rhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.gsf-rcard strong{color:var(--gsf-ink)}
.gsf-rcard p{margin:2px 0;color:var(--gsf-muted);font-size:14px}
.gsf-edit{background:none;border:0;color:var(--gsf-maroon);font-weight:600;cursor:pointer;padding:0;text-decoration:underline}
.gsf-coupon label{display:block;font-weight:600;margin-bottom:8px;color:var(--gsf-ink)}
.gsf-coupon-row{display:flex;gap:8px}
.gsf-coupon-row input{flex:1;border:1px solid var(--gsf-line);border-radius:10px;padding:11px 12px;background:#fff}
.gsf-checkout .gsf-apply{padding:10px 20px}
.gsf-coupon-note{display:block;margin-top:6px;color:var(--gsf-muted)}

.gsf-nav{display:flex;justify-content:space-between;gap:12px;margin-top:4px}
.gsf-back{background:#fff;border:1px solid var(--gsf-line);color:var(--gsf-maroon);border-radius:12px;padding:13px 22px;font-weight:600;cursor:pointer}
.gsf-nav .gsf-next{margin-left:auto}

/* order summary column */
form.gsf-checkout #order_review{grid-column:2;grid-row:2;background:linear-gradient(180deg,#fff,var(--gsf-blush));border:1px solid var(--gsf-line);border-radius:var(--gsf-r);padding:20px;box-shadow:var(--gsf-shadow);position:sticky;top:90px}
.gsf-os-title{font-size:18px;margin:0 0 12px;color:var(--gsf-ink)}
form.gsf-checkout table.shop_table{border:0;background:transparent;margin:0 0 8px}
form.gsf-checkout table.shop_table th,form.gsf-checkout table.shop_table td{border:0;border-bottom:1px solid var(--gsf-line);padding:10px 4px;background:transparent}
form.gsf-checkout table.shop_table tfoot tr:last-child th,form.gsf-checkout table.shop_table tfoot tr:last-child td{font-weight:700;font-size:1.1em}
.gsf-secure{display:flex;flex-direction:column;gap:2px;margin-top:10px;font-size:13px;color:var(--gsf-muted)}
.gsf-secure strong{color:var(--gsf-ink)}
@media(max-width:900px){
  form.gsf-checkout{grid-template-columns:1fr}
  form.gsf-checkout #order_review{grid-column:1;grid-row:auto;position:static}
  .gsf-s em{font-size:11px}
}

/* ================= Order confirmation ================= */
body.woocommerce-order-received .woocommerce-thankyou-order-received,
body.woocommerce-order-received .woocommerce-notice--success.woocommerce-thankyou-order-received{display:none}
.gsf-thanks{text-align:center;background:linear-gradient(180deg,#fff,var(--gsf-blush));border:1px solid var(--gsf-line);border-radius:var(--gsf-r);padding:34px 20px;margin-bottom:22px;box-shadow:var(--gsf-shadow)}
.gsf-thanks-check{width:72px;height:72px;border-radius:50%;margin:0 auto 14px;background:var(--gsf-maroon);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 8px rgba(122,31,72,.12)}
.gsf-thanks h2{font-size:26px;margin:0 0 8px;color:var(--gsf-ink)}
.gsf-thanks p{color:var(--gsf-muted);margin:0 0 18px}
.gsf-thanks-actions{display:flex;flex-direction:column;gap:12px;align-items:center}
.gsf-link{color:var(--gsf-maroon);font-weight:600;text-decoration:none}
body.woocommerce-order-received ul.order_details{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;padding:16px;margin:0 0 22px;list-style:none;background:#fff;border:1px solid var(--gsf-line);border-radius:var(--gsf-r)}
body.woocommerce-order-received ul.order_details li{border:0;margin:0;padding:0;font-size:12px;text-transform:uppercase;color:var(--gsf-muted)}
body.woocommerce-order-received ul.order_details li strong{display:block;font-size:15px;color:var(--gsf-ink);text-transform:none}
body.woocommerce-order-received table.shop_table{border:1px solid var(--gsf-line);border-radius:var(--gsf-r);overflow:hidden}

/* ================= Order tracking ================= */
.gsf-track{max-width:640px;margin:0 auto;background:linear-gradient(180deg,#fff,var(--gsf-blush));border:1px solid var(--gsf-line);border-radius:var(--gsf-r);padding:24px;box-shadow:var(--gsf-shadow)}
.gsf-track h3{margin:0 0 4px;color:var(--gsf-maroon);font-size:22px}
.gsf-track-sub{color:var(--gsf-muted);margin:0 0 16px}
.gsf-track form.track_order p:first-child{margin-top:0}
.gsf-track form.track_order .form-row{float:none;width:100%;margin:0 0 12px}
.gsf-track input.input-text{width:100%;border:1px solid var(--gsf-line);border-radius:10px;padding:12px;background:#fff}
.gsf-track form.track_order button.button{background:var(--gsf-maroon);color:#fff;border-radius:12px;padding:13px 26px;border:0;font-weight:600;cursor:pointer}
.gsf-trust{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:22px;padding-top:18px;border-top:1px solid var(--gsf-line)}
.gsf-trust-item{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;font-size:12px;color:var(--gsf-muted);color:var(--gsf-maroon);text-decoration:none}
.gsf-trust-item span{color:var(--gsf-ink);line-height:1.3}
@media(max-width:600px){.gsf-trust{grid-template-columns:repeat(2,1fr)}}

/* ================= Responsive grid ================= */
@media(max-width:900px){.gsf-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:420px){.gsf-grid{gap:10px}.gsf-title{font-size:13px}.gsf-btn{padding:9px 12px;font-size:13px}}
