/* ==========================================================================
   Blog category filter — Divi 5 Post Filter as a horizontal bar
   Classes are doubled so these outrank Divi's module CSS, which loads
   after your stylesheet.
   ========================================================================== */

.et_pb_post_filter.rp-post-filter.rp-post-filter {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: flex-end !important;
  justify-content: flex-start !important;
  gap: 0 36px !important;              /* 0 vertical · 36px horizontal */
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow-x: auto !important;         /* scrolls sideways when it runs out of room */
  background: transparent !important;
  border: 0 !important;
}

/* collapse Divi's form and item columns */
.et_pb_post_filter.rp-post-filter .et_pb_post_filter__form.et_pb_post_filter__form,
.et_pb_post_filter.rp-post-filter .et_pb_post_filter_item.et_pb_post_filter_item {
  display: contents !important;
}

/* the option wrappers become rows themselves */
.et_pb_post_filter.rp-post-filter .et_pb_post_filter__item-options-wrapper.et_pb_post_filter__item-options-wrapper,
.et_pb_post_filter.rp-post-filter .et_pb_post_filter__item-options-list.et_pb_post_filter__item-options-list {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: flex-end !important;
  gap: 0 36px !important;              /* 0 vertical · 36px horizontal */
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.et_pb_post_filter.rp-post-filter .et_pb_post_filter__item-option.et_pb_post_filter__item-option {
  display: block !important;
  flex: 0 0 auto !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* hide the radio and the control box Divi draws inside the label */
.et_pb_post_filter.rp-post-filter .et_pb_post_filter__item-control {
  position: absolute !important;
  opacity: 0 !important;
  width: 1px !important;
  height: 1px !important;
  margin: 0 !important;
}

.et_pb_post_filter.rp-post-filter .et_pb_post_filter__item-option label > i {
  display: none !important;
}

/* each category reads as a tab */
.et_pb_post_filter.rp-post-filter .et_pb_post_filter__item-option > label {
  display: block !important;
  white-space: nowrap !important;
  padding: 18px 0 !important;          /* 18px vertical · 0 horizontal */
  margin: 0 0 -1px 0 !important;       /* drops the underline onto the hairline */
  font-family: var(--rp-font) !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  text-transform: none !important;
  color: #57534E !important;
  border-bottom: 2px solid transparent !important;
  cursor: pointer;
}

.et_pb_post_filter.rp-post-filter .et_pb_post_filter__item-option > label:hover {
  color: #1C1917 !important;
}

/* active category */
.et_pb_post_filter.rp-post-filter .et_pb_post_filter__item-control:checked + label {
  color: #1C1917 !important;
  font-weight: 600 !important;
  border-bottom-color: #C2410C !important;
}

/* "All" — the Reset button, pulled to the front */
.et_pb_post_filter.rp-post-filter .et_pb_post_filter__item-control-reset {
  order: -1 !important;
  flex: 0 0 auto !important;
  width: auto !important;
  white-space: nowrap !important;
  padding: 18px 0 !important;          /* 18px vertical · 0 horizontal */
  margin: 0 0 -1px 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 2px solid #C2410C !important;
  border-radius: 0 !important;
  font-family: var(--rp-font) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  color: #1C1917 !important;
  cursor: pointer;
}

/* Divi adds an arrow icon to .et_pb_button on hover */
.et_pb_post_filter.rp-post-filter .et_pb_post_filter__item-control-reset:after {
  display: none !important;
}





/* ================================================================
   RP IT — single post
   ================================================================ */

/* ---------- Layout ---------- */
.single-post #sidebar { display: none; }
.single-post #main-content .container:before { display: none; }

.single-post #main-content .container {
  width: 100%;
  max-width: 1200px;
  padding: 56px 32px 0;        /* 56px top · 32px horizontal */
  box-sizing: border-box;
}
.single-post #left-area {
  float: none;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0 0 48px;           /* 0 horizontal · 48px bottom */
}
.single-post #left-area img,
.single-post #left-area iframe { max-width: 100%; height: auto; }

/* Divi wrappers match the article column */
.single-post .entry-content .et_pb_section { padding: 24px 0 64px; }
.single-post .entry-content .et_pb_row {
  width: 100%;
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
  padding: 0;
}

/* ---------- Title + meta ---------- */
.single-post .entry-title {
  font-family: inherit;
  font-size: clamp(36px, 4.2vw, 56px);
  line-height: 1.08;
  font-weight: 600;
  letter-spacing: -0.03em;
  color: #1C1917;
  margin-top: 40px;
  padding-bottom: 16px;
  text-wrap: balance;
}
.single-post .post-meta,
.single-post .post-meta a {
  font-size: 14px;
  line-height: 1.5;
  color: #57534E;
}
.single-post .post-meta a { font-weight: 500; text-decoration: none; }

/* ---------- Module rhythm ---------- */
.single-post .entry-content .et_pb_text,
.single-post .entry-content .et_pb_accordion { margin-top: 0; }

.single-post .entry-content .et_pb_heading {
  margin: 44px 0 16px;         /* 44px above · 16px below */
}
.single-post .entry-content .et_pb_module:first-child { margin-top: 0; }

/* ---------- Body copy ---------- */
.single-post .entry-content,
.single-post .entry-content .et_pb_text_inner {
  font-size: 18px;
  line-height: 1.7;
  font-weight: 400;
  color: #44403C;
}
.single-post .entry-content .et_pb_text { text-align: left; }
.single-post .entry-content .et_pb_text_inner p { margin: 0 0 20px; }
.single-post .entry-content .et_pb_text_inner p:last-child { margin-bottom: 0; }

/* Opening paragraph reads as a lede */
.single-post .entry-content .et_pb_text_0 .et_pb_text_inner p:first-child {
  font-size: 20px;
  line-height: 1.6;
  color: #1C1917;
}

.single-post .entry-content strong { font-weight: 600; color: #1C1917; }
.single-post .entry-content a { color: #C2410C; font-weight: 500; }
.single-post .entry-content a:hover { text-decoration: underline; }

/* ---------- Section headings ---------- */
.single-post .entry-content .et_pb_heading .et_pb_module_header,
.single-post .entry-content .et_pb_text_inner h2 {
  font-family: inherit;
  font-size: 30px;
  line-height: 1.2;
  font-weight: 600;
  letter-spacing: -0.015em;
  color: #1C1917;
  text-align: left;
  margin: 0;
  padding: 0;
}
.single-post .entry-content .et_pb_text_inner h3 {
  font-family: inherit;
  font-size: 21px;
  line-height: 1.3;
  font-weight: 600;
  color: #1C1917;
  margin: 28px 0 12px;         /* 28px above · 12px below */
  padding: 0;
}

/* ---------- Tables ---------- */
.single-post .entry-content table {
  width: 100%;
  border: 0;
  border-collapse: collapse;
  margin: 8px 0 28px;          /* 8px above · 28px below */
}
.single-post .entry-content table td {
  font-size: 15px;
  line-height: 1.6;
  text-align: left;
  vertical-align: top;
  padding: 14px 16px;          /* 14px vertical · 16px horizontal */
  border: 0;
  border-bottom: 1px solid #E7E5E4;
}
.single-post .entry-content table tr td:first-child {
  font-weight: 600;
  color: #1C1917;
}
.single-post .entry-content table th,
.single-post .entry-content table tr:first-child td {
  font-size: 14px;
  font-weight: 600;
  color: #1C1917;
  background: #F5F5F4;
  text-align: left;
  padding: 14px 16px;          /* 14px vertical · 16px horizontal */
  border: 0;
  border-bottom: 2px solid #1C1917;
}

/* ---------- FAQ accordion ---------- */
.single-post .et_pb_accordion { margin: 24px 0 0; border: 0; }

.single-post .et_pb_accordion .et_pb_accordion_item {
  background-color: transparent;
  border: 0;
  border-top: 1px solid #E7E5E4;
  padding: 20px 0;             /* 20px vertical · 0 horizontal */
}
.single-post .et_pb_accordion .et_pb_accordion_item:first-child {
  border-top: 2px solid #1C1917;
}
.single-post .et_pb_accordion .et_pb_accordion_item:last-child {
  border-bottom: 1px solid #E7E5E4;
}

.single-post .entry-content .et_pb_accordion .et_pb_accordion_item h3.et_pb_toggle_title {
  position: relative;
  font-family: inherit;
  font-size: 18px;
  line-height: 1.35;
  font-weight: 600;
  color: #1C1917;
  margin: 0;
  padding: 0 44px 0 0;    /* 0 vertical · 44px right for the icon */
  cursor: pointer;
}
.single-post .et_pb_accordion .et_pb_toggle_content {
  font-size: 16px;
  line-height: 1.7;
  color: #44403C;
  padding: 8px 0 0;
}
.single-post .et_pb_accordion .et_pb_toggle_content p { margin: 0 0 12px; }
.single-post .et_pb_accordion .et_pb_toggle_content p:last-child { margin-bottom: 0; }

/* Plain +/− in place of Divi's icon font */
.single-post .et_pb_accordion .et_pb_toggle_title:after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  width: 16px;
  height: 2px;
  margin-top: -1px;
  background: #1C1917;
}
.single-post .et_pb_accordion .et_pb_toggle_title:before {
  content: "";
  font-family: inherit;
  font-size: 0;
  position: absolute;
  right: 7px;
  left: auto;
  top: 50%;
  width: 2px;
  height: 16px;
  margin-top: -8px;
  background: #1C1917;
  color: transparent;
}
.single-post .et_pb_accordion .et_pb_toggle_open .et_pb_toggle_title:before {
  display: none;
}