/* GapPlate Recipes. Uses the theme's colours where it has them. */
.gpr [hidden] { display: none !important; }
.gpr { --gpr-accent: var(--wp--preset--color--primary, #1b7f5b); --gpr-line: #d7dedb; --gpr-muted: #5b6662; line-height: 1.5; }
.gpr h2 { margin-top: 1.6em; }
.gpr .gpr-button { display: inline-block; padding: .55em 1.1em; border-radius: 6px; border: 1px solid var(--gpr-accent); background: var(--gpr-accent); color: #fff; text-decoration: none; cursor: pointer; font: inherit; }
.gpr .gpr-button:hover { filter: brightness(1.08); }
.gpr .gpr-button-quiet { background: transparent; color: var(--gpr-accent); }
.gpr .gpr-button-danger { background: #b3261e; border-color: #b3261e; }
.gpr .gpr-button[disabled] { opacity: .6; cursor: default; }
.gpr .gpr-link { background: none; border: 0; padding: 0; color: var(--gpr-accent); text-decoration: underline; cursor: pointer; font: inherit; }
.gpr .gpr-actions { display: flex; flex-wrap: wrap; gap: .5em; margin: 1em 0; align-items: center; }
.gpr .gpr-inline { display: inline; margin: 0; }
.gpr .gpr-notice { padding: .7em 1em; border-radius: 6px; background: #fff7e0; border: 1px solid #f0d58a; }
.gpr .gpr-error { padding: .7em 1em; border-radius: 6px; background: #fdecea; border: 1px solid #f3b8b3; color: #8a1c14; }
.gpr .gpr-help, .gpr .gpr-meta, .gpr .gpr-optional, .gpr .gpr-required { color: var(--gpr-muted); font-size: .92em; }
.gpr .gpr-meta { display: block; }
.gpr .gpr-badge { display: inline-block; padding: .1em .6em; margin: 0 .3em .3em 0; border-radius: 999px; background: #e3f3ec; color: #145c42; font-size: .88em; }
.gpr .gpr-badge-muted { background: #eef0ef; color: var(--gpr-muted); }

/* List */
.gpr .gpr-search { display: grid; gap: .7em; margin: 1em 0; }
.gpr .gpr-search input[type=search] { width: 100%; padding: .6em .8em; border: 1px solid var(--gpr-line); border-radius: 6px; font: inherit; }
.gpr .gpr-chips { border: 0; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: .4em; }
.gpr .gpr-chips legend { font-weight: 600; margin-bottom: .3em; }
.gpr .gpr-chip { border: 1px solid var(--gpr-line); border-radius: 999px; padding: .2em .7em; cursor: pointer; }
.gpr .gpr-chip:has(input:checked) { border-color: var(--gpr-accent); background: #e3f3ec; }
.gpr .gpr-cards { list-style: none; padding: 0; display: grid; gap: .6em; }
.gpr .gpr-card { border: 1px solid var(--gpr-line); border-radius: 8px; padding: .8em 1em; }
.gpr .gpr-card > a { font-weight: 600; font-size: 1.05em; }
.gpr .gpr-tags { display: block; font-size: .88em; color: #145c42; }
.gpr .gpr-pager { display: flex; gap: 1em; justify-content: center; margin: 1.5em 0; }

/* Form */
.gpr-form label { display: block; margin: .7em 0; }
.gpr-form input[type=text], .gpr-form input[type=email], .gpr-form input[type=number], .gpr-form select, .gpr-form textarea { display: block; width: 100%; box-sizing: border-box; padding: .5em .7em; border: 1px solid var(--gpr-line); border-radius: 6px; font: inherit; margin-top: .25em; background: #fff; }
.gpr-form .gpr-check { display: flex; gap: .5em; align-items: flex-start; }
.gpr-form .gpr-check input { margin-top: .3em; }
.gpr-form .gpr-trap { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.gpr-ing { display: grid; grid-template-columns: 1fr 7em 7em 2.2em; gap: .5em; align-items: start; margin: .5em 0; }
.gpr-ing input, .gpr-ing select { margin-top: 0 !important; }
.gpr-ing-name { position: relative; }
.gpr-suggest { position: absolute; z-index: 20; left: 0; right: 0; top: 100%; margin: 2px 0 0; padding: 0; list-style: none; background: #fff; border: 1px solid var(--gpr-line); border-radius: 6px; box-shadow: 0 6px 18px rgba(0,0,0,.12); max-height: 18em; overflow: auto; }
.gpr-suggest li { padding: .45em .7em; cursor: pointer; }
.gpr-suggest li:hover, .gpr-suggest li:focus { background: #e3f3ec; outline: none; }
.gpr-suggest small { color: var(--gpr-muted); }
.gpr-suggest .gpr-suggest-new { border-top: 1px solid var(--gpr-line); color: var(--gpr-accent); }
.gpr-new-note { display: block; font-size: .85em; color: #8a5a00; margin-top: .2em; }
.gpr-x { border: 1px solid var(--gpr-line); background: #fff; border-radius: 6px; cursor: pointer; font-size: 1.1em; line-height: 1; padding: .45em 0; width: 2.2em; }
.gpr-step-list { padding-left: 1.4em; }
.gpr-step { display: grid; grid-template-columns: 1fr auto; gap: .5em; margin: .5em 0; }
.gpr-step-tools { display: flex; gap: .25em; align-items: flex-start; }
.gpr-step textarea { resize: vertical; min-height: 4.5em; line-height: 1.45; overflow: hidden; }
.gpr-step-tools button { border: 1px solid var(--gpr-line); background: #fff; border-radius: 6px; cursor: pointer; width: 2.2em; }
.gpr-cooked { border: 0; padding: 0; margin: .5em 0; }
.gpr-cooked label { margin: .3em 0; }
.gpr-cooked-fields { display: grid; gap: .2em; max-width: 26em; }
@media (max-width: 600px) {
  .gpr-ing { grid-template-columns: 1fr 1fr 2.2em; }
  .gpr-ing-name { grid-column: 1 / -1; }
}

/* Recipe page */
.gpr-recipe .gpr-ingredients li, .gpr-recipe .gpr-steps li { margin: .35em 0; }
.gpr-recipe .gpr-ingredients li.gpr-sub-ingredient { list-style: none; margin-top: .15em; }
.gpr-recipe h3.gpr-sub-method { margin-top: 1.4em; }
.gpr-print-only { display: none; }
@media print {
  .gpr-no-print, header, footer, nav, .wp-block-template-part { display: none !important; }
  .gpr-print-only { display: block; }
  .gpr .gpr-badge { border: 1px solid #999; }
}
.gpr-suggest li.gpr-suggest-head { font-size: .85em; font-style: italic; opacity: .75; cursor: default; }
.gpr-suggest li.gpr-suggest-head:hover { background: none; }
/* Author: link and About you */
.gpr-recipe .gpr-link-out { margin-top: 1.4em; font-weight: 600; }
.gpr-recipe .gpr-author { margin-top: 1.6em; padding: 1em 1.2em; border: 1px solid var(--gpr-line); border-radius: 8px; background: #f7f3e9; }
.gpr-recipe .gpr-author h2 { margin-top: 0; font-size: 1.15em; }
.gpr-author-links { list-style: none; padding: 0; margin: .5em 0 0; display: flex; flex-wrap: wrap; gap: .4em 1.2em; }
.gpr-profile textarea { width: 100%; }
@media print { .gpr-author-links a::after { content: " (" attr(href) ")"; font-weight: normal; } }
/* Nutrition */
.gpr-nutrition { margin-top: 1.6em; }
.gpr-ntable { border-collapse: collapse; width: 100%; max-width: 34em; margin: .5em 0 1em; font-size: .95em; }
.gpr-ntable th, .gpr-ntable td { text-align: left; padding: .3em .6em; border-bottom: 1px solid var(--gpr-line); }
.gpr-ntable td { text-align: right; white-space: nowrap; }
.gpr-ntable thead th { font-size: .85em; color: var(--gpr-muted); font-weight: 600; }
.gpr-ntable thead th:not(:first-child) { text-align: right; }
.gpr-nall summary { cursor: pointer; font-weight: 600; margin: .5em 0; }
.gpr-nall h3 { font-size: 1em; margin: 1em 0 .2em; }
@media print { .gpr-nall { display: block; } .gpr-nall > summary { display: none; } }
.gpr-add-more { margin: 2em 0 .5em; }

/* Nutrient score (1.0.19): saffron to curry-leaf ring, as in the app */
.gpr .gpr-ring { --gpr-size: 44px; position: relative; display: inline-grid; place-items: center; flex-shrink: 0; width: var(--gpr-size); height: var(--gpr-size); border-radius: 50%; background: conic-gradient(#E3A21A, var(--gpr-score-color) calc(var(--gpr-score) * 1%), #F4E3C4 0); font-weight: 800; color: #2B2320; }
.gpr .gpr-ring::before { content: ""; position: absolute; inset: calc(var(--gpr-size) * .13); border-radius: 50%; background: #fff; }
.gpr .gpr-ring > span { position: relative; font-size: calc(var(--gpr-size) * .34); line-height: 1; }
.gpr .gpr-ring-s { --gpr-size: 40px; }
.gpr .gpr-ring-l { --gpr-size: 64px; }
.gpr .gpr-score { display: flex; gap: 14px; align-items: flex-start; margin: 1em 0; padding: 12px 14px; border: 1px solid #E6D9C4; border-radius: 12px; background: #FFF8EC; }
.gpr .gpr-score-text p { margin: 0; }
.gpr .gpr-score-title { font-weight: 700; font-size: 1.05em; }
.gpr .gpr-score-sub { color: #5E524A; font-size: .9em; }
.gpr .gpr-score-how { margin-top: .4em; font-size: .92em; }
.gpr .gpr-score-how summary { cursor: pointer; color: #A63D24; font-weight: 600; }
.gpr .gpr-score-how p { margin: .5em 0 0; }
.gpr .gpr-card-scored { display: flex; gap: 12px; align-items: center; }
.gpr .gpr-card-body { min-width: 0; }

/* App card (1.0.19) */
.gpr .gpr-app-card { display: flex; gap: 14px; align-items: flex-start; margin: 1.5em 0; padding: 14px 16px; border-radius: 12px; background: linear-gradient(135deg, #FFF6E3, #F4E3C4); }
.gpr .gpr-app-card img { border-radius: 12px; background: #fff; flex-shrink: 0; }
.gpr .gpr-app-card p { margin: 0 0 .5em; }
.gpr .gpr-app-card-title { font-weight: 800; color: #A63D24; font-size: 1.05em; }
.gpr .gpr-app-card .gpr-button { background: #A63D24; border-color: #A63D24; }
.gpr .gpr-app-soon { font-weight: 700; color: #5E524A; }
@media print { .gpr .gpr-ring { -webkit-print-color-adjust: exact; print-color-adjust: exact; } }

/* Previous / next recipe and Request a food (1.0.23) */
.gpr .gpr-prevnext { display: flex; justify-content: space-between; gap: 12px; margin: .8em 0; }
.gpr .gpr-prevnext a { display: flex; flex-direction: column; max-width: 48%; padding: .45em .8em; border: 1px solid var(--gpr-line); border-radius: 10px; text-decoration: none; background: #fff; line-height: 1.3; }
.gpr .gpr-prevnext a:hover { border-color: var(--gpr-accent); }
.gpr .gpr-prevnext .gpr-next { margin-left: auto; text-align: right; }
.gpr .gpr-nav-small { font-size: .78em; color: var(--gpr-muted); }
.gpr .gpr-already { background: #fff7e0; border: 1px solid #f0d58a; border-radius: 8px; padding: .4em .9em; }
.gpr .gpr-already ul { margin: .2em 0 .4em 1.2em; }

/* Share, badge, maker pages, start from a link (1.0.26) */
.gpr .gpr-share { margin: 1.5em 0; padding: 14px 16px; border: 1px solid var(--gpr-line); border-radius: 12px; background: #fff; }
.gpr .gpr-share h2 { margin-top: 0; font-size: 1.15em; }
.gpr .gpr-share-links { display: flex; flex-wrap: wrap; gap: 8px; margin: .3em 0 .6em; }
.gpr .gpr-share-link { padding: .35em .9em; border: 1px solid var(--gpr-line); border-radius: 999px; text-decoration: none; font-weight: 600; }
.gpr .gpr-share-link:hover { border-color: var(--gpr-accent); }
.gpr .gpr-badge-box summary { cursor: pointer; color: var(--gpr-accent); font-weight: 600; }
.gpr .gpr-badge-box img { max-width: 100%; height: auto; }
.gpr .gpr-embed { width: 100%; font-family: ui-monospace, Menlo, Consolas, monospace; font-size: .8em; padding: .5em; border: 1px solid var(--gpr-line); border-radius: 6px; background: #faf8f4; }
.gpr .gpr-maker-link { margin: .8em 0; font-weight: 600; }
.gpr .gpr-maker-about { margin: .5em 0 1em; }
.gpr .gpr-maker-list { list-style: none; margin: 1em 0; padding: 0; columns: 2 16em; }
.gpr .gpr-maker-list li { break-inside: avoid; padding: .3em 0; }
.gpr .gpr-import { margin: 0 0 1.5em; padding: 14px 16px; border: 1px dashed var(--gpr-accent); border-radius: 12px; background: #fffaf2; }
.gpr .gpr-import h2 { margin-top: 0; }
.gpr .gpr-import-row { display: flex; gap: 8px; flex-wrap: wrap; }
.gpr .gpr-import-row input { flex: 1 1 16em; min-width: 0; padding: .55em .8em; border: 1px solid var(--gpr-line); border-radius: 6px; font: inherit; }
.gpr .gpr-error-text { color: #8a1c14; }
.gpr .gpr-import-note { display: block; font-size: .85em; color: #8a5a00; margin-top: .2em; }

/* Units, weights, unit dropdown, library names (1.0.27) */
.gpr .gpr-units { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: .8em 0 .2em; font-size: .92em; color: var(--gpr-muted); }
.gpr .gpr-unit-btn { padding: .25em .8em; border: 1px solid var(--gpr-line); border-radius: 999px; background: #fff; color: inherit; cursor: pointer; font: inherit; }
.gpr .gpr-unit-btn[aria-pressed="true"] { border-color: var(--gpr-accent); background: var(--gpr-accent); color: #fff; }
.gpr .gpr-w-alt { color: var(--gpr-muted); font-size: .92em; }
.gpr .gpr-weights { list-style: none; margin: .4em 0 1.2em; padding: .6em .9em; border-top: 1px dashed var(--gpr-line); background: #fffaf2; border-radius: 0 0 10px 10px; }
.gpr .gpr-weights li { margin: .2em 0; }
.gpr .gpr-weights .gpr-net { font-size: 1.02em; }
.gpr-add select.gpr-unit, .gpr .gpr-ing select {
  -webkit-appearance: none; appearance: none; cursor: pointer;
  padding: .5em 2em .5em .7em; border: 1px solid var(--gpr-line); border-radius: 6px; background-color: #fff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%235b6662' stroke-width='2'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right .7em center; background-size: 12px 8px; font: inherit;
}
.gpr .gpr-lib-note { display: block; font-size: .82em; color: var(--gpr-muted); margin-top: .15em; }
.gpr [data-link-request] form label { display: block; margin: .5em 0; }
.gpr [data-link-request] input[type=url], .gpr [data-link-request] input[type=email], .gpr [data-link-request] input[type=text] { width: 100%; padding: .5em .7em; border: 1px solid var(--gpr-line); border-radius: 6px; font: inherit; }
