/* Candle Form Basic Styling */

.candleform-container {
    /* Container, falls benötigt */
    margin-top: 20px;
}

.cf-panel {
   margin-bottom: 20px;
   background-color: #fff;
   border: 1px solid #ddd;
   border-radius: 4px;
   box-shadow: 0 1px 1px rgba(0,0,0,.05);
}
.cf-panel-heading {
    padding: 10px 15px;
    border-bottom: 1px solid #ddd;
    border-top-left-radius: 3px;
    border-top-right-radius: 3px;
    background-color: #f5f5f5; /* Heller Hintergrund für Überschriften */
}
.cf-panel-heading h3, .cf-panel-heading h4 {
    margin-top: 5px;
    margin-bottom: 5px;
    font-size: 18px;
}
.cf-panel-body {
    padding: 15px;
}
.cf-inner-panel {
    margin-top: 10px;
    margin-bottom: 10px;
    border: 1px solid #eee; /* Etwas dezenter für innere Panels */
}

/* Layout (Basis Bootstrap Grid Annahme, Anpassungen mit Flexbox) */
/* Wenn Ihr Theme kein Bootstrap hat, müssen Sie ein Grid-System implementieren oder Flexbox stärker nutzen */
@media (min-width: 992px) { /* md breakpoint */
  .candleform-main {
    /* Nimmt standardmäßig Platz ein, da col-md-8 */
     padding-right: 30px; /* Abstand zum Sidebar */
  }
  .candleform-sidebar {
     /* Nimmt standardmäßig Platz ein, da col-md-4 */
     position: sticky; /* Sidebar bleibt beim Scrollen sichtbar */
     top: 20px;       /* Abstand zum oberen Rand */
     max-height: calc(100vh - 40px); /* Maximale Höhe, verhindert Überlänge */
     overflow-y: auto; /* Scrollbar bei Bedarf */
  }
}

/* Utility Class zum Ausblenden */
.cf-hidden {
    display: none !important; /* Wichtig, um JS Show/Hide zu ermöglichen */
}

/* Formularelemente */
.cf-input-name {
    margin-bottom: 5px; /* Kleiner Abstand zwischen Namensfeldern */
}
.cf-praylist-wrapper .panel-body {
    padding-bottom: 5px; /* Weniger Padding unten bei Namenslisten */
}
.cf-module {
    padding-bottom: 15px;
    border-bottom: 1px dashed #eee; /* Leichte Trennung zwischen Modulen */
    margin-bottom: 15px;
}
.cf-module:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

/* Panichida spezifisch */
.cf-pan-row label {
    font-weight: normal;
}
.cf-pan-price label, .cf-pan-date label {
   display: block;
   font-size: 12px;
   margin-bottom: 2px;
}
.cf-pan-price .form-control, .cf-pan-date .form-control {
   height: 30px; /* Kleinere Select/Date Felder */
   padding: 5px 10px;
}

/* Kerzen & Zusatzspende */
.cf-candle-well {
    padding: 10px;
    margin-bottom: 15px;
    background-color: #f9f9f9; /* Leichter Hintergrund für Slider-Bereiche */
}
.cf-candle-label p {
    margin: 0;
    font-size: 14px;
}
.cf-nouislider { /* Basis Styling für Slider */
    margin-top: 5px;
    margin-bottom: 10px;
}

/* Sidebar */
.payment-sidebar {
    margin-top: 20px; /* Entspricht Margin vom linken Panel im Vue */
}
.payment-sidebar .list-group-item {
   border-left: none;
   border-right: none;
}
.payment-sidebar .list-group-item:first-child {
   border-top-left-radius: 0;
   border-top-right-radius: 0;
}
.payment-sidebar .list-group-item:last-child {
   border-bottom-left-radius: 0;
   border-bottom-right-radius: 0;
    margin-bottom: 0;
}

#cf-order-summary .sidebar-desc {
   font-size: 14px;
}
#cf-order-summary .sidebar-amount {
   font-weight: bold;
   font-size: 14px;
}
.donation-result {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid #ddd;
}
.donation-result strong {
    font-size: 16px;
}

/* Zahlungsmethoden */
.payment-methods .radio label {
    font-weight: bold;
    width: 100%; /* Damit Label ganze Breite einnimmt */
}
.cf-payment-details {
    margin-left: 25px; /* Details einrücken */
}
.cf-sepa-option[data-min-amount] { /* Styling wenn min amount greift */
   background-color: #fdfdfd;
}
.cf-sepa-option[data-min-amount] > .radio > label {
    color: #999; /* Ausgegraut, wenn deaktiviert */
}
#cf-submit-button:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

/* Nachrichtenbereich */
.cf-messages-area .alert {
    margin: 0;
    padding: 10px 15px;
    font-size: 14px;
}

/* Loader */
#cf-loading-indicator span {
    margin-right: 5px;
}

/* Responsivität für Sidebar */
@media (max-width: 991px) { /* Alles unter md */
  .candleform-sidebar {
    position: static;
    top: auto;
    max-height: none;
    overflow-y: visible;
    margin-top: 30px; /* Mehr Abstand auf Mobilgeräten */
  }
}

/* Optional: Styling für Pflichtfeld-Indikator */
label .cf-required-indicator {
    color: red;
    margin-left: 3px;
}