:root {
  --admin-bar-h: 0px;
}

body.admin-bar {
  --admin-bar-h: 32px;
}
@media (max-width: 782px) {
  body.admin-bar {
    --admin-bar-h: 46px;
  }
}

:root:has(body.admin-bar) {
  --admin-bar-h: 32px;
}
@media (max-width: 782px) {
  :root:has(body.admin-bar) {
    --admin-bar-h: 46px;
  }
}

@media (max-width: 600px) {
  #wpadminbar {
    position: fixed !important;
  }
}
html {
  scroll-padding-top: calc(var(--admin-bar-h) + var(--header-height) + 1rem);
}

.header {
  top: var(--admin-bar-h);
}

.drawer {
  top: calc(var(--admin-bar-h) + var(--header-height));
  height: calc(100vh - var(--admin-bar-h) - var(--header-height));
  height: calc(100dvh - var(--admin-bar-h) - var(--header-height));
}

.flow-section,
.category-card {
  scroll-margin-top: calc(var(--admin-bar-h) + var(--header-height) + var(--space-md));
}

.wpcf7-form-control-wrap {
  display: block;
}

.wpcf7 .screen-reader-response {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.wpcf7 .hidden-fields-container {
  display: none;
}

.form-choices .wpcf7-radio {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs) var(--space-md);
}

.form-choices .wpcf7-list-item label {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  font-size: 1rem;
  cursor: pointer;
}

.form-choices .wpcf7-list-item input {
  accent-color: var(--color-accent);
}

.form-checkbox .wpcf7-form-control-wrap {
  width: 100%;
}

.form-checkbox .wpcf7-list-item label {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: var(--space-xs);
  cursor: pointer;
}

input[type=submit].btn {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  border-radius: 0;
}

.wpcf7-spinner {
  display: none;
}

.wpcf7-not-valid-tip {
  display: block;
  font-size: 0.95rem;
  color: var(--color-text-muted);
  margin-top: var(--space-xs);
}

.wpcf7 form .wpcf7-response-output {
  margin-top: var(--space-md);
  padding: var(--space-sm);
  border: 1px solid var(--color-border);
  font-size: 0.95rem;
  color: var(--color-text-muted);
  text-align: center;
}

.wpcf7 form.init .wpcf7-response-output,
.wpcf7 form.resetting .wpcf7-response-output,
.wpcf7 form.submitting .wpcf7-response-output {
  display: none;
}

.area-group > *,
.archive-grid > * {
  min-width: 0;
}
