/* =========================================================
   Bergmann – Seminare Flow
   ========================================================= */

.berg-seminare-flow{
  /* max-width: 980px; */
  margin: 0 auto;
  padding: 0;
  font-family: var(--berg-font-primary);
}

/* Tabs */
.berg-seminar-tabs{
  display: flex;
  gap: 28px;
  /* border-bottom: 1px solid var(--berg-border); */
  overflow: hidden;
  padding-bottom: 10px;
  margin-bottom: 18px;
}

.berg-seminar-tab{
  appearance: none;
  background: transparent;
  border: 0;
  padding: 10px 0 14px;
  cursor: pointer;
  font-size: 12px;
  font-weight: var(--berg-weight-semibold);
  text-transform: uppercase;

  color: var(--berg-text-secondary);
  white-space: nowrap;
}

.berg-seminar-tab.is-active{
  color: var(--berg-text-primary);
  position: relative;
}

.berg-seminar-tab.is-active::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-6px;
  height: 4px;
  width: 100%;
  background: var(--berg-accent-sale);
}

/* Description */
.berg-seminar-desc{
  margin: 18px 0 34px;
}

.berg-seminar-desc__panel{
  display: none;
  color: var(--berg-text-primary);
  font-size: var(--berg-text-base);
  line-height: var(--berg-leading-relaxed);
}

.berg-seminar-desc__panel.is-active{ display:block; }

/* Anmeldung title */
.berg-seminar-anmeldung-title{
  margin: 0 0 18px;
  font-size: var(--berg-text-2xl);
  font-weight: var(--berg-weight-normal);
  color: var(--berg-text-primary);
}

/* Termine */
.berg-termin-list{ display:none; }
.berg-termin-list.is-active{ display:block; }

.berg-termin-grid{
  display: grid;
  grid-template-columns: repeat(6, minmax(110px, 1fr));
  gap: 18px 20px;
  margin-bottom: 34px;
}

@media (max-width: 980px){
  .berg-termin-grid{ grid-template-columns: repeat(3, minmax(110px, 1fr)); }
}
@media (max-width: 560px){
  .berg-termin-grid{ grid-template-columns: repeat(2, minmax(110px, 1fr)); }
}

.berg-termin-btn{
  border: 0;
  background: #ffffff;
  padding: 18px 16px;
  text-align: left;
  cursor: pointer;
  /* transition: opacity var(--berg-transition-fast), transform var(--berg-transition-fast); */
}

/* .berg-termin-btn:hover{
} */

.berg-termin-date{
  font-size: 18px;
  font-weight: var(--berg-weight-normal);
  color: var(--berg-text-primary);
  margin-bottom: 8px;
}

.berg-termin-cta{
  font-size: 14px;
  text-transform: uppercase;
  font-weight: var(--berg-weight-semibold);
  color: var(--berg-text-primary);
}

/* Step 2: fade out other Termine */
.berg-seminare-flow.has-selection .berg-termin-btn.is-disabled{
  opacity: 0.25;
  pointer-events: none;
}

.berg-seminare-flow.has-selection .berg-termin-btn.is-selected{
  opacity: 1;
}

/* WEITER button */
.berg-seminar-next{
  background: var(--berg-primary);
  color: var(--berg-text-white);
  border: 2px solid var(--berg-primary);
  border-radius: var(--berg-radius-full);
  padding: 16px 44px;
  font-weight: var(--berg-weight-semibold);
  letter-spacing: var(--berg-tracking-wide);
  text-transform: uppercase;
  cursor: pointer;
    float: right;
}

.berg-seminar-next[disabled]{
  opacity: 0.55;
  cursor: not-allowed;
}

/* Step 3 summary layout */
.berg-termin-summary__item {
  display: flex;
  align-items: flex-start;
  gap: 16px;
}

.berg-termin-summary__content {
  min-width: 0;
}

/* Icon base */
.berg-termin-summary__icon {
  width: 22px;
  height: 22px;
  flex-shrink: 0;
  margin-top: 3px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

/* Icon variants (theme assets) */
.berg-termin-summary__icon--calendar {
  background-image: url("/wp-content/themes/pa_divi_child-main/assets/icons/calendar.svg");
}

.berg-termin-summary__icon--lesson {
  background-image: url("/wp-content/themes/pa_divi_child-main/assets/icons/lesson.svg");
}


.berg-seminar-next.is-hidden{ display:none !important; }

.berg-step3.is-hidden, .berg-step4.is-hidden{ display:none; }

.berg-termin-summary{
  display: flex;
  /* gap: 26px; */
  gap: 132px;
  padding: 18px 18px;
  background: var(--berg-bg-light);
  border: 1px solid var(--berg-border-light);
  margin: 16px 0 26px;
}

.berg-termin-summary__label{
  font-size: 18px;
  color: var(--berg-text-secondary);
  margin-bottom: 6px;
}

.berg-termin-summary__value{
  font-size: 14px;
  font-weight: var(--berg-weight-semibold);
  color: var(--berg-text-primary);
}

.berg-step3{
  width: 50%;}
/* CF7 wrapper – reuse your contact form styling by “pretending” it’s in .contact-form */
.berg-seminar-formwrap{
  margin-top: 10px;
}

/* Apply your existing contact form styles inside the seminar form too */
/* .berg-seminar-formwrap{ }
.berg-seminar-formwrap form{ } */
.berg-seminar-formwrap,
.berg-seminar-formwrap *{
  box-sizing: border-box;
}


/* Copy the important bits from your bergmann-contact-form.css scope by scoping to .berg-seminar-formwrap */
.berg-seminar-formwrap label{
  display: inline-block;
  margin: 0 0 8px 0 !important;
  color: var(--berg-text-muted) !important;
  font-family: var(--berg-font-primary) !important;
  font-weight: var(--berg-weight-normal) !important;
  /* font-size: var(--berg-text-sm) !important; */
  width: 100%;
}

.berg-seminar-formwrap input[type="text"],
.berg-seminar-formwrap input[type="email"],
.berg-seminar-formwrap input[type="tel"],
.berg-seminar-formwrap input[type="number"],
.berg-seminar-formwrap textarea,
.berg-seminar-formwrap select{
  width: 100% !important;
  background: var(--berg-bg-white) !important;
  border: 1px solid var(--berg-primary) !important;
  border-radius: 0 !important;
  padding: 14px 14px !important;
  font-family: var(--berg-font-primary) !important;
  font-size: var(--berg-text-base) !important;
  box-shadow: none !important;
  outline: none !important;
}

.berg-seminar-formwrap textarea{
  min-height: 180px !important;
}

.berg-seminar-formwrap input[type="submit"]{
  background: var(--berg-primary) !important;
  color: var(--berg-text-white) !important;
  border: 2px solid var(--berg-primary) !important;
  border-radius: var(--berg-radius-full) !important;
  padding: 14px 34px !important;
  font-family: var(--berg-font-primary) !important;
  font-weight: var(--berg-weight-semibold) !important;
  font-size: 13px !important;
  letter-spacing: var(--berg-tracking-wide) !important;
  text-transform: uppercase !important;
  min-width: 260px;
}
.wpcf7-radio .wpcf7-list-item,
.wpcf7-acceptance .wpcf7-list-item{
  margin: 0 0 0 0em !important;
}
.wpcf7-radio .wpcf7-list-item-label{
  font-weight: var(--berg-weight-semibold) !important;
  color: var(--berg-text-primary) !important;
  padding: 0px 116px 0px 6px;
}
.wpcf7-list-item-label a{
  font-weight: var(--berg-weight-semibold) !important;
  color: var(--berg-text-primary) !important;
  text-decoration: underline !important;
}
.berg-seminar-formwrap input[type="radio"]{
    appearance: none;
    margin: 0;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    border: 1px solid #FFF;

    /* Outline for the ring (doesn't affect layout) */
    outline: 1px solid var(--berg-primary);
    outline-offset: -0.05em;

    display: inline-grid;
    place-content: center;
}
.berg-seminar-formwrap input[type="radio"]::before {
    content: "";
    width: 12px;
    height: 12px;
    border-radius: 50%;
    transform: scale(0);
    transition: 120ms transform ease-in-out;
    box-shadow: inset 1em 1em var(--berg-primary);
}
.berg-seminar-formwrap input[type="radio"]:checked{  
    outline-color: var(--berg-primary);
}
.berg-seminar-formwrap input[type="radio"]:checked::before {
    transform: scale(1);
}
.berg-seminar-formwrap input[type="radio"]:focus-visible {
    outline-color: currentColor;
    box-shadow: 0 0 0 max(2px, 0.1em) currentColor;
}

.wpcf7-list-item input[type="checkbox"]{
  content: "";
  background-color: #ffffff !important;
  border: 1px solid var(--berg-primary) !important;
  width: 24px !important;
  height: 24px !important;
  accent-color: var(--berg-primary) !important;
  transform: translateY(2px);
}
.wpcf7-list-item input[type="checkbox"]:checked{
  content: "N" !important;
  font-family: ETmodules !important;
  color: var(--berg-primary) !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 24px !important;
  text-align: center !important;
}
.wpcf7-acceptance .wpcf7-list-item-label{
  vertical-align: text-bottom !important;
}

/* hide CF7 response boxes if you don’t want them */
.berg-seminar-formwrap .wpcf7-response-output{
  margin: 18px 0 0 !important;
}

/* CF7 layout helpers */
.berg-seminar-formwrap .berg-form-row{
  display: flex;
  gap: 20px;
  align-items: flex-start;
}

.berg-seminar-formwrap .berg-form-col{
  flex: 1 1 0;
  min-width: 0; /* prevents overflow */
}

/* Make sure controls fill their column */
.berg-seminar-formwrap .berg-form-col input,
.berg-seminar-formwrap .berg-form-col select,
.berg-seminar-formwrap .berg-form-col textarea{
  width: 100% !important;
}
.wpcf7-not-valid-tip {
  font-size: var(--berg-text-xs) !important;
  font-weight: var(--berg-weight-medium) !important;
}
.wpcf7-response-output{
  border-color: transparent !important;
}
.berg-step4 .berg-seminar-danke-title{
  color: var(--berg-primary) !important;
  font-weight: var(--berg-weight-semibold) !important;
}
.berg-step4 p.berg-seminar-danke-text{
  padding-bottom: 24px !important;
}

@media (max-width: 1024px){

  .berg-step3{
    width: 100%;
  }
  .berg-termin-summary{
    flex-direction: column;
    gap: 36px;
  }
  
}

/* Stack on mobile */
@media (max-width: 768px){
  .berg-seminar-formwrap .berg-form-row{
    flex-direction: column;
    gap: 12px;
  }
}