/* ═══════════════════════════════════════════════════════════════════════════
   FACTO — Estilos propios de los campos de facturación en checkout
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Variables ───────────────────────────────────────────────────────────── */
:root {
    --facto-radius:   .625rem;
    --facto-border:   #e2e5ea;
    --facto-focus:    #4f46e5;
    --facto-focus-sh: rgba(79,70,229,.15);
    --facto-label:    #374151;
    --facto-text:     #111827;
    --facto-muted:    #6b7280;
    --facto-bg:       #f3f4f6;
    --facto-white:    #ffffff;
    --facto-shadow:   0 1px 3px rgba(0,0,0,.06), 0 4px 12px rgba(0,0,0,.05);
}

/* ═══════════════════════════════════════════════════════════════════════════
   SECCIÓN FACTO — campos de facturación (tipo doc., tax id, razón social...)
   ═══════════════════════════════════════════════════════════════════════════ */

/* Separador + título de la subsección Facto */
.facto-section-divider {
    border: none;
    border-top: 1.5px solid var(--facto-border);
    margin: 1.1rem 0 1rem;
}

.facto-section-title {
    font-size: .8rem !important;
    font-weight: 700 !important;
    color: var(--facto-muted) !important;
    text-transform: uppercase;
    letter-spacing: .06em;
    margin: 0 0 .85rem !important;
    display: flex;
    align-items: center;
    gap: .4rem;
}

/* Labels Facto */
.facto-checkout-fields .form-label {
    font-size: .8rem;
    font-weight: 600;
    color: var(--facto-label);
    margin-bottom: .3rem;
    display: block;
    letter-spacing: .01em;
}

/* Inputs y selects Facto */
.facto-checkout-fields .form-control,
.facto-checkout-fields .form-select {
    border: 1.5px solid var(--facto-border);
    border-radius: var(--facto-radius);
    padding: .55rem .85rem;
    font-size: .925rem;
    color: var(--facto-text);
    background-color: var(--facto-white);
    width: 100%;
    box-sizing: border-box;
    box-shadow: none;
    transition: border-color .15s ease, box-shadow .15s ease;
    line-height: 1.5;
}

.facto-checkout-fields .form-control:focus,
.facto-checkout-fields .form-select:focus {
    border-color: var(--facto-focus);
    box-shadow: 0 0 0 3px var(--facto-focus-sh);
    outline: 0;
}

.facto-checkout-fields .form-control::placeholder {
    color: #9ca3af;
    font-size: .875rem;
}

.facto-checkout-fields .form-select {
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%236b7280' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right .75rem center;
    background-size: 14px;
    padding-right: 2.25rem;
}

.facto-checkout-fields .mb-3 { margin-bottom: .9rem !important; }
.facto-checkout-fields .mb-0 { margin-bottom: 0 !important; }

/* ── Página "Pedido recibido": mensaje + botón de documento ─────────────── */
.facto-thankyou-doc {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .6rem;
    margin-top: 1rem;
    padding: .85rem 1.1rem;
    background: #f0fdf4;
    border: 1.5px solid #86efac;
    border-radius: var(--facto-radius);
    font-size: .9rem;
    color: #166534;
    font-weight: 500;
}

.facto-doc-btn {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .4rem 1rem;
    background: #16a34a;
    color: #fff !important;
    border-radius: var(--facto-radius);
    font-size: .85rem;
    font-weight: 600;
    text-decoration: none !important;
    transition: background .15s ease, transform .1s ease;
    white-space: nowrap;
}

.facto-doc-btn::before {
    content: '↗';
    font-size: .8rem;
}

.facto-doc-btn:hover {
    background: #15803d;
    transform: translateY(-1px);
    color: #fff !important;
}

/* ── Aviso de simulación ─────────────────────────────────────────────────── */
#facto-simulation-notice {
    border-radius: var(--facto-radius);
    font-size: .85rem;
    margin-bottom: 1rem;
    border: 1.5px solid #fbbf24 !important;
    background-color: #fffbeb !important;
    color: #92400e !important;
    padding: .7rem 1rem !important;
}

/* ── Nota de país bloqueado ──────────────────────────────────────────────── */
#facto-country-note {
    font-size: .78rem;
    color: var(--facto-muted);
    margin-top: .25rem;
    display: block;
}
