/* ================================================================
   ODYSSEY FAQ SECTION
   Global styling for approved Odyssey FAQ blocks.

   Required Elementor classes:
   Overall FAQ container: obh-faq-grid
   Individual FAQ container: obh-faq-item
   Question Heading widget: obh-faq-question
   Divider widget: obh-faq-divider
   Answer Text Editor widget: obh-faq-answer
   ================================================================ */


/* ================================================================
   GLOBAL FAQ DESIGN TOKENS
   These values control the desktop design.
   ================================================================ */

.obh-faq-grid {
  --obh-faq-question-size: 1.25rem;
  --obh-faq-answer-size: 1.06rem;
  --obh-faq-grid-padding: var(--obh-section-padding-block) var(--obh-section-padding-inline);
  --obh-faq-question-letter-spacing: -0.3px;

  --obh-faq-column-gap: 80px;
  --obh-faq-row-gap: 40px;
  --obh-faq-item-gap: 12px;
  --obh-faq-divider-extra-gap: 20px;

  --obh-faq-question-width: 60%;

  --obh-faq-question-color: #204e88;
  --obh-faq-answer-color: #102a4d;
  --obh-faq-link-color: #78387c;
  --obh-faq-link-hover-color: #204e88;


  box-sizing: border-box !important;
  padding: var(--obh-faq-grid-padding) !important;

  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;

  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  column-gap: var(--obh-faq-column-gap) !important;
  row-gap: var(--obh-faq-row-gap) !important;
  grid-auto-flow: row !important;
  align-items: start !important;
}


/* Support Elementor containers that use an inner wrapper. */

.obh-faq-grid > .e-con-inner {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;

  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  column-gap: var(--obh-faq-column-gap) !important;
  row-gap: var(--obh-faq-row-gap) !important;
  grid-auto-flow: row !important;
  align-items: start !important;
}

/* Keep FAQ reading order locked to columns:
   odd-numbered questions left, even-numbered questions right. */

.obh-faq-grid > .obh-faq-item:nth-child(odd),
.obh-faq-grid > .e-con-inner > .obh-faq-item:nth-child(odd) {
  grid-column: 1 !important;
}

.obh-faq-grid > .obh-faq-item:nth-child(even),
.obh-faq-grid > .e-con-inner > .obh-faq-item:nth-child(even) {
  grid-column: 2 !important;
}

/* ================================================================
   INDIVIDUAL FAQ ITEM
   ================================================================ */

.obh-faq-grid .obh-faq-item {
  --width: 100% !important;
  --flex-grow: 0 !important;
  --flex-shrink: 1 !important;
  flex-basis: auto !important;
  grid-column: auto !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;

  gap: var(--obh-faq-item-gap) !important;

  margin: 0 !important;
  padding: 0 !important;
}


/* Support FAQ item containers with an Elementor inner wrapper. */

.obh-faq-grid .obh-faq-item > .e-con-inner {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;

  gap: var(--obh-faq-item-gap) !important;

  margin: 0 !important;
  padding: 0 !important;
}


/* Remove Elementor's default widget spacing inside each FAQ item. */

.obh-faq-grid .obh-faq-item > .elementor-element,
.obh-faq-grid .obh-faq-item > .e-con-inner > .elementor-element,
.obh-faq-grid .obh-faq-item .elementor-widget {
  margin-top: 0 !important;
  margin-right: 0 !important;
  margin-bottom: 0 !important;
  margin-left: 0 !important;
}


/* ================================================================
   FAQ QUESTION
   ================================================================ */

.obh-faq-grid .obh-faq-question {
  width: var(--obh-faq-question-width) !important;
  max-width: var(--obh-faq-question-width) !important;
  min-width: 0 !important;

  margin: 0 !important;
  padding: 0 !important;
}


.obh-faq-grid .obh-faq-question .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
}


.obh-faq-grid .obh-faq-question .elementor-heading-title,
.obh-faq-grid h3.obh-faq-question {
  margin: 0 !important;
  padding: 0 !important;

  color: var(--obh-faq-question-color) !important;

  font-family: "LT Superior", sans-serif !important;
  font-size: var(--obh-faq-question-size) !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 1.25em !important;
  letter-spacing: var(--obh-faq-question-letter-spacing) !important;
  text-transform: none !important;
}


/* ================================================================
   FAQ ANSWER
   ================================================================ */

.obh-faq-grid .obh-faq-answer {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;

  margin: 0 !important;
  padding: 0 !important;

  color: var(--obh-faq-answer-color) !important;

  font-family: "LT Superior", sans-serif !important;
  font-size: var(--obh-faq-answer-size) !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 1.4em !important;
  letter-spacing: 0px !important;
}


.obh-faq-grid .obh-faq-answer .elementor-widget-container,
.obh-faq-grid .obh-faq-answer .elementor-text-editor {
  margin: 0 !important;
  padding: 0 !important;
}

.obh-faq-grid .obh-faq-answer p,
.obh-faq-grid .obh-faq-answer li {
	width: 100% !important;
	max-width: 100% !important;
	
  color: var(--obh-faq-answer-color) !important;

  font-family: "LT Superior", sans-serif !important;
  font-size: var(--obh-faq-answer-size) !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 1.4em !important;
  letter-spacing: 0px !important;
}


/* Paragraph spacing inside an FAQ answer. */

.obh-faq-grid .obh-faq-answer p {
  margin-top: 0 !important;
  margin-right: 0 !important;
  margin-bottom: 16px !important;
  margin-left: 0 !important;
  padding: 0 !important;
}


.obh-faq-grid .obh-faq-answer p:first-child {
  margin-top: 0 !important;
}


.obh-faq-grid .obh-faq-answer p:last-child {
  margin-bottom: 0 !important;
}


/* ================================================================
   LISTS INSIDE FAQ ANSWERS
   ================================================================ */

.obh-faq-grid .obh-faq-answer ul,
.obh-faq-grid .obh-faq-answer ol {
  margin-top: 8px !important;
  margin-right: 0 !important;
  margin-bottom: 16px !important;
  margin-left: 0 !important;

  padding-left: 1.5em !important;

  color: var(--obh-faq-answer-color) !important;

  font-family: "LT Superior", sans-serif !important;
  font-size: var(--obh-faq-answer-size) !important;
  font-weight: 500 !important;
  line-height: 1.4em !important;
  letter-spacing: 0px !important;
}


.obh-faq-grid .obh-faq-answer li {
  margin-top: 0 !important;
  margin-right: 0 !important;
  margin-bottom: 6px !important;
  margin-left: 0 !important;
  padding: 0 !important;
}


.obh-faq-grid .obh-faq-answer li:last-child {
  margin-bottom: 0 !important;
}


.obh-faq-grid .obh-faq-answer ul:last-child,
.obh-faq-grid .obh-faq-answer ol:last-child {
  margin-bottom: 0 !important;
}


/* Nested lists inside an FAQ answer. */

.obh-faq-grid .obh-faq-answer li > ul,
.obh-faq-grid .obh-faq-answer li > ol {
  margin-top: 6px !important;
  margin-bottom: 0 !important;
}


/* ================================================================
   LINKS INSIDE FAQ ANSWERS
   ================================================================ */

.obh-faq-grid .obh-faq-answer a {
  color: var(--obh-faq-link-color) !important;

  font-family: inherit !important;
  font-size: inherit !important;
  font-style: normal !important;
  font-weight: inherit !important;
  line-height: inherit !important;

  text-decoration-line: underline !important;
  text-decoration-style: solid !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 3px !important;

  transition:
    color 0.2s ease,
    text-decoration-thickness 0.2s ease !important;
}


.obh-faq-grid .obh-faq-answer a:hover,
.obh-faq-grid .obh-faq-answer a:focus-visible {
  color: var(--obh-faq-link-hover-color) !important;
  text-decoration-thickness: 1.5px !important;
}


/* ================================================================
   CONTENT-FORMATTING GUARDRAILS
   Prevent pasted bold, italic, headings, or colors from changing
   the approved frontend typography.
   ================================================================ */

.obh-faq-grid .obh-faq-answer strong,
.obh-faq-grid .obh-faq-answer b,
.obh-faq-grid .obh-faq-answer em,
.obh-faq-grid .obh-faq-answer i {
  color: inherit !important;
  font-family: inherit !important;
  font-size: inherit !important;
  font-style: normal !important;
  font-weight: inherit !important;
  line-height: inherit !important;
}


.obh-faq-grid .obh-faq-answer h1,
.obh-faq-grid .obh-faq-answer h2,
.obh-faq-grid .obh-faq-answer h3,
.obh-faq-grid .obh-faq-answer h4,
.obh-faq-grid .obh-faq-answer h5,
.obh-faq-grid .obh-faq-answer h6 {
  margin-top: 0 !important;
  margin-right: 0 !important;
  margin-bottom: 16px !important;
  margin-left: 0 !important;
  padding: 0 !important;

  color: var(--obh-faq-answer-color) !important;

  font-family: "LT Superior", sans-serif !important;
  font-size: var(--obh-faq-answer-size) !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 1.4em !important;
  letter-spacing: 0px !important;
  text-transform: none !important;
}


/* Prevent inline styles pasted into the answer from changing color. */

.obh-faq-grid .obh-faq-answer [style*="color"] {
  color: var(--obh-faq-answer-color) !important;
}


/* Remove unwanted space after the final answer element. */

.obh-faq-grid .obh-faq-answer
.elementor-widget-container > :last-child {
  margin-bottom: 0 !important;
}


.obh-faq-grid .obh-faq-answer
.elementor-text-editor > :last-child {
  margin-bottom: 0 !important;
}


/* ================================================================
   LAPTOP
   Two columns.
   ================================================================ */

@media (max-width: 1200px) {
  .obh-faq-grid {
    --obh-faq-question-size: 1.2rem;
    --obh-faq-answer-size: 1rem;

    --obh-faq-column-gap: 56px;
    --obh-faq-row-gap: 56px;
    --obh-faq-item-gap: 12px;
    --obh-faq-divider-extra-gap: 12px;

    --obh-faq-question-width: 75%;
  }
}


/* ================================================================
   TABLET
   Two columns.
   ================================================================ */

@media (max-width: 1024px) {
  .obh-faq-grid {
    --obh-faq-question-size: 1.2rem;
    --obh-faq-question-letter-spacing: -0.3px;
    --obh-faq-answer-size: 0.96rem;

    --obh-faq-column-gap: 56px;
    --obh-faq-row-gap: 56px;
    --obh-faq-item-gap: 12px;
    --obh-faq-divider-extra-gap: 8px;

    --obh-faq-question-width: 75%;
  }
}


/* ================================================================
   LANDSCAPE MOBILE
   One column.
   ================================================================ */

@media (max-width: 767px) and (min-width: 568px) {
  .obh-faq-grid {
    --obh-faq-question-size: 1.2rem;
    --obh-faq-answer-size: 0.96rem;

    --obh-faq-column-gap: 0;
    --obh-faq-row-gap: 44px;
    --obh-faq-item-gap: 12px;
    --obh-faq-divider-extra-gap: 8px;

    --obh-faq-question-width: 90%;

    grid-template-columns: minmax(0, 1fr) !important;
  }


  .obh-faq-grid > .e-con-inner {
    grid-template-columns: minmax(0, 1fr) !important;
  }
	
.obh-faq-grid > .obh-faq-item:nth-child(n),
.obh-faq-grid > .e-con-inner > .obh-faq-item:nth-child(n) {
  grid-column: 1 !important;
}
}


/* ================================================================
   PORTRAIT MOBILE
   One column with 44px between FAQ items.
   ================================================================ */

@media (max-width: 567px) {
  .obh-faq-grid {
    --obh-faq-question-size: 1.2rem;
    --obh-faq-answer-size: 0.96rem;

    --obh-faq-column-gap: 0;
    --obh-faq-row-gap: 44px;
    --obh-faq-item-gap: 12px;
    --obh-faq-divider-extra-gap: 8px;

    --obh-faq-question-width: 95%;

    grid-template-columns: minmax(0, 1fr) !important;
    column-gap: 0 !important;
  }


  .obh-faq-grid > .e-con-inner {
    grid-template-columns: minmax(0, 1fr) !important;
    column-gap: 0 !important;
  }
	.obh-faq-grid > .obh-faq-item:nth-child(n),
.obh-faq-grid > .e-con-inner > .obh-faq-item:nth-child(n) {
  grid-column: 1 !important;
}
}
/* ================================================================
   SHORTCODE FAQ SECTION SHELL
   Shortcode: [obh_section_faqs]

   Eyebrow styling remains owned by .obh-eyebrow.
   Main section heading remains a standard global H2.
   ================================================================ */

.obh-faq-section {
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0;

  background: var(--obh-white);

  box-sizing: border-box;
}

.obh-faq-header {
  width: 100%;
  min-width: 0;

  padding:
    var(--obh-section-padding-block)
    var(--obh-section-padding-inline);

  background: #e9f0f8;

  box-sizing: border-box;
}

.obh-faq-header__heading {
  margin: 0;
}

.obh-faq-grid {
  background: var(--obh-white);
}

.obh-faq-grid h3.obh-faq-question {
  margin: 0 !important;
}

.obh-faq-divider {
  margin: 0 !important;
  padding-top: 0 !important;
}

.obh-faq-divider .elementor-divider {
  padding: 0 !important;
}
