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;
}

.logo-receipt {
    margin: auto;
    max-width: 250px;
}

/* ---- language selector (shared <details> disclosure) ---- */
.lang-select { position: relative; display: inline-block; }
.lang-select > summary { list-style: none; cursor: pointer; display: inline-flex; align-items: center;
    gap: .4rem; border: 1px solid #d8dae6; border-radius: 999px; padding: .3rem .7rem; font-size: .9rem;
    font-weight: 600; background: #fff; color: #14152a; user-select: none; }
.lang-select > summary::-webkit-details-marker { display: none; }
.lang-flag { height: 16px; width: auto; border-radius: 2px; vertical-align: middle; }
.lang-caret { font-size: .65rem; color: #9aa1bd; }
.lang-code { display: none; }                 /* A = full name on desktop */
.lang-menu { position: absolute; right: 0; top: calc(100% + .35rem); z-index: 1050; min-width: 190px;
    background: #fff; border: 1px solid #e6e8f2; border-radius: 12px; box-shadow: 0 10px 26px rgba(20,21,42,.14);
    overflow: hidden; }
.lang-item { display: flex; align-items: center; gap: .55rem; padding: .6rem .8rem; color: #14152a;
    text-decoration: none; }
.lang-item + .lang-item { border-top: 1px solid #f0f1f6; }
.lang-item:hover { background: #f4f5fb; }
.lang-item.active { background: #eef0fe; color: #4f46e5; font-weight: 700; }
.lang-check { margin-left: auto; }
@media (max-width: 575.98px) {                /* B = compact code on phones */
    .lang-full { display: none; }
    .lang-code { display: inline; }
}
