/* Received Canva product detail snapshot, 2026-10-14.
 * Every content selector is scoped to the product component.
 * Section widths, responsive flex bases and typography follow the source DOM. */
.paisible-product-detail {
  --ppd-olive: #4e5738;
  --ppd-olive-hover: #3b4229;
  --ppd-heading: #2e2b25;
  --ppd-text: #33302a;
  --ppd-muted: #615c51;
  --ppd-caption: #a29b87;
  --ppd-line: #edeae1;
  --ppd-section-line: #f1eee6;
  --ppd-soft: #fbfaf7;
  --ppd-image-bg: #f4f1ea;
  --ppd-gutter: clamp(18px, 3vw, 40px);
  --ppd-font-base: clamp(12px, calc(10.2241px + .4228vw), 16px);
  margin: 0;
  padding: 0;
  max-width: none;
  background: #fff;
  color: var(--ppd-text);
  font-family: "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-size: var(--ppd-font-base);
  font-weight: 400;
  line-height: normal;
  letter-spacing: normal;
  -webkit-font-smoothing: antialiased;
}
.paisible-product-detail *,
.paisible-product-detail *::before,
.paisible-product-detail *::after { box-sizing: border-box; }
.paisible-product-detail * { overflow-wrap: normal; }
.post_content .paisible-product-detail :is(h1,h2,h3,p,dt,dd,span,li) { overflow-wrap: normal; }
.paisible-product-detail :where(h1,h2,h3,p,ul,ol,li,dl,dt,dd,figure,figcaption,button,summary) {
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  box-shadow: none;
  color: inherit;
  font-family: inherit;
  font-weight: inherit;
  line-height: normal;
  letter-spacing: inherit;
}
.post_content .paisible-product-detail :where(h1,h2,h3,p,ul,ol,li,dl,dt,dd,figure,figcaption) {
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  box-shadow: none;
  font-family: inherit;
  font-weight: inherit;
  line-height: normal;
}
.post_content .paisible-product-detail :is(h1,h2,h3):first-child { margin: 0 !important; padding: 0 !important; border: 0 !important; }
.paisible-product-detail :where(h1,h2,h3)::before,
.paisible-product-detail :where(h1,h2,h3)::after,
.paisible-product-detail :where(ul,ol)>li::before {
  content: none !important;
  display: none !important;
}
.paisible-product-detail :where(ul,ol) { list-style: none; }
.paisible-product-detail :where(h1,h2,h3,p,dt,dd,span) { white-space: pre-wrap; }
.paisible-product-detail a { color: var(--ppd-olive); text-decoration: none; }
.paisible-product-detail a:hover { color: var(--ppd-olive-hover); }
.paisible-product-detail :focus-visible { outline: 2px solid var(--ppd-olive); outline-offset: 4px; }
.paisible-product-detail button { appearance: none; cursor: pointer; border-radius: 0; }
.paisible-product-detail img { vertical-align: middle; }
.paisible-product-detail .paisible-product-detail__image { display: block; width: 100%; max-width: 100%; height: auto; }
.paisible-product-detail .paisible-product-detail__inner { width: 100%; max-width: 1280px; margin: 0 auto; padding: 0 var(--ppd-gutter); }
.paisible-product-detail .paisible-product-detail__section { border-top: 1px solid var(--ppd-section-line); background: #fff; }
.paisible-product-detail :where([id]) { scroll-margin-top: calc(var(--paisible-sticky-top, clamp(64px, 5vw, 78px)) + 80px); }

/* Main gallery and product information. */
.paisible-product-detail .paisible-product-detail__hero > .paisible-product-detail__inner { padding-top: clamp(24px, 3vw, 42px); padding-bottom: clamp(24px, 3vw, 42px); }
.paisible-product-detail .paisible-product-detail__hero-layout { display: flex; flex-wrap: wrap; gap: clamp(26px, 3.4vw, 56px); align-items: flex-start; }
.paisible-product-detail .paisible-product-detail__gallery { flex: 1 1 420px; min-width: min(100%, 300px); display: flex; flex-direction: column; gap: clamp(12px, 1.2vw, 16px); }
.paisible-product-detail .paisible-product-detail__hero-photo { position: relative; width: 100%; aspect-ratio: 1 / 1; background: var(--ppd-image-bg); }
.paisible-product-detail .paisible-product-detail__hero-photo .paisible-product-detail__image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.paisible-product-detail .paisible-product-detail__image-placeholder { position: absolute; inset: 0; display: grid; place-items: center; padding: 16px; color: var(--ppd-caption); font-size: calc(var(--ppd-font-base) * 0.8125); line-height: 1.6; letter-spacing: .08em; text-align: center; }
.paisible-product-detail .paisible-product-detail__thumbnails { display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(8px, 1vw, 13px); }
.paisible-product-detail .paisible-product-detail__thumbnail { display: block; width: 100%; min-width: 0; padding: 0; border: 1px solid var(--ppd-line); background: var(--ppd-image-bg); }
.paisible-product-detail .paisible-product-detail__thumbnail .paisible-product-detail__image { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; }
.paisible-product-detail .paisible-product-detail__hero-copy { flex: 1 1 400px; min-width: min(100%, 290px); display: flex; flex-direction: column; gap: clamp(14px, 1.5vw, 20px); }
.paisible-product-detail .paisible-product-detail__badges { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; }
.paisible-product-detail .paisible-product-detail__badges > :is(li,span) { border: 1px solid #ddd8c9; padding: 7px 14px; font-size: calc(var(--ppd-font-base) * 0.6875); font-weight: 400; line-height: normal; color: #4a463d; background: var(--ppd-soft); white-space: pre-wrap; }
.paisible-product-detail .paisible-product-detail__title-group { display: flex; flex-direction: column; gap: 9px; }
.paisible-product-detail .paisible-product-detail__title { font-size: calc(var(--ppd-font-base) * 2.1875); font-weight: 400; line-height: normal; letter-spacing: .05em; color: var(--ppd-heading); }
.paisible-product-detail .paisible-product-detail__english { display: flex; align-items: center; gap: 12px; font-family: Jost, sans-serif; font-size: calc(var(--ppd-font-base) * 0.875); font-weight: 400; line-height: normal; letter-spacing: .16em; color: var(--ppd-caption); }
.paisible-product-detail .paisible-product-detail__catchcopy { font-size: calc(var(--ppd-font-base) * 0.875); font-weight: 300; line-height: normal; color: var(--ppd-muted); word-break: keep-all; }
.paisible-product-detail .paisible-product-detail__mini-specs { display: grid; grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); border: 1px solid var(--ppd-line); background: var(--ppd-soft); }
.paisible-product-detail .paisible-product-detail__mini-specs > div { padding: 16px 20px; display: flex; flex-direction: column; gap: 9px; border-right: 1px solid var(--ppd-line); min-width: 0; }
.paisible-product-detail .paisible-product-detail__mini-specs > div:last-child { border-right: 0; }
.paisible-product-detail .paisible-product-detail__mini-specs dt { font-size: calc(var(--ppd-font-base) * 0.6875); line-height: normal; color: var(--ppd-caption); }
.paisible-product-detail .paisible-product-detail__mini-specs dd { font-size: calc(var(--ppd-font-base) * 1.0625); line-height: normal; color: var(--ppd-heading); }
.paisible-product-detail .paisible-product-detail__points { display: flex; flex-direction: column; gap: 14px; margin-top: 2px; }
.paisible-product-detail .paisible-product-detail__points li { display: flex; align-items: flex-start; gap: 12px; font-size: calc(var(--ppd-font-base) * 0.8125); line-height: normal; color: #4a463d; font-weight: 300; }
.paisible-product-detail .paisible-product-detail__points li > span:first-child { color: var(--ppd-olive); margin-top: 2px; flex: 0 0 auto; font-weight: 400; }
.paisible-product-detail .paisible-product-detail__points li > span:last-child { white-space: pre-wrap; }
.paisible-product-detail .paisible-product-detail__buttons { display: flex; flex-direction: column; gap: 11px; margin-top: 6px; }
.paisible-product-detail .paisible-product-detail__button { display: flex; align-items: center; justify-content: space-between; gap: 16px; background: var(--ppd-olive); color: #fff; padding: 18px 24px; font-size: calc(var(--ppd-font-base) * 0.875); font-weight: 400; line-height: normal; letter-spacing: .05em; border: 0; }
.paisible-product-detail .paisible-product-detail__arrow { font-family: Jost, sans-serif; font-weight: 400; line-height: normal; white-space: pre-wrap; }
.paisible-product-detail .paisible-product-detail__button:hover { background: var(--ppd-olive-hover); color: #fff; }
.paisible-product-detail .paisible-product-detail__button--line { border: 1px solid #c9c2ac; background: transparent; color: var(--ppd-text); }
.paisible-product-detail .paisible-product-detail__button--line:hover { background: var(--ppd-soft); color: var(--ppd-text); }

/* 見本の色・余白を保った商品情報タブ。 */
.paisible-product-detail .paisible-product-detail__anchors { border-top: 1px solid var(--ppd-line); border-bottom: 1px solid var(--ppd-line); background: var(--ppd-soft); position: relative; top: auto; z-index: 1; }
.paisible-product-detail .paisible-product-detail__anchors > .paisible-product-detail__inner { display: grid; grid-template-columns: repeat(var(--paisible-anchor-count, 5), 1fr); }
.paisible-product-detail .paisible-product-detail__anchors :is(a,button) { padding: clamp(15px, 1.6vw, 21px) 6px; text-align: center; font-size: calc(var(--ppd-font-base) * 0.8125); line-height: normal; color: #7a7466; border-bottom: 2px solid transparent; white-space: pre-wrap; }
.paisible-product-detail .paisible-product-detail__anchors > .paisible-product-detail__inner:not([role="tablist"]) > :is(a,button):first-child,
.paisible-product-detail .paisible-product-detail__anchors :is(a,button)[aria-selected="true"] { color: var(--ppd-text); border-bottom-color: var(--ppd-olive); }

/* Concept copy, three icon cards and one large photograph. */
.paisible-product-detail .paisible-product-detail__concept-layout { padding-top: clamp(34px, 3.8vw, 58px); padding-bottom: clamp(34px, 3.8vw, 58px); display: flex; flex-wrap: wrap; gap: clamp(26px, 3.2vw, 52px); align-items: flex-start; }
.paisible-product-detail .paisible-product-detail__concept-copy { flex: 1 1 400px; min-width: min(100%, 290px); display: flex; flex-direction: column; gap: clamp(16px, 1.8vw, 24px); }
.paisible-product-detail .paisible-product-detail__label { font-family: Jost, sans-serif; font-size: calc(var(--ppd-font-base) * 0.8125); font-weight: 400; line-height: normal; letter-spacing: .24em; color: #8a8472; white-space: pre-wrap; }
.paisible-product-detail .paisible-product-detail__concept-copy > .paisible-product-detail__label { letter-spacing: .26em; }
.paisible-product-detail .paisible-product-detail__concept-heading { font-size: calc(var(--ppd-font-base) * 2.25); font-weight: 400; line-height: normal; letter-spacing: .05em; color: var(--ppd-heading); word-break: keep-all; }
.paisible-product-detail .paisible-product-detail__concept { font-size: calc(var(--ppd-font-base) * 0.875); font-weight: 300; line-height: normal; color: var(--ppd-muted); word-break: keep-all; }
.paisible-product-detail .paisible-product-detail__features { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 170px), 1fr)); gap: clamp(12px, 1.4vw, 18px); margin-top: 6px; }
.paisible-product-detail .paisible-product-detail__feature { border: 1px solid var(--ppd-line); padding: clamp(20px, 2.2vw, 28px) clamp(14px, 1.4vw, 18px); display: flex; flex-direction: column; align-items: center; gap: 14px; text-align: center; background: #fff; }
.paisible-product-detail .paisible-product-detail__feature-icon { width: clamp(48px, 4.6vw, 58px); height: clamp(48px, 4.6vw, 58px); border: 1px solid #e4dfd2; border-radius: 50%; display: flex; align-items: center; justify-content: center; flex: 0 0 auto; }
.paisible-product-detail .paisible-product-detail__feature-icon :is(img,svg) { display: block; width: 26px; height: 26px; object-fit: contain; }
.paisible-product-detail .paisible-product-detail__feature h3 { font-size: calc(var(--ppd-font-base) * 0.875); font-weight: 400; line-height: normal; color: var(--ppd-heading); }
.paisible-product-detail .paisible-product-detail__feature p { font-size: calc(var(--ppd-font-base) * 0.6875); font-weight: 300; line-height: normal; color: #7a7466; word-break: keep-all; }
.paisible-product-detail .paisible-product-detail__concept-photo { position: relative; flex: 1 1 380px; min-width: min(100%, 280px); aspect-ratio: 4 / 3; background: var(--ppd-image-bg); }
.paisible-product-detail .paisible-product-detail__concept-photo .paisible-product-detail__image { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; background: var(--ppd-image-bg); }

/* Usage and ingredients share a single section; each has its own anchor. */
.paisible-product-detail .paisible-product-detail__split { padding-top: clamp(34px, 3.8vw, 58px); padding-bottom: clamp(34px, 3.8vw, 58px); display: flex; flex-wrap: wrap; gap: clamp(26px, 3.2vw, 52px); align-items: flex-start; }
.paisible-product-detail .paisible-product-detail__usage { flex: 1 1 380px; min-width: min(100%, 290px); display: flex; flex-direction: column; gap: clamp(18px, 2vw, 28px); }
.paisible-product-detail .paisible-product-detail__ingredients { flex: 1 1 420px; min-width: min(100%, 290px); display: flex; flex-direction: column; gap: clamp(18px, 2vw, 28px); }
.paisible-product-detail .paisible-product-detail__label-heading { display: flex; align-items: baseline; gap: 14px; flex-wrap: wrap; }
.paisible-product-detail .paisible-product-detail__label-heading > span:first-child { font-family: Jost, sans-serif; font-size: calc(var(--ppd-font-base) * 0.8125); line-height: normal; letter-spacing: .24em; color: var(--ppd-text); }
.paisible-product-detail .paisible-product-detail__label-heading > span:nth-child(2) { font-size: calc(var(--ppd-font-base) * 1); line-height: normal; color: #c9c2ac; }
.paisible-product-detail .paisible-product-detail__label-heading h2 { font-size: calc(var(--ppd-font-base) * 0.875); font-weight: 400; line-height: normal; letter-spacing: normal; color: #6b6659; }
.paisible-product-detail .paisible-product-detail__steps { display: flex; flex-direction: column; gap: clamp(14px, 1.6vw, 22px); }
.paisible-product-detail .paisible-product-detail__step { display: flex; align-items: center; gap: clamp(16px, 1.8vw, 26px); }
.paisible-product-detail .paisible-product-detail__step-photo { flex: 0 0 auto; width: clamp(120px, 13vw, 178px); aspect-ratio: 4 / 3; background: var(--ppd-image-bg); }
.paisible-product-detail .paisible-product-detail__step-photo .paisible-product-detail__image { width: 100%; height: 100%; object-fit: cover; }
.paisible-product-detail img.paisible-product-detail__step-photo { display: block; height: auto; object-fit: cover; }
.paisible-product-detail .paisible-product-detail__step-copy { display: flex; align-items: baseline; gap: clamp(12px, 1.4vw, 20px); min-width: 0; }
.paisible-product-detail .paisible-product-detail__step-number { font-family: "Cormorant Garamond", serif; font-size: calc(var(--ppd-font-base) * 2); font-style: italic; font-weight: 400; line-height: normal; color: var(--ppd-caption); white-space: pre-wrap; }
.paisible-product-detail .paisible-product-detail__step-copy p { font-size: calc(var(--ppd-font-base) * 0.875); font-weight: 300; line-height: normal; color: #4a463d; word-break: keep-all; }
.paisible-product-detail .paisible-product-detail__ingredient-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr)); gap: clamp(12px, 1.4vw, 18px); }
.paisible-product-detail .paisible-product-detail__ingredient { border: 1px solid var(--ppd-line); display: flex; flex-direction: column; background: #fff; min-width: 0; }
.paisible-product-detail .paisible-product-detail__ingredient-photo { width: 100%; aspect-ratio: 16 / 11; background: var(--ppd-image-bg); }
.paisible-product-detail .paisible-product-detail__ingredient-photo .paisible-product-detail__image { width: 100%; height: 100%; object-fit: cover; }
.paisible-product-detail img.paisible-product-detail__ingredient-photo { display: block; height: auto; object-fit: cover; }
.paisible-product-detail .paisible-product-detail__ingredient figcaption { padding: clamp(13px, 1.3vw, 17px); display: flex; flex-direction: column; gap: 7px; }
.paisible-product-detail .paisible-product-detail__ingredient h3 { font-size: calc(var(--ppd-font-base) * 0.8125); font-weight: 400; line-height: normal; color: var(--ppd-heading); }
.paisible-product-detail .paisible-product-detail__ingredient p { font-size: calc(var(--ppd-font-base) * 0.6875); font-weight: 300; line-height: normal; color: var(--ppd-muted); }
.paisible-product-detail .paisible-product-detail__ingredient .paisible-product-detail__role { font-size: calc(var(--ppd-font-base) * 0.6875); font-weight: 400; line-height: normal; color: var(--ppd-caption); }

/* Specification table and precautions panel. */
.paisible-product-detail .paisible-product-detail__specs-layout { padding-top: clamp(28px, 3.2vw, 48px); padding-bottom: clamp(28px, 3.2vw, 48px); display: flex; flex-wrap: wrap; gap: clamp(18px, 2vw, 28px); align-items: stretch; }
.paisible-product-detail .paisible-product-detail__spec-table { flex: 1 1 420px; min-width: min(100%, 290px); border: 1px solid var(--ppd-line); }
.paisible-product-detail .paisible-product-detail__spec-table > .paisible-product-detail__label-heading { padding: clamp(16px, 1.7vw, 22px) clamp(18px, 1.9vw, 26px); border-bottom: 1px solid var(--ppd-line); background: var(--ppd-soft); }
.paisible-product-detail .paisible-product-detail__specs { display: flex; flex-direction: column; padding: 0 clamp(18px, 1.9vw, 26px); }
.paisible-product-detail .paisible-product-detail__specs > div { display: flex; flex-wrap: wrap; gap: 4px 20px; padding: 15px 2px; border-bottom: 1px solid var(--ppd-section-line); }
.paisible-product-detail .paisible-product-detail__specs dt { flex: 0 0 clamp(88px, 10vw, 130px); font-size: calc(var(--ppd-font-base) * 0.75); line-height: normal; color: var(--ppd-heading); }
.paisible-product-detail .paisible-product-detail__specs dd { flex: 1 1 180px; min-width: 0; font-size: calc(var(--ppd-font-base) * 0.75); font-weight: 300; line-height: 1.9; color: #6b6659; white-space: normal; }
.paisible-product-detail .paisible-product-detail__specs dd > span { line-height: normal; white-space: pre-wrap; }
.paisible-product-detail .paisible-product-detail__precautions { flex: 1 1 380px; min-width: min(100%, 290px); background: #f7f5f0; padding: clamp(22px, 2.4vw, 34px); display: flex; flex-direction: column; gap: clamp(14px, 1.5vw, 20px); }
.paisible-product-detail .paisible-product-detail__precautions h3 { font-size: calc(var(--ppd-font-base) * 1.125); font-weight: 400; line-height: normal; letter-spacing: .05em; color: var(--ppd-heading); }
.paisible-product-detail .paisible-product-detail__precautions p { font-size: calc(var(--ppd-font-base) * 0.75); font-weight: 300; line-height: normal; color: #6b6659; word-break: keep-all; }
.paisible-product-detail .paisible-product-detail__pdf { display: flex; align-items: center; gap: 12px; align-self: flex-start; margin-top: auto; padding-bottom: 5px; border-bottom: 1px dashed #c2a48c; font-size: calc(var(--ppd-font-base) * 0.75); line-height: normal; color: #a5714e; }
.paisible-product-detail .paisible-product-detail__pdf:hover { color: #835634; }
.paisible-product-detail .paisible-product-detail__pdf :is(svg,img) { flex: 0 0 auto; width: 18px; height: 18px; }
.paisible-product-detail .paisible-product-detail__external-link { max-width: 100%; }
.paisible-product-detail .paisible-product-detail__external-link > span:first-child { min-width: 0; overflow-wrap: anywhere; }
.paisible-product-detail .paisible-product-detail__pdf + .paisible-product-detail__external-link { margin-top: 0; }

/* FAQ source grid changes column count from available space. */
.paisible-product-detail .paisible-product-detail__faq-section > .paisible-product-detail__inner { padding-top: clamp(30px, 3.4vw, 50px); padding-bottom: clamp(30px, 3.4vw, 50px); display: flex; flex-direction: column; gap: clamp(20px, 2.2vw, 30px); }
.paisible-product-detail .paisible-product-detail__section-heading { display: flex; align-items: baseline; gap: 16px; flex-wrap: wrap; }
.paisible-product-detail .paisible-product-detail__section-heading h2 { font-size: calc(var(--ppd-font-base) * 1.3125); font-weight: 400; line-height: normal; letter-spacing: .06em; color: var(--ppd-heading); }
.paisible-product-detail .paisible-product-detail__faq-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: clamp(12px, 1.3vw, 16px); align-items: start; }
.paisible-product-detail .paisible-product-detail__faq { border: 1px solid var(--ppd-line); background: var(--ppd-soft); }
.paisible-product-detail .paisible-product-detail__faq summary { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: clamp(15px, 1.6vw, 20px) clamp(16px, 1.7vw, 22px); cursor: pointer; list-style: none; text-align: left; font-family: "Noto Serif JP", serif; font-size: calc(var(--ppd-font-base) * 0.8125); font-weight: 400; line-height: normal; color: var(--ppd-text); }
.paisible-product-detail .paisible-product-detail__faq summary::-webkit-details-marker { display: none; }
.paisible-product-detail .paisible-product-detail__faq summary::marker { content: ""; }
.paisible-product-detail .paisible-product-detail__question { white-space: pre-wrap; }
.paisible-product-detail .paisible-product-detail__toggle { font-family: Jost, sans-serif; font-size: calc(var(--ppd-font-base) * 1); font-weight: 400; line-height: normal; color: var(--ppd-caption); flex: 0 0 auto; }
.paisible-product-detail .paisible-product-detail__answer { border-top: 1px solid var(--ppd-line); padding: 0 clamp(16px, 1.7vw, 22px) clamp(15px, 1.6vw, 20px); font-size: calc(var(--ppd-font-base) * 0.75); font-weight: 300; line-height: normal; color: #6b6659; }
.paisible-product-detail .paisible-product-detail__answer p { padding-top: 15px; font-size: calc(var(--ppd-font-base) * 0.75); font-weight: 300; line-height: normal; }
.paisible-product-detail .paisible-product-detail__faq-note { text-align: right; font-size: calc(var(--ppd-font-base) * 0.6875); font-weight: 400; line-height: normal; color: var(--ppd-caption); }

/* Related products. */
.paisible-product-detail .paisible-product-detail__related-section > .paisible-product-detail__inner { padding-top: clamp(30px, 3.4vw, 50px); padding-bottom: clamp(30px, 3.4vw, 50px); }
.paisible-product-detail .paisible-product-detail__related-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-bottom: clamp(18px, 2vw, 26px); }
.paisible-product-detail .paisible-product-detail__related-heading h2 { font-size: calc(var(--ppd-font-base) * 1.3125); font-weight: 400; line-height: normal; letter-spacing: .06em; color: var(--ppd-heading); }
.paisible-product-detail .paisible-product-detail__list-link { display: flex; align-items: center; gap: 10px; font-size: calc(var(--ppd-font-base) * 0.75); font-weight: 400; line-height: normal; color: var(--ppd-olive); }
.paisible-product-detail .paisible-product-detail__related-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: clamp(12px, 1.4vw, 18px); }
.paisible-product-detail .paisible-product-detail__related-card { display: flex; flex-direction: column; background: #fff; min-width: 0; }
.paisible-product-detail .paisible-product-detail__related-photo { position: relative; width: 100%; aspect-ratio: 1 / 1; background: var(--ppd-image-bg); }
.paisible-product-detail .paisible-product-detail__related-photo .paisible-product-detail__image { width: 100%; height: 100%; object-fit: cover; }
.paisible-product-detail img.paisible-product-detail__related-photo { display: block; height: auto; object-fit: cover; }
.paisible-product-detail .paisible-product-detail__related-copy { padding: clamp(13px, 1.3vw, 17px) 2px; display: flex; flex-direction: column; gap: 7px; }
.paisible-product-detail .paisible-product-detail__category { font-size: calc(var(--ppd-font-base) * 0.6875); font-weight: 400; line-height: normal; color: var(--ppd-caption); }
.paisible-product-detail .paisible-product-detail__related-copy h3 { font-family: Jost, sans-serif; font-size: calc(var(--ppd-font-base) * 0.8125); font-weight: 400; line-height: normal; letter-spacing: .1em; color: var(--ppd-heading); }

/* Full-width contact band, with separate telephone and form links. */
.paisible-product-detail .paisible-product-detail__contact { background: #edede3; }
.paisible-product-detail .paisible-product-detail__contact-layout { padding-top: clamp(30px, 3.4vw, 50px); padding-bottom: clamp(30px, 3.4vw, 50px); display: flex; flex-wrap: wrap; gap: clamp(20px, 2.4vw, 34px); align-items: center; justify-content: space-between; }
.paisible-product-detail .paisible-product-detail__contact-copy { flex: 1 1 320px; min-width: min(100%, 280px); display: flex; flex-direction: column; gap: 10px; }
.paisible-product-detail .paisible-product-detail__contact-copy > .paisible-product-detail__label { font-size: calc(var(--ppd-font-base) * 0.6875); letter-spacing: .24em; }
.paisible-product-detail .paisible-product-detail__contact-copy h2 { font-size: calc(var(--ppd-font-base) * 1.625); font-weight: 400; line-height: normal; letter-spacing: .05em; color: var(--ppd-heading); word-break: keep-all; }
.paisible-product-detail .paisible-product-detail__contact-copy p { font-size: calc(var(--ppd-font-base) * 0.8125); font-weight: 300; line-height: normal; color: #6b6659; }
.paisible-product-detail .paisible-product-detail__contact-actions { flex: 0 1 auto; display: flex; flex-wrap: wrap; gap: 12px; }
.paisible-product-detail .paisible-product-detail__phone { display: flex; align-items: center; justify-content: center; gap: 13px; background: #fff; border: 1px solid #c9c2ac; padding: 16px clamp(20px, 2.2vw, 30px); min-width: min(100%, 230px); color: var(--ppd-olive); }
.paisible-product-detail .paisible-product-detail__phone :is(svg,img) { width: 22px; height: 22px; flex: 0 0 auto; }
.paisible-product-detail .paisible-product-detail__phone > span { font-family: Jost, sans-serif; font-size: calc(var(--ppd-font-base) * 1.25); line-height: normal; letter-spacing: .04em; color: var(--ppd-heading); white-space: pre-wrap; }
.paisible-product-detail .paisible-product-detail__contact-actions > .paisible-product-detail__button { display: flex; align-items: center; justify-content: center; gap: 12px; padding: 16px clamp(20px, 2.2vw, 32px); min-width: min(100%, 270px); font-size: calc(var(--ppd-font-base) * 0.875); line-height: normal; letter-spacing: .06em; }
.paisible-product-detail .paisible-product-detail__contact-actions > .paisible-product-detail__button :is(svg,img) { width: 19px; height: 19px; flex: 0 0 auto; }

/* Preserve source text wrapping while allowing flex items to shrink. */
.paisible-product-detail .paisible-product-detail__english > span { min-width: 0; }
@media (prefers-reduced-motion: reduce) {
  .paisible-product-detail * { scroll-behavior: auto; }
}

/* 各項目はスクロール移動ではなく、選択した内容をその場で表示します。 */
.paisible-product-detail .paisible-product-detail__tab-panel[hidden]{display:none!important}
.paisible-product-detail .paisible-product-detail__anchors :is(a,button){min-width:0;transition:none;cursor:pointer}
.paisible-product-detail .paisible-product-detail__tab-panel{animation:none;transition:none}

.paisible-product-detail .paisible-product-detail__thumbnail[aria-pressed="true"]{border-color:var(--ppd-olive)}

/* JavaScriptが使えない場合は全情報を表示し、操作できないタブは隠します。 */
.paisible-product-detail .paisible-product-detail__tabbed:not([data-paisible-tabs-ready="true"]) .paisible-product-detail__anchors{display:none}

/* タブボタンのフォーカス時にも、セクション用の移動余白を適用しません。 */
.paisible-product-detail .paisible-product-detail__anchors [data-paisible-tab]{scroll-margin:0}

/* オリジナル商品詳細：長い原稿も枠内で折り返す */
:is(.post_content .paisible-product-detail, .paisible-product-detail)
  :is(h1, h2, h3, p, dt, dd, span, li, figcaption, a, button, summary) {
  word-break: auto-phrase;
  overflow-wrap: anywhere;
}

.paisible-product-detail :is(h1, h2, h3, p, dt, dd) {
  min-width: 0;
  max-width: 100%;
}

.paisible-product-detail .paisible-product-detail__concept-copy,
.paisible-product-detail .paisible-product-detail__concept-photo,
.paisible-product-detail .paisible-product-detail__feature {
  max-width: 100%;
}

.paisible-product-detail .paisible-product-detail__feature {
  min-width: 0;
}

.paisible-product-detail .paisible-product-detail__feature > :is(h3, p) {
  width: 100%;
}

.paisible-product-detail .paisible-product-detail__english {
  flex-wrap: wrap;
  max-width: 100%;
}

.paisible-product-detail .paisible-product-detail__points li > span:last-child,
.paisible-product-detail .paisible-product-detail__step-copy,
.paisible-product-detail .paisible-product-detail__step-copy p {
  flex: 1 1 0%;
  min-width: 0;
}

.paisible-product-detail .paisible-product-detail__step-number {
  flex: 0 0 auto;
}
