/*
 * Mi cuenta (13/09/2026).
 *
 * Toni pide el acceso y la cuenta «más profesionales, siguiendo el estilo de la
 * página». Mismo sistema que Favoritos, Ayuda y Seguir mi pedido: fondo gris
 * claro, tarjetas blancas, negro y el verde de la marca para lo importante.
 *
 *   - Sin sesión: a la izquierda, un panel negro con lo que da la cuenta; a la
 *     derecha, una tarjeta con dos pestañas, Entrar y Crear cuenta.
 *   - Con sesión: saludo arriba, menú lateral y el contenido de cada apartado
 *     (Resumen, Pedidos, Direcciones, Datos de la cuenta).
 *
 * Marcado en `woocommerce/myaccount/*.php` (tienda) y en
 * `Web/previews/assets/mi-cuenta-preview.js` (preview, con cuenta de ejemplo).
 */

.gp-cuenta {
  --gp-cuenta-negro: #0c0d0f;
  --gp-cuenta-tinta: var(--gp-ink, #111);
  --gp-cuenta-suave: #5f6064;
  --gp-cuenta-linea: #e4e4e7;
  --gp-cuenta-caja: #ececea;
  --gp-cuenta-volt: var(--gp-volt, #c7f000);
  /* Los pasos del pedido reutilizan los de Seguir mi pedido, que leen estas. */
  --gp-ayuda-tinta: var(--gp-cuenta-tinta);
  --gp-ayuda-acento: var(--gp-cuenta-volt);
  color: var(--gp-cuenta-tinta);
  padding: clamp(7.5rem, 11vw, 9.5rem) 0 clamp(3.5rem, 7vw, 6rem);
}

/* Dentro de la página de compra ya hay aire bajo la cabecera: no se suma otro. */
.gp-preview-commerce-page .gp-cuenta { padding-top: 0.25rem; }
#flujo-cuenta.gp-cuenta { padding-top: 2rem; }

.gp-cuenta .gp-seguir__paso strong { display: block; color: var(--gp-cuenta-tinta); font-size: 0.92rem; }
.gp-cuenta .gp-seguir__paso:not(.is-hecho) strong { color: #a1a1aa; }
.gp-cuenta .gp-seguir__paso small { display: block; margin-top: 0.15rem; color: #71717a; font-size: 0.8rem; }

body.gp-cuenta-abierta,
body.gp-cuenta-abierta .gp-main,
body[data-gp-commerce-route="cuenta"],
body[data-gp-commerce-route="cuenta"] .gp-main { background: #f6f6f5; }

/* En la tienda, el titular genérico «Mi cuenta» y los pasos de compra sobran: la cuenta trae los suyos. */
.gp-runtime-commerce-page[data-gp-commerce-step="account"] .gp-preview-commerce-header,
.gp-runtime-commerce-page[data-gp-commerce-step="account"] .gp-preview-flow-nav { display: none; }
.gp-runtime-commerce-page[data-gp-commerce-step="account"] > .gp-container { width: 100%; max-width: none; padding: 0; }

.gp-cuenta__envoltura {
  width: min(76rem, calc(100% - 2.5rem));
  margin: 0 auto;
}

.gp-cuenta [hidden] { display: none !important; }

/* Los enlaces de la cuenta son botones y tarjetas: sin el subrayado genérico. */
.gp-main .gp-cuenta a:not(.gp-cuenta__enlace):not(.lost_password a) { text-decoration: none; }

.gp-cuenta .gp-cuenta__etiqueta {
  display: inline-block;
  margin: 0;
  padding: 0.38rem 0.8rem;
  border-radius: 999px;
  background: var(--gp-cuenta-negro);
  color: var(--gp-cuenta-volt);
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  line-height: 1;
  text-transform: uppercase;
}

.gp-cuenta__muestra {
  margin: 0 0 1.25rem;
  padding: 0.7rem 1rem;
  border-radius: 12px;
  background: #fff7d6;
  color: #6b5100;
  font-size: 0.9rem;
  line-height: 1.45;
}

.gp-cuenta__muestra button {
  margin-left: 0.4rem;
  padding: 0;
  border: 0;
  background: none;
  color: inherit;
  font: inherit;
  font-weight: 700;
  text-decoration: underline;
  cursor: pointer;
}

/* ==========================================================================
   Sin sesión: panel de ventajas + tarjeta con pestañas
   ========================================================================== */
.gp-cuenta__acceso {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  min-height: 40rem;
  overflow: hidden;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 1px 2px rgba(12, 13, 15, 0.05), 0 20px 50px rgba(12, 13, 15, 0.06);
}

.gp-cuenta__ventajas {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: clamp(2rem, 4vw, 3.25rem);
  overflow: hidden;
  background: var(--gp-cuenta-negro);
  color: #fff;
}

.gp-cuenta__ventajas-fondo {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.45;
}

.gp-cuenta__ventajas::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(12, 13, 15, 0.96) 35%, rgba(12, 13, 15, 0.3) 100%);
}

.gp-cuenta__ventajas > * { position: relative; z-index: 1; }

.gp-cuenta .gp-cuenta__ventajas .gp-cuenta__etiqueta { align-self: flex-start; background: var(--gp-cuenta-volt); color: var(--gp-cuenta-negro); }

.gp-cuenta .gp-cuenta__ventajas h1 {
  margin: 1.1rem 0 0;
  color: #fff;
  font-size: clamp(2.2rem, 4.5vw, 3.4rem);
  font-weight: 800;
  letter-spacing: -0.045em;
  line-height: 1;
}

.gp-cuenta__ventajas ul {
  display: grid;
  gap: 0.9rem;
  margin: 1.75rem 0 0;
  padding: 0;
  list-style: none;
}

.gp-cuenta__ventajas li {
  display: grid;
  grid-template-columns: 1.6rem minmax(0, 1fr);
  gap: 0.75rem;
  color: rgba(255, 255, 255, 0.75);
  font-size: 0.98rem;
  line-height: 1.45;
}

.gp-cuenta__ventajas li strong { display: block; color: #fff; font-weight: 700; }

.gp-cuenta__check {
  display: grid;
  place-items: center;
  width: 1.6rem;
  height: 1.6rem;
  border-radius: 50%;
  background: rgba(199, 240, 0, 0.16);
  color: var(--gp-cuenta-volt);
}

.gp-cuenta__check svg,
.gp-cuenta__icono svg,
.gp-cuenta__menu svg,
.gp-cuenta__boton svg {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.gp-cuenta__check svg { width: 0.9rem; height: 0.9rem; stroke-width: 3; }

.gp-cuenta__formularios {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(2rem, 4.5vw, 3.5rem);
}

.gp-cuenta__pestanas {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.3rem;
  margin: 0 0 1.75rem;
  padding: 0.3rem;
  border-radius: 14px;
  background: #f1f1ef;
}

.gp-cuenta__pestana {
  min-height: 2.8rem;
  border: 0;
  border-radius: 11px;
  background: transparent;
  color: var(--gp-cuenta-suave);
  font: inherit;
  font-size: 0.98rem;
  font-weight: 700;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

.gp-cuenta__pestana[aria-selected="true"] {
  background: #fff;
  color: var(--gp-cuenta-tinta);
  box-shadow: 0 1px 3px rgba(12, 13, 15, 0.12);
}

/* Los formularios de WooCommerce, con la forma de la tienda. La cadena larga gana a
   `.gp-main .woocommerce-form-login` de woocommerce.css, que les pone caja y borde. */
.gp-cuenta .gp-cuenta__formularios .woocommerce-form,
.gp-cuenta .woocommerce-form,
.gp-cuenta .gp-cuenta__form {
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
}

.gp-cuenta .gp-cuenta__form-titulo {
  margin: 0;
  color: var(--gp-cuenta-tinta);
  font-size: clamp(1.7rem, 3vw, 2.2rem);
  font-weight: 800;
  letter-spacing: -0.035em;
  line-height: 1.05;
}

.gp-cuenta .gp-cuenta__form-texto {
  margin: 0.55rem 0 1.5rem;
  color: var(--gp-cuenta-suave);
  line-height: 1.5;
}

.gp-cuenta .form-row,
.gp-cuenta .gp-cuenta__campo {
  float: none;
  width: 100%;
  margin: 0 0 1rem;
  padding: 0;
}

.gp-cuenta label {
  display: block;
  margin: 0 0 0.4rem;
  color: var(--gp-cuenta-tinta);
  font-size: 0.9rem;
  font-weight: 700;
}

.gp-cuenta label .required { color: var(--gp-cuenta-suave); text-decoration: none; }

.gp-cuenta input.input-text,
.gp-cuenta input[type="text"],
.gp-cuenta input[type="email"],
.gp-cuenta input[type="password"],
.gp-cuenta input[type="tel"],
.gp-cuenta select {
  width: 100%;
  min-height: 3.3rem;
  margin: 0;
  padding: 0.7rem 1rem;
  border: 1.5px solid #d4d4d8;
  border-radius: 12px;
  background: #fff;
  color: var(--gp-cuenta-tinta);
  font: inherit;
  font-size: 1rem;
  box-shadow: none;
}

.gp-cuenta input:focus,
.gp-cuenta select:focus {
  border-color: var(--gp-cuenta-tinta);
  box-shadow: 0 0 0 3px rgba(12, 13, 15, 0.1);
  outline: none;
}

.gp-cuenta .woocommerce-form-login__rememberme,
.gp-cuenta .woocommerce-form__label-for-checkbox {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0;
  font-weight: 500;
}

.gp-cuenta__opciones {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem 1rem;
  margin: 0.25rem 0 1.25rem;
  font-size: 0.92rem;
}

.gp-cuenta .lost_password,
.gp-cuenta .woocommerce-LostPassword { margin: 0; }

.gp-cuenta .lost_password a,
.gp-cuenta__enlace {
  color: var(--gp-cuenta-tinta);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.gp-cuenta .woocommerce-button,
.gp-cuenta .woocommerce-Button,
.gp-cuenta .gp-cuenta__enviar {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 3.5rem;
  margin: 0;
  padding: 0.8rem 1.25rem;
  border: 0;
  border-radius: 12px;
  background: var(--gp-cuenta-negro);
  color: #fff;
  font: inherit;
  font-size: 1.05rem;
  font-weight: 700;
  cursor: pointer;
  transition: background 0.15s ease;
}

.gp-cuenta .woocommerce-button:hover,
.gp-cuenta .woocommerce-Button:hover,
.gp-cuenta .gp-cuenta__enviar:hover { background: #000; color: #fff; }

.gp-cuenta .woocommerce-privacy-policy-text,
.gp-cuenta__legal {
  margin: 0 0 1rem;
  color: #71717a;
  font-size: 0.84rem;
  line-height: 1.5;
}

.gp-cuenta .woocommerce-privacy-policy-text a { color: var(--gp-cuenta-tinta); }

.gp-cuenta__invitado {
  margin: 1.5rem 0 0;
  padding-top: 1.25rem;
  border-top: 1px solid var(--gp-cuenta-linea);
  color: var(--gp-cuenta-suave);
  font-size: 0.92rem;
  line-height: 1.5;
}

/* Avisos de WooCommerce (contraseña incorrecta, cuenta creada…) */
.gp-cuenta .woocommerce-error,
.gp-cuenta .woocommerce-message,
.gp-cuenta .woocommerce-info {
  margin: 0 0 1.25rem;
  padding: 0.85rem 1rem;
  border: 0;
  border-radius: 12px;
  font-size: 0.95rem;
  list-style: none;
}

.gp-cuenta .woocommerce-error { background: #fdecec; color: #a61b1b; }
.gp-cuenta .woocommerce-message { background: #e8f7f1; color: #04643f; }
.gp-cuenta .woocommerce-info { background: #f1f1ef; color: var(--gp-cuenta-tinta); }
.gp-cuenta .woocommerce-error::before,
.gp-cuenta .woocommerce-message::before,
.gp-cuenta .woocommerce-info::before { display: none; }

/* ==========================================================================
   Con sesión
   ========================================================================== */
.gp-cuenta__cabeza {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem 2rem;
  margin: 0 0 clamp(1.75rem, 3.5vw, 2.5rem);
}

.gp-cuenta .gp-cuenta__cabeza h1 {
  margin: 0.9rem 0 0;
  color: var(--gp-cuenta-tinta);
  font-size: clamp(2.4rem, 5vw, 3.8rem);
  font-weight: 800;
  letter-spacing: -0.045em;
  line-height: 1;
}

.gp-cuenta .gp-cuenta__cabeza p:not(.gp-cuenta__etiqueta) {
  margin: 0.6rem 0 0;
  color: var(--gp-cuenta-suave);
}

.gp-cuenta__salir {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  min-height: 2.8rem;
  padding: 0.5rem 1.1rem;
  border: 1px solid #d4d4d8;
  border-radius: 999px;
  background: #fff;
  color: var(--gp-cuenta-tinta);
  font-size: 0.92rem;
  font-weight: 700;
  text-decoration: none;
}

.gp-cuenta__salir svg { flex: none; width: 1.05rem; height: 1.05rem; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.gp-cuenta__salir span { white-space: nowrap; }

.gp-cuenta__salir:hover { border-color: var(--gp-cuenta-tinta); color: var(--gp-cuenta-tinta); }

.gp-cuenta__rejilla {
  display: grid;
  grid-template-columns: minmax(14rem, 17rem) minmax(0, 1fr);
  gap: clamp(1.25rem, 3vw, 2.25rem);
  align-items: start;
}

/* --- Menú lateral --- */
.gp-cuenta__menu {
  position: sticky;
  top: 8rem;
  margin: 0;
  padding: 0.6rem;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 1px 2px rgba(12, 13, 15, 0.05);
}

.gp-cuenta__menu ul { display: grid; gap: 0.2rem; margin: 0; padding: 0; list-style: none; }

.gp-cuenta__menu a,
.gp-cuenta__menu button {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  width: 100%;
  min-height: 2.9rem;
  padding: 0.55rem 0.8rem;
  border: 0;
  border-radius: 12px;
  background: none;
  color: var(--gp-cuenta-suave);
  font: inherit;
  font-size: 0.97rem;
  font-weight: 600;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease;
}

.gp-cuenta__menu svg { flex: none; width: 1.15rem; height: 1.15rem; stroke-width: 1.8; }

.gp-cuenta__menu a:hover,
.gp-cuenta__menu button:hover { background: #f4f4f3; color: var(--gp-cuenta-tinta); }

.gp-cuenta__menu .is-active > a,
.gp-cuenta__menu a[aria-current="page"],
.gp-cuenta__menu button[aria-current="page"] { background: var(--gp-cuenta-negro); color: #fff; }

.gp-cuenta__menu .is-active > a svg,
.gp-cuenta__menu a[aria-current="page"] svg,
.gp-cuenta__menu button[aria-current="page"] svg { color: var(--gp-cuenta-volt); }

.gp-cuenta__menu-num {
  margin-left: auto;
  padding: 0.1rem 0.5rem;
  border-radius: 999px;
  background: #f1f1ef;
  color: var(--gp-cuenta-tinta);
  font-size: 0.78rem;
  font-weight: 700;
}

.gp-cuenta__menu .is-active .gp-cuenta__menu-num,
.gp-cuenta__menu [aria-current="page"] .gp-cuenta__menu-num { background: rgba(255, 255, 255, 0.14); color: #fff; }

.gp-cuenta__menu-separador { height: 1px; margin: 0.4rem 0.6rem; background: var(--gp-cuenta-linea); }

/* --- Contenido --- */
.gp-cuenta__contenido { display: grid; gap: 1.25rem; min-width: 0; }

.gp-cuenta__caja {
  padding: clamp(1.25rem, 3vw, 2rem);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 1px 2px rgba(12, 13, 15, 0.05);
}

.gp-cuenta__caja-cabeza {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.5rem 1rem;
  margin: 0 0 1.25rem;
}

.gp-cuenta .gp-cuenta__caja h2 {
  margin: 0;
  color: var(--gp-cuenta-tinta);
  font-size: 1.35rem;
  font-weight: 800;
  letter-spacing: -0.02em;
}

.gp-cuenta .gp-cuenta__caja-cabeza p { margin: 0; color: var(--gp-cuenta-suave); font-size: 0.92rem; }

/* Estado del pedido */
.gp-cuenta__estado {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.3rem 0.7rem;
  border-radius: 999px;
  background: #f1f1ef;
  color: var(--gp-cuenta-tinta);
  font-size: 0.8rem;
  font-weight: 700;
  white-space: nowrap;
}

.gp-cuenta__estado::before { content: ""; width: 0.45rem; height: 0.45rem; border-radius: 50%; background: currentColor; }
.gp-cuenta__estado--camino { background: #eaf4ff; color: #0b5cad; }
.gp-cuenta__estado--entregado { background: #e8f7f1; color: #04643f; }
.gp-cuenta__estado--preparando { background: #fff4de; color: #8a5a00; }
.gp-cuenta__estado--cancelado { background: #fdecec; color: #a61b1b; }

/* Pasos: los mismos que Seguir mi pedido. */
.gp-cuenta .gp-seguir__pasos { margin: 0.25rem 0 0; }

/* Miniaturas de productos */
.gp-cuenta__fotos { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 0; padding: 0; list-style: none; }

.gp-cuenta__fotos li {
  position: relative;
  width: 3.6rem;
  height: 3.6rem;
  overflow: hidden;
  border-radius: 10px;
  background: #f4f4f5;
}

.gp-cuenta__fotos img { width: 100%; height: 100%; object-fit: cover; }

.gp-cuenta__fotos span {
  position: absolute;
  right: 0.2rem;
  bottom: 0.2rem;
  padding: 0 0.3rem;
  border-radius: 6px;
  background: var(--gp-cuenta-negro);
  color: #fff;
  font-size: 0.68rem;
  font-weight: 700;
}

.gp-cuenta__acciones { display: flex; flex-wrap: wrap; gap: 0.55rem; }

.gp-cuenta__boton,
.gp-cuenta .woocommerce-orders-table .button,
.gp-cuenta .order-again .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  width: auto;
  min-height: 2.7rem;
  margin: 0;
  padding: 0.5rem 1.05rem;
  border: 1px solid var(--gp-cuenta-tinta);
  border-radius: 999px;
  background: #fff;
  color: var(--gp-cuenta-tinta);
  font: inherit;
  font-size: 0.92rem;
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease;
}

.gp-cuenta__boton svg { width: 1rem; height: 1rem; stroke-width: 2; }

.gp-cuenta__boton:hover,
.gp-cuenta .woocommerce-orders-table .button:hover { background: var(--gp-cuenta-negro); color: #fff; }

.gp-cuenta__boton--lleno { background: var(--gp-cuenta-negro); color: #fff; }
.gp-cuenta__boton--lleno:hover { background: #000; }

/* Resumen: último pedido + accesos */
.gp-cuenta__ultimo {
  display: grid;
  gap: 1.25rem;
}

.gp-cuenta__ultimo-pie {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--gp-cuenta-linea);
}

.gp-cuenta__accesos {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.gp-cuenta__acceso-tarjeta {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  padding: 1.25rem;
  border: 0;
  border-radius: 18px;
  background: #fff;
  color: var(--gp-cuenta-tinta);
  font: inherit;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
  box-shadow: 0 1px 2px rgba(12, 13, 15, 0.05);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.gp-cuenta__acceso-tarjeta:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(12, 13, 15, 0.08); color: var(--gp-cuenta-tinta); }

.gp-cuenta__icono {
  display: grid;
  place-items: center;
  width: 2.6rem;
  height: 2.6rem;
  margin-bottom: 0.5rem;
  border-radius: 12px;
  background: var(--gp-cuenta-negro);
  color: var(--gp-cuenta-volt);
}

.gp-cuenta__icono svg { width: 1.2rem; height: 1.2rem; stroke-width: 1.8; }

.gp-cuenta__acceso-tarjeta strong { font-size: 1.05rem; }
.gp-cuenta__acceso-tarjeta span:last-child { color: var(--gp-cuenta-suave); font-size: 0.9rem; }

.gp-cuenta__ayuda {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.35rem 1.5rem;
  border-radius: 18px;
  background: var(--gp-cuenta-negro);
  color: #fff;
}

.gp-cuenta .gp-cuenta__ayuda p { margin: 0; color: rgba(255, 255, 255, 0.72); }
.gp-cuenta .gp-cuenta__ayuda strong { display: block; color: #fff; font-size: 1.05rem; }

.gp-cuenta__ayuda .gp-cuenta__boton { border-color: #fff; background: #fff; color: var(--gp-cuenta-negro); }
.gp-cuenta__ayuda .gp-cuenta__boton:hover { border-color: var(--gp-cuenta-volt); background: var(--gp-cuenta-volt); }

/* Lista de pedidos */
.gp-cuenta__pedidos { display: grid; gap: 0.9rem; margin: 0; padding: 0; list-style: none; }

.gp-cuenta__pedido {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem 1.5rem;
  align-items: center;
  padding: 1.25rem;
  border: 1px solid var(--gp-cuenta-linea);
  border-radius: 16px;
}

.gp-cuenta__pedido-datos { display: grid; gap: 0.75rem; min-width: 0; }

.gp-cuenta__pedido-linea {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem 0.9rem;
}

.gp-cuenta__pedido-linea strong { font-size: 1.05rem; }
.gp-cuenta__pedido-linea span.gp-cuenta__suave { color: var(--gp-cuenta-suave); font-size: 0.92rem; }

.gp-cuenta__pedido-total { text-align: right; }
.gp-cuenta__pedido-total strong { display: block; font-size: 1.2rem; }
.gp-cuenta__pedido-total span { color: var(--gp-cuenta-suave); font-size: 0.85rem; }

.gp-cuenta__pedido .gp-cuenta__acciones { grid-column: 1 / -1; padding-top: 0.9rem; border-top: 1px solid var(--gp-cuenta-linea); }

/* Detalle de pedido */
.gp-cuenta__volver {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  margin: 0 0 0.9rem;
  padding: 0;
  border: 0;
  background: none;
  color: var(--gp-cuenta-suave);
  font: inherit;
  font-size: 0.92rem;
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
}

.gp-cuenta__lineas { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }

.gp-cuenta__linea {
  display: grid;
  grid-template-columns: 4rem minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: center;
  padding: 0.85rem 0;
  border-bottom: 1px solid var(--gp-cuenta-linea);
}

.gp-cuenta__linea img { width: 4rem; height: 4rem; border-radius: 10px; object-fit: cover; background: #f4f4f5; }
.gp-cuenta__linea span { color: var(--gp-cuenta-suave); font-size: 0.9rem; }
.gp-cuenta__linea strong { display: block; }

.gp-cuenta__totales { margin: 1rem 0 0; }
.gp-cuenta__totales div { display: flex; justify-content: space-between; padding: 0.3rem 0; color: var(--gp-cuenta-suave); }
.gp-cuenta__totales dt, .gp-cuenta__totales dd { margin: 0; }
.gp-cuenta__totales .is-total { padding-top: 0.7rem; color: var(--gp-cuenta-tinta); font-size: 1.25rem; font-weight: 800; }

.gp-cuenta__dos {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.gp-cuenta .gp-cuenta__bloque h3 { margin: 0 0 0.5rem; font-size: 0.8rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; color: var(--gp-cuenta-suave); }
.gp-cuenta .gp-cuenta__bloque p,
.gp-cuenta .gp-cuenta__bloque address { margin: 0; color: var(--gp-cuenta-tinta); font-style: normal; line-height: 1.6; }

.gp-cuenta__direccion {
  display: flex;
  flex-direction: column;
  gap: 0.9rem;
  padding: 1.25rem;
  border: 1px solid var(--gp-cuenta-linea);
  border-radius: 16px;
}

.gp-cuenta__direccion .gp-cuenta__boton { align-self: flex-start; }

.gp-cuenta__nota { margin: 0; color: var(--gp-cuenta-suave); font-size: 0.9rem; line-height: 1.5; }

.gp-cuenta__form-rejilla {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 1rem;
}

.gp-cuenta__form-rejilla .is-ancho { grid-column: 1 / -1; }

.gp-cuenta fieldset {
  margin: 1.5rem 0 0;
  padding: 1.25rem 0 0;
  border: 0;
  border-top: 1px solid var(--gp-cuenta-linea);
}

.gp-cuenta legend { padding: 0; font-size: 1.05rem; font-weight: 800; }

.gp-cuenta .gp-cuenta__enviar--auto { width: auto; padding-inline: 2rem; }

/* ==========================================================================
   WooCommerce en la tienda: tablas y formularios nativos con esta forma
   ========================================================================== */
.gp-cuenta .gp-cuenta__contenido > .woocommerce-orders-table,
.gp-cuenta .gp-cuenta__contenido > form,
.gp-cuenta .gp-cuenta__contenido > .woocommerce-order-details,
.gp-cuenta .gp-cuenta__contenido > .woocommerce-customer-details,
.gp-cuenta .gp-cuenta__contenido > .woocommerce-Addresses,
.gp-cuenta .gp-cuenta__contenido > p:first-child {
  margin: 0 0 1.25rem;
  padding: clamp(1.25rem, 3vw, 2rem);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 1px 2px rgba(12, 13, 15, 0.05);
}

.gp-cuenta .shop_table { width: 100%; border: 0; border-collapse: collapse; }
.gp-cuenta .shop_table th,
.gp-cuenta .shop_table td { padding: 0.8rem 0.4rem; border: 0; border-bottom: 1px solid var(--gp-cuenta-linea); text-align: left; }
/* Títulos y bloques del detalle nativo de WooCommerce, a la escala de la cuenta. */
.gp-main .gp-cuenta .gp-cuenta__contenido h2 { font-size: 1.35rem; letter-spacing: -0.02em; line-height: 1.2; }
.gp-main .gp-cuenta .gp-cuenta__contenido address { font-style: normal; line-height: 1.6; }
.gp-cuenta .gp-cuenta__dos.woocommerce-Addresses::before,
.gp-cuenta .gp-cuenta__dos.woocommerce-Addresses::after { display: none; }

/* ==========================================================================
   Tablet y teléfono
   ========================================================================== */
@media (max-width: 960px) {
  .gp-cuenta__acceso { grid-template-columns: minmax(0, 1fr); min-height: 0; }
  .gp-cuenta__ventajas { order: 2; min-height: 22rem; }
  .gp-cuenta__rejilla { grid-template-columns: minmax(0, 1fr); }
  .gp-cuenta__menu { position: static; overflow-x: auto; }
  .gp-cuenta__menu ul { display: flex; gap: 0.3rem; }
  .gp-cuenta__menu a,
  .gp-cuenta__menu button { white-space: nowrap; }
  .gp-cuenta__menu-separador { display: none; }
}

@media (max-width: 640px) {
  .gp-cuenta__envoltura { width: calc(100% - 1.5rem); }
  .gp-cuenta__accesos,
  .gp-cuenta__dos,
  .gp-cuenta__form-rejilla,
  .gp-cuenta .woocommerce-Addresses { grid-template-columns: minmax(0, 1fr); }
  .gp-cuenta__pedido { grid-template-columns: minmax(0, 1fr); }
  .gp-cuenta__pedido-total { text-align: left; }
  .gp-cuenta__linea { grid-template-columns: 3.2rem minmax(0, 1fr) auto; }
  .gp-cuenta__linea img { width: 3.2rem; height: 3.2rem; }
}

/* Pedidos de invitado y «Crea tu cuenta» tras pagar (14/09/2026). */
.gp-cuenta__nota--invitado {
  border-top: 1px solid var(--gp-cuenta-linea, rgba(0, 0, 0, 0.08));
  margin-top: 1.25rem;
  padding-top: 1rem;
}

.gp-cuenta__nota--invitado a { color: inherit; font-weight: 600; text-decoration: underline; }

.gp-cuenta-tras-pedido { margin: 0 0 1.5rem; }

