/* IFP Website Architect 0.4.84 – presentation-only Planner view manager */
.ifp-wa-view-switch{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:6px;
  border:1px solid rgba(23,105,210,.28);
  border-radius:14px;
  background:#eef5fd;
  box-shadow:0 6px 18px rgba(11,41,72,.10);
}
.ifp-wa-front > .ifp-wa-view-switch{
  display:flex;
  width:max-content;
  max-width:100%;
  margin:-18px 0 22px auto;
}
.ifp-wa-view-switch__label{
  padding:0 7px 0 5px;
  font-size:11px;
  font-weight:850;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#53677e;
}
.ifp-wa-view-switch__button{
  appearance:none;
  position:relative;
  min-height:38px;
  border:2px solid #1769d2;
  border-radius:10px;
  background:#fff;
  color:#1769d2;
  font:inherit;
  font-size:12px;
  font-weight:850;
  line-height:1.15;
  padding:9px 13px;
  box-shadow:0 2px 7px rgba(11,41,72,.07);
  cursor:pointer;
  transition:transform .14s ease,box-shadow .14s ease,background .14s ease,color .14s ease,border-color .14s ease;
}
.ifp-wa-view-switch__button:hover:not(.is-active),
.ifp-wa-view-switch__button:focus-visible:not(.is-active){
  background:#f7fbff;
  color:#0b4f9f;
  border-color:#0b4f9f;
  box-shadow:0 5px 14px rgba(23,105,210,.14);
  transform:translateY(-1px);
}
.ifp-wa-view-switch__button.is-active,
.ifp-wa-view-switch__button[aria-pressed="true"]{
  padding-left:31px;
  border-color:#0b2948;
  background:#0b2948;
  color:#fff;
  box-shadow:inset 0 -2px 0 rgba(0,0,0,.16),0 6px 16px rgba(11,41,72,.22);
}
.ifp-wa-view-switch__button.is-active::before,
.ifp-wa-view-switch__button[aria-pressed="true"]::before{
  content:"✓";
  position:absolute;
  left:11px;
  top:50%;
  transform:translateY(-50%);
  display:grid;
  place-items:center;
  width:14px;
  height:14px;
  border-radius:50%;
  background:#fff;
  color:#0b2948;
  font-size:10px;
  font-weight:950;
  line-height:1;
}
.ifp-wa-view-switch__button:focus-visible,
.ifp-wa-navigator-mobile-toggle:focus-visible,
.ifp-wa-planner-navigator button:focus-visible{
  outline:3px solid rgba(23,105,210,.32);
  outline-offset:3px;
}
.ifp-wa-planner-navigator{
  min-width:0;
  border:1px solid rgba(11,41,72,.12);
  border-radius:18px;
  background:linear-gradient(180deg,#fff 0%,#f7faff 100%);
  box-shadow:0 12px 34px rgba(11,41,72,.08);
  overflow:hidden;
}
.ifp-wa-planner-navigator__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:16px 16px 12px;
  border-bottom:1px solid rgba(11,41,72,.08);
}
.ifp-wa-planner-navigator__head-copy{display:flex;flex-direction:column;gap:2px}
.ifp-wa-planner-navigator__head-copy small{
  color:#66778c;
  font-size:11px;
  font-weight:700;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.ifp-wa-planner-navigator__head-copy strong{color:#0b2948;font-size:16px}
.ifp-wa-planner-navigator__status-key{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:7px 12px;
  padding:9px 13px;
  border-bottom:1px solid rgba(11,41,72,.08);
  background:#f8fbff;
  color:#5d6f83;
  font-size:10px;
  font-weight:800;
  line-height:1.2;
}
.ifp-wa-planner-navigator__status-key-item{
  display:inline-flex;
  align-items:center;
  gap:5px;
  white-space:nowrap;
}
.ifp-wa-planner-navigator__status-key-item b{
  display:inline-grid;
  place-items:center;
  flex:0 0 18px;
  width:18px;
  height:18px;
  border-radius:50%;
  font-size:10px;
  line-height:1;
}
.ifp-wa-planner-navigator__status-key-item.is-filled b{
  background:#e5f7ee;
  color:#197046;
}
.ifp-wa-planner-navigator__status-key-item.is-current b{
  background:#e8f2ff;
  color:#1769d2;
}
.ifp-wa-planner-navigator__close{
  display:none;
  width:34px;
  height:34px;
  border:0;
  border-radius:9px;
  background:#eef4fb;
  color:#0b2948;
  font-size:22px;
  cursor:pointer;
}
.ifp-wa-planner-navigator__body{
  max-height:calc(100vh - 190px);
  max-height:calc(100dvh - 190px);
  overflow-y:auto;
  overflow-x:hidden;
  padding:10px;
  overscroll-behavior:contain;
}
.ifp-wa-planner-navigator__footer{
  position:relative;
  padding:27px 12px 12px;
  border-top:1px solid rgba(11,41,72,.12);
  background:#edf4fc;
}
.ifp-wa-planner-navigator__footer::before{
  content:"Bedienung";
  position:absolute;
  top:8px;
  left:13px;
  color:#607086;
  font-size:10px;
  font-weight:850;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.ifp-wa-planner-navigator__fullscreen{
  width:100%;
  min-height:50px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  border:2px solid #1769d2;
  border-radius:999px;
  background:#fff;
  color:#1769d2;
  font:inherit;
  font-size:13px;
  font-weight:900;
  line-height:1.2;
  padding:11px 15px;
  box-shadow:0 5px 15px rgba(23,105,210,.13);
  cursor:pointer;
  transition:transform .14s ease,box-shadow .14s ease,background .14s ease,color .14s ease,border-color .14s ease;
}
.ifp-wa-planner-navigator__fullscreen:hover{
  transform:translateY(-1px);
  background:#f7fbff;
  border-color:#0b4f9f;
  color:#0b4f9f;
  box-shadow:0 8px 20px rgba(23,105,210,.19);
}
.ifp-wa-planner-navigator__fullscreen.is-active,
.ifp-wa-planner-navigator__fullscreen[aria-pressed="true"]{
  background:#1769d2;
  border-color:#1769d2;
  color:#fff;
  box-shadow:inset 0 -2px 0 rgba(0,0,0,.13),0 8px 20px rgba(23,105,210,.24);
}
.ifp-wa-planner-navigator__fullscreen-icon{
  display:grid;
  place-items:center;
  flex:0 0 28px;
  width:28px;
  height:28px;
  border:1px solid currentColor;
  border-radius:50%;
  font-size:17px;
  line-height:1;
}
.ifp-wa-planner-nav__root,
.ifp-wa-planner-nav__children{
  width:100%;
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
  list-style:none;
  margin:0;
  padding:0;
}
.ifp-wa-planner-nav__children{
  width:calc(100% - 9px);
  max-width:calc(100% - 9px);
  padding:4px 0 5px 12px;
  margin-left:9px;
  border-left:1px solid rgba(23,105,210,.14);
}
.ifp-wa-planner-nav__item{
  width:100%;
  max-width:100%;
  min-width:0;
  margin:2px 0;
}
.ifp-wa-planner-nav__group,
.ifp-wa-planner-nav__node{
  width:100%;
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
  display:flex;
  align-items:center;
  gap:9px;
  border:0;
  border-radius:10px;
  background:transparent;
  color:#24384d;
  text-align:left;
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:normal;
  font:inherit;
  cursor:pointer;
}
.ifp-wa-planner-nav__group{
  min-height:38px;
  padding:8px 9px;
  font-weight:800;
  color:#0b2948;
}
.ifp-wa-planner-nav__group:hover{background:#edf5ff}
.ifp-wa-planner-nav__group.has-values{
  background:linear-gradient(90deg,rgba(229,247,238,.74),rgba(255,255,255,0) 76%);
}
.ifp-wa-planner-nav__group.has-values:hover{background:#eaf7f0}
.ifp-wa-planner-nav__item.has-active-descendant > .ifp-wa-planner-nav__group{
  background:#0b3158;
  color:#fff;
  box-shadow:0 4px 12px rgba(11,49,88,.16);
}
.ifp-wa-planner-nav__item.has-active-descendant > .ifp-wa-planner-nav__group:hover{
  background:#0a294b;
}
.ifp-wa-planner-nav__item.has-active-descendant > .ifp-wa-planner-nav__group .ifp-wa-planner-nav__chevron{
  color:#8fc4ff;
}
.ifp-wa-planner-nav__item.has-active-descendant > .ifp-wa-planner-nav__group .ifp-wa-planner-nav__progress{
  background:#fff;
  border-color:rgba(255,255,255,.62);
  color:#197046;
}
.ifp-wa-planner-nav__progress{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  min-width:38px;
  min-height:22px;
  padding:3px 7px;
  border:1px solid rgba(25,112,70,.24);
  border-radius:999px;
  background:#eef9f3;
  color:#197046;
  font-size:10px;
  font-weight:900;
  line-height:1;
  white-space:nowrap;
}
.ifp-wa-planner-nav__progress.is-complete{
  background:#dff4e9;
  border-color:rgba(25,112,70,.34);
}
.ifp-wa-planner-nav__chevron{
  width:16px;
  color:#1769d2;
  font-size:20px;
  line-height:1;
  transform:rotate(0deg);
  transition:transform .15s ease;
}
.ifp-wa-planner-nav__group[aria-expanded="true"] .ifp-wa-planner-nav__chevron{transform:rotate(90deg)}
.ifp-wa-planner-nav__node{
  padding:8px 8px;
  min-height:42px;
}
.ifp-wa-planner-nav__node:hover:not(:disabled){background:#edf5ff}
.ifp-wa-planner-nav__node[aria-current="step"]{
  background:#e8f2ff;
  color:#0b2948;
  box-shadow:inset 3px 0 0 #1769d2;
}
.ifp-wa-planner-nav__item.has-value > .ifp-wa-planner-nav__node:not([aria-current="step"]):not(:disabled){
  background:#f2fbf6;
  box-shadow:inset 3px 0 0 #2f9864;
}
.ifp-wa-planner-nav__item.has-value > .ifp-wa-planner-nav__node:not([aria-current="step"]):not(:disabled):hover{
  background:#e9f7f0;
}
.ifp-wa-planner-nav__item.has-value > .ifp-wa-planner-nav__node[aria-current="step"]{
  background:linear-gradient(90deg,#e8f2ff 0%,#eef9f3 100%);
  box-shadow:inset 3px 0 0 #1769d2;
}
.ifp-wa-planner-nav__node:disabled{
  cursor:not-allowed;
  opacity:.52;
}
.ifp-wa-planner-nav__status{
  flex:0 0 20px;
  width:20px;
  text-align:center;
  color:#6c7f93;
  font-size:12px;
}
.ifp-wa-planner-nav__item.is-complete .ifp-wa-planner-nav__status{color:#197046;font-weight:900}
.ifp-wa-planner-nav__item.is-active .ifp-wa-planner-nav__status{color:#1769d2}
.ifp-wa-planner-nav__item.is-incomplete .ifp-wa-planner-nav__status{color:#a65f00;font-weight:900}
.ifp-wa-planner-nav__label,
.ifp-wa-planner-nav__copy{
  min-width:0;
  max-width:100%;
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:normal;
}
.ifp-wa-planner-nav__label{flex:1 1 auto}
.ifp-wa-planner-nav__copy{display:flex;flex:1 1 auto;flex-direction:column;gap:1px}
.ifp-wa-planner-nav__meta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:4px 6px;
  margin-top:4px;
}
.ifp-wa-planner-nav__value-badge,
.ifp-wa-planner-nav__current-badge{
  display:inline-flex;
  align-items:center;
  min-height:20px;
  padding:3px 7px;
  border-radius:999px;
  font-size:9px;
  font-weight:900;
  line-height:1.1;
  white-space:nowrap;
}
.ifp-wa-planner-nav__value-badge{
  border:1px solid rgba(25,112,70,.22);
  background:#e5f7ee;
  color:#197046;
}
.ifp-wa-planner-nav__current-badge{
  border:1px solid rgba(23,105,210,.20);
  background:#e8f2ff;
  color:#1769d2;
}
.ifp-wa-planner-nav__copy strong,
.ifp-wa-planner-nav__copy small{
  min-width:0;
  max-width:100%;
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:normal;
}
.ifp-wa-planner-nav__copy strong{font-size:13px;line-height:1.25}
.ifp-wa-planner-nav__copy small{font-size:11px;line-height:1.35;color:#6c7f93}

/* 0.4.84: filled Navigator leaves use a light surface. Their own content must
 * therefore stay dark even when a WooCommerce theme applies white button text
 * with high specificity. This is presentation-only; statuses/state are unchanged. */
.ifp-wa-planner-navigator .ifp-wa-planner-nav__node .ifp-wa-planner-nav__copy,
.ifp-wa-planner-navigator .ifp-wa-planner-nav__node .ifp-wa-planner-nav__copy strong{
  color:#0b2948!important;
}
.ifp-wa-planner-navigator .ifp-wa-planner-nav__node .ifp-wa-planner-nav__copy small{
  color:#5d6f83!important;
}
.ifp-wa-planner-navigator .ifp-wa-planner-nav__node .ifp-wa-planner-nav__value-badge{
  color:#197046!important;
}
.ifp-wa-planner-navigator .ifp-wa-planner-nav__node .ifp-wa-planner-nav__current-badge{
  color:#1769d2!important;
}
.ifp-wa-navigator-mobile-toggle{
  display:none;
  align-items:center;
  gap:8px;
  width:max-content;
  border:1px solid rgba(11,41,72,.13);
  border-radius:10px;
  background:#fff;
  color:#0b2948;
  padding:9px 12px;
  font-weight:800;
  cursor:pointer;
}
.ifp-wa-planner-navigator__overlay{
  display:none;
  position:fixed;
  inset:0;
  z-index:2147482500;
  border:0;
  background:rgba(5,24,43,.42);
}

/* Standalone: two columns only. The existing live price becomes a content-row,
 * never a third narrow column next to Navigator + form. */
.ifp-wa-front.is-view-navigator .ifp-wa-workspace{
  display:grid;
  grid-template-columns:minmax(260px,310px) minmax(0,1fr);
  gap:24px;
  align-items:start;
}
.ifp-wa-front.is-view-navigator .ifp-wa-planner-navigator{
  grid-column:1;
  grid-row:1 / span 2;
  position:sticky;
  top:calc(86px + var(--wp-admin--admin-bar--height,0px));
}
.ifp-wa-front.is-view-navigator .ifp-wa-navigator-mobile-toggle{grid-column:2;grid-row:1}
.ifp-wa-front.is-view-navigator .ifp-wa-screens{
  grid-column:2;
  grid-row:1;
}
.ifp-wa-front.is-view-navigator .ifp-wa-workspace--with-price .ifp-wa-screens{grid-row:1}
.ifp-wa-front.is-view-navigator .ifp-wa-live-price{
  grid-column:2;
  grid-row:2;
  position:static;
  top:auto;
  max-height:none;
}
.ifp-wa-front.is-view-navigator .ifp-wa-screen{
  font-size:16px;
  line-height:1.58;
}
.ifp-wa-front.is-view-navigator .ifp-wa-screen>p,
.ifp-wa-front.is-view-navigator .ifp-wa-screen .ifp-wa-help{
  max-width:78ch;
}

/* Embedded Shop Planner: Navigator + current work. Existing summary sits below
 * the work area instead of becoming a third column. */
.ifp-wa-shop-planner.is-view-navigator .ifp-wa-shop-planner__workspace{
  display:grid;
  grid-template-columns:minmax(260px,310px) minmax(0,1fr);
  gap:22px;
  align-items:start;
}
.ifp-wa-shop-planner.is-view-navigator .ifp-wa-planner-navigator{
  grid-column:1;
  grid-row:1 / span 3;
  position:sticky;
  top:calc(86px + var(--wp-admin--admin-bar--height,0px));
}
.ifp-wa-shop-planner.is-view-navigator .ifp-wa-navigator-mobile-toggle{grid-column:2;grid-row:1}
.ifp-wa-shop-planner.is-view-navigator .ifp-wa-shop-planner__main{grid-column:2;grid-row:1}
.ifp-wa-shop-planner.is-view-navigator .ifp-wa-shop-planner__summary{
  grid-column:2;
  grid-row:2;
  position:static;
  max-width:none;
}
.ifp-wa-shop-planner.is-view-navigator .ifp-wa-shop-planner__stepbar{display:none}

@media (max-width:980px){
  .ifp-wa-front.is-view-navigator .ifp-wa-workspace,
  .ifp-wa-shop-planner.is-view-navigator .ifp-wa-shop-planner__workspace{
    display:block;
  }
  .ifp-wa-front.is-view-navigator .ifp-wa-navigator-mobile-toggle,
  .ifp-wa-shop-planner.is-view-navigator .ifp-wa-navigator-mobile-toggle{
    display:inline-flex;
    margin:0 0 14px;
  }
  .ifp-wa-front.is-view-navigator .ifp-wa-planner-navigator,
  .ifp-wa-shop-planner.is-view-navigator .ifp-wa-planner-navigator{
    position:fixed;
    z-index:2147482600;
    top:var(--wp-admin--admin-bar--height,0px);
    left:0;
    bottom:0;
    width:min(88vw,340px);
    max-width:340px;
    border-radius:0 18px 18px 0;
    transform:translateX(-105%);
    transition:transform .2s ease;
  }
  .ifp-wa-front.is-navigator-drawer-open .ifp-wa-planner-navigator,
  .ifp-wa-shop-planner.is-navigator-drawer-open .ifp-wa-planner-navigator{
    transform:translateX(0);
  }
  .ifp-wa-front.is-navigator-drawer-open .ifp-wa-planner-navigator__overlay,
  .ifp-wa-shop-planner.is-navigator-drawer-open .ifp-wa-planner-navigator__overlay{
    display:block;
  }
  .ifp-wa-planner-navigator__close{display:inline-grid;place-items:center}
  .ifp-wa-planner-navigator__body{
    max-height:calc(100vh - 70px);
    max-height:calc(100dvh - 70px);
  }
}
@media (max-width:620px){
  .ifp-wa-view-switch__label{display:none}
  .ifp-wa-view-switch__button{padding:8px}
}
