/* =========================================================
   NEWS SINGLE PAGE
   ========================================================= */

.news-single-page-body,
.news-single-page-body .page-wrap,
.news-single-page-body main {
  background: #f5f7f7;
}

.news-single {
  max-width: 965px;
  margin: 0 auto;
  padding: 2rem 2rem 3rem;
  background-color: #f5f7f7;
}

.news-single-title {
  margin: 0 auto 2rem;
}

.news-single-title h1 {
  font-family: var(--font-heading, "Space Grotesk", sans-serif);
  font-size: clamp(1.8rem, 3.5vw, 2.8rem);
  font-weight: 700;
  color: #000;
  line-height: 1.3;
  letter-spacing: 0.02em;
  margin: 0 0 0.8rem;
  text-align: left;
}

.news-single-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35em;
  font-family: var(--font-body, "IBM Plex Sans", sans-serif);
  font-size: 0.9rem;
  color: #888;
  letter-spacing: 0.05em;
  text-align: left;
}

.news-single-body {
  --news-block-gap: 1.4rem;
  --news-block-margin-default: 3rem;

  container-type: inline-size;
  font-family: var(--font-body, "IBM Plex Sans", sans-serif);
  font-size: 1.05rem;
  line-height: 1.8;
  color: #1a1a1a;
}

.news-single-body p {
  margin: 0;
  text-align: left;
}

.news-single-body > p:not(:last-child) {
  margin-bottom: var(--news-block-gap);
}

.news-single-body strong {
  font-weight: 700;
  color: #000;
}

.news-single-body em {
  font-style: italic;
}

.news-single-body a,
.news-single-body a:visited {
  color: #000;
}

.news-single-body a:hover {
  color: #000;
}

.news-single-body ul,
.news-single-body ol {
  margin: 0;
}

/* ---------- Bloques de contenido ---------- */

.news-block {
  --news-fit-list-gap: 0;

  clear: both;
  display: flow-root;
  font-size: var(--news-block-font-size, inherit);
  margin: 0 0 var(--news-block-margin, var(--news-block-margin-default));
}

.news-block > * {
  margin-top: 0;
  margin-bottom: 0;
}

.news-block > *:not(:last-child) {
  margin-bottom: var(--news-block-gap);
}

.news-block--fit-image {
  display: flow-root;
}

.news-block.news-block--is-stacked {
  display: flex;
  flex-direction: column;
  gap: var(--news-block-gap);
}

.news-block.news-block--is-stacked > * {
  margin-top: 0;
  margin-bottom: 0;
}

.news-block.news-block--is-stacked > *:not(:last-child) {
  margin-bottom: 0;
}

.news-block.news-block--is-stacked > .news-inline-image {
  float: none;
  width: min(100%, var(--news-image-width, var(--news-image-default-width, 360px)));
  margin-left: auto;
  margin-right: auto;
}

.news-block--fit-image:not(.news-block--is-stacked) > ul,
.news-block--fit-image:not(.news-block--is-stacked) > ol {
  display: flow-root;
  padding-left: 1.15em;
  margin-top: 0;
}

.news-block--fit-image:not(.news-block--is-stacked):has(> .news-inline-image--left) > ul,
.news-block--fit-image:not(.news-block--is-stacked):has(> .news-inline-image--left) > ol {
  transform: translateX(var(--news-fit-list-gap));
}

.news-block--fit-image:not(.news-block--is-stacked):has(> .news-inline-image--right) > ul,
.news-block--fit-image:not(.news-block--is-stacked):has(> .news-inline-image--right) > ol {
  transform: translateX(calc(-1 * var(--news-fit-list-gap)));
}

.news-block--fit-image.news-block--is-stacked > ul,
.news-block--fit-image.news-block--is-stacked > ol {
  transform: none;
  margin-left: 0;
  margin-right: 0;
}

/* ---------- Imágenes dentro de noticias ---------- */

.news-inline-image {
  margin: 0;
  width: var(--news-image-width, auto);
  min-width: var(--news-image-min-width, 0);
  max-width: var(--news-image-max-width, 100%);
}

.news-inline-image img {
  display: block;
  width: 100%;
  height: var(--news-image-height, auto);
  min-height: var(--news-image-min-height, 0);
  max-height: var(--news-image-max-height, none);
  aspect-ratio: var(--news-image-ratio, auto);
  border-radius: 12px;
  border-radius: var(--news-image-radius, 12px);
  object-fit: var(--news-image-fit, cover);
  object-position: var(--news-image-position, left center);
  background: var(--news-image-bg, transparent);
}

.news-inline-image__link {
  display: block;
}

.news-inline-image figcaption {
  margin-top: 0.55rem;
  font-family: var(--font-body, "IBM Plex Sans", sans-serif);
  font-size: 0.88rem;
  color: #666;
  text-align: center;
}

/* Imagen flotada a la izquierda */
.news-block > .news-inline-image--left {
  float: left;
  margin: 0.25rem 2rem 1rem 0;
}

/* Imagen flotada a la derecha */
.news-block > .news-inline-image--right {
  float: right;
  margin: 0.25rem 0 1rem 2rem;
}

/* Imagen a ancho completo */
.news-inline-image--full {
  float: none;
  clear: both;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}

/* Tamaños */
.news-inline-image--small {
  --news-image-default-width: 260px;
  width: var(--news-image-width, var(--news-image-default-width));
}

.news-inline-image--medium {
  --news-image-default-width: 360px;
  width: var(--news-image-width, var(--news-image-default-width));
}

.news-inline-image--large {
  --news-image-default-width: 430px;
  width: var(--news-image-width, var(--news-image-default-width));
}

.news-inline-image--full {
  width: var(--news-image-width, 100%);
}

/* Para cortar un float cuando sea necesario */
.news-clear {
  clear: both;
}

/* ---------- Citas / comentarios destacados ---------- */

.news-single-body blockquote {
  clear: both;
  border-left: 4px solid #000;
  margin: 0;
  padding: 0.8rem 1.5rem;
  font-family: var(--font-body, "IBM Plex Sans", sans-serif);
  font-size: var(--news-block-font-size, 1.05rem);
  color: #444;
  background: transparent;
}

.news-single-body blockquote > * {
  margin-top: 0;
  margin-bottom: 0;
}

.news-single-body blockquote > *:not(:last-child) {
  margin-bottom: var(--news-block-gap);
}



/* ---------- Enlaces finales a proyectos ---------- */

.news-project-links {
  clear: both;
  display: flex;
  justify-content: center;
  gap: 2rem;
  flex-wrap: wrap;
}

.news-out-link {
  display: inline-block;
  font-family: var(--font-body, "IBM Plex Sans", sans-serif);
  font-size: 1.1rem;
  font-weight: 600;
  text-decoration: none;
  color: #000;
  transition:
    transform 0.15s ease,
}

.news-out-link:hover {
  transform: scale(1.06);
}

/* ---------- Tags ---------- */

.news-tags {
  clear: both;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.6rem;
  margin: 1.5rem 0;
}

.news-tag {
  border: 1px solid #dc143c;
  color: #dc143c;
  border-radius: 999px;
  padding: 0.35rem 0.9rem;
  font-family: var(--font-body, "IBM Plex Sans", sans-serif);
  font-size: 0.9rem;
}

/* ---------- Responsive ---------- */

@media (max-width: 700px) {
  .news-single {
    padding: 1.5rem 1.25rem 2.5rem;
  }

  .news-project-links {
    flex-direction: column;
    align-items: center;
    gap: 1rem;
  }

  .news-inline-image img {
    width: 100%;
    height: var(--news-image-mobile-height, var(--news-image-height, auto));
  }
  
}
