.cl-price-desk {
  --clpd-brand: #3a7a48; --clpd-brand-dark: #245b32; --clpd-ink: #1a1a1a;
  --clpd-text: #111827; --clpd-muted: #4b5563; --clpd-subtle: #f9fafb;
  --clpd-line: #e5e7eb; --clpd-soft: #f0f9f4; --clpd-white: #fff;
  --clpd-s1: 4px; --clpd-s2: 8px; --clpd-s3: 12px; --clpd-s4: 16px;
  --clpd-s6: 24px; --clpd-s8: 32px; --clpd-s12: 48px;
  color: var(--clpd-text); background: var(--clpd-white); font-size: 16px; line-height: 1.75;
  max-width: 100%; margin: 0 0 var(--clpd-s12); overflow-wrap: normal;
}
.cl-price-desk, .cl-price-desk * { box-sizing: border-box; }
.cl-price-desk :focus-visible { outline: 3px solid var(--clpd-brand); outline-offset: 3px; }
.cl-price-desk [hidden] { display: none !important; }
.cl-price-desk h2, .cl-price-desk h3, .cl-price-desk h4, .cl-price-desk p { margin: 0; }
.cl-price-desk h2, .cl-price-desk h3, .cl-price-desk h4 { color: var(--clpd-ink); line-height: 1.35; letter-spacing: -.01em; }
.cl-price-desk button, .cl-price-desk input { font: inherit; }
.cl-price-desk button { cursor: pointer; }
.clpd-intro { padding: var(--clpd-s8) 0; border-bottom: 1px solid var(--clpd-line); }
.cl-price-desk .clpd-kicker { margin-bottom: var(--clpd-s2); color: var(--clpd-brand-dark); font-size: 14px; font-weight: 700; letter-spacing: .06em; }
.cl-price-desk .clpd-intro h2 { margin-bottom: var(--clpd-s4); font-size: clamp(26px, 3vw, 36px); font-weight: 750; }
.clpd-intro > p:not(.clpd-kicker) { max-width: 800px; color: var(--clpd-muted); }
.clpd-snapshot { display: flex; flex-wrap: wrap; gap: var(--clpd-s2) var(--clpd-s6); align-items: center; margin-top: var(--clpd-s6); padding: var(--clpd-s3) 0; border-top: 1px solid var(--clpd-line); color: var(--clpd-muted); font-size: 14px; }
.clpd-snapshot strong { color: var(--clpd-text); }
.clpd-snapshot a { color: var(--clpd-brand-dark); text-underline-offset: 3px; }
.clpd-section { margin-top: var(--clpd-s12); scroll-margin-top: var(--clpd-s8); }
.cl-price-desk .clpd-section h3 { font-size: 24px; }
.cl-price-desk .clpd-description { margin: var(--clpd-s2) 0 var(--clpd-s4); color: var(--clpd-muted); font-size: 14px; }
.clpd-table-disclosure { margin-top: var(--clpd-s6); border-top: 2px solid var(--clpd-ink); }
.clpd-table-disclosure > summary { display: flex; align-items: center; min-height: 44px; padding: var(--clpd-s2) var(--clpd-s4); color: var(--clpd-brand-dark); font-size: 14px; font-weight: 700; cursor: pointer; }
.clpd-table-scroll { width: 100%; overflow-x: auto; }
.clpd-price-table, .clpd-history-table, .clpd-amount-table { width: 100%; border-collapse: collapse; }
.clpd-price-table thead th, .clpd-amount-table thead th { padding: var(--clpd-s3) var(--clpd-s4); border-bottom: 1px solid var(--clpd-line); color: var(--clpd-muted); font-size: 14px; text-align: left; }
.clpd-price-table tbody tr, .clpd-amount-table tbody tr { border-bottom: 1px solid var(--clpd-line); }
.clpd-price-table tbody tr.is-selected { background: var(--clpd-soft); }
.clpd-price-table tbody th { width: 33%; padding: 0; text-align: left; font-weight: 400; }
.clpd-price-table tbody td { padding: var(--clpd-s3) var(--clpd-s4); vertical-align: middle; }
.clpd-category-button { display: block; width: 100%; min-height: 60px; padding: var(--clpd-s3) var(--clpd-s4); border: 0; background: transparent; color: var(--clpd-text); text-align: left; }
.clpd-category-button:hover, .clpd-category-button[aria-pressed="true"] span { color: var(--clpd-brand-dark); }
.clpd-category-button span { display: block; font-size: 16px; font-weight: 700; line-height: 1.5; }
.clpd-category-button small { display: block; margin-top: 2px; color: var(--clpd-muted); font-size: 14px; }
.clpd-price-value { width: 28%; font-size: 24px; font-weight: 750; font-variant-numeric: tabular-nums; white-space: nowrap; }
.clpd-price-value small { display: block; color: var(--clpd-muted); font-size: 14px; font-weight: 500; }
.clpd-comparison { color: var(--clpd-text); font-size: 14px; font-variant-numeric: tabular-nums; }
.cl-price-desk .clpd-caveat { margin-top: var(--clpd-s4); color: var(--clpd-muted); font-size: 14px; line-height: 1.8; }
.clpd-history-grid { display: grid; grid-template-columns: minmax(0, 1.618fr) minmax(280px, 1fr); gap: var(--clpd-s8); margin-top: var(--clpd-s6); }
.clpd-chart-panel, .clpd-history-panel { min-width: 0; border-top: 2px solid var(--clpd-ink); }
.clpd-chart-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--clpd-s4); padding-top: var(--clpd-s6); }
.clpd-chart-head p, .clpd-chart-help { color: var(--clpd-muted); font-size: 14px; }
.clpd-ranges { display: flex; flex-wrap: wrap; gap: var(--clpd-s2); }
.clpd-ranges button { min-width: 58px; min-height: 44px; padding: 8px 12px; border: 1px solid var(--clpd-line); border-radius: 4px; background: var(--clpd-white); color: var(--clpd-muted); font-size: 14px; font-weight: 700; }
.clpd-ranges button[aria-pressed="true"] { border-color: var(--clpd-brand-dark); background: var(--clpd-soft); color: var(--clpd-brand-dark); }
.clpd-chart-readout { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--clpd-s2) var(--clpd-s6); min-height: 44px; margin: var(--clpd-s6) 0 var(--clpd-s3); color: var(--clpd-muted); font-size: 14px; }
.clpd-chart-readout strong { color: var(--clpd-ink); font-size: 20px; font-variant-numeric: tabular-nums; }
.clpd-chart-frame { position: relative; border-bottom: 1px solid var(--clpd-line); }
.clpd-chart { display: block; width: 100%; height: 332px; overflow: hidden; touch-action: pan-y; }
.clpd-chart .clpd-grid-line { stroke: var(--clpd-line); stroke-width: 1; }
.clpd-chart .clpd-axis-label { fill: var(--clpd-muted); font-size: 12px; font-family: inherit; }
.clpd-chart .clpd-data-line { fill: none; stroke: var(--clpd-brand-dark); stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.clpd-chart .clpd-observation-dot { fill: var(--clpd-brand-dark); }
.clpd-chart .clpd-focus-line { stroke: var(--clpd-brand-dark); stroke-width: 1; stroke-dasharray: 4 4; }
.clpd-chart .clpd-focus-dot { fill: var(--clpd-white); stroke: var(--clpd-brand-dark); stroke-width: 2.5; }
.clpd-chart .clpd-hit-area { fill: transparent; cursor: crosshair; }
.cl-price-desk .clpd-chart-help { margin-top: var(--clpd-s4); }
.cl-price-desk .clpd-history-panel h4 { padding: var(--clpd-s6) 0 var(--clpd-s4); font-size: 20px; }
.clpd-history-panel > p { margin-bottom: var(--clpd-s4) !important; color: var(--clpd-muted); font-size: 14px; }
.clpd-history-table { font-size: 14px; }
.clpd-history-table th { color: var(--clpd-muted); font-weight: 700; text-align: left; border-bottom: 1px solid var(--clpd-line); }
.clpd-history-table th:last-child, .clpd-history-table td:last-child { text-align: right; }
.clpd-history-table th, .clpd-history-table td { padding: 10px 4px; }
.clpd-history-table td { border-bottom: 1px solid var(--clpd-line); font-variant-numeric: tabular-nums; }
.clpd-history-table tr.is-current { background: var(--clpd-soft); }
.clpd-history-table .missing { color: var(--clpd-muted); }
.clpd-calculator { display: grid; grid-template-columns: minmax(260px, .85fr) minmax(0, 1.15fr); gap: var(--clpd-s8); margin-top: var(--clpd-s6); }
.clpd-calculator-form { min-width: 0; padding: var(--clpd-s6); border-top: 2px solid var(--clpd-ink); background: var(--clpd-subtle); }
.clpd-calculator-form label { display: block; margin-bottom: var(--clpd-s3); font-size: 16px; font-weight: 700; }
.clpd-quantity-controls { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--clpd-s2); }
.clpd-quantity-controls input { min-width: 0; min-height: 48px; padding: var(--clpd-s2) var(--clpd-s3); border: 1px solid var(--clpd-muted); border-radius: 4px; background: var(--clpd-white); color: var(--clpd-text); font-size: 20px; }
.clpd-quantity-controls input[aria-invalid="true"] { border-color: var(--clpd-ink); }
.clpd-quantity-controls button { min-height: 48px; padding: var(--clpd-s2) var(--clpd-s4); border: 1px solid var(--clpd-brand-dark); border-radius: 4px; background: var(--clpd-brand-dark); color: var(--clpd-white); font-size: 14px; font-weight: 700; }
.clpd-quantity-controls button:hover { background: var(--clpd-brand); }
.clpd-calculator-form p { margin-top: var(--clpd-s3) !important; color: var(--clpd-muted); font-size: 14px; line-height: 1.8; }
.clpd-calculator-form #clpd-quantity-error { color: var(--clpd-text); font-weight: 700; }
.clpd-calculator-form .clpd-calculator-note { margin-top: var(--clpd-s4) !important; padding-top: var(--clpd-s4); border-top: 1px solid var(--clpd-line); }
.clpd-calculator-results { min-width: 0; border-top: 2px solid var(--clpd-ink); }
.clpd-calculator-results .clpd-amount-summary { padding: var(--clpd-s6) var(--clpd-s4) var(--clpd-s3); font-size: 16px; font-weight: 700; }
.clpd-amount-table th, .clpd-amount-table td { padding: var(--clpd-s3) var(--clpd-s4); border-bottom: 1px solid var(--clpd-line); font-size: 14px; text-align: left; }
.clpd-amount-table tbody th { font-weight: 700; }
.clpd-amount-table .clpd-amount-value { font-size: 18px; font-weight: 700; text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.clpd-amount-table thead th:last-child { text-align: right; }
.clpd-consult { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--clpd-s8); margin-top: var(--clpd-s12); padding: var(--clpd-s8); border-top: 2px solid var(--clpd-ink); background: var(--clpd-subtle); }
.cl-price-desk .clpd-consult h3 { margin-bottom: var(--clpd-s2); font-size: 24px; }
.clpd-consult p { color: var(--clpd-muted); font-size: 14px; }
.clpd-actions { display: grid; gap: var(--clpd-s3); width: min(100%, 300px); }
.clpd-actions a { display: flex; align-items: center; justify-content: center; min-height: 44px; padding: var(--clpd-s3) var(--clpd-s4); color: var(--clpd-brand-dark); font-size: 14px; font-weight: 700; text-align: center; text-decoration: none; }
.clpd-actions .clpd-purchase { min-height: 48px; border: 1px solid var(--clpd-brand-dark); border-radius: 8px; background: var(--clpd-brand-dark); color: var(--clpd-white); }
.clpd-actions .clpd-purchase:hover { background: var(--clpd-brand); }
.clpd-related { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--clpd-s4); margin-top: var(--clpd-s8); }
.clpd-related a { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: var(--clpd-s4); align-items: center; min-height: 112px; padding: var(--clpd-s3); border: 1px solid var(--clpd-line); border-radius: 8px; color: var(--clpd-text); font-size: 14px; font-weight: 700; text-decoration: none; }
.clpd-related a:hover { background: var(--clpd-subtle); }
.clpd-related img { display: block; width: 112px; height: 84px; object-fit: cover; }
.clpd-related a span span { color: var(--clpd-brand-dark); }
@media (max-width: 1023px) {
  .clpd-history-grid, .clpd-calculator { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 767px) {
  .clpd-intro { padding: var(--clpd-s6) 0; }
  .cl-price-desk .clpd-intro h2 { font-size: 26px; }
  .clpd-section { margin-top: var(--clpd-s8); }
  .clpd-price-table thead, .clpd-amount-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
  .clpd-price-table tbody tr { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 0 var(--clpd-s3); padding: var(--clpd-s2) 0; }
  .clpd-price-table tbody th { width: auto; min-width: 0; }
  .clpd-price-table tbody td { padding: var(--clpd-s2) var(--clpd-s4); }
  .clpd-category-button { min-height: 48px; }
  .clpd-category-button span { font-size: 14px; }
  .clpd-price-value { width: auto; font-size: 20px; text-align: right; }
  .clpd-comparison { grid-column: 1 / -1; font-size: 14px; }
  .clpd-ranges { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); width: 100%; }
  .clpd-ranges button { min-width: 0; padding: 8px 4px; }
  .clpd-chart { height: 286px; }
  .clpd-calculator-form { padding: var(--clpd-s4); }
  .clpd-amount-table tbody tr { display: grid; grid-template-columns: minmax(0,1fr) auto; padding: var(--clpd-s2) 0; }
  .clpd-amount-table tbody th { grid-column: 1; grid-row: 1; padding-bottom: 0; border-bottom: 0; }
  .clpd-amount-table tbody td:nth-child(2) { grid-column: 1; grid-row: 2; padding-top: 0; color: var(--clpd-muted); border-bottom: 0; }
  .clpd-amount-table .clpd-amount-value { grid-column: 2; grid-row: 1 / 3; display: flex; align-items: center; padding-left: 0; }
  .clpd-consult { display: block; padding: var(--clpd-s6) var(--clpd-s4); }
  .clpd-actions { margin-top: var(--clpd-s4); }
  .clpd-related { grid-template-columns: minmax(0,1fr); }
}
@media (max-width: 390px) {
  .clpd-quantity-controls { grid-template-columns: minmax(0,1fr); }
  .clpd-related a { grid-template-columns: 92px minmax(0,1fr); }
  .clpd-related img { width: 92px; height: 72px; }
}
@media (prefers-reduced-motion: reduce) {
  .cl-price-desk *, .cl-price-desk *::before, .cl-price-desk *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
/* SWELL's article heading/table styles are stronger than a bare component class. */
.post_content .cl-price-desk h2,
.post_content .cl-price-desk h3,
.post_content .cl-price-desk h4 {
  background: transparent; border: 0; padding: 0; box-shadow: none;
  color: var(--clpd-ink);
}
.post_content .cl-price-desk .clpd-price-table,
.post_content .cl-price-desk .clpd-history-table,
.post_content .cl-price-desk .clpd-amount-table {
  border: 0; box-shadow: none;
}
.post_content .cl-price-desk .clpd-price-table th,
.post_content .cl-price-desk .clpd-price-table td,
.post_content .cl-price-desk .clpd-history-table th,
.post_content .cl-price-desk .clpd-history-table td,
.post_content .cl-price-desk .clpd-amount-table th,
.post_content .cl-price-desk .clpd-amount-table td {
  border: 0; border-bottom: 1px solid var(--clpd-line); box-shadow: none;
}
.post_content .cl-price-desk .clpd-price-table thead th,
.post_content .cl-price-desk .clpd-history-table thead th,
.post_content .cl-price-desk .clpd-amount-table thead th {
  background: var(--clpd-subtle); color: var(--clpd-muted);
}
.post_content .cl-price-desk .clpd-price-table tbody th,
.post_content .cl-price-desk .clpd-price-table tbody td,
.post_content .cl-price-desk .clpd-history-table tbody td,
.post_content .cl-price-desk .clpd-amount-table tbody th,
.post_content .cl-price-desk .clpd-amount-table tbody td {
  background: transparent; color: var(--clpd-text);
}
.post_content .cl-price-desk .clpd-price-table tbody tr.is-selected { background: var(--clpd-soft); }
/* Approved V4 palette, scoped to the WordPress price module. */
.cl-price-desk { --clpd-surface-heading: #f3f4f6; font-family: "Noto Sans JP", "Hiragino Sans", "Yu Gothic", sans-serif; }
.post_content .cl-price-desk h2,
.post_content .cl-price-desk h3,
.post_content .cl-price-desk h4,
.post_content .cl-price-desk button,
.post_content .cl-price-desk input,
.post_content .cl-price-desk table { font-family: inherit; }
.post_content .cl-price-desk .clpd-intro { background: var(--clpd-soft); padding-inline: var(--clpd-s4); }
.post_content .cl-price-desk .clpd-table-disclosure,
.post_content .cl-price-desk .clpd-chart-panel,
.post_content .cl-price-desk .clpd-history-panel,
.post_content .cl-price-desk .clpd-calculator-form,
.post_content .cl-price-desk .clpd-calculator-results,
.post_content .cl-price-desk .clpd-consult { border-top-color: var(--clpd-brand); }
.post_content .cl-price-desk .clpd-price-table thead th,
.post_content .cl-price-desk .clpd-history-table thead th,
.post_content .cl-price-desk .clpd-amount-table thead th {
  background: var(--clpd-surface-heading); color: var(--clpd-text);
}
.post_content .cl-price-desk .clpd-price-table tbody tr:nth-child(even),
.post_content .cl-price-desk .clpd-history-table tbody tr:nth-child(even),
.post_content .cl-price-desk .clpd-amount-table tbody tr:nth-child(even) { background: var(--clpd-subtle); }
.post_content .cl-price-desk .clpd-price-table tbody tr.is-selected,
.post_content .cl-price-desk .clpd-history-table tbody tr.is-current { background: var(--clpd-soft); }
.post_content .cl-price-desk .clpd-price-table tbody tr.is-selected { box-shadow: inset 4px 0 var(--clpd-brand-dark); }
.post_content .cl-price-desk .clpd-price-table tbody tr:hover { background: var(--clpd-soft); }
.post_content .cl-price-desk .clpd-price-value,
.post_content .cl-price-desk .clpd-amount-value,
.post_content .cl-price-desk .clpd-chart-readout strong { color: var(--clpd-brand-dark); }
.cl-price-desk .clpd-ranges button { border-color: var(--clpd-muted); color: var(--clpd-text); }
.cl-price-desk .clpd-ranges button[aria-pressed="true"] { background: var(--clpd-brand-dark); border-color: var(--clpd-brand-dark); color: var(--clpd-white); }
.cl-price-desk .clpd-ranges button:hover:not([aria-pressed="true"]) { background: var(--clpd-soft); }
.post_content .cl-price-desk .clpd-amount-summary { background: var(--clpd-soft); color: var(--clpd-brand-dark); }
.post_content .cl-price-desk .clpd-consult { background: var(--clpd-soft); }
.post_content .cl-price-desk .clpd-price-table tbody td.clpd-price-value,
.post_content .cl-price-desk .clpd-amount-table tbody td.clpd-amount-value {
  color: var(--clpd-brand-dark);
}
.post_content .cl-price-desk .clpd-amount-table tbody td:nth-child(2),
.post_content .cl-price-desk .clpd-price-table tbody td.clpd-price-value,
.post_content .cl-price-desk .clpd-amount-table tbody td.clpd-amount-value,
.post_content .cl-price-desk .clpd-category-button small {
  white-space: nowrap;
  word-break: keep-all;
}
.post_content .cl-price-desk .clpd-comparison {
  overflow-wrap: normal;
  word-break: keep-all;
}
