/* =============================================================================
   woobiavi-pdf-public.css
   Estilos del botón y micro-loader del plugin Woobiavi PDF.
   Diseño: minimalista VTEX, monocromático #222222
   ============================================================================= */

/* ── Variables ─────────────────────────────────────────────────────────────── */
.woobiavi-pdf-wrapper {
    --wpdf-primary:     #222222;
    --wpdf-primary-inv: #ffffff;
    --wpdf-accent:      #c0392b;
    --wpdf-radius:      4px;
    --wpdf-transition:  200ms ease;
    display:            inline-block;
    position:           relative;
}

/* ── Botón Principal ────────────────────────────────────────────────────────── */
.woobiavi-pdf-btn {
    display:         inline-flex;
    align-items:     center;
    justify-content: center;
    gap:             8px;
    padding:         10px 22px;
    background:      var(--wpdf-primary);
    color:           var(--wpdf-primary-inv);
    border:          1.5px solid var(--wpdf-primary);
    border-radius:   var(--wpdf-radius);
    font-family:     inherit;
    font-size:       13px;
    font-weight:     600;
    letter-spacing:  0.5px;
    cursor:          pointer;
    text-transform:  uppercase;
    line-height:     1;
    text-decoration: none;
    transition:
        background    var(--wpdf-transition),
        color         var(--wpdf-transition),
        border-color  var(--wpdf-transition),
        box-shadow    var(--wpdf-transition);
    user-select:     none;
    outline:         none;
    position:        relative;
    overflow:        hidden;
}

/* Ícono SVG interno */
.woobiavi-pdf-btn svg {
    flex-shrink: 0;
    width:       16px;
    height:      16px;
    stroke:      currentColor;
    fill:        none;
    stroke-width: 2;
    transition:  stroke var(--wpdf-transition);
}

/* ── Hover ──────────────────────────────────────────────────────────────────── */
.woobiavi-pdf-btn:hover,
.woobiavi-pdf-btn:focus-visible {
    background:   var(--wpdf-primary-inv);
    color:        var(--wpdf-primary);
    border-color: var(--wpdf-primary);
    box-shadow:   0 2px 8px rgba(34, 34, 34, 0.18);
    outline:      none;
}

/* ── Active / Press ─────────────────────────────────────────────────────────── */
.woobiavi-pdf-btn:active {
    transform:  scale(0.98);
    box-shadow: none;
}

/* ── Estado: Cargando ───────────────────────────────────────────────────────── */
.woobiavi-pdf-btn.woobiavi-pdf-loading {
    cursor:      not-allowed;
    opacity:     0.85;
    pointer-events: none;
}

.woobiavi-pdf-btn:disabled {
    cursor:      not-allowed;
    opacity:     0.75;
}

/* ── Spinner (micro-loader CSS puro) ────────────────────────────────────────── */
.woobiavi-pdf-spinner {
    display:     inline-block;
    width:       14px;
    height:      14px;
    border:      2px solid rgba(255, 255, 255, 0.35);
    border-top-color: currentColor;
    border-radius:    50%;
    animation:   woobiavi-spin 0.65s linear infinite;
    flex-shrink: 0;
}

@keyframes woobiavi-spin {
    to { transform: rotate(360deg); }
}

/* Spinner en hover (fondo claro → color oscuro) */
.woobiavi-pdf-btn:hover .woobiavi-pdf-spinner,
.woobiavi-pdf-btn:focus-visible .woobiavi-pdf-spinner {
    border-color:     rgba(34, 34, 34, 0.25);
    border-top-color: var(--wpdf-primary);
}

/* ── Variante: Outline ──────────────────────────────────────────────────────── */
.woobiavi-pdf-btn.is-outline {
    background:  transparent;
    color:       var(--wpdf-primary);
}

.woobiavi-pdf-btn.is-outline:hover {
    background:  var(--wpdf-primary);
    color:       var(--wpdf-primary-inv);
}

/* ── Mensaje de Error ───────────────────────────────────────────────────────── */
.woobiavi-pdf-error {
    display:       block;
    margin-top:    8px;
    font-size:     12px;
    color:         var(--wpdf-accent);
    font-style:    italic;
    animation:     woobiavi-fade-in 0.3s ease;
}

@keyframes woobiavi-fade-in {
    from { opacity: 0; transform: translateY(-4px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* ── Alineaciones del Wrapper ───────────────────────────────────────────────── */
.woobiavi-pdf-wrapper.align-left    { text-align: left; }
.woobiavi-pdf-wrapper.align-center  { text-align: center; }
.woobiavi-pdf-wrapper.align-right   { text-align: right; }

/* ── Ancho Completo ──────────────────────────────────────────────────────────── */
.woobiavi-pdf-wrapper.full-width {
    width: 100%;
    display: block;
}
.woobiavi-pdf-wrapper.full-width .woobiavi-pdf-btn {
    width: 100%;
    display: flex;
    justify-content: center;
}

/* ── Íconos de Elementor ─────────────────────────────────────────────────────── */
.woobiavi-pdf-btn-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}
.woobiavi-pdf-btn-icon i {
    font-size: 1.1em;
}
.woobiavi-pdf-btn .elementor-align-icon-left {
    margin-right: 8px;
}
.woobiavi-pdf-btn .elementor-align-icon-right {
    margin-left: 8px;
}
