.nf-tk {
  --nf-tk-accent: #f94e6b;
  --nf-tk-on-accent: #fff;
  --nf-tk-on-accent-hover: #fff8d9;
  --nf-tk-text: #202b26;
  --nf-tk-border: #d9e2dc;
  --nf-tk-background: #fff;
  --nf-tk-radius: 12px;
  --nf-tk-gap: 20px;
  color: var(--nf-tk-text);
  width: 100%;
  font: inherit;
  container-type: inline-size;
}
.nf-tk *, .nf-tk *::before, .nf-tk *::after { box-sizing: border-box; }
.nf-tk .nf-tk__label { display: block; font-weight: 600; margin-bottom: 8px; }
.nf-tk .nf-tk__controls { display: flex; gap: 10px; flex-wrap: wrap; }
.nf-tk .nf-tk__input {
  flex: 1 1 200px; width: 100%; min-width: 0; padding: 12px 14px; min-height: 48px;
  border: 1px solid var(--nf-tk-border); border-radius: var(--nf-tk-radius);
  color: var(--nf-tk-text); background: var(--nf-tk-background); font: inherit;
}
.nf-tk .nf-tk__submit, .nf-tk .nf-tk__link {
  background: var(--nf-tk-accent); color: var(--nf-tk-on-accent); border: 0;
  border-radius: var(--nf-tk-radius); padding: 12px 18px; font: inherit;
  font-weight: 600; text-decoration: none; text-align: center; cursor: pointer; min-height: 48px;
}
.nf-tk .nf-tk__submit:hover,
.nf-tk .nf-tk__submit:focus,
.nf-tk .nf-tk__submit:active,
.nf-tk .nf-tk__link:visited,
.nf-tk .nf-tk__link:hover,
.nf-tk .nf-tk__link:focus,
.nf-tk .nf-tk__link:active {
  background: var(--nf-tk-accent);
  color: var(--nf-tk-on-accent);
  text-decoration: none;
}
.nf-tk .nf-tk__submit:hover,
.nf-tk .nf-tk__link:hover {
  color: var(--nf-tk-on-accent-hover);
}
.nf-tk .nf-tk__submit:disabled { opacity: .65; cursor: wait; }
@media (min-width: 601px) {
  .nf-tk .nf-tk__form { max-width: 600px; margin-inline: auto; }
}
.nf-tk :is(a, button, input):focus-visible { outline: 3px solid var(--nf-tk-accent); outline-offset: 3px; }
.nf-tk .nf-tk__status { margin: 14px 0; overflow-wrap: anywhere; }
.nf-tk .nf-tk__status:empty { display: none; }
.nf-tk .nf-tk__results { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)); gap: var(--nf-tk-gap); }
.nf-tk .nf-tk__card {
  display: flex; flex-direction: column; min-width: 0; padding: 18px;
  border: 1px solid var(--nf-tk-border); border-radius: var(--nf-tk-radius); background: var(--nf-tk-background);
}
.nf-tk .nf-tk__image { width: 100%; height: 200px; object-fit: contain; margin-bottom: 16px; }
.nf-tk .nf-tk__title { font-size: 1.15em; line-height: 1.35; margin: 0 0 10px; overflow-wrap: anywhere; }
.nf-tk .nf-tk__title-link { color: inherit; text-decoration: none; }
.nf-tk .nf-tk__title-link:hover { text-decoration: underline; }
.nf-tk .nf-tk__description { font-size: .95em; line-height: 1.6; margin: 0 0 16px; overflow-wrap: anywhere; }
.nf-tk .nf-tk__price { margin-top: auto; padding-bottom: 14px; font-weight: 600; text-align: center; }
.nf-tk .nf-tk__price del { opacity: .65; margin-right: 6px; }
.nf-tk .nf-tk__price ins { text-decoration: none; color: var(--nf-tk-accent); }
@media (max-width: 480px) { .nf-tk .nf-tk__submit { width: 100%; } }
@container (max-width: 400px) { .nf-tk .nf-tk__submit { width: 100%; } }
