/* Start custom CSS for woocommerce-breadcrumb, class: .elementor-element-9a51297 */.elementor-120916 .elementor-element.elementor-element-9a51297 .woocommerce-breadcrumb { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }/* End custom CSS */
/* Start custom CSS *//* ===== Single product (template 120916) ===== */
.ca-product-crumbs .woocommerce-breadcrumb { margin: 0 !important; padding: 0 !important; font-family: Inter, sans-serif; font-size: 15px; color: #A18458; text-align: center; }
.ca-product-crumbs .woocommerce-breadcrumb a { color: #F0ECE3 !important; text-decoration: none; }
.ca-product-crumbs .woocommerce-breadcrumb a:hover { color: #A18458 !important; }

/* Title lives in the hero; hide the duplicate in the summary */
.ca-product-body .summary .product_title { display: none !important; }
.ca-product-body .woocommerce-notices-wrapper:empty { display: none; }

/* Gallery + summary columns */
.ca-product-body div.product { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); column-gap: 64px; row-gap: 0; align-items: start; }
.ca-product-body div.product > * { grid-column: 1 / -1; }
.ca-product-body div.product > .woocommerce-product-gallery { grid-column: 1; width: 100% !important; float: none !important; margin: 0 !important; }
.ca-product-body div.product > .summary { grid-column: 2; width: 100% !important; float: none !important; margin: 0 !important; }
.ca-product-body .woocommerce-product-gallery__wrapper { border: 1px solid #E7E1D6; border-radius: 24px; overflow: hidden; background: #FFFFFF; }
.ca-product-body .woocommerce-product-gallery .flex-control-thumbs { display: flex; gap: 12px; margin-top: 14px !important; }
.ca-product-body .woocommerce-product-gallery .flex-control-thumbs li { width: 80px !important; float: none !important; margin: 0 !important; }
.ca-product-body .woocommerce-product-gallery .flex-control-thumbs img { border: 1px solid #E7E1D6; border-radius: 12px; }
.ca-product-body .woocommerce-product-gallery__trigger { top: 16px !important; right: 16px !important; }

/* Summary: stacked blocks, except Price + Condition badge and Add to Cart + Compare which share rows */
.ca-product-body .summary { display: flex !important; flex-wrap: wrap; align-items: flex-start; column-gap: 12px; }
.ca-product-body .summary::before, .ca-product-body .summary::after { display: none !important; }
.ca-product-body .summary > * { flex: 0 0 100%; min-width: 0; margin-bottom: 22px !important; }
.ca-product-body .summary > form.cart, .ca-product-body .summary > .compare, .ca-product-body .summary > .woosc-btn { flex: 0 0 auto; }
.ca-product-body .summary:has(> .ca-condition) > .price { flex: 0 0 auto; }
.ca-product-body .summary > .ca-condition { flex: 0 0 auto; margin-top: 4px !important; }
.ca-product-body .summary .ca-product-ids { margin: 0 0 22px !important; padding-bottom: 18px; border-bottom: 1px solid #E7E1D6; }
.ca-product-body .summary .price { font-family: Poppins, sans-serif !important; font-size: 34px !important; font-weight: 700 !important; color: #A12838 !important; line-height: 1.1; }
.ca-product-body .summary .price del { font-size: 20px; color: #9a9a9a !important; font-weight: 500; }
.ca-product-body .summary .price ins { text-decoration: none; }
.ca-product-body .summary .woocommerce-product-details__short-description { font-family: Inter, sans-serif; font-size: 15px; line-height: 1.7; color: #4a4a4a; }
.ca-product-body .summary .woocommerce-product-details__short-description p:last-child { margin-bottom: 0; }
.ca-product-body .summary .ca-inventory { background: #F0ECE3; border-radius: 18px; padding: 16px 20px !important; }
.ca-product-body .summary form.cart { display: flex; flex-wrap: nowrap; align-items: center; gap: 12px; }
.ca-product-body .summary form.cart::before, .ca-product-body .summary form.cart::after { display: none !important; }
.ca-product-body .summary form.cart .quantity:has(input[type=hidden]) { display: none !important; }
.ca-product-body .summary form.cart .quantity { margin: 0 !important; flex: 0 0 auto; }
.ca-product-body .summary form.cart .quantity input.qty { height: 52px; width: 76px; border: 1px solid #D9D2C4; border-radius: 30px; text-align: center; font-family: Inter, sans-serif; font-size: 15px; }
/* Add to Cart and Compare: identical size */
.ca-product-body .summary .single_add_to_cart_button, .ca-product-body .summary > .compare, .ca-product-body .summary > .woosc-btn { box-sizing: border-box; display: inline-flex !important; align-items: center; justify-content: center; height: 52px !important; min-width: 210px; margin: 0 !important; padding: 0 30px !important; border-radius: 30px !important; font-family: 'Nunito Sans', sans-serif !important; font-weight: 700 !important; font-size: 15px !important; font-style: normal !important; letter-spacing: 1px; line-height: 1 !important; text-transform: uppercase; transition: background-color .2s, color .2s, border-color .2s; }
.ca-product-body .summary > .compare, .ca-product-body .summary > .woosc-btn { margin-bottom: 22px !important; }
.ca-product-body .summary .single_add_to_cart_button { background-color: #A12838 !important; color: #FFFFFF !important; border: 2px solid #A12838 !important; }
.ca-product-body .summary .single_add_to_cart_button:hover { background-color: #29313C !important; border-color: #29313C !important; }
.ca-product-body .summary > .compare, .ca-product-body .summary > .woosc-btn { background: transparent !important; color: #29313C !important; border: 2px solid #29313C !important; }
.ca-product-body .summary > .compare:hover, .ca-product-body .summary > .woosc-btn:hover { background: #29313C !important; color: #FFFFFF !important; }
.ca-product-body .summary > .compare .label { font: inherit; }
.ca-product-body .summary .tinvwl_add_to_wishlist_button { font-family: 'Nunito Sans', sans-serif; font-weight: 700; font-size: 13px; color: #29313C !important; }
.ca-product-body .summary .product_meta { font-family: Inter, sans-serif; font-size: 13px; color: #656565; padding-top: 18px; border-top: 1px solid #E7E1D6; display: flex; flex-direction: column; gap: 4px; }
.ca-product-body .summary .product_meta .sku_wrapper { display: none !important; }
.ca-product-body .summary .product_meta a { color: #A12838; }

/* Tabs */
.ca-product-body .woocommerce-tabs { margin-top: 80px !important; padding-top: 0 !important; }
.ca-product-body .woocommerce-tabs ul.tabs { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 32px !important; padding: 0 0 16px !important; border-bottom: 2px solid #E7E1D6 !important; }
.ca-product-body .woocommerce-tabs ul.tabs::before, .ca-product-body .woocommerce-tabs ul.tabs::after, .ca-product-body .woocommerce-tabs ul.tabs li::before, .ca-product-body .woocommerce-tabs ul.tabs li::after { display: none !important; }
.ca-product-body .woocommerce-tabs ul.tabs li { margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 30px !important; background: #F0ECE3 !important; }
.ca-product-body .woocommerce-tabs ul.tabs li a { display: block; padding: 12px 26px !important; font-family: 'Nunito Sans', sans-serif; font-weight: 700; font-size: 14px; letter-spacing: 1px; text-transform: uppercase; color: #29313C !important; }
.ca-product-body .woocommerce-tabs ul.tabs li.active { background: #29313C !important; }
.ca-product-body .woocommerce-tabs ul.tabs li.active a { color: #FFFFFF !important; }
.ca-product-body .woocommerce-tabs ul.tabs li:not(.active):hover { background: #E7E1D6 !important; }
.ca-product-body .woocommerce-Tabs-panel { margin: 0 !important; padding: 0 !important; font-family: Inter, sans-serif; font-size: 15px; line-height: 1.75; color: #4a4a4a; max-width: 900px; }
.ca-product-body .woocommerce-Tabs-panel > h2:first-child { display: none !important; }
.ca-product-body .woocommerce-Tabs-panel p { margin: 0 0 1.1em; }
.ca-product-body .woocommerce-Tabs-panel ul { padding-left: 1.2em; margin: 0 0 1.1em; }
.ca-product-body table.woocommerce-product-attributes { border: 1px solid #E7E1D6 !important; border-radius: 18px; overflow: hidden; border-collapse: separate; border-spacing: 0; margin: 0; }
.ca-product-body table.woocommerce-product-attributes th, .ca-product-body table.woocommerce-product-attributes td { padding: 12px 20px !important; border: 0 !important; border-bottom: 1px solid #EFEAE0 !important; background: #FFFFFF !important; font-style: normal !important; vertical-align: top; }
.ca-product-body table.woocommerce-product-attributes tr:nth-child(even) th, .ca-product-body table.woocommerce-product-attributes tr:nth-child(even) td { background: #FAF8F4 !important; }
.ca-product-body table.woocommerce-product-attributes tr:last-child th, .ca-product-body table.woocommerce-product-attributes tr:last-child td { border-bottom: 0 !important; }
.ca-product-body table.woocommerce-product-attributes th { width: 34%; font-family: 'Nunito Sans', sans-serif; font-weight: 700; font-size: 13px; letter-spacing: .5px; text-transform: uppercase; color: #29313C; }
.ca-product-body table.woocommerce-product-attributes td p { margin: 0; }

/* Related / upsells */
.ca-product-body .related, .ca-product-body .upsells { margin-top: 90px !important; padding-top: 0 !important; }
.ca-product-body .related > h2, .ca-product-body .upsells > h2 { font-family: Poppins, sans-serif !important; font-weight: 700 !important; font-size: 34px !important; line-height: 1.2 !important; color: #29313C !important; text-align: center; margin: 0 0 32px !important; text-transform: none !important; }
.ca-product-body .related ul.products, .ca-product-body .upsells ul.products { display: grid !important; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 30px; margin: 0 !important; }
.ca-product-body .related ul.products::before, .ca-product-body .related ul.products::after, .ca-product-body .upsells ul.products::before, .ca-product-body .upsells ul.products::after { display: none !important; }
.ca-product-body .related ul.products > li, .ca-product-body .upsells ul.products > li { width: auto !important; float: none !important; margin: 0 !important; display: flex !important; flex-direction: column; height: 100%; }
.ca-product-body .related ul.products > li > .button, .ca-product-body .upsells ul.products > li > .button { margin-top: auto !important; align-self: center; }

@media (max-width: 1024px) {
  .ca-product-body div.product { column-gap: 36px; }
  .ca-product-body .related ul.products, .ca-product-body .upsells ul.products { gap: 20px; }
}
@media (max-width: 767px) {
  .ca-product-body div.product { grid-template-columns: minmax(0,1fr); }
  .ca-product-body div.product > .summary { grid-column: 1; margin-top: 28px !important; }
  .ca-product-body .summary .price { font-size: 28px !important; }
  .ca-product-body .summary > .ca-condition { margin-top: 1px !important; }
  /* Phone: qty + Add to Cart on one row, Compare below at the same width as Add to Cart */
  .ca-product-body .summary > form.cart { flex: 0 0 100%; margin-bottom: 12px !important; }
  .ca-product-body .summary form.cart .single_add_to_cart_button { flex: 1 1 auto; min-width: 0; }
  .ca-product-body .summary > .compare, .ca-product-body .summary > .woosc-btn { flex: 1 1 0; min-width: 0; width: auto; }
  .ca-product-body .summary:has(form.cart input.qty:not([type=hidden])) > .compare, .ca-product-body .summary:has(form.cart input.qty:not([type=hidden])) > .woosc-btn { margin-left: 88px !important; }
  .ca-product-body .summary .single_add_to_cart_button, .ca-product-body .summary > .compare, .ca-product-body .summary > .woosc-btn { padding: 0 16px !important; font-size: 14px !important; }
  .ca-product-body .woocommerce-tabs { margin-top: 52px !important; }
  .ca-product-body .woocommerce-tabs ul.tabs li a { padding: 10px 18px !important; font-size: 13px; }
  .ca-product-body table.woocommerce-product-attributes th { width: 42%; }
  .ca-product-body .related, .ca-product-body .upsells { margin-top: 60px !important; }
  .ca-product-body .related > h2, .ca-product-body .upsells > h2 { font-size: 26px !important; }
  .ca-product-body .related ul.products, .ca-product-body .upsells ul.products { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px; }
}
/* USED badge on in-store product cards (new guns get none) (related products) */
ul.products li.product.product_tag-in-store { position: relative; }
ul.products li.product.product_tag-in-store.product_tag-used::before { content: 'Used'; position: absolute; top: 14px; left: 14px; z-index: 3; height: 26px; padding: 0 12px; border-radius: 30px; background: #A18458; color: #FFFFFF; font-family: 'Nunito Sans', sans-serif; font-weight: 800; font-size: 11px; line-height: 26px; letter-spacing: 1.5px; text-transform: uppercase; pointer-events: none; box-shadow: 0 1px 3px rgba(0,0,0,.25); }/* End custom CSS */