/* =====================================================================
   V14.4 — CTA / BUTTON FIT & TYPOGRAPHY STABILITY
   Goal: prevent clipped labels, shifted arrows, accidental pill styles and
   horizontal overflow across all public pages without changing page layout.
   Loaded last so it can safely normalize older theme layers.
   ===================================================================== */

/* 1) Shared fit baseline ------------------------------------------------ */
:is(
  .se116-cta,.se134-cta,
  .v106-primary,.v106-secondary,
  .v11-btn,.v62-action,.v62-submit,
  .se124-btn,.se124-submit,
  .v7-practice-primary,.v7-practice-secondary,.v72-btn,
  .btn,.se-button,.v6-btn,
  .calc95-all,.se126-calc-link,
  .se-footer-primary,.se-footer-call,
  .v97-guide-reset,.v97-guide-card-link,
  .calc95-more,.calc95-clear,
  .se-footer-email-row button
){
  box-sizing:border-box!important;
  min-width:0;
  max-width:100%;
  height:auto!important;
  line-height:1.25!important;
  text-decoration:none;
}

:is(
  .se116-cta,.se134-cta,
  .v106-primary,.v106-secondary,
  .v11-btn,.v62-action,
  .se124-btn,
  .v7-practice-primary,.v7-practice-secondary,.v72-btn,
  .btn,.se-button,.v6-btn,
  .calc95-all,.se-footer-primary
) > span{
  min-width:0;
  max-width:100%;
  white-space:normal;
  overflow-wrap:normal;
  word-break:normal;
  line-height:1.25!important;
  text-wrap:pretty;
}

:is(
  .se116-cta,.se134-cta,
  .v106-primary,.v106-secondary,
  .v11-btn,.v62-action,
  .se124-btn,
  .v7-practice-primary,.v7-practice-secondary,.v72-btn,
  .calc95-all,.se-footer-primary,
  .v97-guide-card-link
) :is(svg,b,i){
  flex:0 0 auto;
}

/* 2) Header / drawer: compact and immune to font-size drift ------------- */
.se116-cta{
  min-height:44px!important;
  padding:11px 16px!important;
  gap:10px!important;
  white-space:nowrap;
  font-size:.77rem!important;
  line-height:1.15!important;
}
.se116-cta span{white-space:nowrap!important}
.se116-cta svg{width:14px!important;height:14px!important;flex:0 0 14px}

.se134-cta{
  min-height:48px!important;
  padding:12px 16px!important;
  gap:14px!important;
  line-height:1.2!important;
}
.se134-cta svg{width:16px!important;height:16px!important;flex:0 0 16px}

/* 3) Home hero CTAs ----------------------------------------------------- */
.v106-primary,
.v106-secondary{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  min-height:52px!important;
  padding:12px 20px!important;
  line-height:1.25!important;
}
.v106-primary svg,.v106-secondary svg{width:16px!important;height:16px!important;flex:0 0 16px}

/* 4) IMPORTANT: editorial text links are links, not white pills -------- */
.v11-text-link{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:10px!important;
  width:max-content!important;
  max-width:100%!important;
  min-width:0!important;
  min-height:0!important;
  padding:6px 0!important;
  background:transparent!important;
  border:0!important;
  border-bottom:1px solid rgba(52,55,64,.30)!important;
  border-radius:0!important;
  box-shadow:none!important;
  color:#343740!important;
  font-size:.76rem!important;
  font-weight:650!important;
  line-height:1.3!important;
  white-space:normal!important;
}
.v11-text-link span{min-width:0;white-space:normal;line-height:1.3!important}
.v11-text-link svg{width:15px!important;height:15px!important;flex:0 0 15px}
.v11-text-link:hover{background:transparent!important;box-shadow:none!important}

/* About section is dark: keep its link elegant and readable. */
body.v6-home .se133-home-about .v11-about-link{
  color:#fff!important;
  background:transparent!important;
  border:0!important;
  border-bottom:1px solid rgba(255,255,255,.34)!important;
  border-radius:0!important;
  box-shadow:none!important;
  padding:7px 0!important;
}
body.v6-home .se133-home-about .v11-about-link:hover{
  border-bottom-color:rgba(255,255,255,.70)!important;
}

/* 5) Home / shared rounded buttons ------------------------------------- */
.v11-btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  width:max-content;
  max-width:100%!important;
  min-width:0!important;
  min-height:50px!important;
  padding:12px 20px!important;
  line-height:1.25!important;
}
.v11-btn svg{width:16px!important;height:16px!important;flex:0 0 16px}
.v11-btn--primary,.v11-btn--champagne{min-width:0!important}
.se139-directions-btn{min-width:0!important;width:max-content!important;max-width:100%!important}

/* 6) v62 actions: keep the modern pill, but never let text/icon collide - */
.v62-action{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
  width:max-content!important;
  max-width:100%!important;
  min-width:0!important;
  min-height:50px!important;
  padding:12px 18px!important;
  border-radius:999px!important;
  line-height:1.25!important;
  text-align:left!important;
}
.v62-action span{min-width:0;white-space:normal!important;line-height:1.25!important}
.v62-action b{margin:0!important;font-size:1.05rem!important;line-height:1!important;flex:0 0 auto}
.v62-action--light{
  background:#fff!important;
  color:#343740!important;
  border:1px solid rgba(52,55,64,.12)!important;
  box-shadow:0 10px 26px rgba(52,55,64,.08)!important;
}
.v62-detail-aside .v62-action,
.v62-faq-aside .v62-action,
.se126-contact-cta{
  width:100%!important;
}

/* 7) Appointment/contact buttons --------------------------------------- */
.se124-btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  min-width:0!important;
  max-width:100%!important;
  min-height:54px!important;
  padding:12px 20px!important;
  line-height:1.25!important;
  white-space:normal!important;
}
.se124-btn>span{min-width:0;white-space:normal!important;line-height:1.25!important}
.se124-btn>small{flex:0 0 auto;white-space:nowrap;line-height:1.15!important}
.se124-btn>b{flex:0 0 auto;line-height:1!important}

.v62-submit,.se124-submit,.calc-request-submit-row button{
  min-height:50px!important;
  padding:12px 20px!important;
  line-height:1.25!important;
  white-space:normal!important;
}

/* 8) Practice / reference / calculation CTAs --------------------------- */
.v7-practice-primary,
.v7-practice-secondary,
.v72-btn,
.calc95-all,
.se126-calc-link{
  min-height:48px!important;
  padding-top:11px!important;
  padding-bottom:11px!important;
  line-height:1.25!important;
  white-space:normal!important;
}
.v7-practice-primary,
.v7-practice-secondary,
.v72-btn,
.calc95-all{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
}

.v7-intro-link,.v7-detail-back,.v62-aside-link,.calc-back,.v72-back,
.v11-article-link,.v97-guide-card-link,.text-link,.se-text-button,.v6-link{
  max-width:100%;
  min-width:0;
  line-height:1.35!important;
  white-space:normal!important;
  overflow-wrap:normal;
}

/* 9) Legacy/general buttons -------------------------------------------- */
.btn,.se-button,.v6-btn{
  min-height:48px!important;
  padding:12px 20px!important;
  line-height:1.3!important;
  white-space:normal!important;
  text-align:center;
}
.btn{display:inline-flex;align-items:center;justify-content:center}

/* 10) Footer: fix the two examples that were visually broken ----------- */
.se-footer-lead-actions{min-width:0!important}
.se-footer-primary{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
  min-width:0!important;
  min-height:58px!important;
  padding:13px 20px!important;
  line-height:1.25!important;
}
.se-footer-primary span{white-space:normal!important;line-height:1.25!important}
.se-footer-primary svg{width:16px!important;height:16px!important;flex:0 0 16px}

.se-footer-call{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  gap:7px!important;
  width:100%!important;
  min-width:0!important;
  min-height:62px!important;
  padding:13px 20px!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  line-height:1.25!important;
}
.se-footer-call small{
  display:block!important;
  margin:0!important;
  max-width:100%;
  color:#b99582!important;
  font-size:.68rem!important;
  line-height:1.2!important;
  letter-spacing:.17em!important;
  white-space:normal!important;
}
.se-footer-call strong{
  display:block!important;
  margin:0!important;
  max-width:100%;
  color:#fff!important;
  font-size:1rem!important;
  line-height:1.25!important;
  white-space:normal!important;
  overflow-wrap:anywhere;
}

.se-footer-email-row button{
  min-height:44px!important;
  padding:10px 12px!important;
  white-space:normal!important;
}

/* 11) Smaller utility controls: no accidental text clipping ------------ */
.v97-guide-reset,.calc95-more{
  min-height:44px!important;
  padding:10px 16px!important;
  white-space:normal!important;
}

/* 12) Flex/grid parents must allow button children to shrink ------------ */
.v106-hero-actions,.v11-final-side,.se124-hero-actions,
.se126-calc-actions,.se-footer-lead-actions,.udf-actions,.udf-result-actions{
  min-width:0!important;
}

/* 13) Tablet/mobile fit ------------------------------------------------- */
@media(max-width:760px){
  .v106-primary,.v106-secondary,
  .se124-btn,
  .v62-detail-aside .v62-action,.v62-faq-aside .v62-action,
  .se126-contact-cta,
  .se-footer-primary,.se-footer-call,
  .btn.btn-primary,
  .v6-btn{
    width:100%!important;
  }

  .v11-btn--champagne,
  .se139-directions-btn{
    width:100%!important;
    max-width:100%!important;
  }

  .v11-btn,.v62-action,.se124-btn,
  .v106-primary,.v106-secondary,
  .se-footer-primary{
    padding-left:17px!important;
    padding-right:17px!important;
  }

  .se-footer-call{padding:14px 17px!important}
}

@media(max-width:420px){
  .se124-btn{gap:10px!important;padding-left:15px!important;padding-right:15px!important}
  .se124-btn>small{width:100%;margin-left:0}
  .v62-action{width:100%!important}
}
