/* GANK · gank-account.css · lotes 1b y 2 (2026-10-04): inicio de sesion y Mi cuenta.
   Se carga desde customer/authentication.tpl y customer/page.tpl. */

body#authentication #content.page-content {
  background: transparent !important; border: 0 !important; box-shadow: none !important;
  padding: 0 !important; max-width: 1040px; margin: 0 auto 32px; width: 100%; float: none;
}
body#authentication .gank-auth {
  display: flex; flex-wrap: wrap; background: #fff; border: 1px solid #ececee; border-radius: 18px;
  overflow: hidden; font-family: Montserrat, sans-serif; color: #1a1a1a; text-align: left; line-height: 1.4;
}
body#authentication .gank-auth__form { flex: 1 1 380px; min-width: 0; box-sizing: border-box; padding: 40px; }
body#authentication .gank-auth__side {
  flex: 1 1 320px; min-width: 0; box-sizing: border-box; padding: 40px; background: #fafafa;
  border-left: 1px solid #efeff1; display: flex; flex-direction: column; gap: 18px; justify-content: center;
}

/* Titulo */
body#authentication .gank-auth .form-title { margin: 0 0 20px; padding: 0; text-align: left; border: 0; }
body#authentication .gank-auth .form-title h1 {
  margin: 0; font-size: 26px; font-weight: 700; line-height: 1.2; color: #1a1a1a; text-transform: none; text-align: left;
}
body#authentication .gank-auth__sub { margin: 4px 0 0; color: #5f6368; font-size: 13.5px; }

/* Formulario */
body#authentication .gank-auth .login-form { max-width: none; width: 100%; margin: 0; padding: 0; }
body#authentication .gank-auth #login-form { margin: 0; }
body#authentication .gank-auth .form-group.row { display: block; margin: 0 0 16px; }
body#authentication .gank-auth .form-group.row > label.form-control-label {
  display: block; float: none; width: 100%; max-width: none; flex: none; padding: 0; margin: 0 0 6px;
  text-align: left; font-size: 13px; font-weight: 600; color: #1a1a1a; white-space: normal;
}
body#authentication .gank-auth label.required::before,
body#authentication .gank-auth label.required::after { content: none !important; }
body#authentication .gank-auth .js-input-column { float: none; width: 100%; max-width: none; flex: none; padding: 0; }
body#authentication .gank-auth .form-group.row > .form-control-comment { display: none; }
body#authentication .gank-auth input.form-control {
  height: 48px; width: 100%; box-sizing: border-box; background: #fff !important; border: 1px solid #c9c9ce;
  border-radius: 10px !important; padding: 0 14px; font: 500 15px Montserrat, sans-serif; color: #1a1a1a; box-shadow: none;
}
body#authentication .gank-auth input.form-control:focus {
  border-color: #a9c8f5; box-shadow: 0 0 0 4px rgba(59, 130, 246, .12); outline: 0;
}
body#authentication .gank-auth .input-group { display: block; position: relative; width: 100%; }
body#authentication .gank-auth .input-group input.form-control { float: none; padding-right: 96px; }
body#authentication .gank-auth .input-group.focus { outline: 0; box-shadow: none; }
body#authentication .gank-auth .input-group-btn { position: absolute; right: 4px; top: 2px; width: auto; z-index: 3; }
body#authentication .gank-auth .input-group-btn > .btn {
  height: 44px; min-width: 44px; padding: 0 12px; margin: 0; background: none !important; border: 0 !important;
  box-shadow: none !important; color: #1a1a1a !important; font: 600 13px Montserrat, sans-serif;
  text-decoration: underline; text-transform: none; border-radius: 8px;
}
body#authentication .gank-auth .input-group-btn > .btn:focus-visible,
body#authentication .gank-auth a:focus-visible,
body#authentication .gank-auth #submit-login:focus-visible { outline: 2px solid #3b82f6; outline-offset: 2px; }

body#authentication .gank-auth .forgot-password { margin: -6px 0 12px; text-align: left; }
body#authentication .gank-auth .forgot-password a,
body#authentication .gank-auth .no-account a {
  display: inline-flex; align-items: center; min-height: 44px; font-size: 13.5px; font-weight: 600;
  color: #1a1a1a; text-decoration: underline; text-underline-offset: 3px;
}
body#authentication .gank-auth .form-footer { margin: 0; padding: 0; text-align: left; }
body#authentication .gank-auth #submit-login {
  display: flex; align-items: center; justify-content: center; float: none; width: 100%; min-height: 48px; margin: 0;
  padding: 0 18px; border-radius: 10px; background: #1a1a1a !important; border: 1px solid #1a1a1a !important; cursor: pointer;
}
body#authentication .gank-auth #submit-login span {
  color: #fff !important; font: 600 14.5px Montserrat, sans-serif; text-transform: none !important;
}
body#authentication .gank-auth #submit-login:hover { background: #000 !important; }
body#authentication .gank-auth .no-account {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 0 6px; margin: 12px 0 0;
  color: #5f6368; font-size: 13.5px; line-height: 1.4; text-decoration: none !important;
}

/* Panel de ventajas */
body#authentication .gank-auth__side-title { margin: 0; font-size: 18px; font-weight: 700; color: #1a1a1a; }
body#authentication .gank-auth__line { display: none; margin: 0; color: #5f6368; font-size: 13.5px; }
body#authentication .gank-auth__ben { display: flex; align-items: center; gap: 14px; }
body#authentication .gank-auth__ben strong { display: block; font-size: 14.5px; font-weight: 600; color: #1a1a1a; }
body#authentication .gank-auth__ben small { display: block; font-size: 13.5px; color: #5f6368; }
body#authentication .gank-auth__ico {
  flex: none; width: 40px; height: 40px; border-radius: 10px; background: #ffc400; display: flex; align-items: center; justify-content: center;
}
body#authentication .gank-auth__ico svg {
  width: 20px; height: 20px; fill: none; stroke: #1a1a1a; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round;
}

@media (max-width: 767px) {
  body#authentication .gank-auth { border-radius: 16px; }
  body#authentication .gank-auth__form { padding: 24px 18px; }
  body#authentication .gank-auth__side { padding: 24px 18px; border-left: 0; border-top: 1px solid #efeff1; gap: 16px; }
  body#authentication .gank-auth__side-title { font-size: 17px; }
  body#authentication .gank-auth input.form-control { font-size: 16px; }
}

/* ===================== Lote 2 (2026-10-04): riel, resumen de Mi cuenta y tarjeta de ultimo pedido =====================
   Se carga desde customer/page.tpl (todas las paginas de cuenta con sesion). Todo cuelga de .gank-acc / .gka-*. */
.gank-acc { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 20px; margin: 0 0 32px;
  font-family: Montserrat, sans-serif; color: #1a1a1a; font-size: 14.5px; line-height: 1.4; text-align: left; }
.gank-acc *, .gank-acc *::before, .gank-acc *::after { box-sizing: border-box; }
.gank-acc a { text-decoration: none; }
.gank-acc__main { flex: 999 1 560px; min-width: 0; display: flex; flex-direction: column; gap: 16px; }
.gank-acc__h1 { margin: 0; font-size: 24px; font-weight: 700; line-height: 1.2; color: #1a1a1a; text-transform: none; text-align: left; }
.gank-acc__h1:empty { display: none; }
.gank-acc__sub { margin: 2px 0 0; color: #5f6368; font-size: 14px; overflow-wrap: anywhere; }

/* Riel */
.gank-acc__rail { flex: 1 1 250px; max-width: 100%; background: #fff; border: 1px solid #ececee; border-radius: 18px; padding: 12px;
  display: flex; flex-direction: column; gap: 2px; }
.gank-acc__rail a { display: flex; align-items: center; gap: 12px; min-height: 44px; padding: 0 12px 0 6px; border-radius: 10px;
  color: #3a3a3f; font-size: 14.5px; font-weight: 500; }
.gank-acc__rail a:hover { background: #f1f1f2; color: #1a1a1a; }
.gank-acc__rail a.is-on { background: #fff1bf; color: #1a1a1a; font-weight: 700; }
.gank-acc__rail-out { margin-top: 6px; border-top: 1px solid #ececee; border-radius: 0 0 10px 10px !important; padding-top: 6px !important; min-height: 50px !important; }
.gank-acc__ico { flex: none; width: 32px; height: 32px; border-radius: 8px; background: #fff; border: 1px solid #ececee;
  display: flex; align-items: center; justify-content: center; }
.gank-acc__rail a.is-on .gank-acc__ico { background: #ffc400; border-color: #ffc400; }
.gank-acc__rail svg, .gank-acc__tile svg, .gank-acc__btn svg { fill: none; stroke: #1a1a1a; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.gank-acc__ico svg { width: 18px; height: 18px; }
.gank-acc a:focus-visible { outline: 2px solid #3b82f6; outline-offset: 2px; }

/* Contenido heredado del tema dentro de la columna principal */
.gank-acc #content.page-content { width: 100%; max-width: none; margin: 0; float: none; background: #fff; border: 1px solid #ececee;
  border-radius: 18px; box-shadow: none; padding: 24px; }
body#my-account .gank-acc #content.page-content { background: transparent; border: 0; border-radius: 0; padding: 0;
  display: flex; flex-direction: column; gap: 16px; }

/* Saludo */
.gank-acc__hello { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; }
.gank-acc__avatar { flex: none; width: 56px; height: 56px; border-radius: 28px; background: #fff; border: 1px solid #e4e6ea;
  display: flex; align-items: center; justify-content: center; font-size: 20px; font-weight: 700; }
.gank-acc__hello-txt { flex: 1 1 200px; min-width: 0; }
.gank-acc__btn, .gka-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 0 18px;
  border-radius: 10px; border: 1px solid #c9c9ce; background: #fff; color: #1a1a1a !important; font-size: 14px; font-weight: 600; cursor: pointer; }
.gank-acc__btn:hover, .gka-btn:hover { background: #f4f4f5; }
.gank-acc__btn svg { width: 18px; height: 18px; }

/* Tarjetas */
.gka-card { background: #fff; border: 1px solid #ececee; border-radius: 18px; padding: 24px; }
.gka-h2 { margin: 0; font-size: 18px; font-weight: 700; line-height: 1.25; color: #1a1a1a; text-transform: none; }
.gka-sub { margin: 0; color: #5f6368; font-size: 13.5px; }
.gka-link { color: #1a1a1a !important; font-size: 14px; font-weight: 600; text-decoration: underline !important; text-underline-offset: 3px;
  display: inline-flex; align-items: center; min-height: 44px; }
.gka-last__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0 16px; margin: 0 0 12px; min-height: 44px; }
.gka-last__row { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 24px; padding: 0 0 20px; border-bottom: 1px solid #ececee; }
.gka-last__img { flex: none; width: 72px; height: 72px; border-radius: 12px; border: 1px solid #ececee; background: #fafafa; overflow: hidden; }
.gka-last__img img { display: block; width: 100%; height: 100%; object-fit: contain; }
.gka-last__info { flex: 1 1 240px; min-width: 0; }
.gka-last__ref { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; }
.gka-last__ref strong { font-size: 16px; font-weight: 700; }
.gka-last__info .gka-sub { margin-top: 4px; }
.gka-pill { display: inline-flex; align-items: center; padding: 4px 10px; border-radius: 999px; background: #f1f1f2; color: #3a3a3f; font-size: 12.5px; font-weight: 600; }
.gka-last__total { text-align: right; }
.gka-last__total .gka-sub { display: block; font-size: 12.5px; }
.gka-last__total strong { font-size: 20px; font-weight: 700; }
.gka-steps { list-style: none; margin: 20px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.gka-steps li { display: flex; flex-direction: column; gap: 8px; font-size: 13px; font-weight: 500; color: #5f6368; }
.gka-steps li::before { content: ""; height: 4px; border-radius: 2px; background: #e4e6ea; }
.gka-steps li.is-done { color: #1a1a1a; font-weight: 600; }
.gka-steps li.is-done::before { background: #1a1a1a; }
.gka-steps li.is-now { color: #1a1a1a; font-weight: 700; }
.gka-steps li.is-now::before { background: #ffc400; }
.gka-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 20px; }
.gka-btn--pri { background: #1a1a1a; border-color: #1a1a1a; color: #fff !important; }
.gka-btn--pri:hover { background: #000; }
.gka-btn--wa { background: #00a014; border-color: #00a014; color: #021a0a !important; }
.gka-btn--wa:hover { background: #009412; }
.gka-btn--wa svg { width: 20px; height: 20px; fill: #021a0a; stroke: none; }
.gka-empty { margin-top: 4px; }

/* Accesos */
.gank-acc__tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 12px; }
.gank-acc__tiles > a { float: none !important; width: auto !important; max-width: none !important; padding: 18px !important; margin: 0 !important;
  min-height: 124px; background: #fff; border: 1px solid #ececee; border-radius: 12px; color: #1a1a1a !important; text-align: left;
  transition: border-color .12s ease, background-color .12s ease; }
.gank-acc__tiles > a:hover { border-color: #c9c9ce; background: #fafafa; }
.gank-acc__tile { display: grid; grid-template-columns: 1fr auto; grid-template-areas: "ico chev" "txt txt"; align-content: start; gap: 12px; }
.gank-acc__tile .gank-acc__ico, .gank-acc__tiles .link-item i { grid-area: ico; width: 40px; height: 40px; border-radius: 10px; background: #ffc400; border: 0; }
.gank-acc__tile .gank-acc__ico svg { width: 20px; height: 20px; }
.gank-acc__tile-txt { grid-area: txt; min-width: 0; }
.gank-acc__tile-txt strong, .gank-acc__tiles .link-item { display: block; font-size: 15.5px; font-weight: 700; color: #1a1a1a; text-transform: none; }
.gank-acc__tile-txt small { display: block; margin-top: 4px; font-size: 13.5px; color: #5f6368; overflow-wrap: anywhere; }
.gank-acc__chev { grid-area: chev; align-self: center; width: 18px; height: 18px; stroke: #8a8a90 !important; }
/* Enlaces que agregan los modulos (lista de deseos, avisos): misma tarjeta, sin descripcion */
.gank-acc__tiles .link-item { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; padding: 0; margin: 0; border: 0; background: none; box-shadow: none; line-height: 1.3; }
.gank-acc__tiles .link-item i { display: flex; align-items: center; justify-content: center; margin: 0; font-size: 22px; color: #1a1a1a; }

/* Ayuda */
.gank-acc__help { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; padding: 20px 24px; }
.gank-acc__help > div:first-child { flex: 1 1 260px; min-width: 0; }
.gank-acc__help .gka-sub { margin-top: 4px; }
.gank-acc__help .gka-actions { margin-top: 0; }

@media (max-width: 991px) {
  .gank-acc { display: block; }
  .gank-acc__rail { flex-direction: row; overflow-x: auto; gap: 6px; padding: 8px; margin: 0 0 16px; border-radius: 14px; scrollbar-width: none; }
  .gank-acc__rail::-webkit-scrollbar { display: none; }
  .gank-acc__rail a { flex: none; white-space: nowrap; padding: 0 12px 0 6px; }
  .gank-acc__rail-out { margin: 0; border-top: 0; padding-top: 0 !important; min-height: 44px !important; border-radius: 10px !important; }
  body#my-account .gank-acc__rail { display: none; }
}
@media (max-width: 767px) {
  .gank-acc__h1 { font-size: 21px; }
  .gank-acc__avatar { width: 48px; height: 48px; font-size: 17px; }
  .gank-acc__logout { width: 100%; }
  .gka-card, .gank-acc #content.page-content { padding: 16px; border-radius: 16px; }
  .gank-acc__help { padding: 16px; }
  .gka-last__total { text-align: left; }
  .gka-steps li:not(.is-now) { font-size: 0; gap: 0; }
  .gka-steps { align-items: start; }
  .gka-actions .gka-btn { flex: 1 1 100%; min-height: 48px; }
  .gank-acc__tiles { grid-template-columns: 1fr; gap: 8px; }
  .gank-acc__tiles > a { min-height: 64px; padding: 12px 14px !important; }
  .gank-acc__tile { grid-template-columns: auto 1fr auto; grid-template-areas: "ico txt chev"; align-items: center; }
  .gank-acc__tile .gank-acc__ico, .gank-acc__tiles .link-item i { width: 36px; height: 36px; }
  .gank-acc__tiles .link-item { flex-direction: row; align-items: center; }
  .gank-acc__tile-txt small { margin-top: 2px; font-size: 12.5px; }
}

/* ===================== Lote 3a (2026-10-05): Mis pedidos y Detalle del pedido ===================== */
body#history .gank-acc #content.page-content, body#order-detail .gank-acc #content.page-content {
  background: transparent; border: 0; border-radius: 0; padding: 0; display: flex; flex-direction: column; gap: 16px; }
.gka-count { margin: -8px 0 0; }
.gka-orders { display: flex; flex-direction: column; gap: 12px; }
.gka-order__row { padding-bottom: 0; border-bottom: 0; }
.gka-order .gka-steps { margin-top: 16px; }
.gka-order .gka-actions { margin-top: 16px; }
.gka-steps li small { display: block; margin-top: -4px; font-size: 12.5px; font-weight: 400; color: #5f6368; }
.gka-card > .gka-steps:first-child { margin-top: 0; }
.gka-odhead { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 12px 16px; }
.gka-odhead__txt { flex: 1 1 280px; min-width: 0; }
.gka-odhead .gka-actions { margin-top: 0; }
.gka-back { display: inline-flex; align-items: center; min-height: 44px; margin-top: -12px; color: #5f6368 !important; font-size: 13.5px; font-weight: 600; }
.gka-back:hover { color: #1a1a1a !important; text-decoration: underline !important; }
.gka-hist { margin-top: 16px; border-top: 1px solid #ececee; }
.gka-card > .gka-hist:first-child { margin-top: 0; border-top: 0; }
.gka-hist summary { display: flex; align-items: center; min-height: 44px; cursor: pointer; font-size: 14px; font-weight: 600; color: #1a1a1a;
  text-decoration: underline; text-underline-offset: 3px; list-style: none; }
.gka-hist summary::-webkit-details-marker { display: none; }
.gka-hist summary:focus-visible { outline: 2px solid #3b82f6; outline-offset: 2px; }
.gka-hist ul { list-style: none; margin: 4px 0 0; padding: 0; }
.gka-hist li { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 2px 16px; padding: 8px 0; border-top: 1px solid #f1f1f2; font-size: 14px; font-weight: 500; }
.gka-od { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 16px; }
.gka-od__main { flex: 999 1 420px; min-width: 0; display: flex; flex-direction: column; gap: 16px; }
.gka-od__side { flex: 1 1 290px; min-width: 0; display: flex; flex-direction: column; gap: 16px; }
.gka-card--sm { padding: 20px; }
.gka-card--sm .gka-h2 { font-size: 16px; margin-bottom: 8px; }
.gka-card--sm address { margin: 0; font-style: normal; line-height: 1.5; }
.gka-card--sm .gka-sub a { color: #1a1a1a; text-decoration: underline; }
.gka-btn--block { display: flex; width: 100%; margin-top: 12px; padding: 0 10px; white-space: nowrap; }
.gka-items { list-style: none; margin: 8px 0 0; padding: 0; }
.gka-items li { display: flex; align-items: center; gap: 14px; padding: 12px 0; border-bottom: 1px solid #ececee; }
.gka-items__img { flex: none; width: 64px; height: 64px; border-radius: 12px; border: 1px solid #ececee; background: #fafafa; overflow: hidden; }
.gka-items__img img { display: block; width: 100%; height: 100%; object-fit: contain; }
.gka-items__txt { flex: 1; min-width: 0; }
.gka-items__txt strong { display: block; font-size: 14.5px; font-weight: 600; color: #1a1a1a; }
.gka-items__txt strong a { color: #1a1a1a; text-decoration: underline; }
.gka-items__txt .gka-sub { display: block; margin-top: 2px; }
.gka-items__total { flex: none; font-size: 15px; font-weight: 700; }
.gka-totals { margin: 12px 0 0; }
.gka-totals > div { display: flex; justify-content: space-between; gap: 16px; padding: 5px 0; color: #5f6368; font-size: 13.5px; }
.gka-totals dt, .gka-totals dd { margin: 0; font-weight: inherit; }
.gka-totals__total { margin-top: 6px; padding-top: 12px !important; border-top: 1px solid #ececee; color: #1a1a1a !important; font-size: 17px !important; font-weight: 700; }
@media (max-width: 767px) {
  .gka-odhead .gka-actions { width: 100%; }
  .gka-items li { align-items: flex-start; flex-wrap: wrap; }
  .gka-items__img { width: 56px; height: 56px; }
  .gka-items__total { width: 100%; text-align: right; }
  .gka-steps li small { display: none; }
}

/* ===================== Lote 3b (2026-10-05): filtros de pedidos y rastreo ===================== */
.gka-filters { display: flex; flex-wrap: wrap; gap: 8px; }
.gka-filters[hidden], .gka-order[hidden], .gka-empty[hidden] { display: none !important; }
.gka-chip { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 0 16px; border-radius: 22px;
  border: 1px solid #c9c9ce; background: #fff; color: #1a1a1a; font: 600 13.5px Montserrat, sans-serif; cursor: pointer; }
.gka-chip span { font-weight: 500; color: #5f6368; }
.gka-chip:hover { background: #f4f4f5; }
.gka-chip[aria-pressed="true"] { background: #1a1a1a; border-color: #1a1a1a; color: #fff; }
.gka-chip[aria-pressed="true"] span { color: #d4d4d8; }
.gka-chip:focus-visible { outline: 2px solid #3b82f6; outline-offset: 2px; }
.gka-guide { margin-top: 4px; overflow-wrap: anywhere; }
.gka-guide strong { color: #1a1a1a; font-weight: 600; }
.gka-note { margin-top: 8px; font-size: 12.5px; }
.gka-last .gka-guide { margin-top: 0; }

/* ===================== Lote 3c (2026-10-05): Direcciones, Datos personales, Notas de credito ===================== */
body#addresses .gank-acc #content.page-content, body#address .gank-acc #content.page-content,
body#identity .gank-acc #content.page-content, body#order-slip .gank-acc #content.page-content {
  background: transparent; border: 0; border-radius: 0; padding: 0; display: flex; flex-direction: column; gap: 16px; }
.gka-btn--ghost { border-color: transparent; color: #5f6368 !important; }
.gka-btn--ghost:hover { background: #f4f4f5; color: #1a1a1a !important; }
.gka-addr { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 12px; }
.gka-addr__card { display: flex; flex-direction: column; gap: 8px; padding: 20px; border-radius: 14px; }
.gka-addr__card .gka-h2 { font-size: 16px; }
.gka-addr__card address { margin: 0; font-style: normal; line-height: 1.5; }
.gka-addr__card .gka-actions { margin-top: auto; padding-top: 8px; }
.gka-slips ul { list-style: none; margin: 0; padding: 0; }
.gka-slips li { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; padding: 14px 0; border-top: 1px solid #ececee; }
.gka-slips li:first-child { border-top: 0; padding-top: 0; }
.gka-slips li:last-child { padding-bottom: 0; }
.gka-slips__txt { flex: 1 1 220px; min-width: 0; }
.gka-slips__txt strong { display: block; font-size: 15px; }
.gka-slips__txt a { color: #1a1a1a; text-decoration: underline; }

/* Formularios (direccion y datos personales): mismo estilo que el inicio de sesion */
.gka-form form > div:first-of-type, .gka-form .form-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 16px; }
.gka-form .form-group.row { display: block; margin: 0 0 16px; min-width: 0; }
.gka-form .form-group.row:has(input[type=checkbox]), .gka-form .field-password-policy, .gka-form .form-group.row:has(input[name=address1]),
.gka-form .form-group.row:has(input[name=alias]), .gka-form .form-group.row:has(input[name=address2]), .gka-form .gkb-full { grid-column: 1 / -1; }
.gka-form .form-group.row > label.form-control-label { display: block; float: none; width: 100%; max-width: none; flex: none; padding: 0; margin: 0 0 6px;
  text-align: left; font-size: 13px; font-weight: 600; color: #1a1a1a; white-space: normal; }
.gka-form label.required::before { content: none !important; }
.gka-form label.required::after { content: " *" !important; color: #b3261e; font-weight: 700; }
.gka-form .form-group.row > div { float: none; width: 100%; max-width: none; flex: none; padding: 0; }
.gka-form .form-group.row > .form-control-comment { margin-top: 4px; font-size: 12.5px; color: #5f6368; font-style: normal; }
.gka-form .form-group.row > .form-control-comment:empty { display: none; }
.gka-form input.form-control, .gka-form select.form-control {
  height: 48px; width: 100%; box-sizing: border-box; background-color: #fff !important; border: 1px solid #c9c9ce; border-radius: 10px !important;
  padding: 0 14px; font: 500 15px Montserrat, sans-serif; color: #1a1a1a; box-shadow: none; }
.gka-form input.form-control:focus, .gka-form select.form-control:focus { border-color: #a9c8f5; box-shadow: 0 0 0 4px rgba(59, 130, 246, .12); outline: 0; }
.gka-form .input-group { display: block; position: relative; width: 100%; }
.gka-form .input-group input.form-control { float: none; padding-right: 96px; }
.gka-form .input-group-btn { position: absolute; right: 4px; top: 2px; width: auto; z-index: 3; }
.gka-form .input-group-btn > .btn { height: 44px; min-width: 44px; padding: 0 12px; margin: 0; background: none !important; border: 0 !important;
  box-shadow: none !important; color: #1a1a1a !important; font: 600 13px Montserrat, sans-serif; text-decoration: underline; text-transform: none; }
.gka-form .custom-checkbox { display: flex; align-items: flex-start; gap: 10px; }
.gka-form .custom-checkbox label { font-size: 14px; font-weight: 500; color: #1a1a1a; line-height: 1.4; }
.gka-form .form-footer { margin: 8px 0 0; padding: 0; text-align: left; }
.gka-form .form-footer button[type=submit] { float: none !important; display: inline-flex; align-items: center; justify-content: center; min-height: 48px;
  min-width: 200px; padding: 0 24px; margin: 0; border-radius: 10px; background: #1a1a1a !important; border: 1px solid #1a1a1a !important; cursor: pointer; }
.gka-form .form-footer button[type=submit] span { color: #fff !important; font: 600 14.5px Montserrat, sans-serif; text-transform: none !important; }
.gka-form .form-footer button[type=submit]:hover { background: #000 !important; }
.gka-form .form-footer button[type=submit]:focus-visible, .gka-form .input-group-btn > .btn:focus-visible { outline: 2px solid #3b82f6; outline-offset: 2px; }
@media (max-width: 767px) {
  .gka-form form > div:first-of-type, .gka-form .form-fields { grid-template-columns: 1fr; }
  .gka-form input.form-control, .gka-form select.form-control { font-size: 16px; }
  .gka-form .form-footer button[type=submit] { width: 100%; }
  .gka-addr { grid-template-columns: 1fr; }
}

/* ===================== Lote 3d (2026-10-05): obligatorios, sin datos fiscales en la direccion, CP y Datos de facturacion ===================== */
.gka-form .js-address-form .form-group.row:has(input[name=company]),
.gka-form .js-address-form .form-group.row:has(input[name=vat_number]) { display: none !important; }
.gka-form .gka-colonia[hidden], .gka-form input[hidden] { display: none !important; }
.gka-form .gka-cp-note:empty { display: none; }
body#module-gankcfdi-billing .gank-acc #content.page-content { background: transparent; border: 0; border-radius: 0; padding: 0;
  display: flex; flex-direction: column; gap: 16px; }
.gkb-note { margin: 0; border-color: #f1e3a6; background: #fffbea; color: #5c4a00; }
.gkb .form-group.row > div { min-width: 0; }
.gkb-error { margin: 4px 0 0; font-size: 12.5px; font-weight: 600; color: #b3261e; }
.gkb .has-error .form-control { border-color: #b3261e; }
.gkb-footer { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; }
.gka-form .gkb-footer button.gkb-delete { min-width: 0; background: none !important; border: 0 !important; min-height: 44px; padding: 0 8px;
  color: #5f6368 !important; font: 600 13.5px Montserrat, sans-serif; text-decoration: underline; cursor: pointer; }
.gka-form .gkb-footer button.gkb-delete:hover { color: #b3261e !important; }

/* ===================== Lote 4 (2026-10-05): lista de deseos; sin avisos de disponibilidad ===================== */
body#module-tvcmswishlist-mywishlist .gank-acc #content.page-content { background: transparent; border: 0; border-radius: 0; padding: 0;
  display: flex; flex-direction: column; gap: 16px; }
.gank-acc__tiles #emailsalerts { display: none !important; }
.gkw-msg { margin: 0; font-size: 13.5px; font-weight: 600; color: #1a1a1a; }
.gkw-msg[hidden], .gkw-empty[hidden] { display: none !important; }
.gkw-empty__txt { margin-top: 4px; }
.gkw-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 12px; }
.gkw-item { display: flex; flex-direction: column; gap: 6px; min-width: 0; margin: 0; padding: 14px; background: #fff; border: 1px solid #ececee;
  border-radius: 18px; font-family: Montserrat, sans-serif; color: #1a1a1a; text-align: left; }
.gkw-img { display: block; aspect-ratio: 1 / 1; margin: 0 0 6px; border-radius: 12px; background: #fafafa; overflow: hidden; }
.gkw-img img { display: block; width: 100%; height: 100%; object-fit: contain; }
.gkw-name { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; margin: 0; font-size: 14px; font-weight: 500;
  line-height: 1.35; color: #1a1a1a; text-decoration: none; overflow-wrap: anywhere; }
a.gkw-name:hover, a.gkw-name:focus-visible { color: #1a1a1a; text-decoration: underline; }
.gkw-attr { font-size: 12.5px; }
.gkw-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; margin-top: 2px; font-size: 20px; font-weight: 700; line-height: 1.2; color: #1a1a1a; }
.gkw-old { font-size: 13px; font-weight: 500; color: #6B7280; text-decoration: line-through; }
.gkw-item .gank-avail { margin-top: 0; }
.gkw-item .gank-cart { margin-top: auto; padding-top: 8px; }
.gkw-item .gank-cart__btn { min-height: 44px; }
.gkw-off { margin: 0; font-size: 12.5px; font-weight: 600; color: #5f6368; }
.gkw-item.is-gone .gkw-img img { opacity: .55; filter: grayscale(1); }
.gkw-item.is-gone .gkw-remove { margin-top: auto; }
.gkw-remove { align-self: center; min-height: 40px; margin: 0; padding: 0 10px; background: none; border: 0; border-radius: 8px; color: #5f6368;
  font: 600 13px Montserrat, sans-serif; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.gkw-remove:hover { color: #b3261e; }
.gkw-remove:focus-visible { outline: 2px solid #3b82f6; outline-offset: 2px; }
.gkw-remove[disabled] { cursor: progress; opacity: .7; }
@media (max-width: 767px) {
  .gkw-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .gkw-item { padding: 10px; border-radius: 14px; }
  .gkw-name { font-size: 13.5px; }
  .gkw-price { font-size: 17px; }
  .gkw-item .gank-cart__btn { padding: 9px 8px; font-size: 13px; }
}

/* ===================== Lote 5 (2026-10-05): Crear cuenta, Recuperar contrasena, Seguir pedido sin cuenta, Cupones y ajustes moviles =====================
   Mismo diseno que el inicio de sesion (lote 1), acotado a body#registration, body#password y body#guest-tracking. */
:is(body#registration, body#password, body#guest-tracking) #content.page-content {
  background: transparent !important; border: 0 !important; box-shadow: none !important;
  padding: 0 !important; max-width: 1040px; margin: 0 auto 32px; width: 100%; float: none;
}
:is(body#registration, body#password, body#guest-tracking) .gank-auth {
  display: flex; flex-wrap: wrap; background: #fff; border: 1px solid #ececee; border-radius: 18px;
  overflow: hidden; font-family: Montserrat, sans-serif; color: #1a1a1a; text-align: left; line-height: 1.4;
}
:is(body#registration, body#password, body#guest-tracking) .gank-auth__form { flex: 1 1 380px; min-width: 0; box-sizing: border-box; padding: 40px; }
:is(body#registration, body#password, body#guest-tracking) .gank-auth__side {
  flex: 1 1 320px; min-width: 0; box-sizing: border-box; padding: 40px; background: #fafafa;
  border-left: 1px solid #efeff1; display: flex; flex-direction: column; gap: 18px; justify-content: center;
}

/* Titulo */
:is(body#registration, body#password, body#guest-tracking) .gank-auth .form-title { margin: 0 0 20px; padding: 0; text-align: left; border: 0; }
:is(body#registration, body#password, body#guest-tracking) .gank-auth .form-title h1 {
  margin: 0; font-size: 26px; font-weight: 700; line-height: 1.2; color: #1a1a1a; text-transform: none; text-align: left;
}
:is(body#registration, body#password, body#guest-tracking) .gank-auth__sub { margin: 4px 0 0; color: #5f6368; font-size: 13.5px; }

/* Formulario */
:is(body#registration, body#password, body#guest-tracking) .gank-auth .login-form { max-width: none; width: 100%; margin: 0; padding: 0; }
:is(body#registration, body#password, body#guest-tracking) .gank-auth #login-form { margin: 0; }
:is(body#registration, body#password, body#guest-tracking) .gank-auth .form-group.row { display: block; margin: 0 0 16px; }
:is(body#registration, body#password, body#guest-tracking) .gank-auth .form-group.row > label.form-control-label {
  display: block; float: none; width: 100%; max-width: none; flex: none; padding: 0; margin: 0 0 6px;
  text-align: left; font-size: 13px; font-weight: 600; color: #1a1a1a; white-space: normal;
}
:is(body#registration, body#password, body#guest-tracking) .gank-auth .js-input-column { float: none; width: 100%; max-width: none; flex: none; padding: 0; }
:is(body#registration, body#password, body#guest-tracking) .gank-auth .form-group.row > .form-control-comment { display: none; }
:is(body#registration, body#password, body#guest-tracking) .gank-auth input.form-control {
  height: 48px; width: 100%; box-sizing: border-box; background: #fff !important; border: 1px solid #c9c9ce;
  border-radius: 10px !important; padding: 0 14px; font: 500 15px Montserrat, sans-serif; color: #1a1a1a; box-shadow: none;
}
:is(body#registration, body#password, body#guest-tracking) .gank-auth input.form-control:focus {
  border-color: #a9c8f5; box-shadow: 0 0 0 4px rgba(59, 130, 246, .12); outline: 0;
}
:is(body#registration, body#password, body#guest-tracking) .gank-auth .input-group { display: block; position: relative; width: 100%; }
:is(body#registration, body#password, body#guest-tracking) .gank-auth .input-group input.form-control { float: none; padding-right: 96px; }
:is(body#registration, body#password, body#guest-tracking) .gank-auth .input-group.focus { outline: 0; box-shadow: none; }
:is(body#registration, body#password, body#guest-tracking) .gank-auth .input-group-btn { position: absolute; right: 4px; top: 2px; width: auto; z-index: 3; }
:is(body#registration, body#password, body#guest-tracking) .gank-auth .input-group-btn > .btn {
  height: 44px; min-width: 44px; padding: 0 12px; margin: 0; background: none !important; border: 0 !important;
  box-shadow: none !important; color: #1a1a1a !important; font: 600 13px Montserrat, sans-serif;
  text-decoration: underline; text-transform: none; border-radius: 8px;
}
:is(body#registration, body#password, body#guest-tracking) .gank-auth .input-group-btn > .btn:focus-visible,
:is(body#registration, body#password, body#guest-tracking) .gank-auth a:focus-visible,
:is(body#registration, body#password, body#guest-tracking) .gank-auth .gank-auth__submit:focus-visible { outline: 2px solid #3b82f6; outline-offset: 2px; }

:is(body#registration, body#password, body#guest-tracking) .gank-auth .forgot-password { margin: -6px 0 12px; text-align: left; }
:is(body#registration, body#password, body#guest-tracking) .gank-auth .forgot-password a,
:is(body#registration, body#password, body#guest-tracking) .gank-auth .no-account a {
  display: inline-flex; align-items: center; min-height: 44px; font-size: 13.5px; font-weight: 600;
  color: #1a1a1a; text-decoration: underline; text-underline-offset: 3px;
}
:is(body#registration, body#password, body#guest-tracking) .gank-auth .form-footer { margin: 0; padding: 0; text-align: left; }
:is(body#registration, body#password, body#guest-tracking) .gank-auth .gank-auth__submit {
  display: flex; align-items: center; justify-content: center; float: none; width: 100%; min-height: 48px; margin: 0;
  padding: 0 18px; border-radius: 10px; background: #1a1a1a !important; border: 1px solid #1a1a1a !important; cursor: pointer;
}
:is(body#registration, body#password, body#guest-tracking) .gank-auth .gank-auth__submit span {
  color: #fff !important; font: 600 14.5px Montserrat, sans-serif; text-transform: none !important;
}
:is(body#registration, body#password, body#guest-tracking) .gank-auth .gank-auth__submit:hover { background: #000 !important; }
:is(body#registration, body#password, body#guest-tracking) .gank-auth .no-account {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 0 6px; margin: 12px 0 0;
  color: #5f6368; font-size: 13.5px; line-height: 1.4; text-decoration: none !important;
}

/* Panel de ventajas */
:is(body#registration, body#password, body#guest-tracking) .gank-auth__side-title { margin: 0; font-size: 18px; font-weight: 700; color: #1a1a1a; }
:is(body#registration, body#password, body#guest-tracking) .gank-auth__line { display: none; margin: 0; color: #5f6368; font-size: 13.5px; }
:is(body#registration, body#password, body#guest-tracking) .gank-auth__ben { display: flex; align-items: center; gap: 14px; }
:is(body#registration, body#password, body#guest-tracking) .gank-auth__ben strong { display: block; font-size: 14.5px; font-weight: 600; color: #1a1a1a; }
:is(body#registration, body#password, body#guest-tracking) .gank-auth__ben small { display: block; font-size: 13.5px; color: #5f6368; }
:is(body#registration, body#password, body#guest-tracking) .gank-auth__ico {
  flex: none; width: 40px; height: 40px; border-radius: 10px; background: #ffc400; display: flex; align-items: center; justify-content: center;
}
:is(body#registration, body#password, body#guest-tracking) .gank-auth__ico svg {
  width: 20px; height: 20px; fill: none; stroke: #1a1a1a; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round;
}

@media (max-width: 767px) {
  :is(body#registration, body#password, body#guest-tracking) .gank-auth { border-radius: 16px; }
  :is(body#registration, body#password, body#guest-tracking) .gank-auth__form { padding: 24px 18px; }
  :is(body#registration, body#password, body#guest-tracking) .gank-auth__side { padding: 24px 18px; border-left: 0; border-top: 1px solid #efeff1; gap: 16px; }
  :is(body#registration, body#password, body#guest-tracking) .gank-auth__side-title { font-size: 17px; }
  :is(body#registration, body#password, body#guest-tracking) .gank-auth input.form-control { font-size: 16px; }
}

/* Lote 5 · extras de los formularios de acceso */
:is(body#registration, body#password, body#guest-tracking) .gank-auth--solo { max-width: 560px; margin: 0 auto; }
:is(body#registration, body#password, body#guest-tracking) .gank-auth .gank-auth__submit { color: #fff !important; font: 600 14.5px Montserrat, sans-serif; text-transform: none !important; box-shadow: none; }
body#registration .gank-auth .form-footer { margin: 4px 0 0; padding: 0; text-align: left; }
body#registration .gank-auth .form-footer button[type=submit] {
  display: flex; align-items: center; justify-content: center; float: none !important; width: 100%; min-height: 48px; margin: 0; padding: 0 18px;
  border-radius: 10px; background: #1a1a1a !important; border: 1px solid #1a1a1a !important; box-shadow: none; cursor: pointer; }
body#registration .gank-auth .form-footer button[type=submit] span { color: #fff !important; font: 600 14.5px Montserrat, sans-serif; text-transform: none !important; }
body#registration .gank-auth .form-footer button[type=submit]:hover { background: #000 !important; }
body#registration .gank-auth .form-footer button[type=submit]:focus-visible { outline: 2px solid #3b82f6; outline-offset: 2px; }
:is(body#registration, body#password, body#guest-tracking) .gank-auth .req { color: #b3261e; font-weight: 700; }
body#registration .gank-auth .form-group.row > label.form-control-label.required::after { content: " *"; color: #b3261e; font-weight: 700; }
body#registration #customer-form > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 16px; }
body#registration #customer-form > div > * { grid-column: 1 / -1; }
body#registration #customer-form > div > .form-group:has(input[name=firstname]),
body#registration #customer-form > div > .form-group:has(input[name=lastname]) { grid-column: auto; }
:is(body#registration, body#password, body#guest-tracking) .gank-auth .form-group.row:has(.custom-checkbox) > label.form-control-label { display: none !important; }
:is(body#registration, body#password, body#guest-tracking) .gank-auth .custom-checkbox { display: flex; align-items: flex-start; gap: 10px; flex-wrap: wrap; position: relative; }
:is(body#registration, body#password, body#guest-tracking) .gank-auth .custom-checkbox input[type=checkbox] {
  position: static !important; opacity: 1 !important; flex: none; width: 20px !important; height: 20px !important; margin: 1px 0 0 !important; accent-color: #1a1a1a; cursor: pointer; }
:is(body#registration, body#password, body#guest-tracking) .gank-auth .custom-checkbox > span { display: none !important; }
:is(body#registration, body#password, body#guest-tracking) .gank-auth .custom-checkbox label {
  flex: 1 1 0; min-width: 0; margin: 0; font-size: 13.5px; font-weight: 500; line-height: 1.45; color: #1a1a1a; text-align: left; cursor: pointer; }
:is(body#registration, body#password, body#guest-tracking) .gank-auth .custom-checkbox label a { color: #1a1a1a; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
:is(body#registration, body#password, body#guest-tracking) .gank-auth .gank-consent-documents { flex-basis: 100%; margin: 2px 0 0 30px !important; font-size: 13px; }
:is(body#registration, body#password, body#guest-tracking) .gank-auth .gank-consent-documents a { display: inline-flex; align-items: center; min-height: 32px; color: #1a1a1a; }
:is(body#registration, body#password, body#guest-tracking) .gank-auth .password-strength-feedback { margin-top: 8px; font-size: 12.5px; color: #5f6368; }
:is(body#registration, body#password, body#guest-tracking) .gank-auth .gank-auth__hint { display: block; margin: 6px 0 0; font-size: 12.5px; font-weight: 500; color: #5f6368; }
:is(body#registration, body#password, body#guest-tracking) .gank-auth__error { margin: 0; padding: 12px 14px; list-style: none; border: 1px solid #f3c7c3; background: #fdf0ef; border-radius: 10px; color: #8a1c13; font-size: 13.5px; font-weight: 600; }
:is(body#registration, body#password, body#guest-tracking) .gank-auth__ok { margin: 0; padding: 12px 14px; list-style: none; border: 1px solid #cfe8d9; background: #eff8f2; border-radius: 10px; color: #155e35; font-size: 13.5px; font-weight: 600; }
:is(body#registration, body#password, body#guest-tracking) .gank-auth__mail { width: 48px; height: 48px; border-radius: 12px; background: #ffc400; display: flex; align-items: center; justify-content: center; margin: 0 0 16px; }
:is(body#registration, body#password, body#guest-tracking) .gank-auth__mail svg { width: 24px; height: 24px; fill: none; stroke: #1a1a1a; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
:is(body#registration, body#password, body#guest-tracking) .gank-auth__stack { display: flex; flex-direction: column; gap: 12px; }
:is(body#registration, body#password, body#guest-tracking) .gank-auth .gank-auth__btn {
  display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 0 18px; box-sizing: border-box; border-radius: 10px;
  border: 1px solid #c9c9ce; background: #fff; color: #1a1a1a; font: 600 14.5px Montserrat, sans-serif; text-decoration: none; }
:is(body#registration, body#password, body#guest-tracking) .gank-auth .gank-auth__btn:hover { background: #f4f4f5; color: #1a1a1a; }
:is(body#registration, body#password, body#guest-tracking) .gank-auth .gank-auth__btn--wa { background: #00a014; border-color: #00a014; color: #021a0a; }
:is(body#registration, body#password, body#guest-tracking) .gank-auth .gank-auth__btn--wa:hover { background: #009412; color: #021a0a; }
:is(body#registration, body#password, body#guest-tracking) .gank-auth .gank-auth__btn--wa svg { width: 20px; height: 20px; fill: #021a0a; }
body#password .gank-auth input[name=email]::placeholder, body#guest-tracking .gank-auth input::placeholder { color: #8a8f98; }
@media (max-width: 767px) {
  body#registration #customer-form > div { grid-template-columns: 1fr; }
  body#registration #customer-form > div > .form-group { grid-column: 1 / -1 !important; }
  :is(body#registration, body#password, body#guest-tracking) .gank-auth { margin-bottom: 64px; }
}

/* Lote 5 · Seguimiento de invitado (resultado): encabezado y alta de cuenta */
body#guest-tracking .gka-guest-head { display: flex; flex-direction: column; gap: 6px; margin-top: 20px; }
body#guest-tracking .gka-guest { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 380px); align-items: center; gap: 24px 48px; margin-top: 16px; }
body#guest-tracking .gka-guest__txt { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
body#guest-tracking .gka-guest__txt .gka-sub { overflow-wrap: anywhere; }
body#guest-tracking .gka-guest__ben { list-style: none; margin: 10px 0 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
body#guest-tracking .gka-guest__ben li { display: flex; align-items: center; gap: 12px; font-size: 14px; font-weight: 500; color: #1a1a1a; }
body#guest-tracking .gka-guest__ico { flex: none; width: 36px; height: 36px; border-radius: 10px; background: #ffc400; display: flex; align-items: center; justify-content: center; }
body#guest-tracking .gka-guest__ico svg { width: 18px; height: 18px; fill: none; stroke: #1a1a1a; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
body#guest-tracking .gka-guest__form { display: flex; flex-direction: column; gap: 6px; margin: 0; padding: 20px; background: #fafafa; border: 1px solid #efeff1; border-radius: 14px; }
body#guest-tracking .gka-guest__form > label { margin: 0; font-size: 13px; font-weight: 600; color: #1a1a1a; text-align: left; }
body#guest-tracking .gka-guest__form .input-group { display: block; position: relative; width: 100%; }
body#guest-tracking .gka-guest__form input.form-control { float: none; height: 48px; width: 100%; box-sizing: border-box; padding: 0 96px 0 14px; background: #fff !important;
  border: 1px solid #c9c9ce; border-radius: 10px !important; box-shadow: none; font: 500 15px Montserrat, sans-serif; color: #1a1a1a; }
body#guest-tracking .gka-guest__form input.form-control:focus { border-color: #a9c8f5; box-shadow: 0 0 0 4px rgba(59, 130, 246, .12); outline: 0; }
body#guest-tracking .gka-guest__form .input-group-btn { position: absolute; right: 4px; top: 2px; width: auto; z-index: 3; }
body#guest-tracking .gka-guest__form .input-group-btn > .btn { height: 44px; min-width: 44px; margin: 0; padding: 0 12px; background: none !important; border: 0 !important; box-shadow: none !important;
  color: #1a1a1a !important; font: 600 13px Montserrat, sans-serif; text-decoration: underline; text-transform: none; }
body#guest-tracking .gka-guest__hint { font-size: 12.5px; }
body#guest-tracking .gka-guest__form .gka-btn--block { margin-top: 8px; }
@media (max-width: 767px) {
  body#guest-tracking .gka-guest { grid-template-columns: 1fr; gap: 16px; }
  body#guest-tracking .gka-guest__form { padding: 16px; }
  body#guest-tracking .gka-guest__form input.form-control { font-size: 16px; }
}

/* Lote 5 · Cupones */
body#discount .gank-acc #content.page-content { background: transparent; border: 0; border-radius: 0; padding: 0; display: flex; flex-direction: column; gap: 16px; }
.gka-cupones { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.gka-cupon { display: flex; flex-direction: column; gap: 10px; margin: 0; padding: 20px; background: #fff; border: 1px solid #ececee; border-radius: 18px; }
.gka-cupon__val { font-size: 22px; font-weight: 800; line-height: 1.15; color: #1a1a1a; }
.gka-cupon__code { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 6px 6px 6px 14px; border: 1px dashed #c9c9ce; border-radius: 10px;
  font: 700 15px ui-monospace, Menlo, Consolas, monospace; letter-spacing: .06em; color: #1a1a1a; overflow-wrap: anywhere; }
.gka-cupon__code .gka-btn { min-height: 36px; padding: 0 12px; font-size: 13px; flex: none; }
.gka-cupon__meta { display: flex; flex-direction: column; gap: 2px; margin: 0; padding: 0; list-style: none; font-size: 13px; color: #5f6368; }

/* Lote 5 · ajustes móviles de la cuenta */
.gank-acc__rail .gka-rail-cup svg { stroke-width: 2; }
@media (max-width: 767px) {
  .gank-acc__rail { position: relative; }
  .gank-acc__rail.gk-r { -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 32px), transparent); mask-image: linear-gradient(90deg, #000 calc(100% - 32px), transparent); }
  .gank-acc__rail.gk-l { -webkit-mask-image: linear-gradient(90deg, transparent, #000 32px); mask-image: linear-gradient(90deg, transparent, #000 32px); }
  .gank-acc__rail.gk-l.gk-r { -webkit-mask-image: linear-gradient(90deg, transparent, #000 32px, #000 calc(100% - 32px), transparent); mask-image: linear-gradient(90deg, transparent, #000 32px, #000 calc(100% - 32px), transparent); }
  .gank-acc { padding-bottom: 64px; }
}
.gka-form .req { color: #b3261e; font-weight: 700; }
.gka-form .custom-checkbox label a { color: #1a1a1a; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
:is(body#registration, body#password, body#guest-tracking) .gank-auth .custom-checkbox input[type=checkbox],
.gka-form .custom-checkbox input[type=checkbox] { -webkit-appearance: checkbox !important; appearance: auto !important; }
:is(body#registration, body#password, body#guest-tracking) .gank-auth .custom-checkbox label::before,
.gka-form .custom-checkbox label::before { content: none !important; }
:is(body#registration, body#password, body#guest-tracking) .gank-auth .custom-checkbox label .req,
.gka-form .custom-checkbox label .req { display: inline !important; width: auto !important; height: auto !important; margin: 0 !important; padding: 0 !important;
  border: 0 !important; background: none !important; box-shadow: none !important; vertical-align: baseline !important; }
.gka-form .form-group.row:has(.custom-checkbox) > label.form-control-label { display: none !important; }
