
/* RC49 – visible frontend/content completion */
.ukp-fc{max-width:1180px;margin:clamp(42px,7vw,88px) auto;padding:0 24px;box-sizing:border-box}
.ukp-fc *{box-sizing:border-box}
.ukp-fc-kicker{font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:#8b6a20;margin:0 0 12px}
.ukp-fc h2{color:#082B46;font-size:clamp(1.85rem,3.5vw,3.15rem);line-height:1.08;letter-spacing:-.025em;max-width:850px;margin:0 0 18px}
.ukp-fc-lead,.ukp-fc-question{color:#5D6975;font-size:clamp(1rem,1.6vw,1.22rem);line-height:1.65;max-width:820px}
.ukp-fc-question{color:#103E5F;font-weight:650;font-size:clamp(1.15rem,2vw,1.45rem)}
.ukp-fc-grid{display:grid;gap:18px;margin-top:28px}.ukp-fc-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.ukp-fc-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.ukp-fc-card{display:flex;flex-direction:column;min-height:220px;padding:26px;border:1px solid rgba(8,43,70,.15);border-radius:16px;background:#fff;text-decoration:none!important;box-shadow:0 8px 28px rgba(8,43,70,.06);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.ukp-fc-card:hover{transform:translateY(-2px);border-color:rgba(214,166,58,.7);box-shadow:0 14px 36px rgba(8,43,70,.10)}
.ukp-fc-card small{color:#8b6a20;font-weight:750;letter-spacing:.08em;text-transform:uppercase;font-size:.69rem;margin-bottom:14px}
.ukp-fc-card strong{color:#082B46;font-size:1.3rem;line-height:1.25;margin-bottom:12px}.ukp-fc-card span{color:#5D6975;line-height:1.55}.ukp-fc-card b{margin-top:auto;padding-top:22px;color:#103E5F}
.ukp-fc-primary{background:#082B46;border-color:#082B46}.ukp-fc-primary strong,.ukp-fc-primary b{color:#fff}.ukp-fc-primary span{color:#dce5eb}.ukp-fc-primary small{color:#D6A63A}
.ukp-fc-world-intro,.ukp-fc-book-bridge{padding-top:42px;padding-bottom:42px}
.ukp-fc-book-bridge{background:#F8F5EE;border-radius:20px;padding:clamp(28px,5vw,58px);margin-top:64px;margin-bottom:64px}
.ukp-fc-button{display:inline-block;background:#082B46;color:#fff!important;text-decoration:none!important;padding:14px 20px;border-radius:8px;font-weight:700;margin-top:10px}
.ukp-fc-textlink{color:#103E5F!important;font-weight:700;text-decoration:none!important;border-bottom:1px solid #D6A63A;padding-bottom:2px}
.ukp-fc-note{font-size:.88rem;color:#5D6975;margin:18px 0 0;max-width:720px}
body.ukp-journey-world-retirement .ukp-world,body.ukp-journey-world-wealth .ukp-world{max-width:1180px;margin-left:auto;margin-right:auto}
@media(max-width:820px){.ukp-fc{padding:0 18px;margin:38px auto}.ukp-fc-grid-2,.ukp-fc-grid-3{grid-template-columns:1fr}.ukp-fc-card{min-height:0}.ukp-fc-book-bridge{border-radius:14px;margin-top:40px;margin-bottom:40px}}

.ukp-fc-navigator-completion,.ukp-fc-buch-completion{max-width:980px}
.ukp-fc-navigator-completion{padding-top:52px;padding-bottom:58px}
.ukp-fc-buch-completion{padding-top:56px;padding-bottom:62px}
body.page-template-default .ukp-fc-buch-completion{margin-top:0}
@media(max-width:820px){
 .ukp-fc-navigator-completion,.ukp-fc-buch-completion{padding-top:34px;padding-bottom:38px}
}

/* RC49.2 shell-safe placement. The custom pages bypass the_content. */
.ukp-rc49-live-route-shell{width:100%;background:#F8F5EE;border-top:1px solid rgba(8,43,70,.10);position:relative;z-index:2}
.ukp-rc49-live-route-shell .ukp-fc{margin-top:0;margin-bottom:0;padding-top:52px;padding-bottom:58px}
#ukp-rc49-live-route-buch{background:#F8F5EE}
#ukp-rc49-live-route-navigator{background:#fff}
@media(max-width:820px){
 .ukp-rc49-live-route-shell .ukp-fc{padding-top:34px;padding-bottom:38px}
}

/* RC49.3 /buch output-buffer fallback */
#ukp-rc49-live-route-buch{border-top:4px solid #D6A63A}


/* ================================================================
   RC50 – Frontend & Content Completion II
   Hierarchy, dramaturgy and mobile finalization for the visible journey
   ================================================================ */

.ukp-fc-secondary{background:#fff}
.ukp-fc-secondary b{color:#5D6975}

/* /buch/: the Journey bridge now belongs before the existing final CTA. */
#ukp-rc49-live-route-buch.ukp-rc50-buch-bridge{
  border-top:0;
  border-bottom:0;
  background:#F8F5EE;
}
#ukp-rc49-live-route-buch[data-placement="before-final-cta"]{
  box-shadow:inset 0 1px 0 rgba(8,43,70,.08);
}
#ukp-rc49-live-route-buch .ukp-fc-buch-completion{
  padding-top:clamp(42px,6vw,72px);
  padding-bottom:clamp(42px,6vw,72px);
}
#ukp-rc49-live-route-buch .ukp-fc-note{
  margin-top:24px;
  padding-top:18px;
  border-top:1px solid rgba(8,43,70,.12);
}

/* /navigator/: reduce the feeling of an appended second page. */
#ukp-rc49-live-route-navigator{
  background:#F8F5EE;
  border-top:1px solid rgba(8,43,70,.08);
}
#ukp-rc49-live-route-navigator .ukp-fc{
  max-width:920px;
  padding-top:clamp(36px,5vw,58px);
  padding-bottom:clamp(36px,5vw,58px);
}
#ukp-rc49-live-route-navigator .ukp-fc h2{
  font-size:clamp(1.65rem,3vw,2.45rem);
}
#ukp-rc49-live-route-navigator .ukp-fc-card{
  min-height:190px;
}

/* Home gateway: only two primary choices; topical content is tertiary. */
.ukp-gateway-grid-primary{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
.ukp-gateway-card-primary{
  background:#082B46!important;
  border-color:#082B46!important;
}
.ukp-gateway-card-primary strong{color:#fff!important}
.ukp-gateway-card-primary span{color:#dce5eb!important}
.ukp-gateway-card-primary small{color:#D6A63A!important}
.ukp-gateway-current{
  margin-top:18px;
  display:flex;
  gap:12px;
  align-items:center;
  flex-wrap:wrap;
  font-size:.92rem;
}
.ukp-gateway-current small{
  color:#8b6a20;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.ukp-gateway-current a{
  color:#103E5F;
  font-weight:700;
  text-decoration:none;
  border-bottom:1px solid #D6A63A;
}

/* World hierarchy and continuation. */
.ukp-world-card small{
  display:block;
  margin-bottom:6px;
  color:#8b6a20;
  font-size:.66rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.ukp-world-next,.ukp-worlds-orientation{
  margin-top:26px;
  padding-top:20px;
  border-top:1px solid rgba(8,43,70,.12);
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:center;
  color:#5D6975;
}
.ukp-world-next a,.ukp-worlds-orientation a{
  color:#103E5F;
  font-weight:700;
  text-decoration:none;
}

/* Mobile: cards, shell bridges and CTA hierarchy become one-column and readable. */
@media(max-width:820px){
  .ukp-gateway-grid-primary{grid-template-columns:1fr!important}
  .ukp-world-next,.ukp-worlds-orientation{
    align-items:flex-start;
    flex-direction:column;
    gap:8px;
  }
  #ukp-rc49-live-route-buch .ukp-fc,
  #ukp-rc49-live-route-navigator .ukp-fc{
    padding-left:18px;
    padding-right:18px;
  }
  #ukp-rc49-live-route-buch .ukp-fc-card,
  #ukp-rc49-live-route-navigator .ukp-fc-card{
    padding:21px;
    border-radius:12px;
  }
  .ukp-fc h2{letter-spacing:-.015em}
}
@media(max-width:480px){
  .ukp-fc{padding-left:16px;padding-right:16px}
  .ukp-fc-card strong{font-size:1.16rem}
  .ukp-fc-lead,.ukp-fc-question{font-size:1rem}
  .ukp-fc-button{width:100%;text-align:center}
}

/* Respect reduced-motion preferences. */
@media(prefers-reduced-motion:reduce){
  .ukp-fc-card{transition:none}
  .ukp-fc-card:hover{transform:none}
}


/* ================================================================
   RC51 – Content Gap Closure & Safe Routing
   ================================================================ */
.ukp-question-panel--fallback{
  max-width:980px;
  margin:34px auto 54px;
  padding:clamp(24px,4vw,42px);
  background:#F8F5EE;
  border:1px solid rgba(8,43,70,.12);
  border-radius:18px;
}
.ukp-question-panel--fallback h2{
  color:#082B46;
  font-size:clamp(1.55rem,3vw,2.35rem);
  line-height:1.12;
  margin:4px 0 14px;
}
.ukp-question-panel__lead{
  color:#5D6975;
  max-width:760px;
  line-height:1.65;
}
.ukp-question-panel__criteria{
  margin-top:22px;
  padding:22px;
  background:#fff;
  border-radius:12px;
  border:1px solid rgba(8,43,70,.10);
}
.ukp-question-panel__criteria ul{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px 28px;
  margin:14px 0 0 18px;
}
.ukp-question-panel__actions{
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
  margin-top:24px;
}
.ukp-question-panel__note{
  color:#6B7480;
  font-size:.86rem;
  margin-top:18px;
}
@media(max-width:720px){
  .ukp-question-panel--fallback{
    margin:24px 16px 38px;
    padding:22px 18px;
    border-radius:14px;
  }
  .ukp-question-panel__criteria ul{grid-template-columns:1fr}
  .ukp-question-panel__actions{align-items:stretch;flex-direction:column}
  .ukp-question-panel__actions a{text-align:center}
}
