/* Render adapters for native Oxygen wrappers; no native tree changes. */
body.rhsp-native.single-post .elementor-widget-theme-post-content {
  width: min(100%, 820px) !important; max-width: 820px !important;
  margin-inline: auto !important; padding-inline: 20px; box-sizing: border-box;
  font-size: 18px; line-height: 1.75;
}
body.rhsp-native.single-post .elementor-widget-theme-post-content :is(p, ul, ol, figure, blockquote) { margin-block: 0 1.25em; }
body.rhsp-native.single-post .elementor-widget-theme-post-content :is(h2, h3, h4) { margin-block: 1.7em .65em; line-height: 1.25; }
body.rhsp-native.single-post .elementor-widget-theme-post-content img { max-width: 100%; height: auto; }
body.rhsp-native.single-post .elementor-widget-theme-post-content :is(ul, ol) { padding-inline-start: 1.5em; }
body.rhsp-native .rhsp-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; width: 100%; list-style: none; padding: 0; margin: 0; }
body.rhsp-native .rhsp-list-item { display: flex; min-width: 0; }
body.rhsp-native .rhsp-list-item > .rhsp-card { width: 100%; }
body.rhsp-native .rhsp-results { width: 100%; max-width: 1160px; margin-inline: auto; }
body.rhsp-native .rhsp-card { display: flex; flex-direction: column; min-width: 0; overflow: hidden; border: 1px solid #D8E1EB; border-radius: 12px; background: #fff; color: #0B1D3A; }
body.rhsp-native .rhsp-image { display: block; aspect-ratio: 16/10; background: #F4F7FA; overflow: hidden; }
body.rhsp-native .rhsp-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
body.rhsp-native .rhsp-card-body { display: flex; flex-direction: column; flex: 1; padding: 24px; gap: 14px; }
body.rhsp-native .rhsp-card-body :is(h3,p) { margin: 0; }
body.rhsp-native .rhsp-card-body h3 { font-size: 24px; line-height: 1.3; }
body.rhsp-native .rhsp-card a { color: inherit; }
body.rhsp-native .rhsp-meta { font-size: 14px; line-height: 1.5; color: #6B7B8D; }
body.rhsp-native .rhsp-card-body p[itemprop="description"] { font-size: 16px; line-height: 1.65; color: #6B7B8D; }
body.rhsp-native .rhsp-card .rhsp-more { color: #1B75BB; font-size: 16px; font-weight: 600; line-height: 1.5; }
body.rhsp-native .rhsp-more { margin-top: auto; min-height: 44px; display: inline-flex; align-items: center; text-decoration: underline; }
body.rhsp-native .rhsp-pagination ul { display: flex; flex-wrap: wrap; gap: 12px; list-style: none; padding: 24px 0; }
body.rhsp-native .rhsp-pagination :is(a,span) { display: inline-flex; min-width: 44px; min-height: 44px; align-items: center; justify-content: center; }
body.rhsp-native.home .elementor-13 .elementor-element-2236547 { position: relative; background-color: #202a29; }
body.rhsp-native.home .elementor-13 .elementor-element-2236547 .elementor-background-video-container { position: absolute; inset: 0; width: 100%; height: 100%; overflow: hidden; pointer-events: none; }
body.rhsp-native.home .elementor-13 .elementor-element-2236547 video { width: 100% !important; height: 100% !important; object-fit: cover; object-position: center; }
/* Only the inspected hero button row, no header/footer or card anchors. */
body.rhsp-native.home .elementor-13 .elementor-element-1f8becb { display: flex; flex-wrap: wrap; gap: 16px; }
body.rhsp-native.home .elementor-13 .elementor-element-1f8becb .elementor-button { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; }
@media (max-width: 767px) {
  body.rhsp-native .rhsp-grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  body.rhsp-native .rhsp-card-body { padding: 20px; }
  body.rhsp-native.single-post .elementor-widget-theme-post-content { font-size: 17px; padding-inline: 18px; }
  body.rhsp-native.home .elementor-13 .elementor-element-1f8becb > .elementor-widget-button { width: 100%; }
}
body.rhsp-native .rhsp-archive { padding: 60px 24px; width: 100%; }
body.rhsp-native .rhsp-archive > h1 { max-width: 1160px; margin: 0 auto 32px; }
body.rhsp-native .rhsp-legal { width: 100%; min-width: 0; }
body.rhsp-native .rhsp-legal .legal-content { min-width: 0; }
body.rhsp-native .rhsp-legal :is(a,button):focus-visible { outline: 3px solid #1b75bb; outline-offset: 4px; }

/* Captured native article header is #wrh-ph, not .wrh-post-header. */
body.rhsp-native.single-post #wrh-ph { padding-block: 48px !important; }
body.rhsp-native.single-post #wrh-ph .wrh-inner {
  width: 100% !important; max-width: 1100px !important; margin-inline: auto !important;
  padding-inline: 24px !important; box-sizing: border-box;
}
body.rhsp-native.single-post #wrh-ph .wrh-ph-title {
  font-size: clamp(30px, 4vw, 46px) !important; line-height: 1.15 !important;
  font-weight: 700; margin-block: 20px 24px !important; color: #fff; text-wrap: balance;
}
body.rhsp-native.single-post #wrh-ph .wrh-ph-bc,
body.rhsp-native.single-post #wrh-ph .wrh-ph-meta { font-size: 14px; line-height: 1.6; color: #e0e7ef; display: flex; flex-wrap: wrap; gap: 12px; }
body.rhsp-native.single-post #wrh-ph .wrh-ph-bc a { color: inherit; text-decoration: underline; }
@media (max-width: 767px) {
  body.rhsp-native.single-post #wrh-ph { padding-block: 32px !important; }
}

/* Captured live direct text became these native wrappers. Keep emphasis siblings untouched. */
body.rhsp-native .hero h1 > .oxy-text-2612-200,
body.rhsp-native .hero h1 > .oxy-text-44-198,
body.rhsp-native .hero h1 > .oxy-text-2693-198,
body.rhsp-native .hero h1 > .oxy-text-2667-200,
body.rhsp-native .hero h1 > .oxy-text-2955-200,
body.rhsp-native .hero h1 > .oxy-text-2955-201,
body.rhsp-native .hero h1 > .oxy-text-2955-202,
body.rhsp-native .hero h1 > .oxy-text-2975-200,
body.rhsp-native .hero h1 > .oxy-text-3020-203,
body.rhsp-native .hero h1 > .oxy-text-3022-203,
body.rhsp-native .hero h1 > .oxy-text-3268-203,
body.rhsp-native .hero h1 > .oxy-text-3026-203,
body.rhsp-native .hero h1 > .oxy-text-3026-205,
body.rhsp-native .hero h1 > .oxy-text-2630-203,
body.rhsp-native .hero h1 > .oxy-text-2630-205,
body.rhsp-native .hero h1 > .oxy-text-2487-198,
body.rhsp-native .hero h1 > .oxy-text-2487-200,
body.rhsp-native .hero h1 > .oxy-text-2698-198,
body.rhsp-native .hero h1 > .oxy-text-2814-200,
body.rhsp-native .hero h1 > .oxy-text-2590-200,
body.rhsp-native .hero h1 > .oxy-text-2947-200,
body.rhsp-native .hero h1 > .oxy-text-2951-200,
body.rhsp-native .hero h1 > .oxy-text-2945-200,
body.rhsp-native .hero h1 > .oxy-text-2939-200,
body.rhsp-native .hero h1 > .oxy-text-2943-200,
body.rhsp-native .hero h1 > .oxy-text-2943-201,
body.rhsp-native .hero h1 > .oxy-text-2943-202,
body.rhsp-native .hero h1 > .oxy-text-3836-200,
body.rhsp-native .hero h1 > .oxy-text-3834-200,
body.rhsp-native .hero h1 > .oxy-text-3845-200,
body.rhsp-native .hero h1 > .oxy-text-2812-203,
body.rhsp-native .hero h1 > .oxy-text-3825-200 {
  background: none !important; background-clip: border-box !important;
  -webkit-background-clip: border-box !important; -webkit-text-fill-color: #fff !important; color: #fff !important;
}
/* Restore the amount only; the existing VAT qualifier remains 1rem/600. */
body.rhsp-native .elementor-2839 .price > .oxy-text-2839-252 {
  font-size: 3.5rem !important; font-weight: 900 !important; line-height: 1 !important;
}
@media (max-width: 767px) {
  body.rhsp-native .elementor-2839 .price > .oxy-text-2839-252 { font-size: clamp(2rem, 8vw, 3.5rem) !important; }
}
/* Only actual interactive controls with the inspected toggle classes. */
body.rhsp-native :is(button, a):is(.expand-btn, .service-instruction-toggle) {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 44px; min-width: 44px; max-width: 100%; box-sizing: border-box;
  padding: 10px 14px; margin-block: 12px 0; white-space: normal;
}
body.rhsp-native :is(button, a):is(.expand-btn, .service-instruction-toggle):focus-visible {
  outline: 3px solid #1b75bb; outline-offset: 4px;
}

/* Published-guide hub only, within the existing page container. */
body.rhsp-native .elementor-2964 .rhsp-guide {
  width: 100%; max-width: 1000px; margin-inline: auto; padding: 60px 24px;
  box-sizing: border-box; color: #0B1D3A; font-size: 18px; line-height: 1.65;
}
body.rhsp-native .elementor-2964 .rhsp-guide h1 { font-size: clamp(28px, 4vw, 44px); line-height: 1.2; margin: 0 0 24px; }
body.rhsp-native .elementor-2964 .rhsp-guide blockquote { margin: 0 0 24px; padding-left: 20px; border-left: 3px solid #1B75BB; }
body.rhsp-native .elementor-2964 .rhsp-guide .rhsp-more { min-height: 44px; max-width: 100%; overflow-wrap: anywhere; color: #1B75BB; }
body.rhsp-native .elementor-2964 .rhsp-guide a:focus-visible { outline: 3px solid #1B75BB; outline-offset: 4px; }
@media (max-width: 767px) {
  body.rhsp-native .elementor-2964 .rhsp-guide { padding: 36px 18px; font-size: 17px; }
}

/* Demoted inner hero title on Devon only; outer post header is separate. */
body.rhsp-native.postid-2546 .elementor-widget-theme-post-content .hero-inner > h2 {
  color: #fff !important; -webkit-text-fill-color: #fff !important;
  font-size: clamp(28px, 4vw, 42px) !important; line-height: 1.2 !important; font-weight: 700 !important;
}
body.rhsp-native.postid-2546 .elementor-widget-theme-post-content .rhsp-devon-project img {
  display: block; max-width: 100%; height: auto; border-radius: 12px;
}
body.rhsp-native.postid-2546 .elementor-widget-theme-post-content .rhsp-devon-project figcaption {
  margin-top: 10px; font-size: 14px; line-height: 1.5; color: #6B7B8D;
}

/* The legal fallback shell needs explicit logo sizing independent of source-page CSS. */
body.rhsp-native:is(.page-id-3364,.page-id-3366) #masthead .wrh-logo img { height:80px !important; width:auto !important; max-width:160px !important; object-fit:contain; }
@media(max-width:767px) { body.rhsp-native:is(.page-id-3364,.page-id-3366) #masthead .wrh-logo img { height:42px !important; max-width:100px !important; } }
