button {
  transition: all 0.2s ease;
}
button:active {
  transform: scale(0.95);
}


.bt-pr {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5em;
  min-height: 2.9em;
  padding: 0.85em 1.7em;
  border: none;
  border-radius: 0.625em;
  background: var(--accent);
  color: var(--color-white);
  font-family: var(--font-head);
  font-weight: 700;
  font-size: 1.05em;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  box-shadow: var(--shadow-press);
  transition: transform 0.1s ease, box-shadow 0.1s ease, background-color 0.2s ease;
}
.bt-pr:hover {
  background: var(--accent-hover);
  color: var(--color-white);
  text-decoration: none;
}
.bt-pr:active {
  transform: translateY(0.1875em);
  box-shadow: 0 0.0625em 0 rgba(17, 14, 48, 0.45);
}
.bt-pr:focus-visible,
.bt-ln:focus-visible,
.fq-pl button:focus-visible,
.mg-bt:focus-visible {
  outline: 3px solid var(--color-amber);
  outline-offset: 3px;
}
.bt-sm {
  min-height: 2.75em;
  padding: 0.6em 1.2em;
  font-size: 0.95em;
  flex-shrink: 0;
}
.bt-wd { width: 100%; }


.bt-ln {
  display: inline-flex;
  align-items: center;
  min-height: 2.75em;
  padding: 0.4em 0.2em;
  font-weight: 600;
  color: var(--accent);
  text-decoration: underline;
  text-underline-offset: 0.25em;
}

.ct-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-2) var(--space-3);
  margin: var(--space-3) 0;
}


.pr-bx {
  display: inline-flex;
  flex-direction: column;
  padding: 0.8em 1.2em;
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.75);
  border: var(--border-width) solid rgba(146, 68, 10, 0.25);
}
.pr-am {
  font-family: var(--font-head);
  font-weight: 700;
  font-size: 1.9em;
  line-height: 1.1;
  color: var(--color-ink);
}
.pr-nt {
  font-size: 0.9em;
  color: var(--color-ink-soft);
}


.bdg {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.5em;
}
.bdg-i {
  display: flex;
  align-items: center;
  gap: 0.6em;
  font-size: 0.95em;
  font-weight: 600;
}
.bdg-i::before {
  content: '';
  flex: 0 0 1.1em;
  height: 1.1em;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 35%, var(--color-apricot), var(--color-amber));
  box-shadow: 0 0 0 0.2em rgba(232, 137, 28, 0.18);
}
@media (min-width: 560px) {
  .bdg { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}


.of-f {
  display: grid;
  gap: 0.35em;
}
.of-l {
  font-weight: 600;
  font-size: 0.95em;
}
.of-i {
  width: 100%;
  min-height: 3em;
  padding: 0.7em 0.9em;
  border: 1.5px solid rgba(30, 26, 63, 0.3);
  border-radius: var(--radius-sm);
  background: var(--color-white);
  color: var(--color-ink);
}
.of-i:focus {
  outline: none;
  border-color: var(--accent);
  box-shadow: 0 0 0 3px rgba(45, 42, 122, 0.3);
}
.of-i[aria-invalid='true'] { border-color: var(--color-error); }
.of-ph {
  display: flex;
  min-width: 0;
}
.of-cc {
  display: grid;
  place-items: center;
  padding: 0 0.8em;
  border: 1.5px solid rgba(30, 26, 63, 0.3);
  border-right: none;
  border-radius: var(--radius-sm) 0 0 var(--radius-sm);
  background: var(--bg-secondary);
  font-weight: 600;
}
.of-ph .of-i {
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
  min-width: 0;
}
.of-ck {
  display: grid;
  grid-template-columns: 1.6em minmax(0, 1fr);
  gap: 0.5em;
  align-items: start;
  font-size: 0.9em;
  line-height: 1.5;
}
.of-ck input {
  width: 1.3em;
  height: 1.3em;
  margin-top: 0.15em;
  accent-color: var(--accent);
}
.of-er {
  color: var(--color-error);
  font-size: 0.9em;
  font-weight: 600;
}
.of-er:empty { display: none; }
.of-nt {
  font-size: 0.85em;
  color: var(--color-ink-soft);
}
