/*
Theme Name: APC

WooCommerce styles override
*/
/** Shop tables */
table.shop_table_responsive thead { display: none; }

table.shop_table_responsive tbody th { display: none; }

table.shop_table_responsive tr td { display: block; text-align: left; clear: both; }

table.shop_table_responsive tr td::before { content: attr(data-title) ": "; float: right; }

table.shop_table_responsive tr td.product-remove a { text-align: right; }

table.shop_table_responsive tr td.product-remove::before { display: none; }

table.shop_table_responsive tr td.actions::before, table.shop_table_responsive tr td.download-actions::before { display: none; }

table.shop_table_responsive tr td.download-actions .button { display: block; text-align: center; }

table.shop_table_responsive tr td.product-thumbnail img { max-width: 100px; }

table.shop_table_responsive tr td a { text-decoration: none; }

.cart_totals .table.shop_table.shop_table_responsive tbody th { width: 30%; }

@media (min-width: 576px) { table.shop_table_responsive thead { display: table-header-group; }
  table.shop_table_responsive tbody th { display: table-cell; }
  table.shop_table_responsive tr th, table.shop_table_responsive tr td { text-align: right; vertical-align: middle; }
  table.shop_table_responsive tr td { display: table-cell; }
  table.shop_table_responsive tr td::before { display: none; } }

/** Products */
ul.products li.product .button { display: block; }

ul.products li.product .woocommerce-loop-product__link { text-decoration: none; color: #121F28; }

ul.products li.product .woocommerce-loop-product__link .woocommerce-loop-product__title { font-size: 1.125rem; font-weight: bold; margin-top: 1rem; }

ul.products li.product .woocommerce-loop-product__link .price { margin: 1rem 0; text-align: left; font-weight: bold; display: grid; grid-template: auto / 1fr auto; }

ul.products li.product .woocommerce-loop-product__link .price::before { content: 'In Stock'; font-weight: normal; margin-left: .5rem; font-size: 14px; }

ul.products li.product .woocommerce-loop-product__link .price del { color: var(--bs-secondary-color); font-weight: normal; }

ul.products li.product .woocommerce-loop-product__link .price ins { grid-column-start: 2; }

ul.products li.product .woocommerce-loop-product__link img { margin: auto; display: block; }

.woocommerce-result-count { line-height: 2.5; background: #3061E7; color: #FFFFFF; width: auto; margin-right: auto; margin-left: calc(var(--bs-gutter-x) * .5); }

@media (min-width: 992px) { .woocommerce-result-count { border-bottom: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color); text-align: left; flex: 1; margin: 0; order: 1; background: transparent; color: #272727; } }

.woocommerce-ordering .nav-underline { --bs-nav-underline-link-active-color: #3061E7; }

.woocommerce-ordering .nav-underline .nav-link.active, .woocommerce-ordering .nav-underline .show > .nav-link { font-weight: 400; }

/** Single product */
.single-product div.product { position: relative; }

.single-product div.product .woocommerce-product-gallery { position: relative; }

.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__trigger { position: absolute; top: 2rem; right: 1rem; display: block; z-index: 99; background: #3061E7; font-size: 0; padding: .5rem; text-decoration: none; }

.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__trigger::before { content: "\e909"; font-family: 'apc' !important; speak: never; font-style: normal; font-weight: normal; font-variant: normal; font-size: 1rem; text-transform: none; line-height: 1; color: #FFFFFF; }

.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__trigger img { display: none !important; }

.single-product div.product .woocommerce-product-gallery .flex-viewport { margin-bottom: 1em; }

.single-product div.product .woocommerce-product-gallery .flex-control-thumbs { margin: 0; padding: 0; display: flex; }

.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li { list-style: none; cursor: pointer; }

.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li img { padding: 1rem; }

.single-product div.product .product_title { font-size: 1.5rem; font-weight: bold; }

.single-product div.product .product_meta { font-weight: bold; font-size: 0.75rem; margin-bottom: 1rem; }

.single-product div.product .product_meta a { text-decoration: none; font-weight: 400; color: #888; }

.single-product div.product .summary.entry-summary { display: flex; flex-direction: column; height: 100%; }

.single-product div.product .woocommerce-tabs .nav.nav-underline { --bs-nav-underline-border-width: 4px; --bs-nav-underline-gap: 3rem; }

.related.products h2 { font-size: 1.25rem; font-weight: bold; margin-bottom: 2rem; }

/** Checkout */
.woocommerce-cart .woocommerce #shipping_method { padding: 0; margin: 0; list-style: none; font-weight: 700; }

.woocommerce-cart .woocommerce .woocommerce-shipping-destination { font-size: 14px; color: var(--bs-secondary-color) !important; }

.woocommerce-cart .woocommerce .woocommerce-shipping-destination:before { content: '('; }

.woocommerce-cart .woocommerce .woocommerce-shipping-destination:after { content: ')'; }

.woocommerce-cart .woocommerce .woocommerce-shipping-calculator { margin-top: 1rem; }

.woocommerce-cart .woocommerce .woocommerce-shipping-calculator .shipping-calculator-button.btn { --bs-btn-padding-y: .25rem; }

@media (min-width: 768px) { .col2-set .form-row-first { float: right; }
  .col2-set .form-row-last { float: left; margin-left: 0; } }

.woocommerce-checkout .woocommerce-checkout-payment .wc_payment_methods li .accordion-header { position: relative; }

.woocommerce-checkout .woocommerce-checkout-payment .wc_payment_methods li .accordion-header input { position: absolute; top: 1rem; right: 1rem; z-index: 999; }

.woocommerce-checkout .woocommerce-checkout-payment .wc_payment_methods li .accordion-header label { padding-right: calc(var(--bs-accordion-btn-padding-x) + 1.5rem); cursor: pointer; }

/** General WooCommerce components */
/** Header cart */
.site-header-cart { position: relative; margin: 0; padding: 0; }

.site-header-cart .cart-contents { text-decoration: none; }

.site-header-cart .widget_shopping_cart { display: none; }

.site-header-cart .product_list_widget { margin: 0; padding: 0; }

/** Star rating */
.star-rating { overflow: hidden; position: relative; height: 1.618em; line-height: 1.618; width: 5.3em; font-family: star; font-weight: 400; }

.star-rating::before { content: "\53\53\53\53\53"; opacity: 0.25; float: right; top: 0; right: 0; position: absolute; }

.star-rating span { overflow: hidden; float: right; top: 0; right: 0; position: absolute; padding-top: 1.5em; }

.star-rating span::before { content: "\53\53\53\53\53"; top: 0; position: absolute; right: 0; color: #4169e1; }

p.stars a { position: relative; height: 1em; width: 1em; text-indent: -999em; display: inline-block; text-decoration: none; margin-left: 1px; font-weight: 400; }

p.stars a::before { display: block; position: absolute; top: 0; right: 0; width: 1em; height: 1em; line-height: 1; font-family: star; content: "\53"; color: #272727; text-indent: 0; opacity: 0.25; }

p.stars a:hover ~ a::before { content: "\53"; color: #272727; opacity: 0.25; }

p.stars:hover a::before { content: "\53"; color: #4169e1; opacity: 1; }

p.stars.selected a.active::before { content: "\53"; color: #4169e1; opacity: 1; }

p.stars.selected a.active ~ a::before { content: "\53"; color: #272727; opacity: 0.25; }

p.stars.selected a:not(.active)::before { content: "\53"; color: #4169e1; opacity: 1; }

/** Tabs */
/** Password strength meter */
.woocommerce-password-strength { text-align: left; }

.woocommerce-password-strength.strong { color: var(--bs-success); }

.woocommerce-password-strength.short { color: var(--bs-danger); }

.woocommerce-password-strength.bad { color: var(--bs-danger); }

.woocommerce-password-strength.good { color: var(--bs-info); }

/** Forms */
.form-row.woocommerce-validated input.input-text { box-shadow: inset -2px 0 0 var(--bs-success); }

.form-row.woocommerce-invalid input.input-text { box-shadow: inset -2px 0 0 var(--bs-danger); }

.required { color: #f00; }

/** Notices */
.woocommerce-notices-wrapper a { font-weight: 700; color: var(--bs-alert-link-color); float: left; }

.woocommerce-noreviews, p.no-comments { background-color: var(--bs-success-bg-subtle); clear: both; }

.demo_store { position: fixed; right: 0; bottom: 0; left: 0; margin: 0; padding: 1em; background-color: var(--bs-info); z-index: 9999; }

@media screen and (min-width: 48em) { /** Header cart */
  .site-header-cart .widget_shopping_cart { position: absolute; top: 100%; width: 100%; z-index: 999999; right: -999em; display: block; box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2); }
  .site-header-cart:hover .widget_shopping_cart, .site-header-cart.focus .widget_shopping_cart { right: 0; display: block; } }

.dropdown-menu .woocommerce-mini-cart__empty-message { white-space: nowrap; margin-bottom: 0; }

.dropdown-menu .woocommerce-mini-cart.cart_list .woocommerce-mini-cart-item.mini_cart_item { padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x); clear: both; white-space: nowrap; display: flex; }

.dropdown-menu .woocommerce-mini-cart.cart_list .woocommerce-mini-cart-item.mini_cart_item a { color: var(--bs-dropdown-link-color); text-decoration: none; display: flex; }

.dropdown-menu .woocommerce-mini-cart.cart_list .woocommerce-mini-cart-item.mini_cart_item .quantity { align-self: center; }

.dropdown-menu .woocommerce-mini-cart__buttons.buttons { display: flex; justify-content: space-between; }

.dropdown-menu .woocommerce-mini-cart__total.total { border-top: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color); margin-top: 1rem; padding-top: 1rem; }

/** WooCommerce widgets */
/** WooCommerce Price Filter */
.widget_price_filter .price_slider { margin-bottom: 1.5em; }

.widget_price_filter .price_slider_amount { text-align: left; line-height: 2.4; }

.widget_price_filter .price_slider_amount .button { float: right; }

.widget_price_filter .ui-slider { position: relative; text-align: right; }

.widget_price_filter .ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1em; height: 1em; cursor: ew-resize; outline: none; background: #4169e1; box-sizing: border-box; margin-top: -0.25em; opacity: 1; }

.widget_price_filter .ui-slider .ui-slider-handle:last-child { margin-right: -1em; }

.widget_price_filter .ui-slider .ui-slider-handle:hover, .widget_price_filter .ui-slider .ui-slider-handle.ui-state-active { box-shadow: 0 0 0 0.25em rgba(0, 0, 0, 0.1); }

.widget_price_filter .ui-slider .ui-slider-range { position: absolute; z-index: 1; display: block; border: 0; background: #4169e1; }

.widget_price_filter .price_slider_wrapper .ui-widget-content { background: rgba(0, 0, 0, 0.1); }

.widget_price_filter .ui-slider-horizontal { height: 0.5em; }

.widget_price_filter .ui-slider-horizontal .ui-slider-range { height: 100%; }