/* ========================================
   ESTILOS PARA BLOCOS GUTENBERG
   ======================================== */

/* Cabeçalhos */
.wp-block-heading {
  font-family: var(--ujac-font-primary);
  font-weight: 900;
  line-height: 1.2;
  margin-bottom: var(--ujac-spacing-md);
}

.wp-block-heading h1 {
  font-size: var(--ujac-font-size-3xl);
}

.wp-block-heading h2 {
  font-size: var(--ujac-font-size-2xl);
}

.wp-block-heading h3 {
  font-size: var(--ujac-font-size-xl);
}

.wp-block-heading h4 {
  font-size: var(--ujac-font-size-lg);
}

/* Parágrafos */
.wp-block-paragraph {
  margin-bottom: var(--ujac-spacing-md);
  line-height: 1.8;
}

/* Imagens */
.wp-block-image {
  margin-bottom: var(--ujac-spacing-lg);
}

.wp-block-image img {
  max-width: 100%;
  height: auto;
  border-radius: var(--ujac-radius-md);
}

.wp-block-image.alignwide {
  margin-left: calc(-1 * var(--ujac-spacing-xl));
  margin-right: calc(-1 * var(--ujac-spacing-xl));
}

.wp-block-image.alignfull {
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
}

/* Botões */
.wp-block-button {
  margin-bottom: var(--ujac-spacing-md);
}

.wp-block-button__link {
  display: inline-block;
  padding: var(--ujac-spacing-sm) var(--ujac-spacing-lg);
  border-radius: var(--ujac-radius-md);
  font-weight: 600;
  text-decoration: none;
  transition: all var(--ujac-transition-base);
  background-color: var(--ujac-teal);
  color: var(--ujac-white);
}

.wp-block-button__link:hover {
  background-color: var(--ujac-purple);
  box-shadow: var(--ujac-shadow-lg);
  transform: translateY(-2px);
}

.wp-block-button.is-style-outline .wp-block-button__link {
  background-color: transparent;
  color: var(--ujac-teal);
  border: 2px solid var(--ujac-teal);
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
  background-color: var(--ujac-teal);
  color: var(--ujac-white);
}

/* Listas */
.wp-block-list {
  margin-bottom: var(--ujac-spacing-md);
  padding-left: var(--ujac-spacing-lg);
}

.wp-block-list li {
  margin-bottom: var(--ujac-spacing-sm);
}

/* Citações */
.wp-block-quote {
  border-left: 4px solid var(--ujac-teal);
  padding-left: var(--ujac-spacing-lg);
  margin-left: 0;
  margin-bottom: var(--ujac-spacing-lg);
  font-style: italic;
  color: var(--ujac-gray);
}

.wp-block-quote p {
  margin-bottom: var(--ujac-spacing-sm);
}

.wp-block-quote cite {
  display: block;
  margin-top: var(--ujac-spacing-md);
  font-style: normal;
  font-weight: 600;
  color: var(--ujac-dark);
}

/* Código */
.wp-block-code {
  background-color: var(--ujac-light-gray);
  border-left: 4px solid var(--ujac-teal);
  padding: var(--ujac-spacing-md);
  margin-bottom: var(--ujac-spacing-lg);
  border-radius: var(--ujac-radius-md);
  overflow-x: auto;
}

.wp-block-code code {
  font-family: 'Courier New', monospace;
  font-size: var(--ujac-font-size-sm);
  color: var(--ujac-dark);
}

/* Tabelas */
.wp-block-table {
  margin-bottom: var(--ujac-spacing-lg);
  width: 100%;
  border-collapse: collapse;
}

.wp-block-table table {
  width: 100%;
  border: 1px solid var(--ujac-light-gray);
}

.wp-block-table th {
  background-color: var(--ujac-light-gray);
  padding: var(--ujac-spacing-md);
  text-align: left;
  font-weight: 700;
  border: 1px solid var(--ujac-light-gray);
}

.wp-block-table td {
  padding: var(--ujac-spacing-md);
  border: 1px solid var(--ujac-light-gray);
}

.wp-block-table tbody tr:nth-child(even) {
  background-color: rgba(33, 222, 191, 0.05);
}

/* Separador */
.wp-block-separator {
  border: none;
  border-top: 2px solid var(--ujac-teal);
  margin: var(--ujac-spacing-xl) 0;
}

.wp-block-separator.is-style-wide {
  margin-left: calc(-1 * var(--ujac-spacing-xl));
  margin-right: calc(-1 * var(--ujac-spacing-xl));
}

/* Colunas */
.wp-block-columns {
  margin-bottom: var(--ujac-spacing-lg);
}

.wp-block-column {
  margin-bottom: var(--ujac-spacing-lg);
}

/* Grupos */
.wp-block-group {
  margin-bottom: var(--ujac-spacing-lg);
}

.wp-block-group.has-background {
  padding: var(--ujac-spacing-lg);
  border-radius: var(--ujac-radius-md);
}

/* Galeria */
.wp-block-gallery {
  margin-bottom: var(--ujac-spacing-lg);
}

.wp-block-gallery .blocks-gallery-item {
  margin-bottom: var(--ujac-spacing-md);
}

.wp-block-gallery .blocks-gallery-item img {
  border-radius: var(--ujac-radius-md);
  transition: transform var(--ujac-transition-base);
}

.wp-block-gallery .blocks-gallery-item:hover img {
  transform: scale(1.05);
}

/* Vídeo */
.wp-block-video {
  margin-bottom: var(--ujac-spacing-lg);
}

.wp-block-video video {
  max-width: 100%;
  height: auto;
  border-radius: var(--ujac-radius-md);
}

/* Áudio */
.wp-block-audio {
  margin-bottom: var(--ujac-spacing-lg);
}

/* Arquivo */
.wp-block-file {
  background-color: var(--ujac-light-gray);
  padding: var(--ujac-spacing-md);
  border-radius: var(--ujac-radius-md);
  margin-bottom: var(--ujac-spacing-lg);
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.wp-block-file__content-wrapper {
  flex: 1;
}

.wp-block-file .wp-block-file__button {
  background-color: var(--ujac-teal);
  color: var(--ujac-white);
  padding: var(--ujac-spacing-sm) var(--ujac-spacing-md);
  border-radius: var(--ujac-radius-md);
  text-decoration: none;
  transition: all var(--ujac-transition-base);
}

.wp-block-file .wp-block-file__button:hover {
  background-color: var(--ujac-purple);
}

/* Formulário de Busca */
.wp-block-search {
  margin-bottom: var(--ujac-spacing-lg);
}

.wp-block-search__input {
  padding: var(--ujac-spacing-sm) var(--ujac-spacing-md);
  border: 1px solid var(--ujac-light-gray);
  border-radius: var(--ujac-radius-md);
  font-size: var(--ujac-font-size-base);
}

.wp-block-search__button {
  background-color: var(--ujac-teal);
  color: var(--ujac-white);
  padding: var(--ujac-spacing-sm) var(--ujac-spacing-md);
  border: none;
  border-radius: var(--ujac-radius-md);
  cursor: pointer;
  transition: all var(--ujac-transition-base);
}

.wp-block-search__button:hover {
  background-color: var(--ujac-purple);
}

/* Categorias */
.wp-block-categories {
  margin-bottom: var(--ujac-spacing-lg);
}

.wp-block-categories ul {
  list-style: none;
  padding: 0;
}

.wp-block-categories li {
  margin-bottom: var(--ujac-spacing-sm);
}

.wp-block-categories a {
  color: var(--ujac-teal);
  text-decoration: none;
  transition: color var(--ujac-transition-base);
}

.wp-block-categories a:hover {
  color: var(--ujac-purple);
  text-decoration: underline;
}

/* Posts Recentes */
.wp-block-latest-posts {
  margin-bottom: var(--ujac-spacing-lg);
}

.wp-block-latest-posts li {
  margin-bottom: var(--ujac-spacing-md);
  padding-bottom: var(--ujac-spacing-md);
  border-bottom: 1px solid var(--ujac-light-gray);
}

.wp-block-latest-posts li:last-child {
  border-bottom: none;
}

.wp-block-latest-posts a {
  color: var(--ujac-teal);
  text-decoration: none;
  transition: color var(--ujac-transition-base);
  font-weight: 600;
}

.wp-block-latest-posts a:hover {
  color: var(--ujac-purple);
  text-decoration: underline;
}

/* Nuvem de Tags */
.wp-block-tag-cloud {
  margin-bottom: var(--ujac-spacing-lg);
}

.wp-block-tag-cloud a {
  display: inline-block;
  background-color: var(--ujac-light-gray);
  color: var(--ujac-dark);
  padding: var(--ujac-spacing-xs) var(--ujac-spacing-sm);
  margin: var(--ujac-spacing-xs);
  border-radius: var(--ujac-radius-full);
  text-decoration: none;
  transition: all var(--ujac-transition-base);
}

.wp-block-tag-cloud a:hover {
  background-color: var(--ujac-teal);
  color: var(--ujac-white);
}

/* Calendário */
.wp-block-calendar {
  margin-bottom: var(--ujac-spacing-lg);
}

.wp-block-calendar table {
  width: 100%;
  border-collapse: collapse;
}

.wp-block-calendar th,
.wp-block-calendar td {
  padding: var(--ujac-spacing-sm);
  border: 1px solid var(--ujac-light-gray);
  text-align: center;
}

.wp-block-calendar th {
  background-color: var(--ujac-light-gray);
  font-weight: 700;
}

.wp-block-calendar td a {
  color: var(--ujac-teal);
  text-decoration: none;
  font-weight: 600;
}

.wp-block-calendar td a:hover {
  color: var(--ujac-purple);
}

/* Comentários */
.wp-block-comments {
  margin-bottom: var(--ujac-spacing-lg);
}

.wp-block-comments-query-loop {
  margin-bottom: var(--ujac-spacing-lg);
}

/* Responsividade para Blocos */
@media (max-width: 768px) {
  .wp-block-image.alignwide,
  .wp-block-image.alignfull {
    margin-left: calc(-1 * var(--ujac-spacing-md));
    margin-right: calc(-1 * var(--ujac-spacing-md));
  }

  .wp-block-columns {
    flex-direction: column;
  }

  .wp-block-column {
    margin-right: 0;
    margin-bottom: var(--ujac-spacing-lg);
  }

  .wp-block-separator.is-style-wide {
    margin-left: calc(-1 * var(--ujac-spacing-md));
    margin-right: calc(-1 * var(--ujac-spacing-md));
  }

  .wp-block-file {
    flex-direction: column;
    align-items: flex-start;
  }

  .wp-block-file .wp-block-file__button {
    margin-top: var(--ujac-spacing-md);
    width: 100%;
    text-align: center;
  }
}
