
/* ALFARI Theme 6.26.0 – Planfinder Plugin Presentation
   Plugin steuert. Theme gestaltet. Keine Schritt-/Folge-/Planlogik. */

.alfari-planfinder-v63,
.alfari-planfinder-v2{
  max-width:58rem;
  margin-inline:auto;
  color:var(--alfari-text);
}

.alfari-planfinder-v63 [data-flow-progress]{
  display:grid;
  gap:.45rem;
  padding:1rem 1.1rem;
  margin-bottom:1rem;
  background:var(--alfari-card);
  border:1px solid var(--alfari-border);
  border-radius:var(--alfari-radius-md);
  box-shadow:var(--alfari-shadow);
}
.alfari-planfinder-v63 [data-flow-progress] span{
  font-weight:800;
  color:var(--alfari-text);
}
.alfari-planfinder-v63 [data-flow-progress] small{
  color:var(--alfari-text-muted, var(--alfari-text));
}

.alfari-planfinder-v63 [data-flow-step]{
  background:var(--alfari-card);
  border:1px solid var(--alfari-border);
  border-radius:var(--alfari-radius-md);
  box-shadow:var(--alfari-shadow);
  padding:clamp(1rem,3vw,1.5rem);
}
.alfari-planfinder-v63 [data-flow-step][hidden]{
  display:none!important;
}

.alfari-planfinder-eyebrow{
  margin:0 0 .45rem;
  color:var(--alfari-primary);
  font-weight:850;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.alfari-planfinder-v63 [data-flow-step] :is(h2,h3,legend){
  color:var(--alfari-text);
  line-height:1.12;
}
.alfari-planfinder-help{
  color:var(--alfari-text-muted, var(--alfari-text));
  line-height:1.6;
}

/* Goal cards delivered by plugin */
.alfari-planfinder-goals{
  display:grid;
  grid-template-columns:1fr;
  gap:.75rem;
}
.alfari-planfinder-goal{
  min-height:58px;
  width:100%;
  text-align:left;
  padding:1rem 1.05rem;
  background:var(--alfari-card);
  color:var(--alfari-text);
  border:1px solid var(--alfari-border);
  border-radius:var(--alfari-radius-md);
  box-shadow:none;
  cursor:pointer;
}
.alfari-planfinder-goal[aria-pressed="true"]{
  border-color:var(--alfari-primary);
  outline:2px solid var(--alfari-primary);
  outline-offset:2px;
}
.alfari-planfinder-goal:focus-visible{
  outline:3px solid var(--alfari-primary);
  outline-offset:3px;
}
.alfari-planfinder-goal strong{
  display:block;
  color:var(--alfari-text);
}
.alfari-planfinder-goal small{
  display:block;
  margin-top:.2rem;
  color:var(--alfari-text-muted, var(--alfari-text));
}

/* Standard fields */
.alfari-planfinder-v63 :is(select,textarea,input[type="text"],input[type="number"],input[type="date"]){
  width:100%;
  min-height:52px;
  padding:.75rem .85rem;
  background:var(--alfari-card);
  color:var(--alfari-text);
  border:1px solid var(--alfari-border);
  border-radius:var(--alfari-radius-md);
}
.alfari-planfinder-v63 :is(select,textarea,input):focus-visible{
  outline:3px solid var(--alfari-primary);
  outline-offset:2px;
}

/* Checkbox/radio cards from plugin fieldsets */
.alfari-planfinder-v63 fieldset{
  display:grid;
  gap:.65rem;
  border:0;
  padding:0;
  margin:1rem 0 0;
}
.alfari-planfinder-v63 fieldset label{
  display:flex;
  align-items:flex-start;
  gap:.75rem;
  min-height:52px;
  padding:.85rem 1rem;
  background:var(--alfari-card);
  color:var(--alfari-text);
  border:1px solid var(--alfari-border);
  border-radius:var(--alfari-radius-md);
  cursor:pointer;
}
.alfari-planfinder-v63 fieldset label:has(input:checked){
  border-color:var(--alfari-primary);
  outline:2px solid var(--alfari-primary);
  outline-offset:1px;
}
.alfari-planfinder-v63 fieldset input{
  inline-size:1.25rem;
  block-size:1.25rem;
  flex:0 0 auto;
  margin-top:.1rem;
  accent-color:var(--alfari-primary);
}

/* Safety/health: factual, calm */
.alfari-planfinder-v63 [data-flow-step="safety"]{
  border-left:4px solid var(--alfari-primary);
}
.alfari-planfinder-v63 [data-functional-limitations]{
  margin-top:1rem;
}

/* Equipment */
.alfari-planfinder-v63 [data-home-equipment]{
  grid-template-columns:1fr;
}
.alfari-planfinder-v63 [data-home-equipment] label{
  min-height:54px;
}

/* Summary */
.alfari-planfinder-summary{
  display:grid;
  gap:.65rem;
  margin:1rem 0;
}
.alfari-planfinder-summary > div{
  display:grid;
  grid-template-columns:minmax(8rem,.8fr) 1.2fr;
  gap:1rem;
  padding:.8rem 0;
  border-bottom:1px solid var(--alfari-border);
}
.alfari-planfinder-summary dt{
  font-weight:800;
  color:var(--alfari-text);
}
.alfari-planfinder-summary dd{
  margin:0;
  color:var(--alfari-text-muted, var(--alfari-text));
}

/* Navigation */
.alfari-planfinder-actions{
  display:flex;
  gap:.75rem;
  justify-content:flex-end;
  margin-top:1rem;
}
.alfari-planfinder-actions button{
  min-height:50px;
  min-width:9rem;
  padding:.8rem 1rem;
  border-radius:var(--alfari-radius-md);
}
.alfari-planfinder-actions [data-planfinder-next],
.alfari-planfinder-actions [data-planfinder-submit]{
  background:var(--alfari-primary);
  color:var(--alfari-primary-contrast, var(--alfari-card));
  border:1px solid var(--alfari-primary);
}
.alfari-planfinder-actions [data-planfinder-back]{
  background:var(--alfari-card);
  color:var(--alfari-text);
  border:1px solid var(--alfari-border);
}

/* Result / Explainability / states */
.alfari-planfinder-result,
#alfari-planfinder-result,
#alfari-plan-result{
  background:var(--alfari-card);
  color:var(--alfari-text);
  border:1px solid var(--alfari-border);
  border-radius:var(--alfari-radius-md);
  box-shadow:var(--alfari-shadow);
}
.alfari-planfinder-result :is(h2,h3,h4,strong){
  color:var(--alfari-text);
}
.alfari-planfinder-result :is(p,li){
  color:var(--alfari-text-muted, var(--alfari-text));
}
.alfari-planfinder-primary-cta{
  min-height:50px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.8rem 1rem;
  background:var(--alfari-primary);
  color:var(--alfari-primary-contrast, var(--alfari-card));
  border-radius:var(--alfari-radius-md);
  text-decoration:none;
  font-weight:850;
}

/* Validation/errors supplied by plugin/browser */
.alfari-planfinder-v63 :is([aria-invalid="true"],:invalid:focus){
  border-color:var(--alfari-error, var(--alfari-primary));
}
.alfari-planfinder-v63 [role="alert"]{
  padding:.8rem 1rem;
  border:1px solid var(--alfari-border);
  border-left:4px solid var(--alfari-error, var(--alfari-primary));
  border-radius:var(--alfari-radius-md);
  background:var(--alfari-card);
  color:var(--alfari-text);
}

/* Mobile first */
@media (max-width:759px){
  .alfari-planfinder-v63,
  .alfari-planfinder-v2{
    width:100%;
    max-width:100%;
    min-width:0;
    overflow-x:hidden;
  }
  .alfari-planfinder-v63 [data-flow-step]{
    padding:1rem;
  }
  .alfari-planfinder-actions{
    display:grid;
    grid-template-columns:1fr;
  }
  .alfari-planfinder-actions button{
    width:100%;
    min-width:0;
  }
  .alfari-planfinder-summary > div{
    grid-template-columns:1fr;
    gap:.25rem;
  }
}

/* Tablet/Desktop */
@media (min-width:760px){
  .alfari-planfinder-goals{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .alfari-planfinder-v63 [data-home-equipment]{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
