/*
 * Japan-Koi Wild — editorial and customer pages.
 * Canonical module. Depends on site-foundation.css, never on legacy page CSS.
 * Existing content, form contracts and state classes are intentionally retained.
 */

/* Shared editorial rhythm. Layout width is separate from paragraph measure. */
.front-page,
.pond-supply-page {
  color: var(--koi-ink);
  min-width: 0;
  overflow-wrap: anywhere;
}
.front-page > section:not(.hero-carousel),
.pond-supply-page {
  width: min(calc(100% - 2 * var(--koi-gutter)), var(--koi-container));
  margin-inline: auto;
}
.front-page > section:not(.hero-carousel) {
  margin-block: clamp(3.5rem, 7vw, 6.5rem);
}
/* Text enlargement must change line breaking, not the available page width. */
.content-article:is(.content-article-faq, .content-article-kontaktformular, .content-article-ueber-uns, .content-article-koi-versand, .content-article-koi-auswahl, .content-article-koifutter),
body.woocommerce-account .content-article {
  min-width: 0;
  overflow-wrap: anywhere;
}
.front-page :is(h1, h2, h3, h4),
.pond-supply-page :is(h1, h2, h3, h4),
.content-article:is(.content-article-faq, .content-article-kontaktformular, .content-article-ueber-uns, .content-article-koi-versand, .content-article-koi-auswahl, .content-article-koifutter) :is(h1, h2, h3, h4),
body.woocommerce-account :is(h1, h2, h3, h4) {
  min-width: 0;
  overflow-wrap: anywhere;
}
:is(.koi-faq-page, .food-landing__hero, .food-home-products, .food-calculator__grid, .jkw-account-overview__metrics, .jkw-account-quick) > * {
  min-width: 0;
}
.content-article:is(.content-article-faq, .content-article-kontaktformular, .content-article-ueber-uns, .content-article-koi-versand, .content-article-koi-auswahl, .content-article-koifutter) > .entry-content {
  max-width: none;
}
.content-article > h1 {
  margin-bottom: clamp(2rem, 4vw, 3.5rem);
}
.front-page :is(h1, h2),
.pond-supply-page :is(h1, h2),
.content-article :is(.koi-faq-hero, .luxury-contact-intro, .food-landing__copy, .japan-selection-story__intro) :is(h1, h2) {
  text-wrap: balance;
  letter-spacing: -.035em;
  font-weight: 650;
  text-transform: none;
}
.front-page p,
.content-article :is(.page-intro, .koi-faq-hero, .luxury-contact-panel, .about-japan-moment__copy) p {
  max-width: var(--koi-reading);
}
.front-page .eyebrow,
.content-article .eyebrow,
.pond-supply-kicker {
  color: var(--koi-red);
  font-size: .8rem;
  font-weight: 650;
  letter-spacing: .055em;
  text-transform: uppercase;
}
.front-page .section-head {
  max-width: 48rem;
  margin-bottom: 2rem;
}
.front-page .section-head h2 {
  font-size: clamp(1.9rem, 3.6vw, 3rem);
}
.hero-actions,
.japan-selection-story__actions,
.koi-faq-cta-actions,
.luxury-contact-actions,
.pond-supply-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  align-items: center;
}

/* Home. Each slide retains one spatial position while the existing JS moves it. */
.hero-carousel {
  overflow: hidden;
  background: var(--koi-dark);
  color: #fff;
}
.hero-carousel__viewport {
  overflow: hidden;
  height: var(--home-hero-active-height, auto);
  transition: height .3s ease;
  touch-action: pan-y;
}
.hero-carousel__track {
  display: flex;
  align-items: flex-start;
  transition: transform .5s cubic-bezier(.22, .75, .25, 1);
  will-change: transform;
}
.hero-carousel.is-dragging .hero-carousel__track {
  transition: none;
}
.hero-slide {
  position: relative;
  display: grid;
  flex: 0 0 100%;
  grid-template-columns: minmax(0, .94fr) minmax(0, 1.06fr);
  min-width: 0;
  min-height: clamp(34rem, 49vw, 44rem);
  visibility: hidden;
  transition: visibility 0s .5s;
}
.hero-slide.is-active,
.hero-carousel.is-dragging .hero-slide {
  visibility: visible;
  transition-delay: 0s;
}
.hero-media {
  position: relative;
  grid-column: 2;
  grid-row: 1;
  min-width: 0;
  overflow: hidden;
}
.hero-image {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  min-height: 100%;
  object-fit: cover;
  object-position: center;
}
.hero-slide--water .hero-image {
  object-position: 57% center;
}
.hero-copy {
  grid-column: 1;
  grid-row: 1;
  display: flex;
  align-items: center;
  padding: clamp(2rem, 5vw, 5.5rem) var(--koi-gutter);
  padding-left: max(var(--koi-gutter), calc((100vw - var(--koi-container)) / 2));
}
.hero-text-panel {
  width: 100%;
  max-width: 37rem;
}
.hero-mark {
  margin: 0 0 1.25rem;
  color: var(--koi-gold);
  font-size: .8rem;
  font-weight: 600;
  letter-spacing: .06em;
}
.hero-copy :is(h1, h2) {
  margin: 0;
  color: #fff;
  font-size: clamp(2.4rem, 4.1vw, 4.15rem);
  line-height: 1.08;
}
.hero-lead {
  margin-block: 1.5rem 2rem;
  color: #d3d7d4;
  font-size: clamp(1rem, 1.2vw, 1.125rem);
  line-height: 1.65;
}
.hero-actions .button.secondary {
  border-color: #68706c;
  background: transparent;
  color: #fff;
}
.hero-art-stamp {
  position: absolute;
  right: 1.5rem;
  bottom: 1.5rem;
  display: grid;
  grid-template-columns: auto auto;
  gap: .1rem .7rem;
  align-items: center;
  color: #fff;
  text-shadow: 0 1px 6px #0009;
}
.hero-art-kanji {
  grid-row: span 2;
  font-size: 3rem;
  line-height: 1;
}
.hero-art-japanese {
  font-size: .9rem;
}
.hero-art-translation {
  font-size: .7rem;
}
.hero-carousel__controls {
  display: flex;
  align-items: center;
  gap: .5rem;
  width: min(100%, var(--koi-container));
  margin-inline: auto;
  padding: .7rem var(--koi-gutter);
  border-top: 1px solid #ffffff24;
}
.hero-carousel__dots {
  display: flex;
  flex: 1;
  gap: .25rem;
  min-width: 0;
  overflow-x: auto;
  scrollbar-width: thin;
}
.hero-carousel__dot,
.hero-carousel__arrow {
  flex: 0 0 auto;
  min-height: 2.75rem;
  border: 0;
  border-radius: .25rem;
  padding: .65rem .8rem;
  background: transparent;
  color: #c4cac6;
  font-size: .8rem;
  font-weight: 500;
  white-space: nowrap;
}
.hero-carousel__dot {
  border-bottom: 2px solid transparent;
}
.hero-carousel__dot.is-active {
  border-bottom-color: var(--koi-red);
  color: #fff;
}
.hero-carousel__dot:hover,
.hero-carousel__arrow:hover {
  background: #ffffff12;
  color: #fff;
}
.hero-carousel__dot-index {
  margin-right: .35rem;
  color: var(--koi-gold);
  font-size: .65rem;
}
.hero-carousel__arrow {
  width: 2.75rem;
  padding: .25rem;
  font-size: 1.6rem;
}
html:not(.koi-js-ready) .hero-carousel__controls {
  display: none;
}
html:not(.koi-js-ready) .hero-slide:not(.is-active) {
  display: none;
}
.luxury-choice-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem;
}
.luxury-choice {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 23rem;
  overflow: hidden;
  padding: 2rem;
  border-radius: var(--koi-radius-lg);
  background: linear-gradient(0deg, #080d0ee8, #080d0e0d 95%), var(--choice-image) center / cover;
  color: #fff;
  text-decoration: none;
}
.luxury-choice-sale {
  --choice-image: url('sales-koi/koi-sale-hero.webp');
}
.luxury-choice-auction {
  --choice-image: url('sales-koi/koi-auction-fish.webp');
}
.luxury-choice .category-name {
  max-width: 18ch;
  font-size: clamp(1.6rem, 2.6vw, 2.3rem);
  font-weight: 600;
  line-height: 1.15;
}
.luxury-choice .category-count {
  display: block;
  max-width: 42ch;
  margin-top: .9rem;
  color: #e1e5e2;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.55;
}
.luxury-choice:hover {
  color: #fff;
}
.art-story {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  gap: clamp(2rem, 5vw, 4rem);
  align-items: center;
}
.art-story-media {
  min-height: 27rem;
  border-radius: var(--koi-radius-lg);
  background: url('koi-art-story-960.webp') center / cover;
  background-image: image-set(url('koi-art-story-960.webp') 1x, url('koi-art-story-1440.webp') 2x);
}
.art-story-copy h2,
.food-home-copy h2,
.service-band h2 {
  font-size: clamp(1.9rem, 3vw, 2.75rem);
}
.food-home-section {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
  gap: clamp(2rem, 5vw, 4rem);
  align-items: center;
}
.food-home-copy p:not(.eyebrow),
.art-story-copy p:not(.eyebrow),
.service-band > p {
  color: var(--koi-muted);
  line-height: 1.7;
}
.food-home-products {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
}
.food-mini-card {
  display: grid;
  gap: .85rem;
  align-content: start;
  padding: 1.5rem;
  border-radius: var(--koi-radius);
  background: var(--koi-surface);
  color: var(--koi-ink);
  text-decoration: none;
}
.food-mini-card img {
  width: 100%;
  height: 12rem;
  object-fit: contain;
}
.food-mini-card > span {
  font-size: .95rem;
  line-height: 1.45;
}
.food-mini-card > strong {
  font-size: 1.25rem;
}
.service-band {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: 1rem 3rem;
  border-top: 1px solid #17251c22;
  padding-top: 3rem;
}
.service-band > .button {
  grid-column: 2;
  justify-self: start;
}
.jkw-newsletter-signup {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 3rem;
  border-block: 1px solid var(--koi-line);
  padding-block: 3rem;
}
.jkw-newsletter-signup__media {
  position: absolute;
  right: 0;
  top: 0;
  pointer-events: none;
  color: var(--koi-gold);
  opacity: .08;
  font-size: 12rem;
  line-height: 1;
}
.jkw-newsletter-signup__content,
.jkw-newsletter-signup__form {
  position: relative;
  min-width: 0;
}
.jkw-newsletter-signup__signals {
  display: grid;
  gap: .4rem;
  padding-left: 1.1rem;
  color: var(--koi-muted);
  font-size: .9rem;
}
.jkw-newsletter-signup__form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  align-content: center;
}
.jkw-newsletter-signup__field {
  display: grid;
  gap: .4rem;
  margin: 0;
  font-size: .875rem;
}
.jkw-newsletter-signup__consent {
  grid-column: 1 / -1;
  display: flex;
  align-items: flex-start;
  gap: .75rem;
  color: var(--koi-muted);
  font-size: .8rem;
  line-height: 1.6;
}
.jkw-newsletter-signup__consent input {
  flex: 0 0 auto;
  margin-top: .25rem;
}
.jkw-newsletter-signup__button,
.jkw-newsletter-signup__notice {
  grid-column: 1 / -1;
  justify-self: start;
}
.jkw-newsletter-signup__notice {
  border-left: 2px solid var(--koi-red);
  padding-left: 1rem;
  font-size: .875rem;
}
.jkw-newsletter-signup__notice.is-success {
  border-color: #397047;
}
.jkw-newsletter-signup__hp,
.koi-contact-form__field.is-honeypot {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

/* The same photo-led Japan story is shared by home, selection and auction. */
.japan-selection-story {
  margin-block: 4rem;
}
.japan-selection-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  align-items: center;
  gap: clamp(2rem, 5vw, 4rem);
}
.japan-selection-hero__media img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  border-radius: var(--koi-radius-lg);
  object-fit: cover;
}
.japan-selection-story__intro h2 {
  font-size: clamp(1.9rem, 3vw, 2.75rem);
  line-height: 1.15;
}
.japan-selection-story__subheading {
  display: block;
  margin-top: .65rem;
  color: var(--koi-muted);
  font-size: .56em;
  letter-spacing: -.01em;
  font-weight: 450;
  line-height: 1.4;
}
.japan-selection-hero__facts {
  display: grid;
  gap: .5rem;
  margin-block: 1.5rem;
  font-size: .9rem;
}
.japan-selection-hero__facts span {
  border-left: 2px solid var(--koi-gold);
  padding-left: .8rem;
}
.japan-selection-story__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.5rem;
  margin-top: 2.5rem;
}
.japan-selection-card {
  min-width: 0;
  margin: 0;
}
.japan-selection-card img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  border-radius: var(--koi-radius);
  object-fit: cover;
}
.japan-selection-card figcaption {
  display: grid;
  gap: .5rem;
  padding-top: 1.1rem;
}
.japan-selection-card figcaption > span {
  color: var(--koi-red);
  font-size: .75rem;
  font-weight: 600;
}
.japan-selection-card figcaption strong {
  font-size: 1.15rem;
  font-weight: 600;
}
.japan-selection-card figcaption em {
  color: var(--koi-muted);
  font-size: .95rem;
  font-style: normal;
  line-height: 1.6;
}

/* Selection gateway — product results remain the commerce module's concern. */
.content-article-koi-auswahl .koi-shop-entry__head {
  max-width: 45rem;
  margin-bottom: 2rem;
}
.content-article-koi-auswahl .koi-shop-entry__head > span,
.koi-shop-entry-breeders__text > span {
  display: block;
  margin-bottom: .65rem;
  color: var(--koi-red);
  font-size: .8rem;
  font-weight: 600;
}
.content-article-koi-auswahl .koi-shop-entry__head > strong,
.koi-shop-entry-breeders__text > strong {
  display: block;
  font-size: clamp(1.5rem, 2.6vw, 2.25rem);
  font-weight: 600;
  line-height: 1.2;
}
.content-article-koi-auswahl .koi-shop-entry__cards {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1rem;
}
.content-article-koi-auswahl .koi-shop-entry-card {
  display: grid;
  align-content: start;
  gap: .4rem;
  min-width: 0;
  color: var(--koi-ink);
  text-decoration: none;
}
.content-article-koi-auswahl .koi-shop-entry-card img {
  display: block;
  width: 100%;
  aspect-ratio: 3 / 4;
  margin-bottom: .75rem;
  border-radius: var(--koi-radius);
  object-fit: cover;
}
.content-article-koi-auswahl .koi-shop-entry-card > span {
  font-size: 1.2rem;
  font-weight: 600;
}
.content-article-koi-auswahl .koi-shop-entry-card > strong {
  font-weight: 450;
  font-size: .9rem;
}
.content-article-koi-auswahl .koi-shop-entry-card > em {
  color: var(--koi-muted);
  font-size: .85rem;
  font-style: normal;
}
.content-article-koi-auswahl .koi-shop-entry-card > b {
  margin-top: .35rem;
  color: var(--koi-red);
  font-size: .85rem;
  font-weight: 600;
}
.content-article-koi-auswahl .koi-shop-entry-breeders {
  display: grid;
  grid-template-columns: minmax(0, .65fr) minmax(0, 1.35fr);
  gap: 2rem;
  margin-top: 3.5rem;
  border-top: 1px solid #17251c22;
  padding-top: 2.5rem;
}
.content-article-koi-auswahl .koi-shop-entry-breeders__links {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 10rem), 1fr));
  gap: .75rem;
}
.content-article-koi-auswahl .koi-shop-entry-breeders__links a {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr) auto;
  gap: .6rem;
  align-items: center;
  min-height: 3.5rem;
  border-bottom: 1px solid #17251c22;
  padding: .65rem .25rem;
  color: var(--koi-ink);
  text-decoration: none;
  font-size: .85rem;
}
.koi-shop-entry-breeders__links :is(img, .koi-shop-entry-breeder-mark) {
  width: 2rem;
  height: 2rem;
  object-fit: contain;
  color: var(--koi-red);
  font-size: .9rem;
}
.koi-shop-entry-breeders__links em {
  color: var(--koi-muted);
  font-style: normal;
}

/* FAQ — native details, generous rows and group headings instead of box stacks. */
.koi-faq-page {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr);
  gap: 2rem;
}
.koi-faq-hero {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 20rem;
  border-radius: var(--koi-radius-lg);
  padding: clamp(1.5rem, 4vw, 3.5rem);
  background: linear-gradient(90deg, #090d0ef0, #090d0e88), url('wild/koi-haltung-halle-1.webp') center / cover;
  color: #fff;
}
.koi-faq-hero .eyebrow {
  color: var(--koi-gold);
}
.koi-faq-hero h2 {
  max-width: 20ch;
  margin-top: 0;
  color: #fff;
  font-size: clamp(1.9rem, 3.3vw, 2.9rem);
  line-height: 1.12;
}
.koi-faq-hero p:not(.eyebrow) {
  color: #e0e4e1;
  margin-bottom: 0;
}
.koi-faq-paths {
  display: grid;
  align-content: center;
}
.koi-faq-paths a {
  display: grid;
  gap: .3rem;
  border-bottom: 1px solid #17251c22;
  padding: 1.25rem 0;
  color: var(--koi-ink);
  text-decoration: none;
}
.koi-faq-paths strong {
  font-size: 1.05rem;
  font-weight: 600;
}
.koi-faq-paths span {
  color: var(--koi-muted);
  font-size: .9rem;
}
.koi-faq-group {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(13rem, .45fr) minmax(0, 1fr);
  gap: 2rem;
  border-top: 1px solid #17251c22;
  padding-top: 2rem;
  scroll-margin-top: 8rem;
}
.koi-faq-group > h2 {
  max-width: 18ch;
  margin: .5rem 0;
  font-size: clamp(1.4rem, 2.2vw, 1.9rem);
  font-weight: 600;
}
.koi-faq-list {
  min-width: 0;
}
.koi-faq-item {
  border-bottom: 1px solid #17251c22;
}
.koi-faq-item > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 4rem;
  padding: 1rem 0;
  list-style: none;
  cursor: pointer;
  font-weight: 550;
  line-height: 1.5;
}
.koi-faq-item > summary::-webkit-details-marker {
  display: none;
}
.koi-faq-item > summary::after {
  content: '+';
  flex: 0 0 1.5rem;
  color: var(--koi-red);
  font-size: 1.5rem;
  font-weight: 400;
  text-align: center;
}
.koi-faq-item[open] > summary::after {
  content: '−';
}
.koi-faq-item > :not(summary) {
  max-width: var(--koi-reading);
  color: var(--koi-muted);
  line-height: 1.7;
}
.koi-faq-item > :last-child {
  margin-bottom: 1.5rem;
}
.koi-faq-note,
.koi-faq-cta {
  grid-column: 1 / -1;
}
.koi-faq-note {
  border-left: 2px solid var(--koi-gold);
  padding-left: 1.25rem;
  color: var(--koi-muted);
}
.koi-faq-cta {
  padding-block: 1rem;
}

/* Contact, about and shipping: open editorial sections and real photos. */
.content-article-kontaktformular > .entry-content {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
  gap: 2rem;
}
.luxury-contact-intro {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 25rem;
  border-radius: var(--koi-radius-lg);
  padding: clamp(1.5rem, 4vw, 3.5rem);
  background: linear-gradient(90deg, #090d0ef0, #090d0e80), url('wild/firmengebaeude-2.webp') center / cover;
  color: #fff;
}
.luxury-contact-intro h2 {
  color: #fff;
  font-size: clamp(1.9rem, 3vw, 2.7rem);
  line-height: 1.15;
}
.luxury-contact-intro .eyebrow {
  color: var(--koi-gold);
}
.luxury-contact-intro p:not(.eyebrow) {
  color: #d6dcd7;
}
.luxury-contact-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2rem;
}
.content-article-kontaktformular .luxury-contact-grid {
  grid-template-columns: minmax(0, 1fr);
  align-content: center;
}
.luxury-contact-panel {
  min-width: 0;
  padding-block: 1.25rem;
  border-bottom: 1px solid #17251c22;
}
.luxury-contact-panel h2 {
  color: var(--koi-ink);
  font-size: clamp(1.35rem, 2vw, 1.8rem);
  font-weight: 600;
  line-height: 1.25;
}
.luxury-contact-panel p {
  color: var(--koi-muted);
}
.luxury-contact-list {
  display: grid;
  gap: .7rem;
  padding: 0;
  list-style: none;
}
.luxury-contact-list > li {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 8rem), 1fr));
  gap: .4rem 1rem;
  margin: 0;
}
.luxury-contact-list > li > :is(strong, span) {
  min-width: 0;
  overflow-wrap: anywhere;
}
.koi-contact-form-panel {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr);
  gap: clamp(2rem, 5vw, 4rem);
  margin-top: 1rem;
  border-top: 1px solid #17251c22;
  padding-top: 3rem;
  scroll-margin-top: 8rem;
}
.koi-contact-form-panel__copy h2 {
  font-size: clamp(1.6rem, 2.5vw, 2.2rem);
}
.koi-contact-form-panel__copy {
  grid-column: 1;
  grid-row: 1;
}
.koi-contact-form-panel > form {
  grid-column: 2;
  grid-row: 1 / span 2;
}
.koi-contact-notice {
  grid-column: 1;
  grid-row: 2;
  border-left: 2px solid var(--koi-red);
  padding: .75rem 1rem;
  font-size: .9rem;
  line-height: 1.6;
}
.koi-contact-notice.is-success {
  border-color: #397047;
}
.koi-contact-form__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
}
.koi-contact-form__field {
  display: grid;
  gap: .4rem;
  margin: 0;
  font-size: .9rem;
}
.koi-contact-form__field:has(textarea),
.koi-contact-form__consent {
  grid-column: 1 / -1;
}
.koi-contact-form__consent {
  display: flex;
  gap: .75rem;
  align-items: flex-start;
  font-size: .875rem;
  line-height: 1.6;
}
.koi-contact-form__consent input {
  flex: 0 0 auto;
  margin-top: .3rem;
}
.koi-contact-form__consent > label {
  display: flex;
  gap: .75rem;
  align-items: flex-start;
}
.koi-contact-form > .koi-contact-form__field {
  margin-top: 1.25rem;
}
.koi-contact-form :is(input:not([type=checkbox]):not([type=hidden]), select, textarea) {
  width: 100%;
  min-width: 0;
}
.content-article-ueber-uns .entry-content > section,
.content-article-ueber-uns .entry-content > .luxury-contact-grid {
  margin-block: clamp(2.5rem, 5vw, 4rem);
}
.content-article-ueber-uns .entry-content > :first-child {
  margin-top: 0;
}
.content-article-ueber-uns .page-intro {
  max-width: var(--koi-reading);
}
.founder-portrait-section,
.about-japan-moment {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: center;
  gap: clamp(2rem, 5vw, 4rem);
}
.founder-portrait-media {
  margin: 0;
}
.founder-portrait-media img,
.about-japan-moment__image {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  border-radius: var(--koi-radius-lg);
  object-fit: cover;
}
.founder-portrait-media img {
  aspect-ratio: 1;
  object-position: center 30%;
}
.founder-portrait-media figcaption {
  margin-top: .75rem;
  color: var(--koi-muted);
  font-size: .85rem;
}
.founder-portrait-copy h2,
.about-japan-moment__copy h2 {
  font-size: clamp(1.7rem, 2.7vw, 2.4rem);
  font-weight: 600;
}
.about-japan-moment--selection .about-japan-moment__media {
  order: 2;
}
.founder-trust-list,
.about-stance-list {
  display: grid;
  gap: .65rem;
  border-left: 2px solid var(--koi-gold);
  padding-left: 1rem;
}
.content-article-ueber-uns .founder-trust-list > span > strong {
  display: block;
  margin-bottom: .3rem;
}
.wild-location-story__head {
  max-width: 45rem;
  margin-bottom: 1.75rem;
}
.wild-location-story__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem;
}
.wild-location-card {
  min-width: 0;
}
.wild-location-card--wide {
  grid-column: 1 / -1;
}
.wild-location-card img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: var(--koi-radius);
  object-fit: cover;
}
.wild-location-card h3 {
  margin-block: 1rem .5rem;
  font-size: 1.3rem;
  font-weight: 600;
}
.wild-location-card p {
  color: var(--koi-muted);
}
/* Legal prose contains long external URLs and literal cookie/code names. */
.content-article:is(.content-article-agb, .content-article-datenschutz, .content-article-impressum, .content-article-versand-und-zahlungsbedingungen, .content-article-widerrufsformular, .content-article-widerrufsrecht, .content-article-auktionsregeln) {
  min-width: 0;
  overflow-wrap: anywhere;
}
.content-article:is(.content-article-agb, .content-article-datenschutz, .content-article-impressum, .content-article-versand-und-zahlungsbedingungen, .content-article-widerrufsformular, .content-article-widerrufsrecht, .content-article-auktionsregeln) :is(h1, h2, h3, h4, a, pre, code) {
  overflow-wrap: anywhere;
}
.content-article:is(.content-article-agb, .content-article-datenschutz, .content-article-impressum, .content-article-versand-und-zahlungsbedingungen, .content-article-widerrufsformular, .content-article-widerrufsrecht, .content-article-auktionsregeln) :is(a, pre, code) {
  max-inline-size: 100%;
}
.content-article:is(.content-article-agb, .content-article-datenschutz, .content-article-impressum, .content-article-versand-und-zahlungsbedingungen, .content-article-widerrufsformular, .content-article-widerrufsrecht, .content-article-auktionsregeln) :is(pre, code) {
  white-space: pre-wrap;
}
.legal-hero {
  max-width: var(--koi-reading);
}
.content-article-koi-versand .legal-hero {
  max-width: none;
}
.content-article-koi-versand .legal-hero > p {
  max-width: var(--koi-reading);
}
.legal-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem 3rem;
  margin-block: 2.5rem;
}
.legal-card {
  border-top: 1px solid #17251c22;
  padding-block: 1.5rem;
}
.legal-card h2 {
  font-size: 1.5rem;
  font-weight: 600;
}
.legal-contact-strip {
  border-left: 2px solid var(--koi-gold);
  padding: .5rem 1.5rem;
}
.legal-contact-strip h2 {
  font-size: 1.5rem;
}
.shipping-carrier-strip {
  margin-top: 2.5rem;
  border-radius: var(--koi-radius-lg);
  padding: clamp(1.5rem, 3vw, 2.5rem);
  background: var(--koi-surface);
}
.shipping-carrier-strip__main,
.shipping-carrier-strip__logos,
.shipping-trust-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.5rem;
}
.shipping-carrier-strip__main {
  justify-content: space-between;
}
.shipping-carrier-strip__label {
  display: block;
  margin-bottom: 1rem;
  color: var(--koi-muted);
  font-size: .8rem;
}
.shipping-carrier-logo {
  display: flex;
  align-items: center;
  min-width: 0;
}
.shipping-carrier-logo__mark {
  display: block;
  width: 6.5rem;
  height: 2.5rem;
  object-fit: contain;
}
.shipping-care-box {
  display: grid;
  gap: .25rem;
  border-left: 2px solid var(--koi-gold);
  padding-left: 1.25rem;
}
.shipping-care-box__brand {
  font-size: .8rem;
}
.shipping-care-box__label {
  font-size: 1.75rem;
  font-weight: 600;
}
.shipping-trust-row {
  align-items: start;
  margin-top: 2rem;
  border-top: 1px solid #17251c22;
  padding-top: 1.25rem;
}
.shipping-trust-item {
  display: grid;
  flex: 1 1 10rem;
  gap: .3rem;
  font-size: .875rem;
}
.shipping-trust-item em {
  color: var(--koi-muted);
  font-style: normal;
}

/* Pond supply keeps the existing external-shop journey and image. */
.pond-supply-page {
  margin-block: clamp(2rem, 5vw, 4rem) 5rem;
}
.pond-supply-hero {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(2rem, 5vw, 4rem);
  align-items: center;
}
.pond-supply-hero h1 {
  max-width: 15ch;
  font-size: clamp(2.25rem, 4.5vw, 4rem);
  line-height: 1.1;
}
.pond-supply-hero__copy > p:not(.pond-supply-kicker) {
  color: var(--koi-muted);
  line-height: 1.7;
}
.pond-supply-hero__visual {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 30rem;
  border-radius: var(--koi-radius-lg);
  padding: 2rem;
  background: linear-gradient(0deg, #090d0ed9, transparent 70%), url('generated/teichbedarf-filtertechnik-20260705.jpg') center / cover;
  color: #fff;
}
.pond-supply-hero__visual > span {
  color: var(--koi-gold);
  font-size: .85rem;
}
.pond-supply-hero__list {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem 1.5rem;
  margin: .75rem 0 0;
  padding: 0;
  list-style: none;
  font-size: 1.4rem;
}
.pond-supply-button {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-height: 2.75rem;
  border: 1px solid #17251c40;
  border-radius: var(--koi-radius-sm);
  padding: .75rem 1.1rem;
  color: var(--koi-ink);
  font-size: .9rem;
  font-weight: 600;
  text-decoration: none;
}
.pond-supply-button.is-primary {
  border-color: var(--koi-red);
  background: var(--koi-red);
  color: #fff;
}
.pond-supply-trust {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 1rem;
  margin-block: 2.5rem 4rem;
  border-block: 1px solid #17251c22;
  padding-block: 1.25rem;
  color: var(--koi-muted);
  font-size: .875rem;
}
.pond-supply-category-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.5rem;
  margin-top: 2rem;
}
.pond-supply-category {
  display: flex;
  flex-direction: column;
  align-items: start;
  min-height: 15rem;
  border-radius: var(--koi-radius);
  padding: 1.5rem;
  background: var(--koi-surface);
  color: var(--koi-ink);
  text-decoration: none;
}
.pond-supply-category > span {
  margin-bottom: 1.25rem;
  color: var(--koi-red);
  font-size: .75rem;
}
.pond-supply-category > strong {
  font-size: 1.5rem;
  font-weight: 600;
}
.pond-supply-category > em {
  margin-block: .75rem 1.5rem;
  color: var(--koi-muted);
  font-size: .95rem;
  font-style: normal;
  line-height: 1.6;
}
.pond-supply-category__cta {
  margin-top: auto;
  color: var(--koi-red);
  font-weight: 600;
}
.pond-supply-shop-box {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 3rem;
  margin-top: 4rem;
  border-top: 1px solid #17251c22;
  padding-top: 3rem;
}
.pond-supply-quick-links {
  display: grid;
  align-content: start;
}
.pond-supply-quick-links a {
  min-height: 3.5rem;
  border-bottom: 1px solid #17251c22;
  padding-block: 1rem;
  color: var(--koi-ink);
  text-decoration: none;
}

/* Food landing, direct order and calculator. No pricing or calculation changes. */
.content-article-koifutter .food-products-panel[aria-labelledby="akita-futter-vergleich"] {
  margin-bottom: 2.5rem;
  border-bottom: 1px solid #17251c22;
  padding-bottom: 1.5rem;
}
.content-article-koifutter .food-products-panel[aria-labelledby="akita-futter-vergleich"] h2 {
  font-size: 1.4rem;
}
.content-article-koifutter .food-products-panel[aria-labelledby="akita-futter-vergleich"] p {
  max-width: var(--koi-reading);
}
.food-landing > section {
  margin-block: clamp(3rem, 6vw, 5rem);
  scroll-margin-top: 8rem;
}
.food-landing > .food-sticky-order {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem 2rem;
  margin-block: 2.5rem 0;
  border-top: 1px solid #17251c22;
  padding-block: 1.5rem 0;
}
.food-sticky-order__copy {
  flex: 1 1 15rem;
}
.food-sticky-order__copy > :is(span, strong, small) {
  display: block;
}
.food-sticky-order__copy > span,
.food-sticky-order__copy small {
  color: var(--koi-muted);
  font-size: .8rem;
}
.food-sticky-order__packs {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
}
.food-sticky-order__buy {
  display: grid;
  gap: .2rem;
  min-height: 3rem;
  border: 1px solid #17251c33;
  border-radius: var(--koi-radius-sm);
  padding: .65rem 1rem;
  color: var(--koi-ink);
  text-decoration: none;
  font-size: .8rem;
}
.food-sticky-order__buy strong {
  font-size: 1rem;
}
.food-sticky-order__all {
  font-size: .85rem;
}
.food-landing__hero {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2rem;
  align-items: center;
}
.food-landing__copy h2 {
  font-size: clamp(2.1rem, 4vw, 3.5rem);
  line-height: 1.1;
}
.food-landing__copy > p:not(.eyebrow):not(.food-landing__line-label) {
  max-width: 52ch;
  color: var(--koi-muted);
  font-size: 1.05rem;
  line-height: 1.7;
}
.food-landing__line-label {
  color: var(--koi-muted);
  font-size: .9rem;
}
.food-landing__actions {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  margin-top: 1.5rem;
}
.food-landing__media {
  min-width: 0;
  align-self: stretch;
  display: grid;
  place-items: center;
  border-radius: var(--koi-radius-lg);
  padding: 1.5rem;
  background: var(--koi-surface);
}
.food-landing__media img {
  display: block;
  width: 100%;
  max-height: 30rem;
  object-fit: contain;
}
.food-landing__order-panel {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  align-items: start;
  gap: .8rem 2rem;
  border-block: 1px solid #17251c22;
  padding-block: 2rem;
}
.food-landing__order-panel > .eyebrow,
.food-landing__order-panel > h3 {
  grid-column: 1;
  margin: 0;
}
.food-landing__order-panel > h3 {
  font-size: clamp(1.4rem, 2.3vw, 1.9rem);
}
.food-landing__pack-grid {
  grid-column: 2;
  grid-row: 1 / span 3;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 10rem), 1fr));
  gap: .75rem;
}
.food-landing__pack-option {
  display: grid;
  gap: .35rem;
  min-width: 0;
  border: 1px solid #17251c33;
  border-radius: var(--koi-radius);
  padding: 1.25rem;
  background: var(--koi-surface);
  color: var(--koi-ink);
  text-align: left;
}
.food-landing__pack-option.is-selected {
  border-color: var(--koi-red);
  box-shadow: inset 0 0 0 1px var(--koi-red);
}
.food-landing__pack-option > span {
  color: var(--koi-muted);
  font-size: .8rem;
}
.food-landing__pack-option > b {
  font-size: 1.35rem;
  font-weight: 600;
}
.food-landing__pack-option small {
  color: var(--koi-muted);
  font-size: .8rem;
}
.food-landing__selected-pack,
.food-landing__order-panel > .koi-food-shipping-note {
  grid-column: 1;
  margin: 0;
  font-size: .85rem;
}
.food-landing__primary-buy {
  grid-column: 2;
  justify-self: stretch;
}
.food-landing__calculator-link {
  grid-column: 1;
  font-size: .85rem;
}
.food-landing__trust-notes,
.food-proof-list {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: .75rem 1.5rem;
  color: var(--koi-muted);
  font-size: .85rem;
}
.food-landing__trust-notes > span,
.food-proof-list > span {
  border-left: 2px solid var(--koi-gold);
  padding-left: .75rem;
}
.food-landing__cart-notice {
  grid-column: 1 / -1;
  border-left: 3px solid #397147;
  border-radius: var(--koi-radius-sm);
  padding: 1rem 1.25rem;
  background: #e9f1e9;
}
.food-landing__cart-notice a {
  margin-left: .75rem;
}
.food-landing__primary-buy.is-adding {
  opacity: .65;
  cursor: progress;
}
.food-products-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem;
  margin-top: 1.75rem;
}
.food-product-card {
  display: grid;
  grid-template-columns: minmax(7rem, .65fr) minmax(0, 1fr);
  align-items: start;
  gap: 1rem 1.5rem;
  border-radius: var(--koi-radius-lg);
  padding: 1.5rem;
  background: var(--koi-surface);
}
.food-product-card__media {
  grid-row: span 2;
}
.food-product-card__media img {
  width: 100%;
  height: 16rem;
  object-fit: contain;
}
.food-product-card__body h3 {
  margin-top: 0;
  font-size: 1.2rem;
  font-weight: 600;
  line-height: 1.35;
}
.food-product-card__body h3 a {
  color: inherit;
  text-decoration: none;
}
.food-product-card__body p,
.food-product-delivery {
  color: var(--koi-muted);
  font-size: .875rem;
  line-height: 1.5;
}
.food-product-badges {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
}
.food-product-badge {
  border-radius: .3rem;
  padding: .25rem .5rem;
  background: var(--koi-bg);
  color: var(--koi-muted);
  font-size: .7rem;
}
.food-product-card__footer {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: .7rem;
  align-self: end;
  min-width: 0;
}
.food-product-card .koi-food-card-price {
  font-size: 1.3rem;
}
.food-product-card .koi-food-price-value {
  font-size: inherit;
}
.food-product-card__actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: .75rem;
  align-items: start;
  min-width: 0;
}
.food-product-card__actions > :is(.button, .added_to_cart) {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
}
.food-product-card__details {
  font-size: .85rem;
}
.food-landing .koi-food-shipping-note,
.food-landing .koi-price-tax-shipping-note {
  display: block;
  color: var(--koi-muted);
  font-size: .75rem;
  font-weight: 400;
  line-height: 1.5;
}
.food-calculator__intro {
  max-width: 48rem;
  margin-bottom: 1.75rem;
}
.food-calculator__scope-note {
  border-left: 2px solid var(--koi-gold);
  padding-left: 1rem;
  color: var(--koi-muted);
  font-size: .9rem;
}
.food-calculator__panel {
  border-radius: var(--koi-radius-lg);
  padding: clamp(1.25rem, 3vw, 2.5rem);
  background: var(--koi-surface);
}
.food-calculator__mode {
  display: inline-flex;
  flex-wrap: wrap;
  gap: .35rem;
  margin-bottom: 2rem;
  border-radius: var(--koi-radius);
  padding: .35rem;
  background: var(--koi-bg);
}
.food-calculator__mode button {
  display: grid;
  gap: .2rem;
  min-height: 3rem;
  border: 0;
  border-radius: var(--koi-radius-sm);
  padding: .7rem 1rem;
  background: transparent;
  color: var(--koi-muted);
  text-align: left;
}
.food-calculator__mode button.is-active {
  background: var(--koi-surface);
  color: var(--koi-ink);
  box-shadow: 0 1px 4px #17251c14;
}
.food-calculator__mode button small {
  font-size: .75rem;
  font-weight: 400;
}
.food-calculator__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
  gap: 2rem;
  align-items: start;
}
.food-calculator__fields {
  display: grid;
  gap: 1.25rem;
}
html.koi-js-ready .food-calculator__fields:not(.is-active) {
  display: none;
}
.food-calculator__form label {
  display: grid;
  gap: .45rem;
  color: var(--koi-muted);
  font-size: .875rem;
}
.food-calculator__form :is(input, select) {
  min-width: 0;
  width: 100%;
}
.food-calculator__group-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
  border-bottom: 1px solid #17251c22;
  padding-bottom: 1.25rem;
}
.food-calculator__group-row > strong {
  grid-column: 1 / -1;
  font-weight: 550;
}
.food-calculator__inline {
  display: grid;
  gap: 1rem;
}
.food-calculator__result {
  border-radius: var(--koi-radius);
  padding: clamp(1.25rem, 2.5vw, 2rem);
  background: var(--koi-bg);
}
.food-calculator__label {
  display: block;
  color: var(--koi-muted);
  font-size: .85rem;
}
.food-calculator__result > strong {
  display: block;
  margin-block: .65rem;
  font-size: clamp(2.5rem, 5vw, 4rem);
  font-weight: 650;
  line-height: 1.1;
  letter-spacing: -.04em;
}
.food-calculator__result > p {
  color: var(--koi-muted);
  font-size: .875rem;
  line-height: 1.6;
}
.food-calculator__metrics {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 5rem), 1fr));
  gap: .75rem;
  margin-block: 1.5rem;
  border-block: 1px solid #17251c22;
  padding-block: 1rem;
}
.food-calculator__metrics > span {
  display: grid;
  gap: .4rem;
  color: var(--koi-muted);
  font-size: .75rem;
}
.food-calculator__metrics em {
  color: var(--koi-ink);
  font-size: 1.1rem;
  font-weight: 600;
  font-style: normal;
}
.food-calculator__recommendation {
  display: grid;
  gap: .5rem;
  margin-bottom: 1.5rem;
}
.food-calculator__recommendation > span,
.food-calculator__note {
  color: var(--koi-muted);
  font-size: .85rem;
  line-height: 1.6;
}
.food-calculator__note {
  margin-block: 1.75rem 0;
}
.food-video-section {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  gap: 2.5rem;
  align-items: center;
}
.food-video-section__media :is(video, iframe) {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  border: 0;
  border-radius: var(--koi-radius-lg);
  background: var(--koi-dark);
}
.food-education__intro {
  max-width: 54rem;
}
.food-education__benefits,
.food-education__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.5rem;
  margin-top: 2rem;
}
.food-benefit,
.food-education__grid > article {
  border-top: 1px solid #17251c22;
  padding-top: 1.5rem;
}
.food-benefit__icon,
.food-education__icon {
  display: block;
  width: 2rem;
  height: 2rem;
  margin-bottom: 1rem;
  color: var(--koi-red);
}
.food-benefit__icon svg,
.food-education__icon svg {
  width: 100%;
  height: 100%;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5;
}
.food-benefit h3,
.food-education__grid h3 {
  font-size: 1.1rem;
  font-weight: 600;
}
.food-benefit p,
.food-education__grid p {
  color: var(--koi-muted);
  font-size: .9rem;
  line-height: 1.65;
}

/* Account shell, authentication and standard Woo endpoints. */
body.woocommerce-account .content-article {
  max-width: var(--koi-container);
  margin-inline: auto;
}
body.woocommerce-account .entry-content {
  max-width: none;
}
body.woocommerce-account.logged-in .entry-content > .woocommerce {
  display: grid;
  grid-template-columns: 13rem minmax(0, 1fr);
  align-items: start;
  gap: 2rem;
}
body.woocommerce-account .woocommerce-MyAccount-navigation,
body.woocommerce-account .woocommerce-MyAccount-content {
  float: none;
  width: auto;
  min-width: 0;
}
body.woocommerce-account .woocommerce > :is(.woocommerce-notices-wrapper, .woocommerce-error, .woocommerce-info, .woocommerce-message) {
  grid-column: 1 / -1;
}
.woocommerce-MyAccount-navigation > ul {
  display: grid;
  gap: .25rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.woocommerce-MyAccount-navigation li > a,
.jkw-account-nav-more__button {
  display: flex;
  align-items: center;
  gap: .75rem;
  width: 100%;
  min-height: 3rem;
  border: 0;
  border-radius: var(--koi-radius-sm);
  padding: .8rem .9rem;
  background: transparent;
  color: var(--koi-muted);
  text-align: left;
  text-decoration: none;
  font-size: .9rem;
  font-weight: 500;
}
.woocommerce-MyAccount-navigation li.is-active > a,
.woocommerce-MyAccount-navigation li.is-active > button {
  background: var(--koi-surface);
  color: var(--koi-red);
}
.woocommerce-MyAccount-navigation li > a:hover,
.jkw-account-nav-more__button:hover {
  background: #17251c08;
  color: var(--koi-ink);
}
.jkw-account-nav-icon {
  display: block;
  flex: 0 0 1.25rem;
  width: 1.25rem;
  height: 1.25rem;
}
.jkw-account-nav-icon svg {
  width: 100%;
  height: 100%;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
}
.jkw-account-nav-more {
  display: none;
}
body.woocommerce-account #customer_login {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1.5rem, 4vw, 4rem);
}
body.woocommerce-account #customer_login::before,
body.woocommerce-account #customer_login::after {
  content: none;
}
body.woocommerce-account #customer_login > :is(.u-column1, .u-column2) {
  float: none;
  width: auto;
  min-width: 0;
  border-radius: var(--koi-radius-lg);
  padding: clamp(1.5rem, 3vw, 2.5rem);
  background: var(--koi-surface);
}
body.woocommerce-account #customer_login h2 {
  margin-top: 0;
  font-size: 1.8rem;
  font-weight: 600;
}
body.woocommerce-account .woocommerce :is(form.login, form.register, form.lost_reset_password) {
  margin: 0;
  border: 0;
  padding: 0;
}
body.woocommerce-account .woocommerce-ResetPassword {
  max-width: 38rem;
}
body.woocommerce-account .woocommerce form .form-row {
  margin-block: 0 1.25rem;
  padding: 0;
}
body.woocommerce-account .woocommerce form .form-row label {
  display: block;
  margin-bottom: .45rem;
  font-size: .9rem;
}
body.woocommerce-account .woocommerce form :is(input.input-text, textarea, select) {
  width: 100%;
  min-width: 0;
}
body.woocommerce-account .woocommerce :is(.woocommerce-privacy-policy-text, .woocommerce-LostPassword, .woocommerce-password-hint) {
  color: var(--koi-muted);
  font-size: .875rem;
  line-height: 1.6;
}
.koi-password-field {
  position: relative;
  display: block;
}
body.woocommerce-account .show-password-input {
  display: none;
}
.koi-password-field input {
  padding-right: 3.25rem;
}
.koi-password-toggle {
  position: absolute;
  top: 0;
  right: 0;
  display: grid;
  place-items: center;
  width: 3rem;
  min-height: 100%;
  border: 0;
  padding: .5rem;
  background: transparent;
  color: var(--koi-muted);
}
.koi-password-eye {
  position: relative;
  width: 1.1rem;
  height: .75rem;
  border: 1.5px solid currentColor;
  border-radius: 70% 40%;
  transform: rotate(45deg);
}
.koi-password-eye::after {
  content: '';
  position: absolute;
  inset: 25% 33%;
  border: 1px solid currentColor;
  border-radius: 50%;
}
.koi-password-toggle.is-visible {
  color: var(--koi-red);
}
body.woocommerce-account .woocommerce-MyAccount-content > * + * {
  margin-top: 2rem;
}
body.woocommerce-account .woocommerce-MyAccount-content :is(table.shop_table, .woocommerce-Addresses) {
  width: 100%;
}
body.woocommerce-account .woocommerce-MyAccount-content table {
  border-collapse: collapse;
  font-size: .9rem;
}
body.woocommerce-account .woocommerce-MyAccount-content :is(th, td) {
  border-bottom: 1px solid #17251c22;
  padding: 1rem .65rem;
  text-align: left;
}
body.woocommerce-account .woocommerce-MyAccount-content td .button {
  margin: .2rem;
  font-size: .8rem;
}
body.woocommerce-account .woocommerce-orders-table__cell-order-actions .button:not(.pay) {
  border-color: var(--koi-line);
  background: transparent;
  color: var(--koi-ink);
}
body.woocommerce-account .woocommerce-orders-table__cell-order-actions .button:not(.pay):hover {
  border-color: #aeb7ac;
  background: var(--koi-surface-soft);
}
body.woocommerce-account .woocommerce-EditAccountForm fieldset {
  min-width: 0;
  margin-block: 1.75rem;
  border: 1px solid var(--koi-line);
  border-radius: var(--koi-radius);
  padding: clamp(1rem, 2vw, 1.5rem);
}
body.woocommerce-account .woocommerce-EditAccountForm legend {
  padding-inline: .5rem;
  font-size: 1rem;
  font-weight: 600;
}
body.woocommerce-account .woocommerce-Addresses {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2rem;
}
body.woocommerce-account .woocommerce-Addresses > .woocommerce-Address {
  float: none;
  width: auto;
}
body.woocommerce-account address {
  color: var(--koi-muted);
  font-style: normal;
  line-height: 1.7;
}
.jkw-account-overview__head > p,
.jkw-care-eyebrow {
  margin: 0 0 .6rem;
  color: var(--koi-red);
  font-size: .8rem;
  font-weight: 600;
}
.jkw-account-overview__head h2 {
  margin-top: 0;
  font-size: clamp(1.8rem, 3vw, 2.5rem);
  font-weight: 600;
}
.jkw-account-overview__head > span {
  color: var(--koi-muted);
}
.jkw-account-overview__metrics,
.jkw-account-quick {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 10rem), 1fr));
  gap: 1rem;
  margin-top: 1.75rem;
}
.jkw-account-metric,
.jkw-care-metric {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: .6rem;
  min-width: 0;
  border-top: 2px solid var(--koi-gold);
  padding: 1.25rem .25rem;
}
.jkw-account-metric span,
.jkw-care-metric span {
  color: var(--koi-muted);
  font-size: .85rem;
}
.jkw-account-metric strong,
.jkw-care-metric strong {
  font-size: clamp(1.7rem, 3vw, 2.5rem);
  font-weight: 600;
  line-height: 1.1;
  letter-spacing: -.03em;
}
.jkw-account-metric em {
  color: var(--koi-muted);
  font-size: .8rem;
  font-style: normal;
  line-height: 1.5;
}
.jkw-account-quick__item {
  display: grid;
  gap: .5rem;
  border-radius: var(--koi-radius);
  padding: 1.25rem;
  background: var(--koi-surface);
  color: var(--koi-ink);
  text-decoration: none;
}
.jkw-account-quick__item strong {
  font-weight: 600;
}
.jkw-account-quick__item span {
  color: var(--koi-muted);
  font-size: .85rem;
  line-height: 1.5;
}
.jkw-account-order-shortcuts {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .75rem;
  margin-bottom: 1.5rem;
}
.jkw-account-order-shortcuts strong {
  flex: 1 0 100%;
}
body.woocommerce-account.jkw-onboarding-focus .entry-content > .woocommerce {
  grid-template-columns: minmax(0, 1fr);
}
body.woocommerce-account.jkw-onboarding-focus .woocommerce-MyAccount-navigation {
  display: none;
}
body.jkw-onboarding-focus .jkw-onboarding-page {
  max-width: 61.25rem;
  margin-inline: auto;
}
.koi-account-bid-summary,
.koi-account-empty {
  border-left: 2px solid var(--koi-gold);
  padding: .5rem 1.5rem;
}
.koi-account-bid-list {
  display: grid;
  gap: 1.5rem;
  margin-top: 2rem;
}
.koi-account-bid-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1.5rem;
  border-radius: var(--koi-radius);
  padding: 1.5rem;
  background: var(--koi-surface);
}
.koi-account-bid-status {
  display: inline-block;
  margin-bottom: .75rem;
  border-radius: 1rem;
  padding: .25rem .7rem;
  background: #e7f0e7;
  color: #315f3c;
  font-size: .75rem;
}
.koi-account-bid-card--outbid .koi-account-bid-status,
.koi-account-bid-card--lost .koi-account-bid-status {
  background: #f8e9e7;
  color: var(--koi-red-hover);
}
.koi-account-bid-card dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin-bottom: 0;
}
.koi-account-bid-card dt {
  color: var(--koi-muted);
  font-size: .8rem;
}
.koi-account-bid-card dd {
  margin: .3rem 0 0;
  font-size: .95rem;
}
.koi-account-bid-actions {
  display: grid;
  gap: .75rem;
  align-content: center;
  max-width: 18rem;
}
.koi-account-bid-actions small,
.koi-account-bid-actions > strong {
  color: var(--koi-muted);
  font-size: .85rem;
  font-weight: 400;
  line-height: 1.6;
}

/* Koi-care replaces the dequeued plugin stylesheet, including state visibility. */
.jkw-care-dashboard,
.jkw-care-page {
  display: grid;
  min-width: 0;
  gap: 1.5rem;
  color: var(--koi-ink);
}
.jkw-care-section-head h2 {
  margin-block: 0 .75rem;
  font-size: clamp(1.6rem, 2.7vw, 2.25rem);
  font-weight: 600;
}
.jkw-care-section-head > p:not(.jkw-care-eyebrow) {
  max-width: var(--koi-reading);
  margin-bottom: 0;
  color: var(--koi-muted);
  line-height: 1.65;
}
.jkw-care-grid,
.jkw-care-step-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
.jkw-care-grid--summary {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 10rem), 1fr));
}
.jkw-care-card,
.jkw-care-koi-card,
.jkw-onboarding-card {
  min-width: 0;
  border-radius: var(--koi-radius);
  padding: clamp(1.25rem, 2.5vw, 2rem);
  background: var(--koi-surface);
}
.jkw-care-card > h3,
.jkw-care-koi-card h3 {
  margin-top: 0;
  font-size: 1.3rem;
  font-weight: 600;
}
.jkw-care-card--subtle {
  border-top: 1px solid #17251c22;
  border-radius: 0;
  padding-inline: 0;
  background: transparent;
}
.jkw-care-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
}
.jkw-care-form label {
  display: grid;
  gap: .45rem;
  min-width: 0;
  color: var(--koi-muted);
  font-size: .875rem;
  line-height: 1.45;
}
.jkw-care-form :is(input:not([type=checkbox]):not([type=hidden]), select, textarea) {
  width: 100%;
  min-width: 0;
}
.jkw-care-form__wide,
.jkw-care-form__actions,
.jkw-care-step-nav,
.jkw-care-step-panel,
.jkw-koi-group-list {
  grid-column: 1 / -1;
}
.jkw-care-form__actions,
.jkw-care-refill-service__actions,
.jkw-onboarding-prompt__actions {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  align-items: center;
}
.jkw-care-form__actions :is(button, .button),
.jkw-care-inline-action button,
.jkw-care-refill-service__actions button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  min-height: 2.75rem;
  border: 1px solid var(--koi-red);
  border-radius: var(--koi-radius-sm);
  padding: .75rem 1.1rem;
  background: var(--koi-red);
  color: #fff;
  font-size: .9rem;
  font-weight: 600;
}
.jkw-care-form button.secondary,
.jkw-care-inline-action button,
.jkw-care-refill-service__actions button {
  border: 1px solid #17251c40;
  background: transparent;
  color: var(--koi-ink);
}
.jkw-care-inline-action {
  display: inline-block;
  margin: 0;
}
.jkw-care-form label.jkw-care-check {
  display: flex;
  gap: .75rem;
  align-items: flex-start;
  grid-column: 1 / -1;
}
.jkw-care-check input {
  flex: 0 0 auto;
  margin-top: .2rem;
}
.jkw-care-check--large {
  border-radius: var(--koi-radius-sm);
  padding: 1rem;
  background: var(--koi-bg);
}
.jkw-care-fieldset {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  min-width: 0;
  gap: 1.25rem;
  border: 1px solid #17251c22;
  border-radius: var(--koi-radius-sm);
  padding: 1.25rem;
}
.jkw-care-step-panel {
  min-width: 0;
  margin: 0;
  border: 0;
  border-top: 1px solid #17251c22;
  padding: 1.5rem 0 0;
}
.jkw-care-step-panel[hidden] {
  display: none;
}
.jkw-care-step-panel legend {
  padding: 0 .75rem 0 0;
}
.jkw-care-step-panel legend span {
  display: block;
  color: var(--koi-muted);
  font-size: .75rem;
}
.jkw-care-step-panel legend strong {
  display: block;
  margin-top: .4rem;
  font-size: 1.25rem;
  font-weight: 600;
}
.jkw-care-step-grid {
  margin-top: 1rem;
}
.jkw-care-step-nav {
  display: flex;
  gap: .5rem;
}
.jkw-care-step-nav button {
  display: flex;
  flex: 1 1 0;
  align-items: center;
  justify-content: flex-start;
  gap: .6rem;
  min-width: 0;
  border: 0;
  border-bottom: 2px solid #17251c22;
  border-radius: 0;
  padding: .75rem .25rem;
  background: transparent;
  color: var(--koi-muted);
  text-align: left;
  font-size: .875rem;
}
.jkw-care-step-nav button[aria-current=step] {
  border-bottom-color: var(--koi-red);
  color: var(--koi-red);
}
.jkw-care-step-nav button strong {
  font-weight: 550;
}
.jkw-care-step-nav button > span,
.jkw-onboarding-steps span {
  display: grid;
  flex: 0 0 1.75rem;
  place-items: center;
  width: 1.75rem;
  height: 1.75rem;
  border: 1px solid currentColor;
  border-radius: 50%;
  font-size: .75rem;
}
.jkw-care-step-form [data-jkw-step-prev],
.jkw-care-step-form [data-jkw-step-next] {
  display: none;
}
.jkw-care-step-form.is-enhanced [data-jkw-step-prev]:not([hidden]),
.jkw-care-step-form.is-enhanced [data-jkw-step-next]:not([hidden]) {
  display: inline-flex;
}
.jkw-care-form [hidden] {
  display: none;
}
.jkw-care-step-note {
  grid-column: 1 / -1;
  margin: 0;
  color: var(--koi-muted);
  font-size: .85rem;
  line-height: 1.6;
}
.jkw-care-list {
  display: grid;
  gap: 1.5rem;
}
.jkw-care-koi-card.is-inactive {
  border: 1px solid #17251c22;
  background: transparent;
}
.jkw-care-koi-card__head {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 1rem;
}
.jkw-care-koi-card__head span {
  color: var(--koi-muted);
  font-size: .8rem;
}
.jkw-care-koi-card__head h3 {
  margin-top: .5rem;
}
.jkw-care-koi-card__head > strong {
  color: var(--koi-red);
  font-size: 1.25rem;
  font-weight: 600;
  white-space: nowrap;
}
.jkw-care-koi-facts,
.jkw-wishlist-card__facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin-block: 1.5rem;
}
.jkw-care-koi-facts dt,
.jkw-wishlist-card__facts dt {
  margin-bottom: .3rem;
  color: var(--koi-muted);
  font-size: .75rem;
}
.jkw-care-koi-facts dd,
.jkw-wishlist-card__facts dd {
  margin: 0;
  font-size: .9rem;
}
.jkw-care-koi-edit,
.jkw-care-archive {
  border-top: 1px solid #17251c22;
  padding-top: 1rem;
}
.jkw-care-koi-edit summary,
.jkw-care-archive summary {
  min-height: 2.75rem;
  cursor: pointer;
  color: var(--koi-red);
  font-size: .9rem;
  font-weight: 550;
}
.jkw-care-koi-edit .jkw-care-form {
  margin-block: 1rem 1.5rem;
}
.jkw-care-archive .jkw-care-list {
  margin-top: 1rem;
}
.jkw-care-empty,
.jkw-care-note,
.jkw-care-notice {
  max-width: var(--koi-reading);
  color: var(--koi-muted);
  line-height: 1.65;
}
.jkw-care-empty {
  padding-block: 1rem;
}
.jkw-care-note,
.jkw-care-notice {
  border-left: 2px solid var(--koi-gold);
  padding-left: 1rem;
  font-size: .875rem;
}
.jkw-care-recommendation {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem;
  align-items: start;
  border-radius: var(--koi-radius);
  padding: clamp(1.25rem, 2.5vw, 2rem);
  background: var(--koi-surface);
}
.jkw-care-recommendation.is-actionable {
  border-left: 3px solid var(--koi-red);
}
.jkw-care-recommendation__main > span {
  color: var(--koi-muted);
  font-size: .8rem;
}
.jkw-care-recommendation__main > strong {
  display: block;
  margin-top: .5rem;
  font-size: clamp(1.8rem, 3.5vw, 2.75rem);
  font-weight: 600;
  line-height: 1.15;
}
.jkw-care-recommendation__main > p {
  color: var(--koi-muted);
  font-size: .9rem;
  line-height: 1.6;
}
.jkw-care-recommendation__facts {
  display: grid;
  gap: .75rem;
}
.jkw-care-recommendation__facts > span {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: .5rem;
  border-bottom: 1px solid #17251c22;
  padding-bottom: .75rem;
  color: var(--koi-muted);
  font-size: .8rem;
}
.jkw-care-recommendation__facts b {
  color: var(--koi-ink);
  font-size: 1.15rem;
  font-weight: 600;
}
.jkw-care-recommendation__actions {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .75rem 1rem;
}
.jkw-care-recommendation__actions small {
  color: var(--koi-muted);
  font-size: .75rem;
}
.jkw-care-food-bridge {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem 2rem;
  margin-top: 1.5rem;
  border-top: 1px solid #17251c22;
  padding-top: 1.5rem;
}
.jkw-care-food-bridge strong {
  display: block;
  font-size: 1.15rem;
  font-weight: 600;
}
.jkw-care-food-bridge p {
  max-width: 55ch;
  margin-bottom: 0;
  color: var(--koi-muted);
  font-size: .9rem;
  line-height: 1.6;
}
.jkw-care-refill-service {
  border-top: 1px solid #17251c22;
  padding-top: 1.5rem;
}
.jkw-care-refill-service__status {
  display: inline-block;
  margin-bottom: .75rem;
  border-radius: 1rem;
  padding: .3rem .65rem;
  background: #17251c0d;
  color: var(--koi-muted);
  font-size: .75rem;
}
.jkw-care-refill-service.is-enabled .jkw-care-refill-service__status {
  background: #e7f0e7;
  color: #315f3c;
}
.jkw-care-dashboard__body {
  display: grid;
  gap: 1.5rem;
}
.jkw-care-quick-actions {
  border-top: 1px solid #17251c22;
  padding-top: 1.5rem;
}
.jkw-care-quick-actions h3 {
  font-size: 1.1rem;
  font-weight: 600;
}
.jkw-care-quick-actions__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}
.jkw-care-quick-actions__grid a {
  display: grid;
  gap: .5rem;
  border-bottom: 1px solid #17251c22;
  padding-block: .75rem;
  color: var(--koi-ink);
  text-decoration: none;
}
.jkw-care-quick-actions__grid strong {
  font-size: .95rem;
  font-weight: 600;
}
.jkw-care-quick-actions__grid span {
  color: var(--koi-muted);
  font-size: .8rem;
  line-height: 1.5;
}
.jkw-onboarding-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .75rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.jkw-onboarding-steps li {
  border-bottom: 2px solid #17251c22;
  color: var(--koi-muted);
}
.jkw-onboarding-steps li.is-current {
  border-bottom-color: var(--koi-red);
  color: var(--koi-red);
}
.jkw-onboarding-steps li.is-done {
  color: var(--koi-ink);
}
.jkw-onboarding-steps li.is-disabled {
  color: #7b817d;
}
.jkw-onboarding-steps a,
.jkw-onboarding-step__body {
  display: flex;
  gap: .65rem;
  align-items: center;
  min-height: 3.5rem;
  padding: .75rem .25rem;
  color: inherit;
  text-decoration: none;
}
.jkw-onboarding-steps strong {
  min-width: 0;
  overflow-wrap: anywhere;
  font-size: .875rem;
  font-weight: 550;
}
.jkw-onboarding-card {
  display: grid;
  gap: 1.25rem;
}
.jkw-onboarding-card--intro {
  border-radius: 0;
  padding: 0;
  background: transparent;
}
.jkw-koi-group-list {
  display: grid;
  gap: 1.5rem;
}
.jkw-koi-group-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  border-bottom: 1px solid #17251c22;
  padding-bottom: 1.5rem;
}
.jkw-koi-group-row > strong {
  grid-column: 1 / -1;
  font-weight: 600;
}
.jkw-wishlist-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem;
}
.jkw-wishlist-card {
  min-width: 0;
  overflow: hidden;
  border-radius: var(--koi-radius);
  background: var(--koi-surface);
}
.jkw-wishlist-card__media {
  display: block;
  background: #e7ece8;
}
.jkw-wishlist-card__media img {
  display: block;
  width: 100%;
  height: 20rem;
  object-fit: contain;
}
.jkw-wishlist-card__body,
.jkw-wishlist-card__actions {
  padding: 1.25rem;
}
.jkw-wishlist-card__body h3 {
  font-size: 1.15rem;
  font-weight: 600;
}
.jkw-wishlist-card__body h3 a {
  color: inherit;
  text-decoration: none;
}
.jkw-wishlist-card__status {
  color: var(--koi-muted);
  font-size: .75rem;
}
.jkw-wishlist-card__facts {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.jkw-wishlist-card__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .75rem;
  padding-top: 0;
}

/* Intermediate and mobile layouts: no horizontal page scroll or tiny controls. */
@media (max-width: 1100px) {
  .hero-slide {
    min-height: 35rem;
  }
  .hero-copy {
    padding-block: 2rem;
  }
  .hero-copy :is(h1, h2) {
    font-size: clamp(2.25rem, 4.8vw, 3.25rem);
  }
  .hero-lead {
    font-size: 1rem;
  }
  .content-article-koi-auswahl .koi-shop-entry__cards {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .food-product-card {
    grid-template-columns: minmax(0, 1fr);
  }
  .food-product-card__media {
    grid-row: auto;
  }
  .food-product-card__media img {
    height: 13rem;
  }
}
@media (max-width: 860px) {
  .hero-slide {
    grid-template-columns: minmax(0, 1fr);
    min-height: 0;
  }
  .hero-media {
    grid-column: 1;
    grid-row: 1;
    height: clamp(15rem, 53vw, 25rem);
  }
  .hero-copy {
    grid-row: 2;
    padding: 2rem var(--koi-gutter) 2.5rem;
  }
  .hero-text-panel {
    max-width: 42rem;
  }
  .hero-copy :is(h1, h2) {
    max-width: 22ch;
    font-size: clamp(2rem, 5vw, 3rem);
  }
  .hero-lead {
    margin-block: 1rem 1.5rem;
  }
  .hero-art-stamp {
    right: 1rem;
    bottom: 1rem;
  }
  .art-story,
  .food-home-section,
  .japan-selection-hero,
  .founder-portrait-section,
  .about-japan-moment,
  .pond-supply-hero,
  .food-video-section {
    grid-template-columns: minmax(0, 1fr);
    gap: 2rem;
  }
  .art-story-media {
    min-height: 21rem;
  }
  .japan-selection-hero__media img,
  .founder-portrait-media img {
    max-height: 32rem;
    aspect-ratio: 4 / 3;
  }
  .japan-selection-story__grid {
    gap: 1rem;
  }
  .japan-selection-card figcaption strong {
    font-size: 1rem;
  }
  .japan-selection-card figcaption em {
    font-size: .85rem;
  }
  .about-japan-moment--selection .about-japan-moment__media {
    order: 0;
  }
  .content-article-kontaktformular > .entry-content,
  .koi-contact-form-panel,
  .koi-faq-page,
  .food-calculator__grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .koi-contact-form-panel__copy,
  .koi-contact-form-panel > form,
  .koi-contact-notice {
    grid-column: 1;
    grid-row: auto;
  }
  .koi-faq-hero,
  .luxury-contact-intro {
    min-height: 20rem;
  }
  .koi-faq-paths {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
  }
  .koi-faq-paths a {
    padding-top: 0;
  }
  .content-article-kontaktformular .luxury-contact-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.5rem;
  }
  .koi-faq-group {
    grid-template-columns: minmax(0, 1fr);
    gap: .75rem;
  }
  .koi-faq-group > h2 {
    max-width: none;
  }
  .pond-supply-hero__visual {
    min-height: 24rem;
  }
  .pond-supply-category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .food-landing__hero {
    gap: 1.5rem;
  }
  .food-landing__order-panel {
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }
  .food-landing__pack-grid {
    width: 100%;
  }
  .food-landing__primary-buy {
    width: 100%;
  }
  .food-calculator__result > strong {
    font-size: 3rem;
  }
  .food-education__benefits,
  .food-education__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  body.woocommerce-account.logged-in .entry-content > .woocommerce {
    grid-template-columns: minmax(0, 1fr);
    gap: 1.5rem;
  }
  body.woocommerce-account .woocommerce-MyAccount-navigation {
    position: relative;
    z-index: 4;
    border-bottom: 1px solid #17251c22;
    padding-bottom: .75rem;
  }
  .woocommerce-MyAccount-navigation > ul {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
  }
  .woocommerce-MyAccount-navigation li {
    flex: 1 1 auto;
  }
  .woocommerce-MyAccount-navigation li.jkw-account-nav-overflow-item {
    display: none;
  }
  .woocommerce-MyAccount-navigation .jkw-account-nav-more {
    position: static;
    display: block;
  }
  .woocommerce-MyAccount-navigation li > a,
  .jkw-account-nav-more__button {
    justify-content: center;
    gap: .45rem;
    padding-inline: .65rem;
    font-size: .8rem;
  }
  .jkw-account-nav-more__panel:not([hidden]) {
    position: absolute;
    top: calc(100% - .25rem);
    right: 0;
    display: block;
    width: min(22rem, 100%);
    border: 1px solid #17251c22;
    border-radius: var(--koi-radius);
    padding: 1rem;
    background: var(--koi-surface);
    box-shadow: 0 12px 30px #090d0e1a;
  }
  .jkw-account-nav-more__panel > ul {
    margin: .5rem 0 0;
    padding: 0;
    list-style: none;
  }
  .jkw-account-nav-more__panel li > a {
    justify-content: flex-start;
  }
}
@media (max-width: 600px) {
  .front-page > section:not(.hero-carousel) {
    margin-block: 3rem;
  }
  .hero-media {
    height: 15rem;
  }
  .hero-copy {
    padding-block: 1.75rem 2rem;
  }
  .hero-copy :is(h1, h2) {
    font-size: clamp(1.9rem, 7.6vw, 2.5rem);
  }
  .hero-mark {
    margin-bottom: .85rem;
    font-size: .75rem;
  }
  .hero-lead {
    font-size: .95rem;
    line-height: 1.6;
  }
  .hero-actions .button {
    flex: 1 1 100%;
    text-align: center;
  }
  .hero-carousel__controls {
    gap: .15rem;
    padding-inline: .5rem;
  }
  .hero-carousel__dot {
    padding-inline: .65rem;
  }
  .hero-carousel__dot-index {
    display: none;
  }
  .luxury-choice-grid,
  .service-band,
  .japan-selection-story__grid,
  .content-article-koi-auswahl .koi-shop-entry-breeders,
  .luxury-contact-grid,
  .content-article-kontaktformular .luxury-contact-grid,
  .koi-contact-form__grid,
  .wild-location-story__grid,
  .legal-grid,
  .pond-supply-category-grid,
  .pond-supply-shop-box,
  .food-landing__hero,
  .food-products-grid,
  .food-education__benefits,
  .food-education__grid,
  body.woocommerce-account #customer_login,
  body.woocommerce-account .woocommerce-Addresses,
  .jkw-care-form,
  .jkw-care-step-grid,
  .jkw-care-grid:not(.jkw-care-grid--summary),
  .jkw-care-fieldset,
  .jkw-koi-group-row,
  .jkw-care-recommendation,
  .jkw-wishlist-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .luxury-choice {
    min-height: 20rem;
    padding: 1.5rem;
  }
  .service-band > .button {
    grid-column: 1;
  }
  .art-story-media {
    min-height: 18rem;
  }
  .food-home-products {
    gap: .75rem;
  }
  .jkw-newsletter-signup,
  .jkw-newsletter-signup__form,
  .koi-account-bid-card {
    grid-template-columns: minmax(0, 1fr);
  }
  .food-mini-card {
    padding: 1rem;
  }
  .food-mini-card img {
    height: 9rem;
  }
  .food-mini-card > span {
    font-size: .85rem;
  }
  .japan-selection-story {
    margin-block: 3rem;
  }
  .japan-selection-story__grid {
    gap: 2rem;
  }
  .japan-selection-card figcaption strong {
    font-size: 1.2rem;
  }
  .japan-selection-card figcaption em {
    font-size: .95rem;
  }
  .content-article-koi-auswahl .koi-shop-entry__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.5rem 1rem;
  }
  .content-article-koi-auswahl .koi-shop-entry-card--all {
    grid-column: 1 / -1;
  }
  .content-article-koi-auswahl .koi-shop-entry-card--all img {
    aspect-ratio: 16 / 9;
  }
  .koi-faq-paths {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
  }
  .koi-faq-paths a {
    padding-block: 1rem;
  }
  .koi-faq-paths span {
    font-size: .85rem;
  }
  .koi-faq-group {
    padding-top: 1.5rem;
  }
  .koi-faq-hero,
  .luxury-contact-intro {
    min-height: 18rem;
    padding: 1.5rem;
  }
  .koi-faq-hero h2,
  .luxury-contact-intro h2 {
    font-size: 1.9rem;
  }
  .koi-contact-form-panel {
    padding-top: 2rem;
  }
  .shipping-carrier-strip {
    padding: 1.25rem;
  }
  .shipping-carrier-strip__logos {
    gap: 1rem;
  }
  .shipping-carrier-logo__mark {
    width: 5.5rem;
  }
  .pond-supply-hero__visual {
    min-height: 20rem;
    padding: 1.5rem;
  }
  .pond-supply-trust {
    justify-content: flex-start;
    gap: .75rem 1.5rem;
    margin-block: 2rem 3rem;
    font-size: .8rem;
  }
  .pond-supply-category {
    min-height: 0;
  }
  .pond-supply-category > span {
    margin-bottom: .75rem;
  }
  .food-sticky-order__packs {
    width: 100%;
  }
  .food-sticky-order__buy {
    flex: 1 1 0;
  }
  .food-landing__copy h2 {
    font-size: 2.2rem;
  }
  .food-landing__media {
    min-height: 19rem;
  }
  .food-landing__media img {
    max-height: 21rem;
  }
  .food-landing__pack-option {
    padding: 1rem;
  }
  .food-landing__pack-option > b {
    font-size: 1.1rem;
  }
  .food-landing__cart-notice a {
    display: inline-block;
    margin: .75rem .75rem 0 0;
  }
  .food-product-card {
    gap: 1rem;
    padding: 1rem;
  }
  .food-product-card__media img {
    height: 17rem;
  }
  .food-calculator__mode {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    gap: .25rem;
  }
  .food-calculator__mode button {
    min-width: 0;
    padding: .75rem .65rem;
    font-size: .9rem;
  }
  .food-calculator__mode button small {
    font-size: .65rem;
    line-height: 1.4;
  }
  .food-calculator__grid {
    gap: 1.5rem;
  }
  .food-calculator__result {
    padding: 1.25rem;
  }
  .food-calculator__metrics {
    gap: .5rem;
  }
  .food-calculator__metrics > span {
    font-size: .7rem;
  }
  .food-calculator__metrics em {
    font-size: 1rem;
  }
  .food-calculator__result .button {
    display: flex;
    width: 100%;
  }
  body.woocommerce-account #customer_login > :is(.u-column1, .u-column2) {
    padding: 1.5rem;
  }
  .woocommerce-MyAccount-navigation li > a,
  .jkw-account-nav-more__button {
    flex-direction: column;
    gap: .35rem;
    padding: .65rem .4rem;
    font-size: .7rem;
  }
  .jkw-account-nav-more__panel li > a {
    flex-direction: row;
    gap: .75rem;
    font-size: .9rem;
  }
  .jkw-care-koi-facts {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 7rem), 1fr));
  }
  .jkw-account-quick__item {
    padding: 1rem;
  }
  .jkw-care-recommendation__actions {
    grid-column: 1;
    align-items: stretch;
    flex-direction: column;
  }
  .jkw-care-quick-actions__grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .jkw-onboarding-steps {
    gap: .5rem;
  }
  .jkw-onboarding-steps a,
  .jkw-onboarding-step__body {
    flex-direction: column;
    align-items: flex-start;
    gap: .5rem;
  }
  .jkw-onboarding-steps strong {
    font-size: .75rem;
  }
  .jkw-care-step-nav button {
    gap: .4rem;
    font-size: .8rem;
  }
  .jkw-care-step-nav button > span {
    width: 1.4rem;
    height: 1.4rem;
    flex-basis: 1.4rem;
  }
  body.woocommerce-account .woocommerce-MyAccount-content table.shop_table_responsive thead {
    display: none;
  }
  body.woocommerce-account .woocommerce-MyAccount-content table.shop_table_responsive tr {
    display: grid;
    border-bottom: 1px solid #17251c33;
    padding-block: .75rem;
  }
  body.woocommerce-account .woocommerce-MyAccount-content table.shop_table_responsive td {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: .5rem;
    border: 0;
    padding: .65rem 0;
  }
  body.woocommerce-account .woocommerce-MyAccount-content table.shop_table_responsive td::before {
    content: attr(data-title);
    color: var(--koi-muted);
    font-weight: 500;
  }
  body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-actions {
    justify-content: flex-start;
  }
}
@media (prefers-reduced-motion: reduce) {
  .hero-carousel__viewport,
  .hero-carousel__track,
  .hero-slide {
    transition: none;
  }
}
@media print {
  .hero-carousel__controls,
  .food-sticky-order,
  .woocommerce-MyAccount-navigation {
    display: none;
  }
  .koi-faq-group,
  .legal-card,
  .jkw-care-koi-card {
    break-inside: avoid;
  }
}
