:root {
  --cafe: #271106; --cafe-2: #3a1a0a; --cafe-3: #4d2610; --sol: #ffd24f; --naranjo: #ee6608; --naranjo-oscuro: #c2410c; --naranjo-claro: #fff1e6;
  --verde: #15803d; --verde-oscuro: #166534; --verde-claro: #dcfce7; --rojo: #b91c1c; --rojo-claro: #fee2e2;
  --texto: #1f1b18; --suave: #4f4a45; --linea: #e6e2de; --fondo: #eef0f0; --blanco: #fff;
}
* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { font-size: 19px; }
body { margin: 0; font-family: "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; color: var(--texto); background: var(--fondo); line-height: 1.45; -webkit-font-smoothing: antialiased; }
svg { flex: none; display: block; }
h1, h2, p, dl, dd { margin: 0; }
button { font: inherit; cursor: pointer; }
.salta { position: absolute; left: -9999px; top: 0; padding: 12px 18px; background: var(--sol); color: var(--cafe); font-weight: 700; z-index: 9; }
.salta:focus { left: 0; }
.app { display: flex; min-height: 100vh; }
.barra-movil, .cerrar-menu, .velo { display: none; }

/* Menú lateral café */
.lat { position: sticky; top: 0; flex: none; display: flex; flex-direction: column; width: 250px; height: 100vh; height: 100dvh; overflow-y: auto; padding: 16px 12px; background: var(--cafe); color: #f5ede6; transition: width .18s; }
.contraer { align-self: flex-end; display: inline-flex; align-items: center; gap: 8px; min-height: 36px; padding: 0 10px; border: 0; border-radius: 6px; background: rgb(255 255 255 / .08); color: #d9cdc3; font-size: .95rem; }
.contraer:hover { background: rgb(255 255 255 / .14); color: #fff; }
.contraer svg { width: 16px; height: 16px; }
.perfil { display: flex; align-items: center; gap: 12px; padding: 20px 8px 18px; min-width: 0; }
.perfil .logo { height: 30px; width: auto; }
.perfil .txt { min-width: 0; }
.perfil b { display: block; font-size: 1rem; }
.perfil small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #e2d6cc; font-size: .95rem; }
.menu { display: flex; flex-direction: column; gap: 4px; }
.menu a { display: flex; align-items: center; gap: 14px; min-height: 48px; padding: 0 12px; border-radius: 8px; color: #efe6de; font-size: .95rem; text-decoration: none; }
.menu a svg { width: 22px; height: 22px; }
.menu a:hover { background: var(--cafe-2); }
.menu a[aria-current="page"] { background: var(--cafe-2); color: var(--sol); font-weight: 700; }
.menu .afuera { margin-left: auto; }
.menu .afuera svg { width: 14px; height: 14px; }
.abajo { margin-top: auto; padding-top: 12px; border-top: 1px solid rgb(255 255 255 / .08); }
.salir { display: flex; align-items: center; gap: 14px; width: 100%; min-height: 48px; padding: 0 12px; border: 0; border-radius: 8px; background: transparent; color: #efe6de; font-size: .95rem; }
.salir:hover { background: var(--cafe-2); }
.salir svg { width: 22px; height: 22px; }
body.chico .lat { width: 76px; }
body.chico .lat .txt { display: none; }
body.chico .contraer { align-self: center; }
body.chico .contraer svg { transform: scaleX(-1); }
body.chico .perfil { justify-content: center; padding: 20px 0 18px; }
body.chico .perfil .logo { height: 22px; }
body.chico .menu a, body.chico .salir { justify-content: center; padding: 0; }

/* Contenido */
main { flex: 1; min-width: 0; padding: 22px 30px 56px; outline: 0; }
#marketing { max-width: 1240px; }
.miga { color: var(--suave); font-size: .95rem; }
.tit { display: flex; align-items: center; gap: 10px; margin: 8px 0 14px; font-size: 1.3rem; font-weight: 800; }
.tit svg { width: 22px; height: 22px; color: var(--naranjo); }
.pastillas { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 18px; }
.pastilla { display: inline-flex; align-items: center; min-height: 36px; padding: 0 18px; border-radius: 999px; background: var(--naranjo-claro); color: var(--naranjo-oscuro); font-size: 1rem; font-weight: 700; }
.pastilla.activa { background: var(--naranjo); color: #fff; }
button.pastilla { min-height: 48px; border: 0; }
button.pastilla:not(.activa):hover { background: #ffe4cc; }
.encender svg { width: 22px; height: 22px; margin-right: 8px; }
.b-vacio { padding: 28px 24px; color: var(--suave); }
.b-lista { list-style: none; margin: 0; padding: 0; counter-reset: banner; }
.b-fila { display: grid; grid-template-columns: minmax(0, 420px) minmax(0, 1fr) auto; gap: 24px; align-items: start; padding: 22px 24px; border-bottom: 1px solid var(--linea); }
.b-fila:last-child { border-bottom: 0; }
.b-vista { position: relative; aspect-ratio: 5 / 2; border-radius: 16px; overflow: hidden; background: #f0eeec; box-shadow: 0 1px 4px rgb(0 0 0 / .12); }
.b-vista img { display: block; width: 100%; height: 100%; object-fit: cover; }
.b-eti { margin: 0 0 6px; color: var(--suave); font-size: 1rem; font-weight: 700; }
.b-eti + .b-vista + .b-eti { margin-top: 16px; }
.b-vista-pc { aspect-ratio: 18 / 5; }
.b-sin-pc { display: grid; place-items: center; padding: 10px 16px; border: 2px dashed #d6d3d1; background: #fafaf9; box-shadow: none; color: var(--suave); font-size: 1rem; text-align: center; }
.b-pc-botones { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.b-pc-botones svg { width: 20px; height: 20px; margin-right: 8px; }
.b-num { position: absolute; left: 10px; top: 10px; display: grid; place-items: center; min-width: 34px; height: 34px; padding: 0 8px; border-radius: 999px; background: rgb(39 17 6 / .85); color: #fff; font-size: .95rem; font-weight: 800; }
.b-datos .campo:first-child { margin-top: 0; }
.b-botones { display: flex; flex-direction: column; gap: 8px; min-width: 170px; }
.b-botones .secundario, .b-botones .quitar { justify-content: flex-start; gap: 8px; }
.b-botones svg { width: 20px; height: 20px; }
.quitar { display: inline-flex; align-items: center; min-height: 48px; padding: 0 22px; border: 1px solid #f3c2c2; border-radius: 8px; background: #fff; color: var(--rojo); font-size: .95rem; font-weight: 700; }
.quitar:hover { background: var(--rojo-claro); }

.kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-bottom: 18px; }
.kpi { min-width: 0; padding: 16px 18px; border-radius: 8px; background: var(--blanco); box-shadow: 0 1px 2px rgb(0 0 0 / .06); }
.kpi dt { color: var(--suave); font-size: .95rem; }
.kpi dd { margin-top: 4px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 1rem; font-weight: 700; }
.kpi dd.grande { font-size: 1.45rem; line-height: 1.2; }
.estado { font-size: 1.45rem; font-weight: 800; line-height: 1.2; }
.estado.activa { color: var(--verde); }
.estado.apagada { color: var(--suave); }

.caja { border-radius: 8px; background: var(--blanco); box-shadow: 0 1px 2px rgb(0 0 0 / .06); }
.caja-cab { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; padding: 20px 24px; border-bottom: 1px solid var(--linea); }
.caja-sec { color: var(--suave); font-size: .95rem; }
.caja h2 { margin-top: 2px; font-size: 1.3rem; font-weight: 800; }
.sub { max-width: 560px; margin-top: 6px; color: var(--suave); font-size: .95rem; }
.sub b { color: var(--texto); }
.acciones { flex: none; display: flex; gap: 8px; flex-wrap: wrap; }
.aviso { margin: 0; padding: 12px 24px; border-bottom: 1px solid var(--linea); background: var(--verde-claro); color: var(--verde-oscuro); font-size: .95rem; font-weight: 600; }
.aviso.malo { background: var(--rojo-claro); color: var(--rojo); }
.aviso:empty { padding: 0; border: 0; }
.caja-cuerpo { display: grid; grid-template-columns: minmax(0, 1fr) 340px; }
.fila { display: grid; grid-template-columns: 190px minmax(0, 1fr); gap: 24px; padding: 22px 24px; border-bottom: 1px solid var(--linea); }
.fila:last-child { border-bottom: 0; }
.fila h3 { margin: 0; font-size: 1rem; font-weight: 700; }
.fila-texto p { margin-top: 4px; color: var(--suave); font-size: .95rem; }
.lado { padding: 22px 24px; border-left: 1px solid var(--linea); background: #fafaf9; border-radius: 0 0 8px 0; }
.lado-tit { margin-bottom: 12px; font-size: .95rem; font-weight: 700; }

.elegido { display: flex; align-items: center; gap: 14px; padding: 12px 14px; border: 1px solid var(--linea); border-radius: 10px; }
.elegido .nombre { font-weight: 700; }
.elegido .quedan { color: var(--verde); font-size: .95rem; font-weight: 700; }
.elegido .quedan.malo { color: var(--rojo); }
.elegido .txt { flex: 1; min-width: 0; }
.dibujo { flex: none; display: grid; place-items: center; width: 52px; height: 52px; border-radius: 8px; background: var(--naranjo-claro); color: var(--naranjo-oscuro); }
.dibujo svg { width: 24px; height: 24px; }
.foto { flex: none; width: 52px; height: 52px; object-fit: contain; border: 1px solid var(--linea); border-radius: 8px; background: #fff; }
.buscador { margin-top: 14px; }
.buscador label { display: block; margin-bottom: 6px; font-size: .95rem; font-weight: 600; }
.fila-busca { display: flex; flex-wrap: wrap; gap: 8px; }
.campo-busca { position: relative; flex: 1 1 240px; }
.campo-busca input { width: 100%; padding-right: 44px; }
.lupa { position: absolute; right: 14px; top: 50%; margin-top: -9px; color: var(--suave); pointer-events: none; }
.lupa svg { width: 18px; height: 18px; }
.resultados { list-style: none; margin: 12px 0 0; padding: 0; border: 1px solid var(--linea); border-radius: 10px; overflow: hidden; }
.resultados:empty { display: none; }
.resultados li + li { border-top: 1px solid var(--linea); }
.resultados button { display: flex; align-items: center; gap: 14px; width: 100%; min-height: 68px; padding: 8px 14px; border: 0; background: #fff; color: inherit; font-size: .95rem; text-align: left; }
.resultados button:hover { background: #faf8f6; }
.resultados .agotado { color: var(--rojo); font-size: .95rem; }

input { min-width: 0; min-height: 48px; padding: 0 14px; border: 1.5px solid #8a837d; border-radius: 8px; font: inherit; font-size: 1rem; color: inherit; background: #fff; transition: border-color .12s, box-shadow .12s; }
input:hover { border-color: #57524d; }
input:focus { border-color: var(--naranjo); box-shadow: 0 0 0 3px rgb(238 102 8 / .15); outline: 0; }
input::placeholder { color: #6b645e; }
.campo { display: flex; flex-direction: column; gap: 6px; margin-top: 16px; }
.campo:first-child { margin-top: 0; }
.campo > span { font-size: .95rem; font-weight: 600; }
.campo small { color: var(--suave); font-size: .95rem; }
.ayuda { margin-top: 8px; color: var(--suave); font-size: .95rem; }

.imagen-fila { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.vista { flex: none; display: grid; place-items: center; width: 110px; height: 110px; border: 1px solid var(--linea); border-radius: 10px; background: repeating-conic-gradient(#f5f5f4 0 25%, #fff 0 50%) 0 0 / 14px 14px; overflow: hidden; }
.vista img { max-width: 96px; max-height: 96px; object-fit: contain; }
.vista span { padding: 8px; color: var(--suave); font-size: .95rem; text-align: center; }
.botones-imagen { display: flex; flex-direction: column; align-items: center; gap: 4px; }

.previa { position: relative; display: flex; align-items: center; gap: 10px; padding: 28px 14px 14px 8px; border-radius: 14px; background: linear-gradient(115deg, #fff4c9 0%, #ffd24f 55%, #ffb347 100%); overflow: hidden; }
.previa .cinta { position: absolute; top: 0; right: 0; padding: 3px 12px 4px; border-radius: 0 0 0 10px; background: #b91c1c; color: #fff; font-size: .58rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.previa .circulo { flex: none; display: grid; place-items: center; width: 92px; height: 92px; border-radius: 50%; background: #fff; overflow: visible; box-shadow: 0 4px 12px rgb(0 0 0 / .1); }
.previa .circulo img { width: 66px; height: 66px; max-width: none; object-fit: contain; transform: rotate(-10deg); filter: drop-shadow(0 6px 6px rgb(0 0 0 / .25)); }
.previa .circulo img.foto-catalogo { width: 76px; height: 76px; border-radius: 50%; transform: none; filter: none; }
.previa div { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.previa b { color: var(--cafe); font-size: .98rem; line-height: 1.15; overflow-wrap: anywhere; }
.previa div span { color: var(--cafe); font-size: .95rem; font-weight: 500; overflow-wrap: anywhere; }
.linea-previa { display: flex; justify-content: space-between; gap: 12px; margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--linea); font-size: .95rem; }
.linea-previa b { color: var(--verde); }

.principal, .encender, .secundario, .borde { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 22px; border: 0; border-radius: 8px; font-size: 1rem; font-weight: 700; transition: background .12s; }
.encender { background: var(--verde); color: #fff; }
.encender:hover { background: var(--verde-oscuro); }
.encender.apagar { background: var(--rojo); }
.encender.apagar:hover { background: #991b1b; }
.borde { border: 1px solid var(--linea); background: #fff; color: var(--texto); }
.borde:hover { background: #faf8f6; border-color: #cfc9c3; }
.secundario { background: var(--naranjo-claro); color: var(--naranjo-oscuro); font-size: .95rem; }
.secundario:hover { background: #ffe4cc; }
.enlace { min-height: 44px; padding: 0 12px; border: 0; background: transparent; color: var(--naranjo-oscuro); font-size: .95rem; font-weight: 700; }
button:disabled { opacity: .5; cursor: default; }
.oculto { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.error { max-width: 640px; margin: 24px 0; padding: 14px 18px; border-radius: 8px; background: var(--rojo-claro); color: var(--rojo); font-size: .95rem; font-weight: 600; }
.solo-lector { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.esqueleto { max-width: 1240px; }
.hueso { display: block; border-radius: 6px; background: linear-gradient(90deg, #e4e1de 0%, #f1efed 40%, #e4e1de 80%) 0 0 / 300% 100%; animation: brillo 1.4s ease-in-out infinite; }
@keyframes brillo { from { background-position: 100% 0; } to { background-position: 0 0; } }
.h-miga { width: 110px; height: 12px; }
.h-tit { width: 190px; height: 28px; margin: 12px 0 16px; }
.h-pastilla { width: 200px; height: 36px; margin-bottom: 18px; border-radius: 999px; }
.h-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-bottom: 18px; }
.h-kpi { height: 82px; border-radius: 8px; }
.h-caja { border-radius: 8px; background: #fff; box-shadow: 0 1px 2px rgb(0 0 0 / .06); }
.h-cab { display: flex; justify-content: space-between; gap: 24px; padding: 20px 24px; border-bottom: 1px solid var(--linea); }
.h-cab > div { flex: 1; }
.h-linea { height: 12px; margin-bottom: 10px; }
.h-linea.c { width: 90px; }
.h-linea.m { width: 60%; max-width: 300px; }
.h-linea.g { width: 80%; max-width: 420px; height: 20px; }
.h-boton { flex: none; width: 200px; height: 48px; border-radius: 8px; }
.h-cuerpo { display: grid; grid-template-columns: minmax(0, 1fr) 340px; }
.h-fila { display: grid; grid-template-columns: 190px minmax(0, 1fr); gap: 24px; padding: 22px 24px; border-bottom: 1px solid var(--linea); }
.h-fila:last-child { border-bottom: 0; }
.h-bloque { height: 78px; border-radius: 10px; }
.h-cuadro { width: 110px; height: 110px; border-radius: 10px; }
.h-campo { height: 48px; margin-bottom: 14px; border-radius: 8px; }
.h-lado { padding: 22px 24px; border-left: 1px solid var(--linea); background: #fafaf9; }
.h-previa { height: 134px; margin: 4px 0 16px; border-radius: 14px; }

/* Entrada */
body.fuera .lat { display: none; }
body.fuera main { padding: 0; }
.entrada { min-height: 100vh; background: #efece9; }
.entrada-franja { display: flex; justify-content: center; padding: 30px 20px 124px; background: linear-gradient(180deg, var(--cafe) 0%, var(--cafe-2) 100%); }
.entrada .logo { height: 60px; width: auto; }
.entrada-tarjeta { width: calc(100% - 32px); max-width: 440px; margin: -84px auto 40px; padding: 36px 32px 30px; border-radius: 8px; background: #fff; box-shadow: 0 6px 16px rgb(0 0 0 / .1); }
.entrada h1 { color: var(--cafe); font-size: 1.45rem; font-weight: 700; }
.entrada-texto { margin-top: 8px; color: var(--suave); }
.entrada .error { margin: 18px 0 0; }
.google { position: relative; display: flex; align-items: center; justify-content: center; width: 100%; min-height: 56px; margin-top: 28px; padding: 0 64px; border-radius: 999px; background: var(--naranjo); color: #fff; font-size: 1.05rem; font-weight: 700; text-decoration: none; box-shadow: 0 4px 12px rgb(238 102 8 / .25); transition: background .12s; }
.google:hover { background: var(--naranjo-oscuro); }
.google > span:last-child { white-space: nowrap; }
.google.sin-g { padding: 0 24px; }
.google.esperando { background: var(--naranjo-oscuro); cursor: progress; }
.captcha:not(:empty) { display: flex; justify-content: center; margin-top: 20px; }
.captcha > div { width: 100%; display: flex; justify-content: center; }
.entrada-tarjeta.alerta { border-top: 6px solid var(--rojo); }
.entrada-tarjeta.alerta h1 { color: var(--rojo); font-size: 1.8rem; }
.alerta-icono { display: inline-grid; place-items: center; width: 56px; height: 56px; margin-bottom: 14px; border-radius: 12px; background: var(--rojo-claro); color: var(--rojo); }
.alerta-icono svg { width: 30px; height: 30px; }
.google-g { position: absolute; left: 5px; top: 50%; display: grid; place-items: center; width: 46px; height: 46px; margin-top: -23px; border-radius: 50%; background: #fff; }
.google svg { width: 22px; height: 22px; }
.entrada-nota { display: flex; align-items: center; gap: 8px; margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--linea); color: var(--suave); font-size: .95rem; }
.entrada-nota svg { width: 14px; height: 14px; }
.volver { display: flex; align-items: center; justify-content: center; gap: 8px; width: max-content; min-height: 48px; margin: -16px auto 40px; padding: 0 16px; border-radius: 999px; color: var(--naranjo-oscuro); font-size: 1rem; font-weight: 700; text-decoration: none; }
.volver:hover { background: var(--naranjo-claro); }
.volver svg { width: 20px; height: 20px; }

a:focus-visible, button:focus-visible { outline: 2px solid var(--naranjo); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { * { transition: none !important; animation: none !important; } }
@media (max-width: 1100px) {
  .h-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .h-cuerpo { grid-template-columns: 1fr; }
  .h-lado { order: -1; border-left: 0; border-bottom: 1px solid var(--linea); }
  .kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .caja-cuerpo { grid-template-columns: 1fr; }
  .b-fila { grid-template-columns: minmax(0, 1fr) auto; }
  .b-vista { grid-column: 1 / -1; max-width: 560px; }
  .lado { order: -1; border-left: 0; border-bottom: 1px solid var(--linea); border-radius: 0; }
  .lado > * { max-width: 460px; }
}
@media (max-width: 760px) {
  html { font-size: 18px; }
  .barra-movil:not([hidden]) { position: sticky; top: 0; z-index: 20; display: flex; align-items: center; gap: 12px; min-height: 64px; padding: 8px 14px 8px 6px; background: var(--cafe); color: #f5ede6; }
  body.fuera .barra-movil { display: none; }
  .hamburguesa { display: grid; place-items: center; width: 48px; height: 48px; border: 0; border-radius: 8px; background: transparent; color: #fff; }
  .hamburguesa:hover { background: var(--cafe-2); }
  .hamburguesa svg { width: 26px; height: 26px; }
  .barra-movil .logo { height: 26px; width: auto; }
  .barra-txt { min-width: 0; }
  .barra-txt b { display: block; font-size: .95rem; line-height: 1.2; }
  .barra-txt small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #e2d6cc; font-size: .95rem; }
  .lat, body.chico .lat { position: fixed; top: 0; left: 0; z-index: 40; bottom: 0; width: 286px; max-width: 86vw; height: auto; overflow-y: auto; overscroll-behavior: contain; transform: translateX(-102%); visibility: hidden; transition: transform .22s ease, visibility 0s .22s; }
  body.chico .lat .txt { display: revert; }
  body.chico .menu a, body.chico .salir { justify-content: flex-start; padding: 0 12px; }
  body.chico .perfil { justify-content: flex-start; padding: 20px 8px 18px; }
  body.chico .perfil .logo { height: 30px; }
  .lat .perfil, body.chico .lat .perfil { padding: 12px 64px 18px 8px; }
  body.menu-abierto .lat { transform: none; visibility: visible; transition: transform .22s ease; box-shadow: 8px 0 24px rgb(0 0 0 / .25); }
  .contraer { display: none; }
  .cerrar-menu { position: absolute; top: 12px; right: 12px; display: grid; place-items: center; width: 48px; height: 48px; border: 0; border-radius: 8px; background: rgb(255 255 255 / .08); color: #fff; }
  .cerrar-menu svg { width: 22px; height: 22px; }
  .velo:not([hidden]) { position: fixed; inset: 0; z-index: 30; display: block; background: rgb(20 10 4 / .5); }
  main { padding: 16px 12px 48px; }
  .miga, .h-miga { display: none; }
  .h-cab { flex-direction: column; padding: 18px 16px; }
  .h-boton { width: 100%; }
  .h-fila { grid-template-columns: 1fr; gap: 12px; padding: 20px 16px; }
  .h-lado { padding: 18px 16px; }
  .tit { margin-top: 0; }
  .kpis { gap: 10px; }
  .kpi { padding: 12px 14px; }
  .kpi dd { white-space: normal; }
  .caja-cab { flex-direction: column; padding: 18px 16px; }
  .acciones { width: 100%; flex-direction: column; }
  .acciones > * { width: 100%; }
  .aviso { padding: 12px 16px; }
  .lado { padding: 18px 16px; }
  .fila { grid-template-columns: 1fr; gap: 12px; padding: 20px 16px; }
  .elegido { flex-wrap: wrap; }
  .elegido .txt { flex-basis: calc(100% - 70px); }
  .elegido .secundario { width: 100%; }
  .botones-imagen { align-items: flex-start; }
  .b-fila { grid-template-columns: 1fr; gap: 14px; padding: 20px 16px; }
  .b-botones { flex-direction: row; flex-wrap: wrap; min-width: 0; }
  .b-botones > * { flex: 1 1 140px; }
  .entrada-tarjeta { padding: 28px 22px 24px; }
}
@media (max-width: 420px) {
  .entrada-tarjeta { width: calc(100% - 20px); padding: 26px 16px 22px; }
  .google { padding: 0 14px 0 54px; }
  .google-g { left: 5px; width: 42px; height: 42px; margin-top: -21px; }
}
@media (max-width: 340px) {
  .entrada-tarjeta { width: calc(100% - 12px); padding: 24px 12px 20px; }
  .google { padding: 0 8px 0 46px; font-size: .95rem; }
  .google-g { left: 4px; width: 36px; height: 36px; margin-top: -18px; }
  .google svg { width: 20px; height: 20px; }