/*
 * This is a manifest file that'll be compiled into application.css.
 */

[x-cloak] { 
  display: none !important; 
}

/* Formularios button_to: mostrar inline para que se vean en layouts flex */
form.button_to {
  display: inline-block;
}

/* Botones Ocultar/Publicar en index de banners - hover */
.banner-toggle-hide:hover {
  background-color: #fde68a;
  border-color: #fbbf24;
}
.banner-toggle-publish:hover {
  background-color: #bbf7d0;
  border-color: #4ade80;
}

/* Botón descargar guía - hover negro */
.download-guia-btn:hover {
  background-color: #000;
}

/* Artículo: ancho máximo y centrado horizontal */
.journal-article-box, .article-statistics {
  width: 100%;
  justify-self: center;
}

.campo-container {
  width: 100%;
  max-width: 400px;
  border: 1px solid #ccc;
  padding: 5px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  min-height: 40px;
  box-sizing: border-box;
}
.campo {
  border: none;
  flex: 1;
  min-width: 50px;
  font-size: 16px;
  padding: 5px;
  outline: none;
}
.tag {
  background-color: #e0e0e0;
  border-radius: 20px;
  padding: 5px 10px;
  margin: 2px;
  display: flex;
  align-items: center;
  font-size: 14px;
}
.tag button {
  margin-left: 5px;
  border: none;
  background: none;
  cursor: pointer;
  font-weight: bold;
}
.sugerencias {
  margin-top: 5px;
  border: 1px solid #ccc;
  width: 100%;
  max-width: 400px;
  max-height: 150px;
  overflow-y: auto;
  padding: 0;
  list-style: none;
  position: absolute;
  background: white;
  z-index: 1000;
  box-sizing: border-box;
}
.sugerencias li {
  padding: 10px;
  cursor: pointer;
}
.sugerencias li:hover {
  background-color: #f0f0f0;
}

/* Flipbook */
.fb-container { display: flex; flex-direction: column; height: 100vh; }
.fb-toolbar { background: #2b2b2b; padding: 15px; display: flex; justify-content: center; align-items: center; gap: 50px; box-shadow: 0 2px 5px rgba(0,0,0,0.3); }
.fb-button { background: #4a4a4a; color: #fff; border: none; padding: 10px 20px; border-radius: 5px; cursor: pointer; font-size: 14px; transition: background 0.3s; height: 41px; }
.fb-button:hover:not(:disabled) { background: #5a5a5a; }
.fb-button:disabled { opacity: 0.5; cursor: not-allowed; }
.fb-info { color: #aaa; font-size: 14px; padding: 0 10px; }
.fb-zoom-controls { color: #aaa; font-size: 14px; padding: 0 10px; }
.fb-viewer { flex: 1; display: flex; justify-content: center; align-items: center; background: #2b2b2b; perspective: 2000px; overflow: hidden; position: relative; }
.fb-book-container { position: relative; display: flex; transform-style: preserve-3d; }
.fb-page-spread { display: flex; gap: 10px; position: relative; transform-style: preserve-3d; }
.fb-page { background: white; box-shadow: 0 5px 20px rgba(0,0,0,0.4); position: relative; overflow: hidden; transform-origin: left center; transition: transform 0.8s ease; backface-visibility: hidden; }
.fb-page canvas { display: block; width: 100%; height: auto; object-fit: contain; }
.fb-loading { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 18px; color: #aaa; text-align: center; }
.fb-spinner { border: 4px solid #444; border-top: 4px solid #fff; border-radius: 50%; width: 40px; height: 40px; animation: spin 1s linear infinite; margin: 0 auto 10px; }
@keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
.fb-input[type="number"] { background: #3a3a3a; color: #fff; border: 1px solid #555; padding: 8px; border-radius: 5px; width: 60px; text-align: center; font-size: 14px; }
.fb-zoom-controls { display: flex; gap: 5px; align-items: center; }

/* Sponsors carousel */
.carousel-body {display: flex;width: max-content;}
@keyframes scroll {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
.animate-scroll {animation: scroll 120s linear infinite;}
.animate-scroll:hover {animation-play-state: paused;}
@media (max-width: 768px) {
  .animate-scroll {animation: scroll 70s linear infinite;}
}
  

/* Articles editor */
.content-item {
  transition: all 0.3s ease;
}
.content-item:hover {
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}
#content-items {
  min-height: 100px;
}
.ce-paragraph ul, .article-content ul { list-style-type: disc; padding-left: 1.5em; margin: 0.25em 0; }
.ce-paragraph ol, .article-content ol { list-style-type: decimal; padding-left: 1.5em; margin: 0.25em 0; }
.ce-paragraph li, .article-content li { margin: 0.1em 0; }

.ce-block h1 {
  font-size: 2rem;
  font-weight: bold;
}
.ce-block h2 {
  font-size: 1.6rem;
  font-weight: bold;

}
.ce-block h3 {
  font-size: 1.4rem;
  font-weight: bold;

}
.ce-block h4 {
  font-size: 1.2rem;
  font-weight:bold;

}
.ce-block h5 {
  font-size: 1.2rem;
  font-style: italic;
}
.ce-block h6 {
  font-size: 1.2rem;
}

.ce-block .ce-paragraph {
  font-size: 1rem;
}

/* Evitar que imágenes desborden en el editor */
#content_json_editor img {
  max-width: 100%;
  height: auto;
  display: block;
}
#content_json_editor,
.editor-content-wrap {
  margin-left: 20px;
  margin-right: 20px;
  padding-top: 10px;
  position: relative;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}
#content_json_editor .ce-block__content,
#content_json_editor .ce-toolbar__content,
.editor-content-wrap .ce-block__content,
.editor-content-wrap .ce-toolbar__content {
  max-width: 100%;
  margin: 0;
}
#content_json_editor .ce-toolbar__actions {
  position: absolute;
  left: 0;
  right: auto;
  top: 50%;
  transform: translateY(-50%);
}
#content_json_editor .ce-toolbar__plus,
#content_json_editor .ce-toolbar__settings-btn {
  background: #fff;
  border: 1px solid #d1d5db;
  border-radius: 4px;
}

/* EditorJS Image Tool - evitar solapamiento imagen/caption */
.image-tool {
  position: relative !important;
  overflow: visible !important;
  padding-bottom: 0 !important;
}
.image-tool--caption {
  padding-bottom: 0 !important;
}
.image-tool__image {
  position: relative !important;
  overflow: hidden !important;
}
.image-tool__image-picture {
  display: block !important;
  max-width: 100% !important;
  height: auto !important;
}
.image-tool__caption {
  position: static !important;
  visibility: visible !important;
  display: block !important;
  margin-top: 6px !important;
  padding: 6px !important;
  font-size: 13px;
  color: #6b7280;
  border: 1px dashed #d1d5db;
  border-radius: 4px;
  min-height: 24px;
}

/* Article content - párrafos con espaciado */
.article-content::after {
  content: "";
  display: table;
  clear: both;
}
.article-content p {
  margin-bottom: 1rem;
}
.article-content p:last-child {
  margin-bottom: 0;
}
.article-content p:empty {
  margin: 0;
  display: none;
}
.article-content em, .article-content i {
  font-style: italic;
}
.article-content strong, .article-content b {
  font-weight: bold;
}
.article-content {
  font-size: 1.1rem;
  overflow-wrap: break-word;
  word-wrap: break-word;
}
/* Imágenes inline en párrafos/resúmenes (no desbordar en móvil) */
.article-content img {
  max-width: 100%;
  height: auto;
  display: block;
}
.article-content ul,
.jodit-wysiwyg ul {
  list-style: disc;
  padding-left: 1.5em;
  margin-bottom: 1rem;
}
.article-content ol,
.jodit-wysiwyg ol {
  list-style: decimal;
  padding-left: 1.5em;
  margin-bottom: 1rem;
}
.article-content li,
.jodit-wysiwyg li {
  margin-bottom: 0.25rem;
}
.jodit-wysiwyg p {
  margin-bottom: 1rem;
}
.jodit-wysiwyg p:last-child {
  margin-bottom: 0;
}

/* Superíndice y subíndice en el contenido del artículo (Tailwind Preflight los resetea) */
.article-content sup {
  font-size: 0.75em;
  vertical-align: super;
  line-height: 0;
}
.article-content sub {
  font-size: 0.75em;
  vertical-align: sub;
  line-height: 0;
}

/* Enlaces en el contenido del artículo: verde corporativo, subrayado y verde hover */
.article-content a {
  color: #47794d;
  text-decoration: none;
  transition: color 0.2s ease, text-decoration-color 0.2s ease;
}
.article-content a:hover {
  color: #253E28;
  text-decoration: underline;
}

/* Image/Video blocks: mismo ancho y alineados, un pelín más pequeño que la columna */
.image-block {
  margin: 1.5rem auto;
  max-width: min(720px, 85%);
  width: 100%;
}
.image-block--stretched {
  max-width: 100%;
}
.image-block__img {
  display: block;
  max-width: 100%;
  height: auto;
  margin-left: auto;
  margin-right: auto;
}
/* Video: mismo ancho que la imagen (rellena el figure), alineado */
.video-block__wrapper {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
}
.video-block .video-block__iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: 100%;
  margin: 0;
  border: none;
  display: block;
}
/* Quitar fondo y borde en vídeo (evitar bandas laterales) */
.video-block.image-block--background,
.video-block.image-block--border {
  background: none !important;
  border: none !important;
  padding: 0 !important;
}
.image-block--stretched .video-block__wrapper {
  max-width: 100%;
}
.image-block__label {
  padding-top: 10px;
  font-size: 15px;
  color: #374151;
  text-align: center;
  max-width: 100%;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}
.image-block__caption {
  font-size: 13px;
  color: #6b7280;
  margin-top: 0.5rem;
  line-height: 1.4;
  text-align: center;
  max-width: 100%;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}
.image-block__caption p {
  margin-bottom: 0.5rem;
}
.image-block__caption p:last-child {
  margin-bottom: 0;
}

/* ImageText block: imagen pequeña flotada junto a texto */
.imagetext-block {
  margin: 1.5rem 0;
  overflow: hidden;
}
.imagetext-block::after {
  content: "";
  display: table;
  clear: both;
}
.imagetext-block__image-wrap {
  max-width: 50%;
  margin-bottom: 0.5rem;
}
.imagetext-block--left .imagetext-block__image-wrap {
  float: left;
  margin-right: 1.25rem;
}
.imagetext-block--right .imagetext-block__image-wrap {
  float: right;
  margin-left: 1.25rem;
}
.imagetext-block__img {
  width: 100%;
  height: auto;
  border-radius: 6px;
  object-fit: cover;
  display: block;
}
.imagetext-block p,
.imagetext-block > div:not(.imagetext-block__image-wrap) {
  margin-bottom: 0.75rem;
}
.imagetext-block p:last-child,
.imagetext-block > div:not(.imagetext-block__image-wrap):last-child {
  margin-bottom: 0;
}
/* Espaciado de párrafos en el editor del bloque Imagen+Texto */
.cdx-imagetext__text > p,
.cdx-imagetext__text > div {
  margin-bottom: 0.875rem;
}
.cdx-imagetext__text > p:last-child,
.cdx-imagetext__text > div:last-child {
  margin-bottom: 0;
}

/* Tablas en artículo: mismo ancho máx y centrado */
.article-content table {
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}
/* Pre/code en artículo: no desbordar */
.article-content pre,
.article-content code {
  max-width: 100%;
  overflow-x: auto;
}
.article-content pre {
  white-space: pre-wrap;
  word-wrap: break-word;
}
.article-content table caption {
  text-align: center;
  font-size: 12px;
  color: #6b7280;
  margin-top: 0.5rem;
  line-height: 1.4;
  caption-side: bottom;
}

/* Contenedor del editor con scroll */
.editor-scroll-wrap {
  max-height: 75vh;
  overflow-y: auto;
  overflow-x: hidden;
}

/* Barra de herramientas fija del editor */
.editor-fixed-toolbar {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 2px;
  padding: 6px 10px;
  border-bottom: 2px solid #e5e7eb;
  background: #f3f4f6;
  border-radius: 6px 6px 0 0;
}
.editor-toolbar-sep {
  display: inline-block;
  width: 1px;
  height: 22px;
  background: #d1d5db;
  margin: 0 6px;
}
.editor-toolbar-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 4px;
  padding: 5px 7px;
  cursor: pointer;
  font-size: 14px;
  line-height: 1;
  color: #4b5563;
  transition: background 0.15s, border-color 0.15s, color 0.15s;
  min-width: 30px;
  height: 30px;
}
.editor-toolbar-btn:hover {
  background: #e5e7eb;
  border-color: #d1d5db;
  color: #1f2937;
}
.editor-toolbar-btn:active {
  background: #d1d5db;
  color: #111827;
}

/* Superíndice de referencia bibliográfica en el editor */
.cdx-biblio-ref {
  color: #253E28;
  font-weight: bold;
  font-size: 0.75em;
  cursor: default;
  vertical-align: super;
}

/* Enlaces a referencias bibliográficas [1, 2, 3] - estilo igual que autores */
/* ref-citation: que la cita [n] no se corte al final de línea */
.ref-citation {
  white-space: nowrap;
}
button.biblio-ref-link {
  color: #253E28;
  cursor: pointer;
  text-decoration: none;
  background: none;
  border: none;
  padding: 0;
  font: inherit;
  font-size: 10px;
  font-weight: bold;
  vertical-align: super;
  position: relative;
  top: -0.25em;
}
button.biblio-ref-link:hover {
  color: #47794d;
  text-decoration: underline;
}

.biblio-ref-link {
  font-size: 10px;
  vertical-align: super;
  position: relative;
  top: -0.25em;
}
/* Popover referencia bibliográfica: cuadro ancho suficiente para ver el texto entero */
.biblio-ref-popover {
  width: 230px;
  max-width: min(90vw, 420px);
  min-height: 80px;
  max-height: 85vh;
  box-sizing: border-box;
  overflow-x: hidden;
  overflow-y: auto;
  word-wrap: break-word;
  overflow-wrap: break-word;
}
.biblio-ref-popover .article-content {
  width: 100%;
  max-width: 100%;
  overflow-wrap: break-word;
  word-break: break-word;
  min-width: 0;
  white-space: normal;
}
.biblio-ref-popover .article-content * {
  max-width: 100%;
}

/*Botón flotante índice móvil*/
#toc-float-mobile {
  display: flex !important;
  align-items: center;
  justify-content: center;
  position: fixed;
  bottom: 1.5rem;
  left: 1.5rem;
  width: 3rem;
  height: 3rem;
  border: none;
  border-radius: 50%;
  background-color: #6b7280;
  color: #fff;
  font-size: 1.25rem;
  box-shadow: 0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -2px rgba(0,0,0,0.05);
  cursor: pointer;
  z-index: 9997;
  transition: opacity 0.25s ease, transform 0.1s;
  opacity: 0;
  pointer-events: none;
}
#toc-float-mobile.toc-float-visible {
  opacity: 1;
  pointer-events: auto;
}
#toc-float-mobile:active { transform: scale(0.95); }
#toc-float-panel {
  display: none;
  position: fixed;
  bottom: 5rem;
  left: 1.5rem;
  right: 1.5rem;
  max-height: 60vh;
  overflow-y: auto;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 10px 25px rgba(0,0,0,0.15);
  border: 1px solid #e5e7eb;
  z-index: 9996;
  padding: 0.75rem 0;
}
#toc-float-panel.is-open {
  max-width: 320px;
  display: block;
}
#toc-float-panel .toc-float-title {
  padding: 0.5rem 1rem;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #6b7280;
  border-bottom: 1px solid #e5e7eb;
  margin-bottom: 0.25rem;
}
#toc-float-panel a {
  display: block;
  padding: 0.6rem 1rem;
  color: #374151;
  font-size: 0.9375rem;
  text-decoration: none;
  transition: background 0.15s, color 0.15s;
}
#toc-float-panel a:hover {
  background: #f3f4f6;
  color: #253e28;
}
@media (min-width: 1400px) {
  #toc-float-mobile,
  #toc-float-panel { display: none !important; }
}

#inicio,
.article-content-column h1[id],
.article-content-column h2[id],
.article-content-column h3[id],
.article-content-column h4[id],
#bibliografia {
  scroll-margin-top: 5.5rem;
}

/* Índice lateral: sticky dentro del article, se detiene al final del contenedor */
#toc-sidebar {
  position: sticky;
  top: 2rem;
}
@media (min-width: 1400px) {
  #toc-sidebar {
    display: block !important;
  }
}

/*Botón flotante go to top*/
#back-to-top-mobile {
  display: flex !important;
  align-items: center;
  justify-content: center;
  position: fixed;
  bottom: 1.5rem;
  right: 1.5rem;
  width: 3rem;
  height: 3rem;
  border: none;
  border-radius: 50%;
  background-color: #253E28;
  color: #fff;
  font-size: 1.25rem;
  box-shadow: 0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -2px rgba(0,0,0,0.05);
  cursor: pointer;
  z-index: 9998;
  transition: opacity 0.25s ease, transform 0.1s;
  opacity: 0;
  pointer-events: none;
}
#back-to-top-mobile.back-to-top-visible {
  opacity: 1;
  pointer-events: auto;
}
#back-to-top-mobile:active { transform: scale(0.95); }
@media (min-width: 1200px) {
  #back-to-top-mobile { display: none !important; }
}

/*Visor de imágenes de los artículos*/
#lightbox-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.9);
  z-index: 9999;
  justify-content: center;
  align-items: center;
}
#lightbox-overlay.is-open {
  display: flex;
}
#lightbox-content {
  position: relative;
  max-width: 90vw;
  max-height: 90vh;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  overflow-y: auto;
}
#lightbox-img-container {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
}
#lightbox-img {
  max-width: 88vw;
  max-height: 70vh;
  object-fit: contain;
  border-radius: 4px;
  box-shadow: 0 4px 30px rgba(0,0,0,0.5);
}
#lightbox-info {
  color: #fff;
  text-align: center;
  margin-top: 12px;
  font-size: 14px;
  flex-shrink: 0;
  line-height: 1.5;
  width: 100%;
}
#lightbox-label {
  display: block;
  font-size: 15px;
  margin-bottom: 2px;
}
#lightbox-caption {
  display: block;
  color: #ccc;
  font-size: 13px;
}
#lightbox-counter {
  display: block;
  color: #999;
  font-size: 12px;
  margin-top: 6px;
}
#lightbox-close {
  position: fixed;
  top: 16px;
  right: 24px;
  background: none;
  border: none;
  color: #fff;
  font-size: 36px;
  cursor: pointer;
  z-index: 10001;
  line-height: 1;
  padding: 4px 8px;
  transition: opacity 0.2s;
}
#lightbox-close:hover { 
  background-color: rgba(255, 255, 255, 0.25);
}
#lightbox-prev, #lightbox-next {
  position: fixed;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(255, 255, 255, 0.25);
  border: none;
  color: #fff;
  font-size: 28px;
  cursor: pointer;
  padding: 16px 12px;
  border-radius: 4px;
  z-index: 10001;
  transition: background 0.2s;
}
#lightbox-prev:hover, #lightbox-next:hover { background: rgba(255, 255, 255, 0.45); }
#lightbox-prev { left: 16px; }
#lightbox-next { right: 16px; }

/*Pop-up home*/
#overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
  z-index: 999;
}

#modal-vet {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: white;
  padding: 30px 40px;
  text-align: center;
  z-index: 1000;
  box-shadow: 0 10px 30px rgba(0,0,0,0.3);
}

#modal-vet button {
  margin-top: 15px;
  padding: 8px 20px;
  background: #65986b;
  border: none;
  cursor: pointer;
  border-radius: 12px;
  color:white;
}

#modal-vet button:hover {
  background-color: #253E28;
}

#modal-vet h2 {
  margin-bottom:10px;
  font-size:24px;
  font-weight: 500;
}

#header-desktop {
  max-width: 100%;
  box-shadow: 0 4px 6px -2px rgba(0,0,0,0.3);
}

#header-desktop.header-article-show {
  width: 100%;
  max-width: 100%;
}

.ad-label {
  padding-right: 10px;
}
/* En móvil: botones prev/next debajo de la imagen y centrados */
@media (max-width: 768px) {
  #lightbox-nav {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 16px;
    margin-top: 12px;
    flex-shrink: 0;
  }
  #lightbox-prev, #lightbox-next {
    position: static;
    transform: none;
    left: auto;
    right: auto;
    top: auto;
  }
  #modal-vet {
    width:90%;
  }
}

/* Cuadros de autores: en móvil 200px y centrado horizontal. Transición suave al abrir. */
.author-popover {
  transition: left 0.3s ease-out, transform 0.3s ease-out, opacity 0.3s ease-out;
}

/* Búsqueda avanzada */
.advanced-search-button-desktop {
  min-height: -webkit-fill-available;
}

.article-sidebar-ad-container {
  max-width:250px;
}

/* Banners en header: ocupan todo el ancho de la columna */
.header-banner-column .article-sidebar-ad-container,
.article-sidebar-ad-container--full {
  max-width: 100%;
}

/* Contenedor del banner lateral: altura fija 600px */
.article-sidebar-ad-container--banner {
  max-height: 600px;
}

/* Vídeo en sidebar: sin borde ni sombra, bordes redondeados */
.article-sidebar-ad-container--video {
  border: none !important;
  box-shadow: none !important;
}
.article-sidebar-ad-container--video video {
  border-radius: 0.5rem;
}

/* Layout unificado: banner superior + laterales sin gaps, pegados arriba */
.banner-layout-wrapper {
  gap: 0;
}
.banner-layout-top {
  padding: 0;
  margin: 0;
  max-height: 250px;
  overflow: hidden;
}
.banner-header-embedded {
  padding: 0;
  margin: 0;
  max-height: 250px;
  overflow: hidden;
}
/* Banners horizontales (no U): ancho propio, centrados en el contenedor (no escalan) */
.banner-horizontal-img {
  width: auto;
  height: auto;
  max-height: 250px;
  object-fit: contain;
}
.banner-layout-row {
  padding: 0;
  margin: 0;
  gap: 0;
  overflow: visible;
  align-items: flex-start;
}
.banner-layout-side {
  padding: 0 0 40px 0;
  margin: 0;
  max-width: 300px;
}
.banner-layout-side img {
  max-width: 100%;
  max-height: 600px;
  width: 100%;
  height: auto;
  object-fit: cover;
}
.banner-layout-main {
  padding-left: 0;
  padding-right: 0;
  margin-left: 0;
  margin-right: 0;
}
/* Sidebar embedded: ocupa todo el contenedor 600px */
.sidebar-ad-embedded {
  display: block !important;
}
.article-sidebar-ad-container--embedded {
  width: 100%;
  height: 100%;
  max-height: 600px;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0;
  margin: 0;
}

/* Sidebar lateral: contenedor sticky para que anuncio + suscripción se muevan juntos */
.article-sidebar-sticky {
  position: sticky;
  top: 2rem;
}

.article-sidebar-sticky .article-sidebar-ad {
  position: static;
}

/* Anuncio lateral (cuando se usa solo, sin wrapper sticky) */
.article-sidebar-ad {
  position: sticky;
  top: 2rem;
}

a.toc-link {
  padding-right: 12px;
}

.pdf-visor-container {
  min-width: 800px;
}

/*Botón eliminar*/
.delete-btn:hover {
  background-color: #991b1b;
}

/* Layout móvil de artículos: aplica hasta 1200px (columnas de anuncios ocultas) */
@media (max-width: 1199px) {
  .author-popover {
    width: 200px;
    max-width: 200px;
    left: 65%;
    transform: translateX(-50%);
    box-sizing: border-box;
  }

  .article-content {
    font-size: 1rem;
  }

  .image-block {
    max-width: 100%;
  }
  .imagetext-block__image-wrap {
    float: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    width: 200px;
    max-width: 60%;
    margin-bottom: 1rem;
  }
  .biblio-ref-popover {
    width:200px;
  }

  /* Evitar scroll horizontal en vista de artículo: tablas e iframes */
  .article-content-column {
    min-width: 0;
    max-width: 100%;
  }
  .article-content:has(table) {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    max-width: 100%;
  }
  .article-content table {
    max-width: none;
    min-width: min-content;
  }

  /* Editor de artículos: secciones en una columna y sin desborde */
  #content_json_editor,
  .editor-content-wrap {
    margin-left: 8px;
    margin-right: 8px;
    max-width: 100%;
    overflow-x: hidden;
  }
  #content_json_editor .ce-block,
  #content_json_editor .ce-toolbar,
  .editor-content-wrap .ce-block,
  .editor-content-wrap .ce-toolbar {
    max-width: 100%;
    min-width: 0;
  }
  #content_json_editor .ce-block__content,
  .editor-content-wrap .ce-block__content {
    overflow-wrap: break-word;
    word-wrap: break-word;
  }
  #content_json_editor table,
  .editor-content-wrap table {
    display: block;
    max-width: 100%;
    overflow-x: auto;
  }
  .editor-fixed-toolbar {
    flex-wrap: wrap;
    gap: 4px;
    padding: 6px 8px;
  }
  .clean-filters {
    padding:0px;
  }

  .journal-article-box {
    margin-left: 0;
    margin-right: 0;
  }

  .carousel-sponsor {
    width: 152px;
  }

  .pdf-visor-container {
    min-width: auto;
  }

}

/* Columna del artículo: permitir que el popover de bibliografía quede por encima */
.article-content-column {
  overflow: visible;
}

/* Popover referencia bibliográfica: por encima del contenedor (desktop left: 0) */
@media (min-width: 1200px) {
  .biblio-ref-popover {
    left: 0;
  }
}

/* Botón Suscríbete en sidebar: font-size menor entre 1200px y 1280px */
@media (min-width: 1200px) and (max-width: 1279px) {
  .subscribe-sidebar-btn {
    font-size: 0.75rem; /* 12px */
  }
}
@media (min-width: 1280px) {
  .subscribe-sidebar-btn {
    font-size: 0.875rem; /* 14px */
  }
}