.family-recipes-app {
  --recipe-border: #d8d2c5;
  --recipe-ink: #25231f;
  --recipe-muted: #686158;
  --recipe-surface: #fffdf8;
  --recipe-accent: #0f6b5f;
  color: var(--recipe-ink);
  max-width: 1100px;
  margin: 0 auto;
}

.family-recipes-app input,
.family-recipes-app textarea,
.family-recipes-app select,
.family-recipes-app button {
  font: inherit;
}

.family-recipes-app input,
.family-recipes-app textarea,
.family-recipes-app select {
  font-weight: 400;
}

.family-recipes-toolbar {
  align-items: center;
  display: flex;
  gap: 12px;
  justify-content: space-between;
  margin: 0 0 24px;
}

.family-recipes-search {
  display: grid;
  gap: 10px;
  grid-template-columns: minmax(220px, 1fr) minmax(160px, 220px) auto;
  width: 100%;
}

.family-recipes-search input,
.family-recipes-search select,
.family-recipe-form input,
.family-recipe-form textarea,
.family-recipe-email input,
.family-recipe-controls input,
.family-recipe-controls select {
  border: 1px solid var(--recipe-border);
  border-radius: 6px;
  box-sizing: border-box;
  padding: 10px 12px;
  width: 100%;
}

.family-recipes-app button,
.family-recipes-button {
  background: var(--recipe-accent);
  border: 1px solid var(--recipe-accent);
  border-radius: 6px;
  color: #fff;
  cursor: pointer;
  display: inline-flex;
  justify-content: center;
  line-height: 1.2;
  padding: 10px 14px;
  text-decoration: none;
}

.family-recipe-wp-editor button,
.family-recipe-wp-editor .button,
.family-recipe-wp-editor .wp-switch-editor,
.family-recipe-wp-editor .mce-btn button,
.family-recipe-wp-editor .quicktags-toolbar input {
  background: #f6f7f7 !important;
  border-color: #c3c4c7 !important;
  border-radius: 3px !important;
  color: #2c3338 !important;
  display: inline-flex;
  line-height: 1.4;
  padding: 2px 8px;
}

.family-recipe-wp-editor .mce-btn button {
  min-height: 28px;
  min-width: 28px;
  padding: 2px 4px;
}

.family-recipe-wp-editor .mce-menubtn button,
.family-recipe-wp-editor .mce-listbox button {
  white-space: nowrap;
}

.family-recipes-login {
  white-space: nowrap;
}

.family-recipes-toc {
  border-bottom: 1px solid var(--recipe-border);
  border-top: 1px solid var(--recipe-border);
}

.family-recipes-toc ol {
  column-gap: 36px;
  columns: 2 260px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.family-recipes-toc li {
  align-items: baseline;
  border-top: 1px solid var(--recipe-border);
  break-inside: avoid;
  padding: 10px 0;
}

.family-recipes-toc li:first-child {
  border-top: 0;
}

.family-recipes-toc a {
  color: var(--recipe-ink);
  font-weight: 700;
  text-decoration: none;
}

.family-recipe-description,
.family-recipe-meta {
  color: var(--recipe-muted);
}

.family-recipe-meta {
  font-size: 0.9rem;
}

.family-recipes-actions,
.family-recipe-controls,
.family-recipe-email {
  align-items: end;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 18px 0;
}

.family-recipes-actions a,
.family-recipes-actions button {
  background: var(--recipe-accent);
  border: 1px solid var(--recipe-accent);
  border-radius: 6px;
  color: #fff;
  display: inline-flex;
  line-height: 1.2;
  padding: 10px 14px;
  text-decoration: none;
}

.family-recipe-photo img {
  border-radius: 8px;
  display: block;
  height: auto;
  max-height: 520px;
  object-fit: cover;
  width: 100%;
}

.family-recipe-current-photo {
  align-items: center;
  border: 1px solid var(--recipe-border);
  border-radius: 8px;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  padding: 12px;
}

.family-recipe-current-photo img {
  border-radius: 6px;
  display: block;
  height: auto;
}

.family-recipe-print-options {
  align-items: center;
  display: inline-flex;
  flex-direction: row;
  font-weight: 400;
  gap: 8px;
  margin: 0 0 12px;
}

.family-recipe-print-options input {
  width: auto;
}

.family-recipe-controls {
  align-items: end;
  border-bottom: 1px solid var(--recipe-border);
  border-top: 1px solid var(--recipe-border);
  display: grid;
  grid-template-columns: minmax(110px, 160px) auto minmax(150px, 200px);
  padding: 14px 0;
}

.family-recipe-controls label,
.family-recipe-email label,
.family-recipe-form label {
  display: grid;
  gap: 6px;
  font-weight: 600;
}

.family-recipe-scale-buttons {
  display: flex;
  gap: 6px;
}

.family-recipe-scale-buttons button {
  min-width: 58px;
}

.family-recipes-app .family-recipe-ingredients,
.family-recipes-app .family-recipe-ingredients li,
.family-recipes-app .family-recipe-method,
.family-recipes-app .family-recipe-method p,
.family-recipes-app .family-recipe-method li {
  font-size: 1.05rem;
  line-height: 1.5;
}

.family-recipe-ingredients {
  columns: 2 260px;
  padding-left: 1.25rem;
}

.family-recipe-ingredients li {
  break-inside: avoid;
  margin-bottom: 8px;
}

.family-recipe-method p {
  margin: 0 0 0.35em;
}

.family-recipe-method ul,
.family-recipe-method ol {
  margin-top: 0.25em;
  margin-bottom: 0.5em;
}

.family-recipe-method li {
  margin-bottom: 0.15em;
}

.family-recipe-form {
  display: grid;
  gap: 18px;
}

.family-recipes-dropzone {
  --recipe-border: #d8d2c5;
  --recipe-muted: #686158;
  --recipe-accent: #0f6b5f;
  border: 1px dashed var(--recipe-border);
  border-radius: 8px;
  cursor: pointer;
  display: grid;
  gap: 8px;
  padding: 16px;
}

.family-recipes-dropzone.is-dragging {
  background: #e6f3ed;
  border-color: var(--recipe-accent);
}

.family-recipes-dropzone input[type="file"] {
  border: 0;
  padding: 0;
}

.family-recipes-dropzone output {
  color: var(--recipe-muted);
  font-size: 0.9rem;
  min-height: 1.2em;
}

.family-recipe-form fieldset {
  border: 1px solid var(--recipe-border);
  border-radius: 8px;
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 14px;
}

.family-recipes-check {
  align-items: center;
  display: flex !important;
  flex-direction: row;
  font-weight: 400 !important;
  gap: 8px !important;
}

.family-recipes-check input {
  width: auto;
}

.family-recipes-help {
  border: 1px solid var(--recipe-border);
  border-radius: 8px;
  margin: 18px 0;
  padding: 14px;
}

.family-recipes-help summary {
  cursor: pointer;
  font-weight: 700;
}

.family-recipes-notice {
  background: #e6f3ed;
  border-left: 4px solid var(--recipe-accent);
  padding: 10px 12px;
}

.family-recipe-email output {
  color: var(--recipe-muted);
  min-width: 180px;
}

@media (max-width: 720px) {
  .family-recipes-toolbar,
  .family-recipes-search,
  .family-recipe-controls,
  .family-recipe-email {
    display: grid;
    grid-template-columns: 1fr;
  }

  .family-recipes-toc ol {
    columns: 1;
  }
}

@media print {
  .family-recipes-actions,
  .family-recipe-email,
  .family-recipe-print-options,
  .family-recipes-toolbar {
    display: none !important;
  }

  .family-recipes-app {
    max-width: none;
  }

  .family-recipe-detail:not(.is-printing-photo) .family-recipe-photo {
    display: none !important;
  }

  .family-recipe-detail.is-printing-photo .family-recipe-photo img {
    max-height: 2.75in;
    object-fit: contain;
  }
}
