/*
Theme Name: Zeitkind Verlag

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

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
 */
ul.products {
	margin: 0;
	padding: 0;
}

ul.products li.product {
	list-style: none;
	position: relative;
	margin-bottom: 2em;
}

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

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

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

	ul.products li.product {
		width: 30.79667%;
		float: left;
		margin-right: 3.8%;
	}

	ul.products li.product.first {
		clear: both;
	}

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

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

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

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

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

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

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

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

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

.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__trigger {
	position: absolute;
	top: 2em;
	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 {
	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: 0.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.79667%;
}

.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: #0f834d;
}

.stock.out-of-stock {
	color: #e2401c;
}

/**
 * Checkout
 */
@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%;
	}
}

/**
 * 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: 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: #4169e1;
}

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: #404040;
	text-indent: 0;
	opacity: 0.25;
}

p.stars a:hover ~ a::before {
	content: "\53";
	color: #404040;
	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: #404040;
	opacity: 0.25;
}

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

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

.woocommerce-tabs ul.tabs li {
	display: block;
	margin: 0;
	position: relative;
}

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

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

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

.woocommerce-password-strength.strong {
	color: #0f834d;
}

.woocommerce-password-strength.short {
	color: #e2401c;
}

.woocommerce-password-strength.bad {
	color: #e2401c;
}

.woocommerce-password-strength.good {
	color: #3d9cd2;
}

/**
 * Forms
 */
.form-row.woocommerce-validated input.input-text {
	box-shadow: inset 2px 0 0 #0f834d;
}

.form-row.woocommerce-invalid input.input-text {
	box-shadow: inset 2px 0 0 #e2401c;
}

.required {
	color: #f00;
}

/**
 * Notices
 */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews,
p.no-comments {
	background-color: #0f834d;
	clear: both;
}

.woocommerce-info,
.woocommerce-noreviews,
p.no-comments {
	background-color: #3d9cd2;
}

.woocommerce-error {
	background-color: #e2401c;
}

.demo_store {
	position: fixed;
	left: 0;
	bottom: 0;
	right: 0;
	margin: 0;
	padding: 1em;
	background-color: #3d9cd2;
	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;
		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;
	}
}

/**
 * WooCommerce widgets
 */

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

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

.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: #4169e1;
	box-sizing: border-box;
	margin-top: -0.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: #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%;
}

/**
 * Anpassungen naloo
 * Allgemein 
 */
 
.woocommerce-info, .woocommerce-noreviews, p.no-comments,
.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-noreviews, p.no-comments {
  background-color: rgba(var(--zk2-color));
  padding: 15px 20px; 
  margin-bottom: 1.5em; 
  border: none !important; 
  user-select: none;
}

ul.woocommerce-error {
	list-style-type: none; 
}

.woocommerce-message:focus,
.woocommerce-message *:focus,
.woocommerce-info:focus, 
.woocommerce-error:focus, 
.woocommerce-noreviews:focus,
p.no-comments:focus {
  outline: none !important;
  box-shadow: none !important;
}

 

/**
 * Navigation 
 */
 
.main-navigation a i {
  position: relative;
  top: -5px;
}
.main-navigation .fa-solid {
	font-size:1em; 
} 
 
.menu-item-cart {
    position: relative;
}

.menu-item-cart .cart-count {
    position: absolute;
    top: 27px;
    right: 5px;
    color: white;
    border-radius: 50%;
    padding: 0;
    font-size: 16px;
    font-weight: bold;
    width: 25px;
    text-align: center; 
}

 
 /**
 * Archive 
 */
:root .woocommerce-shop {
	--zk1-color: #6ea191;
} 
 
.shop-loop-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 2rem;
	gap: 2rem;
} 

.shop-loop-header {
	display: none; 
}
 
/**
 * Buchseiten 
 */ 
.woocommerce-kaufbereich { 
 	margin-bottom: 2em; 
}

.woocommerce-kaufbereich select {
	font-size: 0.8em; 
	width: 100%; 
}

.variations tr {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}

.variations th.label {
	width: auto;
	margin-right: 1rem;
	text-align: left;
}

.variations td.value {
	flex: 1;
}

.woocommerce-kaufbereich .label {
	display: none; 
}

.woocommerce-breadcrumb, 
.reset_variations,
.single-product div.quantity {
	display: none !important;
}

.woocommerce-Price-amount { 
	font-size: 1.5em; 
	font-family: "interstate-condensed", Helvetica, sans-serif;}
	
.single_variation_wrap .woocommerce-Price-amount { 	
	font-weight: 500;
}
.woocommerce-variation-price {  
	margin-bottom: 0.5em; 
}

.single_add_to_cart_button {
	width: 100%; 
}
 
/* Kontodetails / Form Lable Allgmein */

.woocommerce form .form-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin-bottom: 1em;
}

.woocommerce form .form-row label {
	width: 200px;
	margin: 0;
	font-weight:300;
}

.woocommerce form fieldset { margin: 2em 0; }
.woocommerce form fieldset .form-row label { width: 180px; }

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce form .form-row input.password,
span.password-input {
	flex: 1;
	width: auto;
	width: 100%;
}
.woocommerce form .form-row .woocommerce-input-wrapper { flex: 1; }

.shipping-calculator-form {
	margin: 1em 0; 
}

#calc_shipping_country_field,
#calc_shipping_state_field > span {
  display: flex;
  align-items: center;
  width: 100%;
  gap: 1rem;
}

/* Fixed width label */
#calc_shipping_country_field label,
#calc_shipping_state_field label {
  width: 200px;
  flex-shrink: 0;
  margin: 0;
}

/* Make select stretch */
#calc_shipping_country_field .select2,
#calc_shipping_country_field .select2-container,
#calc_shipping_country,
#calc_shipping_state_field .select2,
#calc_shipping_state_field .select2-container,
#calc_shipping_state {
  flex-grow: 1;
  width: auto !important;
  min-width: 0;
}

.woocommerce form .form-row select {
	width: 100%;
	box-sizing: border-box;
	padding: 0.5em;
}

.woocommerce form .form-row label.screen-reader-text + .woocommerce-input-wrapper input,
.woocommerce form .form-row label.screen-reader-text + .woocommerce-input-wrapper select {
	margin-left: 200px;
	width: calc(100% - 200px);
	box-sizing: border-box;
}

#account_display_name_description {
	width: 100%;
	box-sizing: border-box;
	margin-left: 200px; /* To align with inputs when labels are floated */
}

#account_display_name_description em {
	font-variant: normal; 
	font-size: 0.8em; 
}

.woocommerce form .form-row .select2-container {
	width: 100% !important;
}

.woocommerce form .form-row .input-checkbox {
	width: auto;
	margin-left: 0.5em;
}

.woocommerce form .form-row label.woocommerce-form-login__rememberme,
.woocommerce form .form-row label.woocommerce-form__label-for-checkbox {
	display: block;
	align-items: center;
	gap: 0.5em;
	margin-top: 0.5em;
	margin-left: 200px;
	width: 100%; 
}

.woocommerce-form-login__rememberme input[type="checkbox"] {
	margin: 0;
}

.woocommerce form .form-row .woocommerce-form-login__submit {
	display: block;
	margin-top: 1em;
	margin-left: 200px;
}

.woocommerce-LostPassword.lost_password {
	margin-left: 200px; 
}




/* Checkout 

.custom-checkout {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.checkout-columns {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
}

.checkout-billing,
.checkout-shipping {
  flex: 1 1 100%;
  max-width: 100%; 
}

.checkout-shipping,
.checkout-coupon,
.custom-coupon-toggle {
border-top: 2px solid #000; 
padding-top: 2em; 
}

.checkout-shipping h3 span {
	font-family: "interstate", Helvetica, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1.25rem;
  letter-spacing: 0; 
}

.woocommerce-shipping-fields .shipping_address {
  display: none;
}

.checkout-order-review {
border-top: 2px solid #000; 
padding-top: 2em; 
}

/* Overview Order 

.custom-review-order {
  display: flex;
  flex-direction: column;
  gap: 1em;
}

.custom-review-row {
  display: flex;
  justify-content: space-between;
  border-top: 1px solid #000;
  padding-top: 0.5em;
}

.custom-review-row.product .product-title,
.custom-review-row.product .product-quantity,
.custom-review-row.coupon .label {
	font-size: 1.25em;
	font-family: "interstate", Helvetica, sans-serif;
	font-weight: 400;
	padding-top: 4px;
}

.custom-review-row.product .product-title,
.custom-review-row.coupon .label {
	flex: 1;
	text-align: right;
	padding-right: 1em;
}

.custom-review-row.product .product-quantity {
	width: 40px;
	text-align: center;
}

.custom-review-row.product .product-subtotal {
  width: 130px;
  text-align: right;
  font-weight: 300; 
}

.custom-review-row.subtotal,
.custom-review-row.shipping {
	border-top: 2px solid #000; 
}

.custom-review-row.subtotal .label,
.custom-review-row.total .label {
	flex: 1;
	text-align: right;
	padding-right: 1em;
	font-size: 1.5em;
	font-family: "interstate-condensed", Helvetica, sans-serif;
	font-weight: 500; 
}

.custom-review-row.subtotal .value,
.custom-review-row.total .value {
	font-weight: 500; 
}

.custom-review-row.coupon .value a {
	display: block; 
	text-align: right; 
}

.custom-review-row.total {
  border-top: 2px solid #000;  
  border-bottom: 2px solid #000;  
  padding: 1em 0;
}

/* Style label + input like other checkout fields 
.coupon-row {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 1em;
}

.coupon-label {
  width: 200px;
  font-weight: 600;
}

#coupon_code {
  flex: 1;
  max-width: 100%;
  padding: 10px;
}

/* Shipping 

.custom-review-row.shipping {
  display: flex;
  align-items: flex-start;
  padding: 1em 0;
  border-top: 1px solid #ddd;
}

.custom-review-row.shipping .label {
  width: 200px;
  font-weight: bold;
}

.custom-review-row.shipping .value {
  flex: 1;
}

.woocommerce-shipping-methods {
  list-style: none;
  margin: 0;
  padding: 0;
}

.woocommerce-shipping-methods li {
  margin-bottom: 0.5em;
  display: flex;
  align-items: center;
  gap: 0.5em;
}

.woocommerce-shipping-methods label {
  cursor: pointer;
}

*/




/* Reset Standard Woo Stuff */

.woocommerce .col2-set {
  display: block;
}

/* Optional spacing between the two sections */
.woocommerce .col2-set .col-1,
.woocommerce .col2-set .col-2 {
  width: 100%;
  margin-bottom: 2em;
}

.woocommerce .woocommerce-billing-fields .form-row-first,
.woocommerce .woocommerce-billing-fields .form-row-last,
.woocommerce .woocommerce-shipping-fields .form-row-first,
.woocommerce .woocommerce-shipping-fields .form-row-last {
  width: 100%;
  float: none;
  clear: both;
}

/* 2. VERSION CART UND CHECKOUT */

.woocommerce-cart-form table td,
.woocommerce-cart-form table th,
table.shop_table td, 
table.shop_table th {
  vertical-align: top;
}

.woocommerce-cart-form {
	border-top: 1px solid #000; 
}

.woocommerce-cart-form__cart-item.cart_item > td, 
.woocommerce-cart-form__cart-item.cart_item > th {
	border-bottom: 1px solid #000; 
}

.woocommerce-cart-form__contents td.product-thumbnail {
  width: 267px;
}

.woocommerce-cart-form__contents th.product-name {
  width: auto; /* fills remaining space */
}

.woocommerce-cart-form__contents td.product-price {
  width: 130px;
}

.woocommerce-cart-form__contents td.product-quantity {
  width: 80px;
}

#order_review .woocommerce-cart-form__contents td.product-subtotal,
#order_review .woocommerce-checkout-review-order-table td.product-total {
  width: 200px;
}
.order_details .product-total  {
  width: 300px;
}

/* Optional: Prevent image overflow */
.woocommerce-cart-form__contents td.product-thumbnail img {
  max-width: 100%;
  height: auto;
  display: block;
}

.product-remove, 
.product-thumbnail,
.product-name,
.product-price, 
.product-quantity,
.product-subtotal,
.product-total {
	padding: 2em 20px 2em 0; 
}

.product-subtotal,
.product-total {
	padding-right: 0 !important; 
	text-align: right !important;
	font-weight: 500;  
}

.product-thumbnail img {
	max-width: 100%;
	height: auto;
	border: 1px solid #ddd;
}

.cart_item .product-name {
	font-weight: 300; 
}

.product-name a {
	text-decoration: none; 
}

.cart_item .product-name .book-author {
	margin-bottom: 0;
	font-size: 1.25em;
}

.cart_item .product-name .book-title {
	font-family: "interstate-condensed", Helvetica, sans-serif;
	font-weight: 500;
	margin: 0 0 0.5em;
	line-height: 1.2;
	letter-spacing: 0.5px;
	font-size: 1.5em; 
}

.cart_item .product-name .bookdetails {
  font-size: 0.8em;
  margin-bottom: 0.5em;
}

.product-quantity {
	flex: 0 0 auto;
	text-align: right;
}

.product-quantity input.qty {
	width: 80px !important;
	max-width: 100%;
	text-align: center;
	padding: 5px;
}

.actions {
	padding: 2em 0; 
	border-bottom: 1px solid #000; 
}

.actions .coupon {
	text-align: right;
	padding-bottom: 1em;  
}

.actions .coupon input {
	margin-right: 20px; 
}

.actions button {
	float: right;
}

.cart-collaterals table.shop_table td, 
.cart-collaterals table.shop_table th {
	border-bottom: 1px solid #000; 
	padding: 1em 0; 
}

.cart-subtotal td, 
.order-total td,
.order_details td {
	text-align: right !important;  
	font-weight: 500; 
}

ul.woocommerce-shipping-methods {
	list-style-type: none; 
	padding: 0; 
	margin-bottom: 0.5em; 	
}
ul.woocommerce-shipping-methods input {
	margin-right: 10px; 
}
ul.woocommerce-shipping-methods .woocommerce-Price-amount,
ul.order_details .woocommerce-Price-amount { 
	font-size: 1em; 
	font-family: "interstate", Helvetica, sans-serif;
	font-weight: 500;
}
ul.woocommerce-shipping-methods p {
	margin-bottom: 0.5em; 
}

.cart-collaterals .shop_table { margin-bottom: 2em; }
.wc-proceed-to-checkout { text-align: right; }



@media (max-width: 1100px) {
.woocommerce-cart-form__contents td.product-thumbnail { width: 167px; }

}

@media (max-width: 850px) {
.woocommerce-cart-form__contents td.product-thumbnail { width: 67px; }
.product-remove, 
.product-thumbnail,
.product-name,
.product-price, 
.product-quantity,
.product-subtotal { padding: 1em 10px 1em 0; }
.product-name { text-align: left; }
.woocommerce-cart-form__contents td.product-price,
.woocommerce-cart-form__contents td.product-quantity,
.woocommerce-cart-form__contents td.product-subtotal { font-size: 1em; width: 80px; }
}

@media (max-width: 768px) {
table.shop_table_responsive tr td::before { display: none; }
table.shop_table_responsive tbody th,
table.shop_table_responsive tbody td { display: table-cell !important; text-align: left;  }
}

@media (max-width: 648px) {
.woocommerce-cart-form__contents td.product-thumbnail { display: none !important; }
.actions .coupon input { width: 100%; margin: 1em 0; }
.actions button { display: block; float: none; }
}

@media (max-width: 540px) {
table.shop_table_responsive tbody th,
table.shop_table_responsive tbody td { display: block !important; border-bottom: none !important; padding: 1em 0 0 0 !important; }
.woocommerce-cart-form__contents th.product-name, 
.coupon { border-top: 1px solid #000; margin-top: 1em;  }
.cart-collaterals { border-top: 1px solid #000; margin-top: 1.5em; padding-top: 1em;  }
.cart-collaterals h2 { margin-bottom: 0.5em; }
.woocommerce-cart-form { border-top: none; }
.cart-subtotal td, 
.order-total td { text-align: left !important; }
.cart-collaterals table.shop_table td { padding: 0 0 1em !important; }
.cart-collaterals tr.woocommerce-shipping-totals th { border-top: 1px solid #000; }
.cart-collaterals tr.woocommerce-shipping-totals td { border-bottom: 1px solid #000 !important; }
.cart-collaterals tr.order-total td { border-bottom: 2px solid #000 !important; }
.wc-proceed-to-checkout { text-align: center; }

}

/* Checkout Stuff */

#customer_details .col-2 {
	border-top: 1px solid #000; 
	border-bottom: 1px solid #000; 
	padding: 2em 0; 
}

.woocommerce-checkout-review-order thead,
.woocommerce-checkout-review-order .bookdetails,
.woocommerce-checkout-review-order .book-author,
.order_details thead,
#order_review thead {
	display: none; 
}

.woocommerce-checkout-review-order .product-name,
.order_details .product-name,
.order_details th {
	text-align: right; 
}
.woocommerce-checkout-review-order .cart-subtotal th,
.woocommerce-checkout-review-order .woocommerce-shipping-totals th,
.woocommerce-checkout-review-order .order-total th,
.woocommerce-checkout-review-order .cart-discount,
.order_details .cart-subtotal th,
.order_details .woocommerce-shipping-totals th,
.order_details .order-total th,
.order_details .order-total tr,
.order_details .cart-discount {
	text-align: right; 
	padding: 0.5em 20px 0.5em; 
}

.order_details th,
.order_details td {
	text-align: right !important; 
	padding: 0.25em 0 0.0; 
}
.order_details th.download-product,
.order_details td.download-product {
	text-align: left !important; 
}


.woocommerce-checkout-review-order .product-name h2,
.woocommerce-checkout-review-order .product-total .woocommerce-Price-amount,
.woocommerce-checkout-review-order strong.product-quantity {
	font-size: 1.25em !important; 
	font-weight: 400 !important; 
}

.woocommerce-checkout-review-order .product-name h2,
.woocommerce-checkout-review-order strong.product-quantity,
.order_details strong.product-quantity {
	display: inline;
	padding: 0; 
}

h3#order_review_heading,
h2.woocommerce-order-details__title {
	padding-bottom: 1em; 
	margin-bottom: 0;
	border-bottom: 1px solid #000; 
}
h2.woocommerce-column__title {
	margin-top: 0.5em; 
	border-top: 1px solid #000; 
	padding-top: 1em; 
}
.woocommerce-checkout-review-order .product-name,
.woocommerce-checkout-review-order .product-total,
.woocommerce-checkout-review-order .woocommerce-shipping-totals th,
.woocommerce-checkout-review-order .woocommerce-shipping-totals td,
.order_details .product-name,
.order_details .product-total,
.order_details .woocommerce-shipping-totals th,
.order_details .woocommerce-shipping-totals td {
	padding-top: 0.5em; 
	padding-bottom: 0.5em; 
	border-bottom: 1px solid #000; 
}

#order_review td {
	padding-top: 0.5em; 
	padding-bottom: 0.5em; 
	text-align:right; 
}

#order_review .order_item td {
	border-bottom: 1px solid #000; 
}

#order_review td.product-name {
	text-align: right; 
}
#order_review td.product-quantity,
#order_review th {
	padding: 0.5em 0 0.5em; 
	text-align: right;
}

#order_review td.product-quantity .product-quantity {
	padding: 0; 
}

#order_review {
	border-top: 1px solid #000;
} 

#order_review #payment {
	margin-top: 0.5em; 
	border-top: 1px solid #000; 
	padding-top: 1em; 
}


.woocommerce-checkout-review-order ul.woocommerce-shipping-methods {
	font-size: 0.8em; 
}

.woocommerce-checkout-review-order-table tfoot .order-total th,
.woocommerce-checkout-review-order-table tfoot .order-total td {
    border-bottom: 2px solid #000 !important; 
}

.woocommerce-checkout-review-order table {
	margin-bottom: 2em; 
}

.woocommerce-checkout-payment ul {
	list-style-type: none; 
	padding-left: 0; 
}

.woocommerce-checkout-payment .wc-payment-form {
	background-color: rgba(var(--zk2-color)); 
	border: none; 
}

#payment .payment_methods li[class*="payment_method_woocommerce_payments"] label {
	padding-left: 10px; 
	width: auto; 
}

.form-row.place-order {
	border-top: 1px solid #000; 
	margin-top: 2em; 
	padding-top: 2em;
}

#payment .place-order {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
}

#payment .place-order button#place_order {
	margin-top: 1rem; /* optional spacing */
}

.woocommerce-checkout-review-order .cart-discount th {
	padding: 0.5em 20px 0.5em; 
}
.woocommerce-checkout-review-order .cart-discount td {
	padding: 0.5em 0; 
}

small.includes_tax {
	display: block; 
}

small.includes_tax .woocommerce-Price-amount {
	font-size: 1em; 
}



.woocommerce-account a.button,
.woocommerce-account a:visited.button {
	color: #fff; 
	font-weight: 400; 
}

.woocommerce-account a:hover.button {
	color: var(--zk1-color);
}

.woocommerce-orders-table__row a.woocommerce-button {
	margin-right: 10px; 
}
