/*
 * Estilos por defecto para el widget Añadir al carrito – Ideas Digitales.
 *
 * Este archivo define únicamente la estructura base y algunos comportamientos
 * genéricos. La mayoría de los estilos (colores, tamaños, sombras, etc.) se
 * ajustan mediante los controles de Elementor y se aplican a través de
 * selectores generados dinámicamente.
 */

.id-atc-wrapper {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 0; /* El espacio se controla mediante márgenes en los elementos hijos */
}

/* Alineaciones */
.id-atc-align-left {
    justify-content: flex-start;
}
.id-atc-align-center {
    justify-content: center;
}
.id-atc-align-right {
    justify-content: flex-end;
}
.id-atc-align-justify {
    justify-content: space-between;
}
.id-atc-align-justify .id-atc-btn {
    flex: 1 1 auto;
}

/* Cuadros laterales (+/−) */
.id-atc-box {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    user-select: none;
    transition: all 0.2s ease;
    box-sizing: border-box;
}

/* Etiqueta de cantidad */
.id-atc-qty {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-width: 1em;
    text-align: center;
    font-weight: bold;
    line-height: 1;
}

/* Botón de añadir al carrito */
.id-atc-btn {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    transition: all 0.2s ease;
    border-style: solid;
    box-sizing: border-box;
    white-space: nowrap;
}

/* Estado de confirmación: se añade la clase via JS para mantener consistencia visual */
.id-atc-btn.is-confirming {
    pointer-events: none;
    opacity: 0.9;
}

/* ==== Flex shrink + min-width fixes (allow widths < 319px) ==== */
.id-atc-wrapper{
  min-width: 0; /* permite que el contenedor se reduzca dentro de grids/columns */
}
.id-atc-wrapper > *{
  min-width: 0; /* permite que los hijos puedan encogerse */
}

/* En viewports estrechos permitimos wrap y evitamos que el texto bloquee el ancho */
@media (max-width: 600px){
  .id-atc-wrapper{
    flex-wrap: wrap;
    gap: 8px;
  }
  .id-atc-btn{
    min-width: 0;
    white-space: normal;   /* ya no obligamos una sola línea */
    word-break: break-word;
    padding: 10px 14px;
    flex: 1 0 100%;        /* baja a segunda línea si no cabe */
    box-sizing: border-box;
  }
  /* Botones +/- más compactos por defecto */
  .id-atc-box{
    width: 34px;
    height: 34px;
    font-size: 16px;
    flex: 0 0 auto;
  }
  .id-atc-qty{
    font-size: 16px;
  }
}
