/* Source Article Block Styles */

.source-article-block {
  padding: 0;
  margin: 8rem 0 !important;
}

.wp-block-custom-source-article .source-article-block {
  padding: 0;
  margin: 8rem 0 !important;
}

/* Editor specific styles - using data attribute instead of class */
[class*="block-editor"] .source-article-block {
  margin: 8rem 0 !important;
}

.source-article-container {
  box-sizing: border-box;
  display: flex;
  flex-wrap: wrap;
  gap: 1.2rem;
  align-items: baseline;
  max-width: 100%;
  padding: var(--spacing-32, 3.2rem);
  background: var(--color-white, #fff);
  border: 1px solid var(--color-black, #000);
}

.source-article-label {
  flex-shrink: 0;
  margin: 0;
  font-family: var(--font-sans, "Noto Sans JP", sans-serif);
  font-size: var(--fontsize-14, 1.4rem);
  font-weight: normal;
  line-height: 1.2;
  color: var(--color-black, #000);
}

.source-article-url {
  flex: 1;
  min-width: 200px;
  max-width: 100%;
  margin: 0;
  font-family: var(--font-sans, "Noto Sans JP", sans-serif);
  font-size: var(--fontsize-14, 1.4rem);
  font-weight: normal;
  line-height: 1.4;
  color: var(--color-blue-link, #00f);
  hyphens: auto;
  word-break: break-all;
  overflow-wrap: break-word;
}

.source-article-url a {
  color: var(--color-blue-link, #00f);
  word-break: break-all;
  overflow-wrap: break-word;
  text-decoration: none;
}

.source-article-url a:hover {
  text-decoration: underline;
}

/* Two column layout support */
.wp-block-columns .source-article-block {
  margin: 20px 0;
}

.wp-block-columns .source-article-container {
  padding: 20px;
}

.wp-block-columns .source-article-label {
  margin-bottom: 10px;
  font-size: 1.2rem;
}

.wp-block-columns .source-article-url {
  font-size: 1.2rem;
}

/* Mobile responsive */
@media (width <= 768px) {
  .source-article-container {
    flex-direction: column;
    gap: 12px;
    align-items: flex-start;
    padding: 20px;
  }

  .source-article-label {
    flex-shrink: 0;
    width: 100%;
    margin-bottom: 0;
    font-size: 1.2rem;
  }

  .source-article-url {
    flex: none;
    width: 100%;
    min-width: 0;
    font-size: 1.2rem;
  }

  .wp-block-columns .source-article-container {
    flex-direction: column;
    gap: 8px;
    padding: 16px;
  }

  .wp-block-columns .source-article-label {
    width: 100%;
    margin-bottom: 0;
    font-size: 1.1rem;
  }

  .wp-block-columns .source-article-url {
    flex: none;
    width: 100%;
    min-width: 0;
    font-size: 1.1rem;
  }
}
