/* Estilos personalizados para selector de idioma con banderas SVG */

/* Selector de idioma personalizado */
.md-header .md-select {
  position: relative;
  display: inline-block;
}

/* Ocultar el selector de idioma por defecto y crear uno personalizado */
.md-header__option .md-select__inner {
  display: none;
}

/* Crear selector personalizado con banderas */
.language-selector {
  display: flex;
  gap: 0.5rem;
  align-items: center;
  margin-left: 1rem;
}

.language-selector a {
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.5rem;
  border-radius: 0.25rem;
  transition: all 0.2s ease;
  text-decoration: none;
  font-weight: 500;
  color: var(--md-primary-bg-color);
  gap: 0.25rem;
}

.language-selector a:hover {
  background-color: rgba(255, 255, 255, 0.1);
  transform: translateY(-1px);
}

.language-selector a.active {
  background-color: rgba(255, 255, 255, 0.2);
  font-weight: 600;
}

/* Iconos de banderas */
.flag-icon {
  width: 20px;
  height: 14px;
  border-radius: 2px;
  box-shadow: 0 1px 2px rgba(0,0,0,0.2);
}

.flag-us {
  background: linear-gradient(to bottom, 
    #B22234 0%, #B22234 7.7%, 
    white 7.7%, white 15.4%, 
    #B22234 15.4%, #B22234 23.1%, 
    white 23.1%, white 30.8%, 
    #B22234 30.8%, #B22234 38.5%, 
    white 38.5%, white 46.2%, 
    #B22234 46.2%, #B22234 53.9%, 
    white 53.9%, white 61.6%, 
    #B22234 61.6%, #B22234 69.3%, 
    white 69.3%, white 77%, 
    #B22234 77%, #B22234 84.7%, 
    white 84.7%, white 92.4%, 
    #B22234 92.4%);
  position: relative;
}

.flag-us::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 40%;
  height: 53.8%;
  background: #3C3B6E;
}

.flag-mx {
  background: linear-gradient(to right, 
    #006847 0%, #006847 33.33%, 
    white 33.33%, white 66.66%, 
    #CE1126 66.66%);
  position: relative;
}

.flag-mx::before {
  content: '🦅';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 8px;
  opacity: 0.7;
}

/* Responsive */
@media screen and (max-width: 768px) {
  .language-selector a span {
    display: none;
  }
  
  .language-selector a {
    padding: 0.25rem;
  }
  
  .flag-icon {
    width: 24px;
    height: 16px;
  }
}

/* Integración con el header de Material */
.md-header__inner {
  display: flex;
  align-items: center;
}

.md-header__option:last-child::after {
  content: '';
  display: flex;
  align-items: center;
  margin-left: 1rem;
}

/* Estilos para diagramas Mermaid */
.mermaid {
  text-align: center;
  margin: 2rem 0;
  background: #fafafa;
  border-radius: 8px;
  padding: 1rem;
  border: 1px solid #e0e0e0;
  overflow-x: auto;
}

/* Tema oscuro para Mermaid */
[data-md-color-scheme="slate"] .mermaid {
  background: #2d2d2d;
  border-color: #404040;
}

/* Responsive para diagramas */
@media screen and (max-width: 768px) {
  .mermaid {
    font-size: 12px;
    padding: 0.5rem;
  }
}

/* Mejorar legibilidad de texto en diagramas */
.mermaid .node rect,
.mermaid .node circle,
.mermaid .node ellipse,
.mermaid .node polygon {
  stroke-width: 2px;
}

.mermaid .edgePath .path {
  stroke-width: 2px;
}