/**
 * Shared public profile layout for studio and sound engineer pages.
 */

:is(.pratst-studio-profile-page, .pratst-sound-engineer-profile-page)
  :is(.view-profile-inner-pages, .view-sound-engineer-inner-profile-pages)
  .view-content {
  max-width: 960px;
}

/* Intro: image + details */
.pratst-profile-intro {
  gap: 1.5rem;
  align-items: flex-start;
}

.pratst-profile-intro__media {
  flex: 0 0 280px;
  max-width: 280px;
}

.pratst-profile-intro__media img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 8px;
}

.pratst-profile-intro__details {
  flex: 1 1 0;
  min-width: 0;
}

.pratst-profile-intro__name {
  margin: 0 0 1rem !important;
  padding: 0 !important;
  font-size: clamp(22px, 4vw, 28px);
  line-height: 1.2;
}

/* Labelled profile fields */
.pratst-profile-field {
  margin-bottom: 1rem;
}

.pratst-profile-field:last-child {
  margin-bottom: 0;
}

.pratst-profile-field__label {
  display: block;
  margin: 0 0 0.35rem;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.55);
}

.pratst-profile-field--location .listings-block-location,
.pratst-profile-field--rates .listings-block-price {
  padding-bottom: 0 !important;
  margin: 0;
}

.pratst-profile-field--rates .listings-block-price {
  font-size: 15px;
  font-weight: 700;
  color: #fff !important;
}

.pratst-profile-field--genres:not(:has(.pratst-studio-genre-tags li)) {
  display: none;
}

.pratst-profile-field--location .voice-artist-name.listings-block-location,
.pratst-profile-field--location .sound-engineer-name.listings-block-location {
  padding-bottom: 0 !important;
}

/* Footer stack below intro */
.pratst-profile-footer {
  margin-top: 1.5rem;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.pratst-profile-field--genres .pratst-studio-genre-tags {
  margin-bottom: 0;
  padding-top: 0;
}

.pratst-profile-field--bio .inner-page-bios {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.pratst-profile-footer > .pratst-engineer-public-profile-extras,
.view-footer > .pratst-engineer-public-profile-extras {
  margin-top: 1.5rem;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.pratst-profile-footer > .pratst-engineer-public-profile-extras:not(:has(.pratst-engineer-public-profile__section)),
.view-footer > .pratst-engineer-public-profile-extras:not(:has(.pratst-engineer-public-profile__section)) {
  display: none;
  margin: 0;
  padding: 0;
  border: 0;
}

/* Book button below rates in profile intro */
.pratst-profile-intro__actions.profile-buttons-holder {
  margin-top: 0.75rem;
  margin-bottom: 0;
}

.pratst-profile-intro__actions.profile-buttons-holder .profile-btn {
  margin: 0;
}

.pratst-sound-engineer-profile-page .field--name-dynamic-block-fieldprofile-profile-registrations,
.pratst-studio-profile-page .field--name-dynamic-block-fieldprofile-profile-registrations {
  display: none !important;
}

/* Book button spacing (legacy block placement; intro uses __actions below) */
:is(.pratst-studio-profile-page, .pratst-sound-engineer-profile-page)
  .profile-buttons-holder:not(.pratst-profile-intro__actions) {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}

:is(.pratst-studio-profile-page, .pratst-sound-engineer-profile-page)
  .inner-profile-container-block
  .profile-services-holder {
  position: static;
  margin-top: 1rem;
}

@media (max-width: 767px) {
  .pratst-profile-intro {
    flex-direction: column;
    gap: 1rem;
  }

  .pratst-profile-intro__media {
    flex: none;
    max-width: 100%;
    width: 100%;
  }

  .pratst-profile-intro__name {
    padding-top: 0 !important;
    text-align: left;
  }

  :is(.pratst-studio-profile-page, .pratst-sound-engineer-profile-page) .listings-block-info {
    padding: 0 !important;
  }

  .pratst-profile-footer {
    margin-top: 1.25rem;
    padding-top: 1rem;
  }

  .pratst-profile-field {
    margin-bottom: 0.85rem;
  }

  .pratst-profile-footer > .pratst-engineer-public-profile-extras,
  .view-footer > .pratst-engineer-public-profile-extras {
    margin-top: 1.25rem;
    padding-top: 1rem;
  }

  :is(.pratst-studio-profile-page, .pratst-sound-engineer-profile-page)
    .profile-buttons-holder:not(.pratst-profile-intro__actions) {
    margin-top: 1.25rem;
    margin-bottom: 1.25rem;
  }
}

@media (min-width: 768px) {
  .pratst-profile-intro__media {
    flex: 0 0 320px;
    max-width: 320px;
  }
}
