.ff82-merged-anchor{display:block;height:0;scroll-margin-top:90px}
.ff82-single-reflection{border-left:5px solid #8bc99e;background:#fbfdfb;padding:16px 17px;margin:17px 0 22px;overflow-wrap:anywhere}
.ff82-single-reflection>h3{margin-top:0}
.ff82-footer-links{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;margin:10px 12px;font-size:.9em;line-height:1.8}
.ff82-footer-links a{text-decoration:underline;text-underline-offset:3px;color:inherit}
.ff82-privacy-near-form,.ff82-contact-privacy{font-size:.88em;line-height:1.85;margin:10px 0 14px}
.ff-privacy-policy h2{color:#315d42}
.entry-content .ff82-after-reading{margin:26px 0;clear:both}
.entry-content .ff82-after-reading>h2{font-size:1.15em;line-height:1.6;margin:0 0 14px;color:#315d42}
.entry-content .ff82-offer-fold{border:1px solid #d5e4d9;border-radius:8px;background:#fbfdfb;margin:12px 0;overflow-wrap:anywhere}
.entry-content .ff82-offer-fold>summary{cursor:pointer;padding:14px 16px;font-weight:700;color:#315d42;line-height:1.7}
.entry-content .ff82-offer-body{padding:0 16px 16px}
.entry-content .ff82-offer-body>:first-child{margin-top:4px!important}
.entry-content .ff82-offer-body .ff-author-return,.entry-content .ff82-offer-body .flower-print-affiliate,.entry-content .ff82-offer-body #ff-high-resolution-guide{margin:12px 0!important}
.entry-content .ff82-catalog-link{font-size:.92em;margin:16px 0;line-height:1.8}
.entry-content .ff82-offer-body .ff-author-return__lead{font-size:.94em}
.entry-content .ff82-after-reading :where(a,summary){scroll-margin-top:90px}
@media(max-width:600px){.entry-content .ff82-offer-body{padding:0 12px 12px}.entry-content .ff82-offer-fold>summary{padding:13px 12px}}

/* The generated theme CSS loads later and otherwise keeps Japanese titles on one line. */
@media (max-width: 600px) {
  body .entry-title,
  body .entry-content :is(h1, h2, h3) {
    word-break: normal;
    overflow-wrap: anywhere;
  }
}

/* Keep the full name and description inside each narrow related card. */
@media (max-width: 600px) {
  .flower-related-links .flower-related-card :is(strong, span) {
    word-break: normal;
    overflow-wrap: anywhere;
  }

  /* The theme also applies the wrapper's side padding to this label. */
  body .flower-related-links a.flower-related-card > span > span {
    padding-inline: 0 !important;
  }
}

/* The four-column menu starts at 360px and needs room for six full-width characters. */
@media (min-width: 360px) and (max-width: 375px) {
  body #navi .menu-mobile > li > a {
    padding-inline: 1px !important;
  }
}

.ff-search-comparison { margin: 1.25rem 0; }
.ff-search-comparison table { width: 100%; table-layout: fixed; border-collapse: collapse; }
.ff-search-comparison th, .ff-search-comparison td { padding: .5em; white-space: normal; overflow-wrap: anywhere; word-break: normal; }

.ff119-gallery-filter { margin: 1rem 0; }
.ff119-filter-buttons, .ff119-catalog-links { display: flex; flex-wrap: wrap; gap: .5rem; }
.ff119-filter-buttons button, .ff119-catalog-controls button, .ff119-catalog-controls select {
  min-height: 44px; max-width: 100%; border: 1px solid #94ad9a; border-radius: .4rem;
  padding: .45rem .7rem; background: #fff; color: #244832; font: inherit; line-height: 1.4;
}
.ff119-filter-buttons button[aria-pressed="true"] { background: #2d6245; color: #fff; }
.ff119-filter-buttons button:disabled { opacity: .6; }
.ff119-filter-buttons button:focus-visible, .ff119-catalog-controls button:focus-visible,
.ff119-catalog-controls select:focus-visible { outline: 2px solid #2d6245; outline-offset: 2px; }
.ff119-filter-status, .ff119-catalog-status { margin: .4rem 0 0; font-size: .92em; }
#flower-photo-gallery .ff-sitewide-photo-card[hidden], .ff119-postcard-catalog [hidden] { display: none !important; }
.ff119-article-links { display: flex; flex-wrap: wrap; gap: .3rem 1.1rem; margin: 1rem 0; }
.ff119-article-links p { margin: 0; }
.ff119-lifecycle .ff-lifecycle__track { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr)); }
.ff119-lifecycle .ff-lifecycle__card { min-width: 0; margin: 0; }
.ff119-lifecycle .ff-lifecycle__image { width: 100%; aspect-ratio: 1; object-fit: contain; background: #f3f6f2; }
.ff119-catalog-controls { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 120px), 1fr)); gap: .6rem; align-items: end; }
.ff119-catalog-controls label { display: grid; gap: .25rem; min-width: 0; }
.ff119-catalog-controls select { width: 100%; }
.ff119-catalog-status { grid-column: 1 / -1; }
.ff119-catalog-terms, .ff119-catalog-group { margin: 1rem 0; border: 1px solid #ccdacf; border-radius: .5rem; }
.ff119-catalog-terms > summary, .ff119-catalog-group > summary { padding: .7rem .85rem; min-height: 44px; cursor: pointer; background: #f0f5ef; font-weight: 700; }
.ff119-catalog-terms > p { padding: 0 .85rem; }
.ff119-postcard-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 215px), 1fr)); gap: .8rem; padding: .8rem !important; list-style: none; }
.ff119-postcard { min-width: 0; padding: .75rem; border: 1px solid #d5e0d5; border-radius: .4rem; overflow-wrap: anywhere; }
.ff119-postcard img { display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: contain; background: #f7f8f6; }
.ff119-postcard h3, .ff119-postcard p { margin: .55rem 0; }
.ff119-postcard-price { font-weight: 700; }
.ff119-catalog-links a { min-height: 44px; display: inline-flex; align-items: center; }

.ff120-filter-note { margin: 0 0 .65rem; line-height: 1.7; overflow-wrap: anywhere; }

/* Complete the outlines of the shared inset headings. */
.entry-content .ff-detail-atlas > h2,
.entry-content .ff-lifecycle > h2 {
  border-inline-end: 1px solid #89c997 !important;
  box-sizing: border-box;
  max-inline-size: 100%;
}
.entry-content .ff-sitewide-observation__title,
.entry-content .ff-observation-records > h2 {
  border-inline-end: 1px solid #acd1b6 !important;
  box-sizing: border-box;
  max-inline-size: 100%;
}
.entry-content .ff121-moved-points {
  margin: 1rem 0;
  border: 1px solid #d4e2d7;
  border-radius: 8px;
  background: #fbfdfb;
}
.entry-content .ff121-moved-points > summary {
  min-height: 44px;
  padding: 10px 14px;
  cursor: pointer;
  color: #315d42;
  font-weight: 700;
}
.entry-content .ff121-moved-points > h3 { margin: 8px 14px 12px; }
.entry-content .ff121-moved-points .ff-photo-points { display: grid; gap: 12px; padding: 0 14px 14px; }
.entry-content .ff121-moved-points .ff-photo-point { border-inline-start: 2px solid #cfe5d5; padding-inline-start: 10px; }
.entry-content .ff121-moved-points .ff-photo-point > b { display: block; margin-bottom: 4px; }
@media (max-width: 640px) {
  .entry-content .ff-photo-use-and-sales-note { padding: 12px 14px !important; }
  .entry-content .ff-photo-use-and-sales-note > p { margin: 0 !important; }
  .entry-content .ff-photo-use-and-sales-note > p + p {
    border-top: 1px solid #dfe9df;
    margin-top: 10px !important;
    padding-top: 10px;
  }
  .entry-content .ff-observation-records > h2:first-child { margin-block-start: 0 !important; }
  .ff-photo-lightbox .ff-photo-lightbox__caption,
  .ff-photo-lightbox .ff-photo-lightbox__mood-line {
    text-wrap: balance;
    line-break: strict;
    word-break: normal;
    overflow-wrap: anywhere;
  }
}
