/* XAE Landing v1.8: UI-039/040/041; all changes scoped to this landing. */

/* UI-039: paired workflow nodes must never bleed into their counterpart.
   Fixed logical slots ensure consistent connector endpoints on iPhone Safari. */
body[data-xae-landing] #steps .xae-graph{
 width:100%;
 max-width:100%;
 overflow:visible;
}
body[data-xae-landing] #steps .xae-graph .xae-node{
 box-sizing:border-box!important;
 width:min(36%,174px)!important;
 max-width:calc(50% - 15px)!important;
 min-width:0!important;
 height:100px;
 min-height:100px!important;
 padding:6px 7px!important;
 gap:3px!important;
 white-space:normal!important;
 overflow-wrap:anywhere!important;
 word-break:normal!important;
 contain:layout style;
}
body[data-xae-landing] #steps .xae-graph .xae-node[data-center="true"]{
 width:min(64%,260px)!important;
 max-width:calc(100% - 30px)!important;
}
body[data-xae-landing] #steps .xae-graph .xae-node strong{
 display:block!important;
 width:100%;
 max-width:100%;
 line-height:1.17!important;
 text-wrap:pretty;
 white-space:normal!important;
 overflow-wrap:anywhere!important;
 word-break:normal!important;
 font-size:clamp(11px,2.65vw,14px)!important;
}
body[data-xae-landing] #steps .xae-graph .xae-node small{
 display:block!important;
 max-width:100%;
 font-size:clamp(10px,2.4vw,12px)!important;
 line-height:1.12!important;
 overflow-wrap:anywhere!important;
}
body[data-xae-landing] #steps .xae-graph .xae-node b{
 flex:0 0 auto;
 width:19px;
 height:19px;
 font-size:10px;
}
body[data-xae-landing] #steps .xae-flow-links{
 overflow:hidden!important;
}
@media(max-width:690px){
 body[data-xae-landing] #steps .xae-graph .xae-node{
  width:37%!important;
  max-width:calc(50% - 14px)!important;
  height:102px;
  min-height:102px!important;
 }
 body[data-xae-landing] #steps .xae-graph .xae-node[data-center="true"]{
  width:66%!important;
  max-width:calc(100% - 26px)!important;
 }
 body[data-xae-landing] #steps .xae-graph .xae-node strong{
  font-size:11px!important;line-height:1.12!important;
 }
 body[data-xae-landing] #steps .xae-graph .xae-node small{
  font-size:10px!important;
 }
}
@media(max-width:355px){
 body[data-xae-landing] #steps .xae-graph .xae-node{
  width:37%!important;
  max-width:calc(50% - 13px)!important;
  height:104px;
  min-height:104px!important;
  padding:4px 4px!important;
 }
 body[data-xae-landing] #steps .xae-graph .xae-node strong{
  font-size:10.7px!important;line-height:1.10!important;
 }
 body[data-xae-landing] #steps .xae-graph .xae-node small{
  font-size:9.5px!important;
 }
}
/* UI-040: only one primary action in the form; WhatsApp appears AFTER confirmation. */
body[data-xae-landing] #contact-form[hidden],
body[data-xae-landing] #xp-contact-confirmation[hidden]{display:none!important}
body[data-xae-landing] #xp-contact-confirmation.xae-contact-confirmation{
 text-align:center;
 padding:20px 7px 13px;
 display:flex;
 flex-direction:column;
 align-items:center;
 gap:14px;
}
body[data-xae-landing] .xae-confirm-check{
 display:grid;place-items:center;
 width:49px;height:49px;border-radius:50%;
 background:rgba(30,164,127,.2);
 color:#67e0b6;
 border:1px solid rgba(103,224,182,.7);
 font-size:23px;font-weight:800;
}
body[data-xae-landing] #xp-confirm-title{
 margin:0;
 color:#f7fbff;
 font-size:clamp(23px,5.6vw,29px);
 line-height:1.2;
}
body[data-xae-landing] #xp-confirm-copy{
 color:#d9e9ff!important;
 font-size:clamp(14px,3.5vw,16px)!important;
 line-height:1.5;
 max-width:360px;
 margin:0 0 4px;
}
body[data-xae-landing] #xp-confirm-wa{
 width:100%;
 display:flex;
 min-height:47px;
 background:linear-gradient(110deg,#2459c5,#3686fa);
 border:1px solid #72a8ff;
 color:#fff;
 font-size:15px;
 text-align:center;
 padding:10px 12px;
}
body[data-xae-landing] #xp-confirm-edit{
 display:inline-flex;justify-content:center;align-items:center;
 background:transparent;
 color:#caddfb;
 min-height:42px;
 border:0;
 padding:8px 12px;
 font-size:13px;
 font-weight:650;
 text-decoration:underline;
 text-underline-offset:4px;
}
body[data-xae-landing] #xp-contact-route-note{
 margin:6px 0 0;
 color:#c8daf5!important;
 font-size:12px!important;
 line-height:1.35!important;
}
body[data-xae-landing] #xp-lead-send{
 cursor:pointer;
 background:linear-gradient(100deg,#2259bf,#397be7);
 color:#fff;
 border:1px solid #72a6fa;
}
/* UI-041: selection changes persist immediately; remove extra step. */
body[data-xae-landing] #xp-pref-autosave-note{
 font-size:13px!important;
 line-height:1.4!important;
 margin:18px 0 0!important;
 text-align:center;
 color:#486386;
}
body[data-xae-landing] #xp-modal .xp-modal-head{
 margin-bottom:15px!important;
}
