/* ============================================================
   GPS PAPER-COMMERCE v1 — product / cart / checkout reskin
   (zz- prefix = loads after the rest of the design system.
    Visual language: paper #F2EFE6 · card #FCFAF3 · ink #171410 ·
    lime #B5E633 · violet #7C3AED · drop-green #4A7D14 · dim #6B675E.
    2px ink borders · hard offset shadows · pills · Space Mono labels.
    VISUAL PROPS ONLY — layout/grid stays with product/cart/checkout.css)
   marker: GPS-PAPER-COMMERCE
   ============================================================ */

/* ---------- shared surfaces ---------- */
.woocommerce-page #main, .single-product #main { background: #F2EFE6 !important; }

/* breadcrumbs → quiet mono trail */
.single-product #breadcrumbs, .woocommerce-page #breadcrumbs,
.single-product .breadcrumbs, .woocommerce-page .breadcrumbs {
  font-family: "Space Mono", monospace !important;
  font-size: 11px !important; letter-spacing: .08em !important;
  text-transform: uppercase !important; color: #6B675E !important;
}
.single-product .breadcrumbs a, .woocommerce-page .breadcrumbs a { color: #6B675E !important; }
.single-product .breadcrumbs a:hover, .woocommerce-page .breadcrumbs a:hover { color: #171410 !important; }

/* ---------- product hero ---------- */
.single-product .product-title, .single-product h1.product_title {
  font-family: "Bricolage Grotesque", sans-serif !important;
  font-weight: 800 !important; letter-spacing: -.02em !important; color: #171410 !important;
}

/* gallery in an ink frame */
.single-product .product-images.woocommerce-product-gallery {
  background: #FCFAF3 !important; border: 2px solid #171410 !important;
  border-radius: 16px !important; box-shadow: 6px 6px 0 #171410 !important;
  overflow: hidden !important;
}
.single-product .product-thumbnails img, .single-product .product-gallery-slider img + img {
  border: 2px solid #171410 !important; border-radius: 10px !important; background: #FCFAF3 !important;
}
.single-product .product-thumbnails .is-nav-selected img { box-shadow: 3px 3px 0 #171410 !important; }

/* price: ghost retail, living sale */
.single-product p.price.product-page-price { font-family: "Bricolage Grotesque", sans-serif !important; }
.single-product p.price del, .single-product p.price del .woocommerce-Price-amount { color: #6B675E !important; font-weight: 400 !important; }
.single-product p.price ins, .single-product p.price ins .woocommerce-Price-amount { color: #4A7D14 !important; font-weight: 800 !important; text-decoration: none !important; }

/* variation picker → mono pills */
.single-product table.variations th.label, .single-product table.variations .label label {
  font-family: "Space Mono", monospace !important; font-size: 11px !important;
  letter-spacing: .1em !important; text-transform: uppercase !important; color: #171410 !important;
}
.single-product table.variations select,
.single-product form.cart select {
  background: #FCFAF3 !important; color: #171410 !important;
  border: 2px solid #171410 !important; border-radius: 12px !important;
  box-shadow: 3px 3px 0 #171410 !important;
  font-family: "Space Mono", monospace !important; font-weight: 700 !important;
  padding: 10px 14px !important; height: auto !important;
}
.single-product .reset_variations {
  font-family: "Space Mono", monospace !important; font-size: 10px !important;
  letter-spacing: .1em !important; text-transform: uppercase !important; color: #6B675E !important;
}

/* quantity stepper → joined ink pill */
.single-product .ux-quantity.quantity, .woocommerce .ux-quantity.quantity {
  border: 2px solid #171410 !important; border-radius: 999px !important;
  background: #FCFAF3 !important; box-shadow: 3px 3px 0 #171410 !important; overflow: hidden !important;
}
.single-product .ux-quantity__button, .woocommerce .ux-quantity__button {
  background: #FCFAF3 !important; color: #171410 !important; border: 0 !important;
  font-weight: 800 !important; box-shadow: none !important;
}
.single-product .ux-quantity__button:hover, .woocommerce .ux-quantity__button:hover { background: #EAF6C8 !important; }
.single-product .ux-quantity input.qty, .woocommerce .ux-quantity input.qty {
  background: #FCFAF3 !important; color: #171410 !important; border: 0 !important;
  border-left: 2px solid #171410 !important; border-right: 2px solid #171410 !important;
  font-family: "Space Mono", monospace !important; font-weight: 700 !important; box-shadow: none !important;
}

/* stock + meta → mono chips */
.single-product p.stock.in-stock, .single-product .stock.in-stock {
  display: inline-block !important; font-family: "Space Mono", monospace !important;
  font-size: 11px !important; letter-spacing: .1em !important; text-transform: uppercase !important;
  color: #171410 !important; background: #EAF6C8 !important;
  border: 2px solid #171410 !important; border-radius: 999px !important; padding: 4px 12px !important;
}
.single-product p.stock.out-of-stock, .single-product .stock.out-of-stock {
  display: inline-block !important; font-family: "Space Mono", monospace !important;
  font-size: 11px !important; letter-spacing: .1em !important; text-transform: uppercase !important;
  color: #F2EFE6 !important; background: #B3402A !important;
  border: 2px solid #171410 !important; border-radius: 999px !important; padding: 4px 12px !important;
}
.single-product .product_meta, .single-product .product_meta a {
  font-family: "Space Mono", monospace !important; font-size: 11px !important;
  letter-spacing: .08em !important; text-transform: uppercase !important; color: #6B675E !important;
}
.single-product .product_meta a:hover { color: #7C3AED !important; }

/* tabs → pill nav + card panel (both Woo + Flatsome families) */
.woocommerce-tabs ul.tabs li a, .single-product .nav-tabs > li > a {
  font-family: "Space Mono", monospace !important; font-size: 12px !important;
  letter-spacing: .08em !important; text-transform: uppercase !important;
  color: #171410 !important; background: #FCFAF3 !important;
  border: 2px solid #171410 !important; border-radius: 999px !important;
  box-shadow: 3px 3px 0 #171410 !important; padding: 8px 16px !important; margin-right: 8px !important;
}
.woocommerce-tabs ul.tabs li.active a, .single-product .nav-tabs > li.active > a {
  background: #B5E633 !important; color: #171410 !important; -webkit-text-fill-color: #171410 !important;
}
.woocommerce-tabs .panel, .single-product .tab-panels .panel.active,
.single-product .woocommerce-Tabs-panel {
  background: #FCFAF3 !important; border: 2px solid #171410 !important;
  border-radius: 16px !important; box-shadow: 6px 6px 0 #171410 !important; padding: 22px !important;
}

/* related / loop cards */
.related .product-small.box, .upsells .product-small.box,
.woocommerce-page .products .product-small.box {
  background: #FCFAF3 !important; border: 2px solid #171410 !important;
  border-radius: 16px !important; box-shadow: 5px 5px 0 #171410 !important; overflow: hidden !important;
  transition: transform .15s ease, box-shadow .15s ease !important;
}
.related .product-small.box:hover, .upsells .product-small.box:hover,
.woocommerce-page .products .product-small.box:hover {
  transform: translate(-2px,-2px) !important; box-shadow: 7px 7px 0 #171410 !important;
}
.products .price del { color: #6B675E !important; }
.products .price ins, .products .price ins .amount { color: #4A7D14 !important; font-weight: 800 !important; text-decoration: none !important; }

/* ---------- cart ---------- */
.woocommerce-cart table.shop_table.cart {
  background: #FCFAF3 !important; border: 2px solid #171410 !important;
  border-radius: 16px !important; box-shadow: 6px 6px 0 #171410 !important;
  border-collapse: separate !important; overflow: hidden !important;
}
.woocommerce-cart table.shop_table.cart thead th {
  background: #171410 !important; color: #F2EFE6 !important;
  font-family: "Space Mono", monospace !important; font-size: 11px !important;
  letter-spacing: .1em !important; text-transform: uppercase !important; border: 0 !important;
}
.woocommerce-cart table.shop_table.cart td { border-color: rgba(23,20,16,.18) !important; }
.woocommerce-cart td.product-thumbnail img {
  border: 2px solid #171410 !important; border-radius: 10px !important; background: #FCFAF3 !important;
}
.woocommerce-cart a.remove {
  color: #B3402A !important; border: 2px solid #171410 !important;
  background: #FCFAF3 !important; box-shadow: 2px 2px 0 #171410 !important;
}
.woocommerce-cart .coupon .input-text, .woocommerce-cart input#coupon_code {
  background: #FCFAF3 !important; border: 2px solid #171410 !important;
  border-radius: 999px !important; box-shadow: 3px 3px 0 #171410 !important;
  font-family: "Space Mono", monospace !important; padding: 10px 16px !important; height: auto !important;
}
.woocommerce-cart .cart_totals {
  background: #FCFAF3 !important; border: 2px solid #171410 !important;
  border-radius: 16px !important; box-shadow: 6px 6px 0 #171410 !important; padding: 18px !important;
}
.woocommerce-cart .cart_totals th {
  font-family: "Space Mono", monospace !important; font-size: 11px !important;
  letter-spacing: .1em !important; text-transform: uppercase !important; color: #171410 !important;
}
.woocommerce-cart .cart_totals h2, .woocommerce-cart .cart_totals .product-name {
  font-family: "Bricolage Grotesque", sans-serif !important; font-weight: 800 !important; color: #171410 !important;
}

/* ---------- checkout (classic) ---------- */
.woocommerce-checkout #customer_details .woocommerce-billing-fields,
.woocommerce-checkout #customer_details .woocommerce-shipping-fields,
.woocommerce-checkout #customer_details .woocommerce-additional-fields {
  background: #FCFAF3 !important; border: 2px solid #171410 !important;
  border-radius: 16px !important; box-shadow: 6px 6px 0 #171410 !important; padding: 20px !important;
}
.woocommerce-checkout .form-row label {
  font-family: "Space Mono", monospace !important; font-size: 11px !important;
  letter-spacing: .08em !important; text-transform: uppercase !important; color: #171410 !important;
}
.woocommerce-checkout .form-row .input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .select2-container .select2-selection--single {
  background: #F2EFE6 !important; color: #171410 !important;
  border: 2px solid #171410 !important; border-radius: 10px !important;
  box-shadow: none !important; padding: 10px 14px !important; height: auto !important; min-height: 44px !important;
}
.woocommerce-checkout .form-row .input-text:focus,
.woocommerce-checkout .form-row textarea:focus {
  outline: 3px solid #B5E633 !important; outline-offset: 1px !important;
}
.woocommerce-checkout .select2-container .select2-selection__arrow { top: 8px !important; }
.woocommerce-checkout h3, .woocommerce-checkout #order_review_heading {
  font-family: "Bricolage Grotesque", sans-serif !important; font-weight: 800 !important; color: #171410 !important;
}
.woocommerce-checkout #order_review {
  background: #FCFAF3 !important; border: 2px solid #171410 !important;
  border-radius: 16px !important; box-shadow: 6px 6px 0 #171410 !important; padding: 18px !important;
}
.woocommerce-checkout #order_review table.shop_table { background: transparent !important; border: 0 !important; }
.woocommerce-checkout #order_review thead th {
  font-family: "Space Mono", monospace !important; font-size: 11px !important;
  letter-spacing: .1em !important; text-transform: uppercase !important; color: #171410 !important;
}
.woocommerce-checkout #payment.woocommerce-checkout-payment {
  background: #EAF6C8 !important; border: 2px solid #171410 !important; border-radius: 12px !important;
}
.woocommerce-checkout #payment .wc_payment_method label {
  font-family: "Space Mono", monospace !important; font-weight: 700 !important;
  letter-spacing: .04em !important; color: #171410 !important;
}
.woocommerce-checkout #payment div.payment_box {
  background: #FCFAF3 !important; border: 2px dashed #171410 !important; border-radius: 10px !important; color: #171410 !important;
}

/* buy buttons: outrank every owner (product.css runs .product form.cart = 0,2,2) */
html body .product form.cart .single_add_to_cart_button,
html body form.cart .single_add_to_cart_button.button,
html body .single_add_to_cart_button.button,
html body .checkout-button.button, html body .button.checkout,
html body form.checkout #place_order, html body #place_order.button,
html body .add_to_cart_button.button, html body a.add_to_cart_button,
html body .sticky-add-to-cart-select-options-button {
  background: #B5E633 !important; color: #171410 !important; -webkit-text-fill-color: #171410 !important;
  border: 2px solid #171410 !important; border-radius: 999px !important;
  box-shadow: 3px 3px 0 #171410 !important; font-weight: 700 !important;
  text-transform: uppercase !important; letter-spacing: .06em !important;
}
html body .product form.cart .single_add_to_cart_button:hover,
html body .single_add_to_cart_button.button:hover,
html body .checkout-button.button:hover, html body .button.checkout:hover,
html body form.checkout #place_order:hover, html body #place_order.button:hover {
  background: #A6D31F !important; color: #171410 !important;
  transform: translate(-1px,-1px); box-shadow: 4px 4px 0 #171410 !important; filter: none !important;
}
/* /GPS-PAPER-COMMERCE */
/* gallery: artwork meets the frame — ink behind kills the corner sliver */
.single-product .product-images.woocommerce-product-gallery { background: #171410 !important; padding: 0 !important; }
.single-product .product-images .woocommerce-product-gallery__image img,
.single-product .product-images img { display: block !important; width: 100% !important; border-radius: 0 !important; }
/* stepper geometry — zz owns the skeleton now (replaces the removed product.css sizing) */
.single-product .ux-quantity.quantity, .woocommerce .ux-quantity.quantity {
  display: inline-flex !important; align-items: stretch !important; height: 52px !important; width: auto !important;
}
.single-product .ux-quantity__button, .woocommerce .ux-quantity__button {
  width: 46px !important; min-width: 46px !important; height: auto !important;
  font-size: 18px !important; line-height: 1 !important; padding: 0 !important;
}
.single-product .ux-quantity input.qty, .woocommerce .ux-quantity input.qty {
  width: 56px !important; min-width: 56px !important; height: auto !important;
  text-align: center !important; font-size: 15px !important; padding: 0 !important;
}
/* polish pass 1 — step the ego up */
/* variation blurb: paper info card, not a green slab */
.single-product .woocommerce-variation-description,
.single-product .woocommerce-variation-description p {
  background: #EAF6C8 !important; color: #171410 !important;
  -webkit-text-fill-color: #171410 !important;
  border: 2px solid #171410 !important; border-radius: 12px !important;
  box-shadow: 3px 3px 0 #171410 !important;
  padding: 14px 18px !important; margin: 12px 0 4px !important;
  font-size: 15px !important; line-height: 1.55 !important;
}
.single-product .woocommerce-variation-description p {
  background: transparent !important; border: 0 !important; box-shadow: none !important;
  padding: 0 !important; margin: 0 !important;
}
/* buy row rhythm: air between price, stock, stepper, button */
.single-product .single_variation_wrap .woocommerce-variation-price { margin: 10px 0 2px !important; }
.single-product p.stock.in-stock, .single-product .stock.in-stock { margin: 8px 0 16px !important; }
.single-product .woocommerce-variation-add-to-cart,
.single-product form.cart .quantity + .single_add_to_cart_button { margin-top: 4px !important; }
.single-product .woocommerce-variation-add-to-cart {
  display: flex !important; align-items: center !important; gap: 20px !important; flex-wrap: wrap !important;
}
.single-product form.cart .ux-quantity.quantity { margin: 0 !important; }
.single-product form.cart .single_add_to_cart_button { margin: 0 !important; flex: 1 1 260px !important; }
