/*
Theme Name: Trastienda TCG
Author: Kuraianto
Description: Tema de tienda de cartas para Trastienda TCG.
Version: 1.0
Text Domain: trastienda
*/

:root {
  --papel: #f2ede3;
  --papel-2: #e9e2d4;
  --tinta: #17140f;
  --gris: #6b6358;
  --linea: #d6cdbd;
  --rojo: #c8371f;
  --rojo-osc: #a52a15;
  --verde: #2f6b45;
  --ancho: 1240px;
  --titular: "Archivo", system-ui, sans-serif;
  --texto: "Archivo", system-ui, sans-serif;
  --mono: "JetBrains Mono", ui-monospace, monospace;
}

* { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  background: var(--papel);
  color: var(--tinta);
  font-family: var(--texto);
  font-size: 16px;
  line-height: 1.55;
}

img { max-width: 100%; height: auto; display: block; }

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible {
  outline: 2px solid var(--rojo);
  outline-offset: 2px;
}

a { color: inherit; }

.contenedor {
  max-width: var(--ancho);
  margin: 0 auto;
  padding: 0 20px;
}

.mono {
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.aviso {
  background: var(--tinta);
  color: var(--papel);
  text-align: center;
  padding: 8px 16px;
}

.aviso p { margin: 0; }

.cabecera {
  border-bottom: 1px solid var(--tinta);
  background: var(--papel);
  position: sticky;
  top: 0;
  z-index: 50;
}

.admin-bar .cabecera { top: 32px; }

.cabecera .contenedor {
  display: flex;
  align-items: center;
  gap: 24px;
  height: 68px;
}

.logo {
  font-family: var(--titular);
  font-weight: 800;
  font-stretch: 75%;
  font-size: 26px;
  text-transform: uppercase;
  text-decoration: none;
  letter-spacing: -.01em;
  line-height: 1;
  display: flex;
  align-items: baseline;
  gap: 6px;
}

.logo span {
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 500;
  background: var(--rojo);
  color: #fff;
  padding: 3px 5px;
  letter-spacing: .05em;
  transform: translateY(-3px);
}

.menu {
  display: flex;
  gap: 22px;
  margin: 0 auto 0 12px;
  padding: 0;
  list-style: none;
}

.menu a {
  text-decoration: none;
  font-weight: 600;
  font-size: 15px;
  white-space: nowrap;
}

.menu a:hover { color: var(--rojo-osc); }

.acciones {
  display: flex;
  align-items: center;
  gap: 14px;
}

.acciones a {
  text-decoration: none;
  font-weight: 600;
  font-size: 15px;
}

.carrito {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid var(--tinta);
  padding: 8px 12px;
}

.carrito b {
  font-family: var(--mono);
  font-size: 12px;
  background: var(--tinta);
  color: var(--papel);
  padding: 1px 6px;
}

.boton-menu {
  display: none;
  background: none;
  border: 1px solid var(--tinta);
  padding: 8px 10px;
  font: inherit;
  font-weight: 600;
  cursor: pointer;
}

.boton {
  display: inline-block;
  background: var(--tinta);
  color: var(--papel);
  border: 1px solid var(--tinta);
  padding: 14px 22px;
  font-weight: 700;
  font-size: 15px;
  text-decoration: none;
  cursor: pointer;
}

.boton:hover { background: var(--rojo); border-color: var(--rojo); color: #fff; }

.boton.claro { background: transparent; color: var(--tinta); }

.boton.claro:hover { background: var(--tinta); color: var(--papel); border-color: var(--tinta); }

.portada {
  border-bottom: 1px solid var(--tinta);
}

.portada .contenedor {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 40px;
  padding-top: 64px;
  padding-bottom: 64px;
  align-items: end;
}

.portada h1 {
  font-family: var(--titular);
  font-weight: 800;
  font-stretch: 75%;
  font-size: clamp(48px, 8vw, 104px);
  line-height: .9;
  letter-spacing: -.02em;
  text-transform: uppercase;
  margin: 14px 0 22px;
}

.portada h1 em {
  font-style: normal;
  color: var(--rojo);
}

.portada p.entrada {
  font-size: 19px;
  max-width: 520px;
  margin: 0 0 28px;
}

.portada .botones { display: flex; gap: 12px; flex-wrap: wrap; }

.etiqueta {
  background: #fff;
  border: 1px solid var(--tinta);
  padding: 22px;
  position: relative;
  transform: rotate(-2deg);
  box-shadow: 6px 6px 0 var(--tinta);
}

.etiqueta::before {
  content: "";
  position: absolute;
  top: 16px;
  right: 16px;
  width: 14px;
  height: 14px;
  border: 1px solid var(--tinta);
  border-radius: 50%;
  background: var(--papel);
}

.etiqueta .fila {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px dashed var(--linea);
  padding: 9px 0;
}

.etiqueta .fila:last-child { border-bottom: 0; }

.etiqueta .titulo-etiqueta {
  font-family: var(--titular);
  font-weight: 800;
  font-stretch: 75%;
  text-transform: uppercase;
  font-size: 26px;
  line-height: 1;
  margin: 0 0 10px;
  padding-right: 30px;
}

.etiqueta .precio-grande {
  font-family: var(--titular);
  font-weight: 800;
  font-stretch: 75%;
  font-size: 54px;
  color: var(--rojo);
  line-height: 1;
  margin-top: 12px;
}

.cinta {
  border-bottom: 1px solid var(--tinta);
  background: var(--papel-2);
}

.cinta .contenedor {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}

.cinta div.punto {
  padding: 18px 16px;
  border-right: 1px solid var(--linea);
}

.cinta div.punto:last-child { border-right: 0; }

.cinta strong { display: block; font-size: 15px; }

.cinta span { color: var(--gris); font-size: 14px; }

.seccion { padding: 64px 0; }

.seccion + .seccion { border-top: 1px solid var(--linea); }

.cabeza-seccion {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 20px;
  margin-bottom: 28px;
}

.cabeza-seccion h2 {
  font-family: var(--titular);
  font-weight: 800;
  font-stretch: 75%;
  text-transform: uppercase;
  font-size: clamp(34px, 5vw, 56px);
  line-height: .95;
  margin: 6px 0 0;
}

.cabeza-seccion a { font-weight: 700; }

.estantes {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: 16px;
}

.estante {
  border: 1px solid var(--tinta);
  background: #fff;
  padding: 22px;
  min-height: 200px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  text-decoration: none;
  transition: transform .15s, box-shadow .15s;
}

.estante:hover { transform: translate(-3px, -3px); box-shadow: 6px 6px 0 var(--tinta); }

.estante h3 {
  font-family: var(--titular);
  font-weight: 800;
  font-stretch: 75%;
  text-transform: uppercase;
  font-size: 34px;
  line-height: .95;
  margin: 8px 0 0;
}

.estante.oscuro { background: var(--tinta); color: var(--papel); }

.estante.rojo { background: var(--rojo); color: #fff; border-color: var(--rojo); }

.estante .ir { font-weight: 700; }

.pasos {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  border: 1px solid var(--tinta);
}

.paso {
  padding: 26px;
  border-right: 1px solid var(--tinta);
}

.paso:last-child { border-right: 0; }

.paso .num {
  font-family: var(--titular);
  font-weight: 800;
  font-stretch: 75%;
  font-size: 56px;
  line-height: 1;
  color: var(--rojo);
}

.paso h3 { margin: 10px 0 6px; font-size: 19px; }

.paso p { margin: 0; color: var(--gris); }

.preguntas details {
  border-bottom: 1px solid var(--linea);
  padding: 18px 0;
}

.preguntas summary {
  cursor: pointer;
  font-weight: 700;
  font-size: 18px;
  list-style: none;
  display: flex;
  justify-content: space-between;
  gap: 16px;
}

.preguntas summary::-webkit-details-marker { display: none; }

.preguntas summary::after { content: "+"; font-family: var(--mono); }

.preguntas details[open] summary::after { content: "-"; }

.preguntas details p { margin: 10px 0 0; color: var(--gris); max-width: 720px; }

.dos-col {
  display: grid;
  grid-template-columns: 1fr 1.6fr;
  gap: 48px;
}

.pie {
  background: var(--tinta);
  color: var(--papel);
  padding: 56px 0 28px;
  margin-top: 0;
}

.pie .contenedor > .rejilla {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr;
  gap: 32px;
}

.pie .logo { color: var(--papel); font-size: 34px; }

.pie h4 { margin: 0 0 12px; }

.pie ul { list-style: none; margin: 0; padding: 0; }

.pie li { margin-bottom: 8px; }

.pie a { text-decoration: none; color: #ddd5c6; }

.pie a:hover { color: #fff; text-decoration: underline; }

.pie .texto-pie { max-width: 360px; color: #ddd5c6; }

.pie .legal {
  border-top: 1px solid #3a352d;
  margin-top: 40px;
  padding-top: 18px;
  display: flex;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  color: #a69d8e;
}

.whatsapp {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 60;
  background: var(--verde);
  color: #fff;
  text-decoration: none;
  font-weight: 700;
  padding: 12px 16px;
  border: 1px solid var(--tinta);
  box-shadow: 4px 4px 0 var(--tinta);
  font-size: 14px;
}

.pagina { padding: 48px 0 80px; }

.pagina h1.titulo-pagina {
  font-family: var(--titular);
  font-weight: 800;
  font-stretch: 75%;
  text-transform: uppercase;
  font-size: clamp(40px, 6vw, 72px);
  line-height: .95;
  margin: 0 0 28px;
}

.contenido-texto { max-width: 760px; }

.contenido-texto h2 { margin-top: 32px; }

.entrada-tienda,
.term-description {
  font-size: 18px;
  max-width: 640px;
  margin: 0 0 24px;
  color: var(--gris);
}

.term-description p { margin: 0; }

/* WooCommerce */

.woocommerce .woocommerce-breadcrumb {
  font-family: var(--mono);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--gris);
  margin-bottom: 24px;
}

.woocommerce-products-header__title,
.woocommerce h1.page-title,
.woocommerce h1.product_title {
  font-family: var(--titular);
  font-weight: 800;
  font-stretch: 75%;
  text-transform: uppercase;
  line-height: .95;
}

.woocommerce-products-header__title,
.woocommerce h1.page-title { font-size: clamp(40px, 6vw, 72px); margin: 0 0 16px; }

.woocommerce ul.products {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin: 0;
  padding: 0;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after { display: none; }

.woocommerce ul.products.columns-3 { grid-template-columns: repeat(3, 1fr); }

.woocommerce ul.products li.product {
  width: auto !important;
  margin: 0 !important;
  float: none !important;
  background: #fff;
  border: 1px solid var(--tinta);
  padding: 14px;
  display: flex;
  flex-direction: column;
  position: relative;
}

.woocommerce ul.products li.product > a.woocommerce-LoopProduct-link {
  display: flex;
  flex-direction: column;
  flex: 1;
  text-decoration: none;
  color: var(--tinta);
}

.woocommerce ul.products li.product a img {
  aspect-ratio: 1 / 1;
  object-fit: contain;
  background: #fff;
  margin: 0 0 12px;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--texto);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.3;
  padding: 0;
  margin: 0 0 10px;
}

.woocommerce ul.products li.product .marca-juego {
  display: block;
  color: var(--gris);
  margin-bottom: 6px;
}

.woocommerce ul.products li.product .price {
  font-family: var(--titular);
  font-weight: 800;
  font-stretch: 75%;
  font-size: 28px;
  color: var(--tinta);
  margin: 0 0 12px;
}

.woocommerce ul.products li.product .button {
  margin-top: 0;
  width: 100%;
  text-align: center;
}

.woocommerce ul.products li.product .stock-mini {
  font-family: var(--mono);
  font-size: 11px;
  text-transform: uppercase;
  color: var(--verde);
  margin: auto 0 6px;
}

.woocommerce ul.products li.product .stock-mini.poco { color: var(--rojo); }

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce-page .wc-block-components-button,
.wp-element-button {
  background: var(--tinta) !important;
  color: var(--papel) !important;
  border-radius: 0 !important;
  border: 1px solid var(--tinta) !important;
  font-weight: 700 !important;
  padding: 13px 18px !important;
  font-family: var(--texto) !important;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.wc-block-components-button:hover {
  background: var(--rojo) !important;
  border-color: var(--rojo) !important;
  color: #fff !important;
}

.woocommerce a.added_to_cart {
  display: block;
  text-align: center;
  margin-top: 8px;
  font-weight: 700;
}

.woocommerce span.onsale {
  background: var(--rojo);
  border-radius: 0;
  min-height: 0;
  min-width: 0;
  line-height: 1;
  padding: 6px 8px;
  font-family: var(--mono);
  font-size: 12px;
  top: 10px;
  left: 10px;
}

.woocommerce div.product {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
}

.woocommerce div.product div.images,
.woocommerce div.product div.summary {
  width: auto !important;
  float: none !important;
  margin: 0 !important;
}

.woocommerce div.product div.images {
  background: #fff;
  border: 1px solid var(--tinta);
  padding: 24px;
}

.woocommerce div.product .woocommerce-tabs,
.woocommerce div.product .related,
.woocommerce div.product .upsells { grid-column: 1 / -1; }

.woocommerce h1.product_title { font-size: clamp(32px, 4vw, 52px); margin: 0 0 16px; }

.woocommerce div.product p.price,
.woocommerce div.product span.price {
  font-family: var(--titular);
  font-weight: 800;
  font-stretch: 75%;
  font-size: 52px;
  color: var(--rojo);
  line-height: 1;
  margin: 0 0 16px;
}

.woocommerce div.product .stock { font-family: var(--mono); font-size: 13px; text-transform: uppercase; }

.woocommerce div.product .stock.in-stock { color: var(--verde); }

.woocommerce div.product form.cart { display: flex; gap: 10px; margin: 24px 0; }

.woocommerce div.product form.cart .button { flex: 1; padding: 16px !important; font-size: 16px; }

.woocommerce .quantity .qty {
  width: 70px;
  height: 100%;
  border: 1px solid var(--tinta);
  background: #fff;
  font: inherit;
  padding: 10px;
}

.ficha-datos {
  border: 1px solid var(--tinta);
  background: #fff;
  margin: 20px 0;
}

.ficha-datos div {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 14px;
  border-bottom: 1px dashed var(--linea);
}

.ficha-datos div:last-child { border-bottom: 0; }

.garantias { list-style: none; padding: 0; margin: 20px 0 0; }

.garantias li { padding: 6px 0 6px 22px; position: relative; }

.garantias li::before { content: ""; position: absolute; left: 0; top: 14px; width: 10px; height: 2px; background: var(--rojo); }

.woocommerce div.product .product_meta { display: none; }

.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0; margin: 0 0 20px; border-bottom: 1px solid var(--tinta); }

.woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none; }

.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: transparent;
  border: 0;
  border-radius: 0;
  margin: 0;
  padding: 0 18px 0 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }

.woocommerce div.product .woocommerce-tabs ul.tabs li a { font-weight: 700; padding: 10px 0; }

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--rojo); }

.woocommerce .related > h2 {
  font-family: var(--titular);
  font-weight: 800;
  font-stretch: 75%;
  text-transform: uppercase;
  font-size: 40px;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  border-top-color: var(--rojo) !important;
  background: #fff !important;
}

.woocommerce-message::before,
.woocommerce-info::before { color: var(--rojo) !important; }

.woocommerce .woocommerce-ordering select,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
  border: 1px solid var(--tinta);
  border-radius: 0;
  background: #fff;
  padding: 10px;
  font: inherit;
}

.woocommerce .woocommerce-result-count { color: var(--gris); }

.woocommerce nav.woocommerce-pagination ul { border: 0; }

.filtro-juegos {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 24px;
  padding: 0;
  list-style: none;
}

.filtro-juegos a {
  display: inline-block;
  border: 1px solid var(--tinta);
  padding: 8px 14px;
  text-decoration: none;
  font-weight: 600;
  background: #fff;
}

.filtro-juegos a.activo,
.filtro-juegos a:hover { background: var(--tinta); color: var(--papel); }

.wc-block-components-text-input input,
.wc-block-components-combobox .wc-block-components-combobox-control input {
  border-radius: 0 !important;
}

@media (max-width: 960px) {
  .portada .contenedor { grid-template-columns: 1fr; padding-top: 40px; padding-bottom: 48px; }
  .etiqueta { max-width: 420px; }
  .cinta .contenedor { grid-template-columns: 1fr 1fr; }
  .cinta div.punto:nth-child(2) { border-right: 0; }
  .cinta div.punto:nth-child(-n+2) { border-bottom: 1px solid var(--linea); }
  .estantes { grid-template-columns: 1fr 1fr; }
  .estantes .estante:first-child { grid-column: 1 / -1; }
  .woocommerce ul.products, .woocommerce ul.products.columns-3 { grid-template-columns: repeat(2, 1fr); }
  .woocommerce div.product { grid-template-columns: 1fr; gap: 28px; }
  .dos-col { grid-template-columns: 1fr; gap: 20px; }
  .pie .contenedor > .rejilla { grid-template-columns: 1fr 1fr; }
  .pie .contenedor > .rejilla > div:first-child { grid-column: 1 / -1; }
}

@media (max-width: 1080px) {
  .boton-menu { display: inline-block; }
  .menu {
    display: none;
    position: absolute;
    top: 68px;
    left: 0;
    right: 0;
    background: var(--papel);
    border-bottom: 1px solid var(--tinta);
    flex-direction: column;
    gap: 0;
    margin: 0;
  }
  .menu.abierto { display: flex; }
  .menu a { display: block; padding: 14px 20px; border-top: 1px solid var(--linea); }
  .cabecera .contenedor { gap: 10px; }
  .acciones { margin-left: auto; }
}

@media (max-width: 760px) {
  .admin-bar .cabecera { top: 0; }
  .acciones .cuenta { display: none; }
  .whatsapp { padding: 9px 12px; font-size: 13px; right: 12px; bottom: 12px; }
  .pie { padding-bottom: 72px; }
  .pasos { grid-template-columns: 1fr; }
  .paso { border-right: 0; border-bottom: 1px solid var(--tinta); }
  .paso:last-child { border-bottom: 0; }
  .seccion { padding: 48px 0; }
  .cabeza-seccion { flex-direction: column; align-items: start; }
  .woocommerce ul.products li.product { padding: 10px; }
  .woocommerce ul.products li.product .price { font-size: 24px; }
  .woocommerce ul.products li.product .button { padding: 11px 8px !important; font-size: 14px; }
}

@media (max-width: 420px) {
  .estantes { grid-template-columns: 1fr; }
  .cinta .contenedor { grid-template-columns: 1fr; }
  .cinta div.punto { border-right: 0; border-bottom: 1px solid var(--linea); }
  .logo { font-size: 22px; }
}

/* Cuentas */

.entrada-cuenta {
  font-size: 18px;
  max-width: 640px;
  color: var(--gris);
  margin: 0 0 28px;
}

.woocommerce .u-columns.col2-set {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}

.woocommerce .u-columns.col2-set::before,
.woocommerce .u-columns.col2-set::after { display: none; }

.woocommerce .u-columns .u-column1,
.woocommerce .u-columns .u-column2 {
  width: auto !important;
  float: none !important;
  background: #fff;
  border: 1px solid var(--tinta);
  padding: 28px;
}

.woocommerce .u-columns h2,
.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3,
.woocommerce-column__title {
  font-family: var(--titular);
  font-weight: 800;
  font-stretch: 75%;
  text-transform: uppercase;
  font-size: 32px;
  line-height: 1;
  margin: 0 0 18px;
}

.woocommerce form.login,
.woocommerce form.register {
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}

.woocommerce form .form-row label { font-weight: 600; }

.woocommerce form .form-row input.input-text { width: 100%; }

.woocommerce .woocommerce-form-login__rememberme { display: block; margin: 0 0 14px; }

.woocommerce .lost_password a,
.woocommerce-privacy-policy-text a { color: var(--rojo); }

.woocommerce-privacy-policy-text { font-size: 14px; color: var(--gris); }

.woocommerce-account .woocommerce {
  display: grid;
  grid-template-columns: 240px 1fr;
  gap: 40px;
  align-items: start;
}

.woocommerce-account .woocommerce::before,
.woocommerce-account .woocommerce::after,
.woocommerce div.product::before,
.woocommerce div.product::after { display: none !important; }

.woocommerce-account:not(.logged-in) .woocommerce { display: block; }

.woocommerce-account .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1; }

.woocommerce-MyAccount-navigation,
.woocommerce-MyAccount-content {
  width: auto !important;
  float: none !important;
}

.woocommerce-MyAccount-navigation ul {
  list-style: none;
  margin: 0;
  padding: 0;
  border: 1px solid var(--tinta);
  background: #fff;
}

.woocommerce-MyAccount-navigation li { border-bottom: 1px solid var(--linea); }

.woocommerce-MyAccount-navigation li:last-child { border-bottom: 0; }

.woocommerce-MyAccount-navigation a {
  display: block;
  padding: 13px 16px;
  text-decoration: none;
  font-weight: 600;
}

.woocommerce-MyAccount-navigation li.is-active a {
  background: var(--tinta);
  color: var(--papel);
}

.woocommerce-MyAccount-navigation li:not(.is-active) a:hover { color: var(--rojo-osc); }

.woocommerce-MyAccount-content > p:first-child { font-size: 18px; }

.woocommerce-MyAccount-content a { color: var(--rojo); }

.atajos-cuenta {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-top: 24px;
}

.woocommerce-MyAccount-content .atajo {
  display: flex;
  flex-direction: column;
  gap: 8px;
  background: #fff;
  border: 1px solid var(--tinta);
  padding: 18px;
  text-decoration: none;
  color: var(--tinta);
  transition: transform .15s, box-shadow .15s;
}

.woocommerce-MyAccount-content .atajo:hover { transform: translate(-3px, -3px); box-shadow: 5px 5px 0 var(--tinta); }

.woocommerce-MyAccount-content .atajo strong { font-size: 18px; }

.woocommerce table.shop_table {
  border: 1px solid var(--tinta);
  border-radius: 0;
  background: #fff;
}

.woocommerce table.shop_table th { font-family: var(--mono); font-size: 12px; text-transform: uppercase; }

.woocommerce .woocommerce-Addresses { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }

.woocommerce .woocommerce-Addresses::before,
.woocommerce .woocommerce-Addresses::after { display: none; }

.woocommerce .woocommerce-Addresses .woocommerce-Address {
  width: auto !important;
  float: none !important;
  background: #fff;
  border: 1px solid var(--tinta);
  padding: 20px;
}

.woocommerce .woocommerce-Address-title h2 { font-size: 24px; }

.woocommerce .woocommerce-Address-title .edit { color: var(--rojo); font-weight: 700; }

.cuenta-movil { display: none; }

@media (max-width: 760px) {
  .woocommerce .u-columns.col2-set,
  .woocommerce-account .woocommerce,
  .atajos-cuenta,
  .woocommerce .woocommerce-Addresses { grid-template-columns: 1fr; }
  .woocommerce-account .woocommerce { gap: 24px; }
  .woocommerce .u-columns .u-column1,
  .woocommerce .u-columns .u-column2 { padding: 20px; }
  .menu li.cuenta-movil { display: block; }
}

/* Carrito y pago */

.wc-block-components-quantity-selector {
  border: 1px solid var(--tinta) !important;
  border-radius: 0 !important;
  background: #fff !important;
}

.wc-block-components-quantity-selector::after { display: none !important; }

.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button {
  opacity: 1 !important;
  color: var(--tinta) !important;
  background: #fff !important;
}

.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:hover {
  background: var(--tinta) !important;
  color: var(--papel) !important;
}

.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:disabled {
  color: var(--gris) !important;
  background: #fff !important;
}

.wc-block-cart-item__remove-link,
.wc-block-components-product-name { color: var(--tinta) !important; }

.wc-block-components-totals-wrapper,
.wc-block-components-panel,
.wc-block-cart-items { border-color: var(--linea) !important; }

.wc-block-components-text-input input,
.wc-block-components-combobox .wc-block-components-combobox-control input,
.wc-blocks-components-select .wc-blocks-components-select__select,
.wc-block-components-textarea {
  border: 1px solid var(--tinta) !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: var(--tinta) !important;
}

.wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox] {
  border: 1px solid var(--tinta) !important;
  border-radius: 0 !important;
  background: #fff !important;
}

.wc-block-components-radio-control__input {
  border: 1px solid var(--tinta) !important;
  background: #fff !important;
}

.wc-block-components-notice-banner {
  border-radius: 0 !important;
  border: 1px solid var(--tinta) !important;
  background: #fff !important;
  color: var(--tinta) !important;
}

.wc-block-components-notice-banner a { color: var(--rojo) !important; }

.wc-block-checkout__terms a,
.wc-block-components-checkout-step__description a,
.contenido-texto a:not(.boton),
.woocommerce-MyAccount-content a:not(.atajo):not(.button),
.woocommerce .lost_password a,
.woocommerce-privacy-policy-text a { color: var(--rojo-osc) !important; }

/* Carrito vacío */

.wc-block-cart__empty-cart__title::before {
  width: 88px !important;
  height: 88px !important;
  margin-bottom: 20px !important;
  background-color: var(--rojo) !important;
  -webkit-mask-size: contain !important;
  mask-size: contain !important;
  -webkit-mask-repeat: no-repeat !important;
  mask-repeat: no-repeat !important;
  -webkit-mask-position: center !important;
  mask-position: center !important;
}


.wc-block-cart__empty-cart__title {
  font-family: var(--titular);
  font-weight: 800;
  font-stretch: 75%;
  text-transform: uppercase;
  font-size: 32px !important;
}

.wp-block-woocommerce-empty-cart-block h2 {
  font-family: var(--titular);
  font-weight: 800;
  font-stretch: 75%;
  text-transform: uppercase;
  font-size: 32px;
}

.wp-block-woocommerce-empty-cart-block .wp-block-separator { display: none; }

.wp-block-woocommerce-empty-cart-block > p a,
.wp-block-woocommerce-empty-cart-block .has-text-align-center a {
  display: inline-block;
  background: var(--tinta);
  color: var(--papel);
  padding: 13px 20px;
  font-weight: 700;
  text-decoration: none;
}

.wc-block-grid .wc-block-grid__products {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin: 0 !important;
}

.wc-block-grid .wc-block-grid__product {
  max-width: none !important;
  flex: none !important;
  width: auto !important;
  margin: 0 !important;
  padding: 14px !important;
  border: 1px solid var(--tinta) !important;
  background: #fff;
  text-align: left !important;
  display: flex;
  flex-direction: column;
}

.wc-block-grid .wc-block-grid__product-link {
  text-decoration: none;
  color: var(--tinta);
  flex: 1;
}

.wc-block-grid .wc-block-grid__product-image img {
  aspect-ratio: 1 / 1;
  object-fit: contain;
}

.wc-block-grid .wc-block-grid__product-title {
  font-family: var(--texto);
  font-size: 15px !important;
  font-weight: 600;
  line-height: 1.3;
  color: var(--tinta);
  margin: 10px 0;
}

.wc-block-grid .wc-block-grid__product-price {
  font-family: var(--titular);
  font-weight: 800;
  font-stretch: 75%;
  font-size: 26px !important;
  color: var(--tinta);
  margin: 0 0 12px !important;
}

.wc-block-grid .wp-block-button__link,
.wc-block-grid .add_to_cart_button {
  display: block;
  width: 100%;
  text-align: center;
  border-radius: 0 !important;
  background: var(--tinta) !important;
  color: var(--papel) !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  padding: 12px 10px !important;
  margin: 0 !important;
}

.wc-block-grid .wp-block-button__link:hover,
.wc-block-grid .add_to_cart_button:hover {
  background: var(--rojo) !important;
  color: #fff !important;
}

.wc-block-grid .wc-block-grid__product-add-to-cart { margin: 0 !important; }

@media (max-width: 760px) {
  .wc-block-grid .wc-block-grid__products { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .wc-block-grid .wc-block-grid__product { padding: 10px !important; }
  .wc-block-grid .wc-block-grid__product-price { font-size: 22px !important; }
}

/* Esquinas rectas */

.wp-block-woocommerce-checkout-order-summary-block,
.wp-block-woocommerce-cart-order-summary-block,
.wc-block-components-radio-control--highlight-checked,
.wc-block-components-radio-control--highlight-checked::after,
.wc-block-components-radio-control-accordion-option,
.wc-block-components-express-payment,
.wc-block-components-express-payment__content,
.wc-block-components-order-summary-item__image img,
.wc-block-components-order-summary-item__quantity,
.wc-block-components-panel,
.wc-block-components-totals-coupon,
.wc-block-cart-item__image img {
  border-radius: 0 !important;
}

.wp-block-woocommerce-checkout-order-summary-block,
.wc-block-components-radio-control--highlight-checked::after {
  border-color: var(--tinta) !important;
}

@media (min-width: 700px) {
  .wp-block-woocommerce-checkout-order-summary-block {
    background: #fff;
  }
}
