
:root {
  --primary: #7a1a1a;
  --primary_hover: #b13434;
}
body { 
  font-family: 'Poppins', sans-serif; 
  background: #f8f9fa; 
  margin: 0; 
  padding: 20px; 
  color: #333; 
}

.container { 
    max-width: 600px; 
    
    background: white; 
    padding: 40px; 
    border-radius: 20px; 
    box-shadow: 0 4px 20px rgba(0,0,0,0.1); 
}
h1 { 
     
    color: #1a3c34; 
    margin-bottom: 8px;
    
    border-left: 8px solid var(--primary);
    padding-left: 20px;
    border-radius: 20px;
    font-size: 2rem;

}
.subheadline { 
    text-align: center; 
    color: #555; 
    margin-bottom: 32px; 
}
.form-step { 
    display: none; 
}
.form-step.active { 
    display: block; 
}
label { display: block; 
    margin: 16px 0 8px; 
    font-weight: 600; 
}
input[type="text"], input[type="tel"], input[type="email"], 
input[type="date"] { 
    width: 100%; 
    padding: 16px; 
    border: 1px solid #ddd; 
    border-radius: 20px; 
    font-size: 16px; 
    box-sizing: border-box;
    background: rgb(45 38 127 / 9%);
    margin-bottom: 30px;
}
.radio-group { 
    margin: 12px 0; 
}
.radio-group label { 
    font-weight: normal; 
    margin: 8px 0; 
    display: flex; 
    align-items: center; 
}
.radio-group input[type="radio"] { 
    margin-right: 12px; 
}
button { 
    background: var(--primary); 
    color: white; 
    border: none; 
    padding: 14px 24px; 
    font-size: 16px; 
    border-radius: 21px;
    cursor: pointer; 
    margin-top: 20px; 
    width: 100%; 
}
button:hover { 
    background: var(--primary_hover); 
}
button.back { 
    background: #ccc; 
    color: #333; 
    width: auto; 
    margin-right: 10px; 
}
.confirmation { 
    text-align: center; 
    padding: 40px 20px; 
    background: #e8f5f0; 
    border-radius: 12px; 
}
.hidden { 
    display: none; 
}
.error { 
    color: #d32f2f; 
    font-size: 0.9em; 
    margin-top: 4px; 
}

/* Progress bar styles */
#progressContainer {
  margin-bottom: 24px; 
  display: none;
}
#progressContainer div:first-child {
  display: flex; 
  justify-content: space-between; 
  align-items: center; 
  margin-bottom: 8px;
}
#progressContainer span {
  font-size: 14px; 
  font-weight: 600; 
  color: #1a3c34;
}
#progressContainer div:last-child {
  width: 100%; 
  height: 6px; 
  background: #e0e0e0; 
  border-radius: 3px; 
  overflow: hidden;
}
#progressBar {
  height: 100%; 
  background: #1a3c34; 
  width: 25%; 
  transition: width 0.3s ease; 
  border-radius: 3px;
}
/* Logo styles */
.square-box {
  display: flex;
  justify-content: center;
  margin-bottom: 20px;
}
.square-box img {
  width: 80px;
  height: 80px;
  object-fit: cover;
  border-radius: 10px;
}

/* Inline calendar styling */
#calendar-container {
  margin: 20px 0;
}
.flatpickr-calendar {
  width: 100% !important;
  box-shadow: none;
  border: 1px solid #ddd;
  border-radius: 20px;
  background: white;
  font-family: 'Poppins', sans-serif;
}
.flatpickr-day.selected {
  background: var(--primary) !important;
  border-color: var(--primary) !important;
}
.flatpickr-day.today {
  border-color: var(--primary_hover);
}

.flatpickr-calendar.inline {
  border-radius: 20px;
  padding: 20px;
}

@media (max-width: 768px) {
    h1 {
        font-size: 1.5rem;
    }

    .subheadline { 
      text-align: left; 
      color: #555; 
      margin-bottom: 32px;
      font-size: smaller;
    }
}