/* Reset và base styles */
.form-group {
  margin-bottom: 20px !important;
  position: relative !important;
}

/* Input field styles */
.mat-form-field {
  width: 100% !important;
  display: block !important;
  margin-bottom: 1.5rem !important;
}

.mat-form-field-wrapper {
  padding-bottom: 0 !important;
  position: relative !important;
}

.mat-form-field-flex {
  position: relative !important;
  display: inline-flex !important;
  align-items: baseline !important;
  box-sizing: border-box !important;
  width: 100% !important;
  background: white !important;
}

.mat-form-field-infix {
  display: block !important;
  position: relative !important;
  flex: auto !important;
  min-width: 0 !important;
  width: 100% !important;
  padding: 0.5em 0 !important;
  border-top: 0.5em solid transparent !important;
}

/* Label positioning */
.mat-form-field-label-wrapper {
  position: absolute !important;
  left: 0 !important;
  box-sizing: content-box !important;
  width: 100% !important;
  height: 100% !important;
  overflow: hidden !important;
  pointer-events: none !important;
}

.mat-form-field-label {
  position: absolute !important;
  left: 0 !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  color: rgba(0,0,0,.6) !important;
  transform-origin: 0 0 !important;
  transition: transform .4s cubic-bezier(.25,.8,.25,1),color .4s cubic-bezier(.25,.8,.25,1),width .4s cubic-bezier(.25,.8,.25,1) !important;
}

/* Input text styling */
input.mat-input-element {
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.125 !important;
  font-family: Roboto,"Helvetica Neue",sans-serif !important;
  padding: 8px 0 !important;
}

/* Underline styling */
.mat-form-field-underline {
  position: absolute !important;
  width: 100% !important;
  pointer-events: none !important;
  transform: scale3d(1, 1.0001, 1) !important;
}

/* Error styles */
.mat-error {
  display: block !important;
  position: absolute !important;
  top: 100% !important;
  font-size: 12px !important;
  margin-top: 0.4em !important;
}

/* Responsive adjustments */
@media screen and (max-width: 768px) {
  .form-group {
    margin-bottom: 15px !important;
  }
  
  .mat-form-field {
    margin-bottom: 1rem !important;
  }
  
  input.mat-input-element {
    font-size: 16px !important; /* Better for mobile touch */
  }
  
  .mat-form-field-label {
    font-size: 16px !important;
  }
}

/* Fix for address fields */
.address-field {
  margin-bottom: 10px !important;
}

.address-field .mat-form-field-wrapper {
  margin-bottom: 0 !important;
}

/* Container spacing */
.container-fluid {
  padding: 15px !important;
}

.row {
  margin-left: -15px !important;
  margin-right: -15px !important;
}

/* Existing styles preserved */
.hd-container[_ngcontent-c17] {
  display: flex !important;
  flex-direction: column-reverse !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: 100% !important;
  padding: 15px !important;
}

.hd-ava[_ngcontent-c17] {
  position: relative !important;
  display: block !important;
  margin: 0 auto 20px auto !important;
  float: none !important;
  left: unset !important;
  top: unset !important;
}

.hd-ava[_ngcontent-c17] img {
  max-width: 140px !important;
  max-height: 180px !important;
  width: 100% !important;
  height: auto !important;
  object-fit: cover !important;
  border-radius: 8px !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.08) !important;
  display: block !important;
  margin: 0 auto !important;
}

@media (max-width: 600px) {
  .hd-ava[_ngcontent-c17] img {
    max-width: 100px !important;
    max-height: 130px !important;
  }
}

.hd-title[_ngcontent-c17] {
  margin: 0 auto !important;
  float: none !important;
  text-align: center !important;
} 