.entry-content > .ch-wrap, .ch-page-hero > * { width: var(--theme-container-edge-spacing, 90vw); max-width: var(--theme-normal-container-max-width, 1390px); margin-inline: auto !important; padding-inline: 0; box-sizing: border-box; }
.entry-content > .wp-block-group[class*="ch-"] { margin-block: 0; }

.ch-eyebrow { display: inline-block; font-size: var(--ch-fs-s); font-weight: var(--ch-w-ui); line-height: 1.4; color: var(--ch-text-2); }
.ch-eyebrow--plain { padding: 0; }
.ch-page-hero { padding: var(--ch-space-7) 0 0; background: none; text-align: left; }
.ch-page-hero > * { max-width: 1116px; }
.ch-page-hero .ch-eyebrow { display: block; margin: 0 auto var(--ch-space-4) !important; }
.ch-page-hero__title, .ch-legal h1 { margin: 0; font-size: 56px; font-weight: var(--ch-w-display); font-stretch: 112%; line-height: 1.02; letter-spacing: var(--ch-track-h1); color: var(--ch-ink); text-transform: none; }
.ch-page-hero__soft { display: block; color: var(--ch-text-2); }
@media (max-width: 999.98px) { .ch-page-hero__title, .ch-legal h1 { font-size: 44px; } }
@media (max-width: 689.98px) {
  .ch-page-hero { padding-top: var(--ch-space-5); }
  .ch-page-hero .ch-eyebrow { margin-bottom: var(--ch-space-3) !important; font-size: var(--ch-fs-xs); }
  .ch-page-hero__title, .ch-legal h1 { font-size: 36px; font-stretch: var(--ch-stretch-display); line-height: 1.04; }
}

.ch-legal { width: var(--theme-container-edge-spacing, 90vw); max-width: 860px; margin: var(--ch-space-7) auto var(--ch-space-8) !important; padding: 40px 44px; border-radius: 18px; background: var(--ch-paper); box-sizing: border-box; font-size: var(--ch-fs-body); line-height: 1.75; color: var(--ch-text-2); overflow-wrap: anywhere; }
.ch-legal h1 { margin-bottom: var(--ch-space-6) !important; font-size: 44px; line-height: 1.04; text-align: left !important; overflow-wrap: normal; }
.ch-legal h2, .ch-legal h3 { margin: var(--ch-space-6) 0 var(--ch-space-2); font-size: 21px; font-weight: var(--ch-w-h3); line-height: 1.3; color: var(--ch-ink); }
.ch-legal p, .ch-legal ul, .ch-legal ol { margin: 0 0 var(--ch-space-4); }
.ch-legal strong, .ch-legal b { color: var(--ch-ink); }
.ch-legal a { color: var(--ch-ink); text-decoration: underline; text-underline-offset: 3px; }
.ch-legal a:hover { color: var(--ch-text-2); }
@media (max-width: 999.98px) { .ch-legal h1 { font-size: 36px; } }
@media (max-width: 689.98px) {
  .ch-legal { width: auto; margin: var(--ch-space-5) 16px var(--ch-space-7) !important; padding: 22px 18px; border-radius: var(--ch-radius); font-size: 15px; line-height: 1.7; }
  .ch-legal h1 { font-size: 28px; font-stretch: var(--ch-stretch-display); }
  .ch-legal h2, .ch-legal h3 { font-size: 18px; }
}

.ch-page-hero__lede { margin-top: var(--ch-space-5) !important; margin-bottom: 0 !important; padding-inline-end: max(0px, calc(min(var(--theme-container-edge-spacing, 90vw), 1116px) - 720px)) !important; font-size: var(--ch-fs-lead); line-height: 1.6; color: var(--ch-text-2); text-wrap: pretty; }
.ch-contact { display: grid; grid-template-columns: minmax(0, 1fr) 384px; gap: var(--ch-space-6); align-items: start; padding: var(--ch-space-7) max(calc((100% - var(--theme-container-edge-spacing, 90vw)) / 2), calc((100% - 1116px) / 2)) var(--ch-space-8); box-sizing: border-box; }
.ch-contact > * { margin: 0 !important; min-width: 0; }
.ch-contact__form, .ch-contact__card { border-radius: 18px; background: var(--ch-paper); box-sizing: border-box; }
.ch-contact__form { padding: 40px 44px; }
.ch-contact__title { display: block; margin: 0; font-size: 26px; font-weight: var(--ch-w-display); font-stretch: 108%; line-height: 1.15; letter-spacing: -0.015em; color: var(--ch-ink); }
.ch-contact__req { display: block; margin: var(--ch-space-2) 0 var(--ch-space-6); font-size: var(--ch-fs-s); color: var(--ch-text-2); }
.ch-contact__privacy { margin: var(--ch-space-5) 0 0 !important; font-size: 14px; line-height: 1.6; color: var(--ch-text-2); }
.ch-contact__privacy a, .ch-contact__note a, .ch-contact__all { color: var(--ch-ink); text-decoration: underline; text-underline-offset: 3px; }
.ch-contact .fluentform { margin: 0; }
.ch-contact .ff_submit_btn_wrapper { margin-bottom: 0; }
.ch-contact .ff-message-success { padding: var(--ch-space-5); border: 0; border-radius: var(--ch-radius); background: var(--ch-mist); box-shadow: none; font-size: var(--ch-fs-body); color: var(--ch-ink); }
.ch-contact__aside { display: grid; gap: var(--ch-space-4); }
.ch-contact__card { padding: 28px; }
.ch-contact__card .ch-contact__title { font-size: 19px; font-stretch: 106%; letter-spacing: -0.01em; }
.ch-contact__who { display: flex; align-items: center; gap: 14px; margin: var(--ch-space-5) 0 var(--ch-space-2); }
.ch-contact__avatar { flex: none; width: 56px; height: 56px; border-radius: 50%; object-fit: cover; }
.ch-contact__who-body, .ch-contact__way-body { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.ch-contact__name { font-weight: var(--ch-w-bold); color: var(--ch-ink); }
.ch-contact__role, .ch-contact__note, .ch-contact__label { font-size: 13.5px; line-height: 1.45; color: var(--ch-text-2); }
.ch-contact__label { font-weight: var(--ch-w-ui); }
.ch-contact__ways, .ch-contact__links { list-style: none; margin: 0; padding: 0; }
.ch-contact__way { display: flex; gap: 14px; margin: 0; padding: var(--ch-space-4) 0; border-top: 1px solid var(--ch-line); }
.ch-contact__way:last-child { padding-bottom: 0; }
.ch-contact__icon { flex: none; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--ch-ground); color: var(--ch-ink); }
.ch-contact__value { align-self: flex-start; font-size: var(--ch-fs-ui); font-weight: var(--ch-w-bold); line-height: 1.35; color: var(--ch-ink); text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.ch-contact__value:hover, .ch-contact__privacy a:hover, .ch-contact__note a:hover, .ch-contact__all:hover { text-decoration-thickness: 2px; }
.ch-contact__text { margin: var(--ch-space-2) 0 var(--ch-space-3) !important; font-size: 14.5px; line-height: 1.6; color: var(--ch-text-2); }
.ch-contact__links li { margin: 0; border-top: 1px solid var(--ch-line); }
.ch-contact__links a { display: flex; align-items: center; justify-content: space-between; gap: var(--ch-space-3); min-height: var(--ch-target); padding: 10px 0; font-size: var(--ch-fs-ui); font-weight: var(--ch-w-ui); line-height: 1.35; color: var(--ch-ink); text-decoration: none; }
.ch-contact__links a::after { content: ""; flex: none; width: 7px; height: 7px; border-top: 1.5px solid currentColor; border-right: 1.5px solid currentColor; transform: rotate(45deg); }
.ch-contact__links a:hover { text-decoration: underline; text-underline-offset: 3px; }
.ch-contact__all { display: inline-flex; align-items: center; min-height: var(--ch-target); margin-top: var(--ch-space-2); font-size: var(--ch-fs-ui); font-weight: var(--ch-w-bold); }
.ch-contact .fluentform .ff-el-input--label label { font-size: var(--ch-fs-ui); font-weight: var(--ch-w-ui); color: var(--ch-ink); }
.ch-contact .fluentform .ff-el-form-control { min-height: var(--ch-field-h); border: 1px solid var(--ch-field); border-radius: var(--ch-radius-s); background: var(--ch-paper); font-size: var(--ch-fs-body); color: var(--ch-ink); box-sizing: border-box; }
.ch-contact .fluentform .ff-el-form-control:focus { border-color: var(--ch-ink); }
.ch-contact .ff-btn-submit { min-height: var(--ch-btn-h); padding: 0 28px !important; border: 0 !important; border-radius: var(--ch-radius-pill) !important; background: var(--ch-ink) !important; color: var(--ch-paper) !important; font-weight: var(--ch-w-bold) !important; font-size: var(--ch-fs-ui) !important; }
.ch-contact .ff-btn-submit:hover { background: var(--ch-ink-hover) !important; }
@media (max-width: 999.98px) { .ch-contact { grid-template-columns: minmax(0, 1fr); } .ch-contact__aside { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; } }
@media (max-width: 689.98px) {
  .ch-page-hero__lede { margin-top: var(--ch-space-4) !important; padding-inline-end: 0 !important; font-size: var(--ch-fs-ui); }
  .ch-contact { gap: var(--ch-space-4); padding-block: var(--ch-space-5) var(--ch-space-7); }
  .ch-contact__form { padding: 22px 18px; border-radius: var(--ch-radius); }
  .ch-contact__title { font-size: 22px; }
  .ch-contact__req { margin-bottom: var(--ch-space-5); }
  .ch-contact__aside { grid-template-columns: minmax(0, 1fr); }
  .ch-contact__card { padding: 22px 18px; border-radius: var(--ch-radius); }
}

.ch-faq-page { padding-block: var(--ch-space-6) var(--ch-space-5); }
.ch-faq-page__grid { display: grid; gap: var(--ch-space-7); max-width: 1116px; margin-inline: auto; }
.ch-faq-group { display: grid; grid-template-columns: auto 1fr; align-items: center; column-gap: var(--ch-space-3); row-gap: var(--ch-space-4); max-width: 860px; }
.ch-faq-group > .ch-faq { grid-column: 1 / -1; }
.ch-faq-group__icon { margin: 0 !important; display: grid; place-items: center; width: var(--ch-target); height: var(--ch-target); border-radius: 50%; background: var(--ch-paper); color: var(--ch-ink); }
.ch-faq-group__icon svg { width: 20px; height: 20px; fill: currentColor; }
.ch-faq-group__title { margin: 0 !important; font-size: 28px; font-weight: var(--ch-w-display); font-stretch: 108%; line-height: 1.15; letter-spacing: -0.015em; }
.ch-faq-page .ch-faq details { border: 0; border-radius: 14px; }
.ch-faq-page .ch-faq summary { min-height: 62px; padding: 12px 22px; font-size: 16.5px; font-weight: 650; }
.ch-faq-page .ch-faq summary::after { content: "+"; flex: 0 0 16px; width: 16px; height: auto; border: 0; font-size: 22px; font-weight: var(--ch-w-regular); line-height: 16px; text-align: center; transform: none; transition: transform .3s cubic-bezier(.16, 1, .3, 1); }
.ch-faq-page .ch-faq details[open] summary::after { transform: rotate(45deg); }
.ch-faq-page .ch-faq__a { max-width: 68ch; padding: 0 22px 20px; font-size: 15.5px; line-height: 1.7; }
.ch-faq-page .ch-faq__a strong { color: var(--ch-ink); }
.ch-wiring { padding-block: var(--ch-space-6) var(--ch-space-8); }
.ch-wiring > * { max-width: 1116px; margin-inline: auto; }
.ch-wiring__title { margin: 0 auto var(--ch-space-3) !important; font-size: 28px; font-weight: var(--ch-w-display); font-stretch: 108%; letter-spacing: -0.015em; }
.ch-wiring p { margin-bottom: var(--ch-space-4); font-size: var(--ch-fs-ui); color: var(--ch-text-2); }
.ch-wiring a { color: var(--ch-ink); text-decoration: underline; text-underline-offset: 3px; }
.ch-wiring iframe { display: block; width: 100%; border: 0; border-radius: var(--ch-radius); background: var(--ch-paper); }
@media (max-width: 689.98px) {
  .ch-faq-page { padding-block: var(--ch-space-5) var(--ch-space-3); }
  .ch-faq-page__grid { gap: var(--ch-space-6); }
  .ch-faq-group { row-gap: var(--ch-space-3); }
  .ch-faq-group__title, .ch-wiring__title { font-size: 22px; font-stretch: 106%; }
  .ch-faq-page .ch-faq { gap: var(--ch-space-2); }
  .ch-faq-page .ch-faq details { border-radius: 12px; }
  .ch-faq-page .ch-faq summary { min-height: 56px; padding: 8px 16px; font-size: var(--ch-fs-ui); line-height: 1.35; }
  .ch-faq-page .ch-faq__a { padding: 0 16px 16px; font-size: 14.5px; line-height: 1.65; }
  .ch-wiring iframe { height: 520px; }
}
@media (prefers-reduced-motion: reduce) { .ch-faq-page .ch-faq summary::after { transition: none; } }

.ch-rating-summary { display: inline-flex; align-items: center; gap: 8px; font-size: var(--ch-fs-ui); color: var(--ch-text-2); }
.ch-rating-summary .ch-trustpilot { display: inline-flex; align-items: center; gap: 5px; min-height: var(--ch-target); margin-inline-start: 8px; color: var(--ch-ink); font-weight: var(--ch-w-ui); text-decoration: underline; text-underline-offset: 3px; }
.ch-rating-summary .ch-trustpilot:hover { color: var(--ch-ink); text-decoration-thickness: 2px; }

.ch-chart { padding-bottom: var(--ch-space-7); }
.ch-chart [id] { scroll-margin-top: var(--ch-space-5); }
.ch-chart__title { margin: var(--ch-space-7) 0 var(--ch-space-3) !important; font-size: 28px; font-weight: var(--ch-w-display); font-stretch: 108%; letter-spacing: -0.015em; }
.ch-chart > p { max-width: 860px; margin: 0 0 var(--ch-space-5); font-size: var(--ch-fs-body); line-height: 1.7; color: var(--ch-text-2); }
.ch-chart > p a { color: var(--ch-ink); text-decoration: underline; text-underline-offset: 3px; }
.ch-chart > p.ch-chart__lead { margin-top: var(--ch-space-2); font-size: var(--ch-fs-lead); }
.ch-chart > p.ch-chart__buy { margin: var(--ch-space-4) 0 0; font-size: var(--ch-fs-ui); }
.ch-chart__nav ul { list-style: none; display: flex; flex-wrap: wrap; gap: var(--ch-space-2); margin: 0; padding: 0; }
.ch-chart__nav li { margin: 0; }
.ch-chart__nav a { display: inline-flex; align-items: center; min-height: var(--ch-chip-h); padding: 0 16px; border: 1px solid var(--ch-line-2); border-radius: var(--ch-radius-pill); background: var(--ch-paper); color: var(--ch-ink); font-size: var(--ch-fs-ui); font-weight: var(--ch-w-ui); line-height: 1.2; text-decoration: none; }
.ch-chart__nav a:hover { border-color: var(--ch-ink); }
.ch-chart__diagram { max-width: 800px; margin: 0 0 var(--ch-space-5); }
.ch-chart__diagram img { display: block; width: 100%; height: auto; padding: 12px 24px; box-sizing: border-box; border-radius: var(--ch-radius); background: var(--ch-paper); }
h3.ch-chart__h3 { margin: var(--ch-space-6) 0 var(--ch-space-2) !important; font-size: var(--ch-fs-h3); font-weight: var(--ch-w-h3); font-stretch: var(--ch-stretch-h3); }
.ch-swatch-box { padding: 40px 44px; border: 0; border-radius: 18px; background: var(--ch-paper); }
.ch-swatches { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(6, 1fr); gap: var(--ch-space-5); }
.ch-swatches li { margin: 0; }
.ch-swatch { margin: 0; }
.ch-swatches a { display: block; border-radius: var(--ch-radius); }
.ch-swatches img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; border-radius: var(--ch-radius); background: var(--ch-mist); }
.ch-swatch figcaption { margin-top: var(--ch-space-2); font-size: var(--ch-fs-s); font-weight: var(--ch-w-ui); line-height: 1.3; text-align: center; color: var(--ch-ink); overflow-wrap: anywhere; }
@media (max-width: 999.98px) { .ch-swatches { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 689.98px) {
  .ch-swatch-box { padding: 16px 12px; border-radius: var(--ch-radius); }
  .ch-swatches { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--ch-space-4) var(--ch-space-2); }
  .ch-swatches a, .ch-swatches img { border-radius: var(--ch-radius-s); }
  .ch-swatch figcaption { margin-top: 6px; font-size: var(--ch-fs-xs); line-height: 1.25; overflow-wrap: break-word; hyphens: auto; }
  .ch-chart__title { margin-top: var(--ch-space-6) !important; font-size: 22px; }
  .ch-chart > p.ch-chart__lead { font-size: var(--ch-fs-body); }
  .ch-chart__nav ul { gap: 6px; }
  .ch-chart__nav a { padding: 0 12px; font-size: var(--ch-fs-s); }
  .ch-chart__diagram img { padding: 8px 12px; }
  h3.ch-chart__h3 { font-size: 18px; }
}

.page .hero-section[data-type="type-1"] .page-title { font-size: 56px; font-weight: var(--ch-w-display); font-stretch: 112%; line-height: 1.02; letter-spacing: var(--ch-track-h1); color: var(--ch-ink); }
@media (max-width: 999.98px) { .page .hero-section[data-type="type-1"] .page-title { font-size: 44px; } }
@media (max-width: 689.98px) { .page .hero-section[data-type="type-1"] .page-title { font-size: 36px; font-stretch: var(--ch-stretch-display); } }
.ch-wd { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-bottom: var(--ch-space-4); }
.ch-wd__card { display: flex; flex-direction: column; gap: 16px; min-width: 0; padding: 24px; border-radius: var(--ch-radius); background: var(--ch-paper); box-shadow: 0 0 0 1px var(--ch-line); }
.ch-wd__card--usb { grid-column: 1 / -1; }
.ch-wd__card h3 { margin: 0; font-size: var(--ch-fs-lead); font-weight: var(--ch-w-bold); }
.ch-wd__card p { margin: 0 !important; font-size: var(--ch-fs-ui); line-height: 1.55; }
.ch-wd__usb { display: flex; flex-wrap: wrap; align-items: center; gap: 20px 40px; }
.ch-wd__usb svg { flex: none; max-width: 100%; height: auto; }
.ch-wd__t { flex: 1 1 320px; margin: 0; border-collapse: collapse; font-size: 14px; }
.ch-wd__t th, .ch-wd__t td { padding: 10px 14px; border: 0; border-bottom: 1px solid var(--ch-line); text-align: left; }
.ch-wd__t th { background: var(--ch-ink); color: var(--ch-paper); font-weight: var(--ch-w-bold); }
.ch-wd__t td:first-child { font-weight: var(--ch-w-ui); color: var(--ch-ink); }
.ch-wd__pins { display: flex; flex-wrap: wrap; justify-content: space-around; gap: 16px; }
.ch-pin { margin: 0; display: flex; flex-direction: column; align-items: center; gap: 8px; }
.ch-pin svg { max-width: 100%; height: auto; }
.ch-pin figcaption { font-size: var(--ch-fs-ui); font-weight: var(--ch-w-ui); color: var(--ch-ink); }
.ch-wd__card:not(.ch-wd__card--usb) { grid-column: span 1; }
@media (min-width: 1000px) { .ch-wd { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 999.98px) { .ch-wd { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 689.98px) { .ch-wd__card { padding: 16px; } .ch-wd__t th, .ch-wd__t td { padding: 8px 10px; } }
