 /** ==============================================
 *  Theme Name: Atomica
 *  WooCommerce styles override
 ** ============================================== */

:root {
  --primary:    #444444;
  --secondary:  #6f7177;
  --tertiary:   #c2c2c2;
  --accent:     #f8f8f8;
  --success:    #78a780;
  --error:      #a8503c;
  --note:       #5da3cc;
  --title-size:   1rem;
}

/** ==================================
 *  Miscellaneous
 *  ================================== */

[class*='woocommerce'] input#coupon_code {
  width: 200px;
  height: 36px;
  padding: 8px;
}

[class*='woocommerce'] .product span.onsale {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  line-height: 54px;
}

[class*='woocommerce'] .woocommerce-result-count {
  font-weight: bold;
}

[class*='woocommerce'] .woocommerce-ordering {
	padding-top: 0;
	position: relative;
	z-index: 0;
}

[class*='woocommerce'] .woocommerce-ordering::before {
	position: absolute;
	left: 216px;
	top: 5px;
	width: 20px;
	height: 20px;
	font-family: 'icons';
	content: '\ea34';
	z-index: 1;
	color: var(--primary);
}

[class*='woocommerce'] select.orderby {
	width: 240px;
}

[class*='woocommerce'] [id*='section'] a.button,
[class*='woocommerce'] [id*='section'] button.button,
[class*='woocommerce'] [id*='section'] input.button {
	  font-weight: 300;
	  padding: 13px;
}

[class*='woocommerce'] [id*='section'] a.checkout-button.button {
	padding: 20px;
}


[class*='woocommerce'] .summary .cart button.button.single_add_to_cart_button {
	padding: 13px;
}
  

/** ================================
 *  Tables
 *  ================================ */

[class*='woocommerce'] table.shop_table tr,
[class*='woocommerce'] table.shop_table th,
[class*='woocommerce'] table.shop_table td {
  background: none;
  border: 0;
}

table.shop_table_responsive {
	background-color: var(--accent);
}

table.shop_table_responsive * {
	border-color: var(--tertiary) !important;
}

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: right;
	clear: both;
}

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

table.shop_table_responsive tr td.product-remove a.remove {
  color: var(--error);
  font-weight: normal;
  width: 1.1em;
  height: 1.1em;
}

table.shop_table_responsive tr td.product-remove a.remove:hover {
  background-color: var(--error);
}

table.shop_table_responsive tr.woocommerce-cart-form__cart-item .product-thumbnail a img {
  width: 100px;
  height: 100px;
}

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;
}

@media screen and (min-width: 48em) {

	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: left;
	}

	table.shop_table_responsive tr td {
		display: table-cell;
	}

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

}

/** ==================================
 *  Products Layout
 *  =================================== */

.woocommerce .products {
	display: flex;
	align-items: stretch;
	flex-wrap: wrap;
	justify-content: space-between;
}
  
.woocommerce .products[class*='columns-'] .product {
	border: 1px solid var(--tertiary);
	padding: 8px;
}
  
ul.products li.product .woocommerce-loop-product__title {
	font-size: var(--title-size);
	text-align: center;
}

ul.products li.product .price {
	text-align: center;
}

ul.products li.product img {
	display: block;
}

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

ul.products li.product .added_to_cart.wc-forward {
  display: block;
  text-align: center;
  margin-top: 8px;
  line-height: 1;
  padding: 10px;
}

@media screen and (min-width: 48em) {

	.woocommerce .products {
		justify-content: flex-start;
	}

	ul.products li.product {
		width: 30.7966666667%;
		margin-right: 3.8%;
	}

	ul.products li.product.last {
		margin-right: 0;
	}

	.columns-1 ul.products li.product {
		width: 100%;
	}

	.columns-2 ul.products li.product {
		width: 48.1%;
	}

	.columns-3 ul.products li.product {
		width: 30.7966666667%;
	}

	.columns-4 ul.products li.product {
		width: 22.15%;
	}

	.columns-5 ul.products li.product {
		width: 16.96%;
	}

	.columns-6 ul.products li.product {
		width: 13.4933333333%;
	}

}


/** ==================================
 *  Block Grid Products Layout
 *  ================================== */

.wc-block-grid .wc-block-grid__products {
	justify-content: space-between;
}
  
.wc-block-grid .wc-block-grid__products li.wc-block-grid__product {
	list-style-type: none;
	padding: 8px;
}

.wc-block-grid .wc-block-grid__products li.wc-block-grid__product::before {
	content: " ";
	position: absolute;
	z-index: 0;
	top: 1px;
	left: 1px;
	right: 1px;
	bottom: 1px;
	border: 1px solid var(--tertiary);
	background: var(--accent);
}
  
.wc-block-grid .wc-block-grid__products li.wc-block-grid__product a {
	position: relative;
	z-index: 1;
}

.wc-block-grid .wc-block-grid__products li.wc-block-grid__product img {
	width: 100%;
	height: auto;
}

.wc-block-grid .wc-block-grid__product-title {
	font-size: var(--title-size);
}

.wc-block-grid .wc-block-grid__products .price {
	position: relative;
	z-index: 1;
}

.wc-block-grid .wc-block-grid__products .wp-block-button {
	position: relative;
	z-index: 1;
}

/** ==================================
 *  Taxonomy
 * =================================== */

.woocommerce[class*='term'] h1.title.entry-title {
  display: none;
}

/** ==================================
 *  Single Product
 * =================================== */

[class*='woocommerce'] .cart button.button.single_add_to_cart_button {
   margin-top: 0;
   padding: 12px;
}

.single-product h1.title.entry-title {
   display: none;
}

.single-product .quantity {
  display: inline-block;
  width: 60px;
  padding: 0;
  margin: 0;
}

.woocommerce .product .woocommerce-product-gallery.images .flex-control-thumbs li {
  margin-right: 2px;
}

.woocommerce .product .woocommerce-product-gallery.images .flex-control-thumbs li:last-of-type {
  margin-right: 2px;
}

.single-product div.product {
	content: "";
	display: table;
	table-layout: fixed;
	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: 1em;
	right: 1em;
	display: block;
	z-index: 99;
}

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

.single-product div.product .woocommerce-product-gallery .flex-control-thumbs {
	content: "";
	display: table;
	table-layout: fixed;
	margin: 0;
	padding: 0;
}

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

.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li img {
	opacity: .5;
}

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

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

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-2 .flex-control-thumbs li {
	width: 48.1%;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-2 .flex-control-thumbs li:nth-child(2n) {
	margin-right: 0;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-2 .flex-control-thumbs li:nth-child(2n+1) {
	clear: both;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-3 .flex-control-thumbs li {
	width: 30.7966666667%;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-3 .flex-control-thumbs li:nth-child(3n) {
	margin-right: 0;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-3 .flex-control-thumbs li:nth-child(3n+1) {
	clear: both;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-4 .flex-control-thumbs li {
	width: 22.15%;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-4 .flex-control-thumbs li:nth-child(4n) {
	margin-right: 0;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-4 .flex-control-thumbs li:nth-child(4n+1) {
	clear: both;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-5 .flex-control-thumbs li {
	width: 16.96%;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-5 .flex-control-thumbs li:nth-child(5n) {
	margin-right: 0;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-5 .flex-control-thumbs li:nth-child(5n+1) {
	clear: both;
}

.stock:empty:before {
	display: none;
}

.stock.in-stock {
	color: var(--success);
}

.stock.out-of-stock {
	color: var(--error);
}

/** ==================================
 *  Checkout
 * =================================== */

#ship-to-different-address input {
  margin-right: 8px;
  margin-top: 2px;
}

[class*='woocommerce'] [id*='section'] .woocommerce-checkout {
  border: 1px solid var(--tertiary);
  border-radius: 3px;
  padding: 12px;
}

[class*='woocommerce'] [id*='section'] #customer_details.col2-set [class*='col'] {
 width: 100%;
 clear: both;
 column-count: 1;
}

[class*='woocommerce'] [id*='section'] .checkout .col2-set [class*='col'] .woocommerce-shipping-fields,
[class*='woocommerce'] [id*='section'] .checkout .col2-set [class*='col'] .woocommerce-additional-fields  {
  width: 100%;
  -webkit-column-count: 1;
  column-count: 1;
  float: left;
  display: block;
}

[class*='woocommerce'] [id*='section'] .checkout .woocommerce-checkout-review-order {
  display: block;
  float: left;
  clear: both;
}

[class*='woocommerce'] [id*='section'] .checkout p[id*='billing_address_1'],
[class*='woocommerce'] [id*='section'] .checkout p[id*='shipping_address_1'] {
  width: 70%;
  display: inline-block;
}

[class*='woocommerce'] [id*='section'] .checkout p[id*='billing_address_2'],
[class*='woocommerce'] [id*='section'] .checkout p[id*='shipping_address_2'] {
  width: 30%;
  display: inline-block;
}

#order_review_heading {
 clear: both;
 float: left;
 margin-top: 60px;
}

@media screen and (min-width: 768px) {

	.col2-set .form-row-first {
		float: left;
		margin-right: 3.8%;
	}

	.col2-set .form-row-last {
		float: right;
		margin-right: 0;
	}

	.col2-set .form-row-first,
	.col2-set .form-row-last {
		width: 48.1%;
	}

}

/** ==================================
 *  Account
 * =================================== */

 .woocommerce .woocommerce-Address {
   column-count: 1;
 }

 .woocommerce .woocommerce-Address:first-of-type {
   margin-bottom: 32px;
   padding-bottom: 32px;
   border-bottom: 1px solid var(--tertiary);
 }

 .woocommerce .woocommerce-Address-title.title {
   display: block;
   width: 100%;
 }

 .woocommerce .woocommerce-Address address {
   display: block !important;
   width: 100%;
 }

.woocommerce .woocommerce-Address a.edit:hover {
  text-decoration: none;
}

.woocommerce .woocommerce-MyAccount-navigation li {
  list-style-type: none;
  padding-bottom: 8px;
  margin-bottom: 8px;
  border-bottom: 1px solid var(--tertiary);
}

.woocommerce .woocommerce-EditAccountForm .clear {
  padding: 0;
}

.woocommerce .woocommerce-MyAccount-content {
  border: 1px solid var(--tertiary);
  border-radius: 3px;
  padding: 12px;
}

.woocommerce p:first-of-type {
  padding-top: 16px;
}

#customer_login {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: wrap;
}

#customer_login [class*='col-'] {
  width: 49%;
  column-count: 1;
}

#customer_login .col-1 {
  order: 2;
}

#customer_login .col-2 {
  order: 1;
}

@media only screen and ( max-width: 780px ) {

  #customer_login {
    display: block;
  }

  #customer_login [class*='col-'] {
    width: 100%;
  }

}

/** ==================================
 *  Pagination
 * =================================== */

.woocommerce .woocommerce-pagination .page-numbers,
.woocommerce .woocommerce-pagination .page-numbers li {
	border: 0;
}

.woocommerce .woocommerce-pagination .page-numbers li { 
	width: 34px;
	margin-right: 6px;
	border: 1px solid var(--secondary);
}

.woocommerce .woocommerce-pagination .page-numbers li a {
	border: 0;
	width: 100%;
}

/** ==================================
 *  General WooCommerce components
 * =================================== */

/* Header Cart
 * ======================== */

.site-header-cart {
	position: relative;
	margin: 0;
	padding: 0;
	content: "";
	display: table;
	table-layout: fixed;
}

.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;
}

/* Tabs
 * ======================== */
 
.woocommerce .woocommerce-tabs ul.tabs {
	list-style: none;
	margin: 0;
	padding: 0;
	text-align: left;
}

.woocommerce .woocommerce-tabs ul.tabs li {
	color: var(--primary);
	display: block;
	margin: 0;
	position: relative;
	border-radius: 0 !important;
	margin-right: 6px !important;
}

.woocommerce .woocommerce-tabs ul.tabs li::before,
.woocommerce .woocommerce-tabs ul.tabs li::after {
	border-radius: 0 !important;
	background: none !important;
}

.woocommerce .woocommerce-tabs ul.tabs li a {
	padding: 1em 0;
	display: block;
}

.woocommerce .woocommerce-tabs .panel h2:first-of-type {
	margin-bottom: 1em;
}

/* Product Attributes
 * ======================== */

.woocommerce .woocommerce-product-attributes-item__label {
	background-color: var(--primary);
}
  
.woocommerce .woocommerce-product-attributes-item__value p {
	padding-left: 20px !important;
}

/* Password Strength Meter
 * ======================== */

.woocommerce-password-strength {
	text-align: right;
}

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

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

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

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

/* Forms
 * ======================== */

.woocommerce input:not(type=submit),
.woocommerce select,
.woocommerce textarea {
  border-radius: 3px;
  background: #ffffff;
  border: 1px solid var(--tertiary);
}

[class*='woocommerce'] form .form-row .select2.select2-container .select2-selection--single {
  height: 38px;
  padding-top: 4px;
}

[class*='woocommerce'] form .form-row .select2.select2-container .select2-selection__arrow {
  margin-top: 4px;
}

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

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

.required {
	color: var(--error);
}

/* Notices
 * ======================== */

.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews,
p.no-comments {
	background-color: var(--success);
}

.woocommerce-info,
.woocommerce-noreviews,
p.no-comments {
	background-color: var(--note);
	color: var(--accent);
	padding-left: 12px;
}

.woocommerce-error {
	background-color: var(--error);
}

@media screen and (min-width: 48em) {

	.site-header-cart .widget_shopping_cart {
		position: absolute;
		top: 100%;
		width: 100%;
		z-index: 999999;
		left: -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 {
		left: 0;
		display: block;
	}

}

/* Related Products
 * ======================== */

.woocommerce .related.products {
	padding-top: 16px;
	display: block;
	width: 100%;
  	clear: both;
}

.woocommerce .related.products > h2 {
	background: var(--primary);
	color: var(--accent);
	padding: 8px;
	width: 100%;
}

.woocommerce .related.products ul.products {
  	display: flex;
  	align-items: stretch;
  	justify-content: flex-start;
}

.woocommerce .related.products ul.products li {
  	padding: 8px !important;
  	border-color: transparent !important;
}

.woocommerce .related.products ul.products li::before {
	content: " ";
  	position: absolute;
  	z-index: 0;
  	top: 1px;
  	left: 1px;
  	right: 1px;
  	bottom: 1px;
	border: 1px solid var(--tertiary);
}

.woocommerce .related.proeucts ul.products li img,
.woocommerce .related.products ul.products a {
  position: relative;
  z-index: 1;
}

.woocommerce .related.products ul.products li a.add_to_cart_button {
  	color: var(--accent);
}

@media only screen and ( max-width: 600px ) {

	.woocommerce .related.products ul.products {
		flex-wrap: wrap;
	}

}

/* Star Rating
 * ======================== */

.star-rating {
	overflow: hidden;
	position: relative;
	height: 1.618em;
	line-height: 1.618;
	font-size: 1em;
	width: 5.3em;
	font-family: 'star';
	font-weight: 400;
}

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

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

.star-rating span:before {
	content: "\53\53\53\53\53";
	top: 0;
	position: absolute;
	left: 0;
	color: var(--note);
}

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

p.stars a::before {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 1em;
	height: 1em;
	line-height: 1;
	font-family: "star";
	content: "\53";
	color: var(--primary);
	text-indent: 0;
	opacity: .25;
}

p.stars a:hover ~ a::before {
	content: "\53";
	color: var(--primary);
	opacity: .25;
}

p.stars:hover a::before {
	content: "\53";
	color: var(--note);
	opacity: 1;
}

p.stars.selected a.active::before {
	content: "\53";
	color: var(--note);
	opacity: 1;
}

p.stars.selected a.active ~ a::before {
	content: "\53";
	color: var(--primary);
	opacity: .25;
}

p.stars.selected a:not(.active)::before {
	content: "\53";
	color: var(--note);
	opacity: 1;
}

/** ==================================
 *  Widgets
 * =================================== */

 /* Cart
  * ======================== */

.woocommerce-mini-cart__empty-message {
  padding-top: 0 !important;
}

.mini_cart_item {
	border-bottom: 1px solid var(--secondary);
	margin-bottom: 8px;
	padding-bottom: 8px;
}

.woocommerce .mini_cart_item a.remove {
	color: var(--error) !important;
}

 /* Price Filter
  * ======================== */

.widget_price_filter .price_slider {
	margin-bottom: 1.5em;
}

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

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

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

.widget_price_filter .ui-slider .ui-slider-handle {
	position: absolute;
	z-index: 2;
	width: 1em;
	height: 1em;
	cursor: ew-resize;
	outline: none;
	background: var(--primary);
	box-sizing: border-box;
	margin-top: -.25em;
	opacity: 1;
}

.widget_price_filter .ui-slider .ui-slider-handle:last-child {
	margin-left: -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: var(--primary);
}

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

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

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

/* Cart Count Icon
* ===================================================== */

.cart.cart-contents {
    position: relative;
	display: inline-block;
	width: auto;
}

#main-nav .cart.cart-contents {
	top: 6px;
}

.cart.cart-contents::before {
    font-family: 'icons';	
    content: "\ea77" !important;
    font-size: 20px;
	color: var(--accent);
	transition: opacity 0.2s ease-in-out; 
}

.cart.cart-contents::before {
    font-size: 16px;
    color: var(--accent);
}

.cart.cart-contents:hover::before {
	opacity: 0.6;
}

.cart.cart-contents:hover {
    text-decoration: none;
}

.cart.cart-contents .count {
	position: absolute;
    top: 16px;
   	right: -12px;
   	transform: translateY(-105%) translateX(25%);
	font-family: Arial, Helvetica, sans-serif;
	font-weight: normal;
	font-size: 12px;
	line-height: 22px;
	height: 22px;
   	width: 22px;
	vertical-align: middle;
	text-align: center;
	color: var(--accent) !important;
    background: var(--note);
    border-radius: 50%;
	padding: 1px;  
}
