/* notarial-child-editorial.css — page-scoped (.nch) composition layer for the five
   Notarial child pairs. Layout and hierarchy only; colours, typography and buttons come from the
   existing OKNO system. .onh-card / .onh-mini / .onh-step are NOT modified globally. */

/* ---------------- service directory: rows on one surface, not a card grid ---------------- */
.nch .onh-grid:has(>.onh-card){display:block;gap:0;grid-template-columns:none;
  background:var(--onh-surface);border:1px solid var(--onh-line);border-radius:18px;overflow:hidden}
.nch .onh-grid>.onh-card{
  display:grid;grid-template-columns:46px minmax(0,1fr) auto;grid-template-rows:auto 1fr;
  align-items:start;gap:0 20px;
  background:transparent;border:none;border-radius:0;box-shadow:none;padding:20px 26px}
.nch .onh-grid>.onh-card + .onh-card{border-top:1px solid var(--onh-line)}
.nch .onh-grid>.onh-card:hover{
  background:var(--onh-band);box-shadow:none}
.nch .onh-grid>.onh-card .onh-card__ic{
  grid-column:1;grid-row:1 / span 2;width:34px;height:34px;border-radius:10px;margin:2px 0 0}
.nch .onh-grid>.onh-card .onh-card__t{
  grid-column:2;font-size:16px;margin:0 0 4px}
.nch .onh-grid>.onh-card .onh-card__d{
  /* the price block spans both rows; without this the spare height is split between them and the
     description drifts away from its own title */
  grid-column:2;grid-row:2;align-self:start;font-size:13.5px;line-height:1.5;margin:0;max-width:62ch;flex:none}
.nch .onh-grid>.onh-card .onh-card__foot{
  grid-column:3;grid-row:1 / span 2;flex-direction:row;align-items:center;gap:16px;margin-top:0;
  justify-self:end;flex-wrap:wrap;justify-content:flex-end}
/* the POA two-tier price is a multi-line block, so the row price must never be forced onto one line */
.nch .onh-grid>.onh-card .onh-card__price{
  white-space:normal;font-size:14.5px;min-width:0;text-align:right}
.nch .onh-grid>.onh-card .onh-price__tier{
  display:block;margin:0 0 6px}
.nch .onh-grid>.onh-card .onh-card__foot{
  max-width:min(46ch,100%)}
.nch .onh-grid>.onh-card .onh-card__more{
  white-space:nowrap}
.nch .onh-btn{min-height:44px}

/* ---------------- explanatory cell groups: one hairline-divided surface, no per-item card ---------- */
.nch .onh-grid--2:has(>.onh-mini),.nch .onh-grid--3:has(>.onh-mini){display:grid;gap:1px;
  background:var(--onh-line);border:1px solid var(--onh-line);border-radius:18px;overflow:hidden}
.nch .onh-grid--2:has(>.onh-mini){grid-template-columns:1fr 1fr}
.nch .onh-grid--3:has(>.onh-mini){grid-template-columns:repeat(3,1fr)}
.nch .onh-grid--2>.onh-mini,.nch .onh-grid--3>.onh-mini{
  background:var(--onh-surface);border:none;border-radius:0;padding:22px 24px 20px;margin:0}
.nch .onh-mini__t{font-size:15.5px;margin:0 0 8px}
.nch .onh-mini p{font-size:14px;line-height:1.55;margin:0 0 8px}
.nch .onh-mini p:last-child{margin-bottom:0}
.nch .onh-mini .onh-list{margin:0;padding-left:19px}
.nch .onh-mini .onh-list li{font-size:14px;line-height:1.5}
/* an odd trailing cell fills its row instead of showing the grid line through */
.nch .onh-grid--2>.onh-mini:last-child:nth-child(odd){grid-column:1 / -1}

/* ---------------- process: one continuous compact rail ---------------- */
.nch .onh-steps{display:block;margin:14px 0 0;background:var(--onh-surface);
  border:1px solid var(--onh-line);border-radius:18px;overflow:hidden}
.nch .onh-step{display:block;position:relative;background:transparent;border:none;border-radius:0;
  padding:16px 26px 16px 74px}
.nch .onh-step + .onh-step{border-top:1px solid var(--onh-line)}
.nch .onh-step__n{position:absolute;left:26px;top:14px;width:30px;height:30px;flex:none;
  background:var(--onh-band);color:var(--onh-navy);border:1.5px solid var(--onh-accent);
  font-size:13.5px;font-variant-numeric:tabular-nums}
.nch .onh-step__t{font-size:15.5px;margin:0 0 4px}
.nch .onh-step p{font-size:14px;line-height:1.55;max-width:76ch}

/* ---------------- readable measure for plain editorial sections ---------------- */
.nch .onh-sec>.onh-wrap>p,.nch .onh-sec>.onh-wrap>.onh-intro{max-width:74ch}
.nch .onh-prose>p,.nch .onh-prose>.onh-list{max-width:74ch}

/* ---------------- price table + FAQ: light polish, structure already sound --------------- */
.nch .onh-pt{border-radius:18px}
.nch .onh-pt__row{padding:14px 24px;align-items:baseline}
.nch .onh-pt__row:nth-child(even){background:var(--onh-band)}
.nch .onh-pt__svc{max-width:74ch}
.nch .onh-faq{border-radius:18px}
.nch .onh-faq__q{min-height:44px;display:flex;align-items:center;padding:13px 46px 13px 22px;font-size:15.5px}
.nch .onh-faq__q:hover{background:var(--onh-band)}
.nch .onh-faq__q:focus-visible{outline:2px solid var(--onh-accent);outline-offset:-2px}
.nch .onh-faq__mk{right:22px}
.nch .onh-faq__a{padding:0 46px 16px 22px}
.nch .onh-faq__a p{max-width:78ch}

/* ---------------- split module: keep the approved media contained, tighten the copy side -------- */
.nch .onh-split{gap:36px}
.nch .onh-split__copy>p,.nch .onh-split__copy>.onh-intro{max-width:64ch}

/* ---------------- final CTA ---------------- */
.nch .onh-final__panel{padding:34px 38px}
.nch .onh-final__t{max-width:28ch;margin-left:auto;margin-right:auto}
.nch .onh-final__x{max-width:62ch;margin-left:auto;margin-right:auto}

/* ---------------- tablet ---------------- */
@media (max-width:1000px){
  .nch .onh-grid--3:has(>.onh-mini){grid-template-columns:1fr}
  .nch .onh-grid>.onh-card{
    grid-template-columns:34px minmax(0,1fr);gap:6px 16px}
  .nch .onh-grid>.onh-card .onh-card__foot{
    grid-column:2;grid-row:auto;justify-self:start;justify-content:flex-start;margin-top:12px}
}

/* ---------------- mobile ---------------- */
@media (max-width:640px){
  .nch .onh-grid--2:has(>.onh-mini){grid-template-columns:1fr;border-radius:14px}
  .nch .onh-grid--3:has(>.onh-mini){border-radius:14px}
  .nch .onh-grid--2>.onh-mini,.nch .onh-grid--3>.onh-mini{padding:18px 18px 16px}
  .nch .onh-grid:has(>.onh-card){border-radius:14px}
  .nch .onh-grid>.onh-card{padding:18px 18px}
  .nch .onh-grid>.onh-card .onh-card__foot{
    width:100%;max-width:100%;gap:10px}
  .nch .onh-grid>.onh-card .onh-card__price{
    text-align:left;width:100%}
  .nch .onh-grid>.onh-card .onh-card__foot .onh-btn{width:100%}
  .nch .onh-steps{border-radius:14px}
  .nch .onh-step{padding:14px 18px 14px 58px}
  .nch .onh-step__n{left:16px;top:12px;width:28px;height:28px;font-size:13px}
  .nch .onh-pt{border-radius:14px}
  .nch .onh-pt__row{padding:13px 16px;gap:12px}
  .nch .onh-faq{border-radius:14px}
  .nch .onh-faq__q{padding:13px 42px 13px 16px;font-size:15px}
  .nch .onh-faq__mk{right:16px}
  .nch .onh-faq__a{padding:0 42px 14px 16px}
  .nch .onh-final__panel{padding:24px 20px}
  /* the sitewide 390px floating-action safe gutter this project already uses */
  .nch .onh-pt__row,.nch .onh-faq__q{padding-right:64px}
  .nch .onh-faq__mk{right:60px}
}
