/*!
Theme Name: Arco industrie ecommerce
Theme URI: http://underscores.me/
Author: Pikit Di Remo Leonzi
Author URI: https://www.pikit.it
Description: Tema Wordpress per Arco industrie
Version: 1.0.6
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: arcoindustrie_wp
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

Arco industrie ecommerce is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

:root {
  --arco-font: "Plus Jakarta Sans", sans-serif;
  --arco-dark: #171f34;
  --arco-darker: #0e1326;
  --arco-panel: #10172a;
  --arco-panel-soft: #1d263c;
  --arco-red: #dc0814;
  --arco-red-dark: #b60610;
  --arco-white: #ffffff;
  --arco-muted: #c7cbd4;
  --arco-text: #eef2f8;
  --arco-gray: #8d96a8;
  --arco-border: rgba(255, 255, 255, 0.1);
  --arco-shadow: 0 24px 70px rgba(0, 0, 0, 0.28);
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background: var(--arco-dark);
  color: var(--arco-muted);
  font-family: var(--arco-font);
  font-size: 16px;
  line-height: 1.75;
  min-width: 320px;
}

body.locked {
  overflow: hidden;
}

img {
  height: auto;
  max-width: 100%;
}

a {
  color: inherit;
  text-decoration: none;
  transition:
    color 240ms ease,
    background-color 240ms ease,
    border-color 240ms ease,
    transform 240ms ease;
}

a:hover,
a:focus {
  color: var(--arco-red);
}

button,
input,
select,
textarea {
  font: inherit;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: var(--arco-white);
  font-weight: 800;
  line-height: 1.12;
  margin: 0 0 18px;
}

p {
  margin: 0 0 18px;
}

.container {
  padding-left: 15px;
  padding-right: 15px;
}

@media (min-width: 1200px) {
  .container {
    max-width: 1200px;
  }
}

.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  word-wrap: normal;
}

.screen-reader-text:focus {
  background: var(--arco-white);
  clip: auto;
  clip-path: none;
  color: var(--arco-darker);
  display: block;
  font-weight: 700;
  height: auto;
  left: 12px;
  padding: 12px 18px;
  top: 12px;
  width: auto;
  z-index: 100000;
}

.page-wrapper {
  background: var(--arco-dark);
  overflow: hidden;
  position: relative;
}

#page.site.page-wrapper {
  max-width: none;
  width: 100%;
}

body.woocommerce-checkout {
  display: block;
  grid-template-columns: none;
  width: 100%;
}

.ogency-btn,
.button,
button.button,
input.button,
.wp-block-button__link,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.added_to_cart {
  align-items: center;
  appearance: none;
  background: var(--arco-red);
  border: 0;
  border-radius: 0;
  color: var(--arco-white);
  display: inline-flex;
  font-size: 14px;
  font-weight: 800;
  justify-content: center;
  line-height: 1.2;
  min-height: 48px;
  padding: 15px 28px;
  position: relative;
  text-transform: uppercase;
  transition:
    background-color 240ms ease,
    color 240ms ease,
    transform 240ms ease;
}

.ogency-btn:hover,
.button:hover,
button.button:hover,
input.button:hover,
.wp-block-button__link:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.added_to_cart:hover {
  background: var(--arco-white);
  color: var(--arco-red);
  transform: translateY(-2px);
}

.main-header {
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 90;
}

.main-menu {
  left: 0;
  padding: 8px 68px 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 91;
}

.admin-bar .main-menu {
  top: 32px;
}

.main-menu .container-fluid {
  align-items: center;
  display: flex;
  position: relative;
}

.main-menu__logo {
  align-items: center;
  display: flex;
  padding: 28px 0;
  position: relative;
}

.main-menu__logo img,
.custom-logo {
  display: block;
  max-height: 58px;
  width: auto;
}

.main-menu__nav {
  padding-left: clamp(40px, 12vw, 214px);
}

.main-menu__list,
.main-menu__list ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.main-menu__list {
  align-items: center;
  display: flex;
}

.main-menu__list > li {
  margin-left: 42px;
  padding-bottom: 34px;
  padding-top: 26px;
  position: relative;
}

.main-menu__list > li > a {
  align-items: center;
  color: var(--arco-white);
  display: flex;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.2;
  text-transform: uppercase;
}

.main-menu__list > li.current-menu-item > a,
.main-menu__list > li.current-menu-ancestor > a,
.main-menu__list > li:hover > a,
.main-menu__list > li.focus > a {
  color: var(--arco-white);
}

.main-menu__list > li.current-menu-item > a::before,
.main-menu__list > li.current-menu-ancestor > a::before,
.main-menu__list > li:hover > a::before {
  background: var(--arco-red);
  content: "";
  height: 5px;
  left: -14px;
  position: absolute;
  top: 36px;
  width: 5px;
}

.main-menu__list li ul {
  background: var(--arco-dark);
  box-shadow: var(--arco-shadow);
  display: block;
  left: -25px;
  min-width: 270px;
  opacity: 0;
  padding: 20px 20px 12px;
  position: absolute;
  top: 100%;
  transform: scaleY(0);
  transform-origin: top center;
  transition:
    opacity 240ms ease,
    transform 240ms ease,
    visibility 240ms ease;
  visibility: hidden;
  z-index: 99;
}

.main-menu__list li:hover > ul,
.main-menu__list li.focus > ul {
  opacity: 1;
  transform: scaleY(1);
  visibility: visible;
}

.main-menu__list li ul li {
  position: relative;
  width: 100%;
}

.main-menu__list li ul li > a {
  color: var(--arco-white);
  display: flex;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;
  padding: 8px 30px 10px 18px;
  position: relative;
}

.main-menu__list li ul li > a::after {
  background: var(--arco-red);
  border-radius: 50%;
  content: "";
  height: 5px;
  opacity: 0;
  position: absolute;
  right: 16px;
  top: 18px;
  transition: opacity 240ms ease;
  width: 5px;
}

.main-menu__list li ul li:hover > a,
.main-menu__list li ul li.current-menu-item > a,
.main-menu__list li ul li.current-menu-ancestor > a {
  color: var(--arco-muted);
}

.main-menu__list li ul li:hover > a::after,
.main-menu__list li ul li.current-menu-item > a::after,
.main-menu__list li ul li.current-menu-ancestor > a::after {
  opacity: 1;
}

.main-menu__list li ul li > ul {
  left: calc(100% + 20px);
  top: 0;
}

.main-menu__right {
  align-items: center;
  display: flex;
  gap: 14px;
  margin-left: auto;
}

.main-menu__toggler {
  align-items: center;
  background: transparent;
  border: 0;
  color: var(--arco-white);
  display: none;
  font-size: 26px;
  height: 52px;
  justify-content: center;
  padding: 0;
  width: 52px;
}

.main-menu__toggler:hover {
  color: var(--arco-red);
}

.main-menu__cart-wrap {
  position: relative;
}

.site-header-cart {
  list-style: none;
  margin: 0;
  padding: 0;
  position: relative;
}

.site-header-cart > li {
  list-style: none;
}

.site-header-cart .cart-contents {
  align-items: center;
  border-left: 1px solid var(--arco-border);
  color: var(--arco-white);
  display: flex;
  font-size: 13px;
  font-weight: 800;
  gap: 8px;
  min-height: 50px;
  padding-left: 22px;
  text-transform: uppercase;
}

.site-header-cart .cart-contents::before {
  content: "\f07a";
  font-family: "Font Awesome 5 Free";
  font-size: 19px;
  font-weight: 900;
}

.site-header-cart .cart-contents:hover {
  color: var(--arco-red);
}

.site-header-cart .widget_shopping_cart {
  background: var(--arco-white);
  box-shadow: var(--arco-shadow);
  color: var(--arco-darker);
  display: none;
  min-width: 310px;
  padding: 22px;
  position: absolute;
  right: 0;
  top: 100%;
  z-index: 100;
}

.site-header-cart:hover .widget_shopping_cart {
  display: block;
}

.page-header {
  background-color: var(--arco-dark);
  position: relative;
}

.page-header__bg {
  background-image: url("assets/images/backgrounds/page-header-bg-1-1.jpg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  bottom: 0;
  left: 0;
  opacity: 0.4;
  position: absolute;
  right: 0;
  top: 0;
}

.page-header__overlay {
  background-image: url("assets/images/backgrounds/page-header-bg-overlay.png");
  background-position: bottom center;
  background-repeat: no-repeat;
  background-size: cover;
  bottom: -1px;
  height: 186px;
  left: 0;
  position: absolute;
  width: 100%;
}

.page-header .container {
  padding-bottom: 170px;
  padding-top: 220px;
  position: relative;
  z-index: 2;
}

.page-header__breadcrumb {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  list-style: none;
  margin: 0 0 8px;
  padding: 0;
}

.page-header__breadcrumb li {
  align-items: center;
  color: var(--arco-white);
  display: flex;
  font-size: 15px;
  line-height: 1;
  position: relative;
}

.page-header__breadcrumb li:not(:last-child)::after {
  color: var(--arco-white);
  content: ".";
  margin-left: 16px;
}

.page-header__title {
  color: var(--arco-white);
  font-size: clamp(42px, 6vw, 72px);
  letter-spacing: 0;
  margin: 0;
  word-break: normal;
}

.content-main,
.shop-main {
  background: var(--arco-dark);
}

.page-content-section,
.arco-shop {
  background: var(--arco-dark);
  padding: 110px 0;
}

.entry-content > *:last-child,
.page-content-section > .container > *:last-child {
  margin-bottom: 0;
}

.woocommerce-products-header {
  display: none;
}

.woocommerce-notices-wrapper {
  margin-bottom: 24px;
}

.woocommerce-result-count {
  color: var(--arco-muted);
  float: left;
  margin: 0 0 28px;
}

.woocommerce-ordering {
  float: right;
  margin: 0 0 28px;
}

.woocommerce-ordering select,
select,
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="password"],
input[type="number"],
textarea {
  background: var(--arco-panel);
  border: 1px solid var(--arco-border);
  border-radius: 0;
  color: var(--arco-white);
  min-height: 56px;
  outline: 0;
  padding: 13px 18px;
  width: 100%;
}

textarea {
  min-height: 150px;
  resize: vertical;
}

input:focus,
select:focus,
textarea:focus {
  border-color: rgba(220, 8, 20, 0.75);
  box-shadow: 0 0 0 3px rgba(220, 8, 20, 0.16);
}

label {
  color: var(--arco-white);
  font-weight: 700;
  margin-bottom: 8px;
}

ul.products {
  clear: both;
  display: grid;
  gap: 30px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  list-style: none;
  margin: 0;
  padding: 0;
}

ul.products::before,
ul.products::after {
  display: none;
}

ul.products li.product {
  float: none;
  margin: 0;
  position: relative;
  text-align: center;
  width: auto;
}

ul.products li.product a.woocommerce-LoopProduct-link {
  display: block;
}

ul.products li.product img {
  /* aspect-ratio: 4 / 3; */
  background: var(--arco-white);
  border: 5px solid var(--arco-darker);
  display: block;
  object-fit: cover;
  transition: transform 420ms ease;
  width: 100%;
}

ul.products li.product:hover img {
  transform: scale(1.04);
}

.woocommerce-loop-product__title {
  color: var(--arco-white);
  font-size: 16px;
  line-height: 1.45;
  margin: 22px 10px 6px;
}

ul.products li.product .price {
  color: var(--arco-white);
  display: block;
  font-size: 20px;
  font-weight: 800;
  line-height: 1.3;
  margin: 0 0 18px;
}

ul.products li.product .price del {
  color: var(--arco-gray);
  font-size: 15px;
  opacity: 0.75;
}

ul.products li.product .price ins {
  text-decoration: none;
}

ul.products li.product .button,
ul.products li.product .added_to_cart {
  min-height: 40px;
  padding: 12px 24px;
}

.onsale {
  align-items: center;
  background: var(--arco-red);
  color: var(--arco-white);
  display: inline-flex;
  font-size: 12px;
  font-weight: 800;
  justify-content: center;
  left: 14px;
  min-height: 34px;
  padding: 0 13px;
  position: absolute;
  text-transform: uppercase;
  top: 14px;
  z-index: 3;
}

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

.star-rating::before {
  color: var(--arco-gray);
  content: "\53\53\53\53\53";
  left: 0;
  opacity: 0.45;
  position: absolute;
  top: 0;
}

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

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

ul.products li.product .star-rating {
  margin: 0 auto 8px;
}

.woocommerce-pagination {
  margin-top: 48px;
  text-align: center;
}

.woocommerce-pagination ul {
  display: inline-flex;
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.woocommerce-pagination a,
.woocommerce-pagination span {
  align-items: center;
  background: var(--arco-panel);
  color: var(--arco-white);
  display: flex;
  font-weight: 800;
  height: 46px;
  justify-content: center;
  width: 46px;
}

.woocommerce-pagination .current,
.woocommerce-pagination a:hover {
  background: var(--arco-red);
  color: var(--arco-white);
}

.single-product div.product {
  display: grid;
  gap: 60px;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 0.82fr);
  position: relative;
}

.single-product div.product::after {
  clear: both;
  content: "";
  display: table;
}

.single-product div.product .woocommerce-product-gallery {
  float: none;
  position: relative;
  width: 100% !important;
}

.woocommerce-product-gallery__wrapper {
  margin: 0;
}

.single-product div.product .woocommerce-product-gallery img {
  background: var(--arco-white);
  border: 5px solid var(--arco-darker);
  width: 100%;
}

.single-product
  div.product
  .woocommerce-product-gallery
  .woocommerce-product-gallery__trigger {
  align-items: center;
  background: var(--arco-red);
  color: var(--arco-white);
  display: flex;
  height: 44px;
  justify-content: center;
  position: absolute;
  right: 16px;
  top: 16px;
  width: 44px;
  z-index: 5;
}

.single-product div.product .summary {
  color: var(--arco-muted);
}

.single-product div.product .product_title {
  font-size: clamp(34px, 4vw, 34px);
  margin-bottom: 18px;
}

.single-product div.product p.price,
.single-product div.product span.price {
  color: var(--arco-white);
  display: block;
  font-size: 30px;
  font-weight: 800;
  margin-bottom: 24px;
}

.single-product div.product .woocommerce-product-details__short-description {
  border-bottom: 1px solid var(--arco-border);
  border-top: 1px solid var(--arco-border);
  margin-bottom: 28px;
  padding: 24px 0 8px;
}

.cart,
.variations_form {
  margin-bottom: 26px;
}

.quantity {
  align-items: center;
  display: inline-flex;
  margin-right: 12px;
  vertical-align: middle;
}

.quantity .qty {
  background: var(--arco-panel);
  border: 1px solid var(--arco-border);
  color: var(--arco-white);
  font-weight: 800;
  height: 48px;
  padding: 0 8px;
  text-align: center;
  width: 76px;
}

.product_meta {
  border-top: 1px solid var(--arco-border);
  color: var(--arco-gray);
  display: grid;
  gap: 8px;
  padding-top: 24px;
}

.product_meta > span {
  display: block;
}

.product_meta a {
  color: var(--arco-white);
}

.woocommerce-tabs {
  clear: both;
  grid-column: 1 / -1;
  margin-top: 20px;
}

.woocommerce-tabs ul.tabs {
  border-bottom: 1px solid var(--arco-border);
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  list-style: none;
  margin: 0 0 34px;
  padding: 0;
}

.woocommerce-tabs ul.tabs li a {
  background: var(--arco-panel);
  color: var(--arco-white);
  display: block;
  font-weight: 800;
  padding: 16px 24px;
  text-transform: uppercase;
}

.woocommerce-tabs ul.tabs li.active a,
.woocommerce-tabs ul.tabs li a:hover {
  background: var(--arco-red);
  color: var(--arco-white);
}

.woocommerce-tabs .panel {
  color: var(--arco-muted);
}

.woocommerce-tabs .panel h2,
.related.products > h2,
.upsells.products > h2 {
  font-size: 30px;
  margin-bottom: 24px;
}

.related.products,
.upsells.products {
  grid-column: 1 / -1;
  margin-top: 70px;
}

.related.products .woocommerce-loop-product__title {
  font-size: 14px;
}

.related.products ul.products li.product .price {
  font-size: 16px;
}

.related.products ul.products li.product .price del {
  font-size: 12px;
}

.related.products .onsale {
  font-size: 10px;
  min-height: 28px;
  padding: 0 10px;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews,
p.no-comments {
  background: var(--arco-panel);
  border-left: 4px solid var(--arco-red);
  box-shadow: var(--arco-shadow);
  color: var(--arco-white);
  list-style: none;
  margin: 0 0 28px;
  padding: 18px 22px;
}

.woocommerce-message a,
.woocommerce-info a,
.woocommerce-error a {
  color: var(--arco-white);
  font-weight: 800;
  text-decoration: underline;
}

.woocommerce-error {
  border-left-color: #ff6b6b;
}

.woocommerce-info {
  border-left-color: #8fb4ff;
}

.stock.in-stock {
  color: #72d28c;
  font-weight: 700;
}

.stock.out-of-stock {
  color: #ff7575;
  font-weight: 700;
}

.woocommerce-account:not(.logged-in) .woocommerce {
  margin-left: auto;
  margin-right: auto;
  max-width: 1120px;
}

.woocommerce-account:not(.logged-in) .u-columns {
  display: grid;
  gap: 30px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.woocommerce .col2-set .col-1,
.woocommerce .col2-set .col-2,
.woocommerce-page .col2-set .col-1,
.woocommerce-page .col2-set .col-2 {
  flex: 0 0 100%;
  float: none;
  max-width: none;
  width: 100%;
}

.woocommerce-account:not(.logged-in) .u-column1,
.woocommerce-account:not(.logged-in) .u-column2 {
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0)),
    var(--arco-panel);
  border: 1px solid var(--arco-border);
  box-shadow: var(--arco-shadow);
  min-width: 0;
  padding: 38px;
  position: relative;
}

.woocommerce-account:not(.logged-in) .u-column1::before,
.woocommerce-account:not(.logged-in) .u-column2::before {
  background: var(--arco-red);
  content: "";
  height: 5px;
  left: 38px;
  position: absolute;
  top: 0;
  width: 72px;
}

.woocommerce-account:not(.logged-in) .u-column1 h2,
.woocommerce-account:not(.logged-in) .u-column2 h2 {
  font-size: clamp(28px, 3vw, 38px);
  margin-bottom: 26px;
}

.woocommerce form.login,
.woocommerce form.register {
  border: 0;
  margin: 0;
  padding: 0;
}

.woocommerce form.login .form-row,
.woocommerce form.register .form-row {
  margin-bottom: 18px;
}

.woocommerce form.login label,
.woocommerce form.register label {
  color: var(--arco-white);
  display: block;
  font-size: 14px;
  font-weight: 800;
  text-transform: uppercase;
}

.woocommerce form.login .required,
.woocommerce form.register .required {
  color: var(--arco-red);
  text-decoration: none;
}

.woocommerce form.login input.input-text,
.woocommerce form.register input.input-text,
.woocommerce form.login input[type="password"],
.woocommerce form.register input[type="password"] {
  background: var(--arco-darker);
  border: 1px solid var(--arco-border);
  color: var(--arco-white);
  min-height: 58px;
}

.woocommerce form.login input.input-text:focus,
.woocommerce form.register input.input-text:focus,
.woocommerce form.login input[type="password"]:focus,
.woocommerce form.register input[type="password"]:focus {
  border-color: rgba(220, 8, 20, 0.8);
}

.woocommerce form .password-input {
  display: block;
  position: relative;
  width: 100%;
}

.woocommerce form .password-input input {
  padding-right: 54px;
}

.woocommerce form .show-password-input {
  align-items: center;
  color: var(--arco-muted);
  cursor: pointer;
  display: inline-flex;
  font-size: 18px;
  height: 44px;
  justify-content: center;
  position: absolute;
  right: 7px;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  z-index: 2;
}

.woocommerce form .show-password-input::after {
  content: "\f06e";
  font-family: "Font Awesome 5 Free";
  font-style: normal;
  font-weight: 900;
  line-height: 1;
}

.woocommerce form .show-password-input.display-password::after {
  content: "\f070";
}

.woocommerce form .show-password-input:hover,
.woocommerce form .show-password-input:focus {
  color: var(--arco-white);
}

.woocommerce form.login .woocommerce-form-login__rememberme {
  align-items: center;
  display: inline-flex;
  gap: 10px;
  margin: 0 18px 16px 0;
  text-transform: none;
}

.woocommerce form.login .woocommerce-form-login__rememberme input {
  accent-color: var(--arco-red);
  height: 18px;
  width: 18px;
}

.woocommerce form.register .arco-registration-privacy {
  margin-top: 24px;
}

.woocommerce form.register .arco-registration-privacy label {
  align-items: flex-start;
  cursor: pointer;
  display: flex;
  font-size: 14px;
  gap: 10px;
  line-height: 1.6;
  text-transform: none;
}

.woocommerce form.register .arco-registration-privacy input[type="checkbox"] {
  accent-color: var(--arco-red);
  flex: 0 0 18px;
  height: 18px;
  margin-top: 2px;
  width: 18px;
}

.woocommerce form.register .arco-registration-privacy a {
  color: var(--arco-white);
  font-weight: 800;
  text-decoration: underline;
  text-decoration-color: rgba(220, 8, 20, 0.7);
  text-underline-offset: 4px;
}

.woocommerce form.register .arco-registration-privacy a:hover {
  color: var(--arco-red);
}

.woocommerce form.login .lost_password,
.woocommerce form.register .woocommerce-privacy-policy-text {
  color: var(--arco-muted);
  font-size: 14px;
  line-height: 1.7;
  margin: 16px 0 0;
}

.woocommerce form.login .lost_password a,
.woocommerce form.register .woocommerce-privacy-policy-text a {
  color: var(--arco-white);
  font-weight: 800;
  text-decoration: underline;
  text-decoration-color: rgba(220, 8, 20, 0.7);
  text-underline-offset: 4px;
}

.woocommerce form.login .lost_password a:hover,
.woocommerce form.register .woocommerce-privacy-policy-text a:hover {
  color: var(--arco-red);
}

.woocommerce-account:not(.logged-in) .woocommerce-button {
  margin-top: 8px;
  min-width: 180px;
}

.cart-main .page-content-section,
.checkout-main .page-content-section {
  padding: 110px 0;
}

table.shop_table,
.woocommerce table.shop_table {
  background: var(--arco-panel);
  border: 1px solid var(--arco-border);
  border-collapse: collapse;
  color: var(--arco-muted);
  margin: 0 0 28px;
  width: 100%;
}

table.shop_table th,
table.shop_table td,
.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
  border-bottom: 1px solid var(--arco-border);
  padding: 18px;
  vertical-align: middle;
}

table.shop_table th,
.woocommerce table.shop_table th {
  color: var(--arco-white);
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
}

table.shop_table td.product-name a {
  color: var(--arco-white);
  font-weight: 800;
}

table.shop_table img {
  border: 3px solid var(--arco-darker);
  max-width: 86px;
}

.product-remove a {
  align-items: center;
  background: rgba(220, 8, 20, 0.16);
  color: var(--arco-white);
  display: inline-flex;
  font-size: 24px;
  height: 34px;
  justify-content: center;
  line-height: 1;
  width: 34px;
}

.product-remove a:hover {
  background: var(--arco-red);
  color: var(--arco-white);
}

.coupon {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.coupon input {
  max-width: 320px;
}

.cart_totals {
  background: var(--arco-panel);
  border: 1px solid var(--arco-border);
  margin-left: auto;
  margin-top: 34px;
  max-width: 520px;
  padding: 30px;
}

.cart_totals h2 {
  font-size: 30px;
}

form.woocommerce-checkout {
  display: grid;
  gap: 32px;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 0.55fr);
}

form.woocommerce-checkout .col2-set,
form.woocommerce-checkout #order_review_heading,
form.woocommerce-checkout #order_review {
  min-width: 0;
}

form.woocommerce-checkout .col2-set {
  grid-column: 1 / 2;
}

form.woocommerce-checkout #order_review_heading,
form.woocommerce-checkout #order_review {
  grid-column: 2 / 3;
}

form.woocommerce-checkout #order_review_heading {
  align-self: start;
  background: var(--arco-red);
  font-size: 22px;
  margin: 0;
  padding: 22px 26px;
}

form.woocommerce-checkout #order_review {
  background: var(--arco-panel);
  border: 1px solid var(--arco-border);
  padding: 24px;
}

.checkout-main .wp-block-woocommerce-checkout {
  max-width: none;
  width: 100%;
}

.woocommerce-billing-fields,
.woocommerce-shipping-fields,
.woocommerce-additional-fields,
.woocommerce-account-fields {
  background: var(--arco-panel);
  border: 1px solid var(--arco-border);
  margin-bottom: 28px;
  padding: 28px;
}

.woocommerce-billing-fields h3,
.woocommerce-shipping-fields h3,
.woocommerce-additional-fields h3,
.woocommerce-account-fields h3 {
  font-size: 28px;
  margin-bottom: 24px;
}

.form-row {
  margin-bottom: 18px;
}

.form-row-wide {
  clear: both;
}

.col2-set::after,
.woocommerce::after {
  clear: both;
  content: "";
  display: table;
}

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

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

.select2-container--default .select2-selection--single {
  background: var(--arco-panel);
  border: 1px solid var(--arco-border);
  border-radius: 0;
  color: var(--arco-white);
  height: 56px;
}

.select2-container--default
  .select2-selection--single
  .select2-selection__rendered {
  color: var(--arco-white);
  line-height: 56px;
  padding-left: 18px;
}

.select2-container--default
  .select2-selection--single
  .select2-selection__arrow {
  height: 56px;
}

#payment {
  color: var(--arco-muted);
}

#payment ul.payment_methods {
  list-style: none;
  margin: 0 0 22px;
  padding: 0;
}

#payment ul.payment_methods li {
  border-bottom: 1px solid var(--arco-border);
  padding: 14px 0;
}

#payment .place-order {
  margin: 0;
}

.arco-checkout-consents {
  border-top: 1px solid var(--arco-border);
  margin-top: 22px;
  padding-top: 22px;
}

.arco-checkout-consents .form-row {
  margin-bottom: 14px;
}

.arco-checkout-consents label {
  align-items: flex-start;
  color: var(--arco-white);
  cursor: pointer;
  display: flex;
  font-size: 14px;
  font-weight: 700;
  gap: 10px;
  line-height: 1.6;
  margin: 0;
}

.arco-checkout-consents input[type="checkbox"] {
  accent-color: var(--arco-red);
  flex: 0 0 18px;
  height: 18px;
  margin-top: 2px;
  width: 18px;
}

.arco-checkout-consents a {
  color: var(--arco-white);
  font-weight: 800;
  text-decoration: underline;
  text-decoration-color: rgba(220, 8, 20, 0.7);
  text-underline-offset: 4px;
}

.arco-checkout-consents a:hover {
  color: var(--arco-red);
}

#place_order {
  margin-top: 16px;
  width: 100%;
}

.main-footer {
  background-color: var(--arco-dark);
  background-position: top center;
  background-repeat: no-repeat;
  background-size: cover;
  padding: 60px 0 92px;
  position: relative;
}

.main-footer__top {
  align-items: center;
  border-bottom: 1px solid var(--arco-border);
  display: flex;
  justify-content: space-between;
  margin-bottom: 78px;
  padding-bottom: 58px;
}

.main-footer__logo img {
  max-height: 64px;
  width: auto;
}

.main-footer__social {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.main-footer__social .footer-widget,
.main-footer__social p {
  margin: 0;
}

.main-footer__social a {
  align-items: center;
  background: var(--arco-dark);
  color: var(--arco-white);
  display: inline-flex;
  font-size: 19px;
  height: 55px;
  justify-content: center;
  width: 55px;
}

.main-footer__social a:hover {
  background: var(--arco-red);
  color: var(--arco-white);
}

.main-footer__about p {
  color: var(--arco-muted);
  font-size: 22px;
  line-height: 1.55;
  margin-bottom: 10px;
}

.main-footer__about a {
  color: var(--arco-white);
  display: inline-block;
  font-size: clamp(30px, 5vw, 60px);
  font-weight: 800;
  line-height: 1;
  overflow-wrap: anywhere;
}

.main-footer__about a:hover {
  color: var(--arco-red);
}

.footer-widget {
  margin: 0;
}

.footer-widget__title {
  font-size: 16px;
  margin-bottom: 16px;
  text-transform: uppercase;
}

.main-footer__navmenu ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.main-footer__navmenu li {
  color: var(--arco-white);
  display: block;
  font-size: 16px;
  font-weight: 500;
  line-height: 2.25;
}

.main-footer__navmenu a:hover {
  color: var(--arco-red);
}

.main-footer__copyright {
  color: var(--arco-muted);
  font-size: 14px;
  margin-top: 34px;
}

.main-footer__copyright p {
  margin: 0;
}

.main-footer__copyright a {
  color: inherit;
  text-decoration: underline;
}

.mobile-nav__wrapper {
  background: rgba(0, 0, 0, 0.62);
  bottom: 0;
  left: 0;
  opacity: 0;
  position: fixed;
  right: 0;
  top: 0;
  transform: translateX(-100%);
  transition:
    opacity 260ms ease,
    transform 0ms ease 260ms;
  visibility: hidden;
  z-index: 999;
}

.mobile-nav__wrapper.expanded {
  opacity: 1;
  transform: translateX(0);
  transition: opacity 260ms ease;
  visibility: visible;
}

.mobile-nav__overlay {
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}

.mobile-nav__content {
  background: var(--arco-darker);
  height: 100%;
  max-width: 360px;
  overflow-y: auto;
  padding: 32px 28px;
  position: relative;
  transform: translateX(-100%);
  transition: transform 260ms ease;
  width: 86%;
}

.mobile-nav__wrapper.expanded .mobile-nav__content {
  transform: translateX(0);
}

.mobile-nav__close {
  align-items: center;
  background: transparent;
  border: 0;
  color: var(--arco-white);
  display: flex;
  font-size: 24px;
  height: 44px;
  justify-content: center;
  padding: 0;
  position: absolute;
  right: 20px;
  top: 22px;
  width: 44px;
}

.mobile-nav__content .logo-box {
  margin-bottom: 28px;
  padding-right: 50px;
}

.mobile-nav__content .logo-box img {
  max-height: 52px;
  width: auto;
}

.mobile-nav__container .main-menu__list {
  display: block;
}

.mobile-nav__container .main-menu__list li {
  border-bottom: 1px solid var(--arco-border);
  margin: 0;
  padding: 0;
  position: relative;
}

.mobile-nav__container .main-menu__list a {
  align-items: center;
  color: var(--arco-white);
  display: flex;
  font-size: 15px;
  font-weight: 800;
  justify-content: space-between;
  padding: 14px 0;
  text-transform: uppercase;
}

.mobile-nav__container .main-menu__list ul {
  background: transparent;
  box-shadow: none;
  display: none;
  left: auto;
  min-width: 0;
  opacity: 1;
  padding: 0 0 0 14px;
  position: static;
  transform: none;
  visibility: visible;
}

.mobile-nav__container .main-menu__list li.expanded > ul {
  display: block;
}

.mobile-submenu-toggle {
  align-items: center;
  background: rgba(255, 255, 255, 0.08);
  border: 0;
  color: var(--arco-white);
  display: inline-flex;
  height: 34px;
  justify-content: center;
  margin-left: 10px;
  width: 34px;
}

.mobile-nav__contact {
  list-style: none;
  margin: 30px 0 0;
  padding: 0;
}

.mobile-nav__contact li {
  align-items: center;
  color: var(--arco-white);
  display: flex;
  gap: 12px;
  margin-top: 12px;
}

.mobile-nav__contact i {
  color: var(--arco-red);
}

@media (max-width: 1199px) {
  .main-menu {
    padding: 0 20px;
  }

  .main-menu__nav {
    display: none;
  }

  .main-menu__toggler {
    display: inline-flex;
  }
}

@media (max-width: 991px) {
  ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .single-product div.product,
  .woocommerce-account:not(.logged-in) .u-columns,
  form.woocommerce-checkout {
    display: block;
  }

  .single-product div.product .summary,
  .woocommerce-account:not(.logged-in) .u-column2,
  form.woocommerce-checkout #order_review_heading {
    margin-top: 36px;
  }

  .cart_totals {
    margin-left: 0;
    max-width: none;
  }

  .main-footer__top {
    margin-bottom: 48px;
  }
}

@media (max-width: 767px) {
  .admin-bar .main-menu {
    top: 46px;
  }

  .main-menu__logo {
    padding: 22px 0;
  }

  .main-menu__logo img,
  .custom-logo {
    max-height: 46px;
  }

  .site-header-cart .cart-contents .amount {
    display: none;
  }

  .site-header-cart .cart-contents {
    border-left: 0;
    font-size: 0;
    padding-left: 0;
  }

  .site-header-cart .cart-contents::before {
    font-size: 22px;
  }

  .page-header .container {
    padding-bottom: 100px;
    padding-top: 145px;
  }

  .page-content-section,
  .arco-shop,
  .cart-main .page-content-section,
  .checkout-main .page-content-section {
    padding: 76px 0;
  }

  .woocommerce-result-count,
  .woocommerce-ordering {
    float: none;
    width: 100%;
  }

  ul.products {
    grid-template-columns: 1fr;
  }

  table.shop_table_responsive thead {
    display: none;
  }

  table.shop_table_responsive tr,
  table.shop_table_responsive td {
    display: block;
    text-align: right;
  }

  table.shop_table_responsive tr {
    border-bottom: 1px solid var(--arco-border);
  }

  table.shop_table_responsive td::before {
    color: var(--arco-white);
    content: attr(data-title) ": ";
    float: left;
    font-weight: 800;
  }

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

  .coupon,
  .coupon input,
  .coupon .button {
    width: 100%;
  }

  .woocommerce-billing-fields,
  .woocommerce-shipping-fields,
  .woocommerce-additional-fields,
  .woocommerce-account-fields,
  .woocommerce-account:not(.logged-in) .u-column1,
  .woocommerce-account:not(.logged-in) .u-column2,
  form.woocommerce-checkout #order_review {
    padding: 22px;
  }

  .woocommerce-account:not(.logged-in) .u-column1::before,
  .woocommerce-account:not(.logged-in) .u-column2::before {
    left: 22px;
  }

  .main-footer {
    padding-bottom: 60px;
  }

  .main-footer__top {
    align-items: flex-start;
    display: block;
    padding-bottom: 42px;
  }

  .main-footer__social {
    justify-content: flex-start;
    margin-top: 28px;
  }

  .main-footer__navmenu {
    margin-top: 30px;
  }
}
