html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
  position: relative;
  min-height: 100%;
}

body {
  margin-bottom: 60px;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
  color: var(--bs-secondary-color);
  text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
  text-align: start;
}

/* ===== Identidad Lenkabits: verde + gris carbón del logo, temas claro y oscuro =====
   El tema se elige con [data-theme] en <html> (ver _Layout: localStorage o prefers-color-scheme). */
:root, [data-theme="light"] {
  --lb-verde: #44D62C;          /* verde marca (botones, acentos) */
  --lb-verde-hover: #3BC024;
  --lb-verde-texto: #1E7A12;    /* verde para texto sobre fondo claro (contraste AA) */
  --lb-carbon: #3A3A3F;         /* "LENKA" */
  --lb-negro: #111113;
  --lb-sobre-verde: #111113;    /* texto sobre botones verdes */
  --lb-fondo: #F4F5F6;
  --lb-superficie: #FFFFFF;
  --lb-texto: #1C1C1F;
  --lb-texto-suave: #5C5C66;
  --lb-borde: #E2E3E7;
  --lb-precio: #1E7A12;
  --lb-urgencia: #C62828;
  --lb-nav: #3A3A3F;
  --lb-hero: linear-gradient(120deg, #111113 0%, #3A3A3F 70%, #2E5F22 100%);
  color-scheme: light;
}
[data-theme="dark"] {
  --lb-verde-texto: #5BE345;
  --lb-fondo: #151517;
  --lb-superficie: #222226;
  --lb-texto: #EDEDF0;
  --lb-texto-suave: #A6A6B0;
  --lb-borde: #34343A;
  --lb-precio: #5BE345;
  --lb-urgencia: #FF6B6B;
  --lb-nav: #0E0E10;
  --lb-hero: linear-gradient(120deg, #0E0E10 0%, #26262B 65%, #1F4A17 100%);
  color-scheme: dark;
}
body { background: var(--lb-fondo); color: var(--lb-texto); font-family: "Inter", "Segoe UI", Roboto, Arial, sans-serif; }
a { color: var(--lb-verde-texto); }
.card, .table, .form-control, .form-select { background-color: var(--lb-superficie); color: var(--lb-texto); border-color: var(--lb-borde); }
.table { --bs-table-bg: var(--lb-superficie); --bs-table-color: var(--lb-texto); --bs-table-border-color: var(--lb-borde); }
.text-muted { color: var(--lb-texto-suave) !important; }
.lb-topbar { background: var(--lb-verde); color: var(--lb-sobre-verde); font-size: .85rem; font-weight: 700; text-align: center; padding: .3rem; }
.lb-navbar { background: var(--lb-nav); border-bottom: 3px solid var(--lb-verde); }
.lb-logo { font-weight: 900; letter-spacing: .5px; font-size: 1.35rem; color: var(--lb-carbon) !important; -webkit-text-stroke: 1px #000; paint-order: stroke fill; }
.lb-logo img { height: 36px; width: auto; }
.lb-logo .lb-logo-lenka { color: #9A9AA3; }
.lb-logo .lb-logo-bits { color: #fff; }
.lb-navbar .nav-link { color: rgba(255,255,255,.85) !important; font-weight: 500; }
.lb-navbar .nav-link:hover { color: var(--lb-verde) !important; }
.lb-tema { background: transparent; border: 1px solid rgba(255,255,255,.35); color: #fff; border-radius: 2rem; padding: .25rem .7rem; }
.btn-cta { background: var(--lb-verde); border-color: var(--lb-verde); color: var(--lb-sobre-verde); font-weight: 800; }
.btn-cta:hover, .btn-cta:focus { background: var(--lb-verde-hover); border-color: var(--lb-verde-hover); color: var(--lb-sobre-verde); }
.btn-primary { background: var(--lb-carbon); border-color: var(--lb-carbon); }
.lb-hero { background: var(--lb-hero); color: #fff; border-radius: 1rem; padding: 2.5rem 2rem; }
.lb-hero-sm { padding: 1.5rem 1.75rem; }
.lb-hero .lb-acento { color: var(--lb-verde); }
.lb-precio { color: var(--lb-precio); font-weight: 800; }
.text-danger { color: var(--lb-urgencia) !important; }
.lb-badge-oferta { background: var(--lb-verde); color: var(--lb-sobre-verde); }
.lb-slot .card-header { background: var(--lb-superficie); border-bottom: 2px solid var(--lb-borde); }
.lb-item { padding: .6rem; border-radius: .5rem; border: 1px solid transparent; }
.lb-item:hover { border-color: var(--lb-borde); }
.lb-item.elegido { border-color: var(--lb-verde); background: color-mix(in srgb, var(--lb-verde) 12%, var(--lb-superficie)); }
.lb-resumen { position: sticky; top: 1rem; border-top: 4px solid var(--lb-verde); }
.lb-total { font-weight: 800; font-size: 1.25rem; }
.lb-tips { background: color-mix(in srgb, var(--lb-verde) 10%, var(--lb-superficie)); border-left: 4px solid var(--lb-verde); padding: .6rem .75rem; border-radius: .25rem; }
.lb-combo { border-top: 4px solid var(--lb-verde); transition: transform .15s; }
.lb-combo:hover { transform: translateY(-3px); box-shadow: 0 .5rem 1rem rgba(0,0,0,.15); }
.lb-countdown { display: flex; gap: .75rem; flex-wrap: wrap; }
.lb-countdown div { background: rgba(0,0,0,.35); border: 1px solid var(--lb-verde); border-radius: .5rem; padding: .5rem .9rem; text-align: center; min-width: 74px; }
.lb-countdown b { display: block; font-size: 1.8rem; color: var(--lb-verde); line-height: 1; }
.lb-countdown small { text-transform: uppercase; font-size: .7rem; letter-spacing: 1px; }
.lb-bitacora-item { border-left: 3px solid var(--lb-verde); padding: .25rem 0 .25rem 1rem; margin-bottom: 1rem; }
.lb-bitacora-item time { font-size: .8rem; color: var(--lb-texto-suave); font-weight: 600; }
.lb-redes .btn { border: 1px dashed var(--lb-borde); color: var(--lb-texto); }
.footer { background: var(--lb-nav); color: rgba(255,255,255,.75) !important; padding: 1rem 0; border-top: 3px solid var(--lb-verde); }
.footer a { color: var(--lb-verde); }
