/* Ajustes de proporção e navegação das páginas de segmentos. */
.category-cover-page {
  padding: 50px 12px 84px;
}

/* Subtle separator below the main image: spaced on mobile, flush on desktop. */
.original-index-carousel {
  border-bottom: 1px solid rgba(170, 170, 170, 0.7);
}

@media (max-width: 760px) {
  .original-index-carousel {
    margin-bottom: 8px;
  }
}

/* Cabeçalho completo sempre visível enquanto a página é rolada. */
.site-header {
  position: sticky !important;
  top: 0;
  z-index: 100;
  isolation: isolate;
  box-shadow: 0 5px 14px rgba(0, 0, 0, 0.56);
}

/* Filete discreto entre as bandeiras e as marcas do cabeçalho. */
@media (min-width: 761px) {
  .brand-rail {
    position: relative;
    box-sizing: border-box;
    height: 183px;
    min-height: 183px;
    padding: 60px 70px 10px;
  }

  .brand-rail::before {
    content: "";
    position: absolute;
    top: 52px;
    left: 0;
    right: 0;
    height: 1px;
    background: rgba(255, 255, 255, 0.12);
    pointer-events: none;
  }

  .brand-rail > a {
    position: relative;
    z-index: 1;
    transform: translateY(-12px);
  }

  .desktop-navigation {
    min-height: 44px;
  }

  .site-header::after {
    top: 183px;
  }
}

/* Página Equipe: dois quadros de apresentação como no layout de referência. */
.team-page {
  padding: 20px 24px 96px;
}

.team-page .page-title {
  margin-bottom: 30px;
}

.team-page .page-title h1 {
  color: #be9c5c;
  font-family: Arial, sans-serif;
  font-size: 30px;
  font-weight: 700;
  line-height: 1.2;
  text-transform: uppercase;
}

/* O conteúdo da página original é apresentado em um único título. */
.team-page .page-title h1 {
  font-size: 0;
}

.team-page .page-title h1::after {
  content: "EQUIPE BRAZIL MODEL AGENCY";
  font-size: 30px;
}

.team-page .page-title p {
  display: none;
}

.team-grid {
  grid-template-columns: repeat(2, minmax(0, 240px));
  justify-content: center;
  gap: 24px;
  max-width: 504px;
  padding: 0;
}

.team-grid figure {
  aspect-ratio: 1;
  border: 3px solid #be9c5c;
  border-radius: 20px;
  background: #000;
}

.team-grid figure:nth-child(n + 3) {
  display: none;
}

.team-grid img {
  object-fit: cover;
}

/* PÃ¡gina Equipe: chamada visual inicial para as equipes Nacional e Internacional. */
.team-reference {
  display: grid;
  min-height: min(730px, calc(100vh - 225px));
  padding: 104px 24px 132px;
  place-items: center;
  background: #000;
}

.team-reference-content {
  width: min(100%, 1040px);
  text-align: center;
}

.team-reference h1 {
  margin: 0;
  color: #be9c5c;
  font-family: Arial, sans-serif;
  font-size: clamp(54px, 7vw, 108px);
  font-weight: 700;
  line-height: 1.03;
  letter-spacing: -0.045em;
  text-transform: uppercase;
}

.team-reference-actions {
  display: flex;
  justify-content: center;
  gap: 28px;
  margin-top: 52px;
}

.team-reference-actions a {
  display: grid;
  place-items: center;
  min-width: 220px;
  min-height: 58px;
  padding: 12px 24px;
  border: 3px solid #be9c5c;
  border-radius: 999px;
  color: #caa45f;
  background: transparent;
  font-family: Arial, sans-serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
  text-transform: uppercase;
}

.team-reference-actions a:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 4px;
}

.team-empty-page {
  min-height: min(730px, calc(100vh - 225px));
  background: #000;
}

.team-directory-page {
  min-height: min(730px, calc(100vh - 225px));
  padding: 70px 24px 112px;
  background: #000;
}

.team-director-list {
  width: min(100%, 459px);
  box-sizing: border-box;
  margin: 0 auto;
}

.team-director-card {
  display: grid;
  justify-items: center;
}

.team-director-profile {
  width: min(100%, 370px);
  padding: 7px;
  border: 2px solid #c7a258;
  border-radius: 16px;
  background: #fff;
  overflow: hidden;
  box-shadow: 0 8px 26px rgba(0, 0, 0, 0.36);
}

.team-director-profile img {
  display: block;
  width: 100%;
  aspect-ratio: 0.8;
  border-radius: 9px 9px 0 0;
  object-fit: cover;
  object-position: center top;
}

.team-director-name {
  padding: 13px 10px 10px;
  color: #606060;
  text-align: center;
}

.team-director-name h1 {
  margin: 0;
  font-family: Arial, sans-serif;
  font-size: clamp(26px, 3.3vw, 36px);
  font-weight: 700;
  line-height: 1.05;
}

.team-director-name p {
  margin: 5px 0 0;
  font-family: Arial, sans-serif;
  font-size: 18px;
  font-weight: 500;
}

.team-director-contact {
  display: grid;
  justify-items: center;
  gap: 5px;
  margin-top: 15px;
  color: #d0aa61;
  font-family: Arial, sans-serif;
  text-align: center;
  text-transform: uppercase;
}

.team-director-contact strong {
  font-size: 14px;
  letter-spacing: 0.08em;
}

.team-director-contact span,
.team-director-contact a {
  font-size: 13px;
  letter-spacing: 0.04em;
}

.team-director-contact a:hover,
.team-director-contact a:focus-visible {
  color: #f1d28d;
}

.team-director-contact .team-director-contact-button {
  min-width: 210px;
  margin-top: 12px;
  padding: 13px 20px;
  border: 1px solid #c7a258;
  border-radius: 999px;
  color: #100d08;
  background: #c7a258;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  transition: color .16s ease, background-color .16s ease, transform .16s ease;
}

.team-director-contact .team-director-contact-button:hover,
.team-director-contact .team-director-contact-button:focus-visible {
  color: #fff;
  background: transparent;
  outline: none;
}

.team-director-contact .team-director-contact-button:active {
  transform: scale(.97);
}

.team-director-divider {
  width: min(100%, 520px);
  height: 1px;
  margin: 44px auto 0;
  background: rgba(199, 162, 88, 0.48);
}

/* Página Sobre Nós: ordem, leitura e contraste iguais à referência. */
.about-reference {
  padding: 49px 0 88px;
  color: #fff;
  background: #000;
}

.about-reference-title {
  margin: 0 0 20px;
  text-align: center;
}

.about-reference-title h1 {
  margin: 0;
  color: #be9c5c;
  font-family: Arial, sans-serif;
  font-size: 30px;
  font-weight: 700;
  line-height: 1.2;
}

.about-reference-content {
  max-width: 956px;
  margin: 0 auto;
  padding: 0;
  box-sizing: border-box;
  font-family: Arial, sans-serif;
  font-size: 15px;
  line-height: 1.58;
}

.about-reference-content > p,
.about-reference-section > p {
  margin: 0 0 23px;
}

.about-reference-content .about-welcome {
  margin-bottom: 23px;
  font-weight: 700;
}

.about-feature {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  gap: 6px;
  align-items: start;
  margin: 0 0 17px;
}

.about-feature > span {
  color: #be9c5c;
  font-size: 16px;
  line-height: 1.55;
  text-align: center;
}

.about-feature p {
  margin: 0;
}

.about-feature-label {
  margin-top: 26px;
  margin-bottom: 14px;
}

.about-feature-label p {
  color: #fff;
  font-size: 15px;
  font-weight: 700;
}

.about-reference-section {
  margin: 34px 0 0;
}

.about-reference-section h2 {
  margin: 0 0 14px;
  color: #be9c5c;
  font-family: Arial, sans-serif;
  font-size: 22px;
  font-weight: 700;
}

.about-mission-vision {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 72px;
  margin-top: 44px;
}

.about-mission-vision .about-reference-section {
  margin: 0;
}

.about-mission-vision .about-reference-section > p {
  margin: 0;
  text-align: justify;
}

.about-values {
  margin-top: 38px;
}

.about-values .about-feature {
  margin-bottom: 16px;
}

.about-closing {
  margin-top: 30px;
  text-align: left;
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.45;
}

.about-closing p {
  margin: 0;
}

.about-closing p:not(:first-child) {
  font-style: italic;
  font-weight: 500;
}

.about-social {
  display: flex;
  justify-content: center;
  gap: 7px;
  margin-top: 18px;
}

.about-social a {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 0;
  color: #be9c5c;
  font-size: 17px;
  font-weight: 700;
  line-height: 1;
}

.about-social a img {
  display: block;
  width: 36px;
  height: 36px;
  object-fit: contain;
}

/* Página Contatos: busca por país e estado. */
.contact-reference {
  min-height: 640px;
  padding: 43px 24px 96px;
  background: #000;
}

.contact-reference-title {
  margin: 0 0 43px;
  text-align: center;
}

.contact-reference-title h1 {
  margin: 0;
  color: #be9c5c;
  font-family: Georgia, serif;
  font-size: 30px;
  font-weight: 700;
}

.contact-title-social,
.agency-social {
  display: inline-flex;
  gap: 6px;
  vertical-align: middle;
}

.contact-title-social a {
  color: #be9c5c;
  font-family: Arial, sans-serif;
  font-size: 29px;
  font-weight: 700;
  line-height: .7;
}

.contact-title-social a,
.agency-social a {
  display: inline-grid;
  flex: 0 0 auto;
  place-items: center;
  overflow: hidden;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  font-size: 0;
}

.contact-title-social a {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background-size: 72%;
  background-color: #000;
}

.agency-social a {
  background-size: 76%;
  background-color: #000;
}

.contact-title-social a:nth-child(1),
.agency-social a:nth-child(1) {
  background-image: url("/images/social__instagram-gold.jpg");
}

.contact-title-social a:nth-child(2),
.agency-social a:nth-child(2) {
  background-image: url("/images/social__facebook-gold.jpg");
}

.contact-title-social a:nth-child(3),
.agency-social a:nth-child(4) {
  background-image: url("/images/social__youtube-gold.jpg");
}

.contact-title-social a:nth-child(4),
.agency-social a:nth-child(3) {
  background-image: url("/images/social__tiktok-gold.jpg");
}

.contact-reference-content {
  width: min(100%, 1024px);
  margin: 0 auto;
}

.contact-prompt {
  margin: 0 0 14px;
  color: #fff;
  font-size: 19px;
}

.agency-search {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 24px;
}

.agency-search select,
.agency-search button {
  box-sizing: border-box;
  min-height: 40px;
  border-radius: 5px;
  font-family: Arial, sans-serif;
  font-size: 15px;
}

.agency-search select {
  width: 100%;
  padding: 0 12px;
  color: #fff;
  border: 1px solid #be9c5c;
  background: #191919;
}

.agency-search select:disabled {
  color: #fff;
  opacity: 1;
}

.agency-search button {
  cursor: pointer;
  color: #fff;
  border: 1px solid #c7a45a;
  background: #c7a45a;
  font-weight: 500;
  letter-spacing: .02em;
}

.agency-search button span {
  font-size: 25px;
  line-height: 0;
  vertical-align: -2px;
}

.contact-reference-rule {
  height: 1px;
  margin-top: 28px;
  background: #be9c5c;
}

.agency-result {
  padding-top: 40px;
}

.agency-result h2 {
  margin: 0 0 38px;
  color: #be9c5c;
  font-family: Arial, sans-serif;
  font-size: 21px;
  font-weight: 500;
  text-align: center;
}

.agency-social a {
  display: grid;
  width: 39px;
  height: 39px;
  place-items: center;
  border-radius: 50%;
  color: #000;
  background: #c7a45a;
  font-family: Arial, sans-serif;
  font-size: 22px;
  font-weight: 700;
}

.agency-contact-list {
  width: min(100%, 480px);
  margin: 0 auto;
}

.agency-contact-card {
  padding: 20px 22px;
  border: 2px solid #be9c5c;
  border-radius: 10px;
  color: #fff;
  background: #050505;
}

.agency-contact-card + .agency-contact-card {
  position: relative;
  margin-top: 32px;
}

.agency-contact-card + .agency-contact-card::before {
  position: absolute;
  top: -17px;
  right: 0;
  left: 0;
  height: 1px;
  content: "";
  background: rgba(190, 156, 92, .8);
}

.agency-contact-location {
  margin: 0 0 6px;
  color: #be9c5c;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.agency-contact-card h3 {
  margin: 0 0 17px;
  color: #fff;
  font-family: Arial, sans-serif;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.3;
}

.agency-contact-details {
  display: grid;
  gap: 5px;
  padding-top: 13px;
  border-top: 1px solid rgba(190, 156, 92, .55);
}

.agency-contact-details p {
  margin: 0;
  color: #f1eee8;
  font-size: 14px;
  line-height: 1.45;
}

.agency-contact-details strong {
  color: #be9c5c;
}

.agency-contact-details a {
  color: inherit;
  text-decoration: none;
}

.agency-whatsapp-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  position: relative;
  top: 2px;
}

.agency-whatsapp-icon {
  width: 19px;
  height: 19px;
  padding: 2px;
  border-radius: 50%;
  box-sizing: border-box;
  object-fit: cover;
  vertical-align: middle;
}

.agency-contact-details a:hover,
.agency-contact-details a:focus-visible {
  color: #d9bb75;
  text-decoration: underline;
  outline: none;
}

/* Página Parceiros: vitrine de logos em seis colunas. */
.partners-reference {
  min-height: 780px;
  padding: 26px 24px 92px;
  background: #000;
}

.partners-reference-title {
  margin-bottom: 27px;
  text-align: center;
}

.partners-reference-title h1 {
  margin: 0 0 9px;
  color: #be9c5c;
  font-family: Arial, sans-serif;
  font-size: 30px;
  font-weight: 700;
}

.partners-reference-title p {
  margin: 0;
  color: #fff;
  font-family: Arial, sans-serif;
  font-size: 14px;
  font-weight: 400;
}

.partners-reference-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  width: min(100%, 1026px);
  margin-left: auto;
  margin-right: auto;
  column-gap: 24px;
  row-gap: 96px;
}

.partners-reference-grid a {
  display: grid;
  width: 151px;
  height: 100px;
  place-items: center;
  overflow: hidden;
  border: 2px solid #be9c5c;
  border-radius: 5px;
  background: #090909;
}

.partners-reference-grid img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* O novo cartaz preenche integralmente o primeiro cartão, sem faixas vazias. */
.partners-reference-grid a:first-child img {
  object-fit: cover;
}

/* Mantém respiro lateral nos dois anúncios retangulares da vitrine. */
.partners-reference-grid a:nth-child(30),
.partners-reference-grid a:nth-child(32) {
  padding: 5px;
  box-sizing: border-box;
}

.partners-reference-grid a:hover,
.partners-reference-grid a:focus-visible {
  border-color: #efd686;
  box-shadow: 0 0 0 2px rgba(190, 156, 92, .18);
  outline: none;
}

/* Rodapé global: marca, três colunas e linha de copyright. */
.site-footer.footer-reference {
  padding: 40px 24px 10px;
  color: #fff;
  border-top: 1px solid rgba(255, 255, 255, .3);
  background: #000;
}

.footer-reference-grid {
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr 1.35fr;
  align-items: start;
  max-width: 1116px;
  margin: 0 auto;
}

.footer-reference-logo {
  display: block;
  justify-self: start;
  width: 152px;
}

.footer-reference-logo img {
  display: block;
  width: 100%;
  height: 110px;
  object-fit: contain;
}

.footer-reference section {
  display: flex;
  flex-direction: column;
  align-items: center;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.62;
}

.footer-reference h2 {
  margin: 0 0 7px;
  color: #fff;
  font-family: Arial, sans-serif;
  font-size: 17px;
  font-weight: 700;
}

.footer-reference section a {
  color: #fff;
}

.footer-reference section a:hover {
  color: #be9c5c;
}

.footer-reference-contact a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
}

.footer-contact-icon {
  display: block;
  flex: 0 0 auto;
  width: 16px;
  height: 16px;
  object-fit: contain;
}

.footer-contact-email {
  width: 16px;
  height: 13px;
}

.footer-reference-social > div {
  display: flex;
  align-items: center;
  gap: 5px;
}

.footer-reference-social a {
  display: grid;
  width: 23px;
  height: 23px;
  place-items: center;
  line-height: 1;
}

.footer-reference-social a img {
  display: block;
  width: 23px !important;
  height: 23px !important;
  object-fit: contain;
}

.footer-reference-copy {
  max-width: 1116px;
  margin: 17px auto 0;
  padding-top: 8px;
  border-top: 1px solid rgba(255, 255, 255, .22);
  color: #fff;
  font-family: Arial, sans-serif;
  font-size: 12px;
  font-weight: 500;
  text-align: center;
}

.category-cover-page h1 {
  display: block;
  margin: 0 0 24px;
  color: #be9c5c;
  font-size: 30px;
  font-weight: 700;
}

.category-cover-image {
  width: min(100%, 560px);
  border: 3px solid #be9c5c;
  border-radius: 20px;
}

.category-cover-image img {
  aspect-ratio: 1;
}

.cover-filter-buttons {
  width: min(100%, 620px);
  margin-top: 48px;
  gap: 8px 24px;
  padding: 0 12px;
  box-sizing: border-box;
}

.cover-filter-buttons a {
  flex: 0 1 235px;
}

/* Listagens internas em telas largas: o grupo inteiro fica centralizado. */
@media (min-width: 761px) {
  .listing-page {
    min-height: 720px;
    padding: 0 28px 96px;
  }

  .listing-page .page-title {
    padding: 60px 0 24px;
  }

  .listing-page .page-title h1 {
    color: #be9c5c;
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.2;
  }

  .profile-grid {
    grid-template-columns: repeat(auto-fit, 217px);
    justify-content: center;
    gap: 34px 38px;
    width: min(100%, 1046px);
  }

  .profile-card {
    width: 217px;
  }

  .card-image {
    aspect-ratio: 163.5 / 242.34;
    padding: 0;
    margin-bottom: 10px;
    border: 3px solid #be9c5c;
    border-radius: 20px;
    background: transparent;
  }

  .card-image img {
    border-radius: 15px;
    object-fit: cover;
  }

  .profile-card h2 {
    color: #be9c5c;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.2;
  }

  .listing-page:has(.catalog-empty) .page-title h1 {
    font-size: 30px;
  }
}

/* Segmentos sem perfis: aviso único, amplo e sem ação adicional. */
.catalog-empty {
  display: flex;
  align-items: center;
  width: min(100%, 1050px);
  min-height: 58px;
  box-sizing: border-box;
  margin: 0 auto 80px;
  padding: 17px;
  border: 0;
  border-radius: 3px;
  background: #fff1c7;
  text-align: left;
}

.catalog-empty p {
  margin: 0;
  color: #966d19;
  font-family: Arial, sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.35;
}

.catalog-empty a {
  display: none;
}

/* Página individual de modelo ou artista. */
.profile-page-reference {
  min-height: 890px;
  max-width: none;
  padding: 42px 24px 88px;
  text-align: center;
}

.profile-heading {
  margin: 0 0 16px;
  color: #be9c5c;
  font-family: Arial, sans-serif;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.2;
  text-transform: uppercase;
}

.profile-composite {
  width: min(100%, 459px);
  margin: 0 auto;
  overflow: hidden;
  border: 3px solid #be9c5c;
  border-radius: 20px;
  background: #fff;
  box-sizing: border-box;
}

.profile-composite img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 16px;
}

.profile-instagram {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  margin: 23px auto;
  border-radius: 50%;
  background: #caa552;
  color: #0a0804;
  box-sizing: border-box;
  border: 0;
  line-height: 0;
}

.profile-instagram svg {
  display: block;
  color: #090704;
  stroke: currentColor;
}

.profile-socials .profile-instagram[aria-label="youtube"] {
  background: transparent;
  border-radius: 0;
}

.profile-socials .profile-instagram[aria-label="youtube"] img {
  display: block;
  width: 42px;
  height: 30px;
  object-fit: contain;
}

/* Agrupa mais de uma rede social sem deslocar o conjunto de botões. */
.profile-socials {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin: 23px auto;
}

.profile-socials .profile-instagram {
  margin: 0;
}

.profile-tabs {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 24px;
}

/* Perfis sem ícone social precisam manter a mesma distância da foto aos botões. */
.profile-composite + .profile-tabs {
  margin-top: 30px;
}

.profile-tabs a {
  display: grid;
  place-items: center;
  width: 137px;
  min-height: 42px;
  border: 3px solid #be9c5c;
  border-radius: 999px;
  color: #be9c5c;
  font-family: Arial, sans-serif;
  font-size: 15px;
  font-weight: 500;
  text-transform: uppercase;
}

.profile-tabs a:hover,
.profile-tabs a:focus-visible {
  background: #be9c5c;
  color: #090704;
  outline: none;
}

.profile-tabs a.is-current {
  background: #be9c5c;
  color: #090704;
}

.profile-tab-content {
  width: min(100%, 1050px);
  margin: 42px auto 0;
}

.profile-tab-content h2 {
  margin: 0 0 24px;
  color: #be9c5c;
  font-family: Arial, sans-serif;
  font-size: 25px;
  font-weight: 700;
  line-height: 1.2;
  text-transform: uppercase;
}

.profile-gallery-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.profile-gallery-grid a {
  display: block;
  overflow: hidden;
  border: 2px solid #fff;
  border-radius: 16px;
  background: #070707;
}

.profile-gallery-grid img {
  display: block;
  width: 100%;
  aspect-ratio: 3 / 4;
  object-fit: cover;
}

.profile-book-model-2 .profile-gallery-grid img {
  object-fit: contain;
  background: #070707;
}

.profile-video-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.profile-video-grid iframe {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  border: 2px solid #be9c5c;
  border-radius: 10px;
  background: #090704;
}

.profile-measurements {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 3px 0;
  width: min(100%, 680px);
  margin: 22px auto 24px;
  color: #fff;
  font-family: Arial, sans-serif;
  text-align: center;
}

.profile-measurements > div {
  font-size: 13px;
  line-height: 1.35;
  white-space: nowrap;
}

/* Desktop-only guard: keep measurements aligned with the profile photo. */
@media (min-width: 761px) {
  .profile-measurements {
    width: min(100%, 459px) !important;
  }

  .profile-measurements > div {
    min-width: 0;
    font-size: 13px;
  }
}

.profile-measurements strong {
  color: #fff;
  font-size: inherit;
  font-weight: 700;
}

.profile-measurements > div:not(:last-child)::after {
  content: " - ";
  color: #be9c5c;
  white-space: pre;
}

.profile-agenda-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.profile-agenda-card {
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background: transparent;
  text-align: left;
}

.profile-agenda-card:only-child {
  width: min(100%, 459px);
  grid-column: 1 / -1;
  margin: 0 auto;
}

.profile-agenda-image {
  display: block;
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  border: 3px solid #be9c5c;
  box-sizing: border-box;
}

.profile-agenda-details {
  padding: 14px 4px 0;
  text-align: center;
}

.profile-agenda-summary {
  margin: 0 0 12px;
  color: #fff;
  font-family: Arial, sans-serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.45;
}

.profile-agenda-summary span {
  display: block;
}

.profile-agenda-details dl {
  display: grid;
  gap: 10px;
  margin: 0;
}

.profile-agenda-details dl > div {
  display: grid;
  grid-template-columns: 78px minmax(0, 1fr);
  gap: 12px;
  padding: 0 0 7px;
}

.profile-agenda-details dl > div.profile-agenda-location-time {
  grid-template-columns: 54px minmax(0, 1fr) 70px auto;
  gap: 8px;
}

.profile-agenda-details dt {
  color: #be9c5c;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
}

.profile-agenda-details dd {
  margin: 0;
  color: #fff;
  font-size: 15px;
}

.profile-agenda-description {
  margin: 18px 0 0;
  color: #d8d8d8;
  font-size: 14px;
  line-height: 1.5;
}

.profile-tab-waiting {
  display: flex;
  align-items: center;
  min-height: 58px;
  padding: 17px;
  border-radius: 3px;
  box-sizing: border-box;
  background: #fff1c7;
  text-align: left;
}

.profile-tab-waiting p {
  margin: 0;
  color: #966d19;
  font-family: Arial, sans-serif;
  font-size: 16px;
  line-height: 1.35;
}

.profile-biography {
  max-width: 760px;
  text-align: left;
}

.profile-biography p {
  margin: 0;
  color: #fff;
  font-family: Arial, sans-serif;
  font-size: 16px;
  line-height: 1.6;
}

/* Mantém o símbolo do WhatsApp preto, centralizado e limpo sobre o círculo dourado. */
.whatsapp-float,
.whatsapp-float:hover {
  color: #090704;
}

.whatsapp-mark svg {
  display: block;
  stroke: currentColor;
}

.whatsapp-mark img {
  display: block;
  width: 43px;
  height: 43px;
  object-fit: contain;
}

.language-strip img {
  cursor: pointer;
}

/* Keep the existing language controls above the desktop brand rail for pointer input. */
.language-strip {
  z-index: 50;
}

.language-flag-button {
  display: block;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.language-flag-button:focus-visible {
  outline: 2px solid #be9c5c;
  outline-offset: 2px;
}

@media (max-width: 760px) {
  .brand-rail > a:nth-child(2) img {
    transform: scale(1.25);
  }
}

@media (max-width: 760px) {
  .category-cover-page {
    padding: 50px 12px 76px;
  }

  .category-cover-image {
    width: 100%;
    max-width: none;
    border-width: 3px;
    border-radius: 20px;
  }

  .cover-filter-buttons {
    width: 100%;
    margin-top: 48px;
    gap: 8px 24px;
    padding: 0 12px;
  }

  .cover-filter-buttons a,
  .cover-filter-buttons.filter-count-1 a,
  .cover-filter-buttons.filter-count-2 a {
    flex: 0 1 calc((100% - 24px) / 2);
    min-height: 42px;
    border-width: 1px;
    font-size: 16px;
    font-weight: 400;
  }

  .cover-filter-buttons.filter-count-1 a {
    flex-basis: 180px;
  }

  /* Listagens internas: perfis centralizados como nas páginas de referência. */
  .listing-page {
    min-height: 730px;
    padding: 0 12px 76px;
  }

  .listing-page .page-title {
    padding: 74px 0 23px;
  }

  .listing-page .page-title h1 {
    color: #be9c5c;
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.2;
  }

  .profile-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    justify-content: center;
    gap: 28px 20px;
    width: min(100%, 352px);
  }

  .profile-card {
    width: 100%;
  }

  /* Quando a quantidade for ímpar, o último perfil ocupa a linha e fica ao centro. */
  .profile-grid > .profile-card:last-child:nth-child(odd) {
    grid-column: 1 / -1;
    justify-self: center;
    width: calc((100% - 20px) / 2);
  }

  .card-image {
    aspect-ratio: 163.5 / 242.34;
    padding: 0;
    margin-bottom: 8px;
    border: 3px solid #be9c5c;
    border-radius: 20px;
    background: transparent;
  }

  .card-image img {
    border-radius: 15px;
    object-fit: cover;
  }

  .profile-card h2 {
    color: #be9c5c;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.2;
  }

  .listing-page:has(.catalog-empty) .page-title h1 {
    font-size: 24px;
  }

  .catalog-empty {
    width: 100%;
    min-height: 56px;
    margin-bottom: 56px;
    padding: 16px;
  }

  .catalog-empty p {
    font-size: 15px;
  }

  .profile-page-reference {
    min-height: 0;
    padding: 28px 18px 70px;
  }

  .profile-heading {
    margin-bottom: 15px;
    font-size: 21px;
  }

  .profile-composite {
    width: min(100%, 330px);
    border-width: 2px;
    border-radius: 16px;
  }

  .profile-composite img {
    border-radius: 13px;
  }

  .profile-instagram {
    width: 40px;
    height: 40px;
    margin: 20px auto;
  }

  .profile-socials {
    margin: 20px auto;
  }

  .profile-tabs {
    gap: 10px;
  }

  .profile-composite + .profile-tabs {
    margin-top: 24px;
  }

  .profile-tabs a {
    width: min(30vw, 110px);
    min-height: 37px;
    border-width: 2px;
    font-size: 12px;
  }

  .profile-tab-content {
    margin-top: 32px;
  }

  .profile-tab-content h2 {
    margin-bottom: 18px;
    font-size: 21px;
  }

  .profile-gallery-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
  }

  .profile-gallery-grid a {
    border-radius: 12px;
  }

  .profile-video-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .profile-measurements {
    gap: 2px 0;
    margin: 16px auto 18px;
  }

  .profile-measurements > div {
    font-size: 11px;
  }

  .profile-agenda-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .profile-agenda-details {
    padding: 12px 2px 0;
  }

  .profile-agenda-summary {
    margin-bottom: 15px;
    font-size: 17px;
  }

  .profile-agenda-details dl > div {
    grid-template-columns: 68px minmax(0, 1fr);
    gap: 8px;
  }

  .profile-agenda-details dl > div.profile-agenda-location-time {
    grid-template-columns: 48px minmax(0, 1fr) 58px auto;
    gap: 6px;
  }

  .profile-agenda-details dt {
    font-size: 11px;
  }

  .profile-agenda-details dd,
  .profile-agenda-description {
    font-size: 13px;
  }

  .profile-tab-waiting {
    min-height: 56px;
    padding: 16px;
  }

  .profile-tab-waiting p {
    font-size: 15px;
  }

  .team-page {
    padding: 20px 18px 72px;
  }

  .team-page .page-title {
    margin-bottom: 24px;
  }

  .team-page .page-title h1::after {
    font-size: 25px;
  }

  .team-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    width: 100%;
    max-width: 504px;
  }

  .team-grid figure {
    border-width: 2px;
    border-radius: 16px;
  }

  .team-reference {
    min-height: min(610px, calc(100vh - 168px));
    padding: 86px 18px 104px;
  }

  .team-reference h1 {
    font-size: clamp(42px, 10.2vw, 60px);
    line-height: 1.08;
  }

  .team-reference-actions {
    gap: 12px;
    margin-top: 42px;
  }

  .team-reference-actions a {
    min-width: 0;
    width: min(42vw, 205px);
    min-height: 54px;
    padding: 10px 8px;
    border-width: 2px;
    font-size: clamp(12px, 3.1vw, 16px);
  }

  .team-empty-page {
    min-height: min(610px, calc(100vh - 168px));
  }

  .team-directory-page {
    min-height: min(610px, calc(100vh - 168px));
    padding: 52px 18px 80px;
  }

  .team-director-profile {
    width: min(100%, 300px);
    padding: 5px;
    border-radius: 12px;
  }

  .team-director-profile img {
    border-radius: 7px 7px 0 0;
  }

  .team-director-name {
    padding: 10px 7px 8px;
  }

  .team-director-name h1 {
    font-size: clamp(23px, 7vw, 30px);
  }

  .team-director-name p {
    font-size: 16px;
  }

  .team-director-contact {
    margin-top: 13px;
  }

  .team-director-contact strong {
    font-size: 11px;
  }

  .team-director-contact span,
  .team-director-contact a {
    font-size: 10px;
  }

  .team-director-contact .team-director-contact-button {
    min-width: 190px;
    margin-top: 10px;
    padding: 12px 18px;
    font-size: 10px;
  }

  .team-director-divider {
    width: min(100%, 340px);
    margin-top: 34px;
  }

  .about-reference {
    padding: 27px 0 64px;
  }

  .about-reference-title {
    margin-bottom: 25px;
  }

  .about-reference-title h1 {
    font-size: 26px;
  }

  .about-reference-content {
    padding: 0 24px;
    font-size: 14px;
    line-height: 1.55;
  }

  .about-reference-content > p,
  .about-reference-section > p {
    margin-bottom: 20px;
  }

  .about-feature {
    grid-template-columns: 20px minmax(0, 1fr);
    margin-bottom: 15px;
  }

  .about-feature-label p {
    font-size: 18px;
  }

  .about-reference-section {
    margin-top: 28px;
  }

  .about-reference-section h2 {
    font-size: 20px;
  }

  .about-mission-vision {
    grid-template-columns: 1fr;
    gap: 28px;
    margin-top: 34px;
  }

  .about-closing {
    margin-top: 28px;
    font-size: 14px;
  }

  .contact-reference {
    min-height: 0;
    padding: 30px 18px 70px;
  }

  .contact-reference-title {
    margin-bottom: 30px;
  }

  .contact-reference-title h1 {
    font-size: 25px;
  }

  .contact-title-social a {
    font-size: 24px;
  }

  .contact-prompt {
    font-size: 16px;
  }

  .agency-search {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .agency-result h2 {
    font-size: 17px;
    line-height: 1.7;
  }

  .agency-contact-card {
    padding: 18px 16px;
  }

  .agency-contact-card h3 {
    font-size: 16px;
  }

  .agency-contact-details p {
    font-size: 13px;
  }

  .agency-whatsapp-icon {
    width: 18px;
    height: 18px;
  }

  .partners-reference {
    min-height: 0;
    padding: 28px 18px 70px;
  }

  .partners-reference-title {
    margin-bottom: 24px;
  }

  .partners-reference-title h1 {
    font-size: 25px;
  }

  .partners-reference-title p {
    font-size: 12px;
    line-height: 1.45;
  }

  .partners-reference-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 151px));
    gap: 24px 14px;
  }

  .partners-reference-grid a {
    width: 100%;
    height: auto;
    aspect-ratio: 151 / 100;
  }

  .site-footer.footer-reference {
    padding: 28px 20px 8px;
  }

  .footer-reference-grid {
    grid-template-columns: 1fr;
    justify-items: center;
    gap: 16px;
  }

  .footer-reference-logo {
    grid-column: auto;
    justify-self: center;
    width: 112px;
  }

  .footer-reference-logo img {
    height: 80px;
  }

  .footer-reference h2 {
    margin-bottom: 4px;
    font-size: 13px;
  }

  .footer-reference section {
    font-size: 10px;
    line-height: 1.5;
  }

  .footer-reference-copy {
    margin-top: 14px;
    padding-top: 7px;
    font-size: 8px;
  }
}

/* Menu mobile com rolagem própria, evitando que um menu longo bloqueie a página. */
@media (max-width: 760px) {
  .mobile-panel {
    max-height: calc(100vh - 200px);
    max-height: calc(100dvh - 200px);
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior-y: contain;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-y;
  }

  .mobile-panel-links {
    padding-bottom: 24px;
  }

  .mobile-panel details > div {
    contain: layout paint;
  }
}

/* Visualizador ampliado das fotos de BOOK e FOTOS. */
.profile-lightbox {
  position: fixed;
  z-index: 10000;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 26px 76px 58px 22px;
  background: rgba(0, 0, 0, 0.83);
  opacity: 0;
  animation: profile-lightbox-fade-in 180ms ease-out forwards;
}

.profile-lightbox.is-closing {
  animation: profile-lightbox-fade-out 180ms ease-in forwards;
}

.profile-lightbox-stage {
  position: relative;
  max-width: min(82vw, 980px);
  max-height: calc(100vh - 84px);
}

.profile-lightbox-image {
  display: block;
  max-width: min(82vw, 980px);
  max-height: calc(100vh - 84px);
  width: auto;
  height: auto;
  border: 4px solid #fff;
  border-radius: 2px;
  object-fit: contain;
  opacity: 0;
  transform: scale(0.985);
  transition: opacity 170ms ease-out, transform 170ms ease-out;
}

.profile-lightbox-image.is-visible {
  opacity: 1;
  transform: scale(1);
}

.profile-lightbox-next {
  position: absolute;
  top: 50%;
  right: 10px;
  width: 48px;
  height: 76px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #fff;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 74px;
  font-weight: 200;
  line-height: 58px;
  cursor: pointer;
  filter: drop-shadow(0 2px 2px rgba(0, 0, 0, .7));
  transform: translateY(-50%);
}

.profile-lightbox-count {
  position: absolute;
  left: 0;
  bottom: -23px;
  color: #d5d5d5;
  font: 13px/1.2 Arial, Helvetica, sans-serif;
}

.profile-lightbox-close {
  position: absolute;
  right: 0;
  /* A altura do botão é 54px: este deslocamento deixa o X logo abaixo da imagem. */
  bottom: -58px;
  width: 54px;
  height: 54px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #fff;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 58px;
  font-weight: 200;
  line-height: 48px;
  cursor: pointer;
  text-shadow: 0 2px 2px rgba(0, 0, 0, .7);
}

.profile-lightbox-next:focus-visible,
.profile-lightbox-close:focus-visible {
  outline: 2px solid #c7a35b;
  outline-offset: 2px;
}

@keyframes profile-lightbox-fade-in {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes profile-lightbox-fade-out {
  from { opacity: 1; }
  to { opacity: 0; }
}

@media (max-width: 760px) {
  .profile-lightbox {
    padding: 16px 42px 58px 16px;
  }

  .profile-lightbox-stage,
  .profile-lightbox-image {
    max-width: calc(100vw - 58px);
    max-height: calc(100vh - 84px);
  }

  .profile-lightbox-image {
    border-width: 3px;
  }

  .profile-lightbox-next {
    right: 2px;
    width: 42px;
    font-size: 62px;
  }

  .profile-lightbox-count {
    left: 0;
    bottom: -22px;
  }

  .profile-lightbox-close {
    right: 0;
    bottom: -58px;
  }
}
}

/* Política de Privacidade — estrutura e tipografia da referência. */
#root .privacy-reference {
  min-height: 720px;
  padding: 52px 0 88px !important;
  background: #000;
}

.privacy-reference-title {
  margin: 0 0 37px;
  text-align: center;
}

.privacy-reference-title h1 {
  margin: 0;
  color: #c7a35b;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 26px;
  font-weight: 700;
  line-height: 1.2;
}

.privacy-reference-copy {
  width: min(calc(100% - 120px), 1050px);
  margin: 0 auto;
  color: #fff;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.55;
  text-align: left;
}

.privacy-reference-copy p {
  margin: 0 0 22px;
}

@media (max-width: 760px) {
  #root .privacy-reference {
    min-height: 0;
    padding: 45px 0 65px !important;
  }

  .privacy-reference-title {
    margin-bottom: 28px;
  }

  .privacy-reference-title h1 {
    font-size: 24px;
  }

  .privacy-reference-copy {
    width: min(calc(100% - 40px), 600px);
    font-size: 15px;
    line-height: 1.55;
  }

  .privacy-reference-copy p {
    margin-bottom: 19px;
  }
}
.music-page:has(.music-reference-hero),#root:has(.music-reference-hero),body:has(.music-reference-hero){background:#000!important}.music-reference-hero{max-width:1120px;min-height:440px;margin:0 auto;padding:54px 28px 72px;display:grid;grid-template-columns:1.05fr .7fr .9fr;align-items:center;gap:14px;background:#000}.music-reference-copy h1{margin:0;color:#f0d092;font-family:Arial,sans-serif;font-size:clamp(46px,5vw,68px);font-weight:700;line-height:.92;letter-spacing:-.03em}.music-reference-rule{width:138px;height:3px;margin:20px 0;color:#f0d092;background:#f0d092}.music-reference-copy p{margin:0;color:#fff;font-family:Arial,sans-serif;font-size:18px;font-weight:700;line-height:1.3;white-space:nowrap}.music-reference-mark{display:flex;align-items:center;justify-content:flex-end;transform:translateX(34px)}.music-reference-mark img{display:block;width:min(100%,250px);height:auto;object-fit:contain}.music-reference-actions{display:flex;flex-direction:column;align-items:center;gap:15px}.music-reference-actions h2{width:100%;margin:0 0 8px;color:#d4ae5a;font-family:Arial,sans-serif;font-size:20px;font-weight:700;text-align:center}.music-reference-actions a{display:grid;width:min(100%,238px);min-height:43px;place-items:center;border:3px solid #bd994e;border-radius:999px;color:#d6b463;font-family:Arial,sans-serif;font-size:16px;font-weight:400;text-decoration:none;transition:background .16s ease,color .16s ease}.music-reference-actions a:hover,.music-reference-actions a:focus-visible{background:#bd994e;color:#080706}.music-reference-actions a:active{transform:scale(.98)}
@media (max-width:760px){.music-reference-hero{min-height:0;grid-template-columns:1fr;padding:35px 20px 62px;gap:28px}.music-reference-copy{text-align:center}.music-reference-copy h1{font-size:48px;line-height:.95}.music-reference-rule{margin:16px auto}.music-reference-copy p{font-size:14px;line-height:1.35;white-space:normal}.music-reference-mark{justify-content:center;transform:none}.music-reference-actions{width:min(100%,330px);margin:0 auto;gap:10px}.music-reference-actions h2{font-size:17px}.music-reference-actions a{min-height:38px;font-size:14px;border-width:2px}}
.category-cover-page:has(.music-cover-reference-image){display:flex;flex-direction:column;align-items:center;min-height:620px;padding:49px 28px 92px!important;background:#000}.category-cover-page:has(.music-cover-reference-image)>h1{margin:0 0 24px!important;color:#c7a456!important;font-family:Arial,sans-serif!important;font-size:29px!important;font-weight:500!important;line-height:1.2!important;letter-spacing:.02em!important;text-align:center!important}.music-cover-reference-image{width:min(100%,460px);overflow:hidden;border:2px solid #c5a354;border-radius:21px;background:#111}.music-cover-reference-image img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover}.music-cover-reference-buttons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 24px;width:min(100%,920px);margin-top:30px}.music-cover-button{display:grid;min-height:42px;place-items:center;border:2px solid #c5a354;border-radius:999px;color:#c9a75d!important;font-family:Arial,sans-serif;font-size:14px;font-weight:400;line-height:1;text-align:center;text-decoration:none;text-transform:uppercase;transition:background-color .16s ease,color .16s ease,transform .16s ease}.music-cover-button:hover,.music-cover-button:focus-visible{background:#c5a354;color:#080706!important}.music-cover-button:active{transform:scale(.98)}.music-cover-button:last-child:nth-child(4n+1){grid-column:2 / span 2;width:50%;justify-self:center}
@media (max-width:760px){.category-cover-page:has(.music-cover-reference-image){min-height:0;padding:29px 18px 60px!important}.category-cover-page:has(.music-cover-reference-image)>h1{margin-bottom:14px!important;font-size:18px!important}.music-cover-reference-image{width:min(100%,310px);border-width:1px;border-radius:11px}.music-cover-reference-buttons{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;width:min(100%,360px);margin-top:27px}.music-cover-button{min-height:31px;border-width:1px;font-size:10px}.music-cover-button:last-child:nth-child(odd){grid-column:1 / -1;width:calc((100% - 9px)/2);justify-self:center}}
.listing-page:has(.band-empty-title){min-height:240px;padding:0 28px 84px!important;background:#000}.band-empty-title{max-width:1080px;margin:0 auto;padding:48px 0 24px;text-align:center}.band-empty-title h1{margin:0;color:#c7a456;font-family:Arial,sans-serif;font-size:23px;font-weight:700;letter-spacing:.02em;line-height:1.25;text-transform:uppercase}.band-empty-banner{width:min(100%,980px);min-height:57px;margin:0 auto;padding:18px 16px;border-radius:4px;background:#fff1c9;color:#795a1b;font-family:Arial,sans-serif;font-size:16px;font-weight:400;line-height:1.3}
@media (max-width:760px){.listing-page:has(.band-empty-title){min-height:210px;padding:0 17px 60px!important}.band-empty-title{padding:29px 0 18px}.band-empty-title h1{font-size:15px;line-height:1.3}.band-empty-banner{min-height:46px;padding:14px 12px;font-size:13px;border-radius:3px}}
.listing-page:has(.singer-category-title){min-height:240px;padding:0 28px 84px!important;background:#000}.singer-category-title{max-width:1080px;margin:0 auto;padding:48px 0 24px;text-align:center}.singer-category-title h1{margin:0;color:#c7a456;font-family:Arial,sans-serif;font-size:23px;font-weight:700;letter-spacing:.02em;line-height:1.25;text-transform:uppercase}.singer-empty-banner{width:min(100%,980px);min-height:57px;margin:0 auto;padding:18px 16px;border-radius:4px;background:#fff1c9;color:#795a1b;font-family:Arial,sans-serif;font-size:16px;font-weight:400;line-height:1.3}.singer-international-grid{display:grid;place-items:center;padding:0 0 70px}.singer-international-card{display:block;width:215px;color:#c7a456!important;font-family:Arial,sans-serif;font-size:14px;font-weight:500;line-height:1.3;text-align:center;text-decoration:none;text-transform:uppercase}.singer-international-image{display:block;aspect-ratio:1;padding:3px;margin-bottom:10px;border-radius:19px;background:linear-gradient(135deg,#f0d782,#9d7430);overflow:hidden}.singer-international-image img{display:block;width:100%;height:100%;border-radius:16px;object-fit:cover;transition:transform .24s ease}.singer-international-card:hover img{transform:scale(1.035)}.singer-international-card:hover{color:#e3c475!important}
@media (max-width:760px){.listing-page:has(.singer-category-title){min-height:210px;padding:0 17px 60px!important}.singer-category-title{padding:29px 0 18px}.singer-category-title h1{font-size:15px;line-height:1.3}.singer-empty-banner{min-height:46px;padding:14px 12px;font-size:13px;border-radius:3px}.singer-international-grid{padding:0 0 48px}.singer-international-card{width:170px;font-size:10px}.singer-international-image{padding:2px;margin-bottom:8px;border-radius:12px}.singer-international-image img{border-radius:10px}}
.listing-page:has(.dj-category-title){min-height:240px;padding:0 28px 84px!important;background:#000}.dj-category-title{max-width:1080px;margin:0 auto;padding:48px 0 24px;text-align:center}.dj-category-title h1{margin:0;color:#c7a456;font-family:Arial,sans-serif;font-size:23px;font-weight:700;letter-spacing:.02em;line-height:1.25;text-transform:uppercase}.dj-empty-banner{width:min(100%,980px);min-height:57px;margin:0 auto;padding:18px 16px;border-radius:4px;background:#fff1c9;color:#795a1b;font-family:Arial,sans-serif;font-size:16px;font-weight:400;line-height:1.3}.dj-profile-grid{display:grid;place-items:center;padding:0 0 70px}.dj-profile-card{display:block;width:215px;color:#c7a456!important;font-family:Arial,sans-serif;font-size:12px;font-weight:500;line-height:1.3;text-align:center;text-decoration:none;text-transform:uppercase}.dj-profile-image{display:block;aspect-ratio:1;padding:3px;margin-bottom:10px;border-radius:19px;background:linear-gradient(135deg,#f0d782,#9d7430);overflow:hidden}.dj-profile-image img{display:block;width:100%;height:100%;border-radius:16px;object-fit:cover;transition:transform .24s ease}.dj-profile-card:hover img{transform:scale(1.035)}.dj-profile-card:hover{color:#e3c475!important}
@media (max-width:760px){.listing-page:has(.dj-category-title){min-height:210px;padding:0 17px 60px!important}.dj-category-title{padding:29px 0 18px}.dj-category-title h1{font-size:15px;line-height:1.3}.dj-empty-banner{min-height:46px;padding:14px 12px;font-size:13px;border-radius:3px}.dj-profile-grid{padding:0 0 48px}.dj-profile-card{width:170px;font-size:9px}.dj-profile-image{padding:2px;margin-bottom:8px;border-radius:12px}.dj-profile-image img{border-radius:10px}}
.music-category-page .profile-grid{grid-template-columns:repeat(auto-fit,minmax(220px,240px));justify-content:center;width:min(100%,980px);gap:28px 24px}.music-category-page .profile-card{font-size:16px}.music-category-page .profile-card .card-image{width:240px;aspect-ratio:1;padding:3px;margin-bottom:10px;border-radius:19px}.music-category-page .profile-card .card-image img{border-radius:16px}.music-category-page .profile-card h2{font-size:16px;font-weight:600;line-height:1.25}.music-category-page .dj-profile-card,.music-category-page .singer-international-card{width:240px;font-size:16px;font-weight:600}.music-category-page .dj-profile-image,.music-category-page .singer-international-image{padding:3px;margin-bottom:10px;border-radius:19px}.music-category-page .dj-profile-image img,.music-category-page .singer-international-image img{border-radius:16px}.music-category-page .dj-profile-card>span:last-child,.music-category-page .singer-international-card>span:last-child{font-weight:600}
/* Compacta pela metade o espaço entre o cabeçalho/menu e os títulos musicais. */
.band-empty-title,.singer-category-title,.dj-category-title{padding-top:24px}.band-empty-title h1,.singer-category-title h1,.dj-category-title h1{font-weight:700}
@media (max-width:760px){.music-category-page .profile-grid{grid-template-columns:repeat(auto-fit,minmax(165px,180px));width:min(100%,380px);gap:21px 10px}.music-category-page .profile-card{font-size:11px}.music-category-page .profile-card .card-image{width:180px;padding:2px;margin-bottom:8px;border-radius:12px}.music-category-page .profile-card .card-image img{border-radius:10px}.music-category-page .profile-card h2{font-size:11px;font-weight:600}.music-category-page .dj-profile-card,.music-category-page .singer-international-card{width:180px;font-size:11px;font-weight:600}.music-category-page .dj-profile-image,.music-category-page .singer-international-image{padding:2px;margin-bottom:8px;border-radius:12px}.music-category-page .dj-profile-image img,.music-category-page .singer-international-image img{border-radius:10px}.band-empty-title,.singer-category-title,.dj-category-title{padding-top:15px}}
.listing-page:has(.musician-category-title){min-height:240px;padding:0 28px 84px!important;background:#000}.musician-category-title{max-width:1080px;margin:0 auto;padding:24px 0 24px;text-align:center}.musician-category-title h1{margin:0;color:#c7a456;font-family:Arial,sans-serif;font-size:23px;font-weight:700;letter-spacing:.02em;line-height:1.25;text-transform:uppercase}.musician-empty-banner{width:min(100%,980px);min-height:57px;margin:0 auto;padding:18px 16px;border-radius:4px;background:#fff1c9;color:#795a1b;font-family:Arial,sans-serif;font-size:16px;font-weight:400;line-height:1.3}
@media (max-width:760px){.listing-page:has(.musician-category-title){min-height:210px;padding:0 17px 60px!important}.musician-category-title{padding:15px 0 18px}.musician-category-title h1{font-size:15px;line-height:1.3}.musician-empty-banner{min-height:46px;padding:14px 12px;font-size:13px;border-radius:3px}}
.music-profile-content{max-width:1080px;margin:0 auto;padding:22px 28px 84px;background:#000;text-align:center}.music-profile-content>h1{margin:0 auto 14px;color:#c7a456;font-family:Arial,sans-serif;font-size:25px;font-weight:700;line-height:1.22;text-transform:uppercase}.music-profile-socials{display:flex;justify-content:center;gap:10px;margin:0 auto 19px}.music-profile-social{display:grid;width:32px;height:32px;place-items:center;border-radius:50%;background:#c7a456;color:#090806!important;font-family:Arial,sans-serif;font-size:9px;font-weight:700;text-decoration:none}.music-social-sp{background:#b6d957}.music-profile-tabs{display:flex;justify-content:center;gap:24px;flex-wrap:wrap;margin:0 auto 27px}.music-profile-tabs a{display:grid;min-width:150px;min-height:42px;padding:0 18px;place-items:center;border:3px solid #bd994e;border-radius:999px;color:#d6b463!important;font-family:Arial,sans-serif;font-size:14px;text-transform:uppercase;text-decoration:none}.music-profile-tabs a.active,.music-profile-tabs a:hover{background:#bd994e;color:#080706!important}.music-profile-hero-image{width:min(100%,460px);margin:0 auto;overflow:hidden;border:3px solid #c5a354;border-radius:18px;background:#111}.music-profile-hero-image img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover}.music-profile-video{width:min(100%,620px);margin:0 auto;aspect-ratio:16/9;background:#111}.music-profile-video iframe{display:block;width:100%;height:100%;border:0}.music-profile-coming-soon{width:min(100%,980px);min-height:57px;margin:0 auto;padding:18px 16px;border-radius:4px;background:#fff1c9;color:#795a1b;font-family:Arial,sans-serif;font-size:16px;text-align:left}.music-profile-cta{display:grid;grid-template-columns:1.35fr 1fr auto;align-items:center;gap:28px;margin:70px auto 0;padding-top:30px;border-top:1px solid rgba(255,255,255,.2);text-align:left}.music-profile-cta h2{margin:0;color:#d2b46c;font-size:19px;font-weight:400;line-height:1.35}.music-profile-cta p{margin:0;color:#d2b46c;font-size:18px;line-height:1.35}.music-profile-cta a{display:grid;min-width:135px;min-height:42px;place-items:center;border:3px solid #bd994e;border-radius:999px;color:#d6b463!important;font-size:14px;text-decoration:none}.music-profile-cta a:hover{background:#bd994e;color:#080706!important}
@media (max-width:760px){.music-profile-content{padding:16px 17px 60px}.music-profile-content>h1{font-size:16px;margin-bottom:11px}.music-profile-socials{gap:7px;margin-bottom:15px}.music-profile-social{width:28px;height:28px;font-size:8px}.music-profile-tabs{gap:8px;margin-bottom:20px}.music-profile-tabs a{min-width:calc((100% - 8px)/2);min-height:32px;padding:0 9px;border-width:2px;font-size:10px}.music-profile-hero-image{width:min(100%,330px);border-width:2px;border-radius:13px}.music-profile-coming-soon{min-height:46px;padding:14px 12px;font-size:13px}.music-profile-cta{grid-template-columns:1fr;gap:13px;margin-top:45px;padding-top:22px;text-align:center}.music-profile-cta h2,.music-profile-cta p{font-size:14px}.music-profile-cta a{width:150px;margin:0 auto;min-height:36px;font-size:11px;border-width:2px}}
.music-profile-social img{display:block;width:32px;height:32px;object-fit:contain;border-radius:50%}@media (max-width:760px){.music-profile-social img{width:28px;height:28px}}
.music-profile-content>h1{max-width:620px;font-size:28px;line-height:1.18}.music-profile-socials{gap:8px}.music-profile-social{width:44px;height:44px}.music-profile-hero-image{width:min(100%,500px)}
@media (max-width:760px){.music-profile-content>h1{max-width:330px;font-size:18px}.music-profile-social{width:36px;height:36px}.music-profile-social img{width:36px;height:36px}.music-profile-hero-image{width:min(100%,350px)}}
/* Ajuste final dos cards de categorias musicais no mobile, conforme a referência visual. */
@media (max-width:760px){
  .listing-page:has(.band-empty-title),.listing-page:has(.singer-category-title),.listing-page:has(.dj-category-title),.listing-page:has(.musician-category-title){padding-left:12px!important;padding-right:12px!important}
  .band-empty-title h1,.singer-category-title h1,.dj-category-title h1,.musician-category-title h1{width:100%;font-size:22px;line-height:1.2;letter-spacing:.01em}
  .dj-profile-card,.singer-international-card{width:min(100%,350px);font-size:17px;font-weight:600;line-height:1.25}
  .dj-profile-image,.singer-international-image{padding:3px;margin-bottom:12px;border-radius:20px}
  .dj-profile-image img,.singer-international-image img{border-radius:17px}
  .music-category-page .dj-profile-card,.music-category-page .singer-international-card{width:min(100%,350px);font-size:17px;font-weight:600}
  .music-category-page .dj-profile-image,.music-category-page .singer-international-image{padding:3px;margin-bottom:12px;border-radius:20px}
  .music-category-page .dj-profile-image img,.music-category-page .singer-international-image img{border-radius:17px}
}
/* A arte da página inicial preenche toda a área do destaque no mobile. */
@media (max-width:760px){.original-index-carousel img,.hero-stage>img{object-fit:cover!important}}
.music-profile-social{overflow:hidden}.music-profile-social img{width:44px;height:44px}.music-profile-social.music-social-ig img{transform:scale(1.38)}.music-profile-social.music-social-yt img{transform:scale(1.45)}.music-profile-social.music-social-tk img{transform:scale(1.38)}.music-profile-social.music-social-fb img{transform:scale(1.1)}.music-profile-social.music-social-sp img{transform:scale(.94)}
@media (max-width:760px){.music-profile-social.music-social-ig img{transform:scale(1.38)}.music-profile-social.music-social-yt img{transform:scale(1.45)}.music-profile-social.music-social-tk img{transform:scale(1.38)}.music-profile-social.music-social-fb img{transform:scale(1.1)}.music-profile-social.music-social-sp img{transform:scale(.94)}}
.music-profile-content>h1{font-weight:400}.music-profile-tabs a{min-width:168px;min-height:46px}.music-profile-tabs{gap:24px;margin-top:20px}
@media (max-width:760px){.music-profile-tabs a{min-width:calc((100% - 8px)/2);min-height:36px}.music-profile-tabs{margin-top:14px}}
.profile-page,.missing-page,.profile-page-reference{width:100%!important;max-width:none!important;box-sizing:border-box;background:#000!important}
.music-profile-content{width:100%;max-width:none;box-sizing:border-box;background:#000}
body:has(.music-profile-content),#root:has(.music-profile-content){background:#000!important}
.music-profile-content>h1{font-weight:700;font-size:30px;color:#d0aa5a}.music-profile-hero-image{width:min(100%,510px)}.music-profile-tabs{gap:24px}.music-profile-tabs a{min-width:148px;min-height:43px;border-color:#c7a456;color:#d0aa5a!important}.music-profile-cta{grid-template-columns:1.05fr 1fr 150px;gap:42px;margin-top:76px}.music-profile-cta h2,.music-profile-cta p{font-size:20px;color:#d0aa5a;line-height:1.35}.music-profile-cta a{min-width:150px;border-color:#c7a456;color:#d0aa5a!important}
@media (max-width:760px){.music-profile-content>h1{font-size:19px}.music-profile-hero-image{width:min(100%,350px)}.music-profile-tabs a{min-width:calc((100% - 8px)/2);min-height:36px}.music-profile-cta{grid-template-columns:1fr;gap:14px;margin-top:48px}.music-profile-cta h2,.music-profile-cta p{font-size:15px}.music-profile-cta a{min-width:150px}}
.music-profile-cta{width:min(calc(100% - 80px),1028px);grid-template-columns:390px 1fr 150px;gap:48px;margin:70px auto 0;padding-top:42px;text-align:left}.music-profile-cta h2{max-width:390px}.music-profile-cta p{max-width:340px}.music-profile-cta a{align-self:center}
@media (max-width:760px){.music-profile-cta{width:min(calc(100% - 34px),420px);grid-template-columns:1fr;gap:14px;margin-top:46px;padding-top:26px;text-align:center}.music-profile-cta h2,.music-profile-cta p{max-width:none}}
.music-profile-cta{width:min(calc(100% - 64px),1100px);grid-template-columns:420px 1fr 160px;gap:54px}.music-profile-cta h2,.music-profile-cta p{font-size:21px}.music-profile-cta a{min-width:160px}
/* Paleta dourada unificada em todo o site. */
.profile-heading,.band-empty-title h1,.singer-category-title h1,.dj-category-title h1,.musician-category-title h1,.category-cover-page:has(.music-cover-reference-image)>h1,.music-profile-content>h1,.music-reference-actions h2,.music-profile-cta h2,.music-profile-cta p{color:#be9c5c!important}
.music-reference-actions a,.music-cover-button,.music-profile-tabs a,.music-profile-cta a,.music-profile-hero-image,.music-cover-reference-image,.profile-composite,.profile-tab-button{border-color:#be9c5c!important}
.music-profile-social,.music-profile-socials .music-social-sp{background-color:#be9c5c!important}
.music-cover-button,.music-profile-tabs a,.music-profile-cta a,.music-reference-actions a{color:#be9c5c!important}
/* Capas de Bandas, Cantores, DJs e Músicos: somente no celular. */
@media (max-width:760px){
  .category-cover-page:has(.music-cover-reference-image){padding:24px 8px 62px!important}
  .category-cover-page:has(.music-cover-reference-image)>h1{margin-bottom:17px!important;font-size:21px!important;font-weight:700!important;letter-spacing:.03em;text-transform:uppercase}
  .music-cover-reference-image{width:min(calc(100vw - 16px),390px);border-width:2px;border-radius:13px}
  .music-cover-reference-image img{aspect-ratio:1 / 1}
  .music-cover-reference-buttons{width:min(calc(100vw - 32px),370px);gap:11px 14px;margin-top:29px}
  .music-cover-button{min-height:40px;border-width:2px;font-size:12px;font-weight:600;letter-spacing:.02em}
  .music-cover-button:last-child:nth-child(odd){width:calc((100% - 14px)/2)}
}
/* Títulos e rótulos das quatro categorias musicais. */
.category-cover-page:has(.music-cover-reference-image)>h1{font-weight:700!important;text-transform:uppercase;letter-spacing:.025em}
.music-cover-button{font-weight:600;letter-spacing:.015em}
@media (max-width:760px){
  .music-category-page .page-title h1{font-size:21px!important;line-height:1.22!important;font-weight:700!important;letter-spacing:.025em;text-transform:uppercase}
  .music-category-page .profile-card h2,.music-category-page .dj-profile-card,.music-category-page .singer-international-card{max-width:180px;margin-left:auto;margin-right:auto;font-size:13px!important;font-weight:600!important;line-height:1.28!important;white-space:normal;overflow-wrap:anywhere;text-transform:uppercase}
}
@media (max-width:760px){
  .music-category-page .page-title{width:100%;padding-left:4px;padding-right:4px}
  .music-category-page .page-title h1{font-size:24px!important;line-height:1.2!important;letter-spacing:.02em}
  .music-category-page .profile-grid{grid-template-columns:repeat(2,minmax(0,1fr));width:min(calc(100vw - 28px),400px);gap:22px 12px;justify-content:center}
  .music-category-page .profile-card{width:100%;font-size:14px!important}
  .music-category-page .profile-card .card-image{width:100%;max-width:195px;aspect-ratio:1;margin-left:auto;margin-right:auto;margin-bottom:10px}
  .music-category-page .profile-card h2{max-width:195px;font-size:15px!important;line-height:1.25!important;font-weight:600!important;margin-left:auto;margin-right:auto}
  .music-category-page .dj-profile-card,.music-category-page .singer-international-card{width:100%;max-width:195px;font-size:15px!important;line-height:1.25!important}
  .music-category-page .dj-profile-image,.music-category-page .singer-international-image{width:100%;max-width:195px;margin-left:auto;margin-right:auto;margin-bottom:10px}
}
/* Abas de conteúdo do DJ Blackoof: galeria, vídeo e biografia. */
.music-profile-tab{width:min(calc(100% - 64px),1100px);margin:0 auto;text-align:left}
.music-profile-tab>h2{margin:0 0 24px;color:#be9c5c;font-family:Arial,sans-serif;font-size:25px;font-weight:700;text-align:center;text-transform:uppercase}
.music-profile-tab.profile-gallery .profile-gallery-grid{width:100%;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.music-profile-tab.profile-gallery .profile-gallery-grid a{border:3px solid #fff;border-radius:14px;background:#070707}
.music-profile-tab.profile-gallery .profile-gallery-grid img{aspect-ratio:3/4;object-fit:cover}
.music-profile-biography{max-width:900px}
.music-profile-biography p{margin:0;color:#fff;font-family:Arial,sans-serif;font-size:17px;line-height:1.65;text-align:left}
@media (max-width:760px){.music-profile-tab{width:min(calc(100% - 34px),420px)}.music-profile-tab>h2{margin-bottom:16px;font-size:17px}.music-profile-tab.profile-gallery .profile-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.music-profile-tab.profile-gallery .profile-gallery-grid a{border-width:2px;border-radius:11px}.music-profile-biography p{font-size:14px;line-height:1.55}}
@media (max-width:760px){.music-profile-cta{width:min(calc(100% - 34px),420px);grid-template-columns:1fr;gap:14px}.music-profile-cta h2,.music-profile-cta p{font-size:15px}.music-profile-cta a{min-width:150px}}
.music-profile-social{background:transparent!important;overflow:hidden}.music-profile-social img,.music-profile-social.music-social-ig img,.music-profile-social.music-social-yt img,.music-profile-social.music-social-tk img,.music-profile-social.music-social-fb img,.music-profile-social.music-social-sp img{width:44px;height:44px;display:block;object-fit:contain;transform:none;filter:none}.music-profile-socials{gap:8px}
@media (max-width:760px){.music-profile-social img,.music-profile-social.music-social-ig img,.music-profile-social.music-social-yt img,.music-profile-social.music-social-tk img,.music-profile-social.music-social-fb img,.music-profile-social.music-social-sp img{width:36px;height:36px}}
.music-profile-socials{margin-top:16px;margin-bottom:26px}.music-profile-social{background:#c7a456}.music-profile-social img{filter:brightness(0)}.music-profile-social.music-social-sp img{filter:none}.music-profile-tabs{margin-top:0}
@media (max-width:760px){.music-profile-socials{margin-top:12px;margin-bottom:22px}}
/* Override final: cards e títulos maiores somente no mobile das categorias musicais. */
@media (max-width:760px){
  .listing-page:has(.band-empty-title),.listing-page:has(.singer-category-title),.listing-page:has(.dj-category-title),.listing-page:has(.musician-category-title){padding-left:12px!important;padding-right:12px!important}
  .band-empty-title h1,.singer-category-title h1,.dj-category-title h1,.musician-category-title h1{width:100%;font-size:24px!important;line-height:1.2;letter-spacing:.01em}
  .music-category-page .dj-profile-card,.music-category-page .singer-international-card{width:min(100%,190px);max-width:190px;font-size:14px!important;font-weight:600;line-height:1.25}
  .music-category-page .dj-profile-image,.music-category-page .singer-international-image{width:100%;max-width:180px;padding:3px;margin:0 auto 10px;border-radius:16px}
  .music-category-page .dj-profile-image img,.music-category-page .singer-international-image img{border-radius:13px}
  .music-profile-tabs{gap:10px;margin-top:14px}
  .music-profile-tabs a{width:min(30vw,110px);min-width:0;min-height:37px;padding:0 8px;border-width:2px;font-size:12px}
}
/* Rodapé ampliado globalmente apenas no mobile. */
@media (max-width:760px){
  .site-footer.footer-reference{padding:36px 18px 12px}
  .footer-reference-grid{gap:22px}
  .footer-reference-logo{width:150px}
  .footer-reference-logo img{height:105px}
  .footer-reference section{font-size:13px;line-height:1.65}
  .footer-reference h2{margin-bottom:6px;font-size:16px}
  .footer-reference-social>div{gap:8px}
  .footer-reference-social a,.footer-reference-social a img{width:30px!important;height:30px!important}
  .footer-reference-social{flex-direction:row;align-items:center;gap:12px}
  .footer-reference-social h2{margin:0}
  .footer-reference-contact a{gap:6px}
  .footer-contact-icon{width:19px;height:19px}
  .footer-contact-email{width:19px;height:16px}
  .footer-reference-copy{margin-top:20px;padding-top:9px;font-size:10px}
  .footer-reference-social{flex-direction:column;align-items:center;gap:5px}
  .footer-reference-social h2{margin:0;font-size:14px}
  .footer-reference-social>div{gap:7px}
  .footer-reference-social a,.footer-reference-social a img{width:22px!important;height:22px!important}
  .footer-reference-social a img{filter:sepia(1) saturate(2.1) hue-rotate(355deg) brightness(.9)}
}
/* Galerias de Book/Fotos: mostrar a imagem inteira e remover a moldura branca. */
.profile-gallery-grid img,
.music-profile-tab.profile-gallery .profile-gallery-grid img {
  object-fit: contain;
  background: #070707;
}

.profile-gallery-grid a,
.music-profile-tab.profile-gallery .profile-gallery-grid a {
  border: 0;
}
/* Agenda mobile: cada evento ocupa uma linha, mantendo a ordem vertical. */
@media (max-width:760px){
  .profile-agenda-grid{grid-template-columns:1fr!important;grid-auto-flow:row}
}
