/* VapEsence 2026-11-10 - zona de cliente: desplegable de idioma, inicio de sesión, recuperar contraseña y Mi cuenta (panel).
   Archivo independiente (no entra en la caché CCC). Reutiliza la paleta de vapesence-cart-page.css.
   Reversión: quitar el <link> de head.tpl y restaurar las plantillas desde la copia previa. */

:root {
  --vs-ic-user: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232563eb' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c0-4.4 3.6-8 8-8s8 3.6 8 8'/%3E%3C/svg%3E");
  --vs-icw-user: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c0-4.4 3.6-8 8-8s8 3.6 8 8'/%3E%3C/svg%3E");
  --vs-ic-pin: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232563eb' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11a7 7 0 0114 0c0 4.8-7 11-7 11z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E");
  --vs-icw-pin: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11a7 7 0 0114 0c0 4.8-7 11-7 11z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E");
  --vs-ic-box: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232563eb' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 8l-9-5-9 5v8l9 5 9-5V8z'/%3E%3Cpath d='M3 8l9 5 9-5M12 13v8'/%3E%3C/svg%3E");
  --vs-icw-box: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 8l-9-5-9 5v8l9 5 9-5V8z'/%3E%3Cpath d='M3 8l9 5 9-5M12 13v8'/%3E%3C/svg%3E");
  --vs-ic-file: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232563eb' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3H7a2 2 0 00-2 2v14a2 2 0 002 2h10a2 2 0 002-2V8l-5-5z'/%3E%3Cpath d='M14 3v5h5M9 13h6M9 17h6'/%3E%3C/svg%3E");
  --vs-icw-file: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3H7a2 2 0 00-2 2v14a2 2 0 002 2h10a2 2 0 002-2V8l-5-5z'/%3E%3Cpath d='M14 3v5h5M9 13h6M9 17h6'/%3E%3C/svg%3E");
  --vs-ic-tag: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232563eb' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.6 13.4l-7.2 7.2a2 2 0 01-2.8 0L3 13V3h10l7.6 7.6a2 2 0 010 2.8z'/%3E%3Ccircle cx='7.5' cy='7.5' r='1.2'/%3E%3C/svg%3E");
  --vs-icw-tag: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.6 13.4l-7.2 7.2a2 2 0 01-2.8 0L3 13V3h10l7.6 7.6a2 2 0 010 2.8z'/%3E%3Ccircle cx='7.5' cy='7.5' r='1.2'/%3E%3C/svg%3E");
  --vs-ic-undo: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232563eb' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 7v6h6'/%3E%3Cpath d='M3.5 13A9 9 0 1112 21'/%3E%3C/svg%3E");
  --vs-icw-undo: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 7v6h6'/%3E%3Cpath d='M3.5 13A9 9 0 1112 21'/%3E%3C/svg%3E");
  --vs-ic-redo: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232563eb' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12a9 9 0 11-3-6.7L21 8'/%3E%3Cpath d='M21 3v5h-5'/%3E%3C/svg%3E");
  --vs-icw-redo: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12a9 9 0 11-3-6.7L21 8'/%3E%3Cpath d='M21 3v5h-5'/%3E%3C/svg%3E");
  --vs-ic-heart: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232563eb' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.8 5.6a5.2 5.2 0 00-7.4 0L12 7l-1.4-1.4a5.2 5.2 0 00-7.4 7.4L12 21.8l8.8-8.8a5.2 5.2 0 000-7.4z'/%3E%3C/svg%3E");
  --vs-icw-heart: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.8 5.6a5.2 5.2 0 00-7.4 0L12 7l-1.4-1.4a5.2 5.2 0 00-7.4 7.4L12 21.8l8.8-8.8a5.2 5.2 0 000-7.4z'/%3E%3C/svg%3E");
  --vs-ic-shield: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232563eb' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l8 3v6c0 4.5-3.2 8.2-8 9-4.8-.8-8-4.5-8-9V6l8-3z'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E");
  --vs-icw-shield: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l8 3v6c0 4.5-3.2 8.2-8 9-4.8-.8-8-4.5-8-9V6l8-3z'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E");
  --vs-ic-bell: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232563eb' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 8a6 6 0 10-12 0c0 7-3 8-3 8h18s-3-1-3-8'/%3E%3Cpath d='M13.7 21a2 2 0 01-3.4 0'/%3E%3C/svg%3E");
  --vs-icw-bell: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 8a6 6 0 10-12 0c0 7-3 8-3 8h18s-3-1-3-8'/%3E%3Cpath d='M13.7 21a2 2 0 01-3.4 0'/%3E%3C/svg%3E");
  --vs-ic-cookie: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232563eb' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12a9 9 0 11-9-9 3 3 0 003 3 3 3 0 003 3 3 3 0 003 3z'/%3E%3Ccircle cx='9' cy='11' r='.9'/%3E%3Ccircle cx='12' cy='16' r='.9'/%3E%3Ccircle cx='15.5' cy='14' r='.9'/%3E%3C/svg%3E");
  --vs-icw-cookie: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12a9 9 0 11-9-9 3 3 0 003 3 3 3 0 003 3 3 3 0 003 3z'/%3E%3Ccircle cx='9' cy='11' r='.9'/%3E%3Ccircle cx='12' cy='16' r='.9'/%3E%3Ccircle cx='15.5' cy='14' r='.9'/%3E%3C/svg%3E");
  --vs-ic-out: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232563eb' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 21H5a2 2 0 01-2-2V5a2 2 0 012-2h4'/%3E%3Cpath d='M16 17l5-5-5-5M21 12H9'/%3E%3C/svg%3E");
  --vs-icw-out: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 21H5a2 2 0 01-2-2V5a2 2 0 012-2h4'/%3E%3Cpath d='M16 17l5-5-5-5M21 12H9'/%3E%3C/svg%3E");
  --vs-ic-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232563eb' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E");
  --vs-ic-chev: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232563eb' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6l6 6-6 6'/%3E%3C/svg%3E");
  --vs-ic-out-mut: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2366758d' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 21H5a2 2 0 01-2-2V5a2 2 0 012-2h4'/%3E%3Cpath d='M16 17l5-5-5-5M21 12H9'/%3E%3C/svg%3E");
  --vs-ic-out-red: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d92b4b' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 21H5a2 2 0 01-2-2V5a2 2 0 012-2h4'/%3E%3Cpath d='M16 17l5-5-5-5M21 12H9'/%3E%3C/svg%3E");
}

:root {
  --vs-a-blue: #2563eb; --vs-a-blue-d: #1d4fd0; --vs-a-blue-soft: #eaf1ff; --vs-a-ink: #07182e; --vs-a-title: #001738;
  --vs-a-mut: #66758d; --vs-a-line: #e6ecf5; --vs-a-field: #d3dcec; --vs-a-soft: #f5f8fd; --vs-a-red: #d92b4b; --vs-a-green: #12935a;
  --vs-a-shadow: 0 1px 2px rgba(0, 16, 42, .04), 0 12px 32px rgba(0, 16, 42, .07);
  --vs-a-font: Inter, Arial, sans-serif;
}

/* ================================================================== */
/* 1. Desplegable de idioma (cabecera)                                  */
/* ================================================================== */
html body #language_selector#language_selector .dropdown-menu {
  min-width: 190px; padding: 6px; margin: 10px 0 0; border: 1px solid var(--vs-a-line); border-radius: 14px; background: #fff;
  box-shadow: 0 22px 54px rgba(0, 16, 42, .20); overflow: hidden; font-family: var(--vs-a-font);
}
html body #language_selector#language_selector .dropdown-menu ul { display: flex; flex-direction: column; gap: 2px; margin: 0; padding: 0; list-style: none; }
html body #language_selector#language_selector .dropdown-menu li { display: block; margin: 0; padding: 0; list-style: none; }
html body #language_selector#language_selector .dropdown-menu .dropdown-item {
  display: flex; align-items: center; gap: 12px; width: 100%; margin: 0; padding: 10px 12px; border-radius: 10px; background: transparent;
  color: var(--vs-a-ink); font: 600 14.5px/1.2 var(--vs-a-font); text-transform: none; text-decoration: none; white-space: nowrap; transition: background .15s, color .15s;
}
html body #language_selector#language_selector .dropdown-menu .lang-flag {
  display: block; flex: 0 0 auto; width: 22px; height: 15px; margin: 0; border-radius: 3px; object-fit: cover; box-shadow: 0 0 0 1px rgba(0, 16, 42, .14);
}
html body #language_selector#language_selector .dropdown-menu .dropdown-item:hover,
html body #language_selector#language_selector .dropdown-menu .dropdown-item:focus-visible { background: var(--vs-a-soft); color: var(--vs-a-blue); outline: 0; }
html body #language_selector#language_selector .dropdown-menu li.current .dropdown-item { background: var(--vs-a-blue-soft); color: var(--vs-a-blue); font-weight: 800; }
html body #language_selector#language_selector .dropdown-menu .vs-lang__check { display: none; margin-left: auto; width: 16px; height: 16px; }
html body #language_selector#language_selector .dropdown-menu li.current .vs-lang__check {
  display: block; background: var(--vs-ic-check) center / 16px 16px no-repeat;
}
html body #language_selector#language_selector .vs-lang__cur { display: inline; }

/* ================================================================== */
/* 2. Botones y estados vacíos compartidos                              */
/* ================================================================== */
.vs-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; margin: 0; padding: 0 20px; border-radius: 10px;
  border: 1px solid transparent; font: 700 14.5px/1.2 var(--vs-a-font); letter-spacing: 0; text-transform: none; text-decoration: none; cursor: pointer;
  transition: background .15s, border-color .15s, color .15s, box-shadow .15s;
}
.vs-btn--primary, .vs-btn--primary:visited { background: var(--vs-a-blue); border-color: var(--vs-a-blue); color: #fff; }
.vs-btn--primary:hover, .vs-btn--primary:focus-visible { background: var(--vs-a-blue-d); border-color: var(--vs-a-blue-d); color: #fff; box-shadow: 0 6px 16px rgba(37, 99, 235, .28); }
.vs-btn--ghost, .vs-btn--ghost:visited { background: #fff; border-color: var(--vs-a-field); color: var(--vs-a-ink); }
.vs-btn--ghost:hover, .vs-btn--ghost:focus-visible { border-color: var(--vs-a-blue); color: var(--vs-a-blue); background: var(--vs-a-soft); }

.vs-empty { display: flex; flex-direction: column; align-items: center; text-align: center; padding: 36px 18px 30px; }
.vs-empty__ic { width: 76px; height: 76px; margin-bottom: 18px; border-radius: 50%; background: var(--vs-a-blue-soft) center / 36px 36px no-repeat; }
.vs-empty__ic--box { background-image: var(--vs-ic-box); }
.vs-empty__ic--tag { background-image: var(--vs-ic-tag); }
.vs-empty__ic--file { background-image: var(--vs-ic-file); }
.vs-empty__ic--pin { background-image: var(--vs-ic-pin); }
.vs-empty__ic--bell { background-image: var(--vs-ic-bell); }
.vs-empty__ic--heart { background-image: var(--vs-ic-heart); }
.vs-empty__title { margin: 0 0 8px; font: 800 21px/1.2 var(--vs-a-font); letter-spacing: -.02em; color: var(--vs-a-title); }
.vs-empty__text { max-width: 420px; margin: 0 0 22px; color: var(--vs-a-mut); font: 400 15px/1.5 var(--vs-a-font); }

/* ================================================================== */
/* 3. Inicio de sesión y recuperar contraseña                           */
/* ================================================================== */
html body#authentication .page-header, html body#password .page-header { margin: 8px 0 22px; padding: 0; text-align: center; background: none; border: 0; }
html body#authentication .page-header .page-title, html body#password .page-header .page-title {
  margin: 0; padding: 0; font: 850 30px/1.15 var(--vs-a-font); letter-spacing: -.035em; color: var(--vs-a-title); text-align: center;
}
html body#authentication .page-title::before, html body#authentication .page-title::after,
html body#password .page-title::before, html body#password .page-title::after { display: none; }
html body#authentication .page-title span, html body#password .page-title span { padding: 0; background: none; border: 0; }
html body#authentication #content, html body#password #content { background: transparent; border: 0; box-shadow: none; padding: 0; }

.vs-auth { display: grid; grid-template-columns: minmax(0, 480px) minmax(0, 420px); gap: 28px; justify-content: center; align-items: start; max-width: 940px; margin: 0 auto 44px; font-family: var(--vs-a-font); }
.vs-auth--solo { grid-template-columns: minmax(0, 480px); }
.vs-auth__card { background: #fff; border: 1px solid var(--vs-a-line); border-radius: 16px; box-shadow: var(--vs-a-shadow); padding: 32px; }
.vs-auth__lead { margin: 0 0 22px; color: var(--vs-a-mut); font: 400 15px/1.5 var(--vs-a-font); text-align: left; }

.vs-auth .login-form { margin: 0; padding: 0; border: 0; background: none; }
.vs-auth form .form-group.row { display: block; margin: 0 0 16px; }
.vs-auth form .form-group.row > [class*="col-"], .vs-auth form .form-group > [class*="col-"] { width: 100%; max-width: 100%; flex: none; padding: 0; }
.vs-auth form .form-group.row > .form-control-comment { display: none; }
.vs-auth form .col-form-label, .vs-auth form label {
  display: block; width: 100%; max-width: none; padding: 0; margin: 0 0 7px; text-align: left; color: var(--vs-a-ink); font: 650 14px/1.3 var(--vs-a-font);
}
.vs-auth form .form-control {
  display: block; width: 100%; height: 48px; padding: 0 14px; border: 1px solid var(--vs-a-field); border-radius: 10px; background: #fff;
  color: var(--vs-a-ink); font: 400 15.5px/1.2 var(--vs-a-font); box-shadow: none; transition: border-color .15s, box-shadow .15s;
}
.vs-auth form .form-control:focus { border-color: var(--vs-a-blue); box-shadow: 0 0 0 3px rgba(37, 99, 235, .16); outline: 0; }
.vs-auth form .input-group { display: flex; flex-wrap: nowrap; align-items: stretch; width: 100%; }
.vs-auth form .input-group .form-control { flex: 1 1 auto; width: 1%; border-radius: 10px 0 0 10px; }
.vs-auth form .input-group-append { display: flex; margin: 0; }
.vs-auth form .input-group-append .btn {
  display: inline-flex; align-items: center; justify-content: center; width: 50px; height: 48px; margin: 0; padding: 0; border: 1px solid var(--vs-a-field); border-left: 0;
  border-radius: 0 10px 10px 0; background: #fff; color: var(--vs-a-mut); box-shadow: none;
}
.vs-auth form .input-group-append .btn:hover { color: var(--vs-a-blue); background: var(--vs-a-soft); }
.vs-auth form .input-group:focus-within .form-control, .vs-auth form .input-group:focus-within .btn { border-color: var(--vs-a-blue); }
html body#authentication .vs-auth .forgot-password, html body .vs-auth .forgot-password { margin: -4px 0 20px; padding: 0; text-align: right; font-size: 13.5px; }
.vs-auth .forgot-password a { color: var(--vs-a-mut); font: 500 13.5px/1.3 var(--vs-a-font); text-decoration: none; }
.vs-auth .forgot-password a:hover { color: var(--vs-a-blue); text-decoration: underline; }
.vs-auth .form-footer { margin: 0; padding: 0; text-align: center; }
.vs-auth #submit-login, .vs-auth .vs-btn-block {
  display: flex; align-items: center; justify-content: center; width: 100%; height: 50px; margin: 0; padding: 0 18px; border: 0; border-radius: 10px; background: var(--vs-a-blue);
  color: #fff; font: 750 16px/1 var(--vs-a-font); text-transform: none; letter-spacing: 0; cursor: pointer; transition: background .15s, box-shadow .15s;
}
.vs-auth #submit-login:hover, .vs-auth .vs-btn-block:hover { background: var(--vs-a-blue-d); box-shadow: 0 8px 20px rgba(37, 99, 235, .28); }
.vs-auth .help-block ul, .vs-auth .alert { border-radius: 10px; font-size: 14px; }
.vs-auth hr { display: none; }

/* Bloque "¿Eres nuevo?" */
.vs-auth__new { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 26px 0 0; padding: 18px; border-radius: 14px; background: var(--vs-a-soft); border: 1px solid var(--vs-a-line); text-align: left; }
.vs-auth__new-txt { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.vs-auth__new-txt strong { font: 800 16px/1.2 var(--vs-a-font); color: var(--vs-a-title); }
.vs-auth__new-txt span { font: 400 13.5px/1.35 var(--vs-a-font); color: var(--vs-a-mut); }
.vs-auth__new .vs-btn { flex: 0 0 auto; }

/* Ventajas */
.vs-auth__perks { padding: 28px; border-radius: 16px; border: 1px solid #d9e4f6; background: linear-gradient(160deg, #f4f8ff 0%, #e4edff 100%); }
.vs-auth__perks-title { margin: 0 0 18px; font: 850 19px/1.2 var(--vs-a-font); letter-spacing: -.02em; color: var(--vs-a-title); }
.vs-auth__perks-list { display: flex; flex-direction: column; gap: 16px; margin: 0; padding: 0; list-style: none; }
.vs-perk { display: flex; align-items: flex-start; gap: 14px; margin: 0; padding: 0; }
.vs-perk__ic { flex: 0 0 auto; width: 42px; height: 42px; border-radius: 12px; background: #fff center / 22px 22px no-repeat; box-shadow: 0 2px 8px rgba(0, 23, 56, .08); }
.vs-perk--box .vs-perk__ic { background-image: var(--vs-ic-box); }
.vs-perk--redo .vs-perk__ic { background-image: var(--vs-ic-redo); }
.vs-perk--bell .vs-perk__ic { background-image: var(--vs-ic-bell); }
.vs-perk--pin .vs-perk__ic { background-image: var(--vs-ic-pin); }
.vs-perk strong { display: block; font: 750 15px/1.3 var(--vs-a-font); color: var(--vs-a-title); }
.vs-perk p { margin: 2px 0 0; font: 400 13.5px/1.45 var(--vs-a-font); color: var(--vs-a-mut); }

/* Recuperar contraseña */
.vs-recover-form .form-group { margin: 0 0 16px; }
.vs-recover-form label { display: block; width: 100%; margin: 0 0 7px; color: var(--vs-a-ink); font: 650 14px/1.3 var(--vs-a-font); }
.vs-recover-form .form-control {
  display: block; width: 100%; height: 48px; padding: 0 14px; border: 1px solid var(--vs-a-field); border-radius: 10px; background: #fff;
  color: var(--vs-a-ink); font: 400 15.5px/1.2 var(--vs-a-font); box-shadow: none;
}
.vs-recover-form .form-control:focus { border-color: var(--vs-a-blue); box-shadow: 0 0 0 3px rgba(37, 99, 235, .16); outline: 0; }
.vs-recover-form .vs-btn-block { margin-top: 4px; }
.vs-auth__back { display: flex; align-items: center; justify-content: center; gap: 8px; margin: 22px 0 0; color: var(--vs-a-mut); font: 600 14px/1.3 var(--vs-a-font); text-decoration: none; }
.vs-auth__back:hover { color: var(--vs-a-blue); }
.vs-auth__errors { margin: 0 0 18px; padding: 0; list-style: none; }

/* Registro (misma familia visual, solo CSS) */
html body#registration .page-header { margin: 8px 0 18px; padding: 0; text-align: center; background: none; border: 0; }
html body#registration .page-header .page-title { margin: 0; font: 850 30px/1.15 var(--vs-a-font); letter-spacing: -.035em; color: var(--vs-a-title); }
html body#registration .page-title::before, html body#registration .page-title::after { display: none; }
html body#registration .page-title span { padding: 0; background: none; border: 0; }
html body#registration #content { max-width: 760px; margin: 0 auto 44px; padding: 28px; background: #fff; border: 1px solid var(--vs-a-line); border-radius: 16px; box-shadow: var(--vs-a-shadow); }
html body#registration .form-control { height: 46px; border: 1px solid var(--vs-a-field); border-radius: 10px; box-shadow: none; }
html body#registration .form-control:focus { border-color: var(--vs-a-blue); box-shadow: 0 0 0 3px rgba(37, 99, 235, .16); }
html body#registration .form-control-submit.btn { min-height: 48px; padding: 0 28px; border-radius: 10px; font-weight: 700; }

/* ================================================================== */
/* 4. Mi cuenta                                                         */
/* ================================================================== */
html body .vs-acc-header { max-width: 1180px; margin: 6px auto 18px; padding: 0; text-align: left; background: none; border: 0; }
html body .vs-acc-header .page-title { margin: 0; padding: 0; text-align: left; font: 850 28px/1.15 var(--vs-a-font); letter-spacing: -.035em; color: var(--vs-a-title); }
html body .vs-acc-header .page-title::before, html body .vs-acc-header .page-title::after { display: none; }
html body .vs-acc-header .page-title span { padding: 0; background: none; border: 0; }

html body #content.vs-acc, html body .vs-acc { max-width: 1180px; margin: 0 auto 34px; padding: 0; background: transparent; border: 0; box-shadow: none; font-family: var(--vs-a-font); }
.vs-acc__layout { display: grid; grid-template-columns: 276px minmax(0, 1fr); gap: 24px; align-items: start; }
body#my-account .vs-acc__layout, .vs-acc__layout--solo { grid-template-columns: minmax(0, 1fr); }
html body .vs-acc__side, html body .vs-acc__side.my-account-side-links { min-width: 0; border: 0; padding: 0; }
.vs-acc__nav { position: sticky; top: 20px; padding: 14px; background: #fff; border: 1px solid var(--vs-a-line); border-radius: 16px; box-shadow: var(--vs-a-shadow); }
.vs-acc__nav-title { margin: 6px 10px 10px; font: 800 11.5px/1 var(--vs-a-font); letter-spacing: .09em; text-transform: uppercase; color: var(--vs-a-mut); }

.vs-acc-links { display: flex; flex-direction: column; gap: 3px; }
.vs-acc-links > a {
  --ic: var(--vs-ic-user); --icw: var(--vs-icw-user);
  position: relative; display: flex; align-items: center; gap: 12px; width: auto; max-width: none; flex: none; float: none; margin: 0; padding: 9px 10px; border-radius: 12px;
  color: var(--vs-a-ink); font: 650 14.5px/1.3 var(--vs-a-font); text-decoration: none; transition: background .15s, color .15s;
}
.vs-acc-links > a .link-item { display: block; margin: 0; padding: 0; background: none; border: 0; color: inherit; font: inherit; text-transform: none; }
.vs-acc-links > a::before {
  content: ""; flex: 0 0 auto; width: 36px; height: 36px; border-radius: 11px; background: var(--vs-a-blue-soft) var(--ic) center / 20px 20px no-repeat; transition: background-color .15s;
}
.vs-acc-links > a i, .vs-acc-links > a img, .vs-acc-links > a .material-icons { display: none; }
.vs-acc-links > a:hover { background: var(--vs-a-soft); color: var(--vs-a-blue); }
.vs-acc-links > a.is-active { background: var(--vs-a-blue); color: #fff; }
.vs-acc-links > a.is-active::before { background: rgba(255, 255, 255, .18) var(--icw) center / 20px 20px no-repeat; }
.vs-acc-links > a.vs-acc-logout { margin-top: 8px; color: var(--vs-a-mut); }
.vs-acc-links > a.vs-acc-logout:hover { background: #fff1f3; color: var(--vs-a-red); }
.vs-acc-links > a.vs-acc-logout::before { background-color: #f1f4f9; --ic: var(--vs-ic-out-mut); }
.vs-acc-links > a.vs-acc-logout:hover::before { --ic: var(--vs-ic-out-red); background-color: #ffe3e8; }

.vs-acc-links > a.vs-i-user { --ic: var(--vs-ic-user); --icw: var(--vs-icw-user); }
.vs-acc-links > a.vs-i-pin { --ic: var(--vs-ic-pin); --icw: var(--vs-icw-pin); }
.vs-acc-links > a.vs-i-box { --ic: var(--vs-ic-box); --icw: var(--vs-icw-box); }
.vs-acc-links > a.vs-i-file { --ic: var(--vs-ic-file); --icw: var(--vs-icw-file); }
.vs-acc-links > a.vs-i-tag { --ic: var(--vs-ic-tag); --icw: var(--vs-icw-tag); }
.vs-acc-links > a.vs-i-undo { --ic: var(--vs-ic-undo); --icw: var(--vs-icw-undo); }
.vs-acc-links > a[href*="iqitwishlist"], .vs-acc-links > a[href*="blockwishlist"] { --ic: var(--vs-ic-heart); --icw: var(--vs-icw-heart); }
.vs-acc-links > a[href*="psgdpr"] { --ic: var(--vs-ic-shield); --icw: var(--vs-icw-shield); }
.vs-acc-links > a[href*="lgcookieslaw"] { --ic: var(--vs-ic-cookie); --icw: var(--vs-icw-cookie); }
.vs-acc-links > a[href*="ps_emailalerts"], .vs-acc-links > a#emailsalerts { --ic: var(--vs-ic-bell); --icw: var(--vs-icw-bell); }

/* Contenido principal */
.vs-acc__main { min-width: 0; padding: 28px; background: #fff; border: 1px solid var(--vs-a-line); border-radius: 16px; box-shadow: var(--vs-a-shadow); }
body#my-account .vs-acc__main { padding: 0; background: transparent; border: 0; box-shadow: none; }
.vs-acc__main > .vs-acc__title, .vs-acc__title { margin: 0 0 18px; padding: 0; font: 850 24px/1.2 var(--vs-a-font); letter-spacing: -.03em; color: var(--vs-a-title); text-align: left; }
.vs-acc__intro { margin: -6px 0 20px; color: var(--vs-a-mut); font: 400 15px/1.5 var(--vs-a-font); }
.vs-acc__main h6 { margin: 0 0 18px; color: var(--vs-a-mut); font: 400 15px/1.5 var(--vs-a-font); text-transform: none; }
.vs-acc__main .alert { border-radius: 12px; }

/* Portada: saludo y tarjetas */
.vs-acc-hero { display: flex; align-items: center; gap: 18px; margin: 0 0 22px; padding: 22px 24px; border-radius: 16px; border: 1px solid #d9e4f6; background: linear-gradient(160deg, #f4f8ff 0%, #e4edff 100%); }
.vs-acc-hero__avatar { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; width: 58px; height: 58px; border-radius: 50%; background: var(--vs-a-blue); color: #fff; font: 800 24px/1 var(--vs-a-font); }
.vs-acc-hero__title { margin: 0; padding: 0; font: 850 26px/1.15 var(--vs-a-font); letter-spacing: -.03em; color: var(--vs-a-title); text-align: left; }
.vs-acc-hero__sub { margin: 4px 0 0; font: 400 15px/1.45 var(--vs-a-font); color: var(--vs-a-mut); }

.vs-acc-links--grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.vs-acc-links--grid > a {
  flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: 16px; min-height: 148px; padding: 22px; border-radius: 16px; background: #fff;
  border: 1px solid var(--vs-a-line); box-shadow: var(--vs-a-shadow); font-size: 16.5px; font-weight: 750; color: var(--vs-a-title); transition: transform .15s, box-shadow .15s, border-color .15s;
}
.vs-acc-links--grid > a::before { width: 50px; height: 50px; border-radius: 14px; background-size: 26px 26px; }
.vs-acc-links--grid > a::after {
  content: ""; position: absolute; top: 22px; right: 20px; width: 20px; height: 20px; background: var(--vs-ic-chev) center / 20px 20px no-repeat; opacity: .55; transition: transform .15s, opacity .15s;
}
.vs-acc-links--grid > a:hover { transform: translateY(-3px); border-color: #b9cdf7; background: #fff; color: var(--vs-a-blue); box-shadow: 0 2px 4px rgba(0, 16, 42, .05), 0 18px 40px rgba(37, 99, 235, .14); }
.vs-acc-links--grid > a:hover::after { transform: translateX(3px); opacity: 1; }
.vs-acc-links--grid > a.vs-acc-logout { margin: 0; background: #fbfcfe; color: var(--vs-a-mut); font-weight: 650; }
.vs-acc-links--grid > a.vs-acc-logout:hover { background: #fff1f3; border-color: #f4c3cc; color: var(--vs-a-red); }

/* Formularios de la cuenta (información, direcciones) */
.vs-acc__main form .form-group.row { margin-bottom: 18px; }
.vs-acc__main form .col-form-label, .vs-acc__main form label { color: var(--vs-a-ink); font: 650 14px/1.35 var(--vs-a-font); }
.vs-acc__main form .form-control { min-height: 46px; padding: 8px 14px; border: 1px solid var(--vs-a-field); border-radius: 10px; background: #fff; box-shadow: none; font-size: 15.5px; color: var(--vs-a-ink); }
.vs-acc__main form select.form-control { padding-right: 34px; }
.vs-acc__main form .form-control:focus { border-color: var(--vs-a-blue); box-shadow: 0 0 0 3px rgba(37, 99, 235, .16); outline: 0; }
.vs-acc__main form .input-group-append .btn { height: 46px; border: 1px solid var(--vs-a-field); border-left: 0; border-radius: 0 10px 10px 0; background: #fff; color: var(--vs-a-mut); box-shadow: none; }
.vs-acc__main form .input-group .form-control { border-radius: 10px 0 0 10px; }
.vs-acc__main form .form-control-submit.btn, .vs-acc__main form button[type="submit"].btn-primary {
  min-height: 48px; padding: 0 30px; border: 0; border-radius: 10px; background: var(--vs-a-blue); color: #fff; font: 700 15px/1.2 var(--vs-a-font); text-transform: none; letter-spacing: 0;
}
.vs-acc__main form .form-control-submit.btn:hover { background: var(--vs-a-blue-d); }
.vs-acc__main .form-footer { margin-top: 8px; }

/* Direcciones */
.vs-acc__main .addresses-footer { margin: 22px 0 0; text-align: left; }
.vs-acc__main article.address { display: flex; flex-direction: column; height: 100%; margin: 0 0 16px; padding: 0; background: #fff; border: 1px solid var(--vs-a-line); border-radius: 14px; box-shadow: none; overflow: hidden; }
.vs-acc__main article.address .address-body { flex: 1 1 auto; padding: 18px; }
.vs-acc__main article.address h4 { margin: 0 0 8px; font: 800 16px/1.2 var(--vs-a-font); color: var(--vs-a-title); text-transform: none; }
.vs-acc__main article.address address { margin: 0; color: var(--vs-a-mut); font: 400 14.5px/1.55 var(--vs-a-font); }
.vs-acc__main article.address .address-footer { display: flex; gap: 8px; padding: 12px 18px; background: var(--vs-a-soft); border-top: 1px solid var(--vs-a-line); }
.vs-acc__main article.address .address-footer a { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: 999px; background: #fff; border: 1px solid var(--vs-a-field); color: var(--vs-a-ink); font: 600 13px/1.2 var(--vs-a-font); text-decoration: none; }
.vs-acc__main article.address .address-footer a:hover { border-color: var(--vs-a-blue); color: var(--vs-a-blue); }
.vs-acc__main article.address .address-footer a[data-link-action="delete-address"]:hover { border-color: var(--vs-a-red); color: var(--vs-a-red); }

/* Historial de pedidos: tarjetas */
.vs-orders { display: flex; flex-direction: column; gap: 14px; }
.vs-ord { padding: 18px 20px; background: #fff; border: 1px solid var(--vs-a-line); border-radius: 14px; box-shadow: 0 1px 2px rgba(0, 16, 42, .04); transition: border-color .15s, box-shadow .15s; }
.vs-ord:hover { border-color: #c9d8f3; box-shadow: var(--vs-a-shadow); }
.vs-ord__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.vs-ord__id { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.vs-ord__ref { font: 800 17px/1.25 var(--vs-a-font); color: var(--vs-a-title); text-decoration: none; letter-spacing: .01em; word-break: break-all; }
.vs-ord__ref:hover { color: var(--vs-a-blue); }
.vs-ord__date { color: var(--vs-a-mut); font: 400 13.5px/1.3 var(--vs-a-font); }
html body .vs-ord__status.label, html body .vs-ord__status.label-pill {
  display: inline-block; flex: 0 0 auto; margin: 0; padding: 5px 12px; border-radius: 999px; color: var(--vs-a-ink); font: 700 12.5px/1.2 var(--vs-a-font); text-transform: none; letter-spacing: 0; white-space: nowrap;
}
html body .vs-ord__status.bright { color: #fff; }
.vs-ord__meta { display: flex; flex-wrap: wrap; gap: 8px 36px; margin: 14px 0 16px; padding: 12px 0 0; border-top: 1px solid var(--vs-a-line); }
.vs-ord__meta > div { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.vs-ord__meta dt { margin: 0; color: var(--vs-a-mut); font: 600 11.5px/1.2 var(--vs-a-font); letter-spacing: .06em; text-transform: uppercase; }
.vs-ord__meta dd { margin: 0; color: var(--vs-a-ink); font: 600 15px/1.35 var(--vs-a-font); }
.vs-ord__total { font-weight: 800 !important; font-size: 17px !important; color: var(--vs-a-title) !important; }
.vs-ord__actions { display: flex; flex-wrap: wrap; gap: 8px; }
.vs-ord__actions .vs-btn { min-height: 40px; padding: 0 16px; font-size: 14px; }

/* Detalle del pedido */
.page-order-detail .vs-od-head { display: flex; align-items: center; justify-content: space-between; gap: 14px 18px; flex-wrap: wrap; margin: 0 0 16px !important; padding: 16px 18px; border-radius: 14px; background: var(--vs-a-soft); border: 1px solid var(--vs-a-line); }
.vs-od-head__txt { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 12px; min-width: 0; color: var(--vs-a-title); font: 700 15.5px/1.35 var(--vs-a-font); }
.vs-od-head__actions { display: flex; flex-wrap: wrap; gap: 8px; }
.vs-od-head__actions .vs-btn { min-height: 42px; }
.page-order-detail .box, .vs-acc__main .box { margin: 0 0 16px; padding: 18px; background: #fff; border: 1px solid var(--vs-a-line); border-radius: 14px; box-shadow: none; }
.page-order-detail .vs-od-track { display: flex; align-items: center; justify-content: space-between; gap: 12px 18px; flex-wrap: wrap; background: var(--vs-a-blue-soft); border-color: #cddcf8; }
.page-order-detail .vs-od-track p { margin: 0; color: var(--vs-a-ink); font-weight: 600; }
.page-order-detail .addresses .box h4 { margin: 0 0 8px; font: 800 15.5px/1.25 var(--vs-a-font); color: var(--vs-a-title); text-transform: none; }
.page-order-detail address { margin: 0; color: var(--vs-a-mut); font-size: 14.5px; line-height: 1.55; }
.vs-acc__main table { width: 100%; margin: 0; border-collapse: separate; border-spacing: 0; border: 1px solid var(--vs-a-line); border-radius: 12px; overflow: hidden; background: #fff; }
.vs-acc__main table thead th { padding: 11px 14px; background: var(--vs-a-soft); border: 0; border-bottom: 1px solid var(--vs-a-line); color: var(--vs-a-mut); font: 700 12px/1.2 var(--vs-a-font); letter-spacing: .05em; text-transform: uppercase; }
.vs-acc__main table td, .vs-acc__main table tbody th { padding: 12px 14px; border: 0; border-bottom: 1px solid var(--vs-a-line); background: #fff; font-size: 14.5px; vertical-align: middle; }
.vs-acc__main table tbody tr:last-child td, .vs-acc__main table tbody tr:last-child th { border-bottom: 0; }
.vs-acc__main table.table-striped > tbody > tr:nth-of-type(odd) > * { background: #fff; }
.vs-acc__main .box table { border: 0; }
.vs-acc__main .box > table { border: 1px solid var(--vs-a-line); }
.vs-acc__main table a { color: var(--vs-a-blue); font-weight: 600; }
.vs-acc__main .box .label-pill { display: inline-block; padding: 4px 11px; border-radius: 999px; font: 700 12.5px/1.2 var(--vs-a-font); text-transform: none; }

/* RGPD (datos personales) */
.vs-gdpr .page_content { display: flex; flex-direction: column; gap: 16px; }
.vs-gdpr .vs-card { margin: 0; padding: 22px; background: #fff; border: 1px solid var(--vs-a-line); border-radius: 14px; }
.vs-gdpr .vs-card h2 { margin: 0 0 8px; font: 800 18px/1.25 var(--vs-a-font); letter-spacing: -.02em; color: var(--vs-a-title); text-transform: none; text-align: left; }
.vs-gdpr .vs-card p { margin: 0 0 14px; color: var(--vs-a-mut); font: 400 15px/1.55 var(--vs-a-font); }
.vs-gdpr .vs-card p:last-child { margin-bottom: 0; }
.vs-gdpr .vs-card a:not(.vs-btn) { color: var(--vs-a-blue); font-weight: 600; }
.vs-gdpr .vs-card a u { text-decoration: none; }
.vs-gdpr .clearfix { display: flex; flex-wrap: wrap; gap: 10px; }

/* Avisos de stock */
.vs-alerts { display: flex; flex-direction: column; gap: 10px; margin: 0; padding: 0; list-style: none; }
.vs-alert-row { display: flex; align-items: center; gap: 12px; margin: 0; padding: 12px 14px; background: #fff; border: 1px solid var(--vs-a-line); border-radius: 14px; }
.vs-alert-row__link { display: flex; flex: 1 1 auto; align-items: center; gap: 14px; min-width: 0; color: var(--vs-a-ink); font: 700 15px/1.3 var(--vs-a-font); text-decoration: none; }
.vs-alert-row__link:hover { color: var(--vs-a-blue); }
.vs-alert-row__link img { flex: 0 0 auto; width: 64px; height: 64px; object-fit: contain; border-radius: 10px; background: var(--vs-a-soft); border: 1px solid var(--vs-a-line); mix-blend-mode: multiply; }
.vs-alert-row__name small { display: block; margin-top: 3px; color: var(--vs-a-mut); font: 500 13px/1.3 var(--vs-a-font); }
.vs-alert-row__del { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 42px; height: 42px; border-radius: 10px; border: 1px solid var(--vs-a-line); background: #fff; color: var(--vs-a-mut); text-decoration: none; }
.vs-alert-row__del:hover { color: var(--vs-a-red); border-color: #f4c3cc; background: #fff1f3; }

/* Lista de favoritos (iqitwishlist) dentro de la zona de cuenta */
body#module-iqitwishlist-view #content, body#module-iqitwishlist-view .page-content { font-family: var(--vs-a-font); }
body#module-iqitwishlist-view .page-header .page-title { font: 850 28px/1.15 var(--vs-a-font); letter-spacing: -.035em; color: var(--vs-a-title); }
body#module-iqitwishlist-view .alert { border-radius: 12px; }

/* ================================================================== */
/* 5. Adaptación                                                        */
/* ================================================================== */
@media (max-width: 991.98px) {
  .vs-acc__layout { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .vs-acc__nav { position: static; padding: 0; background: transparent; border: 0; box-shadow: none; }
  .vs-acc__nav-title { display: none; }
  .vs-acc__nav .vs-acc-links { flex-direction: row; gap: 8px; overflow-x: auto; padding: 2px 2px 8px; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  .vs-acc__nav .vs-acc-links::-webkit-scrollbar { display: none; }
  .vs-acc__nav .vs-acc-links > a { flex: 0 0 auto; gap: 8px; padding: 6px 14px 6px 6px; border-radius: 999px; background: #fff; border: 1px solid var(--vs-a-line); box-shadow: 0 1px 2px rgba(0, 16, 42, .04); white-space: nowrap; font-size: 14px; }
  .vs-acc__nav .vs-acc-links > a::before { width: 30px; height: 30px; border-radius: 50%; background-size: 17px 17px; }
  .vs-acc__nav .vs-acc-links > a.is-active { border-color: var(--vs-a-blue); }
  .vs-acc__nav .vs-acc-links > a.vs-acc-logout { margin-top: 0; }
  .vs-acc__main { padding: 22px 18px; }
  .vs-acc-links--grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767.98px) {
  .vs-auth { grid-template-columns: minmax(0, 1fr); gap: 18px; margin-bottom: 30px; }
  .vs-auth__card { padding: 24px 20px; }
  .vs-auth__perks { padding: 22px 20px; }
  html body#authentication .page-header .page-title, html body#password .page-header .page-title, html body#registration .page-header .page-title { font-size: 25px; }
  .vs-auth__new { flex-direction: column; align-items: stretch; }
  .vs-auth__new .vs-btn { width: 100%; }
  html body#registration #content { padding: 20px 16px; }
  .vs-acc-hero { padding: 18px; gap: 14px; }
  .vs-acc-hero__avatar { width: 48px; height: 48px; font-size: 20px; }
  .vs-acc-hero__title { font-size: 22px; }
  .vs-acc-links--grid { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .vs-acc-links--grid > a { flex-direction: row; align-items: center; gap: 14px; min-height: 0; padding: 14px 16px; font-size: 16px; }
  .vs-acc-links--grid > a::before { width: 44px; height: 44px; background-size: 23px 23px; }
  .vs-acc-links--grid > a::after { top: 50%; margin-top: -10px; }
  .vs-acc-links--grid > a .link-item { padding-right: 28px; }
  .vs-ord { padding: 16px; }
  .vs-ord__actions .vs-btn { flex: 1 1 calc(50% - 8px); min-width: 130px; }
  .vs-od-head__actions { width: 100%; }
  .vs-od-head__actions .vs-btn { flex: 1 1 calc(50% - 8px); }
  .vs-acc__main .vs-acc__title, .vs-acc__title { font-size: 21px; }
  .vs-alert-row__link img { width: 52px; height: 52px; }
  .vs-acc__main .table-responsive, .page-order-detail .box { overflow-x: auto; }
}

/* ================================================================== */
/* 6. Colores de enlaces                                                */
/* El tema fija a:link:not(.nav-link):not(.btn) { color: #484848 } (0,3,1); aquí se iguala o supera.     */
/* ================================================================== */
html body a.vs-btn.vs-btn--primary:is(:link, :visited), html body a.vs-btn.vs-btn--primary:is(:link, :visited):hover, html body a.vs-btn.vs-btn--primary:focus-visible { color: #fff; }
html body a.vs-btn.vs-btn--ghost:is(:link, :visited) { color: var(--vs-a-ink); }
html body a.vs-btn.vs-btn--ghost:is(:link, :visited):hover, html body a.vs-btn.vs-btn--ghost:focus-visible { color: var(--vs-a-blue); }

html body .vs-acc .vs-acc-links > a:is(:link, :visited) { color: var(--vs-a-ink); }
html body .vs-acc .vs-acc-links > a:is(:link, :visited):hover { color: var(--vs-a-blue); }
html body .vs-acc .vs-acc-links > a.vs-acc-logout:is(:link, :visited) { color: var(--vs-a-mut); }
html body .vs-acc .vs-acc-links > a.vs-acc-logout:is(:link, :visited):hover { color: var(--vs-a-red); }
html body .vs-acc .vs-acc-links > a.is-active:is(:link, :visited), html body .vs-acc .vs-acc-links > a.is-active:is(:link, :visited):hover { color: #fff; }
html body .vs-acc .vs-acc-links--grid > a:is(:link, :visited) { color: var(--vs-a-title); }
html body .vs-acc .vs-acc-links--grid > a:is(:link, :visited):hover { color: var(--vs-a-blue); }
html body .vs-acc .vs-acc-links--grid > a.vs-acc-logout:is(:link, :visited) { color: var(--vs-a-mut); }
html body .vs-acc .vs-acc-links--grid > a.vs-acc-logout:is(:link, :visited):hover { color: var(--vs-a-red); }

html body .vs-ord a.vs-ord__ref:is(:link, :visited) { color: var(--vs-a-title); }
html body .vs-ord a.vs-ord__ref:is(:link, :visited):hover { color: var(--vs-a-blue); }
html body .vs-alert-row a.vs-alert-row__link:is(:link, :visited) { color: var(--vs-a-ink); }
html body .vs-alert-row a.vs-alert-row__link:is(:link, :visited):hover { color: var(--vs-a-blue); }
html body .vs-alert-row a.vs-alert-row__del:is(:link, :visited) { color: var(--vs-a-mut); }
html body .vs-alert-row a.vs-alert-row__del:is(:link, :visited):hover { color: var(--vs-a-red); }
html body .vs-auth a.vs-auth__back:is(:link, :visited) { color: var(--vs-a-mut); }
html body .vs-auth a.vs-auth__back:is(:link, :visited):hover { color: var(--vs-a-blue); }
html body .vs-auth .forgot-password a:is(:link, :visited) { color: var(--vs-a-mut); }
html body .vs-auth .forgot-password a:is(:link, :visited):hover { color: var(--vs-a-blue); }
html body .vs-acc__main article.address .address-footer a:is(:link, :visited) { color: var(--vs-a-ink); }
html body .vs-acc__main article.address .address-footer a:is(:link, :visited):hover { color: var(--vs-a-blue); }
html body .vs-acc__main article.address .address-footer a[data-link-action="delete-address"]:is(:link, :visited):hover { color: var(--vs-a-red); }
html body .vs-acc__main table a:is(:link, :visited) { color: var(--vs-a-blue); }
html body .vs-gdpr .vs-card a:not(.vs-btn):is(:link, :visited) { color: var(--vs-a-blue); }
html body .page-header.vs-acc-header h1.page-title, html body .page-header.vs-acc-header h1.page-title span { text-align: left; }
@media (max-width: 767.98px) { html body .page-header.vs-acc-header { padding: 0 2px; } }

/* ================================================================== */
/* 7. Selector de idioma del menú móvil (barra inferior)                */
/* ================================================================== */
html body .mobile-menu__language-selector .vs-mlang__cur { display: inline-flex; align-items: center; gap: 8px; color: var(--vs-a-ink); font: 700 14px/1.2 var(--vs-a-font); cursor: pointer; }
html body .mobile-menu__language-selector .vs-mlang__cur::after { content: ""; width: 6px; height: 6px; margin: -3px 0 0 2px; border: solid currentColor; border-width: 0 2px 2px 0; transform: rotate(45deg); opacity: .65; }
html body .mobile-menu__language-selector .lang-flag { display: block; flex: 0 0 auto; width: 22px; height: 15px; border-radius: 3px; object-fit: cover; box-shadow: 0 0 0 1px rgba(0, 16, 42, .14); }
html body .mobile-menu__language-selector .mobile-menu__language-currency-dropdown ul { min-width: 176px; margin: 10px 0 0; padding: 6px; list-style: none; background: #fff; border: 1px solid var(--vs-a-line); border-radius: 14px; box-shadow: 0 12px 32px rgba(0, 16, 42, .14); }
html body .mobile-menu__language-selector .mobile-menu__language-currency-dropdown li { margin: 0 !important; padding: 0; }
html body .mobile-menu__language-selector .mobile-menu__language-currency-dropdown li + li { margin-top: 2px !important; }
html body .mobile-menu__language-selector .mobile-menu__language-currency-dropdown a:is(:link, :visited) { display: flex; align-items: center; gap: 10px; padding: 11px 12px; border-radius: 10px; color: var(--vs-a-ink); font: 600 14.5px/1.2 var(--vs-a-font); text-decoration: none; }
html body .mobile-menu__language-selector .mobile-menu__language-currency-dropdown a:is(:link, :visited):hover { background: var(--vs-a-soft); color: var(--vs-a-blue); }
html body .mobile-menu__language-selector .mobile-menu__language-currency-dropdown li.current a:is(:link, :visited) { background: var(--vs-a-blue-soft); color: var(--vs-a-blue); font-weight: 800; }
html body .mobile-menu__language-selector .mobile-menu__language-currency-dropdown li.current a::after { content: ""; width: 16px; height: 16px; margin-left: auto; background: var(--vs-ic-check) center / 16px 16px no-repeat; }

/* 11/11/2026 titular: menos negrita en la zona de cliente */
.vs-acc-links > a, .vs-acc-links > a span, .vs-acc__nav .vs-acc-links > a { font-weight: 500 !important; }
.vs-acc-links > a.is-active, .vs-acc-links > a.is-active span { font-weight: 600 !important; }
.vs-acc-links--grid > a, .vs-acc-links--grid > a span { font-weight: 600 !important; }
.vs-ord__meta dd, .vs-alert-row__link, .vs-auth__back, .page-order-detail .vs-od-track p, .vs-gdpr .vs-card a:not(.vs-btn), .vs-acc__main table a { font-weight: 500 !important; }
.vs-od-head__txt { font-weight: 600 !important; }
.vs-gdpr .vs-card h2, .vs-empty__title, .vs-ord__ref, .vs-acc__main article.address h4, .page-order-detail .addresses .box h4 { font-weight: 700 !important; }
/* RGPD: bloques internos sin caja gris, coherentes con las tarjetas */
.vs-gdpr .psgdprinfo17, #content .psgdprinfo17 { background: #fff !important; border: 1px solid var(--vs-a-line, #e6ebf2) !important; border-radius: 14px !important; padding: 20px 22px !important; box-shadow: none !important; margin-bottom: 16px !important; }
.vs-gdpr .psgdprinfo17 h2, #content .psgdprinfo17 h2 { font-weight: 700 !important; font-size: 17px !important; }
.vs-gdpr .psgdprinfo17 p, #content .psgdprinfo17 p { font-weight: 400 !important; color: #475569 !important; }

/* 11/11/2026: migas alineadas con el contenido en las páginas de cliente (mismo ancho que .vs-acc) */
html body:has(.vs-acc, .vs-acc-header, .vs-auth) nav.breadcrumb > .container { max-width: 1180px !important; margin-left: auto !important; margin-right: auto !important; padding-left: 0 !important; padding-right: 0 !important; }
html body:has(.vs-acc, .vs-acc-header, .vs-auth) nav.breadcrumb .row, html body:has(.vs-acc, .vs-acc-header, .vs-auth) nav.breadcrumb .row > .col { margin: 0 !important; padding: 0 !important; }
@media (max-width: 1220px) { html body:has(.vs-acc, .vs-acc-header, .vs-auth) nav.breadcrumb > .container { padding-left: 15px !important; padding-right: 15px !important; } }
/* login/registro/contraseña: migas al ancho del bloque de acceso */
html body:has(.vs-auth) nav.breadcrumb > .container { max-width: 940px !important; }
