
.button,
.osint4all-form > button,
.newsletter-form > button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  padding: 0 18px;
  border: 1px solid transparent;
  border-radius: var(--o4-radius);
  font-size: 0.92rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-decoration: none;
  cursor: pointer;
  transition: transform 160ms ease, border-color 160ms ease, background 160ms ease, box-shadow 160ms ease;
}

.button:hover,
.osint4all-form > button:hover,
.newsletter-form > button:hover {
  transform: translateY(-1px);
  text-decoration: none;
}

.button-primary,
.osint4all-form > button,
.newsletter-form > button {
  color: #ffffff;
  background: linear-gradient(135deg, #e8dba9 0%, var(--o4-accent) 52%, var(--o4-deep) 100%);
  box-shadow: 0 16px 34px rgba(200, 184, 141, 0.34);
}

.button-primary:hover,
.button-primary:focus-visible,
.osint4all-form > button:hover,
.newsletter-form > button:hover {
  box-shadow: 0 18px 38px rgba(200, 184, 141, 0.46);
}

.button-secondary,
.button-ghost {
  color: rgba(244, 245, 246, 0.94);
  background: rgba(255, 255, 255, 0.055);
  border-color: rgba(173, 178, 182, 0.22);
}

.button-secondary:hover,
.button-secondary:focus-visible,
.button-ghost:hover,
.button-ghost:focus-visible {
  border-color: rgba(216, 220, 223, 0.44);
  background: rgba(255, 255, 255, 0.085);
}

.button-ghost {
  background: transparent;
}

input,
select,
textarea {
  width: 100%;
  min-height: 48px;
  padding: 13px 15px;
  border: 1px solid rgba(173, 178, 182, 0.22);
  border-radius: var(--o4-radius);
  color: var(--o4-white);
  background: rgba(3, 6, 11, 0.66);
  font-family: "Montserrat", "Segoe UI", Arial, sans-serif;
  font-size: 0.95rem;
}

textarea {
  min-height: 132px;
  resize: vertical;
}

select {
  appearance: none;
  padding-right: 42px;
  background-image:
    linear-gradient(45deg, transparent 50%, rgba(216, 220, 223, 0.86) 50%),
    linear-gradient(135deg, rgba(216, 220, 223, 0.86) 50%, transparent 50%);
  background-position:
    calc(100% - 20px) calc(50% - 3px),
    calc(100% - 14px) calc(50% - 3px);
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
}

select option {
  color: #111218;
}

input::placeholder,
textarea::placeholder {
  color: rgba(173, 178, 182, 0.58);
}

input[type="checkbox"] {
  width: 18px;
  height: 18px;
  min-height: 18px;
  padding: 0;
  accent-color: var(--o4-accent-strong);
}

input:focus-visible,
select:focus-visible,
textarea:focus-visible,
button:focus-visible,
a:focus-visible {
  outline: 2px solid rgba(225, 209, 165, 0.92);
  outline-offset: 3px;
}
