/* armaLPO canonical visual rhythm — v0.2.67
 * This file is intentionally the LAST visual layer in LP parts preview,
 * Gutenberg and front-end. Layout rhythm is defined here once.
 */

/* 1) Component boundary: the component itself must not invent vertical gaps. */
.armalpo-component{
  margin-block-start:0!important;
  margin-block-end:0!important;
}

/* 2) WordPress/theme heading margins must never leak into armaBlock internals. */
.armalpo-component :where(h1,h2,h3,h4,h5,h6){
  margin-block-start:0!important;
  margin-block-end:0!important;
  padding-block-start:0!important;
  padding-block-end:0!important;
}
.armalpo-component :where(p){margin-block-start:0!important}

/* =========================================================
   VOICE-01
   ========================================================= */
.armalpo-voice01__main-top{
  align-items:start!important;
  padding-top:16px!important;
  padding-bottom:12px!important;
}
.armalpo-voice01__summary{
  display:flex!important;
  min-height:0!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
}
.armalpo-voice01__summary .armalpo-chips{margin:0 0 5px!important}
.armalpo-voice01__main h3{margin:0!important;padding:0!important}
.armalpo-voice01__main .armalpo-voice01__name{margin:5px 0 0!important}

.armalpo-voice01__subs{align-items:stretch!important}
.armalpo-voice01__sub{height:100%!important}
.armalpo-voice01__subtop{
  align-items:start!important;
  min-height:0!important;
  margin:0 0 8px!important;
}
.armalpo-voice01__submeta{
  min-height:0!important;
  align-content:start!important;
  justify-content:start!important;
  padding:0!important;
}
.armalpo-voice01__sub .armalpo-chips{margin:0 0 4px!important}
.armalpo-voice01__sub h3{margin:0!important;padding:0!important;font-size:15px!important;line-height:1.42!important}
.armalpo-voice01__sub .armalpo-voice01__name{margin:4px 0 0!important}
.armalpo-voice01__sublead{
  flex:1 1 auto!important;
  min-height:0!important;
  margin:0!important;
}
.armalpo-voice01__mini-quote{
  margin-top:10px!important;
  min-height:0!important;
}

/* =========================================================
   VOICE-02
   ========================================================= */
.armalpo-voice02__head{
  padding-top:11px!important;
  padding-bottom:10px!important;
}
.armalpo-voice02__head h3,
.armalpo-voice02-modal__head h3{margin:0!important;padding:0!important}
.armalpo-voice02__excerpt,
.armalpo-voice02__inline-full,
.armalpo-voice02-modal__copy{display:grid!important;gap:10px!important}
.armalpo-voice02__excerpt p,
.armalpo-voice02__inline-full p,
.armalpo-voice02-modal__copy p{margin:0!important}

/* =========================================================
   PERSON
   ========================================================= */
.armalpo-person01__kicker{margin:0 0 4px!important}
.armalpo-person01__headline{margin:0!important;padding:0!important}
.armalpo-person01__rule{margin:8px 0 9px!important}
.armalpo-person01__identity{margin:0 0 8px!important}
.armalpo-person01__identity em{margin-top:3px!important}
.armalpo-person01__copy{display:grid!important;gap:6px!important;margin:0!important}
.armalpo-person01__copy p{margin:0!important;line-height:1.72!important}
.armalpo-person01__facts{margin-top:14px!important}
.armalpo-person01__policy{margin-top:11px!important}
.armalpo-person01__policy-label strong{margin:0!important}
.armalpo-person01__policy-body p{margin:0!important}

/* =========================================================
   USP
   ========================================================= */
.armalpo-usp01{margin-block:0!important}
.armalpo-usp01__section-head{margin:0 0 14px!important;padding:0!important}
.armalpo-usp01__section-head img{display:block!important;margin:0 auto!important}
.armalpo-usp01__item h3{margin:0!important;padding:0!important}
.armalpo-usp01__copy p{margin:0!important}

/* =========================================================
   RECOMMEND — existing rhythm is accepted; only remove theme leakage.
   ========================================================= */
.armalpo-recommend01{margin-block:0!important}
.armalpo-recommend01__main-title{margin-block-start:20px!important;margin-block-end:14px!important}
.armalpo-recommend01__quote,
.armalpo-recommend01__excerpt,
.armalpo-recommend01__inline-full,
.armalpo-recommend01-modal__copy{display:grid!important;gap:12px!important}
.armalpo-recommend01__quote p,
.armalpo-recommend01__excerpt p,
.armalpo-recommend01__inline-full p,
.armalpo-recommend01-modal__copy p{margin:0!important}

/* =========================================================
   CASE
   ========================================================= */
.armalpo-case-heading-image{margin:0 auto 8px!important;padding:0!important}
.armalpo-case-heading-image img{display:block!important;margin:0!important}
.armalpo-case-heading-image + .armalpo-case01{margin-top:0!important}
.armalpo-case01{margin-block:0!important}
.armalpo-case01__meta{margin:0 0 8px!important}
.armalpo-case01__title{
  margin:0 0 14px!important;
  padding:0 0 0 16px!important;
  font-size:20px!important;
  line-height:1.45!important;
}
.armalpo-case01__title::before{left:0!important;top:.22em!important;bottom:.22em!important}
.armalpo-case01__photos{margin:0 0 12px!important}
.armalpo-case01__metrics{margin:0 0 12px!important}
.armalpo-case01__metric{min-height:72px!important;padding:8px 10px!important}
.armalpo-case01__metric small{margin:0 0 4px!important}
.armalpo-case01__metric strong{font-size:20px!important;line-height:1.1!important}
.armalpo-case01__course{margin:0 0 12px!important;padding:12px 13px!important}
.armalpo-case01__course-label{margin:0 0 7px!important}
.armalpo-case01__course p{margin:0!important}
.armalpo-case01__practitioner{
  align-items:start!important;
  gap:12px!important;
  padding:12px 13px!important;
}
.armalpo-case01__practitioner h4{
  margin:0 0 4px!important;
  padding:0!important;
  font-size:12.5px!important;
  line-height:1.35!important;
}
.armalpo-case01__practitioner p{margin:0!important}

/* Mobile: same rhythm, only layout changes. */
@media(max-width:767px){
  .armalpo-voice01__main-top{padding-top:14px!important;padding-bottom:10px!important}
  .armalpo-voice01__subtop{margin-bottom:7px!important}
  .armalpo-voice01__mini-quote{margin-top:12px!important}
  .armalpo-voice02__head{padding-top:10px!important;padding-bottom:9px!important}
  .armalpo-person01__copy{gap:6px!important}
  .armalpo-person01__facts{margin-top:12px!important}
  .armalpo-usp01__section-head{margin-bottom:12px!important}
  .armalpo-case01__meta{margin-bottom:8px!important}
  .armalpo-case01__title{margin-bottom:12px!important;padding-left:14px!important;font-size:18px!important}
  .armalpo-case01__metric{min-height:0!important}
  .armalpo-case01__metric strong{font-size:18px!important}
}

/* v0.2.68: hidden state must win over layout display rules. */
.armalpo-recommend01__inline-full[hidden],
.armalpo-recommend01-modal[hidden]{display:none!important;}


/* v0.2.69 RECOMMEND: compact PC read-more + restore standard internal link copy. */
.armalpo-recommend01__main-body{
  align-items:start!important;
}
.armalpo-recommend01__quote{
  align-self:start!important;
  display:block!important;
}
.armalpo-recommend01__readmore{
  width:auto!important;
  min-width:112px!important;
  min-height:32px!important;
  margin:9px 0 0 auto!important;
  padding:5px 14px!important;
  gap:6px!important;
  font-size:11.5px!important;
  line-height:1.2!important;
}
.armalpo-recommend01__chevron{
  width:12px!important;
  height:8px!important;
}
.armalpo-recommend01__all{
  margin-top:18px!important;
  padding:7px 14px!important;
  font-size:11.5px!important;
  line-height:1.35!important;
}
@media(max-width:767px){
  .armalpo-recommend01__readmore{
    width:100%!important;
    min-height:34px!important;
    margin-top:10px!important;
    padding:6px 14px!important;
  }
  .armalpo-recommend01__all{
    margin-top:16px!important;
    padding:7px 12px!important;
    font-size:11px!important;
  }
}


/* =========================================================
   v0.2.97 — section breathing room
   Keep internal component rhythm intact, but separate each
   armaBlock clearly from the following Gutenberg content.
   ========================================================= */
.armalpo-component{
  margin-block-start:0!important;
  margin-block-end:24px!important;
}

/* CASE heading image belongs to the CASE card, so keep that pair tight. */
.armalpo-case-heading-image{
  margin:0 auto 8px!important;
}
.armalpo-case-heading-image + .armalpo-case01{
  margin-top:0!important;
}

/* USP needs a little more air both before the section heading and
   between the heading PNG and the first POINT item. */
.armalpo-usp01{
  margin-top:28px!important;
  margin-bottom:24px!important;
}
.armalpo-usp01__section-head{
  margin-top:0!important;
  margin-bottom:20px!important;
}

@media(max-width:767px){
  .armalpo-component{
    margin-block-end:20px!important;
  }
  .armalpo-usp01{
    margin-top:22px!important;
    margin-bottom:20px!important;
  }
  .armalpo-usp01__section-head{
    margin-bottom:16px!important;
  }
}


/* =========================================================
   v0.2.98 — front parity spacing
   Stronger selectors mirror the final wp_head guard and also
   keep block styles correct when the stylesheet is reused.
   ========================================================= */
body .armalpo-component{
  margin-top:0!important;
  margin-bottom:24px!important;
}
body .armalpo-person01{margin-bottom:28px!important}
body .armalpo-usp01{
  margin-top:32px!important;
  margin-bottom:30px!important;
}
body .armalpo-usp01__section-head{
  margin-top:0!important;
  margin-bottom:20px!important;
}
@media(max-width:767px){
  body .armalpo-component{margin-bottom:20px!important}
  body .armalpo-person01{margin-bottom:24px!important}
  body .armalpo-usp01{margin-top:26px!important;margin-bottom:24px!important}
  body .armalpo-usp01__section-head{margin-bottom:16px!important}
}
