.loader__contener {
  display: flex;
  justify-content: center;
  margin-top: 2em;
}
.page {
    position: relative; /* ya lo tienes */
    z-index: 1;         /* contenido principal sobre la marca */
}

.watermark {
    display: none !important;   /* 👈 el !important se asegura de que no se sobreescriba */
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 600px;
    height: 600px;
    background-image: url('../images/colpinones.png');
    background-size: contain;
    background-repeat: no-repeat;
    opacity: 0.1;
    pointer-events: none;
    z-index: 0;
}



#resultados {
    display: flex;
    gap: 20px;
    align-items: stretch; /* hace que hijos tengan la misma altura */
    margin-top: 20px;
}

.watermark-pdf {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 600px;
    height: 600px;
    background-image: url('../images/colpinones.png');
    background-size: contain;
    background-repeat: no-repeat;
    opacity: 0.1;
    pointer-events: none;
    z-index: 0; /* detrás de todo */
}

#resultados > div {
    display: flex;
    flex-direction: column;
}

.loader {
  display: block;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  position: relative;
  animation: rotate 1s linear infinite
}
.loader::before {
  content: "";
  box-sizing: border-box;
  position: absolute;
  inset: 0px;
  border-radius: 50%;
  border: 5px solid #007bff;
  animation: prixClipFix 2s linear infinite ;
}

@keyframes rotate {
  100%   {transform: rotate(360deg)}
}

@keyframes prixClipFix {
    0%   {clip-path:polygon(50% 50%,0 0,0 0,0 0,0 0,0 0)}
    25%  {clip-path:polygon(50% 50%,0 0,100% 0,100% 0,100% 0,100% 0)}
    50%  {clip-path:polygon(50% 50%,0 0,100% 0,100% 100%,100% 100%,100% 100%)}
    75%  {clip-path:polygon(50% 50%,0 0,100% 0,100% 100%,0 100%,0 100%)}
    100% {clip-path:polygon(50% 50%,0 0,100% 0,100% 100%,0 100%,0 0)}
}

#tabla_datos {
  padding: 1em 2em;
}

.image_content {
  padding-top: 1em;
}
.plano-container {
  display: grid;
  grid-template-rows: auto auto;   /* alto dinámico */
  gap: 20px;                       /* separación entre columnas/filas */
  border: 2px solid black;
  width: 100%;
}

table{
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 20px;
}
th, td{
  border: 1px solid black;
  padding: 8px;
  text-align: left;
}

.tabla-parametros {
  border: 1px solid black;
  border-collapse: collapse;
  width: 100%;
  height: 100%;
}

.tabla-parametros td, 
.tabla-parametros th {
  border: 1px solid black;
  text-align: center;
  padding: 5px;
}

.vista-previa {
  grid-column: 2;
  grid-row: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

#canvasPlano {
    border: 1px solid #000;
    width: 700px;   /* ancho fijo */
    height: 400px;  /* altura proporcional al ancho, más grande para ver detalles */
    display: block;
    margin: 0 auto; /* centrado */
}

.plano-container > .cartucho {
  grid-column: 1 / -1; /*  esto obliga al cartucho a ocupar toda la fila */
  margin-top: 20px;
  border-top: 2px solid black;
}
.cartucho {
  margin-top: 20px; /* separación con el cuadro de arriba */
}

.cartucho table {
  width: 100%;
  border-collapse: collapse;
}

.cartucho td {
  border: 1px solid black;
  padding: 4px;
  font-size: 12px;
}

