.food-checker-page { padding: 18px 0 72px; color: var(--ink); }
.food-checker-page h1, .food-checker-page h2 { font-family: Georgia, serif; color: var(--green-dark); }
.food-checker-page h1 { font-size: clamp(40px, 5vw, 68px); line-height: 1.02; margin: 14px 0 20px; }
.food-checker-page h2 { font-size: clamp(30px, 3vw, 44px); line-height: 1.08; margin: 0 0 14px; }
.food-checker-page .breadcrumbs { display: flex; gap: 10px; align-items: center; color: var(--muted); margin: 4px 0 26px; font-size: 14px; }
.food-hero { min-height: 470px; display: grid; grid-template-columns: 1.06fr .94fr; overflow: hidden; border: 1px solid var(--line); border-radius: 30px; background: #f2eee5; }
.food-hero__copy { padding: 56px 20px 46px 52px; z-index: 1; }
.food-hero__copy .lead { max-width: 650px; font-size: 19px; line-height: 1.55; color: var(--muted); }
.food-hero__image { min-width: 0; background: #ede8dc; }
.food-hero__image img { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; mask-image: linear-gradient(to right, transparent 0, #000 14%); }
.food-promises { list-style: none; padding: 0; margin: 34px 0 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.food-promises li { padding-top: 12px; border-top: 1px solid #cfc8b9; display: grid; gap: 4px; }
.food-promises strong { font-size: 14px; }.food-promises span { font-size: 12px; color: var(--muted); line-height: 1.35; }
.food-urgent { margin: 18px 0 54px; border-radius: 18px; background: #fff2df; border: 1px solid #ead5b7; padding: 18px 22px; display: flex; justify-content: space-between; gap: 18px; align-items: center; }
.food-urgent div:first-child { display: grid; gap: 4px; }.food-urgent span { color: var(--muted); }.food-urgent div:last-child { display: flex; gap: 10px; }.food-urgent a { border: 1px solid #b98956; border-radius: 999px; padding: 10px 16px; font-weight: 700; }
.food-workspace { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 24px; align-items: start; min-width: 0; }
.food-form, .food-side__card, .result-card { background: #fff; border: 1px solid var(--line); border-radius: 24px; }
.food-form { min-width: 0; padding: 34px; }.food-form > *, .food-form__head { min-width: 0; }.food-form__head > p:last-child { max-width: 680px; color: var(--muted); line-height: 1.55; }
.checker-step { border: 0; border-top: 1px solid var(--line); padding: 26px 0 0; margin: 28px 0 0; min-width: 0; }
.checker-step legend, .checker-step h3 { font-size: 18px; font-weight: 800; margin: 0 0 18px; padding: 0; }.checker-step legend span, .checker-step h3 span { display: inline-grid; place-items: center; width: 30px; height: 30px; margin-right: 8px; border-radius: 50%; background: var(--green-dark); color: #fff; }
.pet-options, .species-options { display: flex; flex-wrap: wrap; gap: 10px; }.choice-card input, .choice-chip input { position: absolute; opacity: 0; pointer-events: none; }.choice-card > span, .choice-chip > span { display: flex; min-height: 48px; border: 1px solid var(--line); border-radius: 15px; padding: 12px 16px; cursor: pointer; background: #fbfaf7; }.choice-card > span { min-width: 180px; flex-direction: column; gap: 3px; }.choice-card small { color: var(--muted); }.choice-chip > span { align-items: center; min-width: 108px; justify-content: center; }.choice-card input:checked + span, .choice-chip input:checked + span { color: #fff; background: var(--green-dark); border-color: var(--green-dark); }.choice-card input:focus-visible + span, .choice-chip input:focus-visible + span { outline: 3px solid #9ac6b5; outline-offset: 2px; }
.choice-divider { color: var(--muted); font-size: 13px; display: flex; align-items: center; gap: 12px; margin: 18px 0; }.choice-divider::before, .choice-divider::after { content: ""; flex: 1; height: 1px; background: var(--line); }
.checker-search-control { margin-top: 8px; }.checker-search-control input:disabled { cursor: not-allowed; opacity: .6; }.search-status { min-height: 24px; color: var(--muted); font-size: 13px; padding: 9px 4px; }
.checker-matches { list-style: none; padding: 0; margin: 0; display: grid; border-radius: 14px; overflow: hidden; box-shadow: 0 12px 30px rgb(23 43 37 / 10%); }.checker-matches:empty { display: none; }.checker-matches button { width: 100%; border: 0; border-bottom: 1px solid var(--line); background: #fff; min-height: 58px; padding: 10px 15px; text-align: left; display: grid; gap: 2px; color: var(--ink); }.checker-matches button:hover, .checker-matches button:focus-visible { background: #eef4ef; }.checker-matches span { color: var(--muted); font-size: 12px; }
.checker-submit { border-top: 1px solid var(--line); margin-top: 26px; padding-top: 24px; display: flex; justify-content: space-between; align-items: center; gap: 18px; }.checker-submit > span { display: grid; gap: 4px; }.checker-submit small { color: var(--muted); }.checker-submit button { min-height: 50px; padding: 0 22px; border: 0; border-radius: 999px; background: var(--green-dark); color: #fff; font-weight: 800; }.checker-submit button:disabled { opacity: .4; cursor: not-allowed; }
.food-side { display: grid; gap: 14px; position: sticky; top: 100px; }.food-side__card { padding: 24px; }.food-side__card h3 { margin-top: 0; }.food-side__card ul { padding-left: 20px; line-height: 1.7; }.food-side__card p { color: var(--muted); line-height: 1.55; }.food-side__card--quiet { background: #eef4ef; }
.food-section { margin-top: 64px; }.quick-checks { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }.quick-card { min-height: 142px; padding: 20px; border: 1px solid var(--line); border-radius: 18px; background: #fff; display: flex; flex-direction: column; gap: 8px; }.quick-card span, .quick-card small { color: var(--muted); }.quick-card strong { font-family: Georgia, serif; font-size: 23px; color: var(--green-dark); }.quick-card small { margin-top: auto; }
.food-hub-empty { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin: -30px 0 36px; padding: 24px; border: 1px solid #c9d9d0; border-radius: 20px; background: #eef4ef; }.food-hub-empty h2 { margin: 4px 0 8px; font-size: clamp(24px, 3vw, 34px); }.food-hub-empty p { max-width: 760px; margin: 0; color: var(--muted); line-height: 1.5; }.food-hub-empty .eyebrow { color: var(--green); }.food-hub-empty > div:last-child { display: flex; flex: 0 0 auto; align-items: center; gap: 12px; }.food-hub-empty > div:last-child > a:not(.button) { font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
.food-trust { margin-top: 36px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; overflow: hidden; border: 1px solid var(--line); border-radius: 20px; background: var(--line); }.food-trust div { background: #eef4ef; padding: 24px; display: grid; gap: 6px; }.food-trust strong { font: 700 34px Georgia, serif; color: var(--green-dark); }.food-trust span { color: var(--muted); }
.food-result-page { max-width: 920px; margin-inline: auto; }.food-back { display: inline-flex; margin: 0 0 20px; font-weight: 700; }.result-card { padding: clamp(24px, 5vw, 54px); }.result-card header { position: relative; border-bottom: 1px solid var(--line); padding-bottom: 26px; }.result-card h1 { padding-right: 180px; }.result-status { position: absolute; right: 0; top: 0; padding: 10px 16px; border-radius: 999px; background: #e6f1e8; color: var(--green-dark); font-weight: 800; }.result-card--danger .result-status, .result-card--emergency_danger .result-status, .result-card--dangerous .result-status { background: #fbe3df; color: #8a2c23; }.pet-context { margin: 24px 0; display: grid; grid-template-columns: 1fr 1fr 1.4fr; gap: 14px; border-radius: 18px; background: #eef4ef; padding: 18px; }.pet-context div { display: grid; gap: 4px; }.pet-context span, .pet-context p { color: var(--muted); margin: 0; font-size: 13px; line-height: 1.45; }.result-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; margin-top: 30px; }.result-card h2 { font-size: 28px; }.result-card p, .result-card li { line-height: 1.65; }.result-action { margin-top: 26px; padding: 24px; border-radius: 18px; background: #fff2df; border: 1px solid #ead5b7; }.vet-ready, .result-sources { margin-top: 32px; }.result-sources ol { padding-left: 22px; }.result-sources li { margin-bottom: 12px; }.result-sources li span { display: block; color: var(--muted); font-size: 13px; }.result-next { margin-top: 28px; }.result-next > div { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }.result-next a { border: 1px solid var(--line); border-radius: 16px; background: #fff; padding: 18px; display: grid; gap: 6px; }.result-next span { color: var(--muted); font-size: 13px; }.medical-note { margin-top: 28px; padding: 18px; border-radius: 14px; background: #eef4ef; }
.choice-card input, .choice-chip input { width: 1px; height: 1px; }
@media (max-width: 960px) { .food-hero { grid-template-columns: 1fr 42%; }.food-hero__copy { padding: 40px 8px 36px 34px; }.food-promises { grid-template-columns: 1fr; gap: 8px; }.food-workspace { grid-template-columns: 1fr; }.food-side { position: static; grid-template-columns: 1fr 1fr; }.quick-checks { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 700px) { .food-checker-page { padding-top: 8px; }.food-checker-page .breadcrumbs { overflow-x: auto; white-space: nowrap; margin-bottom: 16px; }.food-hero { display: flex; flex-direction: column; min-height: 0; border-radius: 22px; }.food-hero__copy { padding: 28px 20px 20px; }.food-hero__image { height: 230px; order: -1; }.food-hero__image img { mask-image: linear-gradient(to bottom, #000 80%, transparent); }.food-promises { margin-top: 22px; }.food-urgent { align-items: stretch; flex-direction: column; margin-bottom: 36px; }.food-urgent div:last-child { display: grid; grid-template-columns: 1fr 1fr; }.food-urgent a { text-align: center; }.food-hub-empty { align-items: stretch; flex-direction: column; margin-top: -18px; padding: 20px 16px; }.food-hub-empty > div:last-child { align-items: stretch; flex-direction: column; }.food-hub-empty > div:last-child a { text-align: center; }.food-form { width: 100%; max-width: 100%; padding: 22px 16px; border-radius: 20px; }.pet-options { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }.choice-card, .choice-chip { min-width: 0; }.choice-card > span { min-width: 0; }.species-options { max-width: 100%; flex-wrap: wrap; overflow: visible; padding-bottom: 0; }.choice-chip > span { min-width: 0; max-width: 100%; text-align: center; overflow-wrap: anywhere; }.checker-submit { align-items: stretch; flex-direction: column; }.checker-submit button { width: 100%; }.food-side { grid-template-columns: 1fr; }.quick-checks { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 8px; }.quick-card { flex: 0 0 min(78vw, 280px); scroll-snap-align: start; }.food-trust { grid-template-columns: 1fr; }.result-card h1 { padding-right: 0; }.result-status { position: static; display: inline-flex; margin-bottom: 8px; }.pet-context, .result-grid, .result-next > div { grid-template-columns: 1fr; }.food-result-page .quick-checks { display: grid; grid-template-columns: 1fr; }.food-result-page .quick-card { min-height: 110px; } }
@media (max-width: 370px) { .food-checker-page h1 { font-size: 36px; }.pet-options { grid-template-columns: 1fr; }.food-urgent div:last-child { grid-template-columns: 1fr; } }

/* Shared safety-catalog extension. */
.checker-empty { margin-top: 8px; padding: 18px; border: 1px solid #ead5b7; border-radius: 16px; background: #fff8ed; }
.checker-empty[hidden] { display: none; }
.checker-empty p { margin: 6px 0 12px; color: var(--muted); line-height: 1.5; }
.checker-empty a { color: var(--green-dark); font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
.section-head p { max-width: 720px; color: var(--muted); line-height: 1.55; }
.safety-categories { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.safety-category { min-width: 0; padding: 24px; border: 1px solid var(--line); border-radius: 20px; background: #fff; display: grid; grid-template-columns: minmax(0, 1fr) minmax(180px, .8fr); gap: 20px; }
.safety-category:first-child { grid-column: 1 / -1; }
.safety-category h3 { margin: 5px 0 8px; font: 700 27px/1.15 Georgia, serif; color: var(--green-dark); }
.safety-category p { margin: 0; color: var(--muted); line-height: 1.45; }
.safety-category > div:first-child > span { color: var(--green); font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.safety-category__examples { display: flex; flex-wrap: wrap; align-content: start; gap: 8px; }
.catalog-query { min-height: 40px; border: 1px solid var(--line); border-radius: 999px; padding: 8px 13px; background: #f8f7f2; color: var(--ink); font: inherit; cursor: pointer; }
.catalog-query:hover { background: #eef4ef; border-color: #b7c9bf; }
.catalog-query:focus-visible { outline: 3px solid #9ac6b5; outline-offset: 2px; }
@media (max-width: 960px) { .safety-category { grid-template-columns: 1fr; } }
@media (max-width: 700px) {
  .safety-categories { grid-template-columns: 1fr; }
  .safety-category:first-child { grid-column: auto; }
  .safety-category { padding: 20px 16px; }
  .safety-category__examples { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 5px; }
  .catalog-query { flex: 0 0 auto; }
}

/* Intent-aware checker flow. */
.checker-intent[hidden], .intent-card[hidden] { display: none; }
.checker-intent__hint { margin: -8px 0 16px; color: var(--muted); line-height: 1.5; }
.intent-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.intent-card input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.intent-card > span { min-height: 92px; padding: 16px; display: flex; flex-direction: column; gap: 6px; border: 1px solid var(--line); border-radius: 16px; background: #fbfaf7; cursor: pointer; }
.intent-card strong { color: var(--green-dark); }
.intent-card small { color: var(--muted); line-height: 1.4; }
.intent-card input:checked + span { border-color: var(--green-dark); background: #eef4ef; box-shadow: inset 0 0 0 1px var(--green-dark); }
.intent-card--urgent > span { background: #fff8ed; border-color: #ead5b7; }
.intent-card input:focus-visible + span { outline: 3px solid #9ac6b5; outline-offset: 2px; }
.checker-context[hidden], .context-fields label[hidden] { display: none; }
.context-fields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.context-fields label { display: grid; gap: 7px; color: var(--green-dark); font-weight: 800; }
.context-fields select { width: 100%; min-height: 48px; padding: 0 38px 0 13px; border: 1px solid var(--line); border-radius: 13px; background: #fff; color: var(--ink); font: inherit; }
.context-note { margin: 12px 0 0; color: var(--muted); font-size: 13px; }
.intent-context { margin-bottom: 18px; padding: 22px 24px; border: 1px solid #c9d9d0; border-radius: 20px; background: #eef4ef; }
.intent-context--urgent { border-color: #e3bdb5; background: #fff0ed; }
.intent-context .eyebrow { margin: 0 0 7px; }
.intent-context h2 { margin: 0 0 8px; font-size: clamp(24px, 3vw, 32px); }
.intent-context > p:last-of-type { margin: 0; color: var(--muted); line-height: 1.55; }
.intent-context__actions { display: flex; gap: 10px; align-items: center; margin-top: 16px; }
.intent-context__actions > a:not(.button) { font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
.check-context-summary { display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0 0; }
.check-context-summary div { padding: 9px 12px; border-radius: 12px; background: rgb(255 255 255 / 65%); }
.check-context-summary dt { color: var(--muted); font-size: 11px; }
.check-context-summary dd { margin: 2px 0 0; font-weight: 800; }
@media (max-width: 700px) {
  .intent-options { grid-template-columns: 1fr; }
  .intent-card > span { min-height: 0; }
  .context-fields { grid-template-columns: 1fr; }
  .intent-context { padding: 19px 17px; }
  .intent-context__actions { align-items: stretch; flex-direction: column; }
  .intent-context__actions .button, .intent-context__actions > a { text-align: center; }
}

/* Content Factory V2 long-form article rhythm. */
.food-safety-guide { max-width: 860px; margin-inline: auto; }
.food-safety-guide .lead { font-size: clamp(19px, 2.2vw, 23px); line-height: 1.55; }
.article-summary { margin: 30px 0 42px; padding: 26px 30px; border: 1px solid #c9d9d0; border-radius: 20px; background: #eef4ef; }
.article-summary h2 { margin-top: 0; font-size: clamp(25px, 3vw, 34px); }
.article-summary ul { margin-bottom: 0; padding-left: 22px; }
.article-summary li + li { margin-top: 10px; }
.article-section { margin-top: 46px; }
.article-section h2 { margin-bottom: 18px; }
.article-section p, .article-section li, .article-faq p { font-size: 17px; line-height: 1.75; }
.article-section ul { padding-left: 24px; }
.article-section li + li { margin-top: 9px; }
.article-callout { margin-top: 22px; padding: 20px 22px; border-radius: 16px; background: #eef4ef; border-left: 4px solid var(--green-dark); }
.article-callout--warning { background: #fff2df; border-left-color: #b66b2c; }
.article-callout--action { background: #edf4fb; border-left-color: #47799c; }
.article-callout p { margin: 7px 0 0; }
.article-faq { margin-top: 54px; }
.article-faq details { border-top: 1px solid var(--line); padding: 18px 0; }
.article-faq details:last-child { border-bottom: 1px solid var(--line); }
.article-faq summary { color: var(--green-dark); font-size: 18px; font-weight: 800; cursor: pointer; }
.article-faq details p { margin-bottom: 0; }
@media (max-width: 700px) {
  .article-summary { padding: 22px 18px; }
  .article-section { margin-top: 38px; }
}
.source-evidence{margin-top:40px;padding-top:28px;border-top:1px solid var(--line)}
.source-evidence__header{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:12px}
.source-evidence__header h2{margin:2px 0 0}
.source-evidence__header>span{color:var(--muted);font-size:.78rem;text-align:right}
.source-evidence__note{max-width:760px;color:var(--ink-soft);font-size:.86rem}
.source-evidence ol{display:grid;gap:18px;padding-left:24px}
.source-evidence li>a{font-weight:750}
.source-evidence li>small{display:block;margin-top:3px;color:var(--muted);font-size:.72rem}
.source-evidence li>p{margin:7px 0 0;color:var(--ink-soft);font-size:.8rem;line-height:1.55}
@media(max-width:700px){.source-evidence__header{display:grid;gap:7px}.source-evidence__header>span{text-align:left}}
