
/* Para texto blanco general en títulos */
.post-heading, .site-heading {
  text-shadow: 
    1px 1px 2px rgba(0, 0, 0, 0.7),  /* Sombra negra suave */
    -1px -1px 2px rgba(0, 0, 0, 0.7); /* Para un contorno completo */
  /* Ajusta valores: grosor (1px), blur (2px), color (rgba para opacidad) */
}

/* Si es específico para texto sobre imágenes (ej. featured image) */
.featured-image h1, .overlay-text {
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8); /* Más fuerte para fondos claros */
}

/* Si quieres solo en modo claro o sobre fondos específicos */
@media (prefers-color-scheme: light) {
  .white-text {
    text-shadow: 1px 1px 3px #000; /* Negro puro para contraste */
  }
}


/* Estilo para el selector en el menú superior */
/* Forzamos el estilo sobre cualquier otra regla del tema */
nav.navbar #language-selector, 
nav.navbar .sel-lang {
  display: inline-block !important;
    vertical-align: middle !important; /* Alineación base */
    margin-left: 20px;
    height: 100%; /* Para que ocupe el mismo alto que los otros */
    padding-top: 3px; /* AJUSTE MANUAL: Aumenta o disminuye este valor para centrarlo */
    background-color: transparent !important;
    background-image: none !important; /* Quita flechas o gradientes de fondo */
    color: white !important;
    border: none !important;
    box-shadow: none !important;
    -webkit-appearance: none !important; /* Quita estilo de iOS/Chrome */
    -moz-appearance: none !important;    /* Quita estilo de Firefox */
    appearance: none !important;         /* Quita estilo estándar */
    font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    padding: 0 5px !important;
    /* margin: 0 !important; */
    cursor: pointer !important;
    outline: none !important;
    margin-top: 20px;
}

/* Para que se vea la letra blanca incluso cuando el navegador intenta ponerla negra */
nav.navbar #language-selector option {
    background-color: #333 !important; /* Fondo oscuro para el menú desplegable */
    color: white !important;
    line-height: 1.1 !important; /* Ajusta la altura de la línea de texto */
    padding-bottom: 0 !important;
    padding-top: 0 !important;
    vertical-align: baseline !important;
}

/* Si el tema cambia a modo claro al hacer scroll (clase .is-fixed) */
nav.navbar.is-fixed #language-selector {
    color: #404040 !important;
}

/* Opcional: Agregar una flecha sutil blanca con CSS para saber que es un desplegable */
.nav-item-lang {
    position: relative;
}

.nav-item-lang::after {
    content: '▼';
    font-size: 8px;
    color: white;
    position: absolute;
    right: 40px; /* Lo moví un poco a la derecha para que no choque con el texto */
    top: 55%;    /* Ajuste fino para la flecha */
    /* transform: translateY(0%); */
    pointer-events: none;
    opacity: 0.8;
}

/* Si el navbar cambia a blanco (scroll), la flecha debe ser gris */
nav.navbar.is-fixed .nav-item-lang::after {
    color: #404040;
}

/* Color de las opciones dentro del menú (estos sí deben tener fondo para leerse) */
#language-selector option {
    background-color: #404040; /* Fondo oscuro para que resalte la letra blanca */
    color: white;
}

@media only screen and (max-width: 767px) {
    /* Cambiamos el color a gris oscuro para que sea legible sobre el fondo blanco del menú móvil */
    nav.navbar #language-selector {
        color: #404040 !important; /* El mismo gris que usa el tema CleanWhite */
        margin-top: 10px !important; /* Ajuste de espacio en móvil */
        margin-left: 15px !important;
        font-size: 12px !important; /* Un poco más grande para facilitar el toque táctil */
    }

    /* Quitamos la flecha en móvil si estorba, o la pintamos de gris */
    .nav-item-lang::after {
        color: #404040 !important;
        right: auto !important;
        margin-left: 5px;
        position: relative !important; /* La ponemos al lado del texto en móvil */
        top: 0 !important;
    }
}

#language-selector option {
    color: white !important;
    background-color: #404040 !important;
}

/* Alineación Central */
img[alt*="center"] {
    display: block;
    margin: 20px auto;
    border-radius: 10px;
    max-width: 100%;
    height: auto;
}

/* Alineación Derecha */
img[alt*="right"] {
    float: right;
    clear: right;
    margin-left: 1.5rem;
    margin-bottom: 1rem;
    border-radius: 10px;
    max-width: 50%; /* Evita que ocupe toda la pantalla en móviles */
}

/* Alineación Izquierda */
img[alt*="left"] {
    float: left;
    clear: left;
    margin-right: 1.5rem;
    margin-bottom: 1rem;
    border-radius: 10px;
    max-width: 50%;
}

/* Para que se vea bien en móviles (desactivar el float) */
@media (max-width: 768px) {
    img[alt*="left"], img[alt*="right"] {
        float: none;
        display: block;
        margin: 10px auto;
        max-width: 100%;
    }
}


/* Alineación de videos basada en las clases del render-image */
.video-render.align-left {
    float: left;
    margin-right: 1.5rem;
    max-width: 50%;
}

.video-render.align-right {
    float: right;
    margin-left: 1.5rem;
    max-width: 50%;
}

.video-render.align-center {
    display: block;
    margin: 20px auto;
    max-width: 100%;
}

/* Limpiar floats después de un video */
video::after {
    content: "";
    display: table;
    clear: both;
}


.callout {
    margin: 1.5rem 0;
    padding: 1rem;
    border-left: 4px solid;
    border-radius: 4px;
    background-color: #f8f9fa;
}

.callout-header {
    font-weight: 800;
    margin-bottom: 0.5rem;
    text-transform: uppercase;
    font-size: 0.85rem;
    display: flex;
    align-items: center;
}

/* Colores por tipo */
.callout-info { border-color: #0085a1; background-color: #f0f7f9; }
.callout-info .callout-header { color: #0085a1; }

.callout-warning { border-color: #e7c000; background-color: #fffbe6; }
.callout-warning .callout-header { color: #856404; }

.callout-danger { border-color: #d9534f; background-color: #fdf7f7; }
.callout-danger .callout-header { color: #d9534f; }

/* Iconos automáticos (opcional) */
.callout-warning .callout-icon::before { content: "⚠️ "; }
.callout-info .callout-icon::before { content: "ℹ️ "; }
.callout-danger .callout-icon::before { content: "🛑 "; }

/* Forzar transparencia en todos los diagramas Mermaid */
.mermaid svg {
    background-color: transparent !important;
    background-image: none !important;
}

/* Si quieres que tenga el fondo blanco exacto de tu post */
.post-container .mermaid {
    background-color: #ffffff;
    border-radius: 8px;
    padding: 10px;
}

.post-attribution {
    margin-top: 50px;
    padding: 20px;
    background-color: #f9f9f9; /* Un gris muy tenue */
    border-radius: 5px;
    border-left: 3px solid #0085a1; /* El azul de tu tema */
    font-size: 0.85rem;
    color: #555;
    line-height: 1.6;
}

.post-attribution a {
    color: #0085a1;
    text-decoration: underline;
}

/* Contenedor principal de cada proyecto */
.project-item {
    margin-bottom: 40px;
}

/* Flexbox para alinear imagen y texto */
.project-flex-container {
    display: flex;
    gap: 25px;
    align-items: flex-start;
    margin-top: 15px;
}

/* Estilo de la imagen */
.project-image-container {
    flex: 0 0 250px; /* Ancho fijo para la miniatura */
}

.project-thumb {
    width: 100%;
    height: 160px;
    object-fit: cover; /* Recorta la imagen para que encaje sin deformarse */
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    transition: transform 0.3s ease;
}

.project-thumb:hover {
    transform: scale(1.03);
}

/* Ajuste del resumen */
.project-summary {
    flex: 1;
    font-size: 16px;
    line-height: 1.6;
    color: #404040;
}

/* Coherencia con el modo móvil */
@media (max-width: 768px) {
    .project-flex-container {
        flex-direction: column; /* Apila imagen sobre texto en celulares */
    }
    .project-image-container {
        flex: 0 0 auto;
        width: 100%;
    }
    .project-thumb {
        height: 200px;
    }
}