/*------------------------------------------------------------------
[Table of contents]

1. WooCommerce Overrides
  1.1. WooCommerce Notices
  1.2. WooCommerce Overrides - Media Queries
-------------------------------------------------------------------*/
/*------------------------------------------------------------------*/
/**
 * 1. WooCommerce Overrides
 */
.section-banner + .woocommerce,
.section-banner + .woocommerce-breadcrumb,
.section-banner + .vikinger-woocommerce-page-title,
.section-banner + .vikinger-wc-content {
  margin-top: 64px;
}

.vikinger-wc-content.vikinger-wc-content-with-sidebar {
  display: grid;
  grid-template-areas: "sidebar body";
  gap: 16px;
  grid-template-columns: var(--vikinger-grid-columns-3-width) var(--vikinger-grid-columns-9-width);
}

.vikinger-wc-content.vikinger-wc-content-with-sidebar .vikinger-wc-sidebar {
  grid-area: sidebar;
}

.vikinger-wc-content.vikinger-wc-content-with-sidebar .vikinger-wc-body {
  grid-area: body;
}

.grid .woocommerce-MyAccount-content {
  float: none;
  width: 100%;
}

.logged-in .header-cart .action-list {
  padding-right: 0;
}

.logged-in .header-cart .action-list::before {
  display: none;
}

.header-cart + #header-notifications .action-list {
  padding-left: 0;
}

.header-cart + #header-notifications .action-list::after {
  display: none;
}

.header-cart + .button {
  margin-left: 32px;
}

.pswp {
  z-index: 10001;
}

.pswp__bg {
  background-color: rgba(21, 21, 31, 0.96);
}

.pswp__caption {
  display: flex;
  align-items: center;
}

.pswp__counter,
.pswp__caption__center {
  color: #fff;
  font-size: calc((14 / var(--vikinger-font-size-base)) * 1rem);
  font-weight: 700;
}

.pswp__caption__center {
  padding: 0;
  text-align: center;
}

.select2-container .select2-dropdown {
  background-color: var(--color-box-background);
  border-color: var(--color-border);
}

.select2-container .select2-search--dropdown .select2-search__field {
  height: 48px;
  padding: 0 18px;
  border: 1px solid var(--color-border);
  font-size: calc((14 / var(--vikinger-font-size-base)) * 1rem);
}

.select2-container .select2-results {
  color: var(--color-text);
  font-size: calc((14 / var(--vikinger-font-size-base)) * 1rem);
  font-weight: 700;
}

.select2-container .select2-results .select2-results__option.select2-results__option--highlighted, .select2-container .select2-results .select2-results__option[data-selected="true"] {
  color: #fff;
  background-color: var(--color-secondary);
}

.vikinger-woocommerce-page-title {
  margin-bottom: 32px;
  font-size: calc((32 / var(--vikinger-font-size-base)) * 1rem);
}

.woocommerce .header-cart + #header-notifications .action-list {
  padding-left: 0;
}

.woocommerce .header-cart + #header-notifications .action-list::after {
  display: none;
}

.woocommerce .header-cart + .button {
  margin-left: 32px;
}

.woocommerce .section-header {
  margin: 0 0 28px;
}

.woocommerce .woocommerce-breadcrumb {
  color: var(--color-text-alt-2);
  font-size: calc((14 / var(--vikinger-font-size-base)) * 1rem);
  font-weight: 700;
}

.woocommerce .woocommerce-breadcrumb a {
  color: var(--color-text);
}

.woocommerce .woocommerce-breadcrumb .woocommerce-breadcrumb-separator {
  margin: 0 10px;
  color: var(--color-primary);
}

.woocommerce .woocommerce-result-count {
  margin-top: 17px;
  color: var(--color-text-alt);
  font-size: calc((14 / var(--vikinger-font-size-base)) * 1rem);
  font-weight: 500;
}

.woocommerce .return-to-shop .button {
  display: inline-block;
  padding: 0 32px;
  background-color: var(--color-primary);
  line-height: 48px;
  box-shadow: var(--color-primary-shadow);
}

.woocommerce .return-to-shop .button:hover {
  background-color: var(--color-primary-hover);
}

.woocommerce span.onsale {
  display: flex;
  align-items: center;
  height: 32px;
  min-height: auto;
  min-width: auto;
  padding: 0 16px;
  border-radius: 200px;
  background-color: var(--color-primary);
  color: #fff;
  font-size: calc((12 / var(--vikinger-font-size-base)) * 1rem);
  font-weight: 700;
  text-transform: uppercase;
}

.woocommerce .price {
  color: var(--color-text);
  font-weight: 700;
}

.woocommerce .price .woocommerce-Price-currencySymbol {
  color: var(--color-primary);
}

.woocommerce .price ins {
  text-decoration: none;
}

.woocommerce .vikinger-wc-categories {
  display: inline-flex;
  align-items: center;
  color: var(--color-text);
  font-size: calc((12 / var(--vikinger-font-size-base)) * 1rem);
  font-weight: 700;
  line-height: 1.3333333333em;
}

.woocommerce .vikinger-wc-categories a {
  color: var(--color-text);
  font-weight: 700;
}

.woocommerce .vikinger-wc-categories a:hover {
  color: var(--color-primary);
}

.woocommerce .vikinger-wc-categories::before {
  content: '';
  display: inline-block;
  width: 8px;
  height: 8px;
  margin-right: 6px;
  border-radius: 50%;
  border: 2px solid var(--color-primary);
}

.woocommerce .star-rating {
  width: 6.74em;
  margin: 0;
  font-size: 12px;
  letter-spacing: 4px;
}

.woocommerce .star-rating::before {
  color: var(--color-border);
}

.woocommerce .star-rating span {
  color: #ffe00d;
}

.woocommerce button.button,
.woocommerce a.button {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 48px;
  border-radius: 10px;
  padding: 0;
  background-color: #3e3f5e;
  color: #fff;
  font-size: calc((14 / var(--vikinger-font-size-base)) * 1rem);
  font-weight: 700;
  box-shadow: 3px 5px 10px 0 rgba(62, 63, 94, 0.2);
}

.woocommerce button.button.loading,
.woocommerce a.button.loading {
  padding: 0 32px;
  pointer-events: none;
}

.woocommerce button.button.loading::after,
.woocommerce a.button.loading::after {
  margin-left: 6px;
  position: static;
}

.woocommerce button.button:hover,
.woocommerce a.button:hover {
  color: #fff;
  background-color: #2e2e47;
}

.woocommerce button.button.small,
.woocommerce a.button.small {
  height: 40px;
  font-size: calc((12 / var(--vikinger-font-size-base)) * 1rem);
  line-height: 40px;
}

.woocommerce button.button.alt, .woocommerce button.button.alt.disabled, .woocommerce button.button.primary,
.woocommerce a.button.alt,
.woocommerce a.button.alt.disabled,
.woocommerce a.button.primary {
  background-color: var(--color-primary);
  box-shadow: var(--color-primary-shadow);
}

.woocommerce button.button.alt:hover, .woocommerce button.button.alt.disabled:hover, .woocommerce button.button.primary:hover,
.woocommerce a.button.alt:hover,
.woocommerce a.button.alt.disabled:hover,
.woocommerce a.button.primary:hover {
  background-color: var(--color-primary-hover);
}

.woocommerce button.button.alt:hover .loader-spinner:after, .woocommerce button.button.alt.disabled:hover .loader-spinner:after, .woocommerce button.button.primary:hover .loader-spinner:after,
.woocommerce a.button.alt:hover .loader-spinner:after,
.woocommerce a.button.alt.disabled:hover .loader-spinner:after,
.woocommerce a.button.primary:hover .loader-spinner:after {
  background-color: var(--color-primary-hover);
}

.woocommerce button.button.alt .loader-spinner:after, .woocommerce button.button.alt.disabled .loader-spinner:after, .woocommerce button.button.primary .loader-spinner:after,
.woocommerce a.button.alt .loader-spinner:after,
.woocommerce a.button.alt.disabled .loader-spinner:after,
.woocommerce a.button.primary .loader-spinner:after {
  background-color: var(--color-primary);
}

.woocommerce button.button.alt.disabled,
.woocommerce a.button.alt.disabled {
  pointer-events: none;
}

.woocommerce button.button.secondary,
.woocommerce a.button.secondary {
  background-color: var(--color-secondary);
  box-shadow: var(--color-secondary-shadow);
}

.woocommerce button.button.secondary:hover,
.woocommerce a.button.secondary:hover {
  background-color: var(--color-secondary-hover);
}

.woocommerce button.button.secondary:hover .loader-spinner:after,
.woocommerce a.button.secondary:hover .loader-spinner:after {
  background-color: var(--color-secondary-hover);
}

.woocommerce button.button.secondary .loader-spinner:after,
.woocommerce a.button.secondary .loader-spinner:after {
  background-color: var(--color-secondary);
}

.woocommerce button.button[type="submit"] {
  background-color: var(--color-primary);
  box-shadow: var(--color-primary-shadow);
}

.woocommerce button.button[type="submit"]:hover {
  background-color: var(--color-primary-hover);
}

.woocommerce div.quantity {
  float: none;
  width: 100%;
  margin: 0;
}

.woocommerce div.quantity .qty {
  width: 100%;
  text-align: left;
}

.woocommerce ul.products {
  margin: 0;
}

.woocommerce ul.products.columns-4 {
  display: grid;
  grid-template-columns: repeat(auto-fit, 284px);
  grid-gap: 16px;
  justify-content: flex-start;
  align-items: stretch;
}

.woocommerce ul.products.columns-4::before, .woocommerce ul.products.columns-4::after {
  content: '';
  display: none;
}

.woocommerce ul.products.columns-4 li.product {
  float: none;
  width: auto;
  margin: 0;
}

.woocommerce ul.products li.product {
  padding-bottom: 28px;
  border-radius: 12px;
  background-color: var(--color-box-background);
  box-shadow: var(--color-box-shadow);
  position: relative;
}

.woocommerce ul.products li.product a img {
  margin: 0;
  border-top-left-radius: 12px;
  border-top-right-radius: 12px;
}

.woocommerce ul.products li.product .vikinger-wc-product-info {
  padding: 28px 28px 0;
  position: relative;
}

.woocommerce ul.products li.product .vikinger-wc-categories {
  margin-top: 6px;
}

.woocommerce ul.products li.product .onsale {
  margin: 0;
  top: 10px;
  left: -6px;
  right: auto;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
  padding: 0;
}

.woocommerce ul.products li.product .price {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 32px;
  padding: 0 14px;
  border-radius: 12px;
  background-color: var(--color-box-over-box-light-background);
  box-shadow: var(--color-overbox-shadow);
  color: var(--color-text);
  font-size: calc((14 / var(--vikinger-font-size-base)) * 1rem);
  font-weight: 700;
  text-align: center;
  position: absolute;
  top: -14px;
  right: 14px;
}

.woocommerce ul.products li.product .price .woocommerce-Price-currencySymbol {
  color: var(--color-primary);
}

.woocommerce ul.products li.product .price del {
  margin-right: 4px;
}

.woocommerce ul.products li.product .star-rating {
  margin: 28px 0 0;
  font-size: 10px;
  letter-spacing: 3px;
}

.woocommerce ul.products li.product:hover .vikinger-woocommerce-product-actions .button,
.woocommerce ul.products li.product:hover .vikinger-woocommerce-product-actions .added_to_cart {
  transform: translate(0, 0);
  opacity: 1;
  visibility: visible;
}

.woocommerce ul.products li.product .vikinger-woocommerce-product-actions {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 284px;
  padding: 0 64px;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
}

.woocommerce ul.products li.product .vikinger-woocommerce-product-actions .button,
.woocommerce ul.products li.product .vikinger-woocommerce-product-actions .added_to_cart {
  width: 100%;
  margin-bottom: 12px;
  opacity: 0;
  visibility: hidden;
  transform: translate(-100%, 0);
  transition: background-color .2s ease-in-out, color .2s ease-in-out, border-color .2s ease-in-out, box-shadow .2s ease-in-out, opacity .3s ease-in-out, visibility .3s ease-in-out, transform .3s ease-in-out;
}

.woocommerce ul.products li.product .vikinger-woocommerce-product-actions .button:last-child,
.woocommerce ul.products li.product .vikinger-woocommerce-product-actions .added_to_cart:last-child {
  margin-bottom: 0;
}

.woocommerce ul.products li.product .vikinger-woocommerce-product-actions .button:nth-child(2),
.woocommerce ul.products li.product .vikinger-woocommerce-product-actions .added_to_cart:nth-child(2) {
  transition: background-color .2s ease-in-out, color .2s ease-in-out, border-color .2s ease-in-out, box-shadow .2s ease-in-out, opacity .3s ease-in-out, visibility .3s ease-in-out, transform .3s ease-in-out .1s;
}

.woocommerce ul.products li.product .vikinger-woocommerce-product-actions .button:nth-child(3),
.woocommerce ul.products li.product .vikinger-woocommerce-product-actions .added_to_cart:nth-child(3) {
  transition: background-color .2s ease-in-out, color .2s ease-in-out, border-color .2s ease-in-out, box-shadow .2s ease-in-out, opacity .3s ease-in-out, visibility .3s ease-in-out, transform .3s ease-in-out .2s;
}

.woocommerce ul.products li.product .button {
  display: inline-flex;
  margin-top: 0;
  background-color: var(--color-secondary);
  box-shadow: var(--color-secondary-shadow);
}

.woocommerce ul.products li.product .button:hover {
  background-color: var(--color-secondary-hover);
}

.woocommerce ul.products li.product .button:hover .loader-spinner:after {
  background-color: var(--color-secondary-hover);
}

.woocommerce ul.products li.product .button.ajax_add_to_cart {
  background-color: var(--color-primary);
  box-shadow: var(--color-primary-shadow);
}

.woocommerce ul.products li.product .button.ajax_add_to_cart:hover {
  background-color: var(--color-primary-hover);
}

.woocommerce ul.products li.product .button.ajax_add_to_cart:hover .loader-spinner:after {
  background-color: var(--color-primary-hover);
}

.woocommerce ul.products li.product .added_to_cart {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 48px;
  border-radius: 10px;
  padding: 0;
  background-color: #3e3f5e;
  color: #fff;
  font-size: calc((14 / var(--vikinger-font-size-base)) * 1rem);
  font-weight: 700;
  box-shadow: 3px 5px 10px 0 rgba(62, 63, 94, 0.2);
}

.woocommerce ul.products li.product .added_to_cart.loading {
  pointer-events: none;
}

.woocommerce ul.products li.product .added_to_cart:hover {
  color: #fff;
  background-color: #2e2e47;
}

.woocommerce nav.woocommerce-pagination {
  margin-top: 32px;
}

.woocommerce nav.woocommerce-pagination ul {
  border: none;
  border-radius: 12px;
  box-shadow: var(--color-overbox-shadow);
}

.woocommerce nav.woocommerce-pagination ul li {
  background-color: var(--color-box-background);
  border: none;
  color: var(--color-text);
  font-size: calc((14 / var(--vikinger-font-size-base)) * 1rem);
  position: relative;
}

.woocommerce nav.woocommerce-pagination ul li:first-child {
  border-top-left-radius: 12px;
  border-bottom-left-radius: 12px;
}

.woocommerce nav.woocommerce-pagination ul li:last-child {
  border-top-right-radius: 12px;
  border-bottom-right-radius: 12px;
}

.woocommerce nav.woocommerce-pagination ul li + li::before {
  content: '';
  width: 1px;
  height: 20px;
  background-color: var(--color-divider);
  position: absolute;
  top: 20px;
  left: 0;
}

.woocommerce nav.woocommerce-pagination ul li span,
.woocommerce nav.woocommerce-pagination ul li a {
  display: block;
  padding: 0 24px;
  font-weight: 700;
  line-height: 60px;
}

.woocommerce nav.woocommerce-pagination ul li span.current {
  background-color: var(--color-box-background);
  color: var(--color-primary-dark);
}

.woocommerce nav.woocommerce-pagination ul li a {
  transition: color .2s ease-in-out;
}

.woocommerce nav.woocommerce-pagination ul li a:hover, .woocommerce nav.woocommerce-pagination ul li a:focus {
  background-color: var(--color-box-background);
  color: var(--color-primary-dark);
}

.woocommerce div.product {
  margin-top: 32px;
}

.woocommerce div.product p.stock {
  margin: 16px 0;
  color: #00c7d9;
  font-size: calc((14 / var(--vikinger-font-size-base)) * 1rem);
  font-weight: 700;
}

.woocommerce div.product p.stock.out-of-stock {
  color: #fd4350;
}

.woocommerce div.product p.stock + form.cart {
  margin-top: 16px;
}

.woocommerce div.product .onsale {
  margin: 0;
  top: 10px;
  left: -6px;
  right: auto;
}

.woocommerce div.product div.images,
.woocommerce div.product div.summary {
  width: 49.3243243243%;
}

.woocommerce div.product div.images .woocommerce-product-gallery__wrapper,
.woocommerce div.product div.images .flex-viewport,
.woocommerce div.product div.images .flex-control-thumbs {
  border-radius: 12px;
  background-color: var(--color-box-background);
  box-shadow: var(--color-box-shadow);
}

.woocommerce div.product div.images .woocommerce-product-gallery__image {
  border-radius: 12px;
}

.woocommerce div.product div.images .flex-viewport .woocommerce-product-gallery__image {
  border-radius: 0;
}

.woocommerce div.product div.images .flex-control-thumbs {
  display: grid;
  grid-template-columns: repeat(auto-fit, 48px);
  grid-gap: 28px;
  justify-content: center;
  padding: 26px;
  margin-top: 16px;
}

.woocommerce div.product div.images .flex-control-thumbs li {
  width: 100%;
}

.woocommerce div.product div.images .flex-control-thumbs li img {
  border: 4px solid transparent;
  border-radius: 12px;
}

.woocommerce div.product div.images .flex-control-thumbs li img.flex-active {
  border-color: var(--color-primary);
}

.woocommerce div.product div.summary {
  display: flex;
  flex-direction: column;
  padding: 32px 48px;
  border-radius: 12px;
  background-color: var(--color-box-background);
  box-shadow: var(--color-box-shadow);
}

.woocommerce div.product div.summary .product_title {
  font-size: calc((32 / var(--vikinger-font-size-base)) * 1rem);
}

.woocommerce div.product div.summary .woocommerce-product-rating {
  display: flex;
  align-items: center;
  order: -1;
  margin-bottom: 14px;
}

.woocommerce div.product div.summary .woocommerce-product-rating + .price {
  margin-top: 28px;
}

.woocommerce div.product div.summary .woocommerce-product-rating .star-rating {
  margin: 0;
}

.woocommerce div.product div.summary .woocommerce-product-rating .woocommerce-review-link {
  margin-left: 12px;
  font-size: calc((14 / var(--vikinger-font-size-base)) * 1rem);
  font-weight: 500;
}

.woocommerce div.product div.summary .vikinger-wc-categories {
  margin-top: 8px;
  font-size: calc((14 / var(--vikinger-font-size-base)) * 1rem);
}

.woocommerce div.product div.summary .vikinger-wc-categories + .price {
  margin-top: 28px;
}

.woocommerce div.product div.summary .price {
  color: var(--color-text);
  font-size: calc((32 / var(--vikinger-font-size-base)) * 1rem);
  font-weight: 700;
}

.woocommerce div.product div.summary .price .woocommerce-Price-currencySymbol {
  color: var(--color-primary);
}

.woocommerce div.product div.summary .woocommerce-product-details__short-description {
  margin-top: 28px;
}

.woocommerce div.product div.summary .woocommerce-product-details__short-description p {
  font-size: calc((14 / var(--vikinger-font-size-base)) * 1rem);
  font-weight: 500;
  line-height: 1.7142857143em;
}

.woocommerce div.product div.summary .product_meta .sku_wrapper,
.woocommerce div.product div.summary .product_meta .posted_in,
.woocommerce div.product div.summary .product_meta .tagged_as {
  margin-bottom: 12px;
  display: block;
  color: var(--color-text);
  font-size: calc((14 / var(--vikinger-font-size-base)) * 1rem);
  font-weight: 700;
  line-height: 1.4285714286em;
  text-transform: uppercase;
}

.woocommerce div.product div.summary .product_meta .sku_wrapper:last-child,
.woocommerce div.product div.summary .product_meta .posted_in:last-child,
.woocommerce div.product div.summary .product_meta .tagged_as:last-child {
  margin-bottom: 0;
}

.woocommerce div.product div.summary .product_meta .sku_wrapper span, .woocommerce div.product div.summary .product_meta .sku_wrapper a,
.woocommerce div.product div.summary .product_meta .posted_in span,
.woocommerce div.product div.summary .product_meta .posted_in a,
.woocommerce div.product div.summary .product_meta .tagged_as span,
.woocommerce div.product div.summary .product_meta .tagged_as a {
  font-weight: 500;
  text-transform: none;
}

.woocommerce div.product form.cart {
  margin-top: 32px;
}

.woocommerce div.product form.cart.variations_form {
  margin-top: 0;
}

.woocommerce div.product form.cart .variations td,
.woocommerce div.product form.cart .variations th {
  vertical-align: middle;
}

.woocommerce div.product form.cart .variations td {
  width: 100%;
  display: block;
  clear: both;
  margin: 24px 0 14px;
}

.woocommerce div.product form.cart .variations td:last-child {
  margin-bottom: 0;
}

.woocommerce div.product form.cart .variations td.label {
  padding: 0;
}

.woocommerce div.product form.cart .variations td.label + td.value {
  margin-top: 0;
}

.woocommerce div.product form.cart .variations label {
  font-size: calc((12 / var(--vikinger-font-size-base)) * 1rem);
  text-transform: uppercase;
}

.woocommerce div.product form.cart .variations select {
  min-width: auto;
  display: block;
  margin: 0;
  background: none;
}

.woocommerce div.product form.cart .variations .reset_variations {
  margin-top: 12px;
  display: inline-block;
  font-size: calc((14 / var(--vikinger-font-size-base)) * 1rem);
  font-weight: 700;
}

.woocommerce div.product form.cart .woocommerce-variation-description p {
  font-size: calc((14 / var(--vikinger-font-size-base)) * 1rem);
  font-weight: 500;
  line-height: 1.7142857143em;
}

.woocommerce div.product form.cart .woocommerce-variation-availability {
  margin-bottom: 32px;
}

.woocommerce div.product form.cart .vk-form-counter {
  width: 200px;
}

.woocommerce div.product form.cart .button {
  width: auto;
  margin-top: 40px;
  padding: 0 64px;
}

.woocommerce div.product .woocommerce-tabs {
  border-radius: 12px;
  background-color: var(--color-box-background);
  box-shadow: var(--color-box-shadow);
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
  display: flex;
  flex-wrap: nowrap;
  padding: 0;
  margin: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before {
  content: '';
  display: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
  display: block;
  width: 100%;
  height: 66px;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 0;
  background-color: var(--color-box-background-alt);
  border-right: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after {
  content: '';
  display: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li:first-child {
  border-top-left-radius: 12px;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li:last-child {
  border-right: none;
  border-top-right-radius: 12px;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
  border-bottom: none;
  background-color: var(--color-box-background);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
  color: var(--color-text);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  padding: 0 16px;
  color: var(--color-text-alt);
  font-size: calc((14 / var(--vikinger-font-size-base)) * 1rem);
  font-weight: 700;
  text-align: center;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
  color: var(--color-text);
}

.woocommerce div.product .woocommerce-tabs .panel {
  margin-bottom: 64px;
  padding: 56px 48px;
}

.woocommerce div.product .woocommerce-tabs .panel > *:first-child {
  margin-top: 0;
}

.woocommerce div.product .woocommerce-tabs .panel > h1, .woocommerce div.product .woocommerce-tabs .panel > h2, .woocommerce div.product .woocommerce-tabs .panel > h3,
.woocommerce div.product .woocommerce-tabs .panel > h4, .woocommerce div.product .woocommerce-tabs .panel > h5, .woocommerce div.product .woocommerce-tabs .panel > h6 {
  margin: 48px 0 0;
}

.woocommerce div.product .woocommerce-tabs .panel > p, .woocommerce div.product .woocommerce-tabs .panel > pre,
.woocommerce div.product .woocommerce-tabs .panel > hr, .woocommerce div.product .woocommerce-tabs .panel > blockquote,
.woocommerce div.product .woocommerce-tabs .panel > ul, .woocommerce div.product .woocommerce-tabs .panel > ol,
.woocommerce div.product .woocommerce-tabs .panel > table.shop_attributes {
  margin: 32px 0 0;
}

.woocommerce div.product .woocommerce-tabs .panel > p {
  font-size: calc((14 / var(--vikinger-font-size-base)) * 1rem);
  font-weight: 500;
  line-height: 1.7142857143em;
}

.woocommerce div.product .woocommerce-tabs .panel > pre {
  padding: 32px 28px;
  border: 1px solid var(--color-border);
  color: var(--color-text);
  line-height: 2em;
  overflow: auto;
}

.woocommerce div.product .woocommerce-tabs .panel > hr {
  width: 100%;
  height: 1px;
  background-color: var(--color-divider);
}

.woocommerce div.product .woocommerce-tabs .panel > blockquote {
  padding: 0 16px;
  font-weight: 500;
  line-height: 1.5454545455em;
  font-style: italic;
}

.woocommerce div.product .woocommerce-tabs .panel > blockquote p {
  font-size: calc((16 / var(--vikinger-font-size-base)) * 1rem);
  font-weight: 500;
  line-height: 1.5454545455em;
}

.woocommerce div.product .woocommerce-tabs .panel > blockquote cite {
  margin-top: 16px;
  display: block;
  font-size: calc((16 / var(--vikinger-font-size-base)) * 1rem);
}

.woocommerce div.product .woocommerce-tabs .panel > ul, .woocommerce div.product .woocommerce-tabs .panel > ol {
  padding-left: 20px;
}

.woocommerce div.product .woocommerce-tabs .panel > ul ul, .woocommerce div.product .woocommerce-tabs .panel > ul ol, .woocommerce div.product .woocommerce-tabs .panel > ol ul, .woocommerce div.product .woocommerce-tabs .panel > ol ol {
  padding-left: 0;
  margin: 18px;
}

.woocommerce div.product .woocommerce-tabs .panel > ul li, .woocommerce div.product .woocommerce-tabs .panel > ol li {
  margin-bottom: 16px;
  display: list-item;
  color: var(--color-text);
  font-size: calc((16 / var(--vikinger-font-size-base)) * 1rem);
  font-weight: 500;
}

.woocommerce div.product .woocommerce-tabs .panel > ul li:last-child, .woocommerce div.product .woocommerce-tabs .panel > ol li:last-child {
  margin-bottom: 0;
}

.woocommerce div.product .woocommerce-tabs .panel > ul {
  list-style: disc;
}

.woocommerce div.product .woocommerce-tabs .panel > ul ul,
.woocommerce div.product .woocommerce-tabs .panel > ol ul {
  list-style: circle;
}

.woocommerce div.product .woocommerce-tabs .panel > ul ol,
.woocommerce div.product .woocommerce-tabs .panel > ol ol {
  list-style: lower-alpha;
}

.woocommerce div.product .woocommerce-tabs .panel > ol {
  list-style: decimal;
}

.woocommerce div.product .woocommerce-tabs .panel > table.shop_attributes {
  border: none;
}

.woocommerce div.product .woocommerce-tabs .panel > table.shop_attributes tr:nth-child(even) th,
.woocommerce div.product .woocommerce-tabs .panel > table.shop_attributes tr:nth-child(even) td {
  background-color: transparent;
}

.woocommerce div.product .woocommerce-tabs .panel > table.shop_attributes th, .woocommerce div.product .woocommerce-tabs .panel > table.shop_attributes td {
  padding: 8px 0;
  border: none;
  font-size: calc((14 / var(--vikinger-font-size-base)) * 1rem);
}

.woocommerce div.product .woocommerce-tabs .panel > table.shop_attributes th {
  color: var(--color-text-alt);
  font-weight: 500;
  text-align: left;
}

.woocommerce div.product .woocommerce-tabs .panel > table.shop_attributes td {
  color: var(--color-text);
  font-weight: 700;
  font-style: normal;
}

.woocommerce section.related h2 {
  margin-bottom: 32px;
}

.woocommerce #reviews #comments .woocommerce-noreviews {
  margin-top: 8px;
  font-size: calc((14 / var(--vikinger-font-size-base)) * 1rem);
  font-weight: 500;
  line-height: 1.7142857143em;
}

.woocommerce #reviews #comments ol.commentlist {
  margin: 32px 0 0;
}

.woocommerce #reviews #comments ol.commentlist li .comment_container {
  display: flex;
  flex-wrap: nowrap;
}

.woocommerce #reviews #comments ol.commentlist li .comment-review-avatar {
  flex-shrink: 0;
  margin-right: 12px;
}

.woocommerce #reviews #comments ol.commentlist li .comment-text {
  width: 100%;
  margin: 0;
  padding: 0;
  border: none;
}

.woocommerce #reviews #comments ol.commentlist li .comment-text p.meta {
  color: var(--color-text);
  font-size: calc((14 / var(--vikinger-font-size-base)) * 1rem);
  font-weight: 500;
  margin: 2px 0 0;
}

.woocommerce #reviews #comments ol.commentlist li .comment-text p.meta .woocommerce-review__author {
  color: var(--color-text);
}

.woocommerce #reviews #comments ol.commentlist li .comment-text p.meta .woocommerce-review__dash,
.woocommerce #reviews #comments ol.commentlist li .comment-text p.meta .woocommerce-review__published-date {
  color: var(--color-text-alt);
  font-weight: 500;
}

.woocommerce #reviews #comments ol.commentlist li .comment-text .description p {
  margin-top: 12px;
  font-size: calc((14 / var(--vikinger-font-size-base)) * 1rem);
  font-weight: 500;
  line-height: 1.7142857143em;
}

.woocommerce #reviews #comments ol.commentlist li .comment-text .description p:first-child {
  margin-top: 8px;
}

.woocommerce #review_form #respond .comment-reply-title {
  display: block;
  margin: 32px 0 12px;
  color: var(--color-text);
  font-size: calc((24 / var(--vikinger-font-size-base)) * 1rem);
  font-weight: 700;
}

.woocommerce #review_form #respond .comment-form-rating .stars {
  margin-bottom: 32px;
  font-size: 14px;
}

.woocommerce #review_form #respond .comment-form-rating .stars a {
  color: #ffe00d;
}

.woocommerce #review_form #respond .comment-notes {
  margin: 16px 0;
  font-size: calc((14 / var(--vikinger-font-size-base)) * 1rem);
  font-weight: 500;
  line-height: 1.7142857143em;
}

.woocommerce #review_form #respond .comment-notes .required {
  color: var(--color-secondary);
  font-weight: 700;
}

.woocommerce #review_form #respond .comment-form-cookies-consent {
  display: flex;
  margin-top: 12px;
}

.woocommerce #review_form #respond .comment-form-cookies-consent label {
  display: inline-block;
  margin: 0 0 0 6px;
}

.woocommerce #review_form #respond label {
  margin-bottom: 16px;
  font-size: calc((14 / var(--vikinger-font-size-base)) * 1rem);
  font-weight: 700;
}

.woocommerce #review_form #respond label .required {
  color: var(--color-secondary);
}

.woocommerce #review_form #respond .comment-form-comment textarea {
  min-height: 120px;
}

.woocommerce #review_form #respond .form-submit {
  margin: 40px 0 0;
}

.woocommerce #review_form #respond .form-submit input[type="submit"] {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 48px;
  border-radius: 10px;
  padding: 0 28px;
  background-color: var(--color-primary);
  color: #fff;
  font-size: calc((14 / var(--vikinger-font-size-base)) * 1rem);
  font-weight: 700;
  text-align: center;
  line-height: 48px;
  cursor: pointer;
  transition: background-color .2s ease-in-out, color .2s ease-in-out, border-color .2s ease-in-out, box-shadow .2s ease-in-out;
  box-shadow: var(--color-primary-shadow);
}

.woocommerce #review_form #respond .form-submit input[type="submit"]:hover {
  background-color: var(--color-primary-hover);
}

.woocommerce form.login {
  padding: 32px 28px;
  border-radius: 12px;
  border: none;
  background-color: var(--color-box-background);
  box-shadow: var(--color-box-shadow);
}

.woocommerce form h3 {
  margin-bottom: 28px;
  font-size: calc((16 / var(--vikinger-font-size-base)) * 1rem);
}

.woocommerce form input[type="text"],
.woocommerce form input[type="password"],
.woocommerce form input[type="email"],
.woocommerce form input[type="tel"],
.woocommerce form input[type="search"] {
  height: 48px;
  font-size: calc((14 / var(--vikinger-font-size-base)) * 1rem);
}

.woocommerce form textarea {
  padding: 14px 18px;
  font-size: calc((14 / var(--vikinger-font-size-base)) * 1rem);
}

.woocommerce form .form-row textarea {
  height: 160px;
}

.woocommerce form fieldset {
  margin-top: 28px;
}

.woocommerce form fieldset legend {
  margin-bottom: 16px;
  color: var(--color-text);
  font-size: calc((16 / var(--vikinger-font-size-base)) * 1rem);
  font-weight: 700;
}

.woocommerce form .show-password-input::after {
  margin-top: 7px;
  color: var(--color-secondary);
}

.woocommerce form .select2-container .select2-selection--single {
  display: flex;
  align-items: center;
  height: 48px;
  margin: 0;
  background-color: transparent;
  border: 1px solid var(--color-border);
  border-radius: 12px;
}

.woocommerce form .select2-container .select2-selection--single .select2-selection__placeholder,
.woocommerce form .select2-container .select2-selection--single .select2-selection__rendered {
  color: var(--color-text);
}

.woocommerce form .select2-container .select2-selection--single .select2-selection__rendered {
  padding: 0 40px 0 20px;
  font-size: calc((14 / var(--vikinger-font-size-base)) * 1rem);
  font-weight: 700;
  line-height: 1em;
}

.woocommerce form .select2-container .select2-selection--single .select2-selection__arrow {
  height: 100%;
  margin-right: 14px;
}

.woocommerce form .select2-container .select2-selection--single .select2-selection__arrow b {
  border-color: var(--color-icon-highlighted) transparent;
}

.woocommerce form .form-row {
  padding: 0;
  margin: 0 0 28px 0;
}

.woocommerce form .form-row:last-child {
  margin-bottom: 0;
}

.woocommerce form .form-row label {
  margin-bottom: 12px;
  line-height: 1em;
}

.woocommerce form .form-row .required {
  color: var(--color-secondary);
}

.woocommerce form .form-row .woocommerce-password-strength,
.woocommerce form .form-row .woocommerce-password-hint {
  margin-top: 8px;
  font-size: calc((14 / var(--vikinger-font-size-base)) * 1rem);
  line-height: 1.7142857143em;
}

.woocommerce form .form-row .woocommerce-password-strength {
  color: #3e3f5e;
  font-weight: 700;
}

.woocommerce form .form-row .woocommerce-password-hint {
  color: var(--color-text);
  font-weight: 500;
}

.woocommerce form .button {
  margin-top: 28px;
}

.woocommerce .woocommerce-MyAccount-content > form,
.woocommerce .woocommerce-MyAccount-content > p {
  padding: 18px 28px;
  border-radius: 12px;
  background-color: var(--color-box-background);
  box-shadow: var(--color-box-shadow);
}

.woocommerce .woocommerce-MyAccount-content > form + *,
.woocommerce .woocommerce-MyAccount-content > p + * {
  margin-top: 16px;
}

.woocommerce .woocommerce-MyAccount-content > form {
  padding: 32px 28px;
}

.woocommerce .woocommerce-MyAccount-content p mark {
  background-color: transparent;
  color: var(--color-text);
  font-weight: 700;
}

.woocommerce .woocommerce-MyAccount-content .woocommerce-notices-wrapper:first-child .woocommerce-error,
.woocommerce .woocommerce-MyAccount-content .woocommerce-notices-wrapper:first-child .woocommerce-message,
.woocommerce .woocommerce-MyAccount-content .woocommerce-notices-wrapper:first-child .woocommerce-Message {
  margin-top: 0;
}

.woocommerce .woocommerce-MyAccount-content .woocommerce-Addresses {
  display: flex;
  flex-wrap: nowrap;
}

.woocommerce .woocommerce-MyAccount-content .woocommerce-Addresses .woocommerce-Address {
  float: none;
  width: 100%;
  margin: 0 16px 0 0;
  padding: 32px 28px;
  border-radius: 12px;
  background-color: var(--color-box-background);
  box-shadow: var(--color-box-shadow);
}

.woocommerce .woocommerce-MyAccount-content .woocommerce-Addresses .woocommerce-Address .woocommerce-Address-title h3 {
  font-size: calc((16 / var(--vikinger-font-size-base)) * 1rem);
}

.woocommerce .woocommerce-MyAccount-content .woocommerce-Addresses .woocommerce-Address .woocommerce-Address-title .edit {
  color: var(--color-primary);
  font-size: calc((14 / var(--vikinger-font-size-base)) * 1rem);
  font-weight: 700;
}

.woocommerce .woocommerce-MyAccount-content .woocommerce-Addresses .woocommerce-Address:nth-child(2n+2) {
  margin-right: 0;
}

.woocommerce .woocommerce-MyAccount-content p {
  font-size: calc((14 / var(--vikinger-font-size-base)) * 1rem);
  font-weight: 500;
  line-height: 1.7142857143em;
}

/**
 * 1.1. WooCommerce Notices
 */
.wc-block-components-notice-banner {
  align-items: center !important;
}

.wc-block-components-notice-banner__content {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.woocommerce .wc-block-components-notice-banner.is-success,
.woocommerce .wc-block-components-notice-banner.is-error,
.woocommerce .wc-block-components-notice-banner.is-info {
  min-height: 60px;
  margin: 32px 0;
  padding: 20px 28px !important;
  border-radius: 12px;
  border: none;
  border: 2px solid #00c7d9 !important;
  background-color: var(--color-box-background) !important;
  position: relative;
  color: var(--color-text);
  font-size: calc((14 / var(--vikinger-font-size-base)) * 1rem);
  font-weight: 500;
  box-shadow: var(--color-box-shadow);
}

.woocommerce .wc-block-components-notice-banner.is-error {
  border: 2px solid #fd4350 !important;
}

.woocommerce .wc-block-components-notice-banner.is-success a,
.woocommerce .wc-block-components-notice-banner.is-success .button.wc-forward,
.woocommerce .wc-block-components-notice-banner.is-error a,
.woocommerce .wc-block-components-notice-banner.is-error .button.wc-forward,
.woocommerce .wc-block-components-notice-banner.is-info a,
.woocommerce .wc-block-components-notice-banner.is-info .button.wc-forward {
  display: flex;
  justify-content: center;
  align-items: center;
  order: 2;
  height: 40px;
  padding: 0 32px !important;
  border-radius: 10px;
  background-color: var(--color-primary) !important;
  color: #fff !important;
  font-size: calc((14 / var(--vikinger-font-size-base)) * 1rem);
  opacity: 1;
  font-weight: 700;
  box-shadow: var(--color-primary-shadow);
  text-decoration: none;
  transition: background-color .2s ease-in-out, color .2s ease-in-out, border-color .2s ease-in-out, box-shadow .2s ease-in-out;
}

.woocommerce .woocommerce-notice,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-error,
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-Message {
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-height: 60px;
  margin: 32px 0;
  padding: 20px 28px;
  border-radius: 12px;
  border: none;
  border: 2px solid var(--color-primary);
  background-color: var(--color-box-background);
  position: relative;
  color: var(--color-text);
  font-size: calc((14 / var(--vikinger-font-size-base)) * 1rem);
  font-weight: 500;
  box-shadow: var(--color-box-shadow);
}

.woocommerce .woocommerce-notice.woocommerce-message--info, .woocommerce .woocommerce-notice.woocommerce-Message--info,
.woocommerce .woocommerce-info.woocommerce-message--info,
.woocommerce .woocommerce-info.woocommerce-Message--info,
.woocommerce .woocommerce-error.woocommerce-message--info,
.woocommerce .woocommerce-error.woocommerce-Message--info,
.woocommerce .woocommerce-message.woocommerce-message--info,
.woocommerce .woocommerce-message.woocommerce-Message--info,
.woocommerce .woocommerce-Message.woocommerce-message--info,
.woocommerce .woocommerce-Message.woocommerce-Message--info {
  border: 2px solid #615dfa;
}

.woocommerce .woocommerce-notice.woocommerce-message--info .button, .woocommerce .woocommerce-notice.woocommerce-Message--info .button,
.woocommerce .woocommerce-info.woocommerce-message--info .button,
.woocommerce .woocommerce-info.woocommerce-Message--info .button,
.woocommerce .woocommerce-error.woocommerce-message--info .button,
.woocommerce .woocommerce-error.woocommerce-Message--info .button,
.woocommerce .woocommerce-message.woocommerce-message--info .button,
.woocommerce .woocommerce-message.woocommerce-Message--info .button,
.woocommerce .woocommerce-Message.woocommerce-message--info .button,
.woocommerce .woocommerce-Message.woocommerce-Message--info .button {
  background-color: var(--color-secondary);
  box-shadow: var(--color-secondary-shadow);
}

.woocommerce .woocommerce-notice.woocommerce-message--info .button:hover, .woocommerce .woocommerce-notice.woocommerce-Message--info .button:hover,
.woocommerce .woocommerce-info.woocommerce-message--info .button:hover,
.woocommerce .woocommerce-info.woocommerce-Message--info .button:hover,
.woocommerce .woocommerce-error.woocommerce-message--info .button:hover,
.woocommerce .woocommerce-error.woocommerce-Message--info .button:hover,
.woocommerce .woocommerce-message.woocommerce-message--info .button:hover,
.woocommerce .woocommerce-message.woocommerce-Message--info .button:hover,
.woocommerce .woocommerce-Message.woocommerce-message--info .button:hover,
.woocommerce .woocommerce-Message.woocommerce-Message--info .button:hover {
  background-color: var(--color-secondary-hover);
}

.woocommerce .woocommerce-notice::before, .woocommerce .woocommerce-notice::after,
.woocommerce .woocommerce-info::before,
.woocommerce .woocommerce-info::after,
.woocommerce .woocommerce-error::before,
.woocommerce .woocommerce-error::after,
.woocommerce .woocommerce-message::before,
.woocommerce .woocommerce-message::after,
.woocommerce .woocommerce-Message::before,
.woocommerce .woocommerce-Message::after {
  display: none;
}

.woocommerce .woocommerce-notice a,
.woocommerce .woocommerce-notice .button,
.woocommerce .woocommerce-info a,
.woocommerce .woocommerce-info .button,
.woocommerce .woocommerce-error a,
.woocommerce .woocommerce-error .button,
.woocommerce .woocommerce-message a,
.woocommerce .woocommerce-message .button,
.woocommerce .woocommerce-Message a,
.woocommerce .woocommerce-Message .button {
  display: flex;
  justify-content: center;
  align-items: center;
  order: 2;
  height: 40px;
  padding: 0 32px;
  border-radius: 10px;
  background-color: var(--color-primary);
  color: #fff;
  font-size: calc((14 / var(--vikinger-font-size-base)) * 1rem);
  opacity: 1;
  font-weight: 700;
  box-shadow: var(--color-primary-shadow);
  text-decoration: none;
  transition: background-color .2s ease-in-out, color .2s ease-in-out, border-color .2s ease-in-out, box-shadow .2s ease-in-out;
}

.woocommerce .woocommerce-notice a:hover,
.woocommerce .woocommerce-notice .button:hover,
.woocommerce .woocommerce-info a:hover,
.woocommerce .woocommerce-info .button:hover,
.woocommerce .woocommerce-error a:hover,
.woocommerce .woocommerce-error .button:hover,
.woocommerce .woocommerce-message a:hover,
.woocommerce .woocommerce-message .button:hover,
.woocommerce .woocommerce-Message a:hover,
.woocommerce .woocommerce-Message .button:hover {
  background-color: var(--color-primary-hover);
}

.woocommerce .woocommerce-error {
  display: block;
  border: 2px solid #fd4350;
}

.woocommerce .woocommerce-error li {
  margin-bottom: 12px;
}

.woocommerce .woocommerce-error li:last-child {
  margin-bottom: 0;
}

.woocommerce .woocommerce-order-downloads,
.woocommerce .woocommerce-order-details,
.woocommerce .woocommerce-customer-details {
  margin: 16px 0 0;
  padding: 32px 28px 0;
  border-radius: 12px;
  background-color: var(--color-box-background);
  box-shadow: var(--color-box-shadow);
}

.woocommerce .woocommerce-order-downloads > h2,
.woocommerce .woocommerce-order-details > h2,
.woocommerce .woocommerce-customer-details > h2 {
  margin-bottom: 16px;
  font-size: calc((16 / var(--vikinger-font-size-base)) * 1rem);
}

.woocommerce .woocommerce-order-downloads > table.woocommerce-table, .woocommerce .woocommerce-order-downloads > table.shop_table,
.woocommerce .woocommerce-order-details > table.woocommerce-table,
.woocommerce .woocommerce-order-details > table.shop_table,
.woocommerce .woocommerce-customer-details > table.woocommerce-table,
.woocommerce .woocommerce-customer-details > table.shop_table {
  padding: 0;
  border-radius: 0;
  border: none;
  background-color: transparent;
  box-shadow: none;
}

.woocommerce .woocommerce-order-downloads .order-again .button,
.woocommerce .woocommerce-order-details .order-again .button,
.woocommerce .woocommerce-customer-details .order-again .button {
  margin-top: 16px;
  background-color: var(--color-secondary);
  box-shadow: var(--color-secondary-shadow);
}

.woocommerce .woocommerce-order-downloads .order-again .button:hover,
.woocommerce .woocommerce-order-details .order-again .button:hover,
.woocommerce .woocommerce-customer-details .order-again .button:hover {
  background-color: var(--color-secondary-hover);
}

.woocommerce .woocommerce-order-downloads {
  padding-top: 18px;
}

.woocommerce .woocommerce-order-downloads > h2 {
  margin-top: 14px;
}

.woocommerce .woocommerce-order-details,
.woocommerce .woocommerce-customer-details {
  padding-bottom: 32px;
}

.woocommerce .woocommerce-customer-details address {
  border: none;
  padding: 0;
}

.woocommerce address {
  margin-top: 28px;
  color: var(--color-text);
  font-size: calc((14 / var(--vikinger-font-size-base)) * 1rem);
  font-weight: 500;
  font-style: normal;
  line-height: 1.7142857143em;
}

.woocommerce address p {
  line-height: 1.7142857143em;
}

.woocommerce table.woocommerce-table, .woocommerce table.shop_table {
  padding: 18px 28px 0;
  border-radius: 12px;
  border: none;
  background-color: var(--color-box-background);
  box-shadow: var(--color-box-shadow);
  color: var(--color-text);
}

.woocommerce table.woocommerce-table th, .woocommerce table.woocommerce-table td, .woocommerce table.shop_table th, .woocommerce table.shop_table td {
  height: auto;
  padding: 12px 0;
  font-weight: 700;
}

.woocommerce table.woocommerce-table th.product-quantity, .woocommerce table.woocommerce-table td.product-quantity, .woocommerce table.shop_table th.product-quantity, .woocommerce table.shop_table td.product-quantity {
  padding: 12px 32px;
}

.woocommerce table.woocommerce-table th.product-name a, .woocommerce table.woocommerce-table td.product-name a, .woocommerce table.shop_table th.product-name a, .woocommerce table.shop_table td.product-name a {
  color: var(--color-text);
}

.woocommerce table.woocommerce-table th.product-name a:hover, .woocommerce table.woocommerce-table td.product-name a:hover, .woocommerce table.shop_table th.product-name a:hover, .woocommerce table.shop_table td.product-name a:hover {
  color: var(--color-primary);
}

.woocommerce table.woocommerce-table th, .woocommerce table.shop_table th {
  font-size: calc((12 / var(--vikinger-font-size-base)) * 1rem);
  text-transform: uppercase;
}

.woocommerce table.woocommerce-table td, .woocommerce table.shop_table td {
  border-top: 1px solid var(--color-divider);
  font-size: calc((14 / var(--vikinger-font-size-base)) * 1rem);
}

.woocommerce table.woocommerce-table td a, .woocommerce table.shop_table td a {
  color: var(--color-primary);
}

.woocommerce table.woocommerce-table td .button, .woocommerce table.shop_table td .button {
  display: inline-block;
  height: 40px;
  padding: 0 32px;
  background-color: var(--color-secondary);
  color: #fff;
  font-size: calc((14 / var(--vikinger-font-size-base)) * 1rem);
  line-height: 40px;
  box-shadow: var(--color-secondary-shadow);
}

.woocommerce table.woocommerce-table td .button:hover, .woocommerce table.shop_table td .button:hover {
  background-color: var(--color-secondary-hover);
}

.woocommerce table.woocommerce-table tfoot th, .woocommerce table.woocommerce-table tfoot td, .woocommerce table.shop_table tfoot th, .woocommerce table.shop_table tfoot td {
  border-top: none;
}

.woocommerce table.woocommerce-table tfoot th, .woocommerce table.shop_table tfoot th {
  font-size: calc((14 / var(--vikinger-font-size-base)) * 1rem);
  text-transform: none;
}

.woocommerce table.woocommerce-table--order-details thead tr:first-child th {
  border-bottom: 1px solid var(--color-divider);
}

.woocommerce table.woocommerce-table--order-details td {
  border-top: none;
}

.woocommerce table.cart {
  padding-bottom: 32px;
}

.woocommerce table.cart td.actions {
  padding: 28px 0 0;
  overflow: hidden;
}

.woocommerce table.cart td.actions .coupon {
  float: left;
  display: flex;
  flex-wrap: nowrap;
}

.woocommerce table.cart td.actions .coupon + .button {
  float: right;
  width: auto;
  height: 48px;
  margin: 0;
  padding: 0 32px;
  background-color: var(--color-primary);
  color: #fff;
  box-shadow: var(--color-primary-shadow);
}

.woocommerce table.cart td.actions .coupon + .button:hover {
  background-color: var(--color-primary-hover);
}

.woocommerce table.cart td.actions .coupon .input-text {
  min-width: 240px;
  margin: 0 12px 0 0;
  padding: 0 18px;
  border: 1px solid var(--color-border);
}

.woocommerce table.cart td.actions .coupon .button {
  margin: 0;
  height: 48px;
}

.woocommerce.shop_table {
  margin: 0;
  border: none;
  border-radius: 12px;
}

.woocommerce.shop_table td {
  border-top: 1px solid var(--color-divider);
}

.woocommerce .cart-collaterals {
  margin-top: 32px;
}

.woocommerce .cart-collaterals .cart_totals {
  padding: 32px 28px;
  border-radius: 12px;
  background-color: var(--color-box-background);
  box-shadow: var(--color-box-shadow);
}

.woocommerce .cart-collaterals .cart_totals h2 {
  margin-bottom: 16px;
  font-size: calc((16 / var(--vikinger-font-size-base)) * 1rem);
}

.woocommerce .cart-collaterals .cart_totals table tr th, .woocommerce .cart-collaterals .cart_totals table tr td {
  border-top: none;
}

.woocommerce .cart-collaterals .cart_totals table tr th {
  font-size: calc((14 / var(--vikinger-font-size-base)) * 1rem);
  text-transform: none;
}

.woocommerce .cart-collaterals .cart_totals table.shop_table {
  border-radius: 0;
  background-color: transparent;
  box-shadow: none;
}

.woocommerce a.remove {
  display: flex;
  justify-content: center;
  align-items: center;
  color: var(--color-icon) !important;
  border: 2px solid var(--color-icon);
  font-size: 20px;
  opacity: .4;
  transition: color .2s ease-in-out, border-color .2s ease-in-out, opacity .2s ease-in-out;
}

.woocommerce a.remove:hover {
  color: var(--color-icon-highlighted) !important;
  border-color: var(--color-icon-highlighted);
  background-color: transparent;
  opacity: 1;
}

.woocommerce .woocommerce-mini-cart .woocommerce-mini-cart-item {
  min-height: 84px;
  padding: 12px 68px 12px 98px;
  position: relative;
}

.woocommerce .woocommerce-mini-cart .woocommerce-mini-cart-item a {
  display: block;
  font-size: calc((14 / var(--vikinger-font-size-base)) * 1rem);
  font-weight: 700;
}

.woocommerce .woocommerce-mini-cart .woocommerce-mini-cart-item img {
  float: none;
  width: 60px;
  height: 60px;
  margin: 0;
  border-radius: 12px;
  position: absolute;
  top: 12px;
  left: 28px;
}

.woocommerce .woocommerce-mini-cart .woocommerce-mini-cart-item .quantity {
  color: var(--color-text);
  font-size: calc((14 / var(--vikinger-font-size-base)) * 1rem);
  font-weight: 700;
}

.woocommerce .woocommerce-mini-cart .woocommerce-mini-cart-item .remove_from_cart_button {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 1em;
  height: 1em;
  border-radius: 100%;
  border: 2px solid var(--color-icon);
  color: var(--color-icon);
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  position: absolute;
  top: 16px;
  right: 28px;
  opacity: .4;
  transition: color .2s ease-in-out, border-color .2s ease-in-out, opacity .2s ease-in-out;
}

.woocommerce .woocommerce-mini-cart .woocommerce-mini-cart-item .remove_from_cart_button:hover {
  color: var(--color-icon-highlighted) !important;
  border-color: var(--color-icon-highlighted);
  background-color: transparent;
  opacity: 1;
}

.woocommerce form.checkout_coupon {
  padding: 32px 28px;
  border-radius: 12px;
  border: none;
  background-color: var(--color-box-background);
  box-shadow: var(--color-box-shadow);
}

.woocommerce form.checkout_coupon > p {
  font-size: calc((14 / var(--vikinger-font-size-base)) * 1rem);
  font-weight: 500;
  line-height: 1.7142857143em;
}

.woocommerce form.checkout_coupon > .form-row {
  margin: 12px 0 0;
}

.woocommerce form.checkout_coupon > .form-row.form-row-last {
  float: left;
}

.woocommerce form.checkout_coupon > .form-row .button {
  width: auto;
  padding: 0 32px;
  margin: 0 0 0 12px;
}

.woocommerce .woocommerce-checkout #customer_details > * {
  padding: 32px 28px;
  border-radius: 12px;
  background-color: var(--color-box-background);
  box-shadow: var(--color-box-shadow);
}

.woocommerce .woocommerce-checkout #customer_details label {
  margin-bottom: 12px;
  font-size: calc((14 / var(--vikinger-font-size-base)) * 1rem);
  font-weight: 500;
}

.woocommerce .woocommerce-checkout #order_review_heading {
  margin-top: 32px;
}

.woocommerce .woocommerce-checkout #payment {
  background-color: transparent;
  border-radius: 0;
}

.woocommerce .woocommerce-checkout #payment ul.payment_methods {
  margin: 32px 0;
  padding: 0;
  border-bottom: none;
}

.woocommerce .woocommerce-checkout #payment ul.payment_methods li.wc_payment_method {
  margin-bottom: 12px;
}

.woocommerce .woocommerce-checkout #payment ul.payment_methods li.wc_payment_method:last-child {
  margin-bottom: 0;
}

.woocommerce .woocommerce-checkout #payment ul.payment_methods li.wc_payment_method label, .woocommerce .woocommerce-checkout #payment ul.payment_methods li.wc_payment_method input {
  cursor: pointer;
}

.woocommerce .woocommerce-checkout #payment ul.payment_methods li.wc_payment_method label {
  display: inline-block;
  font-size: calc((14 / var(--vikinger-font-size-base)) * 1rem);
  font-weight: 500;
}

.woocommerce .woocommerce-checkout #payment ul.payment_methods li.wc_payment_method input {
  margin-right: 6px;
  position: relative;
  top: 2px;
}

.woocommerce .woocommerce-checkout #payment div.payment_box {
  padding: 32px 28px;
  border-radius: 12px;
  background-color: var(--color-box-background);
  box-shadow: var(--color-box-shadow);
}

.woocommerce .woocommerce-checkout #payment div.payment_box::before {
  border-bottom-color: var(--color-box-background);
}

.woocommerce .woocommerce-checkout #payment div.payment_box p {
  font-size: calc((14 / var(--vikinger-font-size-base)) * 1rem);
  font-weight: 500;
}

.woocommerce .woocommerce-checkout #payment div.form-row {
  padding: 0;
  margin-top: 32px;
}

.woocommerce .woocommerce-checkout #payment div.form-row .woocommerce-privacy-policy-text p {
  font-size: calc((14 / var(--vikinger-font-size-base)) * 1rem);
  font-weight: 500;
  line-height: 1.7142857143em;
}

.woocommerce .woocommerce-checkout table.woocommerce-checkout-review-order-table thead th {
  border-bottom: 1px solid var(--color-divider);
}

.woocommerce .woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot tr:first-child th, .woocommerce .woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot tr:first-child td {
  border-top: 1px solid var(--color-divider);
}

.woocommerce .woocommerce-checkout table.woocommerce-checkout-review-order-table td {
  border-top: none;
}

.woocommerce ul.order_details {
  padding: 32px 28px;
  border-radius: 12px;
  background-color: var(--color-box-background);
  box-shadow: var(--color-box-shadow);
  margin: 32px 0;
  color: var(--color-text);
}

.woocommerce-mini-cart__empty-message {
  margin-top: 20px;
  padding: 0 28px;
  color: var(--color-text-alt-2);
  font-size: calc((11 / var(--vikinger-font-size-base)) * 1rem);
  font-weight: 700;
  text-transform: uppercase;
  text-align: center;
}

.woocommerce-mini-cart .woocommerce-mini-cart-item {
  min-height: 84px;
  padding: 12px 68px 12px 98px;
  position: relative;
}

.woocommerce-mini-cart .woocommerce-mini-cart-item a {
  display: block;
  font-size: calc((14 / var(--vikinger-font-size-base)) * 1rem);
  font-weight: 700;
}

.woocommerce-mini-cart .woocommerce-mini-cart-item img {
  float: none;
  width: 60px;
  height: 60px;
  margin: 0;
  border-radius: 12px;
  position: absolute;
  top: 12px;
  left: 28px;
}

.woocommerce-mini-cart .woocommerce-mini-cart-item .quantity {
  color: var(--color-text);
  font-size: calc((14 / var(--vikinger-font-size-base)) * 1rem);
  font-weight: 700;
}

.woocommerce-mini-cart .woocommerce-mini-cart-item .remove_from_cart_button {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 1em;
  height: 1em;
  border-radius: 100%;
  border: 2px solid var(--color-icon);
  color: var(--color-icon);
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  position: absolute;
  top: 16px;
  right: 28px;
  opacity: .4;
  transition: color .2s ease-in-out, border-color .2s ease-in-out, opacity .2s ease-in-out;
}

.woocommerce-mini-cart .woocommerce-mini-cart-item .remove_from_cart_button:hover {
  color: var(--color-icon-highlighted) !important;
  border-color: var(--color-icon-highlighted);
  background-color: transparent;
  opacity: 1;
}

.woocommerce-cart table.cart .product-thumbnail a {
  display: block;
}

.woocommerce-cart table.cart .product-thumbnail img {
  width: 60px;
  border-radius: 12px;
}

.woocommerce-cart .wc-proceed-to-checkout {
  padding: 0;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  display: flex;
  margin: 12px 0 0;
  padding: 0 18px;
  font-size: calc((14 / var(--vikinger-font-size-base)) * 1rem);
}

/**
 * 1.2. WooCommerce Overrides - Media Queries
 */
@media screen and (max-width: 1365px) {
  .woocommerce ul.products.columns-4 {
    justify-content: center;
  }

  .woocommerce .section-header {
    margin: 60px 0 28px;
  }

  .section-banner + .vikinger-wc-content {
    margin-top: 32px;
  }

  .vikinger-wc-content.vikinger-wc-content-with-sidebar {
    grid-template-columns: 100%;
    grid-template-areas: "sidebar"
                         "body";
  }

  .vikinger-wc-content.vikinger-wc-content-with-sidebar .vikinger-wc-sidebar {
    margin-bottom: 32px;
  }
}

@media screen and (max-width: 960px) {
  .woocommerce .header .header-actions.search-bar form input {
    height: 100%;
  }
}

@media screen and (max-width: 768px) {
  .woocommerce div.product div.images,
  .woocommerce div.product div.summary {
    width: 100%;
  }

  .woocommerce .woocommerce-MyAccount-content .woocommerce-Addresses {
    display: block;
  }

  .woocommerce .woocommerce-MyAccount-content .woocommerce-Addresses .woocommerce-Address {
    margin: 0 0 16px 0;
  }

  .woocommerce .woocommerce-MyAccount-content .woocommerce-Addresses .woocommerce-Address:last-child {
    margin-bottom: 0;
  }

  .woocommerce table.shop_table tr {
    border-top: 1px solid var(--color-divider);
  }

  .woocommerce table.shop_table tr:nth-child(2n) td {
    background-color: transparent;
  }

  .woocommerce table.shop_table tr.order-total, .woocommerce table.shop_table tr:first-child,
  .woocommerce table.shop_table td {
    border-top: none;
  }

  .woocommerce table.shop_table td.product-quantity {
    display: flex;
    align-items: center;
    padding: 12px 0;
  }

  .woocommerce table.shop_table td.product-quantity div.quantity .qty {
    width: auto;
  }

  .woocommerce table.shop_table td.actions .coupon,
  .woocommerce table.shop_table td.actions .coupon + .button,
  .woocommerce table.shop_table td.actions .coupon .input-text,
  .woocommerce table.shop_table td.actions .coupon .input-text + .button,
  .woocommerce form.checkout_coupon > .form-row {
    float: none;
    width: 100%;
  }

  .woocommerce table.shop_table td.actions .coupon {
    display: block;
    padding-bottom: 0;
  }

  .woocommerce table.shop_table td.actions .coupon + .button {
    margin-top: 12px;
  }

  .woocommerce table.shop_table td.actions .coupon .input-text {
    margin-bottom: 12px;
  }

  .woocommerce form.checkout_coupon > .form-row .button {
    width: 100%;
    margin: 0;
  }
}