#emx_profile, .site-content-grid > .wrap { margin-top: 60px; }
.site-content-grid > .wrap > p { text-align: center; }

.alert { margin-top: 40px; }
p.warning { margin-bottom: 10px; }

.select2-container { max-width: unset !important; margin: 0 !important; }
.select2-container--default .select2-selection--multiple { border: 1px solid #ccc !important; padding: 0 !important; }
.select2-results__option--highlighted { color: #000 !important; font-weight: 600 !important; }

.emx-profile-form {
  font-family: system-ui, sans-serif;
  max-width: 960px;
  margin: 0 auto;
  padding: 0 16px;
}

/* Section boxes */
.emx-section {
  border: 1px solid #dcdcdc;
  border-radius: 6px;
  padding: 24px;
  background: #fdfdfd;
  margin-bottom: 40px;
}

.emx-section .mb-3 { margin-bottom: 0px !important; }
.emx-preview { margin-bottom: 5px; }

/* Section headings */
.emx-section h2 {
  padding-left: 0px;
  font-size: 18px;
  margin-bottom: 18px;
  font-weight: 600;
  color: #1d1d1f;
  /* padding-bottom: 6px; */
}

/* Description/Help text */
.emx-note {
  font-size: 14px;
  color: #666;
  margin-bottom: 20px;
}

/* Grid layout for grouped fields */
.emx-grid-3col {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.emx-grid-2col {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}

.emx-grid-1col {
  display: block;
}

/* Individual field containers */
.emx-field {
  display: flex;
  flex-direction: column;
}

.emx-field label {
  font-weight: 600;
  font-size: 14px;
  margin-bottom: 4px;
  color: #222;
}

.emx-field input,
.emx-field select,
.emx-field textarea {
  padding: 8px 10px;
  font-size: 14px;
  border: 1px solid #ccc;
  border-radius: 4px;
  background: #fff;
  transition: border-color 0.2s ease;
}

.emx-field input:focus,
.emx-field select:focus,
.emx-field textarea:focus {
  outline: none;
  border-color: #007cba;
}

/* Field hint */
.emx-field small {
  font-size: 12px;
  color: #666;
  margin-top: 4px;
}

/* Profile photo block */
.emx-photo-block {
  display: flex;
  align-items: flex-start;
  gap: 24px;
  margin-bottom: 24px;
}

.module-container .photo-preview img, .module-container .photo-preview h2, p.details, div.professional p { margin-bottom: 15px; }

#profile-photo-preview, #profile-photo-none { border-radius: 50%; width: 150px; height: 150px; object-fit: cover; }

.emx-photo-block .photo-preview img {
  min-height: 120px;
  width: 120px;
  height: 120px;
  border-radius: 100%;
  object-fit: cover;
  border: 2px solid #ccc;
}

.emx-photo-block .photo-upload {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: 14px;
}

.emx-photo-block .photo-upload input[type="file"] {
  margin-top: 4px;
}

/* Name preview */
.emx-preview {
  margin-top: 20px;
  font-size: 14px;
  background: #f9f9f9;
  padding: 12px;
  border-left: 3px solid #bbb;
  border-radius: 4px;
  color: #333;
}

.emx-preview small {
  display: block;
  margin-top: 6px;
  font-size: 12px;
  color: #666;
}

/* Submit button */
.emx-submit > div {
  	margin: 16px 7px 0 0;
	display: inline-block;
}

.emx-submit .button {
  padding: 10px 24px;
  font-size: 15px;
}

.emx-submit .btn-secondary {
	padding: 7px 29px;
    border: 2px solid #6c757d;
}

/* Select2 and multi-select styling */
select[multiple],
.emx-multiselect {
  height: auto;
  min-height: 120px;
}

/* Select2 enhancements (if used) */
.select2-container--default .select2-selection--multiple {
  border: 1px solid #ccc;
  border-radius: 4px;
  padding: 6px;
  min-height: 40px;
  background: #fff;
}

.select2-container--default .select2-selection--single {
  height: auto !important;
  border: 1px solid #ccc;
  border-radius: 4px;
  padding: 4px 10px;
}

.select2-container--default .select2-selection--multiple .select2-selection__rendered { padding: 0 10px !important; }

/* WooCommerce address display */
.emx-section .emx-field strong {
  display: block;
  font-weight: 600;
  margin-bottom: 6px;
  color: #222;
}

.emx-section .button {
  margin-top: 10px;
}

.emx-field .select2-container {
    margin-left: 0;
}

.section-topper {
    display: flex; 
    flex-direction: row; 
    justify-content: space-between;
    border-bottom: 1px solid #ddd;
    margin-bottom: 18px;
}

input[type="checkbox"].form-check-input {
  appearance: checkbox !important;
  -webkit-appearance: checkbox !important;
  -moz-appearance: checkbox !important;
  border-radius: 0 !important;
}

.emx-profile-display h2, .providerbox h4 { margin-bottom: 0; }

.emx-profile-display h3, .emx-profile-display .module p { margin-bottom: 10px; }

.emx-profile-display .module div { margin-bottom: 20px; }

.profile-photo {
	margin-bottom: 30px;
}

.btn-purple { background: rgb(84, 46, 145) !important; }

.profile-photo > img { 
	width: 100%;
	max-height: 300px;
	object-fit: cover;
}

.module-container {
	display: flex;
  	padding: 20px 0;
  	margin: 20px 0;
  	gap: 15px;
}

.module {
	border-radius: 15px;
	border: 1px solid rgba(87,87,87,.54);
	padding: 20px;
}

.module.col-md-8 {
	width: calc(66.666% - 15px);
}