/* HERO (shared structure; page supplies only the background image) */
.hero--obedience .hero-bg{
  background-image: url("/assets/images/sea-cave-heart.jpg");
  background-size: cover;
  background-position: center;
}

/* =========================================================
   OBEDIENCE PAGE (CLEAN FLANK LAYOUT — NO ORBIT, NO ABSOLUTE)
   ========================================================= */

:root{
  --ink: rgba(0,0,0,0.88);
  --line: rgba(0,0,0,0.10);
  --card: rgba(255,255,255,0.96);

  /* Accent palette: includes blue + green + warm tones */
  --accent-blue:  #2f6f8f;
  --accent-green: #2f7d62;
  --accent-gold:  #c8a24a;
  --accent-deep:  #3f4a3c;
  --accent-slate: #5b7aa6;
  --accent-bronze:#b58a6a;
}

/* HERO */
.hero-title{
  margin: 0;
  color: #A4B3B6;
  font-size: clamp(2.6rem, 5vw, 4rem);
  letter-spacing: 0.5px;
}

/* FLANK SECTION */
.obedience-flank{
  padding: 5rem 1rem 6rem;
}

.flank-wrap{
  display: grid;
  grid-template-columns: 1fr minmax(320px, 420px) 1fr; /* center less wide */
  gap: 2.2rem;
  align-items: start;
}

/* Left / Right columns */
.flank-col{
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}

/* Center column */
.flank-center{
  text-align: center; /* (a) center all middle text */
  padding: 0 0.5rem;
}

.center-textblock{
  max-width: 420px; /* (b) keep copy tight */
  margin-left: auto;
  margin-right: auto;
}

.center-btn{
  display: inline-block; /* (c) center button reliably */
}

/* Typography */
.next-title{
  margin: 0 0 0.8rem;
  font-size: 2rem;
  color: var(--ink);
}

.center-subhead{
  margin: 1.4rem 0 0.6rem;
  font-size: 1.35rem;
  color: var(--ink);
}

.next-copy{
  margin: 0 auto 0.9rem;
  font-size: 1.08rem;
  line-height: 1.65;
  color: rgba(0,0,0,0.78);
}

.next-micro{
  margin: 0.9rem 0 0;
  opacity: 0.75;
}

/* Scripture card */
.next-verse{
  margin: 1.8rem auto 2.2rem;
  max-width: 520px;
  padding: 1.2rem 1.3rem;
  border-radius: 16px;
  background: rgba(217,209,194,0.25);
  border: 1px solid var(--line);
}

.verse-text{
  margin: 0;
  font-style: italic;
  font-size: 1.05rem;
  color: rgba(0,0,0,0.82);
}

.verse-ref{
  margin: 0.5rem 0 0;
  opacity: 0.75;
}

/* BOXES (normal flow — no absolute positioning anywhere) */
.flank-box{
  position: relative;
  width: 100%;
  min-height: 112px;
  border-radius: 18px;
  background: var(--card);
  border: 1px solid var(--line);
  padding: 1rem 1.05rem 1rem 2.25rem; /* increased left padding */
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: left;
  font-size: 0.95rem;
  line-height: 1.35;
  box-shadow: 0 10px 30px rgba(0,0,0,0.06);
}

.flank-box strong{
  font-size: 1rem;
  margin-bottom: 0.25rem;
  color: var(--ink);
}

.flank-box span{
  opacity: 0.86;
}

/* Accent bar */
.flank-box::before{
  content:"";
  position:absolute;
  left: 0.85rem;
  top: 0.95rem;
  width: 10px;
  height: calc(100% - 1.9rem);
  border-radius: 10px;
  background: var(--accent-blue);
  opacity: 0.95;
}

/* (f) distribute accents incl blue + green */
.left-col  .flank-box:nth-child(1)::before{ background: var(--accent-blue);  }
.left-col  .flank-box:nth-child(2)::before{ background: var(--accent-green); }
.left-col  .flank-box:nth-child(3)::before{ background: var(--accent-gold);  }

.right-col .flank-box:nth-child(1)::before{ background: var(--accent-deep);  }
.right-col .flank-box:nth-child(2)::before{ background: var(--accent-slate); }
.right-col .flank-box:nth-child(3)::before{ background: var(--accent-bronze); }

/* RESPONSIVE */
@media (max-width: 980px){
  .flank-wrap{
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .flank-center{
    order: -1;
  }

  .center-textblock{
    max-width: 520px;
  }

  /* optional: make accents top bars on small screens */
  .flank-box{
    text-align: center;
    padding: 1.1rem 1.1rem 1.2rem;
  }
  .flank-box::before{
    left: 50%;
    top: 0.85rem;
    width: 56px;
    height: 8px;
    transform: translateX(-50%);
  }
}
