/* ================================================
   CORPORATE - B2B Template
   Empresarial, azul corporativo, profesional
   ================================================ */

:root {
    --corp-blue: #1a56db;
    --corp-blue-light: #e1effe;
    --corp-blue-dark: #1340a8;
    --corp-navy: #1e293b;
    --corp-text: #1e293b;
    --corp-text-secondary: #64748b;
    --corp-text-muted: #94a3b8;
    --corp-bg: #f1f5f9;
    --corp-card: #ffffff;
    --corp-border: #e2e8f0;
    --corp-border-hover: #cbd5e1;
}

/* Fondo general */
body {
    background: var(--corp-bg) !important;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
}

/* Header: azul navy (especificidad alta para ganar sobre inline styles) */
#menu.ui.menu {
    background: var(--corp-navy) !important;
    box-shadow: none !important;
    border-bottom: none !important;
}
#menu.ui.menu .header-nav-item,
#menu.ui.menu .header-nav-item.item {
    color: rgba(255,255,255,0.7) !important;
}
#menu.ui.menu .header-nav-item:hover,
#menu.ui.menu .header-nav-item.item:hover {
    color: #fff !important;
}
#menu.ui.menu .header-nav-item.active,
#menu.ui.menu .active.header-nav-item {
    color: #fff !important;
    font-weight: 600 !important;
}
#menu.ui.menu .header-nav-item.active::after {
    background: var(--corp-blue) !important;
    height: 3px !important;
    box-shadow: none !important;
}
#menu.ui.menu .search-container input {
    background: rgba(255,255,255,0.1) !important;
    border: 1px solid rgba(255,255,255,0.15) !important;
    color: #fff !important;
}
#menu.ui.menu .search-container input::placeholder { color: rgba(255,255,255,0.5) !important; }
#menu.ui.menu .search-container input:focus {
    background: rgba(255,255,255,0.15) !important;
    border-color: var(--corp-blue) !important;
}
#menu.ui.menu .search-container .ui.left.icon.input > i.icon { color: rgba(255,255,255,0.4) !important; }
/* Íconos mobile: hamburguesa, luna, lupa, carrito */
#menu.ui.menu .item i.icon { color: rgba(255,255,255,0.8) !important; }
#menu.ui.menu .item .theme-toggle i.icon { color: rgba(255,255,255,0.8) !important; }
#menu.ui.menu #mobile-menu-toggle i.icon { color: rgba(255,255,255,0.8) !important; }
#menu.ui.menu .search.item i.icon { color: rgba(255,255,255,0.8) !important; }
.header-cart-icon {
    background: var(--corp-blue) !important;
}
.header-cart-icon:hover { background: var(--corp-blue-dark) !important; }
.header-user-avatar { background: var(--corp-blue) !important; }
.header-user-name { color: #fff !important; }
.header-user-role { color: rgba(255,255,255,0.6) !important; }
.header-user-dropdown { border-left-color: rgba(255,255,255,0.1) !important; }

/* Autocomplete */
.autocomplete-results { background: var(--corp-card) !important; border-color: var(--corp-border) !important; }
.autocomplete-item:hover { background: var(--corp-blue-light) !important; }
.autocomplete-view-all { color: var(--corp-blue) !important; }

/* Grid: separated cards with individual spacing */
.productos-grid {
    gap: 12px !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
}

/* Cards */
.producto-card {
    background: var(--corp-card) !important;
    border: 1px solid var(--corp-border) !important;
    border-radius: 4px !important;
    box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important;
}
.producto-card:hover {
    border-color: var(--corp-blue) !important;
    box-shadow: 0 1px 3px rgba(26,86,219,0.12) !important;
    transform: none !important;
}
.producto-imagen { border-radius: 4px 4px 0 0 !important; background: #f8fafc !important; }
.producto-content { background: var(--corp-card) !important; }
.producto-nombre { color: var(--corp-text) !important; font-weight: 600 !important; font-size: 14px !important; }
.producto-categoria { color: var(--corp-text-secondary) !important; font-size: 11px !important; text-transform: uppercase !important; letter-spacing: 0.5px !important; }
.precio-actual { color: var(--corp-text) !important; font-weight: 700 !important; }
.precio-desc { color: var(--corp-text-muted) !important; }

/* Botones: azul corporativo */
.btn-agregar.activo {
    background: var(--corp-blue) !important;
    color: #fff !important;
    border-radius: 4px !important;
}
.btn-agregar.activo:hover { background: var(--corp-blue-dark) !important; }
.btn-agregar-mini.activo { background: var(--corp-blue) !important; color: #fff !important; }

/* Stock */
.stock-disponible { background: #dcfce7 !important; color: #166534 !important; border-radius: 4px !important; }
.stock-bajo { background: #fef3c7 !important; color: #92400e !important; border-radius: 4px !important; }

/* Qty */
.producto-qty-selector { border-color: var(--corp-border) !important; border-radius: 4px !important; }
.producto-qty-btn { background: #f8fafc !important; color: var(--corp-text) !important; }
.producto-qty-btn:hover { background: var(--corp-blue-light) !important; }

/* Lista */
.productos-lista { background: transparent !important; box-shadow: none !important; border: none !important; }
.producto-item {
    background: var(--corp-card) !important;
    border: 1px solid var(--corp-border) !important;
    border-radius: 4px !important;
    box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important;
    margin-bottom: 8px !important;
}
.producto-item:hover { border-color: var(--corp-blue) !important; }
.producto-item-nombre { color: var(--corp-text) !important; }
.producto-item-meta { color: var(--corp-text-secondary) !important; }
.producto-item-imagen { background: #f8fafc !important; }

/* Filtros */
.menu-filtros { background: var(--corp-card) !important; border: 1px solid var(--corp-border) !important; border-radius: 4px !important; }
.mobile-filter-trigger { background: var(--corp-card) !important; border: 1px solid var(--corp-border) !important; border-radius: 4px !important; color: var(--corp-text) !important; }
.active-filters-container { background: var(--corp-card) !important; border-color: var(--corp-border) !important; }
.filter-chip { background: var(--corp-blue-light) !important; border-color: #bfdbfe !important; color: var(--corp-blue) !important; }

/* View toggle */
.view_type .button { background: var(--corp-card) !important; border: 1px solid var(--corp-border) !important; }
.view_type .button.primary { background: var(--corp-blue) !important; color: #fff !important; border-color: var(--corp-blue) !important; }

/* Paginación */
.ui.pagination.menu { border: 1px solid var(--corp-border) !important; border-radius: 4px !important; box-shadow: none !important; }
.ui.pagination.menu .active.item { background: var(--corp-blue) !important; color: #fff !important; }

/* Carrito */
.cart-items-card, .carrito-section-card, .cart-summary-card {
    border: 1px solid var(--corp-border) !important;
    border-radius: 4px !important;
    box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important;
}
.cart-summary-btn--primary { background: var(--corp-blue) !important; color: #fff !important; border-radius: 4px !important; }
.cart-summary-btn--primary:hover { background: var(--corp-blue-dark) !important; }
.cart-summary-btn--secondary { border: 1px solid var(--corp-border) !important; border-radius: 4px !important; }
.metodo-pago-btn { border: 1px solid var(--corp-border) !important; border-radius: 4px !important; }
.metodo-pago-btn.active { border-color: var(--corp-blue) !important; background: var(--corp-blue-light) !important; }

/* Home */
.home-carousel-section { background: var(--corp-card) !important; border: 1px solid var(--corp-border) !important; border-radius: 4px !important; }
.home-cat-card { background: var(--corp-card) !important; border: 1px solid var(--corp-border) !important; }
.home-cat-card:hover { border-color: var(--corp-blue) !important; }
.home-marca-card { background: var(--corp-card) !important; border: 1px solid var(--corp-border) !important; }

/* Footer: navy */
.b2b-footer { background: var(--corp-navy) !important; border-top: none !important; }
.b2b-footer-title { color: #fff !important; }
.b2b-footer-links a { color: rgba(255,255,255,0.6) !important; }
.b2b-footer-links a:hover { color: #fff !important; }
.b2b-footer-contact-item { color: rgba(255,255,255,0.6) !important; }
.b2b-footer-divider { background: rgba(255,255,255,0.1) !important; }
.b2b-footer-bottom p { color: rgba(255,255,255,0.4) !important; }
.b2b-payment-icon { background: rgba(255,255,255,0.1) !important; border-color: rgba(255,255,255,0.15) !important; color: rgba(255,255,255,0.6) !important; }

/* Mobile sidebar */
.mobile-sidebar { background: var(--corp-card) !important; }
.mobile-sidebar-header { border-bottom-color: var(--corp-border) !important; }
.mobile-sidebar-item:hover { background: var(--corp-blue-light) !important; color: var(--corp-blue) !important; }

/* Semantic UI */
.ui.selection.dropdown { border-color: var(--corp-border) !important; border-radius: 4px !important; }
.ui.table thead th { background: var(--corp-bg) !important; color: var(--corp-text-secondary) !important; text-transform: uppercase !important; font-size: 11px !important; letter-spacing: 0.5px !important; }
.ui.button { border-radius: 4px !important; }
.ui.primary.button { background: var(--corp-blue) !important; }

/* PDP */
.pdp__buy-box { background: var(--corp-bg) !important; border-radius: 4px !important; }
.pdp__variant-block { background: var(--corp-bg) !important; border-color: var(--corp-border) !important; }

/* Headings */
h1, h2, h3, h4, h5 { color: var(--corp-text) !important; }

/* Grid cards: compact qty + button (todas las resoluciones para ganar sobre base inline) */
.productos-grid .producto-card .producto-qty-row {
    gap: 4px !important;
    padding: 0 8px 8px !important;
}
.productos-grid .producto-card .producto-qty-selector {
    height: 36px !important;
    border-radius: 4px !important;
}
.productos-grid .producto-card .producto-qty-btn {
    width: 28px !important;
    height: 36px !important;
    font-size: 14px !important;
}
.productos-grid .producto-card .producto-qty-input {
    width: 32px !important;
    font-size: 13px !important;
}
.productos-grid .producto-card .btn-agregar {
    min-height: 36px !important;
    padding: 8px !important;
    font-size: 12px !important;
    border-radius: 4px !important;
}
.productos-grid .producto-card .btn-agregar span.texto {
    display: none !important;
}

/* Mobile */
@media (max-width: 768px) {
    .producto-meta { display: none !important; }
    .producto-categoria { display: none !important; }
}

/* Dark mode: todo se invierte */
body.dark-mode { background: #0f172a !important; }
body.dark-mode .producto-card, body.dark-mode .producto-item, body.dark-mode .cart-items-card,
body.dark-mode .cart-summary-card, body.dark-mode .carrito-section-card, body.dark-mode .home-carousel-section,
body.dark-mode .home-cat-card, body.dark-mode .home-marca-card, body.dark-mode .menu-filtros,
body.dark-mode .mobile-filter-trigger, body.dark-mode .active-filters-container {
    background: #1e293b !important;
    border-color: #334155 !important;
}
body.dark-mode .producto-nombre, body.dark-mode .producto-item-nombre, body.dark-mode .cart-item-name,
body.dark-mode h1, body.dark-mode h2, body.dark-mode h3, body.dark-mode h4, body.dark-mode h5 { color: #e2e8f0 !important; }
body.dark-mode .producto-categoria, body.dark-mode .producto-item-meta { color: #94a3b8 !important; }
body.dark-mode .precio-actual { color: #e2e8f0 !important; }
body.dark-mode .producto-imagen, body.dark-mode .producto-item-imagen { background: #1a2332 !important; }
body.dark-mode .producto-content { background: #1e293b !important; }
body.dark-mode .producto-qty-selector { border-color: #334155 !important; }
body.dark-mode .producto-qty-btn { background: #1a2332 !important; color: #e2e8f0 !important; }
body.dark-mode .producto-qty-input { background: #1e293b !important; color: #e2e8f0 !important; }
body.dark-mode .ui.table { background: #1e293b !important; color: #e2e8f0 !important; }
body.dark-mode .ui.table thead th { background: #172033 !important; color: #94a3b8 !important; }

/* Dark mode: header corporate */
body.dark-mode #menu { background: #0f172a !important; }
body.dark-mode #menu .header-nav-item { color: rgba(255,255,255,0.6) !important; }
body.dark-mode #menu .header-nav-item.active { color: #fff !important; }
body.dark-mode #menu .search-container input { background: #1e293b !important; border-color: #334155 !important; color: #e2e8f0 !important; }
body.dark-mode .header-user-name { color: #e2e8f0 !important; }
body.dark-mode .header-user-role { color: #94a3b8 !important; }

/* Dark mode: dropdown menus */
body.dark-mode .ui.dropdown .menu {
    background: #1e293b !important;
    border-color: #334155 !important;
    box-shadow: 0 4px 16px rgba(0,0,0,0.4) !important;
}
body.dark-mode .ui.dropdown .menu .item {
    color: #e2e8f0 !important;
    border-top-color: #334155 !important;
}
body.dark-mode .ui.dropdown .menu .item:hover {
    background: #334155 !important;
}
body.dark-mode .ui.dropdown .menu .divider {
    border-top-color: #334155 !important;
}
body.dark-mode .ui.selection.dropdown {
    background: #1e293b !important;
    border-color: #334155 !important;
    color: #e2e8f0 !important;
}
body.dark-mode .ui.selection.dropdown .menu {
    background: #1e293b !important;
    border-color: #334155 !important;
}
body.dark-mode .ui.selection.dropdown .menu > .item {
    color: #e2e8f0 !important;
    border-top-color: #334155 !important;
}
body.dark-mode .ui.selection.dropdown .menu > .item:hover {
    background: #334155 !important;
}
body.dark-mode .ui.selection.dropdown > .text { color: #e2e8f0 !important; }

/* Dark mode: buttons corporate */
body.dark-mode .btn-agregar.activo { background: var(--corp-blue) !important; }
body.dark-mode .btn-agregar-mini.activo { background: var(--corp-blue) !important; }
body.dark-mode .cart-summary-btn--primary { background: var(--corp-blue) !important; }

/* Dark mode: footer corporate */
body.dark-mode .b2b-footer { background: #0f172a !important; }
body.dark-mode .b2b-footer-title { color: #e2e8f0 !important; }
body.dark-mode .b2b-footer-links a { color: #94a3b8 !important; }

/* Dark mode: mobile sidebar */
body.dark-mode .mobile-sidebar { background: #1e293b !important; }
body.dark-mode .mobile-sidebar-header { background: #172033 !important; border-bottom-color: #334155 !important; }
body.dark-mode .mobile-sidebar-name { color: #e2e8f0 !important; }
body.dark-mode .mobile-sidebar-item { color: #94a3b8 !important; }
body.dark-mode .mobile-sidebar-item:hover { background: #334155 !important; color: #e2e8f0 !important; }
body.dark-mode .mobile-sidebar-divider { background: #334155 !important; }

/* Dark mode: filter chips */
body.dark-mode .filter-chip { background: #1e293b !important; border-color: #334155 !important; color: #e2e8f0 !important; }

/* Dark mode: autocomplete */
body.dark-mode .autocomplete-results { background: #1e293b !important; border-color: #334155 !important; }
body.dark-mode .autocomplete-item:hover { background: #334155 !important; }
body.dark-mode .autocomplete-item-name { color: #e2e8f0 !important; }
body.dark-mode .autocomplete-view-all { background: #172033 !important; color: var(--corp-blue) !important; }

/* ================================================
   PDP (Product Detail Page) - Corporate Style
   ================================================ */

/* Layout */
.pdp {
    background: var(--corp-bg) !important;
}
.pdp__main {
    background: var(--corp-card) !important;
    border: 1px solid var(--corp-border) !important;
    border-radius: 4px !important;
    box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important;
}

/* Breadcrumb */
.pdp__breadcrumb {
    color: var(--corp-text-muted) !important;
    font-size: 12px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.3px !important;
    border-bottom: 1px solid var(--corp-border) !important;
    padding-bottom: 10px !important;
}
.pdp__breadcrumb a {
    color: var(--corp-text-secondary) !important;
}
.pdp__breadcrumb a:hover {
    color: var(--corp-blue) !important;
}

/* Gallery */
.pdp__gallery {
    background: #f8fafc !important;
    border-radius: 4px !important;
}
.pdp__gallery img {
    border-radius: 4px !important;
}
.pdp__gallery-thumbs img {
    border: 1px solid var(--corp-border) !important;
    border-radius: 4px !important;
}
.pdp__gallery-thumbs img:hover,
.pdp__gallery-thumbs img.active {
    border-color: var(--corp-blue) !important;
}

/* Thumbnails */
.pdp__thumb {
    border: 1px solid var(--corp-border) !important;
    border-radius: 4px !important;
    overflow: hidden;
}
.pdp__thumb:hover,
.pdp__thumb--active {
    border-color: var(--corp-blue) !important;
}

/* Info */
.pdp__info {
    padding: 24px 28px !important;
}
.pdp__title {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: var(--corp-text) !important;
    line-height: 1.3 !important;
}
.pdp__codes {
    color: var(--corp-text-muted) !important;
    font-size: 11px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

/* Price */
.pdp__price {
    font-size: 26px !important;
    font-weight: 700 !important;
    color: var(--corp-text) !important;
}
.pdp__price-old {
    color: var(--corp-text-muted) !important;
    text-decoration: line-through !important;
}

/* Stock */
.pdp__stock {
    font-size: 12px !important;
    color: var(--corp-text-secondary) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.3px !important;
}

/* Buy box */
.pdp__buy-box {
    background: var(--corp-bg) !important;
    border: 1px solid var(--corp-border) !important;
    border-radius: 4px !important;
    padding: 20px !important;
}

/* Buy button */
.pdp__buy-btn {
    background: var(--corp-blue) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 4px !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    padding: 12px 28px !important;
    cursor: pointer !important;
    transition: background 0.2s !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}
.pdp__buy-btn:hover {
    background: var(--corp-blue-dark) !important;
}
.pdp__buy-btn:disabled {
    background: var(--corp-border) !important;
    color: var(--corp-text-muted) !important;
    cursor: not-allowed !important;
}

/* Qty selector */
.pdp__qty-selector {
    border: 1px solid var(--corp-border) !important;
    border-radius: 4px !important;
}
.pdp__qty-selector .producto-qty-btn {
    background: #f8fafc !important;
    color: var(--corp-text) !important;
}
.pdp__qty-selector .producto-qty-btn:hover {
    background: var(--corp-blue-light) !important;
}
.pdp__qty-selector .producto-qty-input,
.pdp__qty-input {
    background: var(--corp-card) !important;
    color: var(--corp-text) !important;
    border-color: var(--corp-border) !important;
}

/* Variant blocks */
.pdp__variant-block {
    background: var(--corp-bg) !important;
    border: 1px solid var(--corp-border) !important;
    border-radius: 4px !important;
    padding: 14px !important;
    margin-bottom: 12px !important;
}
.pdp__variant-block label,
.pdp__variant-label {
    font-size: 11px !important;
    font-weight: 600 !important;
    color: var(--corp-text-secondary) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    margin-bottom: 8px !important;
}

/* Size chips */
.pdp__size-chip {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 40px !important;
    padding: 6px 14px !important;
    border: 1px solid var(--corp-border) !important;
    border-radius: 4px !important;
    background: var(--corp-card) !important;
    color: var(--corp-text) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    transition: all 0.2s !important;
}
.pdp__size-chip:hover {
    border-color: var(--corp-blue) !important;
    color: var(--corp-blue) !important;
}
.pdp__size-chip.active,
.pdp__size-chip.selected {
    background: var(--corp-blue) !important;
    color: #fff !important;
    border-color: var(--corp-blue) !important;
}
.pdp__size-chip.disabled {
    opacity: 0.4 !important;
    cursor: not-allowed !important;
}

/* Description */
.pdp__description {
    border-top: 1px solid var(--corp-border) !important;
    padding-top: 20px !important;
    margin-top: 20px !important;
    color: var(--corp-text-secondary) !important;
    font-size: 14px !important;
    line-height: 1.7 !important;
}
.pdp__description h3,
.pdp__description-title {
    font-size: 11px !important;
    font-weight: 700 !important;
    color: var(--corp-text) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    margin-bottom: 12px !important;
}

/* Dark mode PDP */
body.dark-mode .pdp { background: #0f172a !important; }
body.dark-mode .pdp__main { background: #1e293b !important; border-color: #334155 !important; }
body.dark-mode .pdp__title { color: #e2e8f0 !important; }
body.dark-mode .pdp__price { color: #e2e8f0 !important; }
body.dark-mode .pdp__codes { color: #94a3b8 !important; }
body.dark-mode .pdp__buy-box { background: #172033 !important; border-color: #334155 !important; }
body.dark-mode .pdp__variant-block { background: #172033 !important; border-color: #334155 !important; }
body.dark-mode .pdp__size-chip { background: #1e293b !important; border-color: #334155 !important; color: #e2e8f0 !important; }
body.dark-mode .pdp__size-chip.active,
body.dark-mode .pdp__size-chip.selected { background: var(--corp-blue) !important; color: #fff !important; }
body.dark-mode .pdp__description { color: #94a3b8 !important; border-top-color: #334155 !important; }
body.dark-mode .pdp__gallery { background: #1a2332 !important; }
body.dark-mode .pdp__gallery-thumbs img { border-color: #334155 !important; }
body.dark-mode .pdp__breadcrumb { color: #94a3b8 !important; border-bottom-color: #334155 !important; }
body.dark-mode .pdp__stock { color: #94a3b8 !important; }
body.dark-mode .pdp__qty-selector { border-color: #334155 !important; }
body.dark-mode .pdp__qty-selector .producto-qty-btn { background: #1a2332 !important; color: #e2e8f0 !important; }
