/*
 * RetroVoke Retro — WooCommerce overrides.
 * Progettato per la palette beige/retro.
 */

/* ---------- Messaggi / notifiche ---------- */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  border: 2px solid var(--border-strong) !important;
  background: var(--card) !important;
  color: var(--text) !important;
  border-radius: var(--radius);
  padding: 14px 18px;
  margin-bottom: 24px;
  box-shadow: 3px 3px 0 var(--border);
}
.woocommerce-message { border-color: var(--accent) !important; }
.woocommerce-error { border-color: var(--danger) !important; }

/* ---------- Pagina shop ---------- */
.woocommerce .page-title {
  font-family: "Press Start 2P", monospace;
  font-size: 2.4em;
  letter-spacing: 1px;
  color: var(--text);
}

.woocommerce-result-count {
  color: var(--muted);
  font-size: 14px;
}

.woocommerce-ordering select {
  background: var(--card);
  border: 1px solid var(--border-strong);
  border-radius: 8px;
  padding: 8px 12px;
  color: var(--text);
  font-size: 14px;
}

/* ---------- Griglia prodotti ---------- */
ul.products {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 20px;
  margin: 24px 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
ul.products::before,
ul.products::after { display: none !important; }

ul.products li.product {
  margin: 0 !important;
  width: auto !important;
  float: none !important;
  background: #ffffff;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
  box-shadow: 0 1px 3px rgba(74, 66, 52, .06);
  padding: 0;
}
ul.products li.product:hover {
  transform: translateY(-3px);
  border-color: var(--border-strong);
  box-shadow: 0 8px 22px rgba(74, 66, 52, .10);
}

.rv-card-inner {
  display: flex;
  flex-direction: column;
  flex: 1;
  height: 100%;
}

ul.products li.product a img {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  margin: 0;
  border-bottom: 1px solid var(--border);
}

.woocommerce-loop-product__title {
  font-size: 16px;
  font-weight: 600;
  line-height: 1.3;
  color: var(--text);
  padding: 14px 16px 6px;
  margin: 0;
}

.woocommerce-loop-category__title {
  font-size: 15px;
  font-weight: 600;
  padding: 10px 16px;
}

ul.products li.product .price {
  color: var(--accent);
  font-size: 19px;
  font-weight: 800;
  padding: 0 16px 6px;
  margin-top: auto;
}
ul.products li.product .price del {
  color: var(--muted);
  font-size: 13px;
  font-weight: 400;
}
ul.products li.product .price ins {
  text-decoration: none;
  color: var(--accent);
  font-weight: 800;
}

ul.products li.product .button {
  margin: 8px 16px 16px;
  background: var(--accent);
  color: #fff;
  border: none;
  border-radius: 8px;
  padding: 9px 14px;
  font-size: 14px;
  font-weight: 700;
  text-align: center;
}
ul.products li.product .button:hover {
  background: var(--accent2);
  color: #fff;
}

.woocommerce-loop-product__link {
  display: block;
  color: inherit;
}

.onsale {
  background: var(--ok) !important;
  border-radius: 6px;
  color: #fff !important;
  font-size: 12px;
  font-weight: 700;
  padding: 3px 8px;
  left: 12px !important;
  top: 12px !important;
}

/* ---------- Prodotto singolo ---------- */
.woocommerce div.product .product_title {
  font-family: "Press Start 2P", monospace;
  font-size: 2.2em;
  color: var(--text);
  letter-spacing: 0.5px;
}
.woocommerce div.product p.price {
  color: var(--accent);
  font-size: 26px;
  font-weight: 800;
}
.woocommerce div.product p.price del { color: var(--muted); font-weight: 400; }
.woocommerce div.product p.price ins { text-decoration: none; }

.woocommerce div.product form.cart .variations label {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--muted);
}
.woocommerce div.product form.cart .variations select {
  background: #fff;
  border: 1px solid var(--border-strong);
  border-radius: 8px;
  padding: 8px 10px;
  color: var(--text);
}

.woocommerce div.product form.cart .button {
  background: var(--accent);
  color: #fff;
  border: none;
  border-radius: 8px;
  padding: 14px 26px;
  font-weight: 700;
  font-size: 15px;
}
.woocommerce div.product form.cart .button:hover {
  background: var(--accent2);
  color: #fff;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
  border-bottom: 2px solid var(--border-strong);
  padding: 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: transparent;
  border: none;
  border-radius: 0;
  margin: 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  color: var(--muted);
  padding: 10px 16px;
  border-bottom: 2px solid transparent;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
  color: var(--text);
  border-bottom-color: var(--accent);
}

.woocommerce div.product .woocommerce-tabs .panel {
  background: var(--card);
  border: 1px solid var(--border);
  border-top: none;
  border-radius: 0 0 var(--radius) var(--radius);
  padding: 20px;
}

/* ---------- Carrello / Checkout ---------- */
.woocommerce table.shop_table {
  border: 1px solid var(--border);
  border-radius: var(--radius);
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
  background: #fff;
}
.woocommerce table.shop_table th {
  background: var(--card);
  color: var(--text);
  font-family: "Press Start 2P", monospace;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  padding: 12px 16px;
  border-bottom: 2px solid var(--border-strong);
}
.woocommerce table.shop_table td {
  padding: 14px 16px;
  border-bottom: 1px solid var(--border);
}

.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt,
.woocommerce a.checkout-button {
  background: var(--accent);
  color: #fff;
  border: none;
  border-radius: 8px;
  padding: 13px 24px;
  font-weight: 700;
}
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover {
  background: var(--accent2);
  color: #fff;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
  border: 1px solid var(--border-strong);
  border-radius: 8px;
  padding: 10px 12px;
  color: var(--text);
  background: #fff;
}

/* ---------- Account ---------- */
.woocommerce-MyAccount-navigation ul {
  list-style: none;
  padding: 0;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.woocommerce-MyAccount-navigation ul li a {
  display: inline-block;
  background: var(--card);
  border: 1px solid var(--border-strong);
  border-radius: 8px;
  padding: 9px 16px;
  color: var(--muted);
  font-size: 14px;
}
.woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-MyAccount-navigation ul li a:hover {
  background: var(--accent);
  color: #fff;
  border-color: var(--accent);
}

/* ---------- Paginazione ---------- */
.woocommerce nav.woocommerce-pagination ul {
  border: none;
}
.woocommerce nav.woocommerce-pagination ul li {
  border: 1px solid var(--border-strong);
  border-radius: 6px;
  margin: 0 4px;
  overflow: hidden;
}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  color: var(--text);
  padding: 8px 12px;
  background: var(--card);
}
.woocommerce nav.woocommerce-pagination ul li span.current {
  background: var(--accent);
  color: #fff;
}

/* ---------- Responsive ---------- */
@media (max-width: 640px) {
  ul.products {
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 14px;
  }
}
