/* narrow left column, wide right column */
.rp-split.et_pb_row {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
  gap: 48px 72px !important;        /* ↕ vertical, ↔ horizontal */
}
.rp-split.et_pb_row > .et_pb_column {
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
}
.rp-split.et_pb_row > .et_pb_column:nth-of-type(1) {
  flex: 1 1 320px !important;
}
.rp-split.et_pb_row > .et_pb_column:nth-of-type(2) {
  flex: 999 1 560px !important;
  max-width: 720px !important;
}

.et_pb_section.rp-contact-hero { padding-top: 88px !important; padding-bottom: 104px !important; }
.et_pb_section.rp-call-section { padding-top: 88px !important; padding-bottom: 88px !important; }

.rp-map, .rp-map .et_pb_code_inner, .rp-map iframe { height: 100% !important; }






/* ==========================================================================
   Blog hero search
   Button is absolutely positioned — no dependency on Divi's wrapper markup.
   ========================================================================== */

.rp-blog-search.et_pb_search,
.rp-blog-search .et_pb_module_inner {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

.rp-blog-search .et_pb_searchform {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: 48px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #FFFFFF !important;
  overflow: hidden !important;
}

/* flatten any wrapper Divi adds inside the form */
.rp-blog-search .et_pb_searchform > div,
.rp-blog-search .et_pb_searchform > p {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

/* the input */
.rp-blog-search .et_pb_s,
.rp-blog-search input[type="search"],
.rp-blog-search input[type="text"] {
  box-sizing: border-box !important;
  display: block !important;
  width: 100% !important;
  height: 48px !important;
  margin: 0 !important;
  padding: 0 56px 0 16px !important;   /* 56px right keeps text clear of the button */
  background: #FFFFFF !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: none !important;
  font-family: var(--rp-font) !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 48px !important;
  color: #1C1917 !important;
}

/* placeholder — the orange is coming from a global rule, so this needs the weight */
.rp-blog-search .et_pb_s::placeholder,
.rp-blog-search input[type="search"]::placeholder,
.rp-blog-search input[type="text"]::placeholder {
  color: #57534E !important;
  opacity: 1 !important;
  font-weight: 400 !important;
}

/* the button */
.rp-blog-search .et_pb_searchsubmit,
.rp-blog-search input[type="submit"],
.rp-blog-search button[type="submit"] {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  bottom: auto !important;
  left: auto !important;
  width: 48px !important;
  height: 48px !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-left: 1px solid #E7E5E4 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  cursor: pointer;
  text-indent: -9999px !important;
  overflow: hidden !important;
  font-size: 0 !important;
  background: #FFFFFF url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%231C1917' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='10.4' cy='10.4' r='7'/%3E%3Cpath d='M15.35 15.35l5.15 5.15'/%3E%3C/svg%3E") center / 18px 18px no-repeat !important;
}

.rp-blog-search .et_pb_searchsubmit:hover,
.rp-blog-search input[type="submit"]:hover,
.rp-blog-search button[type="submit"]:hover {
  background-color: #F5F5F4 !important;
}






/* ==========================================================================
   SEO topic tabs — vertical nav left, panel right
   Divi 5 has no vertical-tabs setting, so the flip is done here.
   ========================================================================== */

.et_pb_tabs.rp-seo-tabs {
  display: flex !important;
  align-items: flex-start !important;
  gap: 0 72px !important;            /* 0 vertical · 72px horizontal */
  border: 0 !important;
}

.et_pb_tabs.rp-seo-tabs .et_pb_tabs_controls {
  flex: 0 0 340px !important;
  display: flex !important;
  flex-direction: column !important;
  border: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.et_pb_tabs.rp-seo-tabs .et_pb_tabs_controls:before,
.et_pb_tabs.rp-seo-tabs .et_pb_tabs_controls:after {
  content: none !important;
}

.et_pb_tabs.rp-seo-tabs .et_pb_tab_nav_item {
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
  border: 0 !important;
  border-left: 1px solid #E7E5E4 !important;
}

.et_pb_tabs.rp-seo-tabs .et_pb_tab_nav_item_link {
  display: block !important;
  padding: 14px 16px !important;     /* 14px vertical · 16px horizontal */
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  color: #57534E !important;
  text-decoration: none !important;
}

.et_pb_tabs.rp-seo-tabs .et_pb_tab_active .et_pb_tab_nav_item_link {
  color: #1C1917 !important;
  font-weight: 600 !important;
}

.et_pb_tabs.rp-seo-tabs .et_pb_tab_nav_item.et_pb_tab_active {
  background: #E9E8E6 !important;
  border-left-color: #E9E8E6 !important;
}

.et_pb_tabs.rp-seo-tabs .et_pb_all_tabs {
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

.et_pb_tabs.rp-seo-tabs .et_pb_tab {
  padding: 0 !important;
  border: 0 !important;
}

/* the panel's inner wrapper — one gap controls all spacing */
.et_pb_tabs.rp-seo-tabs .et_pb_tab_content {
  display: flex !important;
  flex-direction: column !important;
  gap: 24px !important;              /* 24px vertical */
  max-width: 780px !important;
}

.et_pb_tabs.rp-seo-tabs .et_pb_tab_content > * {
  margin: 0 !important;
}


.et_pb_tabs.rp-seo-tabs .et_pb_tabs_controls,
.et_pb_tabs.rp-seo-tabs .et_pb_tab_nav_item {
  background: transparent !important;
  background-color: transparent !important;
}

/* active row keeps its fill */
.et_pb_tabs.rp-seo-tabs .et_pb_tab_nav_item.et_pb_tab_active {
  background: #E9E8E6 !important;
}

.et_pb_tabs.rp-seo-tabs .et_pb_tab_content > * {
  margin: 0 !important;
}

.et_pb_tabs.rp-seo-tabs .et_pb_tab_content > * + * {
  margin-top: 24px !important;       /* 24px vertical */
}


.et_pb_tabs.rp-seo-tabs .et_pb_tab_content > * {
  margin: 0 0 24px 0 !important;     /* 24px vertical below each block */
}

.et_pb_tabs.rp-seo-tabs .et_pb_tab_content > *:last-child {
  margin-bottom: 0 !important;
}


.rp-seo-tabs .et_pb_tab_content p,
.rp-seo-tabs .et_pb_tab_content h1,
.rp-seo-tabs .et_pb_tab_content h2,
.rp-seo-tabs .et_pb_tab_content h3,
.rp-seo-tabs .et_pb_tab_content h4,
.rp-seo-tabs .et_pb_tab_content ul,
.rp-seo-tabs .et_pb_tab_content ol {
  margin: 0 0 24px 0 !important;     /* 24px vertical below each block */
}

.rp-seo-tabs .et_pb_tab_content p:last-child,
.rp-seo-tabs .et_pb_tab_content h3:last-child {
  margin-bottom: 0 !important;
}