/*
 * CASTING LAB v79
 * Visual-only continuation of v78 for #expert-profile.
 * The existing form, conditional role fields, uploads and save handlers are reused unchanged.
 */

#expertProfileViewV65 .expert-profile-page {
  width: 100% !important;
  max-width: none !important;
  min-height: 100vh;
  margin: 0 !important;
  padding: 0 0 115px !important;
  background: #f5f5f3;
}

#expertProfileViewV65 .expert-profile-top {
  min-height: 82px;
  margin: 0;
  padding: 18px !important;
  gap: 13px;
  border-bottom: 1px solid #e3e4e1;
  background: #fff;
}

#expertProfileViewV65 .expert-profile-back {
  width: 46px;
  height: 46px;
  border-radius: 9px;
}

#expertProfileViewV65 .expert-profile-back svg {
  width: 23px;
  height: 23px;
}

#expertProfileViewV65 .expert-profile-top small {
  font-size: 12px !important;
  line-height: 1.35;
  letter-spacing: 1.25px;
}

#expertProfileViewV65 .expert-profile-top h2 {
  margin: 5px 0 0;
  font-size: 27px !important;
  line-height: 1.25;
  letter-spacing: -1.05px;
}

#expertProfileViewV65 .expert-profile-content {
  width: 100%;
  padding: 0;
}

/* Profile state is shown as an edge-to-edge information strip. */
#expertProfileViewV65 .expert-profile-content > .casting-profile-status {
  margin: 0 !important;
  padding: 17px 18px !important;
  border-top: 0 !important;
  border-right: 0 !important;
  border-left: 0 !important;
  border-bottom: 1px solid #dfe4ef !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

#expertProfileViewV65 .casting-profile-status b {
  font-size: 17px !important;
  line-height: 1.4;
}

#expertProfileViewV65 .casting-profile-status span {
  margin-top: 5px;
  font-size: 14px !important;
  line-height: 1.55;
}

#expertProfileViewV65 .casting-profile-status button {
  min-height: 43px;
  padding: 10px 13px;
  border-radius: 8px;
  font-size: 14px !important;
}

/* Reused profile form: no floating card, no outer side gap. */
#expertProfileViewV65 .expert-profile-content > .my-form,
#expertProfileViewV65 .my-form {
  margin: 0 !important;
  border-top: 0 !important;
  border-right: 0 !important;
  border-left: 0 !important;
  border-bottom: 1px solid #e3e4e1 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: #fff;
}

#expertProfileViewV65 .my-form-section {
  padding: 26px 18px !important;
  border-bottom: 1px solid #e3e4e1;
}

#expertProfileViewV65 .my-form-section:last-of-type {
  border-bottom: 0;
}

#expertProfileViewV65 .my-form-section h3 {
  margin: 0 0 8px;
  font-size: 22px !important;
  line-height: 1.35;
  letter-spacing: -.55px;
}

#expertProfileViewV65 .my-form-section > p {
  margin: 0 0 20px;
  color: #676b73;
  font-size: 14px !important;
  line-height: 1.6;
  word-break: keep-all;
}

#expertProfileViewV65 .my-field {
  gap: 8px;
  margin-top: 16px;
}

#expertProfileViewV65 .my-field label,
#expertProfileViewV65 .my-choice-wrap > label {
  font-size: 15px !important;
  line-height: 1.45;
}

#expertProfileViewV65 .field-hint {
  font-size: 13px !important;
  line-height: 1.45;
}

#expertProfileViewV65 .my-field input,
#expertProfileViewV65 .my-field select,
#expertProfileViewV65 .my-field textarea {
  min-height: 50px;
  padding: 13px 14px;
  border-radius: 8px;
  font-size: 16px !important;
  line-height: 1.45;
}

#expertProfileViewV65 .my-field textarea {
  min-height: 120px;
}

#expertProfileViewV65 .my-choice-wrap {
  margin-top: 18px;
}

#expertProfileViewV65 .multi-choice-grid {
  gap: 8px;
  margin-top: 10px;
}

#expertProfileViewV65 .multi-choice-grid span {
  min-height: 46px;
  padding: 10px 7px;
  border-radius: 8px;
  font-size: 14px !important;
  line-height: 1.35;
}

#expertProfileViewV65 .my-save {
  width: calc(100% - 36px);
  min-height: 54px;
  margin: 22px 18px;
  padding: 15px;
  border-radius: 9px;
  font-size: 16px !important;
}

/* Role guidance and role-specific fields retain their exact conditional behavior. */
#expertProfileViewV65 .expert-role-guidance {
  margin: 0 -18px 22px;
  padding: 19px 18px;
  border-radius: 0;
}

#expertProfileViewV65 .expert-role-guidance b {
  font-size: 19px !important;
  line-height: 1.4;
}

#expertProfileViewV65 .expert-role-guidance p {
  margin-top: 8px;
  font-size: 14px !important;
  line-height: 1.65;
}

#expertProfileViewV65 .expert-role-guidance small {
  margin-top: 9px;
  font-size: 13px !important;
  line-height: 1.55;
}

#expertProfileViewV65 .expert-role-tabs {
  gap: 8px;
  padding: 3px 0 13px;
}

#expertProfileViewV65 .expert-role-tab {
  min-height: 42px;
  padding: 10px 13px;
  font-size: 14px !important;
}

#expertProfileViewV65 .expert-role-editor {
  margin-top: 9px;
}

#expertProfileViewV65 .expert-role-editor-head {
  margin: 11px 0 15px;
}

#expertProfileViewV65 .expert-role-editor-head b {
  font-size: 18px !important;
  line-height: 1.4;
}

#expertProfileViewV65 .expert-role-editor-head span {
  font-size: 13px !important;
  line-height: 1.5;
}

#expertProfileViewV65 .expert-specialty-grid {
  gap: 8px;
  margin-bottom: 14px;
}

#expertProfileViewV65 .expert-specialty-grid span {
  min-height: 41px;
  padding: 10px 11px;
  display: flex;
  align-items: center;
  border-radius: 8px;
  font-size: 14px !important;
  line-height: 1.35;
}

#expertProfileViewV65 .expert-role-other input {
  min-height: 50px;
  padding: 13px 14px;
  border-radius: 8px;
  font-size: 16px !important;
}

#expertProfileViewV65 .expert-role-file-current {
  margin-top: 8px;
  font-size: 13px !important;
  line-height: 1.5;
}

#expertProfileViewV65 .expert-role-file-remove {
  margin-top: 8px;
  padding: 8px 10px;
  font-size: 13px !important;
}

#expertProfileViewV65 .expert-ai-consent {
  margin: 16px -18px 0;
  padding: 17px 18px;
  border-right: 0;
  border-left: 0;
  border-radius: 0;
}

#expertProfileViewV65 .expert-ai-consent label {
  gap: 10px;
  font-size: 15px !important;
  line-height: 1.45;
}

#expertProfileViewV65 .expert-ai-consent p,
#expertProfileViewV65 .expert-ai-consent small {
  margin-left: 28px;
  font-size: 13px !important;
  line-height: 1.6;
}

/* Existing extended profile fields and upload components. */
#expertProfileViewV65 .role-specific-fields {
  margin-top: 20px;
  padding-top: 20px;
}

#expertProfileViewV65 .role-specific-fields h4,
#expertProfileViewV65 .model-compcard-box h4,
#expertProfileViewV65 .group-buy-fields h4 {
  font-size: 19px !important;
  line-height: 1.4;
}

#expertProfileViewV65 .compcard-intro {
  margin: 0 -18px 18px;
  padding: 19px 18px;
  border-radius: 0;
}

#expertProfileViewV65 .compcard-intro small {
  font-size: 12px !important;
}

#expertProfileViewV65 .compcard-intro b {
  font-size: 20px !important;
}

#expertProfileViewV65 .compcard-intro p {
  font-size: 14px !important;
  line-height: 1.6;
}

#expertProfileViewV65 .compcard-upload {
  padding: 18px;
  border-radius: 8px;
}

#expertProfileViewV65 .compcard-upload label {
  font-size: 15px !important;
}

#expertProfileViewV65 .compcard-upload span,
#expertProfileViewV65 .compcard-photo-hint,
#expertProfileViewV65 .compcard-privacy {
  font-size: 13px !important;
  line-height: 1.6;
}

#expertProfileViewV65 .compcard-public-row {
  padding: 15px;
  border-radius: 8px;
}

#expertProfileViewV65 .compcard-public-row b {
  font-size: 15px !important;
}

#expertProfileViewV65 .compcard-public-row span {
  font-size: 13px !important;
  line-height: 1.5;
}

#expertProfileViewV65 .compcard-link-box input,
#expertProfileViewV65 .compcard-link-box button {
  min-height: 45px;
  border-radius: 8px;
  font-size: 13px !important;
}

@media (max-width: 520px) {
  #expertProfileViewV65 .my-field-grid {
    grid-template-columns: 1fr;
    gap: 0;
  }

  #expertProfileViewV65 .expert-role-editor-head span {
    margin-top: 6px;
  }

  #expertProfileViewV65 .casting-profile-status {
    gap: 11px;
  }
}
