/* =========================================================================
 * BUYACÁ — Refinements v8.8.8 (frontend público)
 * Capa de override sobre v8.8.7. Idempotente. Respeta var(--bq-primary).
 * ========================================================================= */

/* -- 1. JERARQUÍA VISUAL: header siempre por encima de banners y tarjetas -- */
.buyaca-app .bq-app-header,
.buyaca-app .bq-products-header,
.buyaca-app #bq-brand-topbar,
.buyaca-app #bq-products-topbar {
    z-index: 500 !important;
    isolation: isolate;
}


/* Banners y tarjetas de filtrado se mantienen por DEBAJO del header */
.buyaca-app .bq-feat-banner,
.buyaca-app .bq-cat-banner,
.buyaca-app .bq-category-banner,
.buyaca-app .bq-filter-banner,
.buyaca-app [data-banner],
.buyaca-app .bq-cv2-product-card,
.buyaca-app .bq-pc-card,
.buyaca-app .bq-profile-card,
.buyaca-app .bq-product-card,
.buyaca-app .bq-featured-card-v2 {
    position: relative;
    z-index: 1;
}

/* Espaciado consistente header → contenido cuando se aplica un filtro */
.buyaca-app[data-filter-active="true"] .bq-cv2-product-grid,
.buyaca-app[data-filter-active="true"] .buyaca-catalog-grid,
.buyaca-app[data-filter-active="true"] .bq-products-grid,
.buyaca-app .bq-cv2-product-grid,
.buyaca-app .buyaca-catalog-grid {
    padding-top: 12px;
}

.buyaca-app .bq-app-header+*,
.buyaca-app .bq-products-header+* {
    margin-top: 8px;
}

/* scroll-margin para anclas: que el header sticky no tape la primera tarjeta */
.buyaca-app .bq-cv2-product-card,
.buyaca-app .bq-profile-card,
.buyaca-app .bq-product-card {
    scroll-margin-top: 96px;
}

/* [Purga] Secciones 2 (sombras — ya vacía tras el purgado global de shadows),
   3 (masonry) y 4 (estrellas .bq-feat-tag) de este bloque quedaban 100%
   pisadas por ui-refinements-v889.css (mismos selectores, carga después,
   con !important) — nunca llegaban a aplicarse. Confirmado comparando
   ambos archivos regla por regla antes de retirarlas. */

/* -- 5. [Purga v10.14] La pestaña "Campañas" ya no es un botón CTA especial
   ("Destacar") — es una pestaña unificada más del menú (ver business-profile.php).
   Este bloque forzaba texto negro (#000) y un icono dorado vía JS, rompiendo
   el contraste frente a Contenido/Estadísticas/Formularios. Se retira para que
   herede exactamente el mismo estilo (.bq-cv2-tab / .bq-cv2-tab--admin) que
   el resto de pestañas. -------------------------------------------------- */

/* -- 6. PIN MINIMALISTA: sin fondo, color primario ------------------------- */
.bq-dash-pin-btn,
.buyaca-app .bq-dash-pin-btn {
    background: transparent !important;
    border-color: transparent !important;
    color: var(--bq-text-secondary, #6B7280) !important;
}

.bq-dash-pin-btn:hover,
.buyaca-app .bq-dash-pin-btn:hover {
    background: transparent !important;
    color: var(--bq-primary, #3A59EF) !important;
    transform: scale(1.08);
    transition: all .15s ease;
}

.bq-dash-pin-btn.bq-pinned-active,
.buyaca-app .bq-dash-pin-btn.bq-pinned-active {
    background: transparent !important;
    border-color: transparent !important;
    color: var(--bq-primary, #3A59EF) !important;
}

.bq-dash-pin-btn.bq-pinned-active svg,
.buyaca-app .bq-dash-pin-btn.bq-pinned-active svg {
    fill: var(--bq-primary, #3A59EF) !important;
}

.bq-dash-pin-btn svg,
.buyaca-app .bq-dash-pin-btn svg {
    fill: currentColor !important;
    transition: fill .15s ease;
}

/* -- 7. CTAs en MODALES adoptan el color primario configurado -------------- */
/* Cubre los inline-styled modals que usan #3A59EF hardcoded */
.buyaca-app .bq-modal button[class*="primary"],
.buyaca-app [role="dialog"] button[class*="primary"],
.buyaca-app .buyaca-modal .buyaca-btn-primary,
.buyaca-app [data-modal] .buyaca-btn-primary,
.buyaca-app .bq-popup .buyaca-btn-primary,
body .bq-modal-cta,
body [data-bq-cta="primary"] {
    background: var(--bq-primary, #3A59EF) !important;
    border-color: var(--bq-primary, #3A59EF) !important;
    color: #fff !important;
}

.buyaca-app .bq-modal button[class*="primary"]:hover,
.buyaca-app [role="dialog"] button[class*="primary"]:hover,
.buyaca-app .buyaca-modal .buyaca-btn-primary:hover,
body .bq-modal-cta:hover {
    filter: brightness(0.92);
}

/* Los modales inline con color literal pueden ser sobreescritos vía JS — ver _js_block */

/* -- 8. SUBRAYADOS CENTRADOS en acciones del catálogo ---------------------
   [Purga rediseño] .bq-cv2-tab retirado de este grupo de selectores: el
   subrayado ::after quedaba dibujándose de más bajo el diseño de píldora
   blanca de business-profile-v2.css. El resto de clases (.buyaca-tab,
   [data-tab], etc., de otros componentes) no se tocan. */
.buyaca-app .buyaca-tab,
.buyaca-app [data-tab],
.buyaca-app .bq-cat-action,
.buyaca-app .bq-action-link {
    text-decoration: none !important;
    position: relative;
}

.buyaca-app .buyaca-tab.active::after,
.buyaca-app [data-tab].active::after {
    content: "";
    position: absolute;
    bottom: -2px;
    left: 50%;
    transform: translateX(-50%);
    width: 32px;
    height: 2px;
    background: var(--bq-primary, #3A59EF);
    border-radius: 2px;
    transition: width .25s ease;
}

/* -- 9. ICONOGRAFÍA al color primario en headers de sección y CTAs -------- */
.buyaca-app .buyaca-form-section-title svg [stroke],
.buyaca-app .buyaca-form-section-title svg {
    stroke: var(--bq-primary, #3A59EF) !important;
}

.buyaca-app .bq-section-icon,
.buyaca-app .bq-cta-icon,
.buyaca-app [data-bq-icon-primary] svg {
    color: var(--bq-primary, #3A59EF) !important;
}

.buyaca-app [data-bq-icon-primary] svg [stroke="currentColor"] {
    stroke: var(--bq-primary, #3A59EF) !important;
}

/* -- 10. REGISTRO POR PASOS — barra de progreso y layout limpio ----------- */
.buyaca-login-page .buyaca-login-box[data-bq-stepper="1"] {
    max-width: 460px;
    padding: 28px 26px 24px;
    border-radius: 18px;
    border: 1px solid rgba(15, 23, 42, 0.06);
    background: #ffffff;

}

.bq-reg-progress {
    display: flex;
    align-items: center;
    gap: 0;
    margin: 6px 0 18px;
    padding: 0 4px;
}

.bq-reg-progress__step {
    flex: 1;
    height: 4px;
    border-radius: 999px;
    background: #e5e7eb;
    transition: background .25s ease;
    position: relative;
}

.bq-reg-progress__step+.bq-reg-progress__step {
    margin-left: 6px;
}

.bq-reg-progress__step.is-active,
.bq-reg-progress__step.is-done {
    background: var(--bq-primary, #3A59EF);
}

.bq-reg-progress__label {
    display: flex;
    justify-content: space-between;
    font-size: 11px;
    font-weight: 700;
    color: var(--bq-text-secondary, #6B7280);
    margin-bottom: 6px;
    letter-spacing: 0.3px;
    text-transform: uppercase;
}

.bq-reg-progress__label span.is-active {
    color: var(--bq-primary, #3A59EF);
}

.bq-reg-step {
    display: none;
    animation: bqRegFade .25s ease both;
}

.bq-reg-step.is-active {
    display: block;
}

@keyframes bqRegFade {
    from {
        opacity: 0;
        transform: translateY(6px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.bq-reg-step .buyaca-form-group {
    margin-bottom: 14px;
}

.bq-reg-step__title {
    font-size: 16px;
    font-weight: 800;
    margin: 0 0 4px;
    color: #0f172a;
}

.bq-reg-step__sub {
    font-size: 13px;
    color: var(--bq-text-secondary, #6B7280);
    margin: 0 0 18px;
}

.bq-reg-nav {
    display: flex;
    gap: 10px;
    margin-top: 16px;
}

.bq-reg-nav button {
    flex: 1;
    padding: 12px 14px;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 700;
    border: none;
    cursor: pointer;
    transition: all .18s ease;
}

.bq-reg-nav .bq-reg-back {
    background: #f1f5f9;
    color: #0f172a;
}

.bq-reg-nav .bq-reg-back:hover {
    background: #e2e8f0;
}

.bq-reg-nav .bq-reg-next {
    background: var(--bq-primary, #3A59EF);
    color: #fff;
}

.bq-reg-nav .bq-reg-next:hover {
    filter: brightness(0.92);
}

.bq-reg-nav .bq-reg-next:disabled {
    background: #cbd5e1;
    cursor: not-allowed;
    filter: none;
}

.bq-reg-summary {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 14px;
    margin: 0 0 14px;
    font-size: 13px;
    line-height: 1.65;
}

.bq-reg-summary dt {
    font-weight: 700;
    color: #0f172a;
    display: inline-block;
    min-width: 86px;
}

.bq-reg-summary dd {
    display: inline;
    color: var(--bq-text-secondary, #6B7280);
    margin: 0;
}

.bq-reg-summary>div+div {
    margin-top: 6px;
}

/* Ocultar el botón original de registro en modo stepper — el flujo lo dispara JS */
.buyaca-login-box[data-bq-stepper="1"] #bq-do-register {
    display: none !important;
}

/* [Purga] Sección 11 "MODAL DE GEOLOCALIZACIÓN denegada (re-prompt)" —
   retirada por completo a pedido, junto con su JS (ui-refinements.js,
   window.BUYACA_Geo y el modal "Activa tu ubicación"). No queda ningún
   selector .bq-geo-reactivate-* ni .bq-geo-pulse* sin usar en el HTML. */

/* -- 12. ESPACIOS innecesarios eliminados ----------------------------------- */
.buyaca-app section+section {
    margin-top: 0;
}

.buyaca-app .bq-products-header+.bq-cv2-product-grid {
    padding-top: 4px;
}

.buyaca-app .bq-products-header+.buyaca-catalog-grid {
    padding-top: 4px;
}

/* Estado "filtros activos" — pequeña etiqueta, no roba espacio */
.buyaca-app .bq-filter-active-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    background: var(--bq-primary-soft, rgba(58, 89, 239, 0.08));
    color: var(--bq-primary, #3A59EF);
    border-radius: 999px;
    font-size: 11.5px;
    font-weight: 700;
    margin: 0 4px 0 0;
    border: 1px solid rgba(58, 89, 239, 0.2);
}

/* -- 13. RESPETO a temas oscuros existentes -------------------------------- */
.buyaca-app:not(.bq-light-mode) .buyaca-login-box[data-bq-stepper="1"] {
    background: #1a1a1f;
    border-color: rgba(255, 255, 255, 0.08);
}

.buyaca-app:not(.bq-light-mode) .bq-reg-step__title {
    color: #f8fafc;
}

.buyaca-app:not(.bq-light-mode) .bq-reg-summary {
    background: rgba(255, 255, 255, 0.04);
    border-color: rgba(255, 255, 255, 0.08);
    color: #cbd5e1;
}

.buyaca-app:not(.bq-light-mode) .bq-reg-summary dt {
    color: #f8fafc;
}

.buyaca-app:not(.bq-light-mode) .bq-reg-nav .bq-reg-back {
    background: rgba(255, 255, 255, 0.06);
    color: #f8fafc;
}

/* Fin v8.8.8 refinements */