/* ============================================================
   URISTST — SHARED CTA + NATIVE FORM PRIMITIVES (terracotta)
   Loads after site.css/design.css on migrated service/static pages.
   Uses DESIGN LOCK v1 tokens (design.css).
   Scope: shared primary CTA (hero/final) + shared native form submit.
   Does not affect ordinary inline text links.
   ============================================================ */

/* ---------- Shared primary CTA (terracotta) ---------- */
.ur-btn,
.uristst-legacy .ul-button .wp-block-button__link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  padding:14px 28px;
  border:1px solid var(--color-accent);
  border-radius:var(--radius-btn);
  background:var(--color-accent);
  color:var(--color-surface);
  font-family:var(--font-sans);
  font-size:var(--fs-button);
  line-height:var(--lh-button);
  font-weight:600;
  text-align:center;
  text-decoration:none;
  text-transform:none;
  letter-spacing:0;
  cursor:pointer;
  box-shadow:none;
  transition:background-color var(--dur) var(--ease),
             border-color var(--dur) var(--ease),
             color var(--dur) var(--ease);
}
.ur-btn:hover,
.ur-btn:focus,
.uristst-legacy .ul-button .wp-block-button__link:hover,
.uristst-legacy .ul-button .wp-block-button__link:focus{
  background:var(--color-accent-dark);
  border-color:var(--color-accent-dark);
  color:var(--color-surface);
  text-decoration:none;
}
.ur-btn:focus-visible,
.uristst-legacy .ul-button .wp-block-button__link:focus-visible{
  outline:2px solid var(--color-text-primary);
  outline-offset:3px;
}
.ur-btn:active,
.uristst-legacy .ul-button .wp-block-button__link:active{
  box-shadow:inset 0 2px 4px rgba(0,0,0,.18);
}

/* ---------- Shared native consultation form (terracotta submit) ---------- */
.uristst-form-wrap .uristst-form__button{
  display:inline-block;
  box-sizing:border-box;
  padding:14px 34px;
  border:1px solid var(--color-accent);
  border-radius:var(--radius-btn);
  background:var(--color-accent);
  color:var(--color-surface);
  font-family:var(--font-sans);
  font-size:var(--fs-button);
  line-height:var(--lh-button);
  font-weight:600;
  text-align:center;
  text-decoration:none;
  text-transform:none;
  letter-spacing:0;
  cursor:pointer;
  box-shadow:none;
  transition:background-color var(--dur) var(--ease),
             border-color var(--dur) var(--ease),
             color var(--dur) var(--ease);
}
.uristst-form-wrap .uristst-form__button:hover,
.uristst-form-wrap .uristst-form__button:focus{
  background:var(--color-accent-dark);
  border-color:var(--color-accent-dark);
  color:var(--color-surface);
}
.uristst-form-wrap .uristst-form__button:focus-visible{
  outline:2px solid var(--color-text-primary);
  outline-offset:3px;
}
.uristst-form-wrap .uristst-form input:focus-visible,
.uristst-form-wrap .uristst-form textarea:focus-visible{
  border-color:var(--color-accent);
  box-shadow:0 0 0 3px rgba(154,80,63,.25);
}
.uristst-form-wrap .uristst-form textarea{
  min-height:140px;
  resize:vertical;
}
.uristst-form-wrap .uristst-form__consent a{
  color:var(--color-text-primary);
  text-decoration:underline;
}
.uristst-form-wrap .uristst-form__consent a:hover{
  color:var(--color-accent);
}

/* ---------- Shared form container alignment ----------
   Consultation section (H2 + lead + form) rendered as bare direct
   children of .entry-content (Family-service pattern, e.g. page 680)
   inherits no __inner container, so it can start at the viewport edge.
   Scope via :has() so this only affects that pattern; legacy pages that
   already nest #consultation inside .ul-cta/.ul-wrap stay untouched. */
.entry-content:has(> .uristst-form-wrap) > h2,
.entry-content:has(> .uristst-form-wrap) > p{
  width:100%;
  max-width:var(--container-max,1180px);
  margin-left:auto;
  margin-right:auto;
  padding-left:1.5rem;
  padding-right:1.5rem;
  box-sizing:border-box;
}
.entry-content:has(> .uristst-form-wrap) .uristst-form-wrap{
  width:100%;
  max-width:var(--container-max,1180px);
  margin:0 auto;
  padding:0 1.5rem;
  box-sizing:border-box;
}
/* Form itself stays narrower than the aligned container */
.uristst-form-wrap .uristst-form{
  max-width:780px;
  margin-left:0;
  margin-right:auto;
}

/* ---------- Mobile form: fields stack, no overflow ---------- */
@media (max-width:768px){
  .entry-content:has(> .uristst-form-wrap) > h2,
  .entry-content:has(> .uristst-form-wrap) > p,
  .entry-content:has(> .uristst-form-wrap) .uristst-form-wrap{
    padding-left:var(--container-pad-mobile,20px);
    padding-right:var(--container-pad-mobile,20px);
  }
  .uristst-form-wrap .uristst-form__grid{
    grid-template-columns:1fr;
    gap:0;
  }
  .uristst-form-wrap .uristst-form{
    min-width:0;
    max-width:100%;
  }
}
@media (max-width:640px){
  .ur-btn,
  .uristst-legacy .ul-button .wp-block-button__link{
    width:100%;
    padding:14px 20px;
  }
  .uristst-form-wrap .uristst-form__button{
    width:100%;
  }
  .entry-content:has(> .uristst-form-wrap) > h2{
    margin-top:2.5rem;
  }
}