/*!
 * Mi Cuenta Cliente · Lorena Velázquez
 * Estilos del área de cliente (templates WooCommerce override)
 *
 * Estructura:
 *  1. Tokens de marca LV
 *  2. Reset/base solo dentro de .lv-account
 *  3. Layout: sidebar + main, mobile bottom-nav
 *  4. Cards y componentes compartidos
 *  5. Pantalla: Dashboard
 *  6. Pantalla: Pedidos (lista)
 *  7. Pantalla: Detalle de pedido + Tracking GLS
 *  8. Utilidades + responsive
 *
 * Importante: Todas las reglas están scopeadas a `.lv-account` para no afectar
 * al resto del tema ni al header/footer globales.
 */

/* ═══════════════════════════════════════════════════════════════
   1. TOKENS DE MARCA LV (scoped al área de cliente)
   ═══════════════════════════════════════════════════════════════ */
.lv-account {
  --font-display: 'Playfair Display', Georgia, serif;
  --font-brand: 'Cinzel', 'Playfair Display', serif;
  --font-ui: 'Montserrat', system-ui, -apple-system, sans-serif;

  --lv-cream: #FAF6F1;
  --lv-cream-soft: #FDFAF6;
  --lv-pink-soft: #FADFE9;
  --lv-pink-deep: #F5C5D4;
  --lv-peach: #F5D9C5;
  --lv-gold: #C9A227;
  --lv-gold-hover: #B59021;
  --lv-gold-soft: rgba(201, 162, 39, 0.12);
  --lv-gold-faint: rgba(201, 162, 39, 0.06);
  --lv-ink: #1F1B1A;
  --lv-text: #393737;
  --lv-text-soft: #6B6361;
  --lv-text-mute: #9B9491;
  --lv-line: #ECE5DC;
  --lv-line-soft: #F3EDE4;

  --ok: #6FA45E;
  --warn: #C8893A;
  --danger: #B5453E;

  --shadow-sm: 0 1px 2px rgba(57, 55, 55, 0.04);
  --shadow-md: 0 4px 14px rgba(57, 55, 55, 0.06), 0 1px 3px rgba(57, 55, 55, 0.04);
  --shadow-lg: 0 18px 48px rgba(57, 55, 55, 0.08), 0 2px 6px rgba(57, 55, 55, 0.04);
  --shadow-gold: 0 4px 14px rgba(201, 162, 39, 0.22);

  --r-xs: 8px;
  --r-sm: 12px;
  --r-md: 16px;
  --r-lg: 22px;
  --r-xl: 28px;
  --r-pill: 999px;

  --ease: cubic-bezier(0.22, 0.61, 0.36, 1);
  --t-fast: 0.18s;
  --t-med: 0.32s;
}

/* ═══════════════════════════════════════════════════════════════
   2. RESET INTERNO + BASE
   Sobrescribimos lo que mete WooCommerce por defecto en /mi-cuenta/
   ═══════════════════════════════════════════════════════════════ */
.lv-account,
.lv-account * { box-sizing: border-box; }
.lv-account {
  font-family: var(--font-ui);
  font-size: 15px;
  line-height: 1.55;
  color: var(--lv-text);
  background: var(--lv-cream);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  min-height: calc(100vh - 80px);
  background-image:
    radial-gradient(circle at 90% 0%, rgba(250, 223, 233, 0.55) 0%, transparent 35%),
    radial-gradient(circle at 0% 100%, rgba(245, 217, 197, 0.40) 0%, transparent 35%);
  background-attachment: fixed;
  margin: 0;
}
.lv-account img { max-width: 100%; display: block; }
.lv-account button { font-family: inherit; cursor: pointer; border: none; background: none; color: inherit; padding: 0; }
.lv-account a { color: inherit; text-decoration: none; }
.lv-account p { margin: 0; }
.lv-account h1, .lv-account h2, .lv-account h3, .lv-account h4 { margin: 0; line-height: 1.2; font-weight: 600; }

/* Neutralizar las clases por defecto de Woo que rompen el layout */
.lv-account .woocommerce-MyAccount-navigation,
.lv-account .woocommerce-MyAccount-content,
.lv-account .woocommerce-account-fields,
.lv-account .u-columns { all: unset; display: block; }

/* Mensajes de Woo (notices) */
.lv-account .woocommerce-message,
.lv-account .woocommerce-info,
.lv-account .woocommerce-error {
  background: white;
  border: 1px solid var(--lv-line);
  border-left: 4px solid var(--lv-gold);
  border-radius: var(--r-sm);
  padding: 12px 16px;
  margin: 0 0 16px;
  list-style: none;
  font-size: 13.5px;
  box-shadow: var(--shadow-sm);
}
.lv-account .woocommerce-error { border-left-color: var(--danger); }
.lv-account .woocommerce-message::before,
.lv-account .woocommerce-info::before,
.lv-account .woocommerce-error::before { display: none; }

/* ═══════════════════════════════════════════════════════════════
   3. LAYOUT GENERAL
   ═══════════════════════════════════════════════════════════════ */
.lv-account-shell {
  display: grid;
  grid-template-columns: 268px 1fr;
  min-height: calc(100vh - 80px);
}
@media (max-width: 900px) {
  .lv-account-shell { grid-template-columns: 1fr; }
}

/* SIDEBAR DESKTOP */
.lv-sidebar {
  background: rgba(255, 255, 255, 0.65);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  border-right: 1px solid var(--lv-line);
  padding: 28px 22px 24px;
  display: flex;
  flex-direction: column;
  gap: 22px;
  position: sticky;
  top: 0;
  height: 100vh;
}
.lv-brand {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--lv-line);
}
.lv-brand .wordmark {
  font-family: var(--font-brand);
  font-size: 38px;
  font-weight: 700;
  letter-spacing: 6px;
  color: var(--lv-gold);
  line-height: 1;
  text-shadow: 0 2px 12px rgba(201, 162, 39, 0.18);
}
.lv-brand .subline {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 13px;
  color: var(--lv-text);
  margin-top: 4px;
}

.lv-user-chip {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  border-radius: var(--r-md);
  background: var(--lv-cream-soft);
  border: 1px solid var(--lv-line-soft);
  transition: all var(--t-fast) var(--ease);
}
.lv-user-chip:hover { background: var(--lv-gold-faint); }
.lv-user-avatar {
  width: 38px; height: 38px;
  border-radius: var(--r-pill);
  background: linear-gradient(135deg, var(--lv-pink-deep), var(--lv-peach));
  display: grid; place-items: center;
  font-family: var(--font-display);
  font-style: italic;
  font-weight: 600;
  color: var(--lv-ink);
  font-size: 16px;
  flex-shrink: 0;
}
.lv-user-meta { display: flex; flex-direction: column; line-height: 1.3; min-width: 0; }
.lv-user-name { font-weight: 600; font-size: 13.5px; color: var(--lv-ink); }
.lv-user-tier {
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--lv-gold);
}

.lv-nav { display: flex; flex-direction: column; gap: 2px; }
.lv-nav-label {
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--lv-text-mute);
  padding: 12px 12px 6px;
}
.lv-nav-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  border-radius: var(--r-sm);
  font-size: 13.5px;
  color: var(--lv-text);
  font-weight: 500;
  transition: all var(--t-fast) var(--ease);
  position: relative;
  width: 100%;
  text-align: left;
}
.lv-nav-item .icon { width: 18px; height: 18px; flex-shrink: 0; opacity: 0.85; }
.lv-nav-item:hover { background: var(--lv-gold-faint); color: var(--lv-ink); }
.lv-nav-item.is-active {
  background: linear-gradient(135deg, rgba(250, 223, 233, 0.6), rgba(201, 162, 39, 0.08));
  color: var(--lv-ink);
  font-weight: 600;
}
.lv-nav-item.is-active::before {
  content: '';
  position: absolute;
  left: -22px;
  top: 50%;
  transform: translateY(-50%);
  width: 3px; height: 22px;
  background: var(--lv-gold);
  border-radius: 0 4px 4px 0;
}
.lv-nav-item .badge {
  margin-left: auto;
  font-size: 10px;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: var(--r-pill);
  background: var(--lv-gold);
  color: white;
  letter-spacing: 0.03em;
}

.lv-sidebar-footer {
  margin-top: auto;
  padding-top: 16px;
  border-top: 1px solid var(--lv-line);
  display: flex;
  flex-direction: column;
  gap: 4px;
}

/* TOPBAR MOBILE */
.lv-topbar {
  display: none;
  position: sticky;
  top: 0;
  z-index: 30;
  background: rgba(250, 246, 241, 0.85);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--lv-line);
  padding: 14px 18px;
  align-items: center;
  justify-content: space-between;
}
@media (max-width: 900px) {
  .lv-sidebar { display: none; }
  .lv-topbar { display: flex; }
}
.lv-topbar .wordmark-sm {
  font-family: var(--font-brand);
  font-size: 22px;
  font-weight: 700;
  letter-spacing: 4px;
  color: var(--lv-gold);
}
.lv-topbar-actions { display: flex; align-items: center; gap: 8px; }

.lv-icon-btn {
  width: 38px; height: 38px;
  border-radius: var(--r-pill);
  display: grid;
  place-items: center;
  background: rgba(255,255,255,0.7);
  border: 1px solid var(--lv-line);
  transition: all var(--t-fast) var(--ease);
  position: relative;
}
.lv-icon-btn:hover { background: white; border-color: var(--lv-gold); }
.lv-icon-btn .icon { width: 18px; height: 18px; color: var(--lv-text); }
.lv-icon-btn .dot {
  position: absolute;
  top: 8px; right: 9px;
  width: 8px; height: 8px;
  border-radius: var(--r-pill);
  background: var(--lv-gold);
  border: 2px solid var(--lv-cream);
}

/* MAIN AREA */
.lv-main {
  padding: 40px 48px 64px;
  max-width: 1100px;
  width: 100%;
}
@media (max-width: 1100px) { .lv-main { padding: 32px 32px 64px; } }
@media (max-width: 900px) { .lv-main { padding: 22px 18px 110px; } }

.lv-screen { animation: lv-fadeIn 0.45s var(--ease); }
@keyframes lv-fadeIn {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

/* HEADER de pantalla */
.lv-screen-header { margin-bottom: 32px; }
.lv-screen-header .eyebrow {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 14px;
  color: var(--lv-gold);
  margin-bottom: 4px;
}
.lv-screen-header h1 {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(28px, 4vw, 40px);
  color: var(--lv-ink);
  letter-spacing: -0.01em;
  line-height: 1.15;
}
.lv-screen-header .subtitle {
  font-size: 14.5px;
  color: var(--lv-text-soft);
  margin-top: 8px;
  max-width: 540px;
}

.lv-back-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 500;
  color: var(--lv-text-soft);
  margin-bottom: 16px;
  transition: color var(--t-fast) var(--ease);
}
.lv-back-link:hover { color: var(--lv-gold); }

/* ═══════════════════════════════════════════════════════════════
   4. COMPONENTES COMPARTIDOS
   ═══════════════════════════════════════════════════════════════ */
.lv-card {
  background: white;
  border: 1px solid var(--lv-line-soft);
  border-radius: var(--r-lg);
  padding: 24px;
  box-shadow: var(--shadow-sm);
  transition: all var(--t-med) var(--ease);
}
.lv-card:hover { box-shadow: var(--shadow-md); }
.lv-card-title {
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: 600;
  color: var(--lv-ink);
  margin-bottom: 4px;
}
.lv-card-sub {
  font-size: 13px;
  color: var(--lv-text-soft);
  margin-bottom: 18px;
}

/* Botones */
.lv-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 11px 22px;
  border-radius: var(--r-pill);
  font-size: 13.5px;
  font-weight: 600;
  letter-spacing: 0.02em;
  transition: all var(--t-fast) var(--ease);
  cursor: pointer;
  white-space: nowrap;
  font-family: var(--font-ui);
}
.lv-btn-primary {
  background: var(--lv-gold);
  color: white;
  box-shadow: var(--shadow-gold);
}
.lv-btn-primary:hover {
  background: var(--lv-gold-hover);
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(201, 162, 39, 0.36);
}
.lv-btn-ghost {
  background: white;
  color: var(--lv-text);
  border: 1px solid var(--lv-line);
}
.lv-btn-ghost:hover { border-color: var(--lv-gold); color: var(--lv-gold); }
.lv-btn-block { width: 100%; }

/* Status pill */
.lv-status {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.03em;
  padding: 4px 12px;
  border-radius: var(--r-pill);
  text-transform: uppercase;
  display: inline-block;
}
.lv-status.delivered { background: rgba(111, 164, 94, 0.12); color: var(--ok); }
.lv-status.in-transit { background: rgba(201, 162, 39, 0.12); color: var(--lv-gold); }
.lv-status.processing { background: rgba(200, 137, 58, 0.12); color: var(--warn); }
.lv-status.canceled { background: rgba(181, 69, 62, 0.10); color: var(--danger); }
.lv-status.pending { background: rgba(155, 148, 145, 0.10); color: var(--lv-text-mute); }

/* Skeleton loaders */
.lv-skeleton {
  display: inline-block;
  background: linear-gradient(90deg, var(--lv-line-soft) 0%, var(--lv-line) 50%, var(--lv-line-soft) 100%);
  background-size: 200% 100%;
  animation: lv-shimmer 1.2s linear infinite;
  border-radius: var(--r-xs);
  color: transparent !important;
  min-width: 2.5em;
}
@keyframes lv-shimmer {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

/* ═══════════════════════════════════════════════════════════════
   5. PANTALLA: DASHBOARD
   ═══════════════════════════════════════════════════════════════ */
.lv-dash-grid {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 24px;
}
@media (max-width: 900px) { .lv-dash-grid { grid-template-columns: 1fr; gap: 18px; } }

.lv-hero-order {
  grid-column: 1 / -1;
  background: linear-gradient(135deg, #FFFFFF 0%, #FDF6EE 60%, #FAE7DD 100%);
  border: 1px solid rgba(201, 162, 39, 0.20);
  border-radius: var(--r-xl);
  padding: 28px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 28px;
  align-items: center;
  box-shadow: var(--shadow-md);
  position: relative;
  overflow: hidden;
}
.lv-hero-order::before {
  content: '';
  position: absolute;
  top: -120px; right: -120px;
  width: 320px; height: 320px;
  background: radial-gradient(circle, var(--lv-pink-soft), transparent 65%);
  pointer-events: none;
}
@media (max-width: 720px) {
  .lv-hero-order { grid-template-columns: 1fr; padding: 22px; gap: 18px; }
}
.lv-hero-order .left { position: relative; z-index: 1; }
.lv-status-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 5px 12px;
  border-radius: var(--r-pill);
  background: white;
  border: 1px solid var(--lv-gold-soft);
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--lv-gold);
  margin-bottom: 14px;
}
.lv-status-chip .pulse {
  width: 7px; height: 7px;
  border-radius: var(--r-pill);
  background: var(--lv-gold);
  position: relative;
}
.lv-status-chip .pulse::after {
  content: '';
  position: absolute;
  inset: -3px;
  border-radius: var(--r-pill);
  background: var(--lv-gold);
  opacity: 0.4;
  animation: lv-pulse 1.8s infinite var(--ease);
}
@keyframes lv-pulse {
  0% { transform: scale(0.6); opacity: 0.5; }
  100% { transform: scale(2.4); opacity: 0; }
}

.lv-hero-order h2 {
  font-family: var(--font-display);
  font-size: clamp(22px, 3.2vw, 28px);
  font-weight: 600;
  line-height: 1.2;
  color: var(--lv-ink);
  margin-bottom: 8px;
}
.lv-hero-order p { font-size: 14px; color: var(--lv-text-soft); margin-bottom: 18px; max-width: 380px; }
.lv-eta-row {
  display: flex; gap: 24px;
  flex-wrap: wrap;
  margin-bottom: 18px;
}
.lv-eta-item .label {
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--lv-text-mute);
  margin-bottom: 2px;
}
.lv-eta-item .value {
  font-family: var(--font-display);
  font-size: 17px;
  font-weight: 600;
  color: var(--lv-ink);
}
.lv-hero-stack {
  display: flex;
  position: relative; z-index: 1;
}
.lv-hero-thumb {
  width: 88px; height: 110px;
  border-radius: var(--r-md);
  background-size: cover;
  background-position: center;
  background-color: var(--lv-line-soft);
  border: 3px solid white;
  box-shadow: var(--shadow-md);
  margin-left: -16px;
  transition: transform var(--t-med) var(--ease);
}
.lv-hero-thumb:first-child { margin-left: 0; }
.lv-hero-thumb:hover { transform: translateY(-4px); }
@media (max-width: 720px) {
  .lv-hero-thumb { width: 70px; height: 88px; }
}
.lv-hero-track {
  display: flex; align-items: center; gap: 8px;
  width: 100%; margin-top: 4px;
  position: relative; z-index: 1;
}
.lv-hero-track .bar {
  flex: 1;
  height: 4px;
  background: rgba(57, 55, 55, 0.08);
  border-radius: var(--r-pill);
  overflow: hidden;
  position: relative;
}
.lv-hero-track .bar .fill {
  position: absolute; inset: 0;
  background: linear-gradient(90deg, var(--lv-gold), var(--lv-pink-deep));
  border-radius: var(--r-pill);
  animation: lv-fillBar 1.4s var(--ease);
}
@keyframes lv-fillBar { from { width: 0 !important; } }
.lv-hero-track .pct {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 15px;
  color: var(--lv-gold);
}

.lv-stat-row {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
@media (max-width: 720px) { .lv-stat-row { grid-template-columns: 1fr 1fr; } }
.lv-stat {
  background: white;
  border: 1px solid var(--lv-line-soft);
  border-radius: var(--r-md);
  padding: 18px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  transition: all var(--t-fast) var(--ease);
}
.lv-stat:hover { border-color: var(--lv-gold-soft); }
.lv-stat .label {
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--lv-text-mute);
}
.lv-stat .value {
  font-family: var(--font-display);
  font-size: 26px;
  font-weight: 600;
  color: var(--lv-ink);
  line-height: 1.15;
}
.lv-stat .trend {
  font-size: 12px;
  color: var(--ok);
  font-weight: 500;
}

.lv-coupon-card {
  background:
    radial-gradient(circle at 100% 0%, rgba(250, 223, 233, 0.5), transparent 60%),
    linear-gradient(135deg, #FFFFFF, #FBF6EF);
  border: 1px dashed var(--lv-gold);
  border-radius: var(--r-lg);
  padding: 22px;
  position: relative;
  overflow: hidden;
}
.lv-coupon-card .gold-ring {
  position: absolute;
  top: 50%; right: -28px;
  width: 56px; height: 56px;
  border-radius: var(--r-pill);
  background: var(--lv-cream);
  border: 1px dashed var(--lv-gold);
  transform: translateY(-50%);
}
.lv-coupon-card .gold-ring.left { right: auto; left: -28px; }
.lv-coupon-card .label {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 14px;
  color: var(--lv-text-soft);
  margin-bottom: 4px;
}
.lv-coupon-card .code {
  font-family: var(--font-brand);
  font-size: 26px;
  font-weight: 700;
  color: var(--lv-gold);
  letter-spacing: 4px;
  line-height: 1.1;
  margin-bottom: 10px;
}
.lv-coupon-card .desc {
  font-size: 13px;
  color: var(--lv-text);
  margin-bottom: 14px;
}
.lv-copy-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: var(--lv-gold);
  font-weight: 600;
  padding: 6px 10px;
  border-radius: var(--r-sm);
  border: 1px solid var(--lv-gold-soft);
  transition: all var(--t-fast) var(--ease);
}
.lv-copy-btn:hover { background: var(--lv-gold); color: white; }
.lv-copy-btn.is-copied { background: var(--lv-gold); color: white; }

.lv-appointment-card {
  background: linear-gradient(135deg, rgba(250, 223, 233, 0.45), rgba(245, 217, 197, 0.30));
  border: 1px solid rgba(201, 162, 39, 0.18);
  padding: 22px;
  border-radius: var(--r-lg);
}
.lv-appointment-card .ico {
  width: 44px; height: 44px;
  border-radius: var(--r-pill);
  background: white;
  display: grid; place-items: center;
  color: var(--lv-gold);
  box-shadow: var(--shadow-sm);
  margin-bottom: 14px;
}
.lv-appointment-card h3 {
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: 600;
  color: var(--lv-ink);
  margin-bottom: 4px;
}
.lv-appointment-card p {
  font-size: 13px;
  color: var(--lv-text-soft);
  margin-bottom: 14px;
}

/* Histórico mini en dashboard */
.lv-mini-orders { display: flex; flex-direction: column; gap: 0; }
.lv-mini-order {
  display: flex; justify-content: space-between; align-items: center;
  padding: 10px 0;
  border-bottom: 1px solid var(--lv-line-soft);
}
.lv-mini-order:last-child { border-bottom: none; }
.lv-mini-order .ref { font-weight: 600; color: var(--lv-ink); font-size: 13.5px; }
.lv-mini-order .meta { font-size: 12px; color: var(--lv-text-soft); }

/* ═══════════════════════════════════════════════════════════════
   6. PANTALLA: PEDIDOS (LISTA)
   ═══════════════════════════════════════════════════════════════ */
.lv-chips {
  display: flex;
  gap: 8px;
  margin-bottom: 22px;
  overflow-x: auto;
  padding-bottom: 4px;
}
.lv-chip {
  flex-shrink: 0;
  padding: 8px 16px;
  border-radius: var(--r-pill);
  font-size: 12.5px;
  font-weight: 500;
  background: white;
  border: 1px solid var(--lv-line);
  color: var(--lv-text);
  transition: all var(--t-fast) var(--ease);
  white-space: nowrap;
}
.lv-chip:hover { border-color: var(--lv-gold); color: var(--lv-gold); }
.lv-chip.is-active {
  background: var(--lv-ink);
  color: white;
  border-color: var(--lv-ink);
}

.lv-orders-list { display: flex; flex-direction: column; gap: 14px; }
.lv-order-card {
  background: white;
  border: 1px solid var(--lv-line-soft);
  border-radius: var(--r-lg);
  padding: 20px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 18px;
  align-items: center;
  transition: all var(--t-med) var(--ease);
  cursor: pointer;
}
.lv-order-card:hover {
  border-color: var(--lv-gold-soft);
  box-shadow: var(--shadow-md);
  transform: translateY(-1px);
}
@media (max-width: 600px) {
  .lv-order-card { grid-template-columns: auto 1fr; gap: 14px; }
  .lv-order-card .actions-mini { grid-column: 1 / -1; justify-content: space-between; }
}
.lv-order-thumbs { display: flex; }
.lv-order-thumbs .t {
  width: 50px; height: 62px;
  border-radius: var(--r-sm);
  background-size: cover;
  background-position: center;
  background-color: var(--lv-line-soft);
  border: 2px solid white;
  box-shadow: var(--shadow-sm);
  margin-left: -14px;
}
.lv-order-thumbs .t:first-child { margin-left: 0; }
.lv-order-info .ref {
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--lv-text-mute);
  margin-bottom: 2px;
}
.lv-order-info .summary {
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: 500;
  color: var(--lv-ink);
  line-height: 1.3;
  margin-bottom: 6px;
}
.lv-order-info .meta {
  display: flex; gap: 14px;
  font-size: 12.5px;
  color: var(--lv-text-soft);
  flex-wrap: wrap;
}
.lv-order-card .actions-mini { display: flex; align-items: center; gap: 14px; }
.lv-order-total {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 17px;
  color: var(--lv-ink);
}

.lv-empty {
  background: white;
  border: 1px dashed var(--lv-line);
  border-radius: var(--r-lg);
  padding: 48px 32px;
  text-align: center;
}
.lv-empty h3 {
  font-family: var(--font-display);
  font-size: 22px;
  font-weight: 600;
  margin-bottom: 6px;
}
.lv-empty p { color: var(--lv-text-soft); font-size: 14px; margin-bottom: 18px; }

/* ═══════════════════════════════════════════════════════════════
   7. PANTALLA: DETALLE PEDIDO + TRACKING GLS
   ═══════════════════════════════════════════════════════════════ */
.lv-detail-grid {
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: 24px;
}
@media (max-width: 900px) { .lv-detail-grid { grid-template-columns: 1fr; } }

.lv-detail-head {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 18px;
  align-items: center;
  padding: 24px;
  background: white;
  border: 1px solid var(--lv-line-soft);
  border-radius: var(--r-lg);
  margin-bottom: 24px;
}
.lv-detail-head .ref-big {
  font-family: var(--font-display);
  font-size: 28px;
  font-weight: 600;
  color: var(--lv-ink);
  line-height: 1.15;
}
.lv-detail-head .meta { font-size: 13.5px; color: var(--lv-text-soft); margin-top: 4px; }

.lv-tracking-card .courier {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 22px;
  flex-wrap: wrap;
  gap: 12px;
}
.lv-gls-badge {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px 14px 8px 8px;
  border-radius: var(--r-pill);
  background: linear-gradient(135deg, #FFEFD5, #FFFCEF);
  border: 1px solid rgba(201, 162, 39, 0.20);
  font-size: 13px;
  font-weight: 600;
  color: var(--lv-ink);
}
.lv-gls-badge .gls-mark {
  width: 28px; height: 28px;
  border-radius: var(--r-pill);
  background: var(--lv-gold);
  display: grid; place-items: center;
  color: white;
  font-family: var(--font-brand);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1px;
}
.lv-tracking-code {
  font-family: 'SF Mono', 'Monaco', 'Roboto Mono', monospace;
  font-size: 12.5px;
  color: var(--lv-text-soft);
  background: var(--lv-cream);
  padding: 4px 10px;
  border-radius: var(--r-xs);
  letter-spacing: 0.05em;
}

.lv-stepper { display: flex; flex-direction: column; gap: 0; margin-top: 8px; }
.lv-step {
  display: grid;
  grid-template-columns: 32px 1fr;
  gap: 14px;
  position: relative;
  padding-bottom: 22px;
}
.lv-step:last-child { padding-bottom: 0; }
.lv-step::after {
  content: '';
  position: absolute;
  left: 15px; top: 32px; bottom: 0;
  width: 2px;
  background: var(--lv-line);
}
.lv-step:last-child::after { display: none; }
.lv-step .dot {
  width: 32px; height: 32px;
  border-radius: var(--r-pill);
  background: white;
  border: 2px solid var(--lv-line);
  display: grid;
  place-items: center;
  font-size: 13px;
  color: var(--lv-text-mute);
  font-weight: 600;
  z-index: 1;
  transition: all var(--t-med) var(--ease);
}
.lv-step.done .dot {
  background: var(--lv-gold);
  border-color: var(--lv-gold);
  color: white;
}
.lv-step.current .dot {
  background: white;
  border-color: var(--lv-gold);
  color: var(--lv-gold);
  box-shadow: 0 0 0 4px rgba(201, 162, 39, 0.18);
}
.lv-step.current .dot::after {
  content: '';
  position: absolute;
  inset: -10px;
  border-radius: var(--r-pill);
  background: var(--lv-gold);
  opacity: 0.16;
  animation: lv-pulse 1.8s infinite var(--ease);
  z-index: -1;
}
.lv-step.done + .lv-step::after,
.lv-step.done::after {
  background: linear-gradient(180deg, var(--lv-gold), var(--lv-line));
}
.lv-step .body { padding-top: 5px; }
.lv-step .title { font-size: 14px; font-weight: 600; color: var(--lv-ink); line-height: 1.3; }
.lv-step .time { font-size: 12px; color: var(--lv-text-soft); margin-top: 2px; }
.lv-step.current .title { color: var(--lv-gold); }
.lv-step.pending .title { color: var(--lv-text-mute); }

.lv-line-items { display: flex; flex-direction: column; gap: 0; margin-top: 14px; }
.lv-line-item {
  display: grid;
  grid-template-columns: 68px 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 12px 0;
  border-bottom: 1px solid var(--lv-line-soft);
}
.lv-line-item:last-child { border-bottom: none; padding-bottom: 0; }
.lv-line-item .pic {
  width: 68px; height: 84px;
  border-radius: var(--r-sm);
  background-size: cover;
  background-position: center;
  background-color: var(--lv-line-soft);
  border: 1px solid var(--lv-line);
}
.lv-line-item .name {
  font-family: var(--font-display);
  font-size: 15.5px;
  font-weight: 500;
  color: var(--lv-ink);
  line-height: 1.3;
  margin-bottom: 3px;
}
.lv-line-item .opts { font-size: 12px; color: var(--lv-text-soft); }
.lv-line-item .opts span { display: inline-block; margin-right: 8px; }
.lv-line-item .opts .label {
  color: var(--lv-text-mute);
  text-transform: uppercase;
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: 0.06em;
  margin-right: 4px;
}
.lv-line-item .pricing { text-align: right; }
.lv-line-item .qty { font-size: 11.5px; color: var(--lv-text-mute); margin-bottom: 2px; }
.lv-line-item .price {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 16px;
  color: var(--lv-ink);
}

.lv-summary-row {
  display: flex;
  justify-content: space-between;
  padding: 8px 0;
  font-size: 13.5px;
  color: var(--lv-text);
}
.lv-summary-row.muted { color: var(--lv-text-soft); }
.lv-summary-row.discount { color: var(--lv-gold); font-weight: 600; }
.lv-summary-row.total {
  border-top: 1px solid var(--lv-line);
  margin-top: 8px;
  padding-top: 14px;
  font-family: var(--font-display);
  font-size: 19px;
  font-weight: 600;
  color: var(--lv-ink);
}

.lv-address-card .ico {
  width: 36px; height: 36px;
  border-radius: var(--r-pill);
  background: var(--lv-gold-faint);
  display: grid; place-items: center;
  color: var(--lv-gold);
  margin-bottom: 10px;
}
.lv-address-card .name { font-weight: 600; color: var(--lv-ink); margin-bottom: 2px; }
.lv-address-card .lines { font-size: 13.5px; color: var(--lv-text-soft); line-height: 1.5; }

.lv-action-row { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 20px; }

/* ═══════════════════════════════════════════════════════════════
   8. BOTTOM NAV MOVIL
   ═══════════════════════════════════════════════════════════════ */
.lv-bottom-nav {
  display: none;
  position: fixed;
  bottom: 0; left: 0; right: 0;
  background: rgba(255, 255, 255, 0.85);
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
  border-top: 1px solid var(--lv-line);
  padding: 10px 14px calc(10px + env(safe-area-inset-bottom));
  justify-content: space-around;
  z-index: 40;
}
@media (max-width: 900px) { .lv-bottom-nav { display: flex; } }
.lv-bottom-nav .tab {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
  padding: 6px 10px;
  border-radius: var(--r-sm);
  flex: 1;
  max-width: 88px;
  position: relative;
}
.lv-bottom-nav .tab .icon { width: 22px; height: 22px; color: var(--lv-text-mute); transition: color var(--t-fast) var(--ease); }
.lv-bottom-nav .tab .label {
  font-size: 10.5px;
  font-weight: 500;
  color: var(--lv-text-mute);
  letter-spacing: 0.02em;
}
.lv-bottom-nav .tab.is-active .icon,
.lv-bottom-nav .tab.is-active .label { color: var(--lv-gold); font-weight: 600; }
.lv-bottom-nav .tab.is-active::before {
  content: '';
  position: absolute;
  top: -1px;
  width: 24px; height: 3px;
  border-radius: 0 0 4px 4px;
  background: var(--lv-gold);
}

/* Utilidades */
.lv-mobile-only { display: none; }
@media (max-width: 900px) { .lv-mobile-only { display: block; } }
.lv-desktop-only { display: block; }
@media (max-width: 900px) { .lv-desktop-only { display: none; } }
/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   Mi Cuenta Â· Login & Registro (v0.10.1)
   AÃ±adir este bloque AL FINAL de assets/css/mi-cuenta.css
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

/* Wrapper general */
.lv-login-page {
  font-family: 'Montserrat', system-ui, -apple-system, sans-serif;
  background: #FAF6F1;
  color: #393737;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background-image:
    radial-gradient(circle at 90% 0%, rgba(250, 223, 233, 0.55) 0%, transparent 35%),
    radial-gradient(circle at 0% 100%, rgba(245, 217, 197, 0.40) 0%, transparent 35%);
  background-attachment: fixed;
}

.lv-login-shell {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: calc(100vh - 80px);
  max-width: 1280px;
  margin: 0 auto;
}
@media (max-width: 900px) {
  .lv-login-shell { grid-template-columns: 1fr; min-height: auto; }
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   HERO IZQUIERDO
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.lv-login-hero {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 64px 56px;
  overflow: hidden;
  isolation: isolate;
}
@media (max-width: 900px) {
  .lv-login-hero { padding: 36px 24px 28px; }
}

.lv-login-hero-bg {
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    radial-gradient(circle at 30% 20%, rgba(250, 223, 233, 0.85) 0%, transparent 55%),
    radial-gradient(circle at 80% 80%, rgba(245, 217, 197, 0.85) 0%, transparent 55%),
    linear-gradient(135deg, #FAF6F1 0%, #F5D9C5 100%);
}
.lv-login-hero-bg::after {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 50% 50%, rgba(201, 162, 39, 0.10) 0%, transparent 60%);
}

.lv-login-hero-content {
  position: relative;
  z-index: 1;
  text-align: left;
  max-width: 440px;
}
@media (max-width: 900px) {
  .lv-login-hero-content { text-align: center; max-width: none; }
}

.lv-login-hero .lv-wordmark {
  font-family: 'Cinzel', 'Playfair Display', serif;
  font-size: 52px;
  font-weight: 700;
  letter-spacing: 8px;
  color: #C9A227;
  line-height: 1;
  text-shadow: 0 2px 12px rgba(201, 162, 39, 0.22);
  margin-bottom: 6px;
}
@media (max-width: 900px) {
  .lv-login-hero .lv-wordmark { font-size: 36px; letter-spacing: 5px; }
}

.lv-login-hero .lv-tagline-italic {
  font-family: 'Playfair Display', Georgia, serif;
  font-style: italic;
  font-size: 16px;
  color: #393737;
  margin-bottom: 32px;
  letter-spacing: 0.02em;
}
@media (max-width: 900px) {
  .lv-login-hero .lv-tagline-italic { font-size: 14px; margin-bottom: 22px; }
}

.lv-hero-title {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(34px, 4vw, 46px);
  font-weight: 500;
  line-height: 1.05;
  color: #1F1B1A;
  letter-spacing: -0.01em;
  margin-bottom: 18px;
}
.lv-hero-title em {
  font-style: italic;
  font-weight: 500;
  color: #C9A227;
}

.lv-hero-sub {
  font-size: 15px;
  color: #6B6361;
  line-height: 1.6;
  margin-bottom: 28px;
  max-width: 380px;
}
@media (max-width: 900px) {
  .lv-hero-sub { font-size: 14px; max-width: none; margin-bottom: 0; }
  .lv-perks { display: none; } /* En mobile, los perks ocupan demasiado */
}

.lv-perks {
  list-style: none;
  margin: 0; padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.lv-perks li {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13.5px;
  color: #393737;
  font-weight: 500;
}
.lv-perks li svg {
  flex-shrink: 0;
  width: 18px; height: 18px;
  padding: 3px;
  border-radius: 50%;
  background: rgba(201, 162, 39, 0.18);
  color: #C9A227;
  box-sizing: content-box;
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   MAIN: TARJETA DE FORMULARIOS
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.lv-login-main {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 64px 56px;
}
@media (max-width: 900px) {
  .lv-login-main { padding: 28px 18px 56px; }
}

.lv-login-card {
  width: 100%;
  max-width: 440px;
  background: #FFFFFF;
  border: 1px solid #F3EDE4;
  border-radius: 22px;
  padding: 36px 36px 32px;
  box-shadow:
    0 18px 48px rgba(57, 55, 55, 0.08),
    0 2px 6px rgba(57, 55, 55, 0.04);
}
@media (max-width: 900px) {
  .lv-login-card { padding: 28px 24px 26px; border-radius: 18px; }
}

/* Tabs */
.lv-login-tabs {
  display: flex;
  background: #FAF6F1;
  border-radius: 999px;
  padding: 4px;
  margin-bottom: 28px;
  position: relative;
}
.lv-tab {
  flex: 1;
  border: none;
  background: transparent;
  font-family: inherit;
  font-size: 13px;
  font-weight: 600;
  color: #6B6361;
  padding: 10px 14px;
  border-radius: 999px;
  cursor: pointer;
  transition: all 0.22s cubic-bezier(0.22, 0.61, 0.36, 1);
  letter-spacing: 0.02em;
}
.lv-tab:hover { color: #393737; }
.lv-tab.is-active {
  background: #FFFFFF;
  color: #1F1B1A;
  box-shadow: 0 2px 8px rgba(57, 55, 55, 0.08), 0 1px 2px rgba(57, 55, 55, 0.04);
}

/* Si no hay registro habilitado, mostramos un tÃ­tulo en su lugar */
.lv-login-only-title { margin-bottom: 24px; }
.lv-login-only-title h2 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 26px;
  font-weight: 600;
  color: #1F1B1A;
  margin: 0 0 4px;
}
.lv-login-only-title p {
  font-size: 14px;
  color: #6B6361;
  margin: 0;
}

/* Form genÃ©rico */
.lv-form { display: flex; flex-direction: column; gap: 16px; }
.lv-form-panel[x-cloak] { display: none !important; }

.lv-field { display: flex; flex-direction: column; gap: 6px; }
.lv-field label {
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #393737;
}
.lv-field label .req { color: #B5453E; margin-left: 2px; }

.lv-input {
  width: 100%;
  font-family: inherit;
  font-size: 14.5px;
  color: #1F1B1A;
  background: #FDFAF6;
  border: 1px solid #ECE5DC;
  border-radius: 12px;
  padding: 13px 16px;
  transition: all 0.18s cubic-bezier(0.22, 0.61, 0.36, 1);
  -webkit-appearance: none;
  appearance: none;
}
.lv-input::placeholder { color: #9B9491; }
.lv-input:hover { border-color: #C9A227; background: #FFFFFF; }
.lv-input:focus {
  outline: none;
  border-color: #C9A227;
  background: #FFFFFF;
  box-shadow: 0 0 0 4px rgba(201, 162, 39, 0.15);
}

.lv-hint {
  font-size: 11.5px;
  color: #6B6361;
  font-style: italic;
}
.lv-hint-block {
  display: block;
  background: linear-gradient(135deg, rgba(250, 223, 233, 0.30), rgba(245, 217, 197, 0.30));
  border: 1px solid rgba(201, 162, 39, 0.18);
  padding: 10px 14px;
  border-radius: 12px;
  font-size: 12.5px;
  font-style: normal;
  color: #393737;
}

/* Fila inferior login: recordarme + olvidÃ© */
.lv-form-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: -4px;
  margin-bottom: 4px;
}

.lv-checkbox {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: #393737;
  cursor: pointer;
  user-select: none;
}
.lv-cb {
  width: 16px; height: 16px;
  border-radius: 4px;
  border: 1.5px solid #C9A227;
  accent-color: #C9A227;
  cursor: pointer;
}

.lv-forgot {
  font-size: 12.5px;
  color: #6B6361;
  font-weight: 500;
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: all 0.18s cubic-bezier(0.22, 0.61, 0.36, 1);
}
.lv-forgot:hover { color: #C9A227; border-bottom-color: #C9A227; }

/* BotÃ³n CTA dorado */
.lv-btn-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  font-family: inherit;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.03em;
  color: #FFFFFF;
  background: #C9A227;
  border: none;
  border-radius: 999px;
  padding: 14px 28px;
  cursor: pointer;
  margin-top: 4px;
  box-shadow: 0 6px 18px rgba(201, 162, 39, 0.30), inset 0 1px 0 rgba(255, 255, 255, 0.18);
  transition: all 0.22s cubic-bezier(0.22, 0.61, 0.36, 1);
}
.lv-btn-cta:hover {
  background: #B59021;
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(201, 162, 39, 0.36), inset 0 1px 0 rgba(255, 255, 255, 0.18);
}
.lv-btn-cta:active { transform: translateY(0); }
.lv-btn-cta svg { transition: transform 0.22s cubic-bezier(0.22, 0.61, 0.36, 1); }
.lv-btn-cta:hover svg { transform: translateX(2px); }

/* Switch CTA debajo del form */
.lv-switch-cta {
  margin: 18px 0 0;
  text-align: center;
  font-size: 13px;
  color: #6B6361;
}
.lv-switch-cta a {
  color: #C9A227;
  font-weight: 600;
  border-bottom: 1px solid transparent;
  transition: border-color 0.18s ease;
  margin-left: 4px;
}
.lv-switch-cta a:hover { border-bottom-color: #C9A227; }

/* Legal */
.lv-legal {
  font-size: 11.5px;
  color: #9B9491;
  margin-top: 8px;
  text-align: center;
  line-height: 1.5;
}
.lv-legal a {
  color: #6B6361;
  border-bottom: 1px solid currentColor;
}
.lv-legal a:hover { color: #C9A227; }

/* Neutralizar estilos heredados de WC en estos forms */
.lv-form .woocommerce-form-row,
.lv-form p { margin: 0; padding: 0; }
.lv-form .woocommerce-form__label,
.lv-form .woocommerce-form__input { all: unset; }
.lv-login-page .woocommerce-message,
.lv-login-page .woocommerce-info,
.lv-login-page .woocommerce-error {
  list-style: none;
  background: #FFFFFF;
  border: 1px solid #ECE5DC;
  border-left: 4px solid #C9A227;
  border-radius: 12px;
  padding: 12px 16px;
  font-size: 13px;
  color: #393737;
  margin-bottom: 18px;
  box-shadow: 0 1px 2px rgba(57, 55, 55, 0.04);
}
.lv-login-page .woocommerce-error { border-left-color: #B5453E; }
.lv-login-page .woocommerce-message::before,
.lv-login-page .woocommerce-info::before,
.lv-login-page .woocommerce-error::before { display: none; }

/* En mobile, el hero va arriba mÃ¡s compacto */
@media (max-width: 900px) {
  .lv-login-hero {
    min-height: 200px;
    border-radius: 0 0 28px 28px;
  }
}

/* Ocultar contenido x-cloak hasta que Alpine inicialice */
[x-cloak] { display: none !important; }
/* ═══════════════════════════════════════════════════════════════
   Mejoras mobile login (v0.10.1.1)
   Añade respiro en pantallas pequeñas
   ═══════════════════════════════════════════════════════════════ */
@media (max-width: 720px) {

  /* Hero más compacto y con perks compactos visibles */
  .lv-login-hero {
    padding: 36px 24px 32px;
    border-radius: 0;
    min-height: auto;
  }
  .lv-login-hero .lv-wordmark {
    font-size: 32px;
    letter-spacing: 4px;
    margin-bottom: 4px;
  }
  .lv-login-hero .lv-tagline-italic {
    font-size: 12.5px;
    margin-bottom: 18px;
  }
  .lv-hero-title {
    font-size: 28px;
    margin-bottom: 12px;
  }
  .lv-hero-sub {
    font-size: 13px;
    margin-bottom: 14px;
  }

  /* Mostrar perks pero compactos en mobile */
  .lv-perks {
    display: flex !important;
    gap: 8px;
    flex-direction: column;
    align-items: center;
    margin-top: 0;
  }
  .lv-perks li {
    font-size: 12px;
    gap: 8px;
    color: #393737;
  }
  .lv-perks li svg {
    width: 12px; height: 12px;
    padding: 2px;
  }

  /* Más respiro en la zona de los forms */
  .lv-login-main {
    padding: 22px 16px 80px;
  }

  /* Card con mejor padding interno + sombra más suave */
  .lv-login-card {
    padding: 30px 24px 28px;
    border-radius: 20px;
    box-shadow: 0 12px 32px rgba(57, 55, 55, 0.07), 0 2px 6px rgba(57, 55, 55, 0.04);
    max-width: 460px;
    margin: 0 auto;
  }

  /* Labels más naturales en mobile (menos uppercase peso) */
  .lv-field label {
    font-size: 11px;
    letter-spacing: 0.05em;
    text-transform: uppercase;
  }

  /* Tabs un poco más compactos pero respirados */
  .lv-login-tabs { margin-bottom: 24px; padding: 4px; }
  .lv-tab { padding: 11px 8px; font-size: 12.5px; }

  /* Más gap entre fields para que respire */
  .lv-form { gap: 18px; }

  /* Inputs más altos para que el dedo los acierte mejor */
  .lv-input {
    padding: 14px 16px;
    font-size: 15px;
    border-radius: 12px;
  }

  /* Botón un toque más alto y CTA con más presencia */
  .lv-btn-cta {
    padding: 16px 26px;
    font-size: 14.5px;
    margin-top: 8px;
  }

  /* Switch CTA más respirado */
  .lv-switch-cta { margin-top: 22px; font-size: 13px; }
}

/* Móvil muy pequeño (< 380px) - aún más compacto */
@media (max-width: 380px) {
  .lv-login-card { padding: 26px 20px 24px; }
  .lv-login-hero { padding: 28px 20px 26px; }
  .lv-hero-title { font-size: 24px; }
  .lv-perks li { font-size: 11.5px; }
}
/* ═══════════════════════════════════════════════════════════════
   Mejoras mobile dashboard + pedidos + detalle (v0.10.1.2)
   ═══════════════════════════════════════════════════════════════ */
@media (max-width: 720px) {

  /* ─── Dashboard header más respirado ─── */
  .lv-screen-header { margin-bottom: 22px; }
  .lv-screen-header h1 { font-size: clamp(24px, 7vw, 32px); }
  .lv-screen-header .subtitle { font-size: 13.5px; line-height: 1.55; }

  /* Hero del pedido en curso */
  .lv-hero-order { padding: 22px 20px; gap: 16px; }
  .lv-hero-order h2 { font-size: 19px; margin-bottom: 6px; }
  .lv-hero-order p { font-size: 13px; margin-bottom: 14px; line-height: 1.5; }
  .lv-eta-row { gap: 18px; margin-bottom: 14px; }
  .lv-eta-item .value { font-size: 15px; line-height: 1.3; }
  .lv-eta-item .label { font-size: 10px; }

  /* Stat cards: una columna y media en pantallas muy chicas */
  .lv-stat { padding: 16px; }
  .lv-stat .value { font-size: 22px; }

  /* ─── Filter chips: scroll horizontal limpio ─── */
  .lv-chips {
    margin: 0 -18px 18px;
    padding: 4px 18px 6px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .lv-chips::-webkit-scrollbar { display: none; }
  .lv-chip { padding: 9px 14px; font-size: 12px; }

  /* ─── Detalle del pedido (más respiro) ─── */
  .lv-back-link { margin-bottom: 12px; font-size: 12.5px; }

  .lv-detail-head {
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 20px;
  }
  .lv-detail-head .ref-big {
    font-size: clamp(20px, 6vw, 26px);
    line-height: 1.2;
  }
  .lv-detail-head .meta {
    font-size: 12.5px;
    line-height: 1.55;
  }
  .lv-detail-head .lv-status {
    justify-self: start;
    margin-top: 2px;
  }

  /* Tracking card más compacto pero respirado */
  .lv-tracking-card { padding: 22px 20px; }
  .lv-tracking-card .courier {
    margin-bottom: 18px;
    gap: 10px;
  }
  .lv-gls-badge { font-size: 12px; padding: 7px 12px 7px 7px; }
  .lv-gls-badge .gls-mark { width: 26px; height: 26px; font-size: 10px; }
  .lv-tracking-code { font-size: 11.5px; padding: 4px 9px; }

  /* Stepper: menos gap vertical y dot más pequeño */
  .lv-step { padding-bottom: 18px; grid-template-columns: 28px 1fr; gap: 12px; }
  .lv-step .dot { width: 28px; height: 28px; font-size: 12px; }
  .lv-step::after { left: 13px; top: 28px; }
  .lv-step .body { padding-top: 3px; }
  .lv-step .title { font-size: 13.5px; line-height: 1.35; }
  .lv-step .time { font-size: 11.5px; line-height: 1.4; margin-top: 2px; }

  /* Line items en detalle */
  .lv-line-items { gap: 4px; }
  .lv-line-item {
    grid-template-columns: 56px 1fr auto;
    gap: 12px;
    padding: 12px 0;
  }
  .lv-line-item .pic { width: 56px; height: 70px; }
  .lv-line-item .name { font-size: 14px; }
  .lv-line-item .opts { font-size: 11px; }
  .lv-line-item .opts .label { font-size: 9.5px; }
  .lv-line-item .price { font-size: 15px; }

  /* Action row del tracking */
  .lv-action-row { gap: 8px; margin-top: 18px; }
  .lv-action-row .lv-btn { padding: 10px 18px; font-size: 12.5px; }

  /* Summary lateral cuando se apila debajo */
  .lv-summary-row { padding: 7px 0; font-size: 13px; }
  .lv-summary-row.total { font-size: 17px; padding-top: 12px; }

  /* Cards address */
  .lv-card.lv-address-card { padding: 18px; }
}

/* Móvil pequeño <380px */
@media (max-width: 380px) {
  .lv-hero-order { padding: 20px 18px; }
  .lv-detail-head, .lv-tracking-card { padding: 18px; }
  .lv-step { grid-template-columns: 26px 1fr; gap: 10px; }
  .lv-step .dot { width: 26px; height: 26px; }
}
/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   Mi Cuenta Â· Mi perfil (v0.10.2)
   Pegar AL FINAL de assets/css/mi-cuenta.css, despuÃ©s de todo
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

/* â”€â”€ Wrapper de la pantalla Mi perfil â”€â”€ */
.lv-account-page {
  max-width: 820px;
  margin: 0 auto;
}

.lv-account-form {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin: 0;
}

/* â”€â”€ Card de secciÃ³n (Datos / ContraseÃ±a / Direcciones) â”€â”€ */
.lv-account-card {
  padding: 28px;
}
.lv-account-card-head {
  margin-bottom: 22px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--lv-line-soft, #F3EDE4);
}
.lv-account-card-head h2 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 20px;
  font-weight: 600;
  color: var(--lv-ink, #1F1B1A);
  line-height: 1.2;
  margin: 0 0 4px;
}
.lv-account-card-head p {
  font-size: 13px;
  color: var(--lv-text-soft, #6B6361);
  margin: 0;
}

/* â”€â”€ Grid 2 col para campos paralelos (Nombre/Apellidos, ContraseÃ±a 1/2) â”€â”€ */
.lv-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 16px;
}
.lv-form-grid + .lv-field { margin-top: 0; }
@media (max-width: 600px) {
  .lv-form-grid { grid-template-columns: 1fr; gap: 14px; }
}

/* Asegura espacio entre fields apilados dentro del card */
.lv-account-card .lv-field { margin-bottom: 16px; }
.lv-account-card .lv-field:last-child { margin-bottom: 0; }
.lv-account-card .lv-form-grid + .lv-field { margin-top: 0; }

/* â”€â”€ Bloque de acciones (botÃ³n Guardar) â”€â”€ */
.lv-account-actions {
  display: flex;
  justify-content: flex-end;
  margin-top: 8px;
}
.lv-account-actions .lv-btn-cta {
  width: auto;
  min-width: 200px;
}
@media (max-width: 600px) {
  .lv-account-actions .lv-btn-cta { width: 100%; }
}

/* â”€â”€ Card de direcciones â”€â”€ */
.lv-addresses-card { margin-top: 20px; }

.lv-addresses-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}
@media (max-width: 720px) {
  .lv-addresses-grid { grid-template-columns: 1fr; gap: 16px; }
}

.lv-address-block {
  background: var(--lv-cream-soft, #FDFAF6);
  border: 1px solid var(--lv-line-soft, #F3EDE4);
  border-radius: var(--r-md, 16px);
  padding: 20px;
  transition: all var(--t-med, 0.32s) var(--ease, cubic-bezier(0.22, 0.61, 0.36, 1));
}
.lv-address-block:hover {
  border-color: var(--lv-gold-soft, rgba(201, 162, 39, 0.12));
  background: white;
}

.lv-address-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--lv-line-soft, #F3EDE4);
}
.lv-address-head h3 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 15px;
  font-weight: 600;
  color: var(--lv-ink, #1F1B1A);
  margin: 0;
  letter-spacing: 0.01em;
}

.lv-address-edit {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 12px;
  font-weight: 600;
  color: var(--lv-gold, #C9A227);
  padding: 4px 10px;
  border-radius: var(--r-pill, 999px);
  border: 1px solid var(--lv-gold-soft, rgba(201, 162, 39, 0.18));
  transition: all var(--t-fast, 0.18s) var(--ease, cubic-bezier(0.22, 0.61, 0.36, 1));
}
.lv-address-edit:hover {
  background: var(--lv-gold, #C9A227);
  color: white;
  border-color: var(--lv-gold, #C9A227);
}
.lv-address-edit svg { width: 12px; height: 12px; }

.lv-address-text,
.lv-address-block address {
  font-size: 13.5px;
  font-style: normal;
  color: var(--lv-text, #393737);
  line-height: 1.55;
  white-space: pre-line;
}

.lv-address-empty {
  text-align: left;
  padding: 6px 0 4px;
}
.lv-address-empty p {
  font-size: 13px;
  color: var(--lv-text-soft, #6B6361);
  margin: 0 0 10px;
  font-style: italic;
}
.lv-address-cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 600;
  color: var(--lv-gold, #C9A227);
  padding: 6px 12px;
  border-radius: var(--r-pill, 999px);
  background: white;
  border: 1px solid var(--lv-gold-soft, rgba(201, 162, 39, 0.20));
  transition: all var(--t-fast, 0.18s) var(--ease, cubic-bezier(0.22, 0.61, 0.36, 1));
}
.lv-address-cta:hover {
  background: var(--lv-gold, #C9A227);
  color: white;
}

/* â”€â”€ Neutralizar estilos por defecto de WC dentro de Mi perfil â”€â”€ */
.lv-account-page .woocommerce-fieldset,
.lv-account-page fieldset {
  all: unset;
  display: block;
  width: 100%;
}
.lv-account-page legend { all: unset; }
.lv-account-page .woocommerce-form-row { all: unset; display: flex; flex-direction: column; gap: 6px; }

/* Avisos de Woo (success / error) dentro de Mi perfil */
.lv-account-page .woocommerce-message,
.lv-account-page .woocommerce-info,
.lv-account-page .woocommerce-error {
  list-style: none;
  background: white;
  border: 1px solid var(--lv-line, #ECE5DC);
  border-left: 4px solid var(--lv-gold, #C9A227);
  border-radius: var(--r-sm, 12px);
  padding: 12px 16px;
  margin: 0 0 18px;
  font-size: 13.5px;
  color: var(--lv-text, #393737);
  box-shadow: var(--shadow-sm, 0 1px 2px rgba(57, 55, 55, 0.04));
}
.lv-account-page .woocommerce-error { border-left-color: var(--danger, #B5453E); }
.lv-account-page .woocommerce-message::before,
.lv-account-page .woocommerce-info::before,
.lv-account-page .woocommerce-error::before { display: none; }

/* â”€â”€ Mobile: cards mÃ¡s compactos â”€â”€ */
@media (max-width: 720px) {
  .lv-account-card { padding: 22px 20px; }
  .lv-account-card-head { margin-bottom: 18px; padding-bottom: 14px; }
  .lv-account-card-head h2 { font-size: 18px; }
  .lv-account-card-head p { font-size: 12.5px; }

  .lv-address-block { padding: 18px; }
  .lv-address-head h3 { font-size: 14px; }
  .lv-address-text { font-size: 13px; }
}

@media (max-width: 380px) {
  .lv-account-card { padding: 20px 18px; }
}

/* â”€â”€ Override del edit-address por defecto de Woo (cuando lo abren al editar) â”€â”€
   Cuando hagan clic en "Editar" del card de Mi perfil van al form de Woo nativo.
   Hasta v0.11.0 (cuando tengamos form-edit-address.php propio), aplicamos
   pequeÃ±os fixes para que al menos no se vea totalmente roto: */
.lv-account-page .woocommerce-Address {
  background: var(--lv-cream-soft, #FDFAF6);
  border: 1px solid var(--lv-line-soft, #F3EDE4);
  border-radius: var(--r-md, 16px);
  padding: 18px 20px;
}
.lv-account-page .woocommerce-Address-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
}
.lv-account-page .woocommerce-Address-title h3 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 15px;
  font-weight: 600;
  color: var(--lv-ink, #1F1B1A);
}/* ==========================================================================
   MI CUENTA â€” FORMS LV (addon)
   Estilos para pantallas internas de Mi Cuenta que usan templates default WC:
     - /mi-cuenta/editar-cuenta/    (Mis datos + Cambiar contraseÃ±a)
     - /mi-cuenta/direcciones/      (lista de direcciones guardadas)
     - /mi-cuenta/editar-direccion/ (formulario de ediciÃ³n)

   CÃ“MO USARLO (elige UNA opciÃ³n):

   A) PEGAR al final de tu mi-cuenta.css existente
      (â€¦/themes/lorena-velazquez-theme/assets/css/mi-cuenta.css)

   B) SUBIR este archivo aparte como mi-cuenta-forms-LV.css y enquearlo
      al lado del mi-cuenta.css. Para ello, en functions.php donde tengas:
        wp_enqueue_style( 'lv-mi-cuenta', ... '/assets/css/mi-cuenta.css', ... );
      aÃ±ade justo despuÃ©s:
        wp_enqueue_style(
            'lv-mi-cuenta-forms',
            get_template_directory_uri() . '/assets/css/mi-cuenta-forms-LV.css',
            array( 'lv-mi-cuenta' ),
            '0.1.0'
        );
   ========================================================================== */

/* Variables defensivas (por si este archivo se carga sin mi-cuenta.css) */
.woocommerce-account .woocommerce {
	--gold-dark: #C9A227;
	--gold-mid: #d4aa2e;
	--gold-light: #e8d48b;
	--gold-glow: rgba(201, 162, 39, 0.30);
	--cream: #FAF6F1;
	--cream-soft: #FDFAF6;
	--charcoal: #393737;
	--ink: #1F1B1A;
	--muted: #7A726E;
	--line: #F3EDE4;
	--line-strong: #E7DCC9;
	--success: #2E7D5B;
	--danger: #B23A48;
}

/* --------------------------------------------------------------------------
   1) TÃTULOS de fieldset y H3 internos
   -------------------------------------------------------------------------- */
.woocommerce-account .woocommerce h3,
.woocommerce-account .woocommerce legend,
.woocommerce-account .woocommerce-EditAccountForm legend {
	font-family: 'Playfair Display', Georgia, serif;
	font-size: 20px;
	font-weight: 600;
	color: var(--ink);
	margin: 0 0 16px;
	padding: 0;
	letter-spacing: -0.005em;
}
.woocommerce-account .woocommerce h3 {
	margin-top: 8px;
}

/* --------------------------------------------------------------------------
   2) FORMS (edit-account y edit-address)
   -------------------------------------------------------------------------- */
.woocommerce-account .woocommerce-EditAccountForm,
.woocommerce-account .woocommerce-address-fields,
.woocommerce-account .woocommerce-MyAccount-content form {
	background: #FFFFFF;
	border: 1px solid var(--line);
	border-radius: 22px;
	padding: 26px 26px 22px;
	box-shadow: 0 4px 14px rgba(31, 27, 26, 0.03);
}

.woocommerce-account .woocommerce form.edit-account fieldset {
	margin-top: 24px;
	padding: 22px 0 0;
	border: none;
	border-top: 1px dashed var(--line-strong);
}

/* Grid de 2 columnas para las filas */
.woocommerce-account .woocommerce form .form-row,
.woocommerce-account .woocommerce-address-fields__field-wrapper > .form-row {
	display: flex;
	flex-direction: column;
	margin: 0 0 14px;
	padding: 0;
	float: none !important;
	width: 100%;
}
.woocommerce-account .woocommerce form .form-row-first,
.woocommerce-account .woocommerce form .form-row-last,
.woocommerce-account .woocommerce-address-fields__field-wrapper .form-row-first,
.woocommerce-account .woocommerce-address-fields__field-wrapper .form-row-last {
	width: 100%;
}
@media (min-width: 600px) {
	.woocommerce-account .woocommerce-EditAccountForm,
	.woocommerce-account .woocommerce-address-fields__field-wrapper {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 14px 18px;
	}
	.woocommerce-account .woocommerce-EditAccountForm > p:not(.form-row),
	.woocommerce-account .woocommerce-EditAccountForm fieldset,
	.woocommerce-account .woocommerce-EditAccountForm .form-row-wide,
	.woocommerce-account .woocommerce-EditAccountForm > p:last-of-type,
	.woocommerce-account .woocommerce-address-fields__field-wrapper .form-row-wide,
	.woocommerce-account .woocommerce-address-fields__field-wrapper [id*="address_1"],
	.woocommerce-account .woocommerce-address-fields__field-wrapper [id*="address_2"],
	.woocommerce-account .woocommerce-address-fields__field-wrapper [id*="company"],
	.woocommerce-account .woocommerce-EditAccountForm > .clear,
	.woocommerce-account .woocommerce-address-fields__field-wrapper > .clear {
		grid-column: 1 / -1;
	}
}

.woocommerce-account .woocommerce form label,
.woocommerce-account .woocommerce form .form-row label {
	display: inline-block;
	margin-bottom: 6px;
	font-size: 13px;
	font-weight: 600;
	color: var(--charcoal);
	letter-spacing: 0;
}
.woocommerce-account .woocommerce .required {
	color: var(--gold-dark);
	text-decoration: none;
	margin-left: 2px;
}

/* INPUTS */
.woocommerce-account .woocommerce input[type="text"],
.woocommerce-account .woocommerce input[type="email"],
.woocommerce-account .woocommerce input[type="tel"],
.woocommerce-account .woocommerce input[type="password"],
.woocommerce-account .woocommerce input[type="number"],
.woocommerce-account .woocommerce select,
.woocommerce-account .woocommerce textarea,
.woocommerce-account .woocommerce .input-text,
.woocommerce-account .woocommerce .woocommerce-Input--text,
.woocommerce-account .woocommerce .select2-container--default .select2-selection--single {
	width: 100%;
	padding: 13px 16px;
	font-family: 'Montserrat', sans-serif;
	font-size: 15px;
	color: var(--ink);
	background: var(--cream-soft);
	border: 1px solid var(--line-strong);
	border-radius: 12px;
	transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
	-webkit-appearance: none;
	appearance: none;
	line-height: 1.4;
	min-height: 48px;
	box-sizing: border-box;
}
.woocommerce-account .woocommerce textarea {
	min-height: 88px;
	resize: vertical;
}
.woocommerce-account .woocommerce input:focus,
.woocommerce-account .woocommerce select:focus,
.woocommerce-account .woocommerce textarea:focus,
.woocommerce-account .woocommerce .input-text:focus {
	outline: none;
	background: #FFFFFF;
	border-color: var(--gold-mid);
	box-shadow: 0 0 0 4px rgba(201, 162, 39, 0.15);
}
.woocommerce-account .woocommerce select {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23C9A227' d='M6 8L0 0h12z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 18px center;
	padding-right: 42px;
}

/* Select2 */
.woocommerce-account .woocommerce .select2-container--default .select2-selection--single {
	height: 48px;
	display: flex;
	align-items: center;
}
.woocommerce-account .woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered {
	line-height: 1.4;
	padding: 0;
	color: var(--ink);
}
.woocommerce-account .woocommerce .select2-container--default .select2-selection--single .select2-selection__arrow {
	top: 50%;
	right: 12px;
	transform: translateY(-50%);
	height: auto;
}

/* TEXTO descriptivo */
.woocommerce-account .woocommerce em,
.woocommerce-account .woocommerce span.description {
	font-size: 12.5px;
	color: var(--muted);
	display: block;
	margin-top: 4px;
	font-style: normal;
}

/* --------------------------------------------------------------------------
   3) BOTÃ“N "Guardar cambios" / "Guardar direcciÃ³n" en dorado
   -------------------------------------------------------------------------- */
.woocommerce-account .woocommerce button[type="submit"],
.woocommerce-account .woocommerce .woocommerce-Button,
.woocommerce-account .woocommerce button.button,
.woocommerce-account .woocommerce input[type="submit"].button,
.woocommerce-account .woocommerce form .form-row button[type="submit"] {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 13px 28px;
	background: linear-gradient(135deg, var(--gold-dark), var(--gold-mid)) !important;
	color: #FFFFFF !important;
	border: none !important;
	border-radius: 999px !important;
	font-family: 'Montserrat', sans-serif !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	letter-spacing: .005em;
	cursor: pointer;
	box-shadow: 0 6px 18px var(--gold-glow) !important;
	transition: transform .15s ease, box-shadow .15s ease;
	text-transform: none;
	min-height: 48px;
	float: none !important;
}
.woocommerce-account .woocommerce button[type="submit"]:hover,
.woocommerce-account .woocommerce .woocommerce-Button:hover {
	transform: translateY(-1px);
	box-shadow: 0 10px 24px rgba(201, 162, 39, 0.40) !important;
}

/* La <p> que envuelve el botÃ³n final no debe agarrar el border-radius */
.woocommerce-account .woocommerce form p:has(button[type="submit"]),
.woocommerce-account .woocommerce form p:has(input[type="submit"]) {
	margin-top: 18px;
	padding-top: 18px;
	border-top: 1px dashed var(--line);
	display: flex;
	justify-content: flex-end;
}
.woocommerce-account .woocommerce-EditAccountForm > p:has(button[type="submit"]),
.woocommerce-account .woocommerce-address-fields > p:has(button[type="submit"]) {
	grid-column: 1 / -1;
}

/* --------------------------------------------------------------------------
   4) LISTA DE DIRECCIONES (/mi-cuenta/direcciones/)
   -------------------------------------------------------------------------- */
.woocommerce-account .woocommerce-Addresses,
.woocommerce-account .u-columns.col2-set {
	display: grid !important;
	grid-template-columns: 1fr 1fr;
	gap: 18px;
	margin: 0 !important;
	width: 100%;
}
@media (max-width: 700px) {
	.woocommerce-account .woocommerce-Addresses,
	.woocommerce-account .u-columns.col2-set {
		grid-template-columns: 1fr;
	}
}

.woocommerce-account .woocommerce-Address,
.woocommerce-account .u-columns .u-column1,
.woocommerce-account .u-columns .u-column2 {
	background: #FFFFFF;
	border: 1px solid var(--line);
	border-radius: 22px;
	padding: 22px 22px 20px;
	box-shadow: 0 4px 14px rgba(31, 27, 26, 0.03);
	float: none !important;
	width: 100% !important;
	margin: 0 !important;
}

.woocommerce-account .woocommerce-Address-title {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-bottom: 14px;
	padding-bottom: 12px;
	border-bottom: 1px dashed var(--line);
}
.woocommerce-account .woocommerce-Address-title h3,
.woocommerce-account .woocommerce-Address-title h2 {
	margin: 0;
	font-family: 'Playfair Display', Georgia, serif;
	font-size: 18px;
	color: var(--ink);
}

.woocommerce-account .woocommerce-Address-title .edit {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-family: 'Montserrat', sans-serif;
	font-size: 12.5px;
	font-weight: 600;
	color: var(--gold-dark);
	text-decoration: none;
	padding: 6px 12px;
	border: 1px solid var(--gold-light);
	border-radius: 999px;
	background: var(--cream-soft);
	transition: background .15s ease, border-color .15s ease;
}
.woocommerce-account .woocommerce-Address-title .edit:hover {
	background: #FFFFFF;
	border-color: var(--gold-mid);
}
.woocommerce-account .woocommerce-Address-title .edit::before {
	content: "âœŽ";
	font-size: 13px;
}

.woocommerce-account .woocommerce-Address address {
	font-style: normal;
	font-size: 14px;
	line-height: 1.6;
	color: var(--charcoal);
	margin: 0;
}

/* --------------------------------------------------------------------------
 5) AVISOS / MENSAJES â€” formato unificado con el del checkout
   Sin prefijo .woocommerce-account para que cubran TODAS las pÃ¡ginas
   relacionadas con cuenta donde se cargue este CSS:
     /mi-cuenta/, /mi-cuenta/lost-password/, /mi-cuenta/editar-cuenta/, etc.
   -------------------------------------------------------------------------- */

.woocommerce-NoticeGroup,
.woocommerce-NoticeGroup-checkout {
	margin: 0 0 18px;
}

/* Mensajes verdes "todo OK" e info dorado */
.woocommerce-message,
.woocommerce-info {
	position: relative;
	border-radius: 16px;
	padding: 16px 20px 16px 56px;
	font-size: 14px;
	line-height: 1.55;
	list-style: none;
	margin: 0 0 18px;
	box-shadow: 0 4px 14px rgba(31, 27, 26, 0.04);
	background-repeat: no-repeat;
	background-position: 20px 18px;
	background-size: 22px 22px;
}
.woocommerce-message {
	border: 1px solid #BCE3CC;
	background-color: #F2FBF6;
	color: #1B4D34;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%232E7D5B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 11.08V12a10 10 0 1 1-5.93-9.14'/%3E%3Cpolyline points='22 4 12 14.01 9 11.01'/%3E%3C/svg%3E");
}
.woocommerce-info {
	border: 1px solid #e8d48b;
	background-color: #FFFCEF;
	background-image:
		linear-gradient(135deg, #FFFCEF, #FFF8E5),
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%23C9A227' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='12' y1='16' x2='12' y2='12'/%3E%3Cline x1='12' y1='8' x2='12.01' y2='8'/%3E%3C/svg%3E");
	color: #6B5210;
}
.woocommerce-message a,
.woocommerce-info a {
	color: inherit;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 2px;
}
.woocommerce-message li,
.woocommerce-info li { list-style: none; margin: 0; padding: 4px 0; }

/* === ERRORES === */

/* Estilo base: aplica a TODOS los errores */
.woocommerce-error {
	position: relative;
	border: 1px solid #F4C5C5;
	background: linear-gradient(135deg, #FFF7F7, #FFEFEF);
	color: #6A1F26;
	border-radius: 18px;
	list-style: none;
	box-shadow: 0 6px 18px rgba(178, 58, 72, 0.08);
	margin: 0 0 18px;
	padding: 18px 22px 18px 60px;
	font-size: 14.5px;
	line-height: 1.55;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23B23A48' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z'/%3E%3Cline x1='12' y1='9' x2='12' y2='13'/%3E%3Cline x1='12' y1='17' x2='12' y2='17'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: 22px 20px;
	background-size: 24px 24px;
}
.woocommerce-error li {
	list-style: none;
	margin: 0;
	padding: 0;
	color: #6A1F26;
}
.woocommerce-error li + li {
	margin-top: 6px;
	padding-top: 6px;
	border-top: 1px dashed rgba(244, 197, 197, 0.7);
}
.woocommerce-error li strong {
	font-weight: 600;
	color: var(--ink);
}
.woocommerce-error a,
.woocommerce-error li a {
	color: var(--gold-dark);
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 2px;
}

/* Caso especial: cuando hay MÃS de 1 error â†’ modo "Faltan algunos datos" */
.woocommerce-error:has(li + li) {
	padding: 60px 22px 16px 22px;
	background-position: 22px 18px;
	background-size: 22px 22px;
}
.woocommerce-error:has(li + li)::before {
	content: "Faltan algunos datos para continuar";
	position: absolute;
	top: 18px;
	left: 56px;
	right: 22px;
	display: block;
	padding: 0 0 12px 0;
	font-family: 'Playfair Display', Georgia, serif;
	font-size: 16.5px;
	font-weight: 600;
	line-height: 1.3;
	color: #6A1F26;
	border-bottom: 1px dashed #F4C5C5;
	letter-spacing: -0.005em;
}
.woocommerce-error:has(li + li) li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 6px 0;
	font-size: 14px;
}
.woocommerce-error:has(li + li) li::before {
	content: "";
	flex: 0 0 auto;
	width: 6px; height: 6px;
	border-radius: 50%;
	background: #B23A48;
	margin-top: 8px;
	box-shadow: 0 0 0 3px rgba(178, 58, 72, 0.12);
}
.woocommerce-error:has(li + li) li + li {
	border-top: 1px dashed rgba(244, 197, 197, 0.6);
	margin-top: 0;
}

/* Desktop: 2 columnas si hay muchos */
@media (min-width: 720px) {
	.woocommerce-error:has(li + li) {
		column-count: 2;
		column-gap: 32px;
	}
	.woocommerce-error:has(li + li) li { break-inside: avoid; }
	.woocommerce-error:has(li + li) li:first-child,
	.woocommerce-error:has(li + li) li:nth-child(2) {
		border-top: none;
	}
}

/* --------------------------------------------------------------------------
   6) AJUSTES en mobile
   -------------------------------------------------------------------------- */
@media (max-width: 600px) {
	.woocommerce-account .woocommerce-EditAccountForm,
	.woocommerce-account .woocommerce-address-fields,
	.woocommerce-account .woocommerce-MyAccount-content form {
		padding: 20px 16px 18px;
		border-radius: 18px;
	}
	.woocommerce-account .woocommerce-Address {
		padding: 18px 16px 16px;
		border-radius: 18px;
	}
	.woocommerce-account .woocommerce form p:has(button[type="submit"]) {
		justify-content: stretch;
	}
	.woocommerce-account .woocommerce button[type="submit"] {
		width: 100%;
	}
}/* ═══════════════════════════════════════════════════════════════
   Fixes v0.10.2.1
   ═══════════════════════════════════════════════════════════════ */

/* ── Textos largos (emails, URLs) no rompen el layout ── */
.lv-address-card .lines,
.lv-address-text,
.lv-address-block address,
.lv-detail-head .meta,
.lv-order-info .summary,
.lv-card .lines {
  word-break: break-word;
  overflow-wrap: anywhere;
  min-width: 0;
}

/* Fix específico para que el email respete el card */
.lv-address-card .lines a,
.lv-address-text a {
  word-break: break-all;
}

/* ── Eliminar scroll horizontal en mobile ── */
@media (max-width: 900px) {
  html, body { overflow-x: hidden; }
  .lv-account,
  .lv-account-shell,
  .lv-main {
    max-width: 100%;
    overflow-x: hidden;
  }

  /* Chips: contener el negative margin para que no genere overflow */
  .lv-chips {
    max-width: 100vw;
    box-sizing: border-box;
  }
}/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   Mi Cuenta Â· Pedidos â€” Fix solape subtÃ­tulo + chip "Cancelados" cortado
   VersiÃ³n: 0.10.3 Â· Patch para mi-cuenta.css
   Pegar AL FINAL de assets/css/mi-cuenta.css (o cargar como append).
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

/* â”€â”€â”€ 1. Header de pantalla: aire claro respecto a los chips â”€â”€â”€â”€â”€
   En mÃ³vil el subtÃ­tulo envuelve a 2 lÃ­neas ("...VIP desde / mayo 2026.")
   y se pegaba a la fila de filtros. Forzamos line-height y margin
   para garantizar separaciÃ³n incluso con wrap. */
.lv-account .lv-screen-header { margin-bottom: 20px; }
.lv-account .lv-screen-header .subtitle {
  line-height: 1.5;       /* altura predecible cuando hay wrap */
  margin-top: 6px;
  margin-bottom: 0;       /* nunca colapsa con el margin del .lv-chips */
}

/* â”€â”€â”€ 2. Chips de filtros: que envuelvan, no se recorten â”€â”€â”€â”€â”€â”€â”€â”€â”€
   En la versiÃ³n original .lv-chips tiene `overflow-x: auto` + chips
   con `flex-shrink: 0`, asÃ­ que en mÃ³vil (~380px) la 4Âª pill
   ("Cancelados") sale fuera del viewport y se ve cortada.
   Mejor que envuelvan a 2 lÃ­neas y se vean enteros. */
.lv-account .lv-chips {
  flex-wrap: wrap;         /* permite 2Âª fila si no caben */
  overflow-x: visible;     /* sin scroll horizontal en mÃ³vil */
  margin-top: 14px;        /* respiro extra desde el subtÃ­tulo */
  margin-bottom: 22px;
  row-gap: 8px;            /* separaciÃ³n si caen a 2 lÃ­neas */
  padding-bottom: 0;
}

/* â”€â”€â”€ 3. Chip activo: que la pill no se vea recortada â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€
   Mantenemos el look (fondo oscuro de marca) pero blindamos el
   border-radius para que nunca se "coma" la esquina derecha. */
.lv-account .lv-chip {
  line-height: 1.2;
  flex-shrink: 0;          /* heredado, lo dejamos explÃ­cito */
}
.lv-account .lv-chip.is-active {
  background: var(--lv-ink, #1F1B1A);
  color: #fff;
  border-color: var(--lv-ink, #1F1B1A);
  box-shadow: 0 1px 2px rgba(31, 27, 26, 0.18);
}

/* â”€â”€â”€ 4. Ajustes finos en mÃ³vil (<600px) â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€
   Reducimos un punto el padding del chip para que las 4 etiquetas
   ("Todos Â· 1", "Activos Â· 0", "Entregados Â· 0", "Cancelados Â· 0")
   entren cÃ³modas en una sola lÃ­nea siempre que sea posible. */
@media (max-width: 600px) {
  .lv-account .lv-screen-header { margin-bottom: 16px; }
  .lv-account .lv-screen-header .subtitle {
    max-width: 100%;       /* aprovecha el ancho disponible */
    font-size: 14px;
  }
  .lv-account .lv-chips {
    gap: 6px;
    margin-top: 12px;
  }
  .lv-account .lv-chip {
    padding: 7px 12px;
    font-size: 12px;
  }
}

/* â”€â”€â”€ 5. Empty-state / lista de pedidos: no se pegue a los chips â”€ */
.lv-account .lv-orders-list { margin-top: 4px; }
.lv-account .lv-empty { margin-top: 4px; }

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   FIN del parche mi-cuenta-pedidos-append.css
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */