/* Shared by saved WordPress blocks and the optional native Elementor seed. */
.rk-product-content,
.rk-product-content > .wp-block-post-content { margin: 0; max-width: none; }
.rk-product-page {
  --rk-product-blue: var(--brand-primary, #1f6fb8);
  --rk-product-ink: var(--ink-900, #1a1f2a);
  --rk-product-muted: var(--ink-700, #3d4655);
  --rk-product-line: #d6dfe8;
  color: var(--rk-product-ink);
  background: #fff;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.65;
}
.rk-product-page *, .rk-product-page *::before, .rk-product-page *::after { box-sizing: border-box; }
.rk-product-page .shell {
  width: min(1180px, calc(100% - 40px));
  max-width: 1180px;
  margin-inline: auto;
}
.rk-product-page :where(h1, h2, h3, p, figure, ul) { margin-block: 0; }
.rk-product-page :where(h1, h2, h3) { color: inherit; font-family: inherit; text-wrap: balance; }
.rk-product-page h1 { max-width: 1000px; font-size: clamp(34px, 4.6vw, 60px); font-weight: 700; line-height: 1.1; letter-spacing: -.035em; }
.rk-product-page h2 { max-width: 850px; font-size: clamp(27px, 3vw, 38px); font-weight: 650; line-height: 1.2; letter-spacing: -.025em; }
.rk-product-page h3 { font-size: 20px; font-weight: 650; line-height: 1.35; letter-spacing: -.012em; }
.rk-product-page p { color: var(--rk-product-muted); }
.rk-product-page p + p { margin-top: 16px; }
.rk-product-page a { color: var(--rk-product-blue); text-underline-offset: 3px; }
.rk-product-page a:hover { text-decoration-thickness: 2px; }
.rk-product-page a:focus-visible { outline: 3px solid #d08a2b; outline-offset: 5px; }
.rk-product-page code { overflow-wrap: anywhere; font-size: .9em; }
/* Inline filenames must not inherit the theme's padded code-panel treatment. */
.rk-product-page :not(pre) > code {
  display: inline;
  margin: 0;
  padding: .1em .3em;
  border: 0;
  border-radius: 3px;
  background: #e7edf4;
  color: inherit;
  line-height: inherit;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}
.rk-product-page .rk-product-boundaries :not(pre) > code { background: rgb(255 255 255 / 14%); }
.rk-product-page .rk-product-section { padding-block: 68px; margin-block: 0; }
.rk-product-page .rk-product-section > h2 + p,
.rk-product-page .rk-product-section > .shell > h2 + p { max-width: 840px; margin-top: 20px; }
.rk-product-page .rk-product-hero { padding-block: 64px 52px; background: #edf3f9; }
.rk-product-page .rk-product-hero-grid { display: grid; gap: 40px; }
.rk-product-page .rk-product-intro { max-width: 1000px; }
.rk-product-page .rk-product-lead { max-width: 830px; margin-top: 24px; font-size: clamp(18px, 2vw, 21px); line-height: 1.6; }
.rk-product-page .rk-product-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 28px; }
.rk-product-page .rk-product-actions .wp-block-button,
.rk-product-page .rk-product-actions .elementor-widget-button { width: auto; margin: 0; }
.rk-product-page .rk-product-actions :is(.wp-block-button__link, .elementor-button) {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-height: 48px;
  padding: 12px 20px;
  border: 1px solid var(--rk-product-blue);
  border-radius: 6px;
  background: var(--rk-product-blue);
  color: #fff;
  font: 600 16px/1.4 Inter, ui-sans-serif, system-ui, sans-serif;
  text-align: center;
  text-decoration: none;
}
.rk-product-page .rk-product-actions .is-style-secondary :is(.wp-block-button__link, .elementor-button) { background: transparent; color: #155080; border-color: #9db4ca; }
.rk-product-page .rk-product-actions :is(.wp-block-button__link, .elementor-button):hover { background: #155080; color: #fff; }
.rk-product-page .rk-product-meta { margin-top: 20px; font-size: 14px; line-height: 1.7; }
.rk-product-page .rk-product-image { width: 100%; margin: 0; }
.rk-product-page .rk-product-image img { display: block; width: 100%; max-width: 100%; height: auto; border: 1px solid #b7c5d3; border-radius: 8px; background: #fff; }
.rk-product-page .rk-product-image :is(figcaption, .widget-image-caption) { margin-top: 12px; color: #4b5563; font: 400 14px/1.6 Inter, ui-sans-serif, system-ui, sans-serif; text-align: left; }
.rk-product-page .rk-product-hero-media img { box-shadow: 0 12px 28px rgb(12 59 97 / 9%); }
.rk-product-page .rk-product-summary { max-width: 860px; }
.rk-product-page .rk-product-three-up { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; margin-top: 36px; }
.rk-product-page .rk-product-point { padding-left: 20px; border-left: 3px solid #6fa3d0; }
.rk-product-page .rk-product-point p { margin-top: 12px; }
.rk-product-page .rk-product-workflow { background: #f6f8fb; scroll-margin-top: 100px; }
.rk-product-page .rk-product-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; margin-top: 36px; }
.rk-product-page .rk-product-step { padding-top: 20px; border-top: 2px solid #8eafcc; }
.rk-product-page .rk-product-step p { margin-top: 14px; }
.rk-product-page .rk-product-guide-link { margin-top: 32px; font-weight: 600; }
.rk-product-page .rk-product-review-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); align-items: start; gap: 48px; }
.rk-product-page .rk-product-review-copy > p { margin-top: 20px; }
.rk-product-page .rk-product-boundaries { background: #0c3b61; color: #fff; }
.rk-product-page .rk-product-boundary-grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 64px; }
.rk-product-page .rk-product-boundaries p { margin-top: 20px; color: #e4edf5; }
.rk-product-page .rk-product-boundaries ul { padding-left: 20px; }
.rk-product-page .rk-product-boundaries li + li { margin-top: 18px; }
.rk-product-page .rk-product-boundaries strong { color: #fff; }
.rk-product-page .rk-product-comparison { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 48px; margin-top: 32px; }
.rk-product-page .rk-product-option { border-top: 1px solid var(--rk-product-line); padding-top: 24px; }
.rk-product-page .rk-product-option p { margin-top: 16px; }
.rk-product-page .rk-product-option a { font-weight: 600; }
.rk-product-page .rk-product-cta { border-top: 1px solid var(--rk-product-line); background: #edf3f9; }
.rk-product-page .rk-product-cta-inner > p { max-width: 800px; margin-top: 20px; }

/* Grid gaps own the spacing; WordPress flow margins would offset every item after the first. */
.rk-product-page .rk-3d-dialog-grid { display: flex; flex-wrap: wrap; gap: 28px; margin-top: 28px; align-items: start; }
.rk-product-page .rk-3d-dialog-grid > figure { flex: 0 1 456px; margin: 0; }
.rk-product-page .rk-3d-gallery { display: grid; gap: 32px; margin-top: 28px; }
.rk-product-page .rk-3d-phone-image { max-width: 380px; margin-inline: auto; }
.rk-product-page .rk-3d-toc { padding-block: 36px; border-bottom: 1px solid var(--rk-product-line); }
.rk-product-page .rk-3d-toc ul { columns: 2; column-gap: 48px; }
.rk-product-page .rk-3d-toc li { break-inside: avoid; }
.rk-3d-html-guide .rk-product-section { padding-block: 44px; scroll-margin-top: 100px; }
.rk-3d-html-guide .rk-product-section > * + * { margin-top: 24px; }
.rk-3d-html-guide .rk-product-section > h3 { margin-top: 32px; }
.rk-3d-html-guide .rk-product-section > ul { padding-left: 24px; }
.rk-3d-html-guide li + li { margin-top: 12px; }
.rk-3d-html-guide .rk-product-section > .rk-product-review-grid { margin-top: 0; }
.rk-3d-html-guide .rk-product-section > .rk-product-review-grid .rk-product-review-copy > p:first-child { margin-top: 0; }
.rk-3d-html-guide .rk-3d-toc > h2 { font-size: 27px; }
.rk-3d-html-page .rk-3d-feature-section .rk-product-review-copy > h3 { margin-top: 24px; }
.rk-3d-html-page .rk-product-section > h3 { margin-top: 28px; }
.rk-3d-html-page .rk-product-section > h3 + p { margin-top: 12px; }
.rk-3d-html-page #pump-sample ul { max-width: 860px; margin-top: 24px; padding-left: 24px; }
.rk-3d-html-page #pump-sample li + li { margin-top: 12px; }
@media (max-width: 680px) {
  .rk-product-page .rk-3d-toc ul { columns: 1; }
  .rk-3d-html-guide .rk-product-section { padding-block: 32px; }
}

.rk-product-page :is(.rk-product-hero-grid, .rk-product-three-up, .rk-product-steps, .rk-product-review-grid, .rk-product-boundary-grid, .rk-product-comparison) > * {
  min-width: 0;
  margin-block: 0;
}

/* Elementor containers retain the same editorial layout as native block groups. */
.rk-product-page.e-con, .rk-product-page .e-con {
  --padding-top: 0px;
  --padding-right: 0px;
  --padding-bottom: 0px;
  --padding-left: 0px;
  --container-default-padding-top: 0px;
  --container-default-padding-right: 0px;
  --container-default-padding-bottom: 0px;
  --container-default-padding-left: 0px;
  --gap: 0px;
  --widgets-spacing: 0px 0px;
  gap: 0;
}
.rk-product-page .elementor-widget { width: 100%; min-width: 0; margin-bottom: 0; }
.rk-product-page .elementor-widget-heading .elementor-heading-title { color: inherit; font: inherit; }
.rk-product-page .elementor-widget-heading:has(h1) { font-size: clamp(34px, 4.6vw, 60px); font-weight: 700; line-height: 1.1; letter-spacing: -.035em; }
.rk-product-page .elementor-widget-heading:has(h2) { font-size: clamp(27px, 3vw, 38px); font-weight: 650; line-height: 1.2; letter-spacing: -.025em; }
.rk-product-page .elementor-widget-heading:has(h3) { font-size: 20px; font-weight: 650; line-height: 1.35; }
.rk-product-page .elementor-widget-text-editor { color: var(--rk-product-muted); font: inherit; }
.rk-product-page .elementor-widget-text-editor p:last-child { margin-bottom: 0; }
.rk-product-page .elementor-widget-text-editor:not(.rk-product-meta):not(.rk-product-lead):not(.rk-product-guide-link) { margin-top: 16px; }
.rk-product-page .rk-product-boundaries .elementor-widget-text-editor { color: #e4edf5; }
.rk-product-page .rk-product-boundaries .elementor-widget-text-editor p { color: inherit; }
.rk-product-page .rk-product-hero-grid.e-con { gap: 40px; }
.rk-product-page .rk-product-three-up.e-con { gap: 32px; }
.rk-product-page .rk-product-steps.e-con { gap: 28px; }
.rk-product-page .rk-product-review-grid.e-con { gap: 48px; }
.rk-product-page .rk-product-boundary-grid.e-con { gap: 64px; }
.rk-product-page .rk-product-comparison.e-con { gap: 48px; }
.rk-product-page .rk-product-actions.e-con { gap: 12px; }

@media (max-width: 1000px) {
  .rk-product-page .rk-product-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 36px; }
  .rk-product-page .rk-product-review-grid,
  .rk-product-page .rk-product-boundary-grid { grid-template-columns: minmax(0, 1fr); gap: 32px; }
}
@media (max-width: 680px) {
  .rk-product-page .shell { width: calc(100% - 32px); }
  .rk-product-page .rk-product-hero { padding-block: 40px; }
  .rk-product-page .rk-product-section { padding-block: 44px; }
  .rk-product-page .rk-product-three-up,
  .rk-product-page .rk-product-steps,
  .rk-product-page .rk-product-comparison { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .rk-product-page .rk-product-actions { align-items: stretch; }
  .rk-product-page .rk-product-actions .wp-block-button,
  .rk-product-page .rk-product-actions .elementor-widget-button,
  .rk-product-page .rk-product-actions :is(.wp-block-button__link, .elementor-button) { width: 100%; }
  .rk-product-page .rk-product-hero-grid,
  .rk-product-page .rk-product-hero-grid.e-con { gap: 28px; }
}
@media (prefers-reduced-motion: reduce) {
  .rk-product-page *, .rk-product-page *::before, .rk-product-page *::after { scroll-behavior: auto; transition: none; }
}

/* Data Bridge: two matching methods, shared property mapping and review. */
.rk-data-bridge-page .rk-db-hero-grid { grid-template-columns: minmax(0, 1.35fr) minmax(0, .85fr); align-items: center; gap: 48px; }
.rk-data-bridge-page h1 { font-size: clamp(34px, 4vw, 54px); }
.rk-data-bridge-page .rk-db-hero-flows { display: grid; gap: 18px; }
.rk-data-bridge-page .rk-db-flow { padding: 24px; border: 1px solid #b7c5d3; border-radius: 8px; background: #fff; }
.rk-data-bridge-page .rk-db-flow-label { margin: 0 0 10px; color: #155080; font-size: 13px; font-weight: 650; text-transform: uppercase; letter-spacing: .06em; }
.rk-data-bridge-page .rk-db-flow h3 { font-size: 21px; }
.rk-data-bridge-page .rk-db-flow-source { margin-top: 20px; font-size: 14px; }
.rk-data-bridge-page .rk-db-flow-match { margin-top: 6px; color: #46586b; font-size: 14px; }
.rk-data-bridge-page .rk-db-flow-target { margin-top: 12px; padding-top: 12px; border-top: 1px solid #d6dfe8; color: #155080; font-weight: 650; }
.rk-data-bridge-page .rk-product-section { scroll-margin-top: 96px; }
.rk-data-bridge-page .rk-product-review-copy > h3 { margin-top: 28px; }
.rk-data-bridge-page .rk-db-method-grid { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); }
.rk-data-bridge-page .rk-db-method-grid .rk-product-image { align-self: center; }
.rk-data-bridge-page .rk-db-area-section { border-top: 1px solid var(--rk-product-line); border-bottom: 1px solid var(--rk-product-line); }
.rk-data-bridge-page .rk-db-workflow-note { max-width: 920px; margin-top: 36px; }
.rk-data-bridge-page .rk-db-faq { border-top: 1px solid var(--rk-product-line); }
.rk-data-bridge-page .rk-db-faq-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 48px; margin-top: 36px; }
.rk-data-bridge-page .rk-db-answer { padding-top: 24px; border-top: 1px solid var(--rk-product-line); margin-block: 0; min-width: 0; }
.rk-data-bridge-page .rk-db-answer p { margin-top: 14px; }
.rk-data-bridge-page :is(.rk-db-hero-flows, .rk-db-flow) > * { margin-block-start: 0; }
.rk-data-bridge-page .rk-db-flow > .rk-db-flow-source { margin-top: 20px; }
.rk-data-bridge-page .rk-db-flow > .rk-db-flow-match { margin-top: 6px; }
.rk-data-bridge-page .rk-db-flow > .rk-db-flow-target { margin-top: 12px; }
@media (max-width: 1000px) {
  .rk-data-bridge-page :is(.rk-db-hero-grid, .rk-db-method-grid) { grid-template-columns: minmax(0, 1fr); }
  .rk-data-bridge-page .rk-db-hero-flows { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
  .rk-data-bridge-page :is(.rk-db-hero-flows, .rk-db-faq-list) { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .rk-data-bridge-page .rk-db-flow { padding: 20px; }
}
