/* GoldVault Listings (scoped by wrapping containers) */
.gv-listings-wrap{max-width:1100px;margin:0 auto;padding:22px 14px}
.gv-listings-title{margin:0;font-size:38px;line-height:1.1;color:#111}
.gv-listings-sub{margin:8px 0 0;color:rgba(0,0,0,.72)}
.gv-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:18px}
@media(max-width:980px){.gv-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:640px){.gv-grid{grid-template-columns:repeat(1,minmax(0,1fr));}.gv-listings-title{font-size:32px}}

.gv-card{display:block;text-decoration:none;background:#fff;border:1px solid rgba(201,162,77,.30);border-radius:16px;overflow:hidden;box-shadow:0 14px 40px rgba(0,0,0,.08);color:#111}
.gv-card:hover{border-color:rgba(201,162,77,.75);transform:translateY(-1px)}
.gv-thumbwrap{position:relative;background:#fafafa}
.gv-thumbwrap img{width:100%;height:auto;display:block}
.gv-thumbph{padding:38px 14px;text-align:center;color:rgba(0,0,0,.55)}
.gv-thumbph.gv-big{padding:60px 14px}
.gv-pill{position:absolute;top:10px;left:10px;font-size:12px;font-weight:800;padding:5px 10px;border-radius:999px;border:1px solid rgba(201,162,77,.55);background:rgba(201,162,77,.14)}
.gv-pill.gv-in{color:#0b5}
.gv-pill.gv-out{color:#b00}
.gv-cardbody{padding:14px 14px 16px}
.gv-cardtitle{margin:0 0 6px;font-size:16px}
.gv-meta{color:rgba(0,0,0,.70);font-size:13px}
.gv-price{margin-top:10px;font-size:18px;font-weight:900;color:#111}

.gv-pagination{margin:18px 0 0}
.gv-pagination .page-numbers{display:inline-block;margin-right:6px;padding:8px 12px;border:1px solid rgba(0,0,0,.15);border-radius:999px;text-decoration:none;color:#111}
.gv-pagination .current{background:#111;color:#fff;border-color:rgba(201,162,77,.9)}

.gv-single-wrap{max-width:1100px;margin:0 auto;padding:22px 14px}
.gv-breadcrumb a{text-decoration:none;color:rgba(0,0,0,.7)}
.gv-single-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;margin-top:12px}
@media(max-width:900px){.gv-single-grid{grid-template-columns:1fr}}

.gv-gallery{background:#fff;border:1px solid rgba(201,162,77,.30);border-radius:16px;box-shadow:0 14px 40px rgba(0,0,0,.08);padding:14px}
.gv-gallery-main{display:flex;align-items:center;justify-content:center;background:#fafafa;border-radius:12px;overflow:hidden}
.gv-gallery-main img{max-width:100%;width:auto;height:auto;max-height:60vh;border-radius:12px;display:block;object-fit:contain}
.gv-gallery-thumbs{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.gv-thumbbtn{border:1px solid rgba(0,0,0,.15);border-radius:12px;background:#fff;padding:0;overflow:hidden;cursor:pointer}
.gv-thumbbtn img{display:block;width:64px;height:64px;object-fit:cover}

.gv-details{background:#fff;border:1px solid rgba(201,162,77,.30);border-radius:16px;box-shadow:0 14px 40px rgba(0,0,0,.08);padding:18px}
.gv-title{margin:0 0 10px;font-size:30px;color:#111}
.gv-kv{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:10px 0 12px}
@media(max-width:560px){.gv-kv{grid-template-columns:1fr}}
.gv-label{display:block;font-size:12px;color:rgba(0,0,0,.60);font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.gv-val{display:block;font-size:15px;color:#111;font-weight:800;margin-top:3px}

.gv-prices{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0 14px}
@media(max-width:560px){.gv-prices{grid-template-columns:1fr}}
.gv-pricebox{border:1px solid rgba(0,0,0,.14);border-radius:14px;padding:12px}
.gv-pricebox .gv-price{font-size:20px;font-weight:900}
.gv-price-muted{color:rgba(0,0,0,.75)}
.gv-desc{color:rgba(0,0,0,.80);line-height:1.55}

.gv-alert{border-radius:14px;border:1px solid rgba(0,0,0,.14);padding:10px 12px;margin:10px 0}
.gv-ok{border-color:rgba(6,125,23,.35);background:rgba(6,125,23,.08)}
.gv-bad{border-color:rgba(176,0,0,.30);background:rgba(176,0,0,.06)}
.gv-info{border-color:rgba(201,162,77,.45);background:rgba(201,162,77,.12)}

.gv-form label{display:block;margin-top:10px;font-weight:800;color:#111}
.gv-form input,.gv-form textarea{width:100%;border:1px solid rgba(0,0,0,.18);border-radius:12px;padding:10px 12px;margin-top:6px}
.gv-form input:focus,.gv-form textarea:focus{outline:none;border-color:rgba(201,162,77,.9);box-shadow:0 0 0 3px rgba(201,162,77,.18)}
.gv-btn{display:inline-flex;align-items:center;justify-content:center;margin-top:12px;padding:11px 14px;border-radius:999px;border:1px solid rgba(201,162,77,.95);background:#111;color:#fff;text-decoration:none;font-weight:900;cursor:pointer}
.gv-btn:hover{filter:brightness(1.03)}

.gv-btn-primary{background:#000}
.gv-btn-sm{padding:8px 12px;font-size:12px;margin-top:0}
.gv-link{background:transparent;border:none;color:rgba(0,0,0,.7);cursor:pointer;text-decoration:underline;font-weight:700}
.gv-muted{color:rgba(0,0,0,.65);font-size:13px;margin-top:8px}
.gv-inline{display:inline-flex;align-items:center;gap:8px;margin:0}
.gv-qty{width:90px;max-width:100%;border:1px solid rgba(0,0,0,.18);border-radius:12px;padding:8px 10px}

.gv-head-actions{margin-top:10px}
.gv-breadcrumb{display:flex;align-items:center;justify-content:space-between;gap:12px}
.gv-breadcrumb-sp{flex:1}

.gv-cardactions{padding:10px 12px;border-top:1px solid rgba(0,0,0,.08);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.gv-cardlink{text-decoration:none;color:inherit;display:block}

.gv-buybox .gv-buy-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}

.gv-cart-wrap,.gv-checkout-wrap{max-width:1200px;margin:0 auto;padding:18px 12px;width:100%;}
/* Full-bleed inside narrow theme containers */
.gv-checkout-wrap.gv-checkout-woo{max-width:none;width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding-left:16px;padding-right:16px;}

/* Cart layout (reduce empty whitespace on large screens) */
.gvl-cart-layout{display:grid;grid-template-columns:2fr 1fr;gap:18px;align-items:start}
@media(max-width:900px){.gvl-cart-layout{grid-template-columns:1fr}}
.gvl-cart-summary{border:1px solid rgba(0,0,0,.12);border-radius:16px;background:#fff;padding:14px;position:sticky;top:18px}
.gvl-cart-summary h3{margin:0 0 10px;font-size:16px}
.gvl-cart-summary .gv-cart-total{margin-top:8px}
.gvl-cart-summary .gv-btn{width:100%}
.gvl-cart-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.gv-cart-table{border:1px solid rgba(0,0,0,.12);border-radius:16px;overflow:hidden;background:#fff}
.gv-cart-head,.gv-cart-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr .6fr;gap:10px;padding:12px 12px}
.gv-cart-head{background:rgba(0,0,0,.04);font-weight:900}
.gv-cart-row{border-top:1px solid rgba(0,0,0,.08);align-items:center}
@media(max-width:820px){.gv-cart-head{display:none}.gv-cart-row{grid-template-columns:1fr}}
.gv-cart-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}
.gv-cart-total{font-size:16px}

.gvl-cart-summary{border:1px solid rgba(0,0,0,.12);border-radius:16px;background:#fff;padding:14px;position:sticky;top:18px}
.gvl-cart-summary h3{margin:0 0 10px;font-size:18px}
.gvl-cart-summary .gv-btn{width:100%}
.gvl-cart-summary .gv-link{display:inline-block;margin-top:10px}

.gv-checkout-summary{border:1px solid rgba(0,0,0,.12);border-radius:16px;background:#fff;padding:14px;margin:12px 0}
.gv-sum{margin:0;padding-left:18px}

.gv-similar{max-width:1100px;margin:0 auto;padding:0 14px 30px}
.gv-grid-sm{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:900px){.gv-grid-sm{grid-template-columns:repeat(2,minmax(0,1fr))}}

@media(max-width:900px){.gv-gallery-main img{max-height:50vh}}

.gv-thumbbtn.is-active{border-color:rgba(201,162,77,.95);box-shadow:0 0 0 3px rgba(201,162,77,.18)}

/* --- WooCommerce-like single layout (Listings v0.2.1) --- */
.gvl-single{max-width:1100px;margin:0 auto;padding:26px 14px}
.gvl-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.gvl-back,.gvl-cartlink{text-decoration:none;color:rgba(0,0,0,.72);font-weight:700}
.gvl-cartlink{border:1px solid rgba(0,0,0,.14);padding:7px 12px;border-radius:999px;background:#fff}

.gvl-product{display:grid;grid-template-columns:1.05fr .95fr;gap:26px;align-items:start}
@media(max-width:920px){.gvl-product{grid-template-columns:1fr;}}

/* make the gallery look like Woo (no heavy card) */
.gvl-single .gvl-gallery{background:transparent;border:none;box-shadow:none;padding:0}
.gvl-single .gv-gallery-main{background:#fff;border:1px solid rgba(0,0,0,.10);border-radius:14px}
.gvl-single .gv-gallery-main img{max-height:64vh}
@media(max-width:900px){.gvl-single .gv-gallery-main img{max-height:52vh}}

.gvl-single .gv-gallery-thumbs{margin-top:12px;gap:10px}
.gvl-single .gv-thumbbtn{border-radius:10px}
.gvl-single .gv-thumbbtn img{width:72px;height:72px}

.gvl-summary{background:transparent;border:none;box-shadow:none;padding:0}
.gvl-title{margin:0 0 8px;font-size:34px;line-height:1.15;color:#111}
.gvl-price-row{margin:6px 0 10px}
.gvl-price-main{font-size:28px;font-weight:900;color:#111}
.gvl-price-sub{margin-top:6px;color:rgba(0,0,0,.70)}

.gvl-meta{display:flex;flex-wrap:wrap;gap:10px 16px;margin:10px 0 14px;color:rgba(0,0,0,.78)}
.gvl-meta span{display:inline-flex;gap:6px;align-items:baseline}

.gvl-links{display:flex;gap:10px;flex-wrap:wrap;margin:6px 0 14px}
.gvl-linkbtn{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;border:1px solid rgba(0,0,0,.14);background:#fff;text-decoration:none;color:#111;font-weight:800;font-size:13px}

.gvl-buybox{border:1px solid rgba(0,0,0,.12);border-radius:16px;background:#fff;padding:14px}
.gvl-qtyrow{display:flex;align-items:center;justify-content:space-between;gap:10px}
.gvl-qtyrow label{font-weight:900;color:#111}
.gvl-actions{margin-top:12px}

.gvl-tabs{margin-top:24px;border-top:1px solid rgba(0,0,0,.10);padding-top:18px}
.gvl-tabtitle{margin:0 0 10px;font-size:18px;color:#111}
.gvl-desc{color:rgba(0,0,0,.82);line-height:1.65}


/* Checkout (Woo-style layout) */
.gv-checkout-woo .gv-woo-grid{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:18px;align-items:start;}
@media(max-width:980px){.gv-checkout-woo .gv-woo-grid{grid-template-columns:1fr;}}
.gv-checkout-woo .gv-box{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:16px;padding:14px;margin:0 0 14px 0;box-shadow:0 6px 18px rgba(0,0,0,.04);}
.gv-checkout-woo .gv-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
@media(max-width:640px){.gv-checkout-woo .gv-row{grid-template-columns:1fr;}}
.gv-checkout-woo .gv-field{margin:0 0 8px 0;}
.gv-checkout-woo .gv-field label{display:block;font-weight:600;margin:0 0 4px 0;font-size:12px;opacity:.9;}
.gv-checkout-woo input[type=text],.gv-checkout-woo textarea{width:100%;padding:7px 10px;border:1px solid rgba(0,0,0,.15);border-radius:10px;font-size:13px;line-height:1.25;}
.gv-checkout-woo input[disabled]{opacity:.7;background:rgba(0,0,0,.03);}
.gv-checkout-woo .gv-check{display:flex;align-items:center;gap:10px;margin:0 0 14px 0;font-weight:600;}
.gv-checkout-woo .gv-actions{display:flex;align-items:center;gap:14px;margin-top:12px;}
.gv-checkout-woo .gv-sticky{position:sticky;top:16px;}
.gv-checkout-woo .gv-line{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid rgba(0,0,0,.06);} 
.gv-checkout-woo .gv-line:last-child{border-bottom:none;}
.gv-checkout-woo .gv-divider{height:1px;background:rgba(0,0,0,.08);margin:10px 0;}
.gv-checkout-woo .gv-total-row{display:flex;justify-content:space-between;gap:12px;font-size:18px;}
.gv-small{font-size:12px;}

.gv-woo-right .gv-box{margin-bottom:14px}


/* Force checkout to use full viewport width (Astra containers can be narrow) */
.gv-checkout-woo.gv-checkout-wrap{
  width:100vw;
  max-width:1200px;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  padding-left:20px;
  padding-right:20px;
  box-sizing:border-box;
}

/* Invoice */
.gv-invoice-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;}
.gv-invoice-actions{display:flex;gap:10px;align-items:center;}
.gv-invoice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px;}
@media(max-width:780px){.gv-invoice-grid{grid-template-columns:1fr;}}
.gv-invoice-card{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:14px;padding:12px;}
.gv-invoice-table-wrap{margin-top:14px;overflow:auto;}
.gv-invoice-table{width:100%;border-collapse:collapse;font-size:14px;}
.gv-invoice-table th,.gv-invoice-table td{padding:10px;border-bottom:1px solid rgba(0,0,0,.08);vertical-align:top;}
.gv-invoice-totals{margin-top:12px;max-width:420px;margin-left:auto;}
.gv-invoice-totals .gv-trow{display:flex;justify-content:space-between;gap:12px;padding:6px 0;}
.gv-invoice-totals .gv-strong{font-weight:700;border-top:1px solid rgba(0,0,0,.12);padding-top:10px;margin-top:6px;}
@media print{
  header, nav, .site-header, .site-footer, .ast-primary-header-bar, .ast-mobile-header-wrap, .ast-footer-overlay, .gv-btn, .gv-invoice-actions{display:none !important;}
  body{background:#fff !important;}
  .gv-box{box-shadow:none !important;}
  .gv-checkout-woo.gv-checkout-wrap{width:auto;max-width:none;margin:0;padding:0;}
}

/* Fulfilment card (post-purchase) */
.gvl-ful-card{background:#fff;border:1px solid rgba(0,0,0,.10);border-radius:18px;padding:16px;margin-top:14px;box-shadow:0 10px 28px rgba(0,0,0,.05);}
.gvl-ful-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px;}
.gvl-ful-actions .gv-btn{border-radius:999px;}
.gvl-ful-actions .gv-btn.is-active{box-shadow:0 10px 22px rgba(0,0,0,.10);}
.gvl-ful-panel{margin-top:14px;padding:14px;border:1px solid rgba(0,0,0,.10);border-radius:16px;background:rgba(0,0,0,.02);}
.gvl-ful-panel-title{font-weight:800;font-size:16px;margin:0 0 10px 0;}
.gvl-ful-kv{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin:8px 0;}
.gvl-ful-k{color:rgba(0,0,0,.70);font-size:13px;}
.gvl-ful-v{color:#111;font-size:14px;text-align:right;max-width:70%;}
@media(max-width:640px){.gvl-ful-kv{flex-direction:column;}.gvl-ful-v{text-align:left;max-width:100%;}}
.gvl-ful-form{margin-top:10px;display:grid;grid-template-columns:1fr;gap:10px;align-items:center;}
.gvl-ful-label{font-size:13px;color:rgba(0,0,0,.72);}
.gvl-ful-input{padding:10px 12px;border:1px solid rgba(0,0,0,.18);border-radius:14px;background:#fff;max-width:320px;}
.gvl-ful-steps{margin:0;padding-left:18px;color:rgba(0,0,0,.78);line-height:1.5;}
.gvl-ful-quote{margin-top:12px;padding:14px;border:1px solid rgba(0,0,0,.10);border-radius:16px;background:#fff;}
