.elementor .e-132668d{padding:4px;flex-direction:column;/* =====================================================
 JMC FAQ — RESET AND VARIABLES
 ===================================================== */

.jmc-faq-section,
.jmc-faq-section * {
box-sizing: border-box;
}

.jmc-faq-section {
--faq-navy: #0b1f49;
--faq-blue: #1769db;
--faq-blue-dark: #0d4fae;
--faq-blue-soft: #e8f3ff;
--faq-text: #334156;
--faq-muted: #617086;
--faq-border: #d7e5f1;
--faq-white: #ffffff;

position: relative;
width: 100%;
overflow: hidden;

padding: 90px 20px 70px;

background:
  radial-gradient(
    circle at 10% 10%,
    rgba(23, 105, 219, 0.08),
    transparent 28%
  ),
  linear-gradient(
    135deg,
    #edf7ff 0%,
    #f8fcff 50%,
    #eaf5ff 100%
  );

font-family: "Times New Roman", Times, serif;
}

.jmc-faq-container {
position: relative;
z-index: 2;

width: 100%;
max-width: 1050px;
margin: 0 auto;
}


/* =====================================================
 HEADING
 ===================================================== */

.jmc-faq-heading {
max-width: 900px;
margin: 0 auto 46px;

text-align: center;
}

.jmc-faq-eyebrow {
display: flex;
align-items: center;
justify-content: center;
gap: 14px;

margin-bottom: 17px;
}

.jmc-faq-eyebrow span {
width: 40px;
height: 2px;

background: var(--faq-blue);
}

.jmc-faq-eyebrow strong {
color: var(--faq-blue);

font-family: Arial, Helvetica, sans-serif;
font-size: 15px;
line-height: 1.3;
font-weight: 800;
letter-spacing: 0.5px;
text-transform: uppercase;
}

.jmc-faq-heading h2 {
margin: 0;

color: var(--faq-navy);

font-size: clamp(42px, 4.7vw, 64px);
line-height: 1.14;
font-weight: 700;
letter-spacing: -1.4px;
}

.jmc-faq-heading h2 span {
display: block;
margin-top: 5px;

color: var(--faq-blue);
}

.jmc-faq-heading p {
max-width: 760px;
margin: 21px auto 0;

color: var(--faq-text);

font-size: 19px;
line-height: 1.7;
}


/* =====================================================
 FAQ LIST
 ===================================================== */

.jmc-faq-list {
display: grid;
gap: 16px;
}

.jmc-faq-item {
overflow: hidden;

border: 1px solid var(--faq-border);
border-radius: 18px;

background: var(--faq-white);

box-shadow:
  0 14px 30px rgba(34, 72, 106, 0.09),
  0 4px 10px rgba(34, 72, 106, 0.05);

transition:
  transform 0.25s ease,
  border-color 0.25s ease,
  box-shadow 0.25s ease;
}

.jmc-faq-item:hover {
transform: translateY(-2px);

border-color: #a9cae7;

box-shadow:
  0 19px 36px rgba(34, 72, 106, 0.13),
  0 6px 14px rgba(34, 72, 106, 0.06);
}

.jmc-faq-item.is-open {
border-color: rgba(23, 105, 219, 0.52);

box-shadow:
  0 20px 40px rgba(23, 105, 219, 0.13),
  0 6px 15px rgba(34, 72, 106, 0.07);
}


/* =====================================================
 QUESTION BUTTON
 ===================================================== */

.jmc-faq-question {
width: 100%;
min-height: 82px;

display: flex;
align-items: center;
justify-content: space-between;
gap: 20px;

padding: 18px 22px;

border: 0;

background: var(--faq-white);
color: var(--faq-navy);

font-family: inherit;
text-align: left;

cursor: pointer;

transition:
  background 0.25s ease,
  color 0.25s ease;
}

/* Light hover with readable dark text */
.jmc-faq-item:not(.is-open) .jmc-faq-question:hover {
background: #edf6ff;
color: var(--faq-navy);
}

/* Active question */
.jmc-faq-item.is-open .jmc-faq-question {
background:
  linear-gradient(
    110deg,
    var(--faq-blue-dark),
    var(--faq-blue)
  );

color: var(--faq-white);
}

.jmc-faq-question-left {
min-width: 0;

display: flex;
align-items: center;
gap: 17px;
}

.jmc-faq-number {
width: 46px;
height: 46px;
flex: 0 0 46px;

display: inline-flex;
align-items: center;
justify-content: center;

border: 1px solid rgba(23, 105, 219, 0.1);
border-radius: 13px;

background: var(--faq-blue-soft);
color: var(--faq-blue);

font-family: Arial, Helvetica, sans-serif;
font-size: 14px;
line-height: 1;
font-weight: 800;

transition:
  background 0.25s ease,
  border-color 0.25s ease,
  color 0.25s ease;
}

.jmc-faq-question-text {
color: inherit;

font-size: 20px;
line-height: 1.4;
font-weight: 700;
}

/* Active number */
.jmc-faq-item.is-open .jmc-faq-number {
border-color: rgba(255, 255, 255, 0.35);

background: rgba(255, 255, 255, 0.16);
color: var(--faq-white);
}


/* =====================================================
 CSS PLUS / MINUS ICON
 No dependency on Dashicons
 ===================================================== */

.jmc-faq-toggle {
position: relative;

width: 40px;
height: 40px;
flex: 0 0 40px;

border: 1px solid rgba(23, 105, 219, 0.16);
border-radius: 50%;

background: var(--faq-blue);
color: var(--faq-white);

transition:
  background 0.25s ease,
  border-color 0.25s ease,
  transform 0.25s ease;
}

.jmc-faq-toggle::before,
.jmc-faq-toggle::after {
content: "";

position: absolute;
top: 50%;
left: 50%;

width: 15px;
height: 2px;

border-radius: 5px;

background: currentColor;

transform: translate(-50%, -50%);

transition:
  opacity 0.25s ease,
  transform 0.25s ease;
}

.jmc-faq-toggle::after {
transform:
  translate(-50%, -50%)
  rotate(90deg);
}

.jmc-faq-item.is-open .jmc-faq-toggle {
border-color: rgba(255, 255, 255, 0.42);

background: rgba(255, 255, 255, 0.15);
}

.jmc-faq-item.is-open .jmc-faq-toggle::after {
opacity: 0;

transform:
  translate(-50%, -50%)
  rotate(0deg);
}


/* =====================================================
 ANSWER ANIMATION
 ===================================================== */

.jmc-faq-answer {
display: grid;
grid-template-rows: 0fr;

visibility: hidden;

background: #fbfdff;

transition:
  grid-template-rows 0.35s ease,
  visibility 0.35s ease;
}

.jmc-faq-item.is-open .jmc-faq-answer {
grid-template-rows: 1fr;

visibility: visible;
}

.jmc-faq-answer-content {
min-height: 0;
overflow: hidden;

display: flex;
align-items: flex-start;
gap: 14px;

padding: 0 24px 0 85px;

border-top: 0 solid transparent;

opacity: 0;
transform: translateY(-6px);

transition:
  padding 0.35s ease,
  opacity 0.25s ease,
  transform 0.35s ease,
  border-color 0.35s ease;
}

.jmc-faq-item.is-open .jmc-faq-answer-content {
padding-top: 22px;
padding-bottom: 24px;

border-top: 1px solid #e2eaf1;

opacity: 1;
transform: translateY(0);
}

.jmc-faq-answer-icon {
width: 37px;
height: 37px;
flex: 0 0 37px;

display: inline-flex;
align-items: center;
justify-content: center;

border-radius: 50%;

background: #e7f2ff;
color: var(--faq-blue);

font-size: 20px;
line-height: 37px;
}

.jmc-faq-answer p {
margin: 3px 0 0;

color: #4a596e;

font-size: 17px;
line-height: 1.7;
}


/* =====================================================
 BOTTOM NOTE
 ===================================================== */

.jmc-faq-note {
max-width: 850px;
margin: 35px auto 0;

display: flex;
align-items: flex-start;
justify-content: center;
gap: 14px;

padding: 20px 24px;

border: 1px solid #d4e4f1;
border-radius: 15px;

background: var(--faq-white);

box-shadow: 0 10px 24px rgba(35, 74, 110, 0.08);
}

.jmc-faq-note .dashicons {
width: 25px;
height: 25px;
flex: 0 0 25px;

color: var(--faq-blue);

font-size: 25px;
}

.jmc-faq-note p {
margin: 0;

color: #536277;

font-size: 15px;
line-height: 1.55;
}


/* =====================================================
 TABLET
 ===================================================== */

@media (min-width: 768px) and (max-width: 1024px) {

.jmc-faq-section {
  padding: 72px 24px 58px;
}

.jmc-faq-heading h2 {
  font-size: 50px;
}

.jmc-faq-question {
  min-height: 76px;
  padding: 16px 20px;
}

.jmc-faq-question-text {
  font-size: 19px;
}

.jmc-faq-answer-content {
  padding-right: 22px;
  padding-left: 82px;
}
}


/* =====================================================
 MOBILE
 ===================================================== */

@media (max-width: 767px) {

.jmc-faq-section {
  padding: 58px 14px 46px;
}

.jmc-faq-heading {
  margin-bottom: 34px;
}

.jmc-faq-eyebrow {
  gap: 8px;
}

.jmc-faq-eyebrow span {
  width: 22px;
}

.jmc-faq-eyebrow strong {
  font-size: 11px;
}

.jmc-faq-heading h2 {
  font-size: 38px;
  line-height: 1.17;
  letter-spacing: -0.5px;
}

.jmc-faq-heading p {
  font-size: 16px;
  line-height: 1.65;
}

.jmc-faq-list {
  gap: 13px;
}

.jmc-faq-item {
  border-radius: 14px;
}

.jmc-faq-question {
  min-height: 74px;

  gap: 11px;

  padding: 14px 13px;
}

.jmc-faq-question-left {
  gap: 10px;
}

.jmc-faq-number {
  width: 39px;
  height: 39px;
  flex-basis: 39px;

  border-radius: 10px;

  font-size: 12px;
}

.jmc-faq-question-text {
  font-size: 16px;
  line-height: 1.4;
}

.jmc-faq-toggle {
  width: 34px;
  height: 34px;
  flex-basis: 34px;
}

.jmc-faq-toggle::before,
.jmc-faq-toggle::after {
  width: 13px;
}

.jmc-faq-answer-content,
.jmc-faq-item.is-open .jmc-faq-answer-content {
  padding-right: 16px;
  padding-left: 16px;
}

.jmc-faq-item.is-open .jmc-faq-answer-content {
  padding-top: 18px;
  padding-bottom: 19px;
}

.jmc-faq-answer-icon {
  width: 33px;
  height: 33px;
  flex-basis: 33px;

  font-size: 18px;
  line-height: 33px;
}

.jmc-faq-answer p {
  margin-top: 1px;

  font-size: 15px;
  line-height: 1.65;
}

.jmc-faq-note {
  margin-top: 27px;
  padding: 18px 16px;
}

.jmc-faq-note p {
  font-size: 14px;
}
}

@media (max-width: 390px) {

.jmc-faq-heading h2 {
  font-size: 33px;
}

.jmc-faq-question-text {
  font-size: 15px;
}
}


/* =====================================================
 KEYBOARD FOCUS
 ===================================================== */

.jmc-faq-question:focus-visible {
position: relative;
z-index: 2;

outline: 3px solid rgba(23, 105, 219, 0.35);
outline-offset: -3px;
}


/* =====================================================
 REDUCED MOTION
 ===================================================== */

@media (prefers-reduced-motion: reduce) {

.jmc-faq-item,
.jmc-faq-question,
.jmc-faq-number,
.jmc-faq-toggle,
.jmc-faq-answer,
.jmc-faq-answer-content {
  transition: none;
}
}\n}