* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: Arial, sans-serif;
    background: #f8f9fa;
    color: #222;
    overflow-x: hidden;
}

/* Marketplace home refresh */
body.cliente-body {
    background: #f8f9fa !important;
    color: #111827;
}

#promo-bar-cliente {
    background: #0b3b8f !important;
    box-shadow: none !important;
}

#tienda-header-cliente {
    background: rgba(255, 255, 255, 0.96) !important;
    border-bottom: 1px solid #dbe5f2 !important;
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.08) !important;
}

#tienda-header-cliente .header-search input {
    border-color: #cbd5e1 !important;
    box-shadow: none !important;
}

#tienda-header-cliente .header-search button,
#tienda-header-cliente .header-login-link svg,
#tienda-header-cliente .header-user-links .menu-admin-link {
    background: #0b5ed7 !important;
    border-color: #0b5ed7 !important;
    box-shadow: none !important;
}

#tienda-header-cliente .header-cart-link,
#tienda-header-cliente .menu-cliente a,
#tienda-header-cliente .header-categorias-btn {
    border-color: #dbe5f2 !important;
    color: #0b3b8f !important;
}

.retail-home {
    gap: 24px;
    max-width: 1260px;
    padding-top: 18px;
}

.retail-home h1,
.retail-home h2,
.retail-home h3,
.retail-home a,
.retail-home span,
.retail-home strong,
.retail-home p,
.footer-cliente h1,
.footer-cliente h2,
.footer-cliente h3,
.footer-cliente a,
.footer-cliente span,
.footer-cliente strong,
.footer-cliente p {
    letter-spacing: 0;
}

.retail-hero {
    grid-template-columns: minmax(0, 1fr) 320px;
}

.retail-hero-main,
.retail-panel,
.retail-side-card,
.retail-service-list article,
.retail-category-card,
.retail-offer-card,
.retail-arrival-card,
.retail-featured-item,
.retail-brand-cloud a,
.retail-combo-card,
.marketplace-discount-card {
    border-color: #dbe5f2;
    border-radius: 10px;
    box-shadow: 0 14px 32px rgba(15, 23, 42, 0.06);
}

.retail-hero-main {
    background:
        linear-gradient(90deg, rgba(9, 55, 125, 0.92), rgba(20, 93, 190, 0.80)),
        url("/tienda/uploads/promociones/promo_1776094231_6318.png") center / cover no-repeat;
    min-height: 420px;
    padding: 34px;
}

.retail-kicker {
    background: rgba(255, 255, 255, 0.16);
    border-color: rgba(255, 255, 255, 0.28);
    letter-spacing: 0.04em;
}

.retail-hero-copy h1 {
    font-size: clamp(34px, 5vw, 56px);
    letter-spacing: 0;
    line-height: 1.02;
    max-width: 12ch;
}

.retail-hero-search {
    border-radius: 8px;
    box-shadow: 0 16px 28px rgba(15, 23, 42, 0.12);
    max-width: 660px;
}

.retail-hero-search button,
.retail-btn-primary,
.retail-cart-form button {
    background: #0b5ed7;
    border: 1px solid #0b5ed7;
    color: #ffffff !important;
    box-shadow: none;
}

.retail-hero-search button:hover,
.retail-btn-primary:hover,
.retail-cart-form button:hover {
    background: #094cae;
    border-color: #094cae;
}

.retail-btn-light {
    background: rgba(255, 255, 255, 0.16);
    border-color: rgba(255, 255, 255, 0.36);
}

.retail-search-tags a {
    background: rgba(255, 255, 255, 0.18);
    border-color: rgba(255, 255, 255, 0.30);
}

.retail-hero-product {
    border-radius: 10px;
    min-height: 250px;
}

.retail-hero-stats article {
    border-radius: 8px;
}

.retail-side-card-offer {
    background: #eff6ff;
    border-color: #bfdbfe;
}

.retail-section-head span,
.retail-side-card small {
    color: #0b5ed7;
    letter-spacing: 0.04em;
}

.retail-section-head h2 {
    font-size: clamp(24px, 3vw, 32px);
    letter-spacing: 0;
}

.retail-category-grid {
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

.retail-category-card {
    min-height: 144px;
    padding: 18px 14px;
}

.retail-category-card span {
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    border-radius: 8px;
    color: #0b5ed7;
    height: 58px;
    width: 58px;
}

.retail-offer-grid {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.retail-arrivals-grid {
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.retail-offer-media,
.retail-arrival-media,
.retail-featured-thumb {
    background: #f8fafc;
    border-bottom: 1px solid #eef2f7;
}

.retail-offer-media {
    min-height: 210px;
}

.retail-offer-badge {
    background: #e0f2fe;
    border-color: #bae6fd;
    color: #075985;
}

.retail-offer-body h3 a,
.retail-arrival-body h3 a {
    display: -webkit-box;
    line-height: 1.35;
    min-height: 43px;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.retail-price-row {
    align-items: baseline;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.retail-price-row strong,
.retail-offer-body strong,
.retail-arrival-body strong,
.retail-featured-body span {
    color: #111827;
    font-size: 24px;
}

.retail-price-row small {
    color: #94a3b8;
    font-size: 14px;
    text-decoration: line-through;
}

.retail-cart-form {
    margin-top: 14px;
}

.retail-cart-form button {
    border-radius: 8px;
    cursor: pointer;
    font-size: 14px;
    font-weight: 800;
    min-height: 42px;
    padding: 0 14px;
    width: 100%;
}

.retail-showcase {
    grid-template-columns: minmax(0, 1fr) 360px;
}

.marketplace-discount-grid {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
}

.marketplace-discount-card {
    background: linear-gradient(180deg, #ffffff, #f8fbff);
    color: #111827;
    display: grid;
    gap: 8px;
    padding: 18px;
    text-decoration: none;
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.marketplace-discount-card:hover {
    border-color: #93c5fd;
    box-shadow: 0 18px 34px rgba(37, 99, 235, 0.10);
    transform: translateY(-3px);
}

.marketplace-discount-card > span {
    color: #0b5ed7;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.marketplace-discount-card strong {
    font-size: 18px;
    line-height: 1.25;
}

.marketplace-discount-card small {
    color: #64748b;
}

.marketplace-discount-card b {
    color: #111827;
    font-size: 24px;
}

.marketplace-discount-card em {
    color: #94a3b8;
    display: block;
    font-style: normal;
    margin-top: 4px;
    text-decoration: line-through;
}

.footer-cliente {
    background: #0f172a !important;
    border-top: 0;
    color: #e2e8f0;
}

.footer-cliente-grid {
    align-items: start;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.footer-cliente a,
.footer-cliente span,
.footer-cliente p {
    color: #cbd5e1;
}

.footer-brand-copy strong,
.footer-links strong,
.footer-about strong,
.footer-contacto strong,
.footer-payments strong {
    color: #ffffff;
}

.footer-payments {
    display: grid;
    gap: 10px;
}

.footer-logo {
    filter: drop-shadow(0 2px 6px rgba(255, 255, 255, 0.08));
    height: auto;
    max-width: 100%;
    object-fit: contain;
    width: 200px;
}

.footer-social {
    display: flex;
    gap: 8px;
    margin-top: 8px;
}

.footer-social a {
    align-items: center;
    background: #1d4ed8;
    border-radius: 8px;
    color: #ffffff !important;
    display: inline-flex;
    font-size: 12px;
    font-weight: 900;
    height: 34px;
    justify-content: center;
    text-decoration: none;
    width: 34px;
}

@media (max-width: 1180px) {
    .retail-hero,
    .retail-showcase {
        grid-template-columns: 1fr;
    }

    .footer-cliente-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 820px) {
    .retail-home {
        padding-top: 12px;
    }

    .retail-hero-main {
        min-height: 0;
        padding: 20px;
    }

    .retail-hero-copy h1 {
        font-size: 34px;
    }

    .retail-hero-actions,
    .retail-search-tags {
        display: flex;
    }

    .retail-offer-grid,
    .retail-arrivals-grid,
    .marketplace-discount-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .retail-offer-media img,
    .retail-arrival-media img {
        height: 150px;
    }

    .retail-price-row strong,
    .retail-offer-body strong,
    .retail-arrival-body strong {
        font-size: 20px;
    }

    .footer-cliente-grid {
        grid-template-columns: 1fr !important;
    }

    .footer-logo {
        width: 150px;
    }
}

@media (max-width: 520px) {
    .retail-offer-grid,
    .retail-arrivals-grid,
    .marketplace-discount-grid,
    .retail-category-grid {
        grid-template-columns: 1fr;
    }
}

/* Ajuste final de grillas para moviles */
*,
*::before,
*::after {
    box-sizing: border-box;
}

html,
body {
    max-width: 100%;
    overflow-x: hidden;
}

.dashboard-panel,
.kpi-card,
.card-producto,
.market-product-card,
.retail-panel {
    min-width: 0;
}

.dashboard-panel img,
.card-producto img,
.market-product-card img,
.retail-panel img {
    max-width: 100%;
}

/* Encabezado plano para módulos administrativos, sin banner decorativo. */
.titulo-modulo-configuracion {
    margin: 0 0 20px;
    color: #1e293b;
    font-size: 26px;
    line-height: 1.2;
}

@media (max-width: 980px) {
    .dashboard-kpis,
    .dashboard-grid-pro,
    .dashboard-graficos,
    .reportes-grid,
    .form-grid-precios,
    .form-grid-doble,
    .checkout-form-grid,
    .auth-form-grid,
    .producto-imagenes-grid,
    .grid-productos,
    .catalogo-bristol-shell .grid-productos,
    .retail-offer-grid,
    .retail-arrivals-grid,
    .retail-category-grid,
    .marketplace-discount-grid,
    .footer-cliente-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .dashboard-grid-pro > .panel-grande,
    .reportes-grid > .panel-grande,
    .checkout-form-grid-full,
    .form-grid-full,
    .dashboard-panel-finanzas,
    .dashboard-productos-parados {
        grid-column: 1 / -1;
    }

    .dashboard-panel,
    .kpi-card {
        overflow: hidden;
    }

    .panel-header,
    .dashboard-hero,
    .dashboard-hero-actions,
    .catalogo-bristol-shell .market-results-bar,
    .catalogo-bristol-shell .catalogo-v3-listado-actions {
        align-items: stretch;
        flex-wrap: wrap;
        gap: 10px;
    }

    .panel-header > *,
    .dashboard-hero > *,
    .catalogo-bristol-shell .market-results-bar > *,
    .catalogo-bristol-shell .catalogo-v3-listado-actions > * {
        min-width: 0;
    }
}

@media (max-width: 768px) {
    .admin-body:has(.dashboard-mobile-compact-header) .contenido-principal.contenedor {
        padding-top: 8px !important;
    }

    .admin-body:has(.dashboard-mobile-compact-header) .admin-mobile-menu-toggle {
        display: none !important;
    }

    .dashboard-mobile-compact-header {
        align-items: center;
        display: flex;
        gap: 10px;
        margin: 0 0 8px;
    }

    .dashboard-mobile-menu-trigger {
        align-items: center;
        background: #ffffff;
        border: 1px solid #dbe3ef;
        border-radius: 8px;
        color: #0f172a;
        display: inline-flex;
        flex: 0 0 34px;
        height: 34px;
        justify-content: center;
        width: 34px;
    }

    .dashboard-mobile-compact-header h1 {
        color: #0f172a;
        font-size: 20px;
        font-weight: 800;
        line-height: 1;
        margin: 0;
    }

    .dashboard-operativo {
        gap: 8px;
    }

    .dashboard-operativo-row {
        gap: 8px;
    }

    .dashboard-operativo-row-main {
        gap: 8px;
        grid-template-columns: 1fr;
    }

    .dashboard-operativo-row-total,
    .dashboard-operativo-row-payments {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .dashboard-operativo-card {
        border-radius: 8px;
        box-shadow: none;
        gap: 10px;
        min-width: 0;
        min-height: 96px;
        padding: 14px 12px;
    }

    .dashboard-operativo-card span {
        font-size: 14px;
        line-height: 1.2;
        white-space: nowrap;
    }

    .dashboard-operativo-card strong {
        font-size: 28px;
        font-weight: 700;
        line-height: 1.1;
        word-break: break-word;
    }

    .dashboard-operativo-card small {
        display: none;
    }

    .dashboard-label-desktop,
    .dashboard-desktop-only {
        display: none !important;
    }

    .dashboard-label-mobile,
    .dashboard-mobile-only {
        display: block;
    }

    .dashboard-operativo-alertas {
        border-radius: 8px;
        padding: 10px;
    }

    .dashboard-operativo-alertas h2 {
        font-size: 15px;
    }

    .dashboard-finanzas-formas {
        gap: 8px;
        padding: 10px;
    }

    .dashboard-finanzas-formas h2 {
        font-size: 15px;
    }

    .dashboard-summary-title-desktop {
        display: none;
    }

    .dashboard-summary-title-mobile {
        display: inline;
    }

    .dashboard-finanzas-table-wrap {
        display: none;
    }

    .dashboard-finanzas-mobile {
        display: grid;
        gap: 8px;
    }

    .dashboard-forma-card {
        background: #ffffff;
        border: 1px solid #e2e8f0;
        border-radius: 8px;
        display: grid;
        gap: 4px;
        padding: 10px;
    }

    .dashboard-forma-card h3 {
        color: #0f172a;
        font-size: 14px;
        margin: 0 0 2px;
    }

    .dashboard-forma-card p {
        align-items: center;
        color: #475569;
        display: flex;
        font-size: 12px;
        justify-content: space-between;
        gap: 8px;
        margin: 0;
    }

    .dashboard-forma-card strong {
        color: #0f172a;
        font-size: 12px;
        text-align: right;
    }

    .dashboard-total-disponible {
        display: none;
    }

    .dashboard-total-mobile {
        align-items: flex-start;
        background: #eff6ff;
        border: 1px solid #bfdbfe;
        border-radius: 8px;
        display: grid;
        gap: 10px;
        min-height: 96px;
        padding: 14px 12px;
    }

    .dashboard-total-mobile span {
        color: #1e3a8a;
        font-size: 14px;
        font-weight: 800;
        line-height: 1.2;
    }

    .dashboard-total-mobile strong {
        color: #1d4ed8;
        font-size: 28px;
        font-weight: 700;
        line-height: 1.1;
    }

    .dashboard-kpis,
    .dashboard-grid-pro,
    .dashboard-graficos,
    .reportes-grid,
    .form-grid-precios,
    .form-grid-doble,
    .checkout-form-grid,
    .auth-form-grid,
    .producto-imagenes-grid,
    .grid-productos,
    .catalogo-bristol-shell .grid-productos,
    .retail-offer-grid,
    .retail-arrivals-grid,
    .retail-category-grid,
    .marketplace-discount-grid,
    .footer-cliente-grid {
        grid-template-columns: 1fr !important;
    }

    .dashboard-panel,
    .kpi-card,
    .retail-panel,
    .card-producto,
    .market-product-card,
    .catalogo-bristol-shell .catalogo-v3-sidebar-card {
        border-radius: 12px;
        padding: 14px;
        width: 100%;
    }

    .dashboard-kpis,
    .dashboard-grid-pro,
    .dashboard-graficos,
    .reportes-grid {
        gap: 12px;
        width: 100%;
    }

    .dashboard-hero {
        border-radius: 14px;
        display: grid;
        gap: 14px;
        padding: 20px;
    }

    .dashboard-hero h2,
    .panel-header h3 {
        line-height: 1.12;
        overflow-wrap: anywhere;
    }

    .dashboard-hero-actions,
    .panel-header {
        display: grid;
        grid-template-columns: 1fr;
        width: 100%;
    }

    .dashboard-hero-actions .btn,
    .panel-header .btn,
    .panel-header a,
    .form-grid-precios .btn,
    .form-grid-doble .btn {
        justify-content: center;
        width: 100%;
    }

    .form-grid-precios > *,
    .form-grid-doble > *,
    .checkout-form-grid > *,
    .auth-form-grid > * {
        min-width: 0;
        width: 100%;
    }

    input,
    select,
    textarea,
    button {
        max-width: 100%;
    }

    .tabla-responsive,
    .tabla-carrito-wrap {
        border-radius: 12px;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        width: 100%;
    }

    .tabla-pro,
    .tabla-carrito {
        min-width: 620px;
    }

    .catalogo-bristol-shell .market-catalog-top,
    .catalogo-bristol-shell .catalogo-busqueda-pro,
    .catalogo-bristol-shell .market-catalog-stats,
    .catalogo-bristol-shell .market-results-bar,
    .catalogo-bristol-shell .catalogo-v3-listado-actions,
    .catalogo-sort-form {
        display: grid;
        grid-template-columns: 1fr !important;
        width: 100%;
    }

    .catalogo-bristol-shell .catalogo-busqueda-pro input[type="text"],
    .catalogo-bristol-shell .catalogo-busqueda-pro button,
    .catalogo-sort-form select {
        border-radius: 10px;
        width: 100%;
    }

    .catalogo-bristol-shell .market-catalog-stats span,
    .catalogo-bristol-shell .market-product-card .btn {
        justify-content: center;
        width: 100%;
    }
}

@media (max-width: 420px) {
    .dashboard-panel,
    .kpi-card,
    .retail-panel,
    .card-producto,
    .market-product-card,
    .catalogo-bristol-shell .catalogo-v3-sidebar-card {
        padding: 12px;
    }

    .dashboard-hero {
        padding: 16px;
    }

    .kpi-card strong,
    .dashboard-hero h2 {
        font-size: clamp(24px, 8vw, 32px);
    }

    .panel-header h3 {
        font-size: 18px;
    }

    .tabla-pro,
    .tabla-carrito {
        min-width: 560px;
    }
}


/* Responsive final: home y catalogo */
img,
video {
    max-width: 100%;
}

.retail-home,
.catalogo-bristol-shell {
    overflow-x: hidden;
}

.catalogo-bristol-shell .catalogo-busqueda-pro,
.retail-hero-search {
    min-width: 0;
}

.catalogo-bristol-shell .grid-productos {
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
}

.catalogo-bristol-shell .market-product-card {
    min-width: 0;
}

.catalogo-bristol-shell .market-product-card .card-producto-imagen,
.retail-offer-media img,
.retail-arrival-media img,
.retail-hero-product img,
.retail-featured-thumb img {
    height: auto;
    max-height: 100%;
    object-fit: contain;
}

@media (max-width: 1180px) {
    .retail-hero,
    .retail-showcase,
    .catalogo-bristol-shell .market-catalog-body {
        grid-template-columns: 1fr;
    }

    .catalogo-bristol-shell .catalogo-v3-sidebar {
        position: static;
    }
}

@media (max-width: 900px) {
    .retail-home,
    .market-catalog-shell.catalogo-bristol-shell {
        padding-left: 14px;
        padding-right: 14px;
    }

    .retail-hero-main,
    .retail-hero-side,
    .retail-section,
    .catalogo-bristol-shell .catalogo-v3-sidebar-card,
    .catalogo-bristol-shell .market-product-card {
        border-radius: 12px;
    }

    .retail-hero-main {
        padding: 22px;
    }

    .retail-hero-copy h1 {
        font-size: clamp(30px, 8vw, 42px);
        line-height: 1.05;
    }

    .retail-hero-search,
    .catalogo-bristol-shell .catalogo-busqueda-pro,
    .catalogo-bristol-shell .market-catalog-top,
    .catalogo-bristol-shell .market-results-bar,
    .catalogo-bristol-shell .catalogo-v3-listado-actions {
        align-items: stretch;
        display: grid;
        grid-template-columns: 1fr;
        width: 100%;
    }

    .catalogo-bristol-shell .catalogo-busqueda-pro input[type="text"],
    .catalogo-bristol-shell .catalogo-busqueda-pro button,
    .retail-hero-search input,
    .retail-hero-search button {
        border-radius: 10px;
        min-height: 46px;
        width: 100%;
    }

    .catalogo-bristol-shell .market-catalog-stats,
    .retail-hero-actions,
    .retail-search-tags {
        flex-wrap: wrap;
    }

    .catalogo-bristol-shell .grid-productos,
    .retail-offer-grid,
    .retail-arrivals-grid,
    .marketplace-discount-grid,
    .retail-category-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .catalogo-bristol-shell .market-product-card .card-producto-media,
    .retail-offer-media,
    .retail-arrival-media {
        min-height: 0;
    }

    .catalogo-bristol-shell .market-product-card .card-producto-imagen,
    .retail-offer-media img,
    .retail-arrival-media img {
        height: 150px;
        width: 100%;
    }

    .catalogo-bristol-shell .market-product-card .card-producto-footer {
        align-items: stretch;
        display: grid;
        gap: 10px;
    }

    .catalogo-bristol-shell .market-product-card .btn {
        justify-content: center;
        width: 100%;
    }
}

@media (max-width: 560px) {
    .retail-home,
    .market-catalog-shell.catalogo-bristol-shell {
        padding-left: 10px;
        padding-right: 10px;
    }

    .retail-hero-main,
    .retail-section,
    .catalogo-bristol-shell .catalogo-v3-sidebar-card,
    .catalogo-bristol-shell .market-product-card {
        padding: 14px;
    }

    .retail-hero-copy h1 {
        font-size: 30px;
    }

    .retail-hero-copy p,
    .catalogo-bristol-shell .market-results-bar,
    .catalogo-bristol-shell .catalogo-v3-listado-actions {
        font-size: 14px;
    }

    .catalogo-bristol-shell .grid-productos,
    .retail-offer-grid,
    .retail-arrivals-grid,
    .marketplace-discount-grid,
    .retail-category-grid {
        grid-template-columns: 1fr;
    }

    .catalogo-bristol-shell .market-catalog-stats span {
        justify-content: center;
        width: 100%;
    }

    .catalogo-bristol-shell .catalogo-v3-categorias a,
    .catalogo-bristol-shell .catalogo-v3-marcas a {
        min-height: 42px;
    }
}

/* Responsive refinado para portada y catalogo */
img,
video {
    max-width: 100%;
}

.retail-home,
.catalogo-bristol-shell {
    overflow-x: hidden;
}

.trigo-slider {
    max-width: 100%;
}

.trigo-slide {
    min-width: 0;
}

.trigo-slide-copy,
.trigo-slide-media,
.retail-panel,
.retail-offer-card,
.retail-arrival-card,
.market-product-card {
    min-width: 0;
}

.retail-offer-body h3,
.retail-arrival-body h3,
.market-product-card h3 {
    overflow-wrap: anywhere;
}

@media (max-width: 1180px) {
    .retail-home,
    .market-catalog-shell.catalogo-bristol-shell {
        width: min(100% - 24px, 1180px);
    }

    .trigo-slide {
        grid-template-columns: minmax(0, 1.1fr) minmax(260px, 0.9fr);
    }

    .catalogo-bristol-shell .market-catalog-body {
        gap: 22px;
        grid-template-columns: 230px minmax(0, 1fr);
    }

    .catalogo-bristol-shell .grid-productos {
        gap: 22px;
        grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
    }
}

@media (max-width: 900px) {
    .retail-home,
    .market-catalog-shell.catalogo-bristol-shell {
        width: calc(100% - 20px);
    }

    .trigo-slider {
        border-radius: 8px;
    }

    .trigo-slide {
        gap: 18px;
        grid-template-columns: 1fr;
        min-height: auto;
        padding: 24px;
    }

    .trigo-slide-copy h1 {
        font-size: clamp(30px, 8vw, 46px);
        line-height: 1.02;
    }

    .trigo-slide-copy p {
        max-width: 100%;
    }

    .trigo-slide-media {
        min-height: 220px;
    }

    .trigo-slide-media img {
        height: 220px;
        object-fit: contain;
    }

    .retail-section-head {
        align-items: flex-start;
        display: grid;
        gap: 10px;
    }

    .retail-offer-grid,
    .retail-arrivals-grid,
    .marketplace-discount-grid,
    .retail-category-grid {
        gap: 16px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .retail-showcase,
    .retail-showcase-side {
        gap: 16px;
    }

    .catalogo-bristol-shell {
        padding: 16px;
    }

    .catalogo-bristol-shell .market-catalog-top {
        grid-template-columns: 1fr;
        padding: 14px;
    }

    .catalogo-bristol-shell .catalogo-busqueda-pro {
        display: grid;
        gap: 8px;
    }

    .catalogo-bristol-shell .catalogo-busqueda-pro input[type="text"],
    .catalogo-bristol-shell .catalogo-busqueda-pro button {
        min-height: 44px;
        width: 100%;
    }

    .catalogo-bristol-shell .market-catalog-stats {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .catalogo-bristol-shell .market-catalog-body {
        grid-template-columns: 1fr;
    }

    .catalogo-bristol-shell .catalogo-v3-sidebar {
        max-height: none;
        overflow: visible;
        position: static;
    }

    .catalogo-bristol-shell .market-results-bar,
    .catalogo-bristol-shell .catalogo-v3-listado-actions,
    .catalogo-sort-form {
        align-items: stretch;
        display: grid;
        gap: 10px;
    }

    .catalogo-sort-form select {
        width: 100%;
    }
}

@media (max-width: 560px) {
    .retail-home,
    .market-catalog-shell.catalogo-bristol-shell {
        width: calc(100% - 16px);
    }

    .trigo-slide {
        padding: 18px;
    }

    .trigo-slide-copy h1 {
        font-size: 32px;
    }

    .trigo-slide-actions,
    .retail-hero-actions,
    .retail-search-tags {
        display: grid;
        gap: 8px;
    }

    .trigo-slide-actions a,
    .retail-hero-actions a,
    .retail-search-tags a {
        text-align: center;
        width: 100%;
    }

    .trigo-slider-control {
        display: none;
    }

    .retail-panel {
        padding: 16px;
    }

    .retail-offer-grid,
    .retail-arrivals-grid,
    .marketplace-discount-grid,
    .retail-category-grid,
    .catalogo-bristol-shell .grid-productos {
        grid-template-columns: 1fr;
    }

    .retail-offer-media img,
    .retail-arrival-media img {
        height: 180px;
    }

    .catalogo-bristol-shell .market-catalog-stats {
        grid-template-columns: 1fr;
    }

    .catalogo-bristol-shell .market-product-card .card-producto-media {
        min-height: 205px;
    }

    .catalogo-bristol-shell .market-product-card .card-producto-imagen {
        height: 165px;
    }

    .catalogo-bristol-shell .market-product-card .card-producto-footer {
        align-items: stretch;
        display: grid;
    }

    .catalogo-bristol-shell .market-product-card .btn {
        text-align: center;
        width: 100%;
    }
}

/* TriGo Express blue identity polish */
#tienda-header-cliente .menu-cliente a,
#tienda-header-cliente .header-categorias-btn {
    background: #ffffff !important;
    border-color: #d8e6fb !important;
    color: #082b63 !important;
}

#tienda-header-cliente .menu-cliente a:hover,
#tienda-header-cliente .header-categorias-btn:hover,
#tienda-header-cliente .header-categorias-btn:focus-visible {
    background: #eef6ff !important;
    border-color: #9cc7ff !important;
    color: #006cff !important;
}

#tienda-header-cliente .header-cart-link {
    background: #ffffff !important;
    border-color: #d8e6fb !important;
    box-shadow: 0 8px 20px rgba(8, 43, 99, 0.08);
    color: #006cff !important;
}

#tienda-header-cliente .header-cart-link:hover {
    background: #eef6ff !important;
    border-color: #9cc7ff !important;
}

#tienda-header-cliente .header-search input:focus {
    border-color: #006cff !important;
    outline: 3px solid rgba(0, 108, 255, 0.14) !important;
}

#tienda-header-cliente .mobile-header-toggle {
    display: none !important;
}

#tienda-header-cliente .header-cliente-main {
    grid-template-columns: 220px minmax(280px, 1fr) auto;
}

#tienda-header-cliente .menu-cliente {
    align-items: center;
    display: flex !important;
    gap: 10px;
    justify-content: flex-start;
}

#tienda-header-cliente .menu-bloque-principal {
    align-items: center;
    display: flex;
    gap: 10px;
}

#tienda-header-cliente .menu-ofertas-link {
    background: #f8fafc !important;
    border: 1px solid #dbe5f2 !important;
    border-radius: 999px;
    box-shadow: none;
    color: #082b63 !important;
    font-weight: 800;
}

#tienda-header-cliente .menu-ofertas-link:hover {
    background: #eef6ff !important;
    border-color: #9cc7ff !important;
    color: #0056d6 !important;
}

.retail-offer-card,
.retail-arrival-card,
.retail-category-card,
.marketplace-discount-card {
    background: #ffffff;
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.retail-offer-card:hover,
.retail-arrival-card:hover,
.retail-category-card:hover {
    border-color: #9cc7ff;
    box-shadow: 0 18px 36px rgba(0, 108, 255, 0.12);
    transform: translateY(-3px);
}

.retail-offer-media,
.retail-arrival-media,
.retail-featured-thumb {
    background: linear-gradient(180deg, #ffffff, #f4f8ff);
}

.retail-cart-form button {
    box-shadow: 0 10px 18px rgba(0, 108, 255, 0.18);
}

.retail-cart-form button:hover {
    box-shadow: 0 12px 24px rgba(0, 108, 255, 0.22);
}

.footer-cliente {
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.footer-brand-highlights span {
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.14);
    color: #ffffff;
}

.footer-links a:hover {
    color: #ffffff !important;
}

.footer-social a:hover {
    background: #ffd43b;
    color: #082b63 !important;
}

/* TriGo marketplace promotional slider */
.trigo-slider {
    background: #ffffff;
    border: 1px solid #d8e6fb;
    border-radius: 18px;
    box-shadow: 0 18px 42px rgba(8, 43, 99, 0.10);
    min-height: 390px;
    overflow: hidden;
    position: relative;
}

.trigo-slider-track {
    min-height: inherit;
    position: relative;
}

.trigo-slide {
    align-items: center;
    background:
        radial-gradient(circle at 80% 20%, rgba(0, 108, 255, 0.16), transparent 28%),
        linear-gradient(135deg, #ffffff 0%, #f4f8ff 52%, #eaf3ff 100%);
    display: grid;
    gap: 28px;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 430px);
    inset: 0;
    min-height: 390px;
    opacity: 0;
    padding: 46px 64px;
    pointer-events: none;
    position: absolute;
    transform: translateX(24px);
    transition: opacity 0.55s ease, transform 0.55s ease;
}

.trigo-slide.is-active {
    opacity: 1;
    pointer-events: auto;
    position: relative;
    transform: translateX(0);
    z-index: 2;
}

.trigo-slide-copy {
    display: grid;
    gap: 14px;
    max-width: 610px;
}

.trigo-slide-copy span {
    background: #fff8d7;
    border: 1px solid #ffe68a;
    border-radius: 999px;
    color: #082b63;
    display: inline-flex;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.04em;
    padding: 8px 12px;
    text-transform: uppercase;
    width: fit-content;
}

.trigo-slide-copy h1 {
    color: #082b63;
    font-size: clamp(36px, 5vw, 62px);
    line-height: 1;
    margin: 0;
    max-width: 12ch;
}

.trigo-slide-copy p {
    color: #475569;
    font-size: 18px;
    line-height: 1.55;
    margin: 0;
    max-width: 560px;
}

.trigo-slide-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 8px;
}

.trigo-slide-btn-primary,
.trigo-slide-btn-secondary {
    align-items: center;
    border-radius: 999px;
    display: inline-flex;
    font-size: 15px;
    font-weight: 900;
    justify-content: center;
    min-height: 48px;
    padding: 0 22px;
    text-decoration: none;
}

.trigo-slide-btn-primary {
    background: #006cff;
    border: 1px solid #006cff;
    box-shadow: 0 14px 28px rgba(0, 108, 255, 0.22);
    color: #ffffff !important;
}

.trigo-slide-btn-primary:hover {
    background: #0056d6;
    border-color: #0056d6;
}

.trigo-slide-btn-secondary {
    background: #ffffff;
    border: 1px solid #cfe2ff;
    color: #082b63 !important;
}

.trigo-slide-btn-secondary:hover {
    background: #eef6ff;
    border-color: #9cc7ff;
}

.trigo-slide-media {
    align-items: center;
    background: #ffffff;
    border: 1px solid #d8e6fb;
    border-radius: 18px;
    box-shadow: 0 20px 38px rgba(8, 43, 99, 0.12);
    display: flex;
    justify-content: center;
    min-height: 260px;
    padding: 22px;
}

.trigo-slide-media img {
    display: block;
    height: 250px;
    object-fit: contain;
    width: 100%;
}

.trigo-slider-control {
    align-items: center;
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid #d8e6fb;
    border-radius: 999px;
    box-shadow: 0 12px 24px rgba(8, 43, 99, 0.14);
    color: #082b63;
    cursor: pointer;
    display: inline-flex;
    font-size: 34px;
    font-weight: 700;
    height: 46px;
    justify-content: center;
    line-height: 1;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 46px;
    z-index: 5;
}

.trigo-slider-prev {
    left: 18px;
}

.trigo-slider-next {
    right: 18px;
}

.trigo-slider-control:hover {
    background: #006cff;
    border-color: #006cff;
    color: #ffffff;
}

.trigo-slider-dots {
    bottom: 18px;
    display: flex;
    gap: 8px;
    left: 64px;
    position: absolute;
    z-index: 6;
}

.trigo-slider-dots button {
    background: #cfe2ff;
    border: 0;
    border-radius: 999px;
    cursor: pointer;
    height: 9px;
    padding: 0;
    transition: background 0.2s ease, width 0.2s ease;
    width: 24px;
}

.trigo-slider-dots button.is-active {
    background: #006cff;
    width: 42px;
}

@media (max-width: 900px) {
    .trigo-slider {
        min-height: 0;
    }

    .trigo-slide {
        gap: 22px;
        grid-template-columns: 1fr;
        min-height: 0;
        padding: 28px 20px 62px;
    }

    .trigo-slide-copy h1 {
        font-size: 38px;
        max-width: 13ch;
    }

    .trigo-slide-copy p {
        font-size: 15px;
    }

    .trigo-slide-media {
        min-height: 210px;
    }

    .trigo-slide-media img {
        height: 190px;
    }

    .trigo-slider-control {
        height: 38px;
        width: 38px;
    }

    .trigo-slider-prev {
        left: 12px;
    }

    .trigo-slider-next {
        right: 12px;
    }

    .trigo-slider-dots {
        bottom: 18px;
        left: 20px;
    }
}

@media (max-width: 520px) {
    .trigo-slide-actions {
        display: grid;
    }

    .trigo-slide-btn-primary,
    .trigo-slide-btn-secondary {
        width: 100%;
    }
}

img,
svg,
video,
canvas,
iframe {
    max-width: 100%;
}

input,
select,
textarea,
button {
    max-width: 100%;
}

.nova-home {
    display: grid;
    gap: 26px;
    margin: 0 auto;
    max-width: 1240px;
    padding: 12px 0 36px;
}

.nova-hero {
    display: grid;
    gap: 20px;
    grid-template-columns: minmax(0, 1.2fr) minmax(300px, 0.8fr);
}

.nova-hero-main,
.nova-hero-aside,
.nova-editorial,
.nova-products,
.nova-combos {
    background: linear-gradient(180deg, #ffffff, #fbfbff);
    border: 1px solid #e9d5ff;
    border-radius: 30px;
    box-shadow: 0 18px 42px rgba(15, 23, 42, 0.06);
}

.nova-hero-main {
    background:
        radial-gradient(circle at top left, rgba(109, 40, 217, 0.20), transparent 26%),
        linear-gradient(135deg, #0f172a 0%, #3b0764 46%, #6d28d9 76%, #06b6d4 100%);
    color: #ffffff;
    padding: 34px;
}

.nova-chip {
    align-items: center;
    background: rgba(255, 255, 255, 0.14);
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 999px;
    color: #ffffff;
    display: inline-flex;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.08em;
    min-height: 34px;
    padding: 0 12px;
    text-transform: uppercase;
}

.nova-hero-main h1 {
    color: #ffffff;
    font-size: 64px;
    letter-spacing: -0.06em;
    line-height: 0.92;
    margin: 18px 0 14px;
    max-width: 10ch;
}

.nova-hero-main p {
    color: rgba(255, 255, 255, 0.84);
    font-size: 18px;
    line-height: 1.7;
    margin: 0 0 22px;
    max-width: 560px;
}

.nova-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 26px;
}

.nova-btn-solid,
.nova-btn-outline {
    border-radius: 999px;
    font-weight: 800;
    min-height: 48px;
    padding: 12px 20px;
}

.nova-btn-solid {
    background: #ffffff;
    color: #4c1d95 !important;
}

.nova-btn-outline {
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.20);
    color: #ffffff !important;
}

.nova-stats {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.nova-stats article {
    background: rgba(255, 255, 255, 0.10);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 20px;
    padding: 18px;
}

.nova-stats strong,
.nova-stats span {
    display: block;
}

.nova-stats strong {
    font-size: 28px;
    margin-bottom: 6px;
}

.nova-stats span {
    color: rgba(255, 255, 255, 0.76);
    font-size: 13px;
    font-weight: 700;
}

.nova-hero-aside {
    display: grid;
    gap: 18px;
    padding: 20px;
}

.nova-hero-card {
    align-items: center;
    background: linear-gradient(135deg, #f6f5ff, #ecfeff);
    border: 1px solid #ede9fe;
    border-radius: 24px;
    display: flex;
    justify-content: center;
    min-height: 320px;
    padding: 18px;
}

.nova-hero-card img {
    display: block;
    height: 240px;
    max-width: 100%;
    object-fit: contain;
    width: 100%;
}

.nova-mini-panel,
.nova-editorial,
.nova-products,
.nova-combos {
    padding: 24px;
}

.nova-panel-head {
    align-items: center;
    display: flex;
    gap: 14px;
    justify-content: space-between;
    margin-bottom: 18px;
}

.nova-panel-head h2 {
    color: #0f172a;
    font-size: 34px;
    letter-spacing: -0.04em;
    margin: 0;
}

.nova-panel-head a {
    color: #6d28d9;
    font-size: 14px;
    font-weight: 800;
    text-decoration: none;
}

.nova-category-cloud {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.nova-category-cloud a {
    background: linear-gradient(135deg, #f7f3ff, #effcff);
    border: 1px solid #ddd6fe;
    border-radius: 999px;
    color: #312e81;
    display: inline-flex;
    font-size: 13px;
    font-weight: 800;
    min-height: 38px;
    padding: 0 14px;
    text-decoration: none;
    align-items: center;
}

.nova-band {
    background: linear-gradient(135deg, #0f172a, #312e81 58%, #0891b2);
    border-radius: 24px;
    box-shadow: 0 16px 34px rgba(15, 23, 42, 0.14);
    display: grid;
    gap: 1px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    overflow: hidden;
}

.nova-band article {
    background: rgba(8, 12, 32, 0.78);
    padding: 18px 20px;
}

.nova-band strong,
.nova-band span {
    display: block;
}

.nova-band strong {
    color: #ffffff;
    margin-bottom: 6px;
}

.nova-band span {
    color: rgba(226, 232, 240, 0.78);
    font-size: 14px;
    line-height: 1.6;
}

.nova-editorial-grid {
    display: grid;
    gap: 18px;
    grid-template-columns: 1.2fr 1fr 1fr;
}

.nova-editorial-card {
    background: linear-gradient(180deg, #ffffff, #fbfbff);
    border: 1px solid #eef2ff;
    border-radius: 24px;
    overflow: hidden;
}

.nova-editorial-card.is-featured {
    background: linear-gradient(180deg, #f7f3ff, #ffffff);
}

.nova-editorial-media {
    background: linear-gradient(180deg, #f6f5ff, #eefcff);
    display: block;
    min-height: 220px;
    padding: 16px;
}

.nova-editorial-media img {
    display: block;
    height: 190px;
    object-fit: contain;
    width: 100%;
}

.nova-editorial-body {
    padding: 18px;
}

.nova-editorial-body h3 {
    margin: 12px 0 10px;
}

.nova-editorial-body h3 a,
.nova-product-body h3 a {
    color: #0f172a;
    text-decoration: none;
}

.nova-editorial-body p {
    color: #64748b;
    line-height: 1.7;
    margin: 0 0 14px;
}

.nova-editorial-body strong {
    color: #6d28d9;
    font-size: 28px;
}

.nova-products-grid,
.nova-combos-grid {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.nova-product-card,
.nova-combo-card {
    background: linear-gradient(180deg, #ffffff, #fbfbff);
    border: 1px solid #eef2ff;
    border-radius: 22px;
    overflow: hidden;
}

.nova-product-media {
    background: linear-gradient(180deg, #f8fafc, #f5f3ff);
    display: block;
    min-height: 180px;
    padding: 14px;
}

.nova-product-media img {
    display: block;
    height: 150px;
    object-fit: contain;
    width: 100%;
}

.nova-product-body {
    padding: 16px;
}

.nova-product-body h3 {
    margin: 0 0 8px;
}

.nova-product-body span,
.nova-combo-card span {
    color: #6d28d9;
    font-size: 22px;
    font-weight: 900;
}

.nova-combo-card {
    display: grid;
    gap: 10px;
    padding: 18px;
}

.nova-combo-card h3 {
    color: #0f172a;
    margin: 0;
}

.nova-combo-card p {
    color: #64748b;
    line-height: 1.6;
    margin: 0;
}

.nova-combo-card strong {
    color: #0f172a;
    display: block;
    margin-bottom: 4px;
}

@media (max-width: 1080px) {
    .nova-hero,
    .nova-editorial-grid,
    .nova-products-grid,
    .nova-combos-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .nova-band {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .nova-home {
        gap: 18px;
        padding-bottom: 26px;
    }

    .nova-hero,
    .nova-editorial-grid,
    .nova-products-grid,
    .nova-combos-grid {
        grid-template-columns: 1fr;
    }

    .nova-hero-main,
    .nova-mini-panel,
    .nova-editorial,
    .nova-products,
    .nova-combos {
        padding: 18px;
    }

    .nova-hero-main h1 {
        font-size: 38px;
    }

    .nova-hero-main p {
        font-size: 15px;
    }

    .nova-stats {
        grid-template-columns: 1fr;
    }

    .nova-panel-head {
        align-items: flex-start;
        display: grid;
    }

    .nova-panel-head h2 {
        font-size: 28px;
    }
}

:root {
    --rapid-purple: #6d28d9;
    --rapid-purple-dark: #3b0764;
    --rapid-cyan: #06b6d4;
    --rapid-cyan-soft: #cffafe;
    --rapid-ink: #0f172a;
    --rapid-text: #475569;
    --rapid-surface: #ffffff;
    --rapid-surface-alt: #f6f3ff;
    --rapid-border: #e9d5ff;
}

.rapid-home {
    display: grid;
    gap: 22px;
    margin: 0 auto;
    max-width: 1240px;
    padding: 8px 0 30px;
}

.rapid-banner-home {
    align-items: center;
    background: linear-gradient(135deg, #7c3aed, #5b21b6 58%, #06b6d4);
    border-radius: 26px;
    box-shadow: 0 22px 48px rgba(91, 33, 182, 0.22);
    display: grid;
    gap: 28px;
    grid-template-columns: minmax(0, 1.25fr) minmax(280px, 380px);
    overflow: hidden;
    padding: 34px 36px;
    position: relative;
}

.rapid-banner-home::after {
    background: radial-gradient(circle, rgba(255, 255, 255, 0.16), transparent 62%);
    content: "";
    height: 360px;
    position: absolute;
    right: -90px;
    top: -80px;
    width: 360px;
}

.rapid-banner-copy {
    color: #ffffff;
    display: grid;
    gap: 0;
    position: relative;
    z-index: 1;
}

.rapid-banner-logo {
    background: rgba(255, 255, 255, 0.92);
    border-radius: 14px;
    display: block;
    margin-bottom: 18px;
    max-width: 180px;
    padding: 6px 12px;
}

.rapid-banner-kicker {
    color: rgba(255, 255, 255, 0.80);
    display: inline-flex;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.08em;
    margin-bottom: 12px;
    text-transform: uppercase;
}

.rapid-banner-copy h1 {
    color: #ffffff;
    font-size: 56px;
    letter-spacing: -0.05em;
    line-height: 0.96;
    margin-bottom: 16px;
    max-width: 10ch;
}

.rapid-banner-copy p {
    color: rgba(255, 255, 255, 0.88);
    font-size: 19px;
    line-height: 1.65;
    margin-bottom: 24px;
    max-width: 540px;
}

.rapid-banner-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 18px;
}

.rapid-btn-ghost {
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.24);
    color: #ffffff !important;
}

.rapid-btn-ghost:hover {
    background: rgba(255, 255, 255, 0.18);
    border-color: rgba(255, 255, 255, 0.38);
}

.rapid-banner-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.rapid-banner-meta span {
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 999px;
    color: #ffffff;
    display: inline-flex;
    font-size: 13px;
    font-weight: 800;
    min-height: 38px;
    padding: 0 14px;
    align-items: center;
}

.rapid-banner-visual {
    display: flex;
    justify-content: center;
    position: relative;
    z-index: 1;
}

.rapid-banner-product-card {
    align-items: center;
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid rgba(255, 255, 255, 0.64);
    border-radius: 28px;
    box-shadow: 0 24px 44px rgba(49, 8, 97, 0.18);
    display: flex;
    justify-content: center;
    min-height: 310px;
    padding: 18px;
    width: 100%;
}

.rapid-banner-visual img {
    display: block;
    filter: drop-shadow(0 20px 28px rgba(49, 8, 97, 0.18));
    height: 250px;
    max-width: 100%;
    object-fit: contain;
    width: 100%;
}

.rapid-section-card {
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid #eef2ff;
    border-radius: 24px;
    box-shadow: 0 16px 36px rgba(15, 23, 42, 0.06);
    padding: 26px 28px;
}

.rapid-home-head {
    align-items: center;
    display: flex;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 22px;
}

.rapid-home-head h2 {
    color: var(--rapid-ink);
    font-size: 34px;
    letter-spacing: -0.04em;
    margin: 0;
}

.rapid-home-head a {
    color: var(--rapid-purple);
    font-size: 14px;
    font-weight: 800;
    text-decoration: none;
}

.rapid-category-row {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.rapid-category-pill {
    background: linear-gradient(180deg, #ffffff, #fbfbff);
    border: 1px solid #eef2ff;
    border-radius: 22px;
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.04);
    color: var(--rapid-ink);
    display: grid;
    gap: 10px;
    justify-items: center;
    min-height: 172px;
    padding: 20px 14px;
    text-align: center;
    text-decoration: none;
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.rapid-category-pill:hover {
    border-color: #d8b4fe;
    box-shadow: 0 18px 32px rgba(109, 40, 217, 0.10);
    transform: translateY(-3px);
}

.rapid-category-pill span {
    align-items: center;
    background: linear-gradient(135deg, #f4ebff, #ecfeff);
    border: 1px solid #ede9fe;
    border-radius: 999px;
    color: var(--rapid-purple);
    display: inline-flex;
    font-size: 24px;
    font-weight: 900;
    height: 82px;
    justify-content: center;
    width: 82px;
}

.rapid-category-pill strong {
    font-size: 15px;
    line-height: 1.35;
}

.rapid-offer-grid {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.rapid-offer-card {
    background: #ffffff;
    border: 1px solid #eef2ff;
    border-radius: 20px;
    overflow: hidden;
    padding: 10px;
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.rapid-offer-card:hover {
    border-color: #ddd6fe;
    box-shadow: 0 18px 34px rgba(15, 23, 42, 0.08);
    transform: translateY(-4px);
}

.rapid-offer-media {
    background: linear-gradient(180deg, #f8fafc, #f5f3ff);
    border: 1px solid #eef2ff;
    border-radius: 18px;
    display: block;
    min-height: 236px;
    padding: 16px;
    position: relative;
    text-decoration: none;
}

.rapid-offer-media img {
    display: block;
    height: 200px;
    object-fit: contain;
    width: 100%;
}

.rapid-offer-discount {
    background: linear-gradient(135deg, #10b981, #22c55e);
    border-radius: 999px;
    color: #ffffff;
    font-size: 12px;
    font-weight: 900;
    left: 12px;
    padding: 6px 10px;
    position: absolute;
    top: 12px;
}

.rapid-offer-body {
    padding: 14px 8px 6px;
}

.rapid-offer-body h3 {
    margin: 0 0 8px;
}

.rapid-offer-body h3 a {
    color: var(--rapid-ink);
    display: -webkit-box;
    font-size: 16px;
    line-height: 1.35;
    min-height: 44px;
    overflow: hidden;
    text-decoration: none;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.rapid-offer-body strong,
.rapid-offer-body small {
    display: block;
}

.rapid-offer-body strong {
    color: var(--rapid-ink);
    font-size: 28px;
    line-height: 1.05;
}

.rapid-offer-body small {
    color: #94a3b8;
    font-size: 14px;
    margin-top: 6px;
    text-decoration: line-through;
}

.rapid-combo-strip {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.rapid-combo-pill {
    background: linear-gradient(135deg, #f7f3ff, #f0fdff);
    border: 1px solid #e9d5ff;
    border-radius: 20px;
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.04);
    color: var(--rapid-ink);
    display: grid;
    gap: 6px;
    min-height: 144px;
    padding: 22px;
    text-decoration: none;
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.rapid-combo-pill:hover {
    border-color: #c4b5fd;
    box-shadow: 0 18px 32px rgba(109, 40, 217, 0.10);
    transform: translateY(-3px);
}

.rapid-combo-pill strong,
.rapid-combo-pill span,
.rapid-combo-pill small {
    display: block;
}

.rapid-combo-pill span {
    color: var(--rapid-text);
    font-size: 14px;
}

.rapid-combo-pill small {
    color: var(--rapid-purple);
    font-size: 24px;
    font-weight: 900;
}

.rapid-btn-primary,
.rapid-btn-secondary {
    border-radius: 999px;
    font-weight: 800;
    min-height: 52px;
    padding: 14px 24px;
}

.rapid-btn-primary {
    background: linear-gradient(135deg, #7c3aed, #22d3ee);
    border: 0;
    box-shadow: 0 14px 28px rgba(109, 40, 217, 0.24);
    color: #ffffff !important;
}

.rapid-btn-primary:hover {
    background: linear-gradient(135deg, #6d28d9, #06b6d4);
}

.rapid-btn-secondary {
    background: rgba(255, 255, 255, 0.85);
    border: 1px solid #d8ccff;
    color: #4c1d95 !important;
}

.rapid-btn-secondary:hover {
    background: #ffffff;
    border-color: #a78bfa;
}

.rapid-stats-grid {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-bottom: 18px;
}

.rapid-stat-card {
    background: rgba(255, 255, 255, 0.88);
    border: 1px solid rgba(196, 181, 253, 0.45);
    border-radius: 22px;
    box-shadow: 0 16px 30px rgba(15, 23, 42, 0.05);
    padding: 18px;
}

.rapid-stat-card strong,
.rapid-stat-card span {
    display: block;
}

.rapid-stat-card strong {
    color: var(--rapid-ink);
    font-size: 30px;
    line-height: 1;
    margin-bottom: 8px;
}

.rapid-stat-card span {
    color: #64748b;
    font-size: 13px;
    font-weight: 700;
}

.rapid-benefits-grid {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.rapid-benefit-card {
    align-items: flex-start;
    background: rgba(255, 255, 255, 0.74);
    border: 1px solid rgba(191, 219, 254, 0.55);
    border-radius: 24px;
    display: flex;
    gap: 14px;
    padding: 18px;
}

.rapid-benefit-icon,
.rapid-service-icon,
.rapid-category-icon,
.rapid-phone-category span {
    align-items: center;
    background: linear-gradient(135deg, rgba(124, 58, 237, 0.14), rgba(34, 211, 238, 0.16));
    border-radius: 18px;
    color: var(--rapid-purple);
    display: inline-flex;
    font-size: 12px;
    font-weight: 900;
    height: 48px;
    justify-content: center;
    min-width: 48px;
}

.rapid-benefit-card h3,
.rapid-service-item strong,
.rapid-category-card strong {
    color: var(--rapid-ink);
    margin-bottom: 6px;
}

.rapid-benefit-card p,
.rapid-service-item p,
.rapid-category-card p {
    color: var(--rapid-text);
    font-size: 14px;
    line-height: 1.6;
    margin: 0;
}

.rapid-summary-grid {
    display: grid;
    gap: 18px;
    grid-template-columns: 1.2fr 1fr 1fr 1fr;
}

.rapid-summary-card {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(247, 250, 255, 0.98)),
        linear-gradient(135deg, rgba(109, 40, 217, 0.05), rgba(6, 182, 212, 0.05));
    border: 1px solid var(--rapid-border);
    border-radius: 26px;
    box-shadow: 0 18px 36px rgba(15, 23, 42, 0.06);
    display: grid;
    gap: 10px;
    padding: 22px;
}

.rapid-summary-card h2,
.rapid-summary-card strong {
    color: var(--rapid-ink);
    line-height: 1.1;
    margin: 0;
}

.rapid-summary-card h2 {
    font-size: 34px;
    letter-spacing: -0.04em;
}

.rapid-summary-card p {
    color: var(--rapid-text);
    line-height: 1.7;
    margin: 0;
}

.rapid-summary-card-wide {
    background:
        radial-gradient(circle at top right, rgba(109, 40, 217, 0.12), transparent 24%),
        linear-gradient(135deg, #ffffff 0%, #f7f3ff 55%, #f2fcff 100%);
}

.rapid-summary-label {
    color: var(--rapid-purple);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.rapid-search-card .btn {
    margin-top: 6px;
    width: fit-content;
}

.rapid-hero-visual {
    display: flex;
    justify-content: center;
}

.rapid-phone-mock {
    background: #0f172a;
    border-radius: 38px;
    box-shadow: 0 30px 55px rgba(15, 23, 42, 0.22);
    padding: 12px;
    position: relative;
    width: 100%;
    max-width: 380px;
}

.rapid-phone-notch {
    background: #020617;
    border-radius: 0 0 18px 18px;
    height: 18px;
    left: 50%;
    position: absolute;
    top: 0;
    transform: translateX(-50%);
    width: 120px;
    z-index: 2;
}

.rapid-phone-screen {
    background: #ffffff;
    border-radius: 28px;
    display: grid;
    gap: 16px;
    min-height: 680px;
    padding: 20px 16px 18px;
}

.rapid-phone-topbar,
.rapid-phone-section-head {
    align-items: center;
    display: flex;
    justify-content: space-between;
}

.rapid-phone-topbar strong {
    color: #111827;
    font-size: 22px;
    font-style: italic;
    font-weight: 900;
    letter-spacing: -0.04em;
}

.rapid-phone-brand {
    display: block;
    height: 28px;
    max-width: 132px;
    object-fit: contain;
    width: 100%;
}

.rapid-phone-burger,
.rapid-phone-actions span {
    background: #cbd5e1;
    border-radius: 999px;
    display: inline-block;
}

.rapid-phone-burger {
    box-shadow: 0 6px 0 #cbd5e1, 0 12px 0 #cbd5e1;
    height: 3px;
    width: 16px;
}

.rapid-phone-actions {
    display: inline-flex;
    gap: 8px;
}

.rapid-phone-actions span {
    height: 14px;
    width: 14px;
}

.rapid-phone-banner {
    align-items: center;
    background: linear-gradient(135deg, #7c3aed, #5b21b6 55%, #22d3ee);
    border-radius: 24px;
    color: #ffffff;
    display: grid;
    gap: 14px;
    grid-template-columns: minmax(0, 1fr) 110px;
    padding: 18px;
    text-decoration: none;
}

.rapid-phone-banner-copy small {
    color: rgba(255, 255, 255, 0.75);
    display: block;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.05em;
    margin-bottom: 10px;
    text-transform: uppercase;
}

.rapid-phone-banner-copy h2 {
    color: #ffffff;
    font-size: 28px;
    line-height: 1.04;
    margin-bottom: 10px;
}

.rapid-phone-banner-copy p {
    color: rgba(255, 255, 255, 0.84);
    font-size: 13px;
    line-height: 1.5;
    margin: 0;
}

.rapid-phone-banner img {
    border-radius: 18px;
    display: block;
    height: 110px;
    object-fit: cover;
    width: 100%;
}

.rapid-phone-section {
    display: grid;
    gap: 12px;
}

.rapid-phone-section-head h3 {
    color: #111827;
    font-size: 18px;
    margin: 0;
}

.rapid-phone-section-head a {
    color: var(--rapid-purple);
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
}

.rapid-phone-categories {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.rapid-phone-category {
    color: #0f172a;
    display: grid;
    gap: 8px;
    justify-items: center;
    text-align: center;
    text-decoration: none;
}

.rapid-phone-category span {
    border-radius: 999px;
    height: 56px;
    min-width: 56px;
}

.rapid-phone-category small {
    color: #475569;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.3;
}

.rapid-phone-products {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.rapid-phone-product {
    color: #111827;
    display: grid;
    gap: 8px;
    text-decoration: none;
}

.rapid-phone-product-image {
    background: linear-gradient(180deg, #f6f5ff, #eefcff);
    border: 1px solid #ede9fe;
    border-radius: 18px;
    overflow: hidden;
    padding: 8px;
}

.rapid-phone-product-image img {
    display: block;
    height: 92px;
    object-fit: cover;
    width: 100%;
}

.rapid-phone-product strong {
    display: -webkit-box;
    font-size: 12px;
    line-height: 1.4;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.rapid-phone-product span {
    color: var(--rapid-purple);
    font-size: 12px;
    font-weight: 900;
}

.rapid-service-strip {
    background: linear-gradient(135deg, #111827, #3b0764 46%, #0891b2);
    border-radius: 28px;
    box-shadow: 0 18px 40px rgba(17, 24, 39, 0.16);
    display: grid;
    gap: 1px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    overflow: hidden;
}

.rapid-service-item {
    align-items: center;
    background: rgba(9, 13, 34, 0.72);
    color: #ffffff;
    display: flex;
    gap: 14px;
    min-height: 108px;
    padding: 20px;
}

.rapid-service-item strong {
    color: #ffffff;
    display: block;
}

.rapid-service-item p {
    color: rgba(226, 232, 240, 0.84);
}

.rapid-service-icon {
    background: rgba(255, 255, 255, 0.10);
    border: 1px solid rgba(255, 255, 255, 0.12);
    color: #67e8f9;
}

.rapid-section-header h2 {
    font-size: 42px;
    margin-bottom: 12px;
}

.rapid-category-grid {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
}

.rapid-category-card {
    background: linear-gradient(180deg, #ffffff 0%, #f9f7ff 100%);
    border: 1px solid var(--rapid-border);
    border-radius: 26px;
    box-shadow: 0 18px 36px rgba(109, 40, 217, 0.07);
    display: block;
    padding: 22px;
    text-decoration: none;
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.rapid-category-card:hover {
    border-color: #a78bfa;
    box-shadow: 0 22px 42px rgba(109, 40, 217, 0.14);
    transform: translateY(-4px);
}

.rapid-category-card small {
    color: var(--rapid-purple);
    display: block;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.04em;
    margin-top: 14px;
    text-transform: uppercase;
}

.rapid-category-icon {
    border-radius: 20px;
    font-size: 18px;
    height: 60px;
    margin-bottom: 16px;
    min-width: 60px;
}

.rapid-product-card,
.rapid-combo-card {
    border: 1px solid #ede9fe;
    box-shadow: 0 16px 34px rgba(15, 23, 42, 0.07);
}

.rapid-product-media {
    background: linear-gradient(180deg, #fbfaff, #f0fdff);
    border-color: #ede9fe;
}

.rapid-product-badge {
    background: linear-gradient(135deg, #6d28d9, #22d3ee);
    box-shadow: 0 10px 18px rgba(109, 40, 217, 0.22);
}

.rapid-product-card .precio,
.rapid-combo-card .home-combo-meta strong {
    color: var(--rapid-purple);
}

.rapid-combo-card {
    background: linear-gradient(160deg, #ffffff, #f5f3ff);
}

.rapid-combos-grid {
    gap: 20px;
}

.slider-destacados {
    background:
        radial-gradient(circle at top right, rgba(255, 255, 255, 0.14), transparent 24%),
        linear-gradient(135deg, var(--rapid-purple-dark), var(--rapid-purple) 55%, var(--rapid-cyan));
    border-radius: 30px;
    box-shadow: 0 24px 52px rgba(91, 33, 182, 0.22);
    padding: 28px;
}

.slider-destacados-item {
    gap: 36px;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 380px);
}

.slider-destacados-contenido h2 {
    font-size: 44px;
    letter-spacing: -0.04em;
}

.slider-destacados-imagen img {
    background: rgba(255, 255, 255, 0.12);
    border-radius: 24px;
    height: 280px;
    object-fit: cover;
    padding: 10px;
}

.slider-control {
    backdrop-filter: blur(8px);
}

@media (max-width: 1080px) {
    .rapid-banner-home,
    .rapid-category-row,
    .rapid-offer-grid,
    .rapid-combo-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .rapid-banner-home {
        padding: 30px;
    }

    .rapid-banner-copy h1 {
        max-width: none;
    }
}

@media (max-width: 760px) {
    .rapid-home {
        gap: 16px;
    }

    .rapid-banner-home,
    .rapid-section-card {
        border-radius: 22px;
        padding: 16px;
    }

    .rapid-banner-home {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .rapid-banner-copy h1 {
        font-size: 30px;
        line-height: 1.02;
        margin-bottom: 8px;
        max-width: 9ch;
    }

    .rapid-banner-copy p {
        font-size: 15px;
        margin-bottom: 16px;
    }

    .rapid-banner-actions {
        gap: 10px;
        margin-bottom: 14px;
    }

    .rapid-banner-meta {
        gap: 8px;
    }

    .rapid-banner-meta span {
        font-size: 11px;
        min-height: 32px;
        padding: 0 10px;
    }

    .rapid-home-head {
        align-items: flex-start;
        display: grid;
        gap: 8px;
    }

    .rapid-category-row {
        gap: 10px;
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .rapid-category-pill {
        gap: 6px;
    }

    .rapid-category-pill span {
        font-size: 18px;
        height: 58px;
        width: 58px;
    }

    .rapid-category-pill strong {
        font-size: 11px;
        line-height: 1.25;
    }

    .rapid-offer-grid {
        gap: 12px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .rapid-combo-strip {
        grid-template-columns: 1fr;
    }

    .rapid-banner-logo {
        margin-bottom: 12px;
        max-width: 138px;
    }

    .rapid-banner-visual img {
        height: 145px;
    }

    .rapid-home-head h2 {
        font-size: 22px;
    }

    .rapid-offer-media {
        min-height: 146px;
        padding: 10px;
    }

    .rapid-offer-media img {
        height: 118px;
    }

    .rapid-offer-discount {
        font-size: 10px;
        left: 8px;
        padding: 5px 8px;
        top: 8px;
    }

    .rapid-offer-body {
        padding-top: 10px;
    }

    .rapid-offer-body h3 a {
        font-size: 13px;
        min-height: 34px;
    }

    .rapid-offer-body strong {
        font-size: 20px;
    }

    .rapid-offer-body small {
        font-size: 12px;
    }

    .rapid-combo-pill {
        padding: 14px 16px;
    }

    .rapid-btn-primary,
    .rapid-btn-secondary {
        min-height: 46px;
        padding: 12px 18px;
        width: fit-content;
    }
}

@media (max-width: 420px) {
    .rapid-home {
        padding-bottom: 24px;
    }

    .rapid-banner-home,
    .rapid-section-card {
        border-radius: 20px;
        padding: 14px;
    }

    .rapid-banner-copy h1 {
        font-size: 26px;
    }

    .rapid-banner-copy p {
        font-size: 14px;
    }

    .rapid-banner-product-card {
        border-radius: 20px;
        min-height: 180px;
        padding: 12px;
    }

    .rapid-category-row {
        gap: 8px;
    }

    .rapid-category-pill span {
        height: 52px;
        width: 52px;
    }

    .rapid-category-pill strong {
        font-size: 10px;
    }

    .rapid-offer-grid {
        gap: 10px;
    }
}

.searchable-select {
    margin-bottom: 12px;
    position: relative;
    width: 100%;
}

.searchable-select-control {
    align-items: stretch;
    display: flex;
    position: relative;
}

.searchable-select-input {
    background: #f8fbff;
    border: 1px solid #bfdbfe;
    border-radius: 10px;
    color: #0f172a;
    font-size: 14px;
    min-height: 44px;
    padding: 10px 42px 10px 12px;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
    width: 100%;
}

.searchable-select-input:focus {
    background: #ffffff;
    border-color: #60a5fa;
    box-shadow: 0 0 0 3px rgba(96, 165, 250, 0.18);
    outline: none;
}

.searchable-select-trigger {
    align-items: center;
    background: transparent;
    border: 0;
    color: #475569;
    cursor: pointer;
    display: inline-flex;
    font-size: 16px;
    inset: 0 10px 0 auto;
    justify-content: center;
    padding: 0;
    position: absolute;
    width: 28px;
}

.searchable-select.is-open .searchable-select-trigger {
    color: #1d4ed8;
}

.searchable-select-dropdown {
    background: #ffffff;
    border: 1px solid #bfdbfe;
    border-radius: 14px;
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.14);
    left: 0;
    margin-top: 6px;
    max-height: 220px;
    overflow-y: auto;
    padding: 8px;
    position: absolute;
    right: 0;
    top: 100%;
    width: 100%;
    z-index: 1000;
}

.searchable-select-options {
    display: grid;
    gap: 2px;
}

.searchable-select-option {
    background: transparent;
    border: 0;
    border-radius: 10px;
    color: #0f172a;
    cursor: pointer;
    font-size: 14px;
    padding: 10px 12px;
    text-align: left;
    width: 100%;
}

.searchable-select-option:hover,
.searchable-select-option.is-active {
    background: #eff6ff;
}

.searchable-select-option.is-selected {
    color: #1d4ed8;
    font-weight: 700;
}

.searchable-select-option:disabled {
    color: #94a3b8;
    cursor: not-allowed;
}

.searchable-select-group {
    color: #64748b;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.05em;
    padding: 8px 12px 4px;
    text-transform: uppercase;
}

.searchable-select-empty {
    color: #64748b;
    display: block;
    font-size: 12px;
    padding: 8px 12px 4px;
}

.searchable-select-native {
    height: 0 !important;
    left: 0;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    width: 0;
}

.searchable-select.is-disabled .searchable-select-input {
    background: #f1f5f9;
    color: #94a3b8;
    cursor: not-allowed;
}

.searchable-select.is-disabled .searchable-select-trigger {
    color: #94a3b8;
    cursor: not-allowed;
}

.contenedor {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
}

.header {
    background: #111827;
    padding: 20px 0;
    margin-bottom: 30px;
}

.logo {
    color: white;
    margin-bottom: 10px;
}

.menu a {
    color: white;
    text-decoration: none;
    margin-right: 15px;
    font-weight: bold;
}

.menu a:hover {
    text-decoration: underline;
}

h2 {
    margin-bottom: 20px;
}

.grid-productos {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 22px;
}

.card-producto {
    background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
    border: 1px solid #e2e8f0;
    border-radius: 20px;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.06);
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 20px;
    position: relative;
    transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

.card-producto-media {
    background: linear-gradient(180deg, #f8fbff, #eef4ff);
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    display: block;
    margin-bottom: 14px;
    overflow: hidden;
    padding: 12px;
    position: relative;
    text-decoration: none;
}

.card-producto-badge {
    background: linear-gradient(135deg, #0f172a, #1d4ed8);
    backdrop-filter: blur(8px);
    border-radius: 999px;
    box-shadow: 0 10px 18px rgba(29, 78, 216, 0.22);
    color: #ffffff;
    display: inline-flex;
    font-size: 11px;
    font-weight: 800;
    left: 12px;
    letter-spacing: 0.04em;
    padding: 6px 10px;
    position: absolute;
    text-transform: uppercase;
    top: 12px;
    z-index: 1;
}

.card-producto-imagen {
    display: block;
    height: 220px;
    object-fit: cover;
    transition: transform 0.28s ease;
    width: 100%;
}

.card-producto:hover {
    border-color: #bfdbfe;
    box-shadow: 0 18px 38px rgba(37, 99, 235, 0.12);
    transform: translateY(-4px);
}

.card-producto:hover .card-producto-imagen {
    transform: scale(1.04);
}

.card-producto-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 16px;
}

.card-producto-top {
    display: grid;
    gap: 2px;
}

.card-producto h3 {
    color: #0f172a;
    font-size: 21px;
    line-height: 1.18;
    margin-bottom: 10px;
}

.card-producto-titulo {
    color: inherit;
    text-decoration: none;
}

.card-producto-titulo:hover {
    color: #1d4ed8;
}

.auth-shell {
    padding: 32px 0 44px;
}

.auth-layout {
    align-items: stretch;
    display: grid;
    gap: 24px;
    grid-template-columns: minmax(0, 1.05fr) minmax(360px, 0.95fr);
    margin: 0 auto;
    max-width: 1180px;
}

.auth-showcase {
    background:
        radial-gradient(circle at top left, rgba(125, 211, 252, 0.26), transparent 30%),
        radial-gradient(circle at bottom right, rgba(96, 165, 250, 0.18), transparent 26%),
        linear-gradient(145deg, #0f172a 0%, #0b3b8f 52%, #38bdf8 100%);
    border: 1px solid rgba(125, 211, 252, 0.22);
    border-radius: 30px;
    box-shadow: 0 28px 60px rgba(15, 23, 42, 0.18);
    color: #ffffff;
    overflow: hidden;
    padding: 34px 30px;
    position: relative;
}

.auth-showcase::before,
.auth-showcase::after {
    background: rgba(255, 255, 255, 0.08);
    border-radius: 999px;
    content: "";
    position: absolute;
}

.auth-showcase::before {
    height: 180px;
    right: -40px;
    top: -60px;
    width: 180px;
}

.auth-showcase::after {
    bottom: -70px;
    height: 220px;
    left: -40px;
    width: 220px;
}

.auth-showcase > * {
    position: relative;
    z-index: 1;
}

.auth-eyebrow {
    background: rgba(255, 255, 255, 0.14);
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 999px;
    display: inline-flex;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.08em;
    margin-bottom: 18px;
    padding: 8px 12px;
    text-transform: uppercase;
}

.auth-showcase h1 {
    font-size: clamp(30px, 4vw, 46px);
    letter-spacing: -0.03em;
    line-height: 1.05;
    margin-bottom: 16px;
    max-width: 12ch;
}

.auth-lead {
    color: rgba(226, 232, 240, 0.92);
    font-size: 16px;
    line-height: 1.7;
    margin: 0 0 24px;
    max-width: 58ch;
}

.auth-layout-login .auth-showcase h1,
.auth-layout-register .auth-showcase h1 {
    font-size: clamp(30px, 4vw, 42px);
    margin-bottom: 10px;
    max-width: 14ch;
}

.auth-layout-login .auth-lead,
.auth-layout-register .auth-lead {
    line-height: 1.5;
    margin-bottom: 0;
    max-width: 30ch;
}

.auth-layout-login .auth-showcase,
.auth-layout-register .auth-showcase {
    align-self: start;
    min-height: 0;
    padding: 30px 28px;
}

.auth-feature-list {
    display: grid;
    gap: 14px;
    margin-bottom: 24px;
}

.auth-feature-list article {
    backdrop-filter: blur(6px);
    background: rgba(255, 255, 255, 0.10);
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 20px;
    padding: 18px;
}

.auth-feature-list strong,
.auth-feature-list span {
    display: block;
}

.auth-feature-list strong {
    font-size: 15px;
    margin-bottom: 6px;
}

.auth-feature-list span {
    color: rgba(226, 232, 240, 0.88);
    line-height: 1.6;
}

.auth-card {
    background: linear-gradient(180deg, #ffffff, #f8fbff);
    border: 1px solid #dbeafe;
    border-radius: 30px;
    box-shadow: 0 24px 50px rgba(15, 23, 42, 0.10);
    margin: 0 auto;
    max-width: 520px;
    padding: 30px;
    width: 100%;
}

.auth-card h2 {
    color: #0f172a;
    font-size: 32px;
    letter-spacing: -0.03em;
    margin-bottom: 8px;
}

.auth-form-card {
    align-self: center;
}

.auth-panel-kicker {
    color: #2563eb;
    display: inline-block;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.08em;
    margin-bottom: 12px;
    text-transform: uppercase;
}

.auth-panel-copy {
    color: #64748b;
    line-height: 1.7;
    margin: 0 0 8px;
}

.auth-form {
    margin-top: 18px;
}

.auth-form-grid {
    display: grid;
    gap: 0 14px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.auth-grid-full {
    grid-column: 1 / -1;
}

.auth-password-field {
    align-items: center;
    display: flex;
    gap: 10px;
}

.auth-password-field input {
    flex: 1;
}

.auth-toggle-password {
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    border-radius: 8px;
    color: #1d4ed8;
    cursor: pointer;
    flex-shrink: 0;
    font-size: 13px;
    font-weight: 700;
    min-width: 88px;
    padding: 10px 12px;
}

.auth-toggle-password:hover {
    background: #dbeafe;
}

.auth-toggle-password:focus,
.auth-toggle-password:focus-visible {
    outline: 2px solid #93c5fd;
    outline-offset: 2px;
}

.auth-help-row {
    color: #64748b;
    margin-top: 10px;
}

.auth-help-row small {
    display: block;
    line-height: 1.5;
}

.auth-submit-btn {
    background: linear-gradient(135deg, #0f172a, #2563eb);
    border: 1px solid #1d4ed8;
    border-radius: 14px;
    box-shadow: 0 18px 34px rgba(37, 99, 235, 0.22);
    font-size: 15px;
    font-weight: 800;
    min-height: 54px;
    width: 100%;
}

.auth-submit-btn:hover,
.auth-submit-btn:focus {
    background: linear-gradient(135deg, #111827, #1d4ed8);
}

.auth-divider {
    align-items: center;
    color: #94a3b8;
    display: flex;
    font-size: 13px;
    gap: 12px;
    margin: 22px 0 10px;
}

.auth-divider::before,
.auth-divider::after {
    background: linear-gradient(90deg, rgba(148, 163, 184, 0), rgba(148, 163, 184, 0.65), rgba(148, 163, 184, 0));
    content: "";
    flex: 1;
    height: 1px;
}

.auth-divider span {
    display: inline-block;
    padding: 0 4px;
}

.auth-switch-link {
    color: #475569;
    margin-top: 15px;
    text-align: center;
}

.auth-switch-link a {
    color: #1d4ed8;
    font-weight: 700;
    text-decoration: none;
}

.auth-switch-link a:hover {
    text-decoration: underline;
}

.auth-card-admin {
    max-width: 480px;
}

.auth-admin-copy {
    color: #64748b;
    margin: 0 0 4px;
}

.card-producto p {
    color: #64748b;
    line-height: 1.6;
    margin-bottom: 10px;
}

.card-producto-descripcion {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    overflow: hidden;
}

.card-producto-footer {
    align-items: end;
    border-top: 1px solid #eef2f7;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    margin-top: auto;
    padding-top: 14px;
}

.card-producto-precio-wrap {
    min-width: 0;
}

.card-producto-precio-label {
    color: #64748b;
    display: block;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.04em;
    margin-bottom: 6px;
    text-transform: uppercase;
}

.card-producto .btn {
    background: linear-gradient(135deg, #0f172a, #1d4ed8);
    border: 1px solid #1d4ed8;
    box-shadow: 0 10px 20px rgba(29, 78, 216, 0.18);
    color: #ffffff;
    margin-top: auto;
}

.card-producto .btn:hover {
    background: linear-gradient(135deg, #111827, #1e40af);
    border-color: #1e40af;
    color: #ffffff;
}

.card-producto .btn:focus,
.card-producto .btn:focus-visible {
    background: linear-gradient(135deg, #111827, #1e40af);
    border-color: #1e40af;
    color: #ffffff;
    outline: 2px solid #93c5fd;
    outline-offset: 2px;
}

.producto-codigo {
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    border-radius: 999px;
    color: #1d4ed8;
    display: inline-block;
    font-size: 12px;
    font-weight: bold;
    letter-spacing: 0.03em;
    margin-bottom: 10px;
    padding: 6px 10px;
    text-transform: uppercase;
}

.producto-codigo-detalle {
    margin-bottom: 14px;
}

.precio {
    font-size: 20px;
    font-weight: bold;
    color: #0f766e;
    margin-bottom: 0;
}

.btn {
    display: inline-block;
    background: #2563eb;
    color: white;
    text-decoration: none;
    padding: 10px 14px;
    border-radius: 6px;
}

.btn:hover {
    background: #1d4ed8;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

.d-none {
    display: none !important;
}


html, body {
    height: 100%;
}

body {
    font-family: Arial, sans-serif;
    background: #f8f9fa;
    color: #222;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

.contenedor {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
}

.header {
    background: #0b132b;
    padding: 20px 0;
}

.logo {
    color: white;
    margin-bottom: 10px;
}

.menu a {
    color: white;
    text-decoration: none;
    margin-right: 15px;
    font-weight: bold;
}

.menu a:hover {
    text-decoration: underline;
}

.contenido-principal {
    background: #f8f9fa;
    flex: 1 0 auto;
    min-width: 0;
    padding: 30px 0;
}

h2 {
    margin-bottom: 20px;
}

.grid-productos {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 20px;
}

.card-producto {
    background: white;
    border-radius: 10px;
    padding: 20px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.card-producto h3 {
    margin-bottom: 10px;
}

.card-producto p {
    margin-bottom: 10px;
}

.precio {
    font-size: 20px;
    font-weight: bold;
    color: #0f766e;
}

.btn {
    display: inline-block;
    background: #2563eb;
    color: white;
    text-decoration: none;
    padding: 10px 14px;
    border-radius: 6px;
}

.btn:hover {
    background: #1d4ed8;
}

.btn-carrito {
    background: linear-gradient(135deg, #0f172a, #1d4ed8);
    box-shadow: 0 10px 22px rgba(29, 78, 216, 0.28);
    font-weight: bold;
}

.btn-carrito:hover {
    background: linear-gradient(135deg, #111827, #1e40af);
}

.btn-secundario-claro {
    background: #f8fafc;
    border: 1px solid #bfdbfe;
    color: #1d4ed8;
}

.btn-secundario-claro:hover {
    background: #eff6ff;
    color: #1e3a8a;
}

.footer {
    background:
        radial-gradient(circle at top left, rgba(96, 165, 250, 0.18), transparent 28%),
        linear-gradient(135deg, #0b3b8f 0%, #0f172a 100%);
    border-top: 1px solid rgba(147, 197, 253, 0.28);
    color: white;
    margin-top: auto;
    padding: 24px 0 28px;
    text-align: center;
}

.footer .contenedor {
    max-width: 1200px;
}

.footer p {
    color: #dbeafe;
    line-height: 1.7;
    margin: 0;
}

.footer p + p {
    margin-top: 6px;
}

.footer-cliente {
    background:
        radial-gradient(circle at top left, rgba(192, 38, 211, 0.18), transparent 24%),
        radial-gradient(circle at top right, rgba(34, 211, 238, 0.18), transparent 26%),
        linear-gradient(135deg, #070b18 0%, #111827 32%, #3b0764 64%, #0f766e 100%);
    border-top: 1px solid rgba(125, 211, 252, 0.18);
    padding: 38px 0 24px;
    text-align: left;
}

.footer-cliente .contenedor {
    max-width: 1240px;
}

.footer-cliente-grid {
    display: grid;
    align-items: start;
    gap: 30px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.footer-brand,
.footer-links,
.footer-about,
.footer-contacto {
    backdrop-filter: none;
    background: transparent;
    border: none;
    border-radius: 0;
    box-shadow: none;
    padding: 0;
}

.footer-brand-lockup {
    align-items: center;
    display: flex;
    gap: 14px;
    justify-content: flex-start;
    margin-bottom: 16px;
}

.footer-brand img,
.footer-logo {
    display: block;
    filter: drop-shadow(0 2px 6px rgba(255, 255, 255, 0.08));
    flex-shrink: 0;
    height: auto;
    max-height: none;
    max-width: 100%;
    object-fit: contain;
    width: 200px;
}

.footer-brand-copy {
    display: grid;
    gap: 6px;
}

.footer-brand-kicker {
    color: rgba(125, 211, 252, 0.92);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.footer-brand-copy strong {
    color: #ffffff;
    font-size: 26px;
    letter-spacing: -0.03em;
}

.footer-brand p {
    color: rgba(226, 232, 240, 0.84);
    line-height: 1.7;
    margin: 0 0 16px;
    max-width: 440px;
}

.footer-brand-highlights {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.footer-brand-highlights span {
    align-items: center;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.10);
    border-radius: 999px;
    color: #e2e8f0;
    display: inline-flex;
    font-size: 12px;
    font-weight: 700;
    min-height: 34px;
    padding: 0 12px;
}

.footer-links,
.footer-about,
.footer-contacto {
    display: grid;
    align-content: start;
    gap: 10px;
}

.footer-about {
    align-self: start;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 8px;
    gap: 0;
    overflow: hidden;
}

.footer-about-toggle {
    align-items: center;
    background: transparent;
    border: 0;
    color: #ffffff;
    cursor: pointer;
    display: flex;
    font: inherit;
    font-size: 15px;
    font-weight: 700;
    justify-content: space-between;
    letter-spacing: 0.03em;
    margin: 0;
    padding: 14px 16px;
    text-align: left;
    width: 100%;
}

.footer-about-toggle:hover,
.footer-about-toggle:focus-visible {
    background: rgba(255, 255, 255, 0.08);
    outline: none;
}

.footer-about-toggle:focus-visible {
    box-shadow: inset 0 0 0 2px rgba(103, 232, 249, 0.75);
}

.footer-about-arrow {
    border-bottom: 2px solid currentColor;
    border-right: 2px solid currentColor;
    display: inline-block;
    height: 9px;
    margin-left: 14px;
    transform: rotate(45deg);
    transition: transform 0.25s ease;
    width: 9px;
}

.footer-about.is-open .footer-about-arrow {
    transform: rotate(225deg);
}

.footer-about-panel {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
}

.footer-about-content {
    display: grid;
    gap: 10px;
    padding: 0 16px 16px;
}

.footer-links strong,
.footer-about strong,
.footer-contacto strong {
    color: #ffffff;
    font-size: 15px;
    letter-spacing: 0.03em;
}

.footer-links a,
.footer-about a,
.footer-about p,
.footer-contacto span {
    color: rgba(226, 232, 240, 0.82);
    line-height: 1.6;
    text-decoration: none;
}

.footer-about p {
    margin: 0;
}

.footer-links a:hover,
.footer-about a:hover {
    color: #67e8f9;
}

.footer-whatsapp {
    align-items: center;
    background: #22c55e !important;
    border: 1px solid #22c55e !important;
    border-radius: 999px;
    color: #ffffff !important;
    display: inline-flex;
    font-weight: 800;
    justify-self: start;
    line-height: 1;
    margin-top: 4px;
    padding: 10px 18px !important;
    text-decoration: none;
    transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.footer-whatsapp:hover {
    background: #16a34a !important;
    border-color: #16a34a !important;
    color: #ffffff !important;
    text-decoration: none !important;
    transform: translateY(-1px);
}

.footer-bottom {
    border-top: 1px solid rgba(255, 255, 255, 0.10);
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 26px;
    padding-top: 18px;
    text-align: center;
}

.footer-bottom p {
    color: rgba(226, 232, 240, 0.6);
    font-size: 14px;
    margin: 0;
}

.footer-nova {
    background:
        radial-gradient(circle at top left, rgba(109, 40, 217, 0.18), transparent 24%),
        linear-gradient(135deg, #020617 0%, #1e1b4b 48%, #0f766e 100%);
}


.producto-detalle {
    display: flex;
    gap: 40px;
    margin-top: 20px;
}

.producto-info {
    max-width: 520px;
}

/* Final checkout step overrides */
.checkout-steps-progress {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.checkout-step-panel {
    display: none;
}

.checkout-step-panel.is-active {
    display: block;
}

.checkout-submit-row {
    align-items: center;
    background: #ffffff;
    border: 1px solid #dbeafe;
    border-radius: 18px;
    box-shadow: 0 16px 34px rgba(15, 23, 42, 0.07);
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: space-between;
    margin-top: 18px;
    padding: 14px;
}

.checkout-step-prev,
.checkout-step-next,
.checkout-step-confirm {
    align-items: center;
    border-radius: 14px;
    display: inline-flex;
    justify-content: center;
    margin: 0;
    min-height: 48px;
}

/* Checkout 3-step flow */
.checkout-steps-progress {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-bottom: 24px;
}

.checkout-steps-progress span {
    cursor: pointer;
}

.checkout-steps-progress span:last-child:not([data-step-indicator]) {
    display: none;
}

.checkout-step-panel {
    animation: checkoutStepFade 0.22s ease both;
    display: none;
}

.checkout-step-panel.is-active {
    display: block;
}

.checkout-submit-row {
    background: #ffffff;
    border: 1px solid #dbeafe;
    border-radius: 18px;
    box-shadow: 0 16px 34px rgba(15, 23, 42, 0.07);
    justify-content: space-between;
    margin-top: 18px;
    padding: 14px;
}

.checkout-step-prev,
.checkout-step-next,
.checkout-step-confirm {
    align-items: center;
    border-radius: 14px;
    display: inline-flex;
    justify-content: center;
    margin: 0;
    min-height: 48px;
}

.checkout-step-confirm {
    background: linear-gradient(135deg, #0f766e, #1d4ed8);
    border: 0;
    box-shadow: 0 14px 28px rgba(29, 78, 216, 0.22);
}

@keyframes checkoutStepFade {
    from {
        opacity: 0;
        transform: translateY(8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 900px) {
    .checkout-grid[data-current-step="1"] .checkout-summary-card,
    .checkout-grid[data-current-step="2"] .checkout-summary-card {
        display: none;
    }

    .checkout-grid[data-current-step="3"] .checkout-summary-card {
        display: block;
    }

    .checkout-submit-row {
        bottom: 0;
        left: 0;
        margin: 18px 0 0;
        position: sticky;
        right: 0;
        z-index: 45;
    }
}

@media (max-width: 640px) {
    .checkout-steps-progress {
        gap: 6px;
        padding: 8px;
    }

    .checkout-steps-progress span {
        font-size: 12px;
        min-height: 44px;
        padding: 6px;
    }

    .checkout-submit-row {
        align-items: stretch;
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .checkout-submit-row > a:first-child {
        grid-column: 1 / -1;
        justify-content: center;
    }

    .checkout-step-confirm {
        grid-column: 1 / -1;
    }
}

.producto-info p {
    margin-bottom: 10px;
}

.producto-descripcion-bloque {
    color: #0f172a;
    margin-top: 14px;
    max-width: 1100px;
}

.producto-descripcion-bloque > strong {
    display: block;
    font-size: 15px;
    margin-bottom: 10px;
}

.producto-descripcion-texto {
    color: #334155;
    font-size: 16px;
    line-height: 1.72;
    max-width: 62ch;
    overflow-wrap: anywhere;
    white-space: normal;
}

.producto-descripcion-texto p {
    margin: 0 0 14px;
}

.producto-descripcion-bajo-imagen {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    box-shadow: 0 16px 34px rgba(15, 23, 42, 0.06);
    margin-top: 22px;
    padding: 22px;
    width: 100%;
}

.producto-descripcion-bajo-imagen .producto-descripcion-texto {
    max-width: 100%;
}

.producto-imagen img {
    border-radius: 10px;
}

.producto-galeria {
    display: grid;
    gap: 14px;
}

.producto-imagen-principal img,
.producto-imagen-secundaria img,
.producto-imagen-miniatura img {
    display: block;
    object-fit: cover;
    width: 100%;
}

.producto-imagen-principal img {
    height: 320px;
}

.producto-imagen-principal {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    overflow: hidden;
    position: relative;
}

.producto-imagen-principal img {
    cursor: zoom-in;
    transition: transform 0.35s ease;
}

.producto-imagen-principal:hover img {
    transform: scale(1.65);
}

.producto-imagen-secundaria img {
    height: 180px;
}

.producto-imagen-miniaturas {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(auto-fit, minmax(92px, 1fr));
}

.producto-imagen-miniatura {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    overflow: hidden;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.producto-imagen-miniatura.is-active {
    border-color: #0b2f66;
    box-shadow: 0 0 0 3px rgba(11, 47, 102, 0.12);
}

.producto-imagen-miniatura:hover {
    border-color: #93c5fd;
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.10);
    transform: translateY(-1px);
}

.producto-imagen-miniatura img {
    height: 96px;
}

@media (max-width: 768px) {
    .producto-imagen-principal:hover img {
        transform: none;
    }

}

.producto-lightbox-abierto {
    overflow: hidden;
}

.producto-lightbox {
    align-items: center;
    background: rgba(2, 6, 23, 0.88);
    display: none;
    inset: 0;
    justify-content: center;
    padding: 28px;
    position: fixed;
    z-index: 1000;
}

.producto-lightbox.is-open {
    display: flex;
}

.producto-lightbox-contenido {
    align-items: center;
    display: grid;
    gap: 12px;
    justify-items: center;
    margin: 0;
    max-height: calc(100vh - 56px);
    max-width: min(1100px, calc(100vw - 120px));
}

.producto-lightbox-contenido img {
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 26px 80px rgba(0, 0, 0, 0.45);
    display: block;
    max-height: calc(100vh - 116px);
    max-width: 100%;
    object-fit: contain;
}

.producto-lightbox-contenido figcaption {
    color: #e2e8f0;
    font-size: 14px;
    font-weight: 700;
    min-height: 20px;
    text-align: center;
}

.producto-lightbox-cerrar,
.producto-lightbox-nav {
    align-items: center;
    background: rgba(15, 23, 42, 0.74);
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 999px;
    color: #ffffff;
    cursor: pointer;
    display: inline-flex;
    justify-content: center;
    position: fixed;
    transition: background 0.2s ease, transform 0.2s ease;
}

.producto-lightbox-cerrar:hover,
.producto-lightbox-cerrar:focus-visible,
.producto-lightbox-nav:hover,
.producto-lightbox-nav:focus-visible {
    background: rgba(37, 99, 235, 0.86);
    transform: translateY(-1px);
}

.producto-lightbox-cerrar {
    font-size: 32px;
    height: 46px;
    line-height: 1;
    right: 24px;
    top: 24px;
    width: 46px;
}

.producto-lightbox-nav {
    font-size: 42px;
    height: 56px;
    top: 50%;
    transform: translateY(-50%);
    width: 56px;
}

.producto-lightbox-nav:hover,
.producto-lightbox-nav:focus-visible {
    transform: translateY(calc(-50% - 1px));
}

.producto-lightbox-prev {
    left: 24px;
}

.producto-lightbox-next {
    right: 24px;
}

@media (max-width: 720px) {
    .producto-lightbox {
        padding: 18px;
    }

    .producto-lightbox-contenido {
        max-width: 100%;
    }

    .producto-lightbox-contenido img {
        max-height: calc(100vh - 128px);
    }

    .producto-lightbox-cerrar {
        height: 42px;
        right: 12px;
        top: 12px;
        width: 42px;
    }

    .producto-lightbox-nav {
        bottom: 18px;
        font-size: 34px;
        height: 46px;
        top: auto;
        transform: none;
        width: 46px;
    }

    .producto-lightbox-nav:hover,
    .producto-lightbox-nav:focus-visible {
        transform: translateY(-1px);
    }

    .producto-lightbox-prev {
        left: calc(50% - 58px);
    }

    .producto-lightbox-next {
        right: calc(50% - 58px);
    }
}

/* Product detail: vertical ecommerce content */
.producto-info-stack {
    display: grid;
    gap: clamp(18px, 3vw, 26px);
}

.producto-info-stack .producto-tabs-nav {
    display: none;
}

.producto-info-section {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 20px;
    box-shadow: 0 16px 38px rgba(15, 23, 42, 0.06);
    display: grid;
    gap: 18px;
    padding: clamp(18px, 3vw, 26px);
}

.producto-info-hero {
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    border-color: #dbeafe;
}

.producto-info-section .producto-descripcion-premium {
    margin-bottom: 0;
}

.producto-info-section .producto-descripcion-head,
.producto-info-section .producto-spec-head {
    box-shadow: none;
    margin: 0;
}

.producto-info-section .producto-spec-head h3 {
    color: #0f172a;
    font-size: clamp(20px, 2.4vw, 28px);
    line-height: 1.18;
    margin: 0 0 8px;
}

.producto-info-section > .producto-descripcion-texto {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    padding: clamp(16px, 2.4vw, 22px);
}

.producto-info-section > strong {
    color: #0f4aa8;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.06em;
    margin-bottom: -10px;
    text-transform: uppercase;
}

.producto-info-hero > strong {
    display: none;
}

.producto-application-grid,
.producto-compat-grid {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 0;
}

.producto-application-grid article,
.producto-compat-grid div {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
    padding: 16px;
}

.producto-application-grid article {
    display: flex;
    gap: 12px;
}

.producto-application-grid article > span {
    align-items: center;
    background: #eff6ff;
    border-radius: 14px;
    color: #1d4ed8;
    display: inline-flex;
    flex: 0 0 44px;
    font-size: 22px;
    height: 44px;
    justify-content: center;
    width: 44px;
}

.producto-application-grid strong,
.producto-compat-grid dd {
    color: #0f172a;
    font-size: 15px;
    font-weight: 850;
}

.producto-application-grid p {
    color: #64748b;
    font-size: 13px;
    line-height: 1.55;
    margin: 6px 0 0;
}

.producto-compat-grid dt {
    color: #1d4ed8;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.05em;
    margin-bottom: 6px;
    text-transform: uppercase;
}

.producto-compat-grid dd {
    margin: 0;
}

@media (max-width: 880px) {
    .producto-application-grid,
    .producto-compat-grid {
        grid-template-columns: 1fr;
    }

    .producto-info-section {
        border-radius: 18px;
    }
}

.producto-imagen-vacia {
    align-items: center;
    background: #f8fafc;
    border-radius: 10px;
    display: flex;
    height: 320px;
    justify-content: center;
    width: 300px;
}

.producto-imagen-vacia img {
    border-radius: 10px;
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.form-agregar-carrito {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    margin-top: 18px;
    padding: 16px;
}

.producto-acciones {
    align-items: center;
    display: flex;
    gap: 12px;
}

.producto-acciones input {
    max-width: 110px;
}

.producto-acciones .btn {
    margin-top: 0;
}

table {
    background: white;
    border-collapse: collapse;
    margin-top: 20px;
}

th {
    background: #111827;
    color: white;
}

th, td {
    padding: 12px;
    text-align: left;
}

.btn-mini {
    display: inline-block;
    background: #2563eb;
    color: white;
    text-decoration: none;
    padding: 6px 10px;
    border-radius: 5px;
    margin-right: 5px;
}

.btn-mini:hover {
    background: #1d4ed8;
}

.producto-field-head {
    align-items: center;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    margin-top: 12px;
}

.producto-field-head label {
    margin: 0;
}

.producto-quick-button {
    border: 0;
    cursor: pointer;
    font: inherit;
    margin-right: 0;
    white-space: nowrap;
}

.acciones-carrito,
.carrito-resumen-acciones {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.acciones-carrito .btn-mini,
.carrito-resumen-acciones .btn {
    margin-right: 0;
}

.btn-cantidad {
    align-items: center;
    border-radius: 999px;
    display: inline-flex;
    font-size: 16px;
    font-weight: bold;
    height: 34px;
    justify-content: center;
    padding: 0;
    width: 34px;
}

.carrito-resumen-acciones {
    justify-content: flex-end;
    margin-top: 20px;
}

.tabla-carrito-wrap {
    width: 100%;
}

.tabla-carrito {
    width: 100%;
}

.btn-rojo {
    background: #dc2626;
}

.btn-rojo:hover {
    background: #b91c1c;
}

.checkout-grid {
    display: grid;
    align-items: start;
    grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.95fr);
    gap: 30px;
    margin-top: 20px;
}

.checkout-hero {
    align-items: center;
    background: linear-gradient(135deg, #ffffff, #eff6ff);
    border: 1px solid #bfdbfe;
    border-radius: 8px;
    box-shadow: 0 20px 45px rgba(29, 78, 216, 0.08);
    display: flex;
    gap: 24px;
    justify-content: space-between;
    margin-bottom: 24px;
    padding: 28px 30px;
}

.checkout-hero h2 {
    color: #111827;
    margin-bottom: 8px;
}

.checkout-hero .dashboard-label,
.checkout-card-head .dashboard-label {
    color: #1d4ed8;
    font-weight: 800;
    letter-spacing: 0.06em;
}

.checkout-hero p:last-child {
    color: #4b5563;
    line-height: 1.6;
    margin: 0;
    max-width: 640px;
}

.checkout-hero-badge {
    background: #ffffff;
    border: 1px solid #bfdbfe;
    border-radius: 8px;
    min-width: 170px;
    padding: 18px 20px;
    text-align: center;
}

.checkout-hero-badge strong {
    color: #1d4ed8;
    display: block;
    font-size: 34px;
    line-height: 1;
    margin-bottom: 6px;
}

.checkout-hero-badge span {
    color: #6b7280;
    font-size: 13px;
    font-weight: 600;
}

.checkout-card {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    box-shadow: 0 20px 45px rgba(15, 23, 42, 0.08);
    overflow: hidden;
}

.checkout-card-head {
    border-bottom: 1px solid #f3f4f6;
    padding: 26px 28px 20px;
}

.checkout-card-head h3 {
    color: #111827;
    margin-bottom: 8px;
}

.checkout-card-head p:last-child {
    color: #6b7280;
    line-height: 1.6;
    margin: 0;
}

.checkout-form-card form {
    padding: 0 28px 28px;
}

.checkout-section {
    border-bottom: 1px solid #f3f4f6;
    padding: 22px 0;
}

.checkout-section:last-of-type {
    border-bottom: none;
}

.checkout-section-head {
    margin-bottom: 14px;
}

.checkout-section-head h4 {
    color: #111827;
    font-size: 17px;
    margin-bottom: 6px;
}

.checkout-section-head p {
    color: #6b7280;
    line-height: 1.5;
    margin: 0;
}

.checkout-form-grid {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.checkout-form-grid-full {
    grid-column: 1 / -1;
}

.checkout-address-block {
    margin-top: 12px;
}

.checkout-form-card form label {
    color: #374151;
    font-size: 14px;
    font-weight: 700;
    margin-top: 0;
}

.checkout-form-card form input,
.checkout-form-card form select,
.checkout-form-card form textarea {
    background: #f9fafb;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    color: #111827;
    padding: 12px 14px;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.checkout-form-card form input:focus,
.checkout-form-card form select:focus,
.checkout-form-card form textarea:focus {
    background: #ffffff;
    border-color: #93c5fd;
    box-shadow: 0 0 0 4px rgba(147, 197, 253, 0.28);
    outline: none;
}

.checkout-form-card form input[readonly] {
    background: #f3f4f6;
    color: #6b7280;
}

.checkout-payment-summary {
    align-items: center;
    background: #ffffff;
    border: 1px solid #dbeafe;
    border-radius: 8px;
    display: flex;
    gap: 16px;
    justify-content: space-between;
    margin-bottom: 16px;
    padding: 16px 18px;
}

.checkout-payment-summary strong {
    color: #1d4ed8;
    display: block;
    font-size: 24px;
    margin-top: 4px;
}

.checkout-mini-label {
    color: #6b7280;
    display: block;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.checkout-login-card {
    background: white;
    border: 1px solid #dbeafe;
    border-radius: 8px;
    box-shadow: 0 18px 45px rgba(29, 78, 216, 0.12);
    margin: 30px auto;
    max-width: 720px;
    padding: 32px;
    text-align: center;
}

.checkout-login-card .dashboard-label {
    color: #1d4ed8;
}

.checkout-login-card h2 {
    color: #0f172a;
}

.checkout-login-card p {
    color: #4b5563;
    line-height: 1.6;
    margin-bottom: 18px;
}

.checkout-login-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: center;
    margin: 20px 0;
}

.btn-violeta {
    background: linear-gradient(135deg, #0f172a, #1d4ed8);
}

.btn-violeta:hover {
    background: linear-gradient(135deg, #111827, #1e40af);
}

.checkout-login-note {
    color: #6b7280 !important;
    font-size: 14px;
    margin-bottom: 0 !important;
}

.checkout-acceso-cuenta {
    align-items: center;
    background: #ffffff;
    border: 1px solid #dbeafe;
    border-radius: 16px;
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.07);
    display: flex;
    gap: 16px;
    justify-content: space-between;
    margin: 16px 0 4px;
    padding: 16px;
}

.checkout-acceso-cuenta-texto {
    min-width: 0;
}

.checkout-acceso-cuenta-texto .dashboard-label {
    color: #1d4ed8;
    margin-bottom: 5px;
}

.checkout-acceso-cuenta-texto h4 {
    color: #0f172a;
    font-size: 18px;
    line-height: 1.2;
    margin: 0 0 4px;
}

.checkout-acceso-cuenta-texto p:last-child {
    color: #64748b;
    font-size: 14px;
    line-height: 1.45;
    margin: 0;
}

.checkout-acceso-cuenta-acciones {
    display: flex;
    flex: 0 0 auto;
    gap: 10px;
}

.checkout-beneficio-registro {
    background: linear-gradient(135deg, #eff6ff, #dbeafe);
    border: 1px solid #93c5fd;
    border-radius: 18px;
    box-shadow: 0 18px 40px rgba(37, 99, 235, 0.10);
    margin: 22px 0 6px;
    padding: 18px 20px;
}

.checkout-beneficio-registro h4 {
    color: #0f172a;
    font-size: 22px;
    line-height: 1.15;
    margin-bottom: 8px;
}

.checkout-beneficio-registro p:last-of-type {
    color: #475569;
    line-height: 1.6;
    margin-bottom: 0;
}

.checkout-beneficio-registro-acciones {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 16px;
}

.checkout-beneficio-registro-activo {
    background: linear-gradient(135deg, #ecfdf5, #d1fae5);
    border-color: #6ee7b7;
    box-shadow: 0 18px 40px rgba(16, 185, 129, 0.10);
}

.checkout-beneficio-total {
    color: #059669;
}

.auth-beneficio-card {
    background: linear-gradient(135deg, #eff6ff, #dbeafe);
    border: 1px solid #93c5fd;
    border-radius: 18px;
    box-shadow: 0 18px 36px rgba(14, 116, 144, 0.12);
    color: #1e3a8a;
    margin-bottom: 18px;
    padding: 16px 18px;
    text-align: left;
}

.auth-beneficio-card strong {
    color: #1d4ed8;
    display: block;
    font-size: 15px;
    margin-bottom: 6px;
}

.checkout-account-suggestion {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 20px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);
    margin: 28px auto 0;
    max-width: 620px;
    padding: 22px;
    text-align: left;
}

.checkout-account-suggestion h3 {
    color: #111827;
    font-size: clamp(20px, 3vw, 26px);
    line-height: 1.2;
    margin: 4px 0 14px;
}

.checkout-account-benefits {
    color: #374151;
    display: grid;
    gap: 8px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.checkout-account-benefits li {
    align-items: center;
    display: flex;
    gap: 8px;
}

.checkout-account-benefits li::before {
    background: #111827;
    border-radius: 999px;
    content: "";
    display: inline-block;
    flex: 0 0 auto;
    height: 6px;
    width: 6px;
}

.checkout-account-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 18px;
}

.checkout-account-note {
    color: #6b7280;
    font-size: 13px;
    line-height: 1.5;
    margin: 14px 0 0;
}

.auth-guest-prefill {
    background: #f8f9fa;
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    display: grid;
    gap: 4px;
    padding: 14px 16px;
}

.auth-guest-prefill span {
    color: #6b7280;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.auth-guest-prefill strong {
    color: #111827;
    font-size: 16px;
}

.auth-guest-prefill small {
    color: #4b5563;
    line-height: 1.4;
}

.checkout-check-line {
    align-items: center;
    display: flex;
    gap: 10px;
    margin-top: 4px;
}

.checkout-check-line input {
    margin: 0;
    width: auto;
}

form label {
    display: block;
    margin-top: 12px;
    margin-bottom: 6px;
    font-weight: bold;
}

form input,
form select,
form textarea {
    width: 100%;
    padding: 10px;
    border: 1px solid #d1d5db;
    border-radius: 6px;
}

form textarea {
    min-height: 90px;
    resize: vertical;
}

button.btn {
    border: none;
    cursor: pointer;
    margin-top: 15px;
}

.checkout-submit-row {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: space-between;
    padding-top: 24px;
}

.btn-secundario {
    background: #ffffff;
    border: 1px solid #d1d5db;
    color: #374151;
}

.btn-secundario:hover {
    background: #f9fafb;
}

@media (max-width: 900px) {
    .checkout-hero {
        align-items: flex-start;
        flex-direction: column;
        gap: 14px;
        margin-bottom: 16px;
        padding: 20px;
    }

    .checkout-grid {
        gap: 18px;
        grid-template-columns: 1fr;
    }

    .checkout-form-grid {
        grid-template-columns: 1fr;
    }

    .checkout-payment-summary {
        align-items: flex-start;
        flex-direction: column;
    }

    .checkout-summary-card {
        order: -1;
        position: static;
    }
}

@media (max-width: 700px) {
    .perfil-hero {
        align-items: stretch;
        flex-direction: column;
        margin-left: -8px;
        margin-right: -8px;
        padding: 18px;
    }

    .perfil-hero-actions {
        flex-direction: column;
    }

    .perfil-hero-actions .btn {
        text-align: center;
        width: 100%;
    }

    .perfil-grid {
        grid-template-columns: 1fr;
    }

    .perfil-card,
    .perfil-pedidos {
        margin-left: -8px;
        margin-right: -8px;
        padding: 18px;
    }

    .perfil-estados-ayuda {
        display: grid;
        grid-template-columns: 1fr;
    }

    .tabla-perfil-pedidos {
        background: transparent;
        border: 0;
        border-collapse: separate;
        border-spacing: 0 12px;
        margin-top: 0;
    }

    .tabla-perfil-pedidos thead {
        display: none;
    }

    .tabla-perfil-pedidos tbody,
    .tabla-perfil-pedidos tr,
    .tabla-perfil-pedidos td {
        display: block;
        width: 100%;
    }

    .tabla-perfil-pedidos tr {
        background: #ffffff;
        border: 1px solid #e5e7eb;
        border-radius: 8px;
        box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06);
        overflow: hidden;
    }

    .tabla-perfil-pedidos td {
        align-items: flex-start;
        border: 0;
        border-bottom: 1px solid #f3f4f6;
        display: flex;
        gap: 12px;
        justify-content: space-between;
        padding: 12px 14px;
        text-align: right;
    }

    .tabla-perfil-pedidos td:last-child {
        border-bottom: 0;
    }

    .tabla-perfil-pedidos td::before {
        color: #6b7280;
        content: attr(data-label);
        flex: 0 0 86px;
        font-size: 12px;
        font-weight: 800;
        letter-spacing: 0;
        text-align: left;
        text-transform: uppercase;
    }

    .tabla-perfil-pedidos td[data-label="Pedido"],
    .tabla-perfil-pedidos td[data-label="Accion"] {
        display: block;
        text-align: left;
    }

    .tabla-perfil-pedidos td[data-label="Pedido"]::before,
    .tabla-perfil-pedidos td[data-label="Accion"]::before {
        display: block;
        margin-bottom: 8px;
    }

    .tabla-perfil-pedidos .btn-mini {
        text-align: center;
        width: 100%;
    }

    .tabla-carrito-wrap {
        margin-top: 16px;
    }

    .tabla-carrito {
        background: transparent;
        border: 0;
        border-collapse: separate;
        border-spacing: 0 12px;
        margin-top: 0;
    }

    .tabla-carrito thead {
        display: none;
    }

    .tabla-carrito tbody,
    .tabla-carrito tr,
    .tabla-carrito td {
        display: block;
        width: 100%;
    }

    .tabla-carrito tr {
        background: #ffffff;
        border: 1px solid #e5e7eb;
        border-radius: 8px;
        box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06);
        overflow: hidden;
    }

    .tabla-carrito td {
        align-items: flex-start;
        border: 0;
        border-bottom: 1px solid #f3f4f6;
        display: flex;
        gap: 12px;
        justify-content: space-between;
        padding: 12px 14px;
        text-align: right;
    }

    .tabla-carrito td:last-child {
        border-bottom: 0;
    }

    .tabla-carrito td::before {
        color: #6b7280;
        content: attr(data-label);
        flex: 0 0 92px;
        font-size: 12px;
        font-weight: 800;
        letter-spacing: 0;
        text-align: left;
        text-transform: uppercase;
    }

    .tabla-carrito td:first-child {
        display: block;
        text-align: left;
    }

    .tabla-carrito td:first-child::before {
        display: block;
        margin-bottom: 6px;
    }

    .tabla-carrito td[data-label="Acciones"] {
        display: block;
        text-align: left;
    }

    .tabla-carrito td[data-label="Acciones"]::before {
        display: block;
        margin-bottom: 10px;
    }

    .tabla-carrito .acciones-carrito {
        justify-content: flex-start;
    }

    .checkout-hero {
        margin-left: -8px;
        margin-right: -8px;
        padding: 18px;
    }

    .checkout-hero h2 {
        font-size: 24px;
    }

    .checkout-hero-badge {
        align-items: center;
        display: flex;
        gap: 12px;
        justify-content: flex-start;
        min-width: 0;
        padding: 12px 14px;
        width: 100%;
    }

    .checkout-hero-badge strong {
        font-size: 28px;
        margin: 0;
    }

    .checkout-card {
        margin-left: -8px;
        margin-right: -8px;
    }

    .checkout-card-head {
        padding: 18px 18px 14px;
    }

    .checkout-card-head h3 {
        font-size: 20px;
    }

    .checkout-form-card form {
        padding: 0 18px 20px;
    }

    .checkout-section {
        padding: 18px 0;
    }

    .checkout-section-head h4 {
        font-size: 16px;
    }

    .checkout-form-card form input,
    .checkout-form-card form select,
    .checkout-form-card form textarea {
        font-size: 16px;
        min-height: 48px;
        padding: 12px;
    }

    .checkout-payment-summary {
        padding: 14px;
    }

    .checkout-payment-summary strong {
        font-size: 22px;
    }

    .pago-detalle-grid,
    .pago-detalle-grid-simple {
        grid-template-columns: 1fr;
    }

    .checkout-summary-list {
        gap: 12px;
        padding: 16px 18px 0;
    }

    .checkout-summary-item {
        align-items: flex-start;
        display: grid;
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .checkout-summary-item > strong {
        white-space: normal;
    }

    .checkout-total-box {
        margin: 18px 18px 0;
        padding: 16px;
    }

    .checkout-total-box strong {
        font-size: 20px;
        text-align: right;
    }

    .checkout-help-box {
        margin-top: 18px;
        padding: 18px;
    }

    .checkout-submit-row {
        align-items: stretch;
        flex-direction: column-reverse;
        padding-top: 18px;
    }

    .checkout-submit-row .btn,
    .checkout-submit-row button {
        margin-top: 0;
        text-align: center;
        width: 100%;
    }

    .checkout-login-card {
        margin: 18px -8px;
        padding: 22px 18px;
    }

    .checkout-login-actions {
        flex-direction: column;
    }

    .checkout-login-actions .btn {
        width: 100%;
    }

    .checkout-acceso-cuenta {
        align-items: stretch;
        flex-direction: column;
        gap: 12px;
        margin: 12px 0 2px;
        padding: 14px;
    }

    .checkout-acceso-cuenta-acciones {
        flex-direction: column;
    }

    .checkout-acceso-cuenta-acciones .btn {
        justify-content: center;
        width: 100%;
    }

    .pedido-exito-card {
        margin: 18px -8px;
        padding: 20px 18px;
    }

    .pedido-exito-acciones {
        flex-direction: column;
    }

    .pedido-exito-acciones .btn {
        text-align: center;
        width: 100%;
    }
}

/* Catalogo marketplace compacto */
.market-catalog-shell {
    background: #f8f9fa;
    border: 1px solid #dbe7df;
    border-radius: 8px;
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.10);
    margin: 0 auto 24px;
    max-width: 1180px;
    padding: 18px;
}

.market-catalog-top {
    align-items: center;
    display: grid;
    gap: 14px;
    grid-template-columns: 170px minmax(0, 1fr) auto;
    margin-bottom: 12px;
}

.market-catalog-brand {
    display: grid;
    gap: 2px;
}

.market-catalog-brand span {
    color: #0f766e;
    font-size: 13px;
    font-weight: 900;
}

.market-catalog-brand strong {
    color: #111827;
    font-size: 18px;
    line-height: 1;
}

.market-catalog-top .catalogo-busqueda-pro {
    align-items: center;
    background: #0f766e;
    border-radius: 999px;
    display: flex;
    gap: 6px;
    padding: 4px;
}

.market-catalog-top .catalogo-busqueda-pro input[type="text"] {
    background: #ffffff;
    border: 0;
    border-radius: 999px;
    color: #111827;
    min-height: 38px;
    padding: 0 16px;
}

.market-catalog-top .catalogo-busqueda-pro button {
    background: #111827;
    border: 0;
    border-radius: 999px;
    color: #ffffff;
    margin: 0;
    min-height: 38px;
    padding: 0 18px;
}

.market-catalog-stats {
    display: flex;
    gap: 8px;
}

.market-catalog-stats span {
    background: #ffffff;
    border: 1px solid #dbe7df;
    border-radius: 999px;
    color: #334155;
    font-size: 12px;
    font-weight: 800;
    padding: 8px 10px;
    white-space: nowrap;
}

.market-catalog-nav {
    background: transparent;
    border: 0;
    box-shadow: none;
    margin: 0 0 14px;
    padding: 0;
}

.market-catalog-nav .catalogo-chip-row {
    background: #111827;
    border-radius: 8px;
    display: flex;
    gap: 2px;
    padding: 4px;
}

.market-catalog-nav .catalogo-chip-row a {
    background: transparent;
    border: 0;
    border-radius: 6px;
    color: #ffffff;
    font-size: 12px;
    min-height: 34px;
    padding: 8px 12px;
}

.market-catalog-nav .catalogo-chip-row a:hover,
.market-catalog-nav .catalogo-chip-row a.is-active {
    background: #0f766e;
    color: #ffffff;
}

.market-catalog-nav .catalogo-marcas-pro {
    border: 0;
    gap: 6px;
    padding-top: 10px;
}

.market-catalog-nav .catalogo-marcas-pro a {
    background: #ffffff;
    border: 1px solid #dbe7df;
    border-radius: 999px;
    color: #334155;
    font-size: 12px;
}

.market-catalog-nav .catalogo-marcas-pro a:hover,
.market-catalog-nav .catalogo-marcas-pro a.is-active {
    background: #ccfbf1;
    border-color: #99f6e4;
    color: #0f766e;
}

.market-catalog-body {
    grid-template-columns: 210px minmax(0, 1fr);
}

.market-catalog-body .catalogo-v3-sidebar {
    top: 120px;
}

.market-catalog-body .catalogo-v3-sidebar-card {
    box-shadow: none;
}

.market-catalog-body .catalogo-v3-sidebar-head span {
    font-size: 12px;
}

.market-catalog-body .catalogo-v3-categorias a {
    background: #ffffff;
    min-height: 34px;
    padding: 7px 8px;
}

.market-catalog-body .catalogo-v3-categorias a:hover,
.market-catalog-body .catalogo-v3-categorias a.is-active {
    background: #ecfdf5;
    border-color: #a7f3d0;
    color: #047857;
}

.market-results-bar {
    background: transparent;
    border: 0;
    padding: 0 0 10px;
}

.market-results-bar span {
    color: #64748b;
    font-size: 11px;
    font-weight: 900;
}

.market-results-bar strong {
    color: #111827;
    font-size: 14px;
}

.market-results-count {
    align-self: center;
    color: #475569 !important;
    font-size: 12px !important;
    padding-right: 6px;
}

.market-catalog-body .grid-productos {
    gap: 12px;
    grid-template-columns: repeat(auto-fill, minmax(168px, 1fr));
}

.market-product-card {
    background: #ffffff;
    border: 1px solid #dbe7df;
    border-radius: 8px;
    box-shadow: none;
    overflow: hidden;
}

.market-product-card:hover {
    border-color: #0f766e;
    box-shadow: 0 12px 26px rgba(15, 118, 110, 0.16);
    transform: translateY(-2px);
}

.market-product-card .card-producto-media {
    background: #ffffff;
    border: 0;
    margin: 0;
    padding: 12px 12px 8px;
}

.market-product-card .card-producto-badge {
    background: #0f766e;
    border: 0;
    border-radius: 999px;
    color: #ffffff;
    font-size: 9px;
    left: 8px;
    padding: 4px 7px;
    top: 8px;
}

.market-product-card .card-producto-imagen {
    height: 118px;
    object-fit: contain;
}

.market-product-card .card-producto-body {
    background: #111827;
    color: #ffffff;
    gap: 7px;
    padding: 10px;
}

.market-product-card .catalogo-v3-card-meta {
    margin-bottom: 4px;
}

.market-product-card .catalogo-v3-card-meta span {
    background: rgba(255, 255, 255, 0.10);
    border: 0;
    color: #d1d5db;
    font-size: 9px;
}

.market-product-card h3 {
    font-size: 12px;
    line-height: 1.28;
    margin: 0;
    min-height: 32px;
}

.market-product-card h3 a {
    color: #ffffff;
}

.market-product-card .card-producto-descripcion {
    display: none;
}

.market-product-card .card-producto-footer {
    border-top: 1px solid rgba(255, 255, 255, 0.10);
    display: grid;
    gap: 8px;
    padding-top: 8px;
}

.market-product-card .card-producto-precio-label {
    color: #9ca3af;
    font-size: 10px;
}

.market-product-card .precio {
    color: #ffffff;
    font-size: 17px;
}

.market-product-card .btn {
    background: #0f766e;
    border-color: #0f766e;
    border-radius: 999px;
    font-size: 12px;
    min-height: 32px;
}

.market-product-card .btn:hover {
    background: #14b8a6;
    border-color: #14b8a6;
}

@media (max-width: 980px) {
    .market-catalog-top {
        grid-template-columns: 1fr;
    }

    .market-catalog-body {
        grid-template-columns: 1fr;
    }

    .market-catalog-body .catalogo-v3-sidebar {
        position: static;
    }
}

@media (max-width: 640px) {
    .market-catalog-shell {
        padding: 12px;
    }

    .market-catalog-top .catalogo-busqueda-pro {
        border-radius: 8px;
        display: grid;
    }

    .market-catalog-top .catalogo-busqueda-pro input[type="text"],
    .market-catalog-top .catalogo-busqueda-pro button {
        width: 100%;
    }

    .market-catalog-nav .catalogo-chip-row {
        overflow-x: auto;
        flex-wrap: nowrap;
    }

    .market-catalog-body .grid-productos {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Catalogo inspirado en ecommerce premium */
.catalogo-bristol-shell {
    background: #f5f6f7;
    border: 1px solid #e5e7eb;
    box-shadow: none;
    padding: 26px;
}

.catalogo-bristol-shell.is-loading {
    opacity: 0.65;
    pointer-events: none;
}

.catalogo-bristol-shell .market-catalog-top {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.05);
    margin-bottom: 24px;
    padding: 18px;
}

.catalogo-bristol-shell .market-catalog-brand span {
    color: #475569;
}

.catalogo-bristol-shell .market-catalog-brand strong {
    color: #111827;
}

.catalogo-bristol-shell .catalogo-busqueda-pro {
    background: #f8fafc;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    padding: 4px;
}

.catalogo-bristol-shell .catalogo-busqueda-pro input[type="text"] {
    border-radius: 6px;
}

.catalogo-bristol-shell .catalogo-busqueda-pro button {
    background: #111827;
    border-radius: 6px;
}

.catalogo-bristol-shell .market-catalog-stats span {
    border-color: #e5e7eb;
    color: #111827;
}

.catalogo-bristol-shell .market-catalog-body {
    align-items: start;
    display: grid;
    gap: 30px;
    grid-template-columns: 260px minmax(0, 1fr);
}

.catalogo-bristol-shell .catalogo-v3-sidebar {
    display: grid;
    gap: 16px;
    max-height: calc(100vh - 120px);
    overflow: auto;
    position: sticky;
    top: 104px;
}

.catalogo-bristol-shell .catalogo-v3-sidebar-card {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    box-shadow: none;
    padding: 16px;
}

.catalogo-bristol-shell .catalogo-v3-sidebar-head {
    border-bottom: 1px solid #eef2f7;
    margin-bottom: 12px;
    padding-bottom: 10px;
}

.catalogo-bristol-shell .catalogo-v3-sidebar-head span {
    color: #111827;
    font-size: 13px;
    letter-spacing: 0;
}

.catalogo-bristol-shell .catalogo-v3-sidebar-head a {
    color: #64748b;
}

.catalogo-bristol-shell .catalogo-v3-categorias,
.catalogo-bristol-shell .catalogo-v3-marcas {
    gap: 6px;
}

.catalogo-bristol-shell .catalogo-v3-categorias a,
.catalogo-bristol-shell .catalogo-v3-marcas a {
    background: transparent;
    border: 0;
    border-radius: 6px;
    color: #334155;
    font-size: 13px;
    font-weight: 600;
    min-height: 34px;
    padding: 7px 8px;
}

.catalogo-bristol-shell .catalogo-v3-categorias a:hover,
.catalogo-bristol-shell .catalogo-v3-categorias a.is-active,
.catalogo-bristol-shell .catalogo-v3-marcas a:hover,
.catalogo-bristol-shell .catalogo-v3-marcas a.is-active {
    background: #f1f5f9;
    color: #111827;
    transform: translateX(2px);
}

.catalogo-price-inputs {
    display: grid;
    gap: 10px;
}

.catalogo-price-inputs label {
    color: #64748b;
    display: grid;
    font-size: 12px;
    font-weight: 700;
    gap: 6px;
}

.catalogo-price-inputs input {
    background: #f8fafc;
    border: 1px solid #dbe1ea;
    border-radius: 6px;
    color: #111827;
    min-height: 38px;
    padding: 0 10px;
}

.catalogo-price-filter .btn {
    border-radius: 6px;
    margin-top: 12px;
    width: 100%;
}

.catalogo-filter-actions {
    display: grid;
    gap: 8px;
}

.catalogo-filter-actions a {
    color: #334155;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
}

.catalogo-filter-actions a:hover {
    color: #111827;
}

.catalogo-bristol-shell .catalogo-contenido {
    min-width: 0;
}

.catalogo-bristol-shell .market-results-bar {
    align-items: center;
    background: transparent;
    border: 0;
    display: flex;
    gap: 16px;
    justify-content: space-between;
    margin-bottom: 18px;
    padding: 0;
}

.catalogo-bristol-shell .market-results-bar strong {
    color: #111827;
    font-size: 22px;
}

.catalogo-bristol-shell .catalogo-v3-listado-actions {
    align-items: center;
    display: flex;
    gap: 14px;
}

.catalogo-sort-form {
    align-items: center;
    display: flex;
    gap: 8px;
}

.catalogo-sort-form label {
    color: #64748b;
    font-size: 12px;
    font-weight: 800;
}

.catalogo-sort-form select {
    background: #ffffff;
    border: 1px solid #dbe1ea;
    border-radius: 6px;
    color: #111827;
    min-height: 38px;
    padding: 0 34px 0 12px;
}

.catalogo-bristol-shell .grid-productos {
    gap: 28px;
    grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
}

.catalogo-bristol-shell .market-product-card {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04);
    overflow: hidden;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.catalogo-bristol-shell .market-product-card:hover {
    border-color: #cbd5e1;
    box-shadow: 0 18px 38px rgba(15, 23, 42, 0.10);
    transform: translateY(-4px);
}

.catalogo-bristol-shell .market-product-card .card-producto-media {
    background: #ffffff;
    min-height: 220px;
    padding: 24px 22px 14px;
}

.catalogo-bristol-shell .market-product-card .card-producto-badge {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    color: #475569;
    font-size: 10px;
    left: 14px;
    top: 14px;
}

.catalogo-bristol-shell .market-product-card .card-producto-imagen {
    height: 180px;
}

.catalogo-bristol-shell .market-product-card .card-producto-body {
    background: #ffffff;
    color: #111827;
    gap: 14px;
    padding: 18px;
}

.catalogo-bristol-shell .market-product-card .catalogo-v3-card-meta span {
    background: #f8fafc;
    border: 1px solid #eef2f7;
    color: #64748b;
}

.catalogo-bristol-shell .market-product-card h3 {
    font-size: 15px;
    line-height: 1.35;
    min-height: 42px;
}

.catalogo-bristol-shell .market-product-card h3 a {
    color: #111827;
}

.catalogo-bristol-shell .market-product-card .card-producto-descripcion {
    color: #64748b;
    display: -webkit-box;
    font-size: 13px;
    line-height: 1.45;
    min-height: 38px;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

.catalogo-bristol-shell .market-product-card .card-producto-footer {
    border-top: 1px solid #eef2f7;
    display: grid;
    gap: 14px;
}

.catalogo-bristol-shell .market-product-card .card-producto-precio-label {
    color: #94a3b8;
}

.catalogo-bristol-shell .market-product-card .precio {
    color: #111827;
    font-size: 22px;
}

.catalogo-bristol-shell .market-product-card .btn {
    background: #111827;
    border-color: #111827;
    border-radius: 6px;
    color: #ffffff;
}

.catalogo-bristol-shell .market-product-card .btn:hover {
    background: #334155;
    border-color: #334155;
}

@media (max-width: 980px) {
    .catalogo-bristol-shell .market-catalog-body {
        grid-template-columns: 1fr;
    }

    .catalogo-bristol-shell .catalogo-v3-sidebar {
        max-height: none;
        overflow: visible;
        position: static;
    }
}

@media (max-width: 640px) {
    .catalogo-bristol-shell {
        padding: 14px;
    }

    .catalogo-bristol-shell .market-catalog-top,
    .catalogo-bristol-shell .market-results-bar,
    .catalogo-bristol-shell .catalogo-v3-listado-actions,
    .catalogo-sort-form {
        align-items: stretch;
        display: grid;
    }

    .catalogo-bristol-shell .grid-productos {
        gap: 18px;
        grid-template-columns: 1fr;
    }

    .catalogo-bristol-shell .market-product-card .card-producto-media {
        min-height: 190px;
    }

    .catalogo-bristol-shell .market-product-card .card-producto-imagen {
        height: 150px;
    }
}

/* Catalogo v3 - tienda mejorada */
.catalogo-v3-hero {
    align-items: center;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.06);
    display: grid;
    gap: 18px;
    grid-template-columns: minmax(0, 1fr) auto;
    margin: 0 0 14px;
    padding: 18px 20px;
}

.catalogo-v3-copy span {
    color: #0891b2;
    display: block;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.08em;
    margin-bottom: 6px;
    text-transform: uppercase;
}

.catalogo-v3-copy h1 {
    color: #111827;
    font-size: 28px;
    font-weight: 900;
    line-height: 1.08;
    margin: 0 0 6px;
}

.catalogo-v3-copy p {
    color: #64748b;
    font-size: 14px;
    line-height: 1.45;
    margin: 0;
}

.catalogo-v3-resumen {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    display: flex;
    overflow: hidden;
}

.catalogo-v3-resumen article {
    background: #ffffff;
    border-right: 1px solid #e2e8f0;
    display: grid;
    gap: 4px;
    min-width: 104px;
    padding: 12px 14px;
}

.catalogo-v3-resumen article:last-child {
    border-right: 0;
}

.catalogo-v3-resumen strong {
    color: #111827;
    font-size: 24px;
    line-height: 1;
}

.catalogo-v3-resumen span {
    color: #64748b;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.catalogo-v3-toolbar {
    background: #0f172a;
    border: 1px solid #0f172a;
    border-radius: 8px;
    box-shadow: 0 14px 30px rgba(15, 23, 42, 0.14);
    gap: 12px;
    padding: 14px;
}

.catalogo-v3-toolbar-head {
    align-items: end;
    color: #ffffff;
    display: flex;
    gap: 10px;
    justify-content: space-between;
}

.catalogo-v3-toolbar-head strong {
    font-size: 15px;
}

.catalogo-v3-toolbar-head span {
    color: #cbd5e1;
    font-size: 12px;
}

.catalogo-v3-toolbar .catalogo-busqueda-pro {
    grid-template-columns: minmax(0, 1fr) auto;
}

.catalogo-v3-toolbar .catalogo-busqueda-pro input[type="text"] {
    border-radius: 8px;
    min-height: 44px;
}

.catalogo-v3-toolbar .catalogo-busqueda-pro .btn {
    background: #16a34a;
    border-color: #16a34a;
    border-radius: 8px;
    min-height: 44px;
}

.catalogo-v3-toolbar .catalogo-busqueda-pro .btn:hover {
    background: #15803d;
    border-color: #15803d;
}

.catalogo-v3-toolbar .catalogo-chip-row a,
.catalogo-v3-toolbar .catalogo-marcas-pro a {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.16);
    border-radius: 8px;
    color: #e2e8f0;
}

.catalogo-v3-toolbar .catalogo-chip-row a:hover,
.catalogo-v3-toolbar .catalogo-chip-row a.is-active,
.catalogo-v3-toolbar .catalogo-marcas-pro a:hover,
.catalogo-v3-toolbar .catalogo-marcas-pro a.is-active {
    background: #ffffff;
    border-color: #ffffff;
    color: #0f172a;
}

.catalogo-v3-layout {
    align-items: start;
    display: grid;
    gap: 18px;
    grid-template-columns: 280px minmax(0, 1fr);
}

.catalogo-v3-sidebar {
    display: grid;
    gap: 12px;
    position: sticky;
    top: 126px;
}

.catalogo-v3-sidebar-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
    padding: 12px;
}

.catalogo-v3-sidebar-head {
    align-items: center;
    border-bottom: 1px solid #eef2f7;
    display: flex;
    justify-content: space-between;
    margin-bottom: 10px;
    padding-bottom: 10px;
}

.catalogo-v3-sidebar-head span {
    color: #111827;
    font-size: 13px;
    font-weight: 900;
    text-transform: uppercase;
}

.catalogo-v3-sidebar-head a {
    color: #0891b2;
    font-size: 12px;
    font-weight: 900;
    text-decoration: none;
}

.catalogo-v3-categorias {
    display: grid;
    gap: 6px;
    max-height: 410px;
    overflow-y: auto;
    padding-right: 2px;
}

.catalogo-v3-categorias a {
    align-items: center;
    background: #f8fafc;
    border: 1px solid #eef2f7;
    border-radius: 8px;
    color: #334155;
    display: flex;
    gap: 8px;
    justify-content: space-between;
    min-height: 40px;
    padding: 9px 10px;
    text-decoration: none;
}

.catalogo-v3-categorias a:hover,
.catalogo-v3-categorias a.is-active {
    background: #ecfeff;
    border-color: #67e8f9;
    color: #0e7490;
}

.catalogo-v3-categorias small {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 999px;
    color: #64748b;
    font-size: 11px;
    font-weight: 900;
    min-width: 26px;
    padding: 3px 6px;
    text-align: center;
}

.catalogo-v3-marcas {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.catalogo-v3-marcas a {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 999px;
    color: #334155;
    font-size: 12px;
    font-weight: 800;
    padding: 7px 9px;
    text-decoration: none;
}

.catalogo-v3-marcas a:hover,
.catalogo-v3-marcas a.is-active {
    background: #dcfce7;
    border-color: #bbf7d0;
    color: #166534;
}

.catalogo-v3-listado-header {
    border-radius: 8px;
    margin-bottom: 12px;
}

.catalogo-v3-listado-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.catalogo-v3-listado-actions a {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    color: #0f172a;
    font-size: 12px;
    font-weight: 900;
    padding: 8px 10px;
    text-decoration: none;
}

.catalogo-v3-listado-actions a:hover {
    background: #ecfeff;
    border-color: #67e8f9;
}

.catalogo-v3-layout .grid-productos {
    gap: 16px;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
}

.catalogo-v3-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
    overflow: hidden;
    padding: 0;
}

.catalogo-v3-card:hover {
    border-color: #94a3b8;
    box-shadow: 0 16px 34px rgba(15, 23, 42, 0.10);
    transform: translateY(-2px);
}

.catalogo-v3-card .card-producto-media {
    background: #f8fafc;
    border: 0;
    border-bottom: 1px solid #eef2f7;
    border-radius: 0;
    margin: 0;
    padding: 14px;
}

.catalogo-v3-card .card-producto-badge {
    background: #dcfce7;
    border: 1px solid #bbf7d0;
    border-radius: 999px;
    box-shadow: none;
    color: #166534;
    font-size: 10px;
    left: 10px;
    padding: 5px 8px;
    top: 10px;
}

.catalogo-v3-card .card-producto-imagen {
    border-radius: 6px;
    height: 178px;
    object-fit: contain;
}

.catalogo-v3-card .card-producto-body {
    gap: 12px;
    padding: 13px;
}

.catalogo-v3-card-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 8px;
}

.catalogo-v3-card-meta span {
    background: #f1f5f9;
    border: 1px solid #e2e8f0;
    border-radius: 999px;
    color: #475569;
    font-size: 10px;
    font-weight: 900;
    max-width: 100%;
    overflow: hidden;
    padding: 4px 7px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.catalogo-v3-card h3 {
    font-size: 15px;
    font-weight: 900;
    line-height: 1.28;
    margin: 0 0 7px;
}

.catalogo-v3-card .card-producto-descripcion {
    -webkit-line-clamp: 2;
    color: #64748b;
    font-size: 12px;
    line-height: 1.45;
    min-height: 34px;
}

.catalogo-v3-card .card-producto-footer {
    align-items: stretch;
    border-top: 1px solid #eef2f7;
    display: grid;
    gap: 10px;
    padding-top: 12px;
}

.catalogo-v3-card .card-producto-precio-label {
    color: #64748b;
    font-size: 11px;
    margin-bottom: 4px;
}

.catalogo-v3-card .precio {
    color: #111827;
    font-size: 21px;
    line-height: 1;
    margin: 0;
}

.catalogo-v3-card .btn {
    background: #0f172a;
    border: 1px solid #0f172a;
    border-radius: 8px;
    box-shadow: none;
    color: #ffffff;
    justify-content: center;
    margin: 0;
    min-height: 38px;
    width: 100%;
}

.catalogo-v3-card .btn:hover {
    background: #0891b2;
    border-color: #0891b2;
}

@media (max-width: 1080px) {
    .catalogo-v3-layout {
        grid-template-columns: 1fr;
    }

    .catalogo-v3-sidebar {
        position: static;
    }

    .catalogo-v3-categorias {
        grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
        max-height: none;
    }
}

@media (max-width: 700px) {
    .catalogo-v3-hero,
    .catalogo-v3-toolbar-head,
    .catalogo-v3-listado-header {
        align-items: stretch;
        display: grid;
        grid-template-columns: 1fr;
    }

    .catalogo-v3-copy h1 {
        font-size: 23px;
    }

    .catalogo-v3-resumen {
        display: grid;
        grid-template-columns: 1fr;
    }

    .catalogo-v3-resumen article {
        border-right: 0;
        border-bottom: 1px solid #e2e8f0;
    }

    .catalogo-v3-resumen article:last-child {
        border-bottom: 0;
    }

    .catalogo-v3-toolbar .catalogo-busqueda-pro {
        grid-template-columns: 1fr;
    }

    .catalogo-v3-toolbar .catalogo-busqueda-pro .btn {
        width: 100%;
    }

    .catalogo-v3-layout .grid-productos {
        grid-template-columns: repeat(auto-fill, minmax(155px, 1fr));
    }

    .catalogo-v3-card .card-producto-imagen {
        height: 138px;
    }
}

.form-estado {
    display: flex;
    gap: 10px;
    align-items: center;
    margin-top: 10px;
    margin-bottom: 20px;
    flex-wrap: wrap;
}

.form-estado select {
    max-width: 220px;
}

.form-estado textarea {
    min-height: 44px;
    min-width: min(100%, 360px);
}

.lista-carrito-admin {
    display: grid;
    gap: 6px;
}

.lista-carrito-admin small {
    color: #4b5563;
}

.combo-item-row {
    align-items: center;
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(0, 1fr) 90px auto;
    margin-bottom: 10px;
}

.pedido-manual-row {
    grid-template-columns: minmax(180px, 260px) minmax(0, 1fr) 90px auto;
}

.pedido-manual-row select,
.pedido-manual-row input[type="number"],
.pedido-manual-row .btn-mini {
    min-height: 44px;
}

.combo-lista {
    color: #4b5563;
    margin: 8px 0 12px 18px;
}

.combo-ahorro {
    color: #0f766e;
    font-weight: 700;
}

.info-pago {
    background: linear-gradient(180deg, #eff6ff, #ffffff);
    border: 1px solid #bfdbfe;
    border-radius: 18px;
    margin-top: 12px;
    padding: 18px;
}

.info-pago p,
.info-pago small {
    color: #1e3a8a;
    display: block;
    margin-bottom: 8px;
}

.pago-detalle {
    background: #ffffff;
    border: 1px solid #dbeafe;
    border-radius: 18px;
    margin-bottom: 14px;
    padding: 18px;
}

.pago-detalle-titulo {
    color: #1e3a8a;
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 14px;
}

.pago-detalle-grid {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pago-detalle-grid-simple {
    grid-template-columns: 1fr;
}

.pago-detalle-grid span {
    color: #6b7280;
    display: block;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.04em;
    margin-bottom: 6px;
    text-transform: uppercase;
}

.pago-detalle-grid strong {
    color: #111827;
    display: block;
    line-height: 1.4;
}

.checkout-payment-note {
    background: #ffffff;
    border-radius: 8px;
    color: #1e3a8a !important;
    margin-top: 6px;
    padding: 14px 16px;
}

.checkout-delivery-note {
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    border-radius: 8px;
    color: #1e3a8a;
    line-height: 1.5;
    margin: 12px 0 16px;
    padding: 12px 14px;
}

.checkout-summary-card {
    position: sticky;
    top: 24px;
}

.checkout-summary-list {
    display: grid;
    gap: 14px;
    padding: 22px 28px 0;
}

.checkout-summary-item {
    align-items: center;
    border-bottom: 1px solid #f3f4f6;
    display: flex;
    gap: 16px;
    justify-content: space-between;
    padding-bottom: 14px;
}

.checkout-summary-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.checkout-summary-item span {
    color: #6b7280;
    display: block;
    font-size: 14px;
    margin-top: 6px;
}

.checkout-summary-item > strong {
    color: #111827;
    font-size: 15px;
    white-space: nowrap;
}

.checkout-total-box {
    align-items: center;
    background: linear-gradient(135deg, #2563eb, #1d4ed8);
    border-radius: 8px;
    color: #ffffff;
    display: grid;
    gap: 10px 16px;
    grid-template-columns: minmax(0, 1fr) auto;
    justify-content: space-between;
    margin: 24px 28px 0;
    padding: 18px 20px;
}

.checkout-total-box span {
    font-size: 14px;
    font-weight: 600;
}

.checkout-total-box strong {
    font-size: 26px;
}

.checkout-help-box {
    background: #f9fafb;
    border-top: 1px solid #f3f4f6;
    margin-top: 24px;
    padding: 22px 28px 28px;
}

.checkout-help-box strong {
    color: #111827;
    display: block;
    margin-bottom: 8px;
}

.checkout-help-box p {
    color: #6b7280;
    line-height: 1.6;
    margin: 0;
}

td .form-estado {
    margin: 0;
}

td .form-estado select {
    min-width: 140px;
}

.mensaje-exito {
    background: #dcfce7;
    color: #166534;
    padding: 12px 15px;
    border-radius: 8px;
    margin-bottom: 20px;
}

.mensaje-error {
    background: #fee2e2;
    color: #991b1b;
    padding: 12px 15px;
    border-radius: 8px;
    margin-bottom: 20px;
}

@media (max-width: 980px) {
    .auth-layout {
        gap: 18px;
        grid-template-columns: 1fr;
    }

    .auth-showcase,
    .auth-card {
        max-width: none;
    }

    .auth-showcase h1 {
        max-width: 16ch;
    }
}

@media (max-width: 700px) {
    .auth-shell {
        padding: 12px 0 24px;
    }

    .auth-showcase,
    .auth-card {
        border-radius: 22px;
        padding: 22px 18px;
    }

    .auth-form-grid {
        grid-template-columns: 1fr;
    }

    .auth-password-field {
        align-items: stretch;
        flex-direction: column;
    }

    .auth-toggle-password {
        min-height: 46px;
        width: 100%;
    }

    .auth-showcase h1 {
        font-size: 30px;
    }

    .auth-layout-login,
    .auth-layout-register {
        gap: 10px;
    }

    .auth-layout-login .auth-showcase,
    .auth-layout-register .auth-showcase {
        border-radius: 18px;
        padding: 14px 16px;
    }

    .auth-layout-login .auth-eyebrow,
    .auth-layout-register .auth-eyebrow {
        font-size: 10px;
        margin-bottom: 10px;
        padding: 6px 10px;
    }

    .auth-layout-login .auth-showcase h1,
    .auth-layout-register .auth-showcase h1 {
        font-size: 24px;
        line-height: 1.12;
        margin-bottom: 6px;
        max-width: 18ch;
    }

    .auth-layout-login .auth-lead,
    .auth-layout-register .auth-lead {
        font-size: 14px;
        line-height: 1.35;
        margin-bottom: 0;
        max-width: none;
    }

    .auth-layout-login .auth-feature-list,
    .auth-layout-register .auth-feature-list {
        display: none;
    }

    .auth-layout-login .auth-form-card,
    .auth-layout-register .auth-form-card {
        padding: 20px 16px;
    }

    .auth-layout-login .auth-card h2,
    .auth-layout-register .auth-card h2 {
        font-size: 26px;
        margin-bottom: 6px;
    }

    .auth-layout-login .auth-panel-kicker,
    .auth-layout-register .auth-panel-kicker {
        margin-bottom: 8px;
    }

    .auth-layout-login .auth-panel-copy,
    .auth-layout-register .auth-panel-copy {
        line-height: 1.45;
    }

    .auth-layout-login .auth-form,
    .auth-layout-register .auth-form {
        margin-top: 14px;
    }

    .auth-layout-login .auth-divider,
    .auth-layout-register .auth-divider {
        margin: 16px 0 8px;
    }

    .auth-layout-login .auth-switch-link,
    .auth-layout-register .auth-switch-link {
        margin-top: 10px;
    }

    .auth-layout-login .auth-showcase,
    .auth-layout-register .auth-showcase {
        display: none;
    }
}

.dashboard-alerta-stock {
    align-items: center;
    background: linear-gradient(135deg, #fff7ed, #ffedd5);
    border: 1px solid #fdba74;
    border-radius: 18px;
    box-shadow: 0 12px 30px rgba(249, 115, 22, 0.12);
    display: flex;
    gap: 18px;
    justify-content: space-between;
    margin-bottom: 24px;
    padding: 18px 20px;
}

.dashboard-alerta-stock strong {
    color: #9a3412;
    display: block;
    margin-bottom: 4px;
}

.dashboard-alerta-stock p {
    color: #7c2d12;
    margin: 0;
}

.stock-alerta-badge {
    background: #fef3c7;
    border-radius: 999px;
    color: #92400e;
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    margin-left: 8px;
    padding: 4px 8px;
    vertical-align: middle;
}

.stock-alerta-critica {
    background: #fee2e2;
    color: #991b1b;
}

.estado-badge {
    display: inline-block;
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: bold;
    text-transform: capitalize;
}

.factura-badge {
    border-radius: 999px;
    display: inline-block;
    font-size: 12px;
    font-weight: 700;
    padding: 6px 10px;
}

.factura-badge-si {
    background: #dcfce7;
    color: #166534;
}

.factura-badge-no {
    background: #e5e7eb;
    color: #4b5563;
}

.estado-pendiente {
    background: #fef3c7;
    color: #92400e;
}

.estado-pagado,
.estado-procesando,
.estado-listo,
.estado-despachado {
    background: #dbeafe;
    color: #1d4ed8;
}

.estado-preparando {
    background: #dbeafe;
    color: #1d4ed8;
}

.estado-enviado {
    background: #cffafe;
    color: #155e75;
}

.estado-entregado,
.estado-confirmado {
    background: #dcfce7;
    color: #166534;
}

.estado-en_revision {
    background: #fef3c7;
    color: #92400e;
}

.estado-cancelado,
.estado-devuelto,
.estado-rechazado {
    background: #fee2e2;
    color: #991b1b;
}

.admin-orders-kpis {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    margin: 20px 0;
}

.admin-orders-kpi {
    background: #ffffff;
    border: 1px solid #dbeafe;
    border-radius: 18px;
    box-shadow: 0 16px 34px rgba(15, 23, 42, 0.06);
    display: grid;
    gap: 6px;
    min-width: 0;
    padding: 18px;
}

.admin-orders-kpi-primary {
    background: linear-gradient(135deg, #0b3b8f, #006cff);
    border-color: #006cff;
    color: #ffffff;
}

.admin-orders-kpi span {
    color: #64748b;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.admin-orders-kpi-primary span,
.admin-orders-kpi-primary small {
    color: rgba(255, 255, 255, 0.78);
}

.admin-orders-kpi strong {
    color: #0f172a;
    font-size: clamp(22px, 2.4vw, 30px);
    line-height: 1.05;
}

.admin-orders-kpi-primary strong {
    color: #ffffff;
}

.admin-orders-kpi small {
    color: #94a3b8;
    font-size: 12px;
    font-weight: 700;
}

.admin-manual-order-panel {
    margin-bottom: 14px !important;
}

.admin-manual-order-panel-inner {
    min-height: 0;
    overflow: hidden;
}

.admin-manual-order-panel .panel-header {
    margin-bottom: 14px;
}

.admin-manual-order-panel h4 {
    margin-bottom: 10px;
}

.admin-orders-panel {
    overflow: visible;
}

.admin-orders-panel .panel-header {
    margin-bottom: 10px;
}

.admin-orders-toolbar {
    align-items: end;
    background: #ffffff;
    border: 1px solid #dbeafe;
    border-radius: 14px;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
    display: grid;
    gap: 8px;
    grid-template-columns: minmax(240px, 1fr) minmax(135px, 160px) minmax(135px, 160px) auto;
    margin: 0 0 12px;
    padding: 8px;
}

.admin-orders-search {
    display: grid;
    gap: 7px;
    min-width: 0;
}

.admin-orders-toolbar label {
    color: #334155;
    display: block;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.04em;
    margin: 0 0 5px;
    text-transform: uppercase;
}

.admin-orders-toolbar input {
    background: #f8fafc;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    color: #0f172a;
    font-size: 14px;
    min-height: 36px;
    padding: 6px 8px;
    width: 100%;
}

.admin-orders-toolbar .btn {
    border-radius: 10px !important;
    font-size: 12px !important;
    font-weight: 850 !important;
    min-height: 38px !important;
    padding: 8px 11px !important;
    white-space: nowrap;
}

.admin-orders-advanced-filters {
    display: grid;
    grid-template-rows: 0fr;
    opacity: 0;
    overflow: hidden;
    transition: grid-template-rows 0.28s ease, opacity 0.22s ease, margin 0.22s ease;
}

.admin-orders-advanced-filters.is-open {
    grid-template-rows: 1fr;
    margin-bottom: 14px;
    opacity: 1;
}

.admin-orders-advanced-inner {
    min-height: 0;
    overflow: hidden;
}

.admin-orders-quickfilters {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 10px;
}

.admin-orders-quickfilters a {
    background: #ffffff;
    border: 1px solid #dbeafe;
    border-radius: 999px;
    color: #0b2f6b;
    font-size: 13px;
    font-weight: 850;
    padding: 9px 13px;
    text-decoration: none;
    transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

.admin-orders-quickfilters a:hover,
.admin-orders-quickfilters a:focus-visible,
.admin-orders-quickfilters a.is-active {
    background: #006cff;
    border-color: #006cff;
    color: #ffffff;
    transform: translateY(-1px);
}

.admin-orders-filter-form {
    align-items: end;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    padding: 12px;
}

.admin-orders-filter-form label {
    color: #64748b;
    display: block;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.04em;
    margin-bottom: 6px;
    text-transform: uppercase;
}

.admin-orders-filter-form select,
.admin-orders-filter-form input {
    background: #ffffff;
    border: 1px solid #dbeafe;
    border-radius: 12px;
    min-height: 42px;
    padding: 0 11px;
    width: 100%;
}

.admin-orders-table-wrap {
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    box-shadow: 0 16px 36px rgba(15, 23, 42, 0.05);
    overflow: hidden;
}

.admin-orders-table {
    border-collapse: separate;
    border-spacing: 0;
    margin: 0;
    width: 100%;
}

.admin-orders-table th {
    background: #f8fafc;
    color: #475569;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.04em;
    padding: 15px 14px;
    text-transform: uppercase;
}

.admin-orders-table th:nth-child(2),
.admin-orders-table th:last-child {
    font-size: 0;
}

.admin-orders-table th:nth-child(2)::after {
    content: "Nro. Pedido";
    font-size: 12px;
}

.admin-orders-table th:last-child::after {
    content: "Acciones";
    font-size: 12px;
}

.admin-orders-table td {
    border-top: 1px solid #eef2f7;
    color: #334155;
    padding: 16px 14px;
    vertical-align: middle;
}

.admin-orders-table tbody tr {
    transition: background 0.18s ease, transform 0.18s ease;
}

.admin-orders-table tbody tr:hover {
    background: #f8fbff;
}

.admin-order-number,
.admin-order-client,
.admin-order-total {
    color: #0b2f6b;
}

.admin-order-date,
.admin-order-muted,
.admin-orders-table td small {
    color: #64748b;
    display: block;
    font-size: 12px;
    margin-top: 4px;
}

.admin-order-total {
    white-space: nowrap;
}

.admin-order-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    min-width: 180px;
}

.admin-orders-table.tabla-compras-proveedores {
    border-collapse: separate;
    border-spacing: 0;
    font-size: 13px;
    margin: 0;
    min-width: 980px;
}

.admin-orders-table.tabla-compras-proveedores th,
.admin-orders-table.tabla-compras-proveedores td {
    font-size: 13px;
    line-height: 1.25;
    padding: 8px;
    vertical-align: middle;
}

.admin-orders-table.tabla-compras-proveedores th:nth-child(2),
.admin-orders-table.tabla-compras-proveedores th:last-child {
    font-size: 14px;
}

.admin-orders-table.tabla-compras-proveedores th:nth-child(2)::after,
.admin-orders-table.tabla-compras-proveedores th:last-child::after {
    content: none;
}

.admin-orders-table.tabla-compras-proveedores tbody td {
    border-top: 1px solid #eef2f7;
    color: #334155;
    padding: 8px;
}

.admin-orders-table.tabla-compras-proveedores .celda-nowrap {
    max-width: 220px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-orders-table.tabla-compras-proveedores td[data-column="metodo_pago"],
.admin-orders-table.tabla-compras-proveedores td[data-column="estado_pago"] {
    max-width: 190px;
}

.admin-orders-table.tabla-compras-proveedores td[data-column="acciones"] {
    text-align: right;
    white-space: nowrap;
}

.admin-orders-table.tabla-compras-proveedores .admin-order-number,
.admin-orders-table.tabla-compras-proveedores .admin-order-client,
.admin-orders-table.tabla-compras-proveedores .admin-order-total {
    color: #0f172a;
}

.admin-orders-table.tabla-compras-proveedores .admin-order-actions-cell {
    display: flex;
    justify-content: flex-end;
}

.admin-orders-panel .compras-tabla-toolbar {
    margin: 0 0 8px;
}

.admin-orders-table.tabla-compras-proveedores .estado-pedido-pendiente {
    background: #fef3c7;
    border-color: #facc15;
    color: #854d0e;
}

.admin-orders-table.tabla-compras-proveedores .estado-pedido-preparando,
.admin-orders-table.tabla-compras-proveedores .estado-pedido-pagado,
.admin-orders-table.tabla-compras-proveedores .estado-pedido-enviado {
    background: #dbeafe;
    border-color: #93c5fd;
    color: #1d4ed8;
}

.admin-orders-table.tabla-compras-proveedores .estado-pedido-entregado {
    background: #dcfce7;
    border-color: #86efac;
    color: #166534;
}

.admin-orders-table.tabla-compras-proveedores .estado-pedido-cancelado {
    background: #fee2e2;
    border-color: #fca5a5;
    color: #b91c1c;
}

.admin-order-actions .btn-mini {
    align-items: center;
    border-radius: 999px;
    display: inline-flex;
    font-size: 12px;
    justify-content: center;
    min-height: 32px;
    text-decoration: none;
}

.admin-orders-mobile-cards {
    display: none;
}

.admin-order-mobile-card {
    background: #ffffff;
    border: 1px solid #dbeafe;
    border-radius: 18px;
    box-shadow: 0 14px 32px rgba(15, 23, 42, 0.07);
    display: grid;
    gap: 14px;
    padding: 16px;
}

.admin-order-mobile-head {
    align-items: flex-start;
    display: flex;
    gap: 12px;
    justify-content: space-between;
}

.admin-order-mobile-head span,
.admin-order-mobile-client span,
.admin-order-mobile-grid span:first-child {
    color: #64748b;
    display: block;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.admin-order-mobile-head strong,
.admin-order-mobile-client strong,
.admin-order-mobile-grid strong {
    color: #0b2f6b;
}

.admin-order-mobile-client {
    background: #f8fafc;
    border-radius: 14px;
    display: grid;
    gap: 4px;
    padding: 12px;
}

.admin-order-mobile-grid {
    display: grid;
    gap: 10px;
    grid-template-columns: 1fr 1fr;
}

.admin-order-mobile-grid > div {
    background: #f8fafc;
    border: 1px solid #eef2f7;
    border-radius: 14px;
    display: grid;
    gap: 5px;
    min-width: 0;
    padding: 11px;
}

.admin-order-mobile-actions {
    display: grid;
    gap: 9px;
    grid-template-columns: 1fr 1fr;
}

.admin-order-mobile-actions .btn-mini {
    align-items: center;
    border-radius: 14px;
    display: inline-flex;
    font-size: 13px;
    font-weight: 900;
    justify-content: center;
    min-height: 44px;
    text-decoration: none;
    width: 100%;
}

@media (max-width: 900px) {
    .admin-orders-kpis {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-manual-order-toggle-row {
        justify-content: stretch;
    }

    .admin-manual-order-toggle {
        justify-content: center;
        width: 100%;
    }

    .admin-manual-order-panel.is-open {
        padding: 16px !important;
    }

    .admin-manual-order-panel .form-grid-precios,
    .admin-manual-order-panel .pedido-manual-row,
    .admin-manual-order-panel .combo-item-row {
        grid-template-columns: 1fr;
    }

    .admin-manual-order-panel input,
    .admin-manual-order-panel select,
    .admin-manual-order-panel textarea,
    .admin-manual-order-panel button {
        width: 100%;
    }

    .admin-orders-toolbar {
        align-items: stretch;
        grid-template-columns: 1fr;
    }

    .admin-orders-toolbar .btn {
        justify-content: center;
        width: 100%;
    }

    .admin-orders-filter-form {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 760px) {
    .admin-orders-kpis {
        grid-template-columns: 1fr;
    }

    .admin-orders-filter-form {
        grid-template-columns: 1fr;
    }

    .admin-orders-table-wrap {
        display: none;
    }

    .admin-orders-mobile-cards {
        display: grid;
        gap: 14px;
        width: 100%;
    }

    .admin-orders-panel,
    .admin-orders-table-wrap,
    .admin-orders-mobile-cards {
        overflow-x: hidden;
    }

    .admin-order-mobile-grid {
        grid-template-columns: 1fr;
    }
}

.pedido-timeline {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-bottom: 18px;
}

.pedido-timeline-step {
    align-items: center;
    background: #f8fafc;
    border: 1px solid #e5e7eb;
    border-radius: 14px;
    color: #64748b;
    display: flex;
    gap: 10px;
    padding: 12px;
}

.pedido-timeline-step.is-complete {
    background: #eff6ff;
    border-color: #93c5fd;
    color: #1d4ed8;
}

.pedido-timeline-step.is-current {
    background: #dbeafe;
    border-color: #93c5fd;
    color: #1d4ed8;
}

.pedido-timeline-dot {
    background: #cbd5e1;
    border-radius: 999px;
    display: inline-block;
    height: 10px;
    min-width: 10px;
    width: 10px;
}

.pedido-timeline-step.is-complete .pedido-timeline-dot {
    background: #2563eb;
}

.pedido-timeline-step.is-current .pedido-timeline-dot {
    background: #1d4ed8;
}

.pedido-timeline-cancelado {
    background: #fef2f2;
    border: 1px solid #fecaca;
    border-radius: 14px;
    color: #991b1b;
    display: grid;
    gap: 6px;
    margin-bottom: 18px;
    padding: 14px;
}

.perfil-hero {
    align-items: center;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.08);
    display: flex;
    gap: 20px;
    justify-content: space-between;
    margin-bottom: 22px;
    padding: 24px;
}

.perfil-hero h2 {
    color: #111827;
    margin-bottom: 8px;
}

.perfil-hero p:last-child {
    color: #6b7280;
    line-height: 1.6;
    margin: 0;
}

.perfil-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-end;
}

.perfil-grid {
    display: grid;
    gap: 18px;
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
    margin-bottom: 24px;
}

.perfil-card,
.perfil-pedidos {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06);
    padding: 22px;
}

.perfil-card h3,
.perfil-section-head h3 {
    color: #111827;
    margin-bottom: 12px;
}

.perfil-card p {
    color: #4b5563;
    line-height: 1.6;
    margin-bottom: 8px;
}

.perfil-estados-ayuda {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 12px;
}

.perfil-estados-ayuda span {
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    border-radius: 999px;
    color: #1d4ed8;
    font-size: 12px;
    font-weight: 800;
    padding: 7px 10px;
}

.perfil-section-head {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin-bottom: 10px;
}

.tabla-perfil-wrap {
    width: 100%;
}

.tabla-perfil-pedidos {
    width: 100%;
}

.tabla-perfil-pedidos td strong,
.tabla-perfil-pedidos td small {
    display: block;
}

.tabla-perfil-pedidos td small {
    color: #6b7280;
    font-size: 12px;
    margin-top: 5px;
}

.pago-badge {
    background: #e5e7eb;
    border-radius: 999px;
    color: #374151;
    display: inline-block;
    font-size: 12px;
    font-weight: 800;
    padding: 6px 10px;
}

.pago-pendiente {
    background: #fef3c7;
    color: #92400e;
}

.pago-en_revision {
    background: #dbeafe;
    color: #1d4ed8;
}

.pago-confirmado {
    background: #dcfce7;
    color: #166534;
}

.pago-rechazado {
    background: #fee2e2;
    color: #991b1b;
}

.header-top {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: space-between;
    margin-bottom: 12px;
}

.promo-bar {
    background: #2e0b3d;
    color: white;
    padding: 8px 0;
    text-align: center;
}

.promo-bar p {
    font-size: 14px;
    font-weight: bold;
}

.menu-contexto {
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 999px;
    color: #e5e7eb;
    font-size: 13px;
    font-weight: bold;
    padding: 6px 12px;
}

.header.header-cliente {
    background: #ffffff;
    border-bottom: 1px solid #e5e7eb;
    box-shadow: 0 6px 20px rgba(17, 24, 39, 0.05);
}

.header-cliente-main {
    align-items: center;
    display: grid;
    gap: 20px;
    grid-template-columns: 220px minmax(0, 1fr) auto;
    padding: 16px 0 12px;
}

.logo-cliente {
    color: #b91c1c;
    font-size: 32px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-decoration: none;
    text-transform: uppercase;
}

.header-search {
    align-items: stretch;
    display: flex;
    flex-wrap: nowrap;
    min-width: 0;
    width: 100%;
}

.header-search input {
    background: #f9fafb;
    border: 1px solid #d1d5db;
    border-radius: 10px 0 0 10px;
    color: #374151;
    font-size: 16px;
    min-width: 0;
    padding: 12px 16px;
    width: 100%;
}

.header-search button {
    background: #fbbf24;
    border: 1px solid #fbbf24;
    border-radius: 0 10px 10px 0;
    color: #111827;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    font-weight: bold;
    min-width: 110px;
    white-space: nowrap;
    padding: 0 24px;
}

.header-top-actions {
    align-items: center;
    display: flex;
    gap: 16px;
    justify-content: flex-end;
}

.header-top-actions a {
    color: #111827;
    font-weight: bold;
    text-decoration: none;
}

.header-top-actions a:hover {
    color: #1d4ed8;
}

.header-cart-link {
    align-items: center;
    background: transparent !important;
    display: inline-flex;
    justify-content: center;
    min-height: 44px;
    min-width: 44px;
    padding: 0 !important;
}

.header-cart-icon {
    display: block;
    height: 28px;
    width: 28px;
}

.header-user-links {
    border-left: 1px solid #e5e7eb;
    display: grid;
    gap: 2px;
    padding-left: 14px;
}

.header-user-links a {
    color: #111827;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.15;
    padding: 0;
}

.header-user-links a:first-child {
    font-weight: 700;
}

.menu {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.menu-bloque {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.menu-bloque-acciones {
    margin-left: auto;
}

.menu a {
    border-radius: 999px;
    margin-right: 0;
    padding: 8px 12px;
}

.menu a:hover {
    background: rgba(255, 255, 255, 0.12);
    text-decoration: none;
}

.header,
.header-admin {
    background: #3b0764;
}

.admin-body {
    background: #f8f9fa;
}

.admin-body .header-admin {
    background: linear-gradient(180deg, #1f1147 0%, #3b0764 100%);
    bottom: 0;
    box-shadow: 18px 0 40px rgba(59, 7, 100, 0.18);
    left: 0;
    margin-bottom: 0;
    overflow: hidden;
    padding: 0;
    position: fixed;
    top: 0;
    width: 272px;
    z-index: 120;
}

.admin-body .header-admin .contenedor {
    display: flex;
    flex-direction: column;
    gap: 20px;
    height: 100%;
    margin: 0;
    max-width: none;
    overflow-y: auto;
    padding: 24px 18px 20px;
    width: 100%;
}

.admin-body .header-admin .header-top {
    align-items: flex-start;
    border-bottom: 1px solid rgba(255, 255, 255, 0.10);
    display: grid;
    gap: 8px;
    padding-bottom: 16px;
}

.admin-body .header-admin .logo {
    font-size: 24px;
    line-height: 1.1;
    margin: 0;
}

.admin-body .header-admin .menu-contexto {
    color: rgba(255, 255, 255, 0.72);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.admin-body .admin-user-box {
    background: rgba(255, 255, 255, 0.10);
    border: 1px solid rgba(255, 255, 255, 0.10);
    border-radius: 16px;
    display: grid;
    gap: 4px;
    padding: 14px 16px;
}

.admin-body .admin-user-box strong {
    color: #ffffff;
    font-size: 15px;
    line-height: 1.2;
}

.admin-body .admin-user-box span {
    color: rgba(255, 255, 255, 0.74);
    font-size: 12px;
    line-height: 1.3;
    word-break: break-word;
}

.admin-body .menu-admin {
    align-items: stretch;
    display: flex;
    flex: 1;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 14px;
    overflow-y: auto;
    padding-right: 4px;
}

.admin-body .menu-admin > a,
.admin-body .menu-grupo-btn {
    align-items: center;
    border-radius: 14px;
    display: flex;
    justify-content: space-between;
    padding: 12px 14px;
    width: 100%;
}

.admin-body .menu-admin > a {
    background: rgba(255, 255, 255, 0.10);
}

.admin-body .menu-grupo {
    position: static;
}

.admin-body .menu-grupo-btn {
    background: rgba(255, 255, 255, 0.08);
    cursor: pointer;
}

.admin-body .menu-admin > a:hover,
.admin-body .menu-grupo-btn:hover {
    background: rgba(255, 255, 255, 0.16);
}

.admin-body .menu-admin > a.is-active,
.admin-body .menu-grupo-btn.is-active,
.admin-body .menu-grupo-btn[aria-expanded="true"] {
    background: linear-gradient(135deg, rgba(37, 99, 235, 0.92), rgba(59, 130, 246, 0.86));
    box-shadow: 0 10px 26px rgba(37, 99, 235, 0.24);
    color: #ffffff;
}

.admin-body .menu-grupo-btn::after {
    transform: rotate(45deg);
}

.admin-body .menu-grupo-btn[aria-expanded="true"]::after {
    transform: rotate(135deg);
}

.admin-body .submenu {
    background: transparent;
    border: none;
    border-radius: 0;
    box-shadow: none;
    display: grid;
    gap: 6px;
    left: auto;
    margin-top: 0;
    max-height: 0;
    min-width: 0;
    opacity: 0;
    overflow: hidden;
    padding: 0 0 0 12px;
    pointer-events: none;
    position: static;
    top: auto;
    transition: max-height 0.26s ease, margin-top 0.18s ease, opacity 0.18s ease;
    transform: none;
    visibility: visible;
}

.admin-body .menu-grupo.is-open .submenu {
    margin-top: 6px;
    max-height: 420px;
    opacity: 1;
    pointer-events: auto;
}

.admin-body .submenu::before {
    display: none;
}

.admin-body .submenu a {
    background: transparent;
    border-left: 2px solid rgba(255, 255, 255, 0.16);
    border-radius: 0 12px 12px 0;
    color: rgba(255, 255, 255, 0.86);
    padding: 9px 12px;
    white-space: normal;
}

.admin-body .submenu a:hover {
    background: rgba(255, 255, 255, 0.10);
    border-left-color: #c4b5fd;
    color: #ffffff;
}

.admin-body .submenu a.is-active,
.admin-body .submenu a.is-current-hash {
    background: rgba(255, 255, 255, 0.14);
    border-left-color: #93c5fd;
    color: #ffffff;
    font-weight: 700;
}

.admin-body .submenu a.is-muted-active {
    background: transparent;
    border-left-color: rgba(255, 255, 255, 0.16);
    color: rgba(255, 255, 255, 0.62);
    font-weight: 500;
}

.admin-body .menu-admin-link {
    background: linear-gradient(135deg, #2563eb, #3b82f6) !important;
}

.admin-body .menu-salir {
    background: linear-gradient(135deg, #dc2626, #ef4444) !important;
}

.admin-mobile-menu-toggle,
.admin-mobile-menu-backdrop {
    display: none;
}

.admin-body .contenido-principal.contenedor {
    margin: 0 0 0 272px;
    max-width: none;
    padding: 32px 28px 40px;
    width: calc(100% - 272px);
}

.admin-cotizacion-alert {
    align-items: center;
    background: #fffbeb;
    border: 1px solid #fde68a;
    border-radius: 12px;
    color: #713f12;
    display: flex;
    gap: 14px;
    justify-content: space-between;
    margin: 16px 28px 0 300px;
    max-width: none;
    padding: 10px 12px;
    width: calc(100% - 328px);
}

.admin-cotizacion-alert-text {
    align-items: center;
    display: flex;
    gap: 10px;
    min-width: 0;
}

.admin-cotizacion-alert-icon {
    align-items: center;
    background: #fef3c7;
    border-radius: 999px;
    color: #b45309;
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 15px;
    height: 28px;
    justify-content: center;
    width: 28px;
}

.admin-cotizacion-alert strong {
    color: #78350f;
    display: block;
    font-size: 13px;
    line-height: 1.2;
}

.admin-cotizacion-alert span {
    font-size: 12px;
    line-height: 1.25;
}

.admin-cotizacion-alert-action {
    align-items: center;
    background: #2563eb;
    border: 1px solid #2563eb;
    color: #ffffff !important;
    display: inline-flex;
    flex: 0 0 auto;
    justify-content: center;
    margin: 0;
}

.admin-cotizacion-alert-action:hover {
    background: #1d4ed8;
    border-color: #1d4ed8;
}

.admin-cotizacion-alert-close {
    align-items: center;
    align-self: stretch;
    background: transparent;
    border: 0;
    color: #92400e;
    cursor: pointer;
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 22px;
    justify-content: center;
    line-height: 1;
    padding: 0 4px;
}

.admin-cotizacion-alert-close:hover,
.admin-cotizacion-alert-close:focus-visible {
    color: #451a03;
}

.btn-registrar-metodo {
    width: 100%;
}

.configuracion-sistema-seccion + .configuracion-sistema-seccion {
    border-top: 1px solid #e2e8f0;
    margin-top: 24px;
    padding-top: 20px;
}

.configuracion-sistema-seccion h3 {
    margin: 0 0 12px;
}

/* Delivery / Ciudades: la tabla se conserva en escritorio y se reemplaza por cards editables en móvil. */
.delivery-mobile-compact-header,
.delivery-mobile-cards,
.mobile-page-header {
    display: none;
}

@media (max-width: 768px) {
    .admin-body:has(.mobile-page-header) .contenido-principal.contenedor {
        padding-top: 8px !important;
    }

    .admin-body:has(.mobile-page-header) .admin-mobile-menu-toggle {
        display: none !important;
    }

    .mobile-page-header {
        align-items: center;
        display: flex;
        gap: 12px;
        margin: 0 0 12px;
    }

    .mobile-menu-btn {
        align-items: center;
        background: #ffffff;
        border: 1px solid #dbe3ef;
        border-radius: 8px;
        color: #0f172a;
        display: inline-flex;
        flex: 0 0 34px;
        height: 34px;
        justify-content: center;
        padding: 0;
        width: 34px;
    }

    .mobile-page-title {
        color: #0f172a;
        font-size: 28px;
        font-weight: 700;
        line-height: 1;
        margin: 0;
    }

    .system-desktop-title {
        display: none;
    }

    .admin-body:has(.delivery-mobile-compact-header) .contenido-principal.contenedor {
        padding-top: 8px !important;
    }

    .admin-body:has(.delivery-mobile-compact-header) .admin-mobile-menu-toggle {
        display: none !important;
    }

    .delivery-mobile-compact-header {
        align-items: center;
        display: flex;
        gap: 10px;
        margin: 0 0 12px;
    }

    .delivery-mobile-menu-trigger {
        align-items: center;
        background: #ffffff;
        border: 1px solid #dbe3ef;
        border-radius: 8px;
        color: #0f172a;
        display: inline-flex;
        flex: 0 0 34px;
        height: 34px;
        justify-content: center;
        padding: 0;
        width: 34px;
    }

    .delivery-mobile-compact-header h1 {
        color: #0f172a;
        font-size: 20px;
        font-weight: 800;
        line-height: 1.1;
        margin: 0;
    }

    .delivery-desktop-title,
    .delivery-desktop-fields,
    .delivery-desktop-table,
    .delivery-desktop-table .tabla-carrito-wrap,
    .delivery-desktop-table table,
    .delivery-desktop-table thead,
    .delivery-desktop-table tbody,
    .delivery-desktop-table tr,
    .delivery-desktop-table th,
    .delivery-desktop-table td {
        display: none !important;
    }

    .delivery-mobile-cards,
    .delivery-mobile-list {
        display: block !important;
        margin: 0;
        padding: 0;
    }

}

@media (max-width: 768px) {
    .delivery-mobile-card {
        background: #ffffff;
        border: 1px solid #e5e7eb;
        border-radius: 12px;
        box-sizing: border-box;
        display: block !important;
        margin: 0 0 12px;
        max-width: 100% !important;
        padding: 12px;
        width: 100% !important;
    }

    .delivery-mobile-card h4 {
        color: #0f172a;
        font-size: 15px;
        line-height: 1.3;
        margin: 0 0 10px;
    }

    .delivery-mobile-card > label:not(.cotizar-check) {
        color: #475569;
        display: block;
        font-size: 12px;
        font-weight: 600;
        margin: 10px 0 4px;
    }

    .delivery-mobile-card > input[type="number"] {
        box-sizing: border-box !important;
        display: block;
        height: 40px;
        margin: 0;
        max-width: 100% !important;
        min-width: 0 !important;
        padding: 7px 9px;
        width: 100% !important;
    }

    .delivery-mobile-card .cotizar-check {
        align-items: center;
        color: #475569;
        display: flex;
        font-size: 12px;
        font-weight: 600;
        gap: 8px;
        margin: 12px 0 0;
    }

    .delivery-mobile-card .cotizar-check input[type="checkbox"] {
        flex: 0 0 16px;
        height: 16px;
        margin: 0;
        max-width: 16px !important;
        min-width: 16px !important;
        width: 16px !important;
    }
}

@media (min-width: 769px) {
    .btn-registrar-metodo {
        align-items: center;
        display: inline-flex;
        justify-content: center;
        max-width: 220px;
        min-width: 180px;
        width: auto !important;
    }
}

.metodos-pago-mobile-list,
.metodos-texto-metodos,
.metodos-pago-mobile-controls,
.compras-paginacion-nav.metodos-paginacion-mobile {
    display: none;
}

@media (max-width: 768px) {
    .metodos-pago-titulo,
    .metodos-pago-tabla,
    .metodos-pago-desktop-filtros,
    .metodos-pago-desktop-toolbar,
    .metodos-pago-desktop-size,
    .metodos-texto-registros {
        display: none;
    }

    .metodos-pago-mobile-list,
    .metodos-texto-metodos,
    .metodos-pago-mobile-controls,
    .metodos-paginacion-mobile {
        display: block;
    }

    .compras-paginacion-nav.metodos-paginacion-desktop {
        display: none !important;
    }

    .compras-paginacion-nav.metodos-paginacion-mobile {
        align-items: center;
        display: flex;
        justify-content: space-between;
        width: 100%;
    }

    .metodos-paginacion-mobile .btn-mini:disabled {
        cursor: not-allowed;
        opacity: .5;
    }

    .metodos-pago-mobile-controls {
        display: grid;
        gap: 0;
        margin: 14px 0 12px;
    }

    .metodos-pago-mobile-controls input,
    .metodos-pago-mobile-controls select {
        margin: 0;
        width: 100%;
    }

    .metodos-pago-mobile-controls .mobile-search-input {
        border: 1px solid #dbe2ea;
        border-radius: 10px;
        box-shadow: none;
        height: 40px;
        margin-bottom: 10px;
        padding: 0 12px;
    }

    .metodos-pago-mobile-controls form,
    .metodos-pago-mobile-controls label {
        margin: 0;
    }

    .metodos-pago-mobile-controls form {
        margin-top: 10px;
    }

    .metodos-pago-mobile-controls label {
        align-items: center;
        display: flex;
        gap: 8px;
    }

    .metodos-pago-mobile-controls label select {
        flex: 1;
    }

    .metodos-pago-mobile-list {
        margin-top: 12px;
    }

    .metodos-pago-mobile-card {
        background: #fff;
        border: 1px solid #e2e8f0;
        border-radius: 10px;
        margin-bottom: 10px;
        padding: 12px;
    }

    .metodos-pago-mobile-card-head {
        align-items: center;
        display: flex;
        gap: 10px;
        justify-content: space-between;
    }

    .metodos-pago-mobile-card-head strong {
        color: #0f172a;
        font-size: 14px;
    }

    .metodos-pago-mobile-card p {
        color: #64748b;
        font-size: 13px;
        margin: 8px 0 0;
    }

    .metodos-pago-mobile-card p strong {
        color: #334155;
    }

    .metodos-pago-mobile-card .compras-tabla-acciones {
        margin-top: 10px;
    }
}

.admin-body .footer {
    flex-shrink: 0;
    margin-left: 272px;
}

.admin-body .footer .contenedor {
    max-width: none;
    width: calc(100% - 56px);
}

@media (max-width: 980px) {
    .admin-cotizacion-alert {
        align-items: stretch;
        display: grid;
        gap: 10px;
        margin: 12px 12px 0;
        padding: 10px 38px 10px 10px;
        position: relative;
        width: auto;
    }

    .admin-cotizacion-alert-action {
        height: 38px !important;
        padding: 0 12px !important;
        width: 100%;
    }

    .admin-cotizacion-alert-close {
        align-items: center;
        display: flex;
        font-size: 18px;
        height: 24px;
        justify-content: center;
        padding: 0;
        position: absolute;
        right: 10px;
        top: 8px;
        width: 24px;
    }

    .admin-body .header-admin {
        box-shadow: 18px 0 40px rgba(15, 23, 42, 0.22);
        max-width: min(86vw, 330px);
        position: fixed;
        transform: translateX(-105%);
        transition: transform 0.24s ease;
        width: 330px;
        z-index: 1400;
    }

    .admin-body .header-admin.admin-menu-open {
        transform: translateX(0);
    }

    .admin-body .header-admin .contenedor {
        gap: 16px;
        overflow-y: auto;
        padding: 18px 16px;
    }

    .admin-body .menu-admin {
        display: flex;
        gap: 10px;
        overflow-y: auto;
        padding-right: 0;
    }

    .admin-body .menu-admin > a,
    .admin-body .menu-admin .menu-grupo-btn,
    .admin-body .menu-admin .submenu a {
        width: 100%;
    }

    .admin-body .contenido-principal.contenedor {
        margin-left: 0;
        padding: 86px 16px 32px;
        width: 100%;
    }

    .admin-body .footer {
        margin-left: 0;
    }

    .admin-body .footer .contenedor {
        width: 90%;
    }

    .admin-mobile-menu-toggle {
        align-items: center;
        background: rgba(255, 255, 255, 0.72);
        border: 0;
        border-radius: 10px;
        box-shadow: none;
        color: #111827;
        cursor: pointer;
        display: inline-flex;
        font-size: 17px;
        left: 16px;
        height: 38px;
        justify-content: center;
        min-height: 38px;
        min-width: 38px;
        padding: 0;
        position: fixed;
        top: 16px;
        width: 38px;
        z-index: 1500;
    }

    .admin-mobile-menu-toggle i {
        color: currentColor;
        font-size: 17px;
        line-height: 1;
    }

    .admin-mobile-menu-backdrop {
        background: rgba(15, 23, 42, 0.48);
        border: 0;
        bottom: 0;
        cursor: pointer;
        left: 0;
        opacity: 0;
        position: fixed;
        right: 0;
        top: 0;
        transition: opacity 0.2s ease, visibility 0.2s ease;
        visibility: hidden;
        z-index: 1300;
    }

    .admin-mobile-menu-backdrop.is-visible {
        display: block;
        opacity: 1;
        visibility: visible;
    }

    body.admin-menu-lock {
        overflow: hidden;
    }
}

@media (max-width: 980px) {
    .admin-body .admin-mobile-menu-toggle {
        align-items: center !important;
        display: inline-flex !important;
        left: 16px !important;
        position: fixed !important;
        top: 16px !important;
        z-index: 3000 !important;
    }

    .admin-body .admin-mobile-menu-backdrop.is-visible {
        display: block !important;
    }
}

.header-cliente .menu {
    border-top: 1px solid #f3f4f6;
    justify-content: flex-start;
    padding: 10px 0 14px;
}

.header.header-cliente .contenedor {
    max-width: 1200px;
}

.menu-cliente a {
    background: transparent;
    color: #4b5563;
    font-size: 14px;
    font-weight: 600;
    padding: 6px 4px;
}

.menu-cliente a:hover {
    background: transparent;
    color: #1d4ed8;
}

.whatsapp-float {
    align-items: center;
    background: #25d366;
    border-radius: 999px;
    color: white;
    display: inline-flex;
    font-weight: bold;
    justify-content: center;
    text-decoration: none;
}

.whatsapp-float:hover {
    background: #1faa52;
}

.whatsapp-icon {
    display: block;
    height: 24px;
    width: 24px;
}

.whatsapp-float {
    bottom: 24px;
    box-shadow: 0 12px 30px rgba(37, 211, 102, 0.35);
    height: 58px;
    position: fixed;
    right: 24px;
    width: 58px;
    z-index: 40;
}

.btn-whatsapp {
    background: #25D366 !important;
    color: #fff !important;
    border: none;
    border-radius: 12px;
    font-weight: 700;
}

.btn-whatsapp:hover {
    background: #1ebe5d !important;
}

.pedido-exito-card {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.08);
    margin: 24px auto;
    max-width: 760px;
    padding: 28px;
}

.pedido-exito-acciones {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 22px;
}

.pedido-exito-ayuda {
    color: #6b7280;
    font-size: 14px;
    margin-top: 14px;
}

.sr-only {
    border: 0;
    clip: rect(0, 0, 0, 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

.menu-admin a {
    background: rgba(255, 255, 255, 0.10);
}

.menu-grupo {
    position: relative;
}

.menu-grupo-btn {
    background: rgba(255, 255, 255, 0.10);
    border: none;
    border-radius: 999px;
    color: white;
    cursor: pointer;
    font: inherit;
    font-weight: bold;
    padding: 8px 12px;
}

.menu-grupo-btn::after {
    border-bottom: 2px solid currentColor;
    border-right: 2px solid currentColor;
    content: "";
    display: inline-block;
    height: 7px;
    margin-left: 8px;
    transform: rotate(45deg) translateY(-2px);
    transition: transform 0.18s ease;
    width: 7px;
}

.menu-grupo:hover .menu-grupo-btn::after,
.menu-grupo:focus-within .menu-grupo-btn::after {
    transform: rotate(225deg) translate(-1px, -1px);
}

.submenu {
    background: white;
    border: 1px solid #e5e7eb;
    border-radius: 14px;
    box-shadow: 0 18px 45px rgba(17, 24, 39, 0.18);
    display: grid;
    gap: 4px;
    left: 0;
    min-width: 190px;
    opacity: 0;
    padding: 8px;
    pointer-events: none;
    position: absolute;
    top: calc(100% + 4px);
    transform: translateY(8px);
    transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s ease;
    visibility: hidden;
    z-index: 120;
}

.submenu::before {
    content: "";
    height: 10px;
    left: 0;
    position: absolute;
    right: 0;
    top: -10px;
}

.submenu a {
    background: transparent;
    border-radius: 10px;
    color: #0b3b8f;
    display: block;
    padding: 10px 12px;
    white-space: nowrap;
}

.submenu a:hover {
    background: #eff6ff;
    color: #1d4ed8;
}

.menu-grupo:hover .submenu,
.menu-grupo:focus-within .submenu {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
    visibility: visible;
}

.menu-admin-link {
    background: #7c3aed !important;
}

.menu-salir {
    background: #dc2626 !important;
}

.dashboard-hero {
    align-items: center;
    background: linear-gradient(135deg, #3b0764, #7c3aed);
    border-radius: 22px;
    color: white;
    display: flex;
    gap: 20px;
    justify-content: space-between;
    margin-bottom: 24px;
    padding: 28px;
    box-shadow: 0 18px 45px rgba(59, 7, 100, 0.22);
}

.dashboard-hero h2 {
    margin-bottom: 8px;
}

.dashboard-label {
    color: #bfdbfe;
    font-size: 13px;
    font-weight: bold;
    letter-spacing: 0.08em;
    margin-bottom: 8px;
    text-transform: uppercase;
}

.dashboard-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-end;
}

.btn-secundario {
    background: #2563eb;
    border: 1px solid #2563eb;
    color: #ffffff;
    box-shadow: 0 10px 22px rgba(37, 99, 235, 0.24);
}

.btn-secundario:hover {
    background: #1d4ed8;
    border-color: #1d4ed8;
    color: #ffffff;
}

.dashboard-hero-actions .btn.btn-productos-admin {
    background: #2563eb !important;
    border: 1px solid #2563eb !important;
    color: #ffffff !important;
    box-shadow: 0 12px 24px rgba(37, 99, 235, 0.28);
}

.dashboard-hero-actions .btn.btn-productos-admin:hover,
.dashboard-hero-actions .btn.btn-productos-admin:focus {
    background: #1d4ed8 !important;
    border-color: #1d4ed8 !important;
    color: #ffffff !important;
}

.dashboard-kpis {
    display: grid;
    grid-template-columns: repeat(6, minmax(150px, 1fr));
    gap: 16px;
    margin-bottom: 24px;
}

.kpi-card {
    background: white;
    border: 1px solid #dbeafe;
    border-radius: 18px;
    box-shadow: 0 10px 30px rgba(17, 24, 39, 0.06);
    padding: 18px;
}

.kpi-card span {
    color: #6b7280;
    display: block;
    font-size: 13px;
    font-weight: bold;
    margin-bottom: 8px;
}

.kpi-card strong {
    color: #1d4ed8;
    display: block;
    font-size: 26px;
    line-height: 1.1;
    margin-bottom: 8px;
}

.kpi-card small {
    color: #6b7280;
}

.kpi-principal {
    background: #eff6ff;
    border-color: #bfdbfe;
}

.dashboard-operativo {
    display: grid;
    gap: 14px;
}

.dashboard-mobile-compact-header,
.dashboard-total-mobile,
.dashboard-summary-title-mobile {
    display: none;
}

.dashboard-operativo-row {
    display: grid;
    gap: 12px;
}

.dashboard-operativo-row-main {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.dashboard-operativo-row-total {
    grid-template-columns: 1fr;
}

.dashboard-operativo-row-payments {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.dashboard-operativo-card {
    background: #ffffff;
    border: 1px solid #dbe3ef;
    border-radius: 10px;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.05);
    display: grid;
    gap: 5px;
    min-width: 0;
    padding: 14px;
}

.dashboard-operativo-card span {
    color: #475569;
    font-size: 12px;
    font-weight: 800;
}

.dashboard-operativo-card strong {
    color: #0f172a;
    font-size: 24px;
    line-height: 1.1;
    overflow-wrap: anywhere;
}

.dashboard-operativo-card small {
    color: #64748b;
    font-size: 12px;
}

.dashboard-operativo-card.is-expense strong,
.dashboard-operativo-card.is-negative strong {
    color: #b91c1c;
}

.dashboard-operativo-card.is-profit strong {
    color: #15803d;
}

.dashboard-operativo-card.is-total {
    background: #eff6ff;
    border-color: #bfdbfe;
}

.dashboard-operativo-card.is-total strong {
    color: #1d4ed8;
}

.dashboard-operativo > .dashboard-operativo-row-total,
.dashboard-operativo > .dashboard-operativo-row-payments,
.dashboard-operativo > .dashboard-operativo-alertas {
    display: none !important;
}

.dashboard-finanzas-formas {
    background: #ffffff;
    border: 1px solid #dbe3ef;
    border-radius: 10px;
    display: grid;
    gap: 12px;
    padding: 14px;
}

.dashboard-finanzas-formas h2 {
    color: #0f172a;
    font-size: 18px;
    margin: 0;
}

.dashboard-finanzas-table-wrap {
    overflow-x: auto;
    width: 100%;
}

.dashboard-finanzas-table {
    border-collapse: collapse;
    width: 100%;
}

.dashboard-finanzas-table th,
.dashboard-finanzas-table td {
    border-bottom: 1px solid #e2e8f0;
    color: #0f172a;
    font-size: 13px;
    padding: 10px 8px;
    text-align: right;
    white-space: nowrap;
}

.dashboard-finanzas-table th {
    background: #f8fafc;
    color: #475569;
    font-weight: 800;
}

.dashboard-finanzas-table th:first-child,
.dashboard-finanzas-table td:first-child {
    text-align: left;
}

.dashboard-finanzas-table tbody tr:last-child td {
    border-bottom: 0;
}

.dashboard-finanzas-table td strong {
    color: #1d4ed8;
}

.dashboard-finanzas-mobile {
    display: none;
}

.dashboard-total-disponible {
    align-items: center;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    border-radius: 10px;
    display: flex;
    gap: 10px;
    justify-content: space-between;
    padding: 12px;
}

.dashboard-total-disponible span {
    color: #1e3a8a;
    font-size: 13px;
    font-weight: 800;
}

.dashboard-total-disponible strong {
    color: #1d4ed8;
    font-size: 22px;
}

.dashboard-mensual {
    background: #ffffff;
    border: 1px solid #dbe3ef;
    border-radius: 10px;
    display: grid;
    gap: 12px;
    padding: 14px;
}

.dashboard-mensual h2 {
    color: #0f172a;
    font-size: 18px;
    margin: 0;
}

.dashboard-mensual-table-wrap {
    overflow-x: auto;
    width: 100%;
}

.dashboard-mensual-table {
    border-collapse: collapse;
    width: 100%;
}

.dashboard-mensual-table th,
.dashboard-mensual-table td {
    border-bottom: 1px solid #e2e8f0;
    color: #0f172a;
    font-size: 13px;
    padding: 10px 8px;
    text-align: right;
    white-space: nowrap;
}

.dashboard-mensual-table th {
    background: #f8fafc;
    color: #475569;
    font-weight: 800;
}

.dashboard-mensual-table th:first-child,
.dashboard-mensual-table td:first-child {
    text-align: left;
}

.dashboard-mensual-table tbody tr.is-best td {
    background: #f0fdf4;
}

.dashboard-mensual-table tbody tr.is-best td strong {
    color: #15803d;
}

.dashboard-mensual-table tbody tr.is-loss td {
    background: #fef2f2;
}

.dashboard-mensual-table tbody tr.is-loss td strong {
    color: #b91c1c;
}

.dashboard-mensual-table tfoot th {
    background: #eff6ff;
    border-bottom: 0;
    color: #1e3a8a;
}

.dashboard-mensual-mobile {
    display: none;
}

.dashboard-mobile-accordion-toggle {
    display: none;
}

.dashboard-accordion-content {
    display: grid;
    gap: 12px;
}

.dashboard-label-mobile,
.dashboard-mobile-only {
    display: none;
}

.dashboard-operativo-alertas {
    background: #ffffff;
    border: 1px solid #dbe3ef;
    border-radius: 10px;
    display: grid;
    gap: 10px;
    padding: 14px;
}

.dashboard-operativo-alertas h2 {
    color: #0f172a;
    font-size: 18px;
    margin: 0;
}

.dashboard-operativo-alertas p {
    color: #64748b;
    margin: 0;
}

.dashboard-operativo-alert-list {
    display: grid;
    gap: 8px;
}

.dashboard-operativo-alert-list a {
    align-items: center;
    background: #fffbeb;
    border: 1px solid #fde68a;
    border-radius: 8px;
    color: #78350f;
    display: flex;
    gap: 8px;
    padding: 9px 10px;
    text-decoration: none;
}

.dashboard-operativo-alert-list a > span {
    align-items: center;
    background: #f59e0b;
    border-radius: 999px;
    color: #ffffff;
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 11px;
    font-weight: 900;
    height: 20px;
    justify-content: center;
    width: 20px;
}

.dashboard-operativo-alert-list strong {
    font-size: 13px;
}

@media (max-width: 680px) {
    .admin-body:has(.dashboard-mobile-compact-header) .contenido-principal.contenedor {
        padding-top: 8px !important;
    }

    .admin-body:has(.dashboard-mobile-compact-header) .admin-mobile-menu-toggle {
        display: none !important;
    }

    .dashboard-mobile-compact-header {
        align-items: center;
        display: flex;
        gap: 10px;
        margin: 0 0 8px;
    }

    .dashboard-mobile-menu-trigger {
        align-items: center;
        background: #ffffff;
        border: 1px solid #dbe3ef;
        border-radius: 8px;
        color: #0f172a;
        display: inline-flex;
        flex: 0 0 34px;
        height: 34px;
        justify-content: center;
        width: 34px;
    }

    .dashboard-mobile-compact-header h1 {
        color: #0f172a;
        font-size: 20px;
        font-weight: 800;
        line-height: 1;
        margin: 0;
    }

    .dashboard-operativo {
        gap: 8px;
    }

    .dashboard-operativo-row {
        gap: 8px;
    }

    .dashboard-operativo-row-main {
        gap: 8px;
        grid-template-columns: 1fr;
    }

    .dashboard-operativo-row-total,
    .dashboard-operativo-row-payments {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .dashboard-operativo-card {
        border-radius: 8px;
        box-shadow: none;
        gap: 10px;
        min-width: 0;
        min-height: 96px;
        padding: 14px 12px;
    }

    .dashboard-operativo-card span {
        font-size: 14px;
        line-height: 1.2;
        white-space: nowrap;
    }

    .dashboard-operativo-card strong {
        font-size: 28px;
        font-weight: 700;
        line-height: 1.1;
        word-break: break-word;
    }

    .dashboard-operativo-card small {
        display: none;
    }

    .dashboard-finanzas-formas {
        gap: 8px;
        padding: 10px;
    }

    .dashboard-finanzas-formas h2 {
        font-size: 15px;
    }

    .dashboard-summary-title-desktop {
        display: none;
    }

    .dashboard-summary-title-mobile {
        display: inline;
    }

    .dashboard-finanzas-table-wrap {
        display: none;
    }

    .dashboard-finanzas-mobile {
        display: grid;
        gap: 8px;
    }

    .dashboard-forma-card {
        background: #ffffff;
        border: 1px solid #e2e8f0;
        border-radius: 8px;
        display: grid;
        gap: 4px;
        padding: 10px;
    }

    .dashboard-forma-card h3 {
        color: #0f172a;
        font-size: 14px;
        margin: 0 0 2px;
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .dashboard-forma-card p {
        align-items: center;
        color: #475569;
        display: flex;
        font-size: 12px;
        gap: 8px;
        justify-content: space-between;
        margin: 0;
        min-width: 0;
    }

    .dashboard-forma-card strong {
        color: #0f172a;
        font-size: 12px;
        text-align: right;
    }

    .dashboard-total-disponible {
        display: none;
    }

    .dashboard-total-mobile {
        align-items: flex-start;
        background: #eff6ff;
        border: 1px solid #bfdbfe;
        border-radius: 8px;
        display: grid;
        gap: 10px;
        min-height: 96px;
        padding: 14px 12px;
    }

    .dashboard-total-mobile span {
        color: #1e3a8a;
        font-size: 14px;
        font-weight: 800;
        line-height: 1.2;
    }

    .dashboard-total-mobile strong {
        color: #1d4ed8;
        font-size: 28px;
        font-weight: 700;
        line-height: 1.1;
    }

    .dashboard-mensual {
        gap: 8px;
        padding: 10px;
    }

    .dashboard-mobile-accordion {
        background: transparent;
        border: 0;
        border-radius: 0;
        gap: 0;
        padding: 0;
    }

    .dashboard-mobile-accordion > h2 {
        display: none;
    }

    .dashboard-mobile-accordion-toggle {
        align-items: center;
        background: #ffffff;
        border: 0;
        border-bottom: 1px solid #e2e8f0;
        border-radius: 0;
        color: #0f172a;
        cursor: pointer;
        display: flex;
        font-size: 14px;
        font-weight: 800;
        justify-content: flex-start;
        min-height: 46px;
        padding: 0 4px;
        text-align: left;
        width: 100%;
    }

    .dashboard-mobile-accordion-toggle span {
        align-items: center;
        display: inline-flex;
        gap: 8px;
        min-height: 46px;
    }

    .dashboard-mobile-accordion .dashboard-accordion-content {
        display: none;
    }

    .dashboard-mobile-accordion.is-open .dashboard-accordion-content {
        display: grid;
        gap: 8px;
        padding-top: 8px;
    }

    .dashboard-mensual h2 {
        font-size: 15px;
    }

    .dashboard-mensual-table-wrap {
        display: none;
    }

    .dashboard-mensual-mobile {
        display: grid;
        gap: 8px;
    }

    .dashboard-mes-card {
        background: #ffffff;
        border: 1px solid #e2e8f0;
        border-radius: 8px;
        display: grid;
        gap: 4px;
        padding: 10px;
    }

    .dashboard-mes-card h3 {
        color: #0f172a;
        font-size: 14px;
        margin: 0 0 2px;
    }

    .dashboard-mes-card p {
        align-items: center;
        color: #475569;
        display: flex;
        font-size: 12px;
        gap: 8px;
        justify-content: space-between;
        margin: 0;
        min-width: 0;
    }

    .dashboard-mes-card strong {
        color: #0f172a;
        font-size: 12px;
        text-align: right;
    }

    .dashboard-mes-card.is-best {
        background: #f0fdf4;
        border-color: #bbf7d0;
    }

    .dashboard-mes-card.is-best p:last-child strong {
        color: #15803d;
    }

    .dashboard-mes-card.is-loss {
        background: #fef2f2;
        border-color: #fecaca;
    }

    .dashboard-mes-card.is-loss p:last-child strong {
        color: #b91c1c;
    }

    .dashboard-mes-card.is-total {
        background: #eff6ff;
        border-color: #bfdbfe;
    }

    .dashboard-mes-card.is-total h3,
    .dashboard-mes-card.is-total strong {
        color: #1d4ed8;
    }
}

.dashboard-grid-pro {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 18px;
    margin-bottom: 24px;
}

.dashboard-grid-pro-formulario {
    grid-template-columns: minmax(0, 1fr);
}

.dashboard-grid-pro-historial {
    grid-template-columns: minmax(0, 1fr);
}

.dashboard-grid-pro-historial .panel-grande {
    grid-row: auto;
}

.dashboard-panel {
    background: white;
    border: 1px solid #e5e7eb;
    border-radius: 20px;
    box-shadow: 0 10px 30px rgba(17, 24, 39, 0.06);
    min-width: 0;
    padding: 20px;
}

.dashboard-cotizacion-bar {
    align-items: center;
    background: linear-gradient(135deg, #fff7ed, #ffffff);
    border: 1px solid #fed7aa;
    border-radius: 18px;
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.05);
    display: flex;
    gap: 18px;
    justify-content: space-between;
    margin-bottom: 18px;
    padding: 16px 18px;
}

.dashboard-cotizacion-bar strong,
.dashboard-cotizacion-bar span,
.dashboard-cotizacion-bar small {
    display: block;
}

.dashboard-cotizacion-bar strong {
    color: #9a3412;
    margin-bottom: 4px;
}

.dashboard-cotizacion-bar span {
    color: #111827;
    font-size: 22px;
    font-weight: 700;
    margin-bottom: 4px;
}

.dashboard-cotizacion-bar small {
    color: #6b7280;
}

.dashboard-cotizacion-bar-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.dashboard-modal {
    display: none;
    inset: 0;
    position: fixed;
    z-index: 1200;
}

.dashboard-modal.is-visible {
    display: block;
}

.dashboard-modal-backdrop {
    background: rgba(15, 23, 42, 0.58);
    inset: 0;
    position: absolute;
}

.dashboard-modal.is-visible .dashboard-modal-backdrop {
    animation: modalBackdropFade 0.18s ease-out;
}

.dashboard-modal-dialog {
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 30px 80px rgba(15, 23, 42, 0.28);
    left: 50%;
    max-width: 760px;
    padding: 24px;
    position: relative;
    top: 50%;
    transform: translate(-50%, -50%);
    width: calc(100% - 32px);
    z-index: 1;
}

.dashboard-modal.is-visible .dashboard-modal-dialog {
    animation: modalDialogIn 0.22s ease-out;
}

.dashboard-modal-close {
    background: transparent;
    border: 0;
    color: #64748b;
    cursor: pointer;
    font-size: 28px;
    line-height: 1;
    position: absolute;
    right: 16px;
    top: 12px;
}

.dashboard-modal-kicker {
    color: #1d4ed8;
    display: inline-block;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.06em;
    margin-bottom: 10px;
    text-transform: uppercase;
}

.dashboard-modal-dialog h3 {
    color: #0f172a;
    margin-bottom: 10px;
}

.dashboard-modal-texto {
    color: #475569;
    line-height: 1.6;
    margin-bottom: 18px;
}

.dashboard-modal-form .form-grid-precios {
    margin-bottom: 12px;
}

.dashboard-modal-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 14px;
}

.form-row-flex {
    align-items: center;
    display: flex;
    gap: 8px;
}

.form-row-flex .select-field {
    flex: 1 1 auto;
    min-width: 0;
}

.form-row-flex .action-btn {
    flex: 0 0 auto;
    white-space: nowrap;
}

#modal-cliente-rapido {
    align-items: center;
    justify-content: center;
    z-index: 9999 !important;
}

#modal-cliente-rapido.is-visible {
    display: flex;
}

#modal-cliente-rapido .dashboard-modal-backdrop {
    background: rgba(15, 23, 42, 0.68);
    inset: 0;
    position: fixed;
    z-index: 9998 !important;
}

#modal-cliente-rapido .cliente-rapido-modal-dialog {
    border-radius: 12px;
    left: auto;
    max-width: 700px;
    padding: 20px;
    position: relative;
    top: auto;
    transform: none;
    width: min(700px, calc(100vw - 32px));
    z-index: 9999 !important;
}

#modal-cliente-rapido,
#modal-cliente-rapido .dashboard-modal-dialog,
#modal-cliente-rapido .cliente-rapido-modal-dialog,
#modal-cliente-rapido form {
    isolation: isolate;
}

body.cliente-rapido-modal-open .select2-container,
body.cliente-rapido-modal-open .select2-dropdown,
body.cliente-rapido-modal-open .ts-dropdown,
body.cliente-rapido-modal-open .dropdown-menu,
body.cliente-rapido-modal-open .city-dropdown,
body.cliente-rapido-modal-open .searchable-select-dropdown {
    z-index: 1000 !important;
}

body.cliente-rapido-modal-open .admin-manual-order-panel,
body.cliente-rapido-modal-open .admin-orders-panel {
    pointer-events: none;
}

body.cliente-rapido-modal-open #modal-cliente-rapido,
body.cliente-rapido-modal-open #modal-cliente-rapido * {
    pointer-events: auto;
}

#modal-cliente-rapido .dashboard-modal-dialog h3 {
    font-size: 20px;
    line-height: 1.2;
    margin: 0 36px 14px 0;
}

#modal-cliente-rapido .cliente-rapido-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 12px;
}

#modal-cliente-rapido .cliente-rapido-email {
    grid-column: 1 / -1;
}

#modal-cliente-rapido label {
    font-size: 12px;
    font-weight: 700;
    margin-bottom: 4px;
}

#modal-cliente-rapido input {
    height: 38px;
}

#modal-cliente-rapido .dashboard-modal-actions {
    gap: 8px;
    justify-content: flex-end;
    margin-top: 16px;
}

.producto-marca-modal-dialog {
    background: linear-gradient(180deg, #ffffff, #f8fbff);
    border: 1px solid rgba(191, 219, 254, 0.9);
    max-width: 520px;
}

.producto-marca-modal .dashboard-modal-texto {
    margin-bottom: 14px;
}

.producto-marca-modal input[type="file"] {
    background: #ffffff;
    border: 1px dashed #93c5fd;
    border-radius: 12px;
    padding: 12px;
}

.marca-rapida-status {
    border-radius: 10px;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.45;
    padding: 10px 12px;
}

.marca-rapida-status.is-error {
    background: #fef2f2;
    color: #991b1b;
}

.marca-rapida-status.is-success {
    background: #ecfdf5;
    color: #047857;
}

@keyframes modalBackdropFade {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes modalDialogIn {
    from {
        opacity: 0;
        transform: translate(-50%, calc(-50% + 12px)) scale(0.98);
    }
    to {
        opacity: 1;
        transform: translate(-50%, -50%) scale(1);
    }
}

.dashboard-panel-finanzas {
    margin-bottom: 24px;
}

.dashboard-resumen-finanzas {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 18px;
}

.resumen-finanza-card {
    border: 1px solid #dbeafe;
    border-radius: 18px;
    padding: 18px;
}

.resumen-finanza-card span {
    color: #6b7280;
    display: block;
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 8px;
    text-transform: uppercase;
}

.resumen-finanza-card strong {
    color: #111827;
    display: block;
    font-size: 28px;
    line-height: 1.1;
    margin-bottom: 8px;
}

.resumen-finanza-card small {
    color: #6b7280;
    display: block;
    line-height: 1.4;
}

.resumen-finanza-ventas {
    background: linear-gradient(180deg, #eff6ff, #ffffff);
}

.resumen-finanza-gastos {
    background: linear-gradient(180deg, #fff7ed, #ffffff);
    border-color: #fed7aa;
}

.resumen-finanza-saldo {
    background: linear-gradient(180deg, #dcfce7, #ffffff);
    border-color: #86efac;
}

.resumen-finanza-saldo strong {
    color: #15803d;
}

.dashboard-resumen-finanzas-meta {
    display: grid;
    gap: 8px;
    margin-top: 16px;
}

.dashboard-resumen-finanzas-meta p {
    color: #4b5563;
    margin: 0;
}

.dashboard-graficos {
    align-items: stretch;
}

.chart-horizontal {
    display: grid;
    gap: 14px;
}

.chart-horizontal-item > div:first-child {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin-bottom: 6px;
}

.chart-horizontal-item strong {
    color: #111827;
    text-transform: capitalize;
}

.chart-horizontal-item span {
    color: #0f766e;
    font-weight: 700;
}

.chart-horizontal-track {
    background: #f3f4f6;
    border-radius: 8px;
    height: 12px;
    overflow: hidden;
}

.chart-horizontal-track span {
    background: linear-gradient(90deg, #0f766e, #2563eb);
    display: block;
    height: 100%;
}

.dashboard-productos-parados {
    margin-bottom: 24px;
}

.inicio-hero {
    margin-bottom: 28px;
}

.home-section {
    margin-bottom: 32px;
}

.home-section-header {
    align-items: end;
    display: flex;
    gap: 18px;
    justify-content: space-between;
    margin-bottom: 18px;
}

.home-section-header h2 {
    color: #0f172a;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 38px;
    line-height: 1.02;
    margin-bottom: 10px;
}

.home-section-header p:last-child {
    color: #64748b;
    line-height: 1.6;
    margin-bottom: 0;
    max-width: 760px;
}

.home-product-card {
    border-radius: 18px;
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.08);
}

.home-product-card-image {
    border-radius: 12px;
    display: block;
    height: 220px;
    margin-bottom: 12px;
    object-fit: cover;
    width: 100%;
}

.home-combos-grid {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.home-combo-card {
    background: linear-gradient(160deg, #fff, #f8fafc);
    border: 1px solid #dbe4f0;
    border-radius: 22px;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.06);
    padding: 22px;
}

.home-combo-card h3 {
    color: #0f172a;
    margin-bottom: 10px;
}

.home-combo-card p {
    color: #64748b;
    line-height: 1.6;
}

.home-combo-meta {
    align-items: center;
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin: 18px 0 12px;
}

.home-combo-meta strong {
    color: #0f766e;
    font-size: 24px;
}

.home-combo-meta span {
    background: #eff6ff;
    border-radius: 999px;
    color: #1d4ed8;
    font-size: 12px;
    font-weight: 800;
    padding: 6px 10px;
}

.home-combo-card small {
    color: #475569;
    display: block;
    font-weight: 700;
    margin-bottom: 16px;
}

.inicio-hero-nuevo {
    align-items: stretch;
    background:
        radial-gradient(circle at top left, rgba(251, 191, 36, 0.22), transparent 28%),
        radial-gradient(circle at bottom right, rgba(37, 99, 235, 0.18), transparent 34%),
        linear-gradient(135deg, #fff8ef 0%, #ffffff 44%, #eef4ff 100%);
    border: 1px solid #e5e7eb;
    border-radius: 28px;
    box-shadow: 0 22px 55px rgba(15, 23, 42, 0.08);
    display: block;
    overflow: hidden;
    padding: 28px;
    position: relative;
}

.inicio-hero-nuevo::before {
    display: none;
}

.inicio-hero-copy,
.inicio-hero-aside {
    position: relative;
    z-index: 1;
}

.inicio-hero-copy h1 {
    color: #0f172a;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 52px;
    letter-spacing: -0.03em;
    line-height: 0.96;
    margin-bottom: 16px;
    max-width: 11ch;
}

.inicio-hero-descripcion {
    color: #475569;
    font-size: 17px;
    line-height: 1.7;
    margin-bottom: 22px;
    max-width: 640px;
}

.inicio-busqueda-hero {
    align-items: center;
    display: flex;
    gap: 12px;
    margin-bottom: 22px;
}

.inicio-busqueda-hero input {
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid #cbd5e1;
    border-radius: 16px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
    flex: 1;
    font-size: 15px;
    min-height: 54px;
    padding: 0 18px;
}

.inicio-busqueda-hero .btn {
    margin-top: 0;
    min-height: 54px;
    padding: 0 24px;
}

.inicio-metricas {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.inicio-metrica-card {
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid rgba(148, 163, 184, 0.24);
    border-radius: 18px;
    padding: 16px;
}

.inicio-metrica-card strong,
.inicio-metrica-card span {
    display: block;
}

.inicio-metrica-card strong {
    color: #0f172a;
    font-size: 28px;
    line-height: 1;
    margin-bottom: 8px;
}

.inicio-metrica-card span {
    color: #64748b;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.4;
}

.inicio-hero-aside {
    display: grid;
    gap: 16px;
}

.inicio-hero-destacado {
    background: linear-gradient(145deg, #0f172a, #1e293b);
    border-radius: 22px;
    box-shadow: 0 18px 34px rgba(15, 23, 42, 0.16);
    color: #ffffff;
    padding: 20px;
}

.inicio-pill {
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 999px;
    color: #f8fafc;
    display: inline-flex;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.04em;
    margin-bottom: 14px;
    padding: 6px 10px;
    text-transform: uppercase;
}

.inicio-hero-destacado strong {
    display: block;
    font-size: 24px;
    line-height: 1.2;
    margin-bottom: 10px;
}

.inicio-hero-destacado p {
    color: #cbd5e1;
    line-height: 1.6;
    margin: 0;
}

.inicio-panel {
    margin-bottom: 24px;
}

.inicio-categorias-grid {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.inicio-categoria-card {
    background: linear-gradient(160deg, rgba(255, 255, 255, 0.96), rgba(248, 250, 252, 0.92));
    border: 1px solid #dbe4f0;
    border-radius: 20px;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
    color: #111827;
    display: block;
    padding: 18px 18px 16px;
    text-decoration: none;
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.inicio-categoria-card:hover {
    border-color: #93c5fd;
    box-shadow: 0 18px 36px rgba(37, 99, 235, 0.14);
    transform: translateY(-3px);
}

.inicio-categoria-card strong,
.inicio-categoria-card span,
.inicio-categoria-card small {
    display: block;
}

.inicio-categoria-card strong {
    color: #0f172a;
    font-size: 17px;
    margin-bottom: 8px;
}

.inicio-categoria-card span,
.inicio-categoria-card small {
    color: #64748b;
}

.inicio-categoria-card small {
    color: #2563eb;
    font-weight: 800;
    margin-top: 12px;
}

.catalogo-bienvenida {
    align-items: center;
    background: linear-gradient(135deg, #fff, #f8fafc);
    border: 1px solid #e2e8f0;
    border-radius: 22px;
    display: flex;
    gap: 18px;
    justify-content: space-between;
    margin-bottom: 20px;
    padding: 22px 24px;
}

.catalogo-bienvenida h2 {
    color: #0f172a;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 34px;
    line-height: 1.05;
    margin-bottom: 10px;
}

.catalogo-bienvenida p:last-child {
    color: #64748b;
    line-height: 1.6;
    margin-bottom: 0;
    max-width: 640px;
}

.panel-grande {
    grid-row: span 2;
}

.panel-header {
    align-items: flex-start;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    margin-bottom: 16px;
}

.panel-header h3 {
    color: #111827;
    margin-bottom: 4px;
}

.panel-header p {
    color: #6b7280;
    font-size: 14px;
}

.tabla-responsive {
    -webkit-overflow-scrolling: touch;
    overflow-x: auto;
    width: 100%;
}

.tabla-pro {
    margin-top: 0;
}

.tabla-pro td small {
    color: #6b7280;
    display: block;
    font-size: 12px;
    margin-top: 4px;
}

.tabla-resumen-financiero td strong {
    color: #111827;
}

.tabla-pro td.resumen-positivo {
    color: #15803d;
    font-weight: 700;
}

.tabla-pro td.resumen-negativo {
    color: #b91c1c;
    font-weight: 700;
}

.form-grid-precios {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    margin: 16px 0;
}

.campo-proveedor {
    display: grid;
    gap: 8px;
}

.campo-proveedor-encabezado {
    align-items: center;
    display: flex;
    gap: 12px;
    justify-content: space-between;
}

.campo-proveedor-encabezado label {
    margin-bottom: 0;
}

.campo-proveedor-acciones {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
    margin-top: 0;
}

.campo-proveedor-acciones .btn {
    font-size: 13px;
    line-height: 1.1;
    min-width: 0;
    padding: 8px 10px;
    white-space: nowrap;
    width: auto;
}

.campo-proveedor-acciones .btn-secundario {
    background: #2563eb;
    border-color: #2563eb;
    color: #ffffff;
}

.campo-proveedor-acciones .btn-secundario:hover {
    background: #1d4ed8;
    border-color: #1d4ed8;
}

.campo-proveedor small {
    color: #64748b;
    display: block;
    line-height: 1.35;
    margin-top: 8px;
    max-width: 280px;
}

@media (max-width: 700px) {
    .campo-proveedor-encabezado {
        align-items: stretch;
        flex-direction: column;
    }

    .campo-proveedor-acciones {
        align-items: stretch;
        flex-direction: column;
        justify-content: flex-start;
    }

    .campo-proveedor-acciones .btn {
        width: 100%;
    }
}

.opcion-check-card {
    align-items: center;
    background: #f8fbff;
    border: 1px solid #bfdbfe;
    border-radius: 16px;
    cursor: pointer;
    display: flex;
    gap: 14px;
    padding: 14px 16px;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.opcion-check-card:hover {
    background: #eff6ff;
    border-color: #93c5fd;
    box-shadow: 0 10px 24px rgba(37, 99, 235, 0.08);
}

.opcion-check-card input[type="checkbox"] {
    accent-color: #2563eb;
    cursor: pointer;
    flex: 0 0 auto;
    height: 18px;
    margin: 0;
    width: 18px;
}

.opcion-check-card-texto {
    display: grid;
    gap: 4px;
}

.opcion-check-card-texto strong {
    color: #0f172a;
    font-size: 15px;
    line-height: 1.2;
}

.opcion-check-card-texto small {
    color: #64748b;
    font-size: 13px;
    line-height: 1.4;
}

.precio-calculado-box {
    align-items: center;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    border-radius: 12px;
    color: #1e3a8a;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 16px 0;
    padding: 12px 14px;
}

.precio-calculado-box strong {
    color: #1d4ed8;
}

.compra-items {
    display: grid;
    gap: 16px;
    margin: 20px 0;
}

.compra-item-row {
    background: #f8fafc;
    border: 1px solid #dbeafe;
    border-radius: 16px;
    padding: 16px;
}

.compra-item-grid {
    display: grid;
    gap: 16px;
    grid-template-columns: minmax(220px, 2fr) repeat(3, minmax(120px, 1fr));
}

.compra-item-meta {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: space-between;
    margin-top: 12px;
}

.compra-item-meta span {
    color: #475569;
    font-size: 14px;
}

.compra-actions {
    margin-bottom: 16px;
}

.compra-total-box {
    justify-content: space-between;
}

.compras-historial-grupos {
    display: grid;
    gap: 18px;
}

.compra-grupo-card {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 16px;
}

.compra-grupo-header {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: space-between;
    margin-bottom: 12px;
}

.compra-grupo-header div {
    display: grid;
    gap: 4px;
}

.compra-grupo-header span {
    color: #64748b;
    font-size: 14px;
}

.compra-grupo-observacion {
    color: #475569;
    margin: 0 0 12px;
}

.tabla-compras-historial td {
    vertical-align: top;
}

.tabla-responsive .tabla-compras-historial {
    font-size: 13px;
    table-layout: fixed;
    width: 100% !important;
}

.tabla-compras-historial th,
.tabla-compras-historial td {
    padding: 10px 12px;
    vertical-align: top;
    white-space: normal;
    word-break: break-word;
}

.compras-productos-form-shell {
    margin-bottom: 14px;
}

.compras-guia-rapida {
    margin: 0 0 14px;
}

.compras-guia-toggle {
    border-radius: 11px;
    min-height: 38px;
    padding: 9px 14px;
}

.compras-guia-panel {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
    display: grid;
    gap: 12px;
    margin-top: 10px;
    padding: 14px;
}

.compras-guia-panel[hidden] {
    display: none !important;
}

.compras-guia-lista {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.compras-guia-lista > div {
    background: #f8fafc;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    display: grid;
    gap: 4px;
    padding: 10px 12px;
}

.compras-guia-lista strong,
.compras-guia-bloque strong {
    color: #111827;
    font-size: 13px;
}

.compras-guia-lista small,
.compras-guia-bloque span {
    color: #475569;
    font-size: 12px;
    line-height: 1.35;
}

.compras-guia-bloque {
    margin-top: 0 !important;
    padding: 12px !important;
}

.compras-productos-form-panel {
    border-radius: 12px;
    padding: 0;
    transition: box-shadow 0.24s ease;
}

.compras-productos-form-panel.is-open {
    padding: 0;
}

.compras-productos-form-panel.is-collapsed {
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.04);
}

.compras-productos-form-panel .panel-header.compras-productos-accordion-header {
    align-items: center;
    border: none;
    margin-bottom: 0;
    min-height: auto;
    padding: 0 16px;
    height: 46px;
    display: flex;
    justify-content: space-between;
    background: #ffffff;
    border-radius: 12px;
    user-select: none;
    width: 100%;
    box-sizing: border-box;
    cursor: pointer;
    transition: background-color 0.2s ease, border-radius 0.24s ease;
}

.compras-productos-header-left {
    display: flex;
    align-items: center;
    gap: 8px;
}

.compras-productos-mobile-chevron {
    transition: transform 0.2s ease;
}

.compras-productos-form-panel.is-open .compras-productos-mobile-chevron {
    transform: rotate(180deg);
}


.compras-productos-form-panel.is-open .panel-header.compras-productos-accordion-header {
    border-bottom: 1px solid #eef2f7;
    border-radius: 12px 12px 0 0;
}

.compras-productos-form-panel .panel-header.compras-productos-accordion-header:focus-visible {
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.16);
    outline: none;
}

.compras-productos-form-panel .panel-header.compras-productos-accordion-header:hover {
    background: #f8fafc;
}

.compras-productos-form-panel .panel-header h3 {
    font-size: 16px;
    line-height: 1.2;
    margin: 0;
    font-weight: 600;
}

.compras-productos-chevron {
    color: #475569;
    display: inline-flex;
    flex: 0 0 auto;
    height: 20px;
    width: 20px;
    align-items: center;
    justify-content: center;
}

.compras-productos-chevron svg {
    height: 18px;
    width: 18px;
    transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.compras-productos-form-panel.is-open .compras-productos-chevron svg {
    transform: rotate(90deg);
}

.compras-productos-form-body {
    display: grid;
    grid-template-rows: 1fr;
    opacity: 1;
    overflow: hidden;
    transition: grid-template-rows 0.28s ease, opacity 0.2s ease;
    visibility: visible;
}

.compras-productos-form-body > form {
    min-height: 0;
    overflow: hidden;
    padding: 12px;
    transition: padding 0.28s ease;
}

.compras-productos-form-panel.is-open {
    padding: 0;
}

.compras-productos-form-panel.is-open .panel-header {
    border-bottom: 0;
    padding-bottom: 0;
}

.compras-productos-form-panel.is-collapsed .compras-productos-form-body {
    grid-template-rows: 0fr;
    opacity: 0;
    visibility: hidden;
}

.compras-productos-form-panel.is-collapsed .compras-productos-form-body > form {
    padding-top: 0;
    padding-bottom: 0;
}

.compras-productos-form-body form {
    display: grid;
    gap: 10px;
}

.compras-productos-form-body label {
    color: #334155;
    display: block;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;
    margin: 0 0 5px;
}

.compras-productos-form-body input,
.compras-productos-form-body select {
    min-height: 38px;
    padding: 7px 10px;
}

.compras-productos-form-body small {
    color: #64748b;
    display: block;
    font-size: 11px;
    line-height: 1.25;
    margin-top: 4px;
}

.gastos-form-panel {
    border-radius: 12px;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.04);
    overflow: visible !important;
    padding: 0 !important;
}

.gastos-form-panel .panel-header.gastos-form-toggle {
    align-items: center;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    cursor: pointer;
    display: flex;
    height: 46px;
    justify-content: space-between;
    margin: 0;
    min-height: 46px;
    padding: 0 16px;
    transition: background-color 0.2s ease, border-color 0.2s ease, border-radius 0.24s ease;
    user-select: none;
    width: 100%;
}

.gastos-form-panel .panel-header.gastos-form-toggle:hover {
    background: #f8fafc;
    border-color: #d1d5db;
}

.gastos-form-panel .panel-header.gastos-form-toggle:focus-visible {
    box-shadow: 0 0 0 3px rgba(100, 116, 139, 0.16);
    outline: none;
}

.gastos-form-panel.is-open .panel-header.gastos-form-toggle {
    border-bottom-color: #eef2f7;
    border-radius: 12px 12px 0 0;
}

.gastos-form-toggle-left {
    align-items: center;
    display: flex;
    gap: 9px;
    min-width: 0;
}

.gastos-form-toggle-left i,
.gastos-form-chevron {
    color: #4b5563;
}

.gastos-form-panel .panel-header h3 {
    color: #1f2937;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.2;
    margin: 0;
}

.gastos-form-chevron {
    align-items: center;
    display: inline-flex;
    flex: 0 0 auto;
    justify-content: center;
    transition: transform 0.2s ease;
}

.gastos-form-panel.is-open .gastos-form-chevron {
    transform: rotate(180deg);
}

.gastos-form-body {
    display: grid;
    grid-template-rows: 1fr;
    opacity: 1;
    overflow: visible;
    transition: grid-template-rows 0.28s ease, opacity 0.2s ease;
    visibility: visible;
}

.gastos-form-body > form {
    display: grid;
    gap: 8px;
    min-height: 0;
    overflow: visible;
    padding: 10px;
    transition: padding 0.28s ease;
}

.gastos-form-body .form-grid-precios {
    display: grid;
    gap: 8px;
    grid-template-columns: minmax(130px, 0.7fr) minmax(180px, 1fr) minmax(220px, 1.4fr) minmax(130px, 0.7fr);
    margin: 0;
}

.gastos-form-body .form-grid-precios > div {
    min-width: 0;
    position: relative;
}

.gastos-form-body label {
    color: #334155;
    display: block;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.15;
    margin: 0 0 4px;
}

.gastos-form-body input,
.gastos-form-body select,
.gastos-form-body textarea {
    border-radius: 8px;
    font-size: 13px;
    width: 100%;
}

.gastos-form-body input,
.gastos-form-body select {
    min-height: 34px;
    padding: 6px 9px;
}

.gastos-form-body .select2-container {
    display: block;
    width: 100% !important;
}

.gastos-form-body .gastos-categoria-select + .select2-container {
    width: 100% !important;
}

.gastos-form-body .select2-container .select2-selection--single {
    align-items: center;
    border: 1px solid #dbe3ef;
    border-radius: 8px;
    display: flex;
    min-height: 34px;
}

.gastos-form-body .select2-container .select2-selection__rendered {
    color: #1f2937;
    line-height: 34px !important;
    padding-left: 9px;
    padding-right: 28px;
}

.gastos-form-body .select2-container .select2-selection__arrow {
    height: 32px;
}

/* admin/gastos.php - corregir dropdown categoria */
.gastos-form-panel,
.gastos-form-body,
.gastos-form-body > form,
.gasto-form,
.gasto-card,
.form-card {
    overflow: visible !important;
}

.select2-container {
    width: 100% !important;
    z-index: 9999 !important;
}

.select2-container--open {
    z-index: 99999 !important;
}

/* admin/gastos.php - prioridad de dropdown */
.campo-categoria,
.categoria-wrapper {
    position: relative;
    z-index: 50;
}

.campo-estado,
.estado-wrapper,
.campo-proveedor,
.proveedor-wrapper {
    position: relative;
    z-index: 10;
}

.select2-dropdown.gastos-select2-dropdown,
.select2-dropdown {
    border: 1px solid #d1d5db;
    border-radius: 10px !important;
    overflow: hidden;
    z-index: 99999 !important;
}

.select2-results__options {
    max-height: 220px !important;
    overflow-y: auto !important;
}

.gastos-form-body textarea {
    min-height: 58px;
    padding: 7px 9px;
    resize: vertical;
}

.gastos-form-body small {
    color: #64748b;
    display: block;
    font-size: 11px;
    line-height: 1.25;
    margin-top: 2px;
}

.gastos-form-body .gastos-impacta-caja {
    align-items: center;
    display: flex;
    gap: 7px;
    margin-top: 2px !important;
}

.gastos-form-body .gastos-impacta-caja input {
    flex: 0 0 auto;
    min-height: auto;
    width: auto;
}

.gastos-form-body button[type="submit"].btn,
.gastos-form-body a.btn {
    align-self: start;
    border-radius: 8px;
    font-size: 13px;
    min-height: 34px;
    padding: 7px 14px;
    width: fit-content;
}

.gastos-form-panel.is-collapsed .gastos-form-body {
    grid-template-rows: 0fr;
    opacity: 0;
    visibility: hidden;
}

.gastos-form-panel.is-collapsed .gastos-form-body > form {
    padding-bottom: 0;
    padding-top: 0;
}

.gastos-listado-panel {
    display: grid;
    gap: 8px;
}

.gastos-listado-panel > .panel-header {
    align-items: flex-start;
    margin-bottom: 0;
    min-height: 0;
    padding-bottom: 0;
}

.gastos-listado-panel > .panel-header h3 {
    margin-bottom: 0;
}

.gastos-listado-panel > .panel-header p {
    color: #64748b;
    font-size: 13px;
    margin: 4px 0 0;
}

.gastos-filtros-card {
    align-items: end;
    background: #f8fafc;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(260px, 1fr) 160px 160px auto;
    padding: 10px;
}

.gastos-filtros-card label {
    color: #64748b;
    display: block;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.1;
    margin: 0 0 4px;
}

.gastos-filtros-card input {
    background: #ffffff;
    border: 1px solid #dbe3ef;
    border-radius: 8px;
    box-shadow: none;
    font-size: 13px;
    min-height: 34px;
    padding: 6px 9px;
    width: 100%;
}

.gastos-filtros-bar {
    align-items: center;
    display: grid;
    gap: 6px;
    grid-template-columns: minmax(240px, 1fr) 150px 150px auto auto;
    padding: 0;
}

.gastos-filtros-bar input,
.gastos-filtros-bar select {
    border: 1px solid #dbe3ef;
    border-radius: 8px;
    font-size: 13px;
    min-height: 34px;
    padding: 6px 9px;
    width: 100%;
}

.gastos-fecha-filtro-label {
    color: #64748b;
    display: grid;
    font-size: 11px;
    font-weight: 700;
    gap: 2px;
    line-height: 1;
    margin: 0;
}

.gastos-limpiar-link {
    align-items: center;
    display: inline-flex;
    justify-content: center;
    min-height: 34px;
    padding: 6px 12px;
    white-space: nowrap;
}

.gastos-tabla-toolbar {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin-top: 0;
    min-width: 0;
}

.gastos-tabla-toolbar .compras-columnas-toggle {
    background: #1f2937;
    border-color: #1f2937;
    color: #ffffff;
}

.gastos-tabla-toolbar .compras-columnas-toggle:hover,
.gastos-tabla-toolbar .compras-columnas-toggle:focus-visible {
    background: #111827;
    border-color: #111827;
}

.gastos-paginacion {
    align-items: center;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    margin-top: 10px;
    padding: 10px 12px;
}

.gastos-paginacion[hidden] {
    display: none !important;
}

.gastos-paginacion-size,
.gastos-paginacion-nav,
.gastos-paginacion-numeros {
    align-items: center;
    display: flex;
    gap: 6px;
}

.gastos-paginacion-size-top {
    justify-content: flex-start;
    margin: 0;
    width: auto !important;
    max-width: fit-content;
}

.gastos-paginacion-size label,
.gastos-paginacion-size span,
.gastos-paginacion-nav span {
    color: #64748b;
    font-size: 12px;
    font-weight: 700;
}

.gastos-paginacion-resumen {
    color: #64748b;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
}

.gastos-paginacion-mobile-status {
    display: none;
}

.gastos-paginacion-size select {
    border: 1px solid #d1d5db;
    border-radius: 8px;
    flex: 0 0 auto !important;
    height: 34px;
    max-width: 100px !important;
    min-width: 90px !important;
    padding: 5px 8px;
    width: 90px !important;
}

.gastos-paginacion .btn-mini:disabled {
    cursor: not-allowed;
    opacity: 0.55;
}

.gastos-paginacion .btn-mini {
    border-radius: 8px;
    min-height: 34px;
    padding: 6px 10px;
}

.gastos-paginacion .btn-mini.is-active {
    background: #1d4ed8;
    border-color: #1d4ed8;
    color: #ffffff;
}

.gastos-paginacion-puntos {
    color: #64748b;
    font-size: 13px;
    font-weight: 800;
    padding: 0 2px;
}

.tabla-gastos {
    border-collapse: separate;
    border-spacing: 0;
    min-width: 1050px;
}

.tabla-gastos thead th {
    background: #f3f4f6;
    border-bottom: 1px solid #e5e7eb;
    color: #374151;
    font-size: 11px;
    font-weight: 600;
    height: 42px;
    letter-spacing: 0.04em;
    line-height: 1.2;
    padding: 8px 10px;
    position: relative;
    text-transform: uppercase;
    white-space: nowrap;
}

.tabla-gastos thead tr:first-child th:not([data-column="acciones"])::after {
    color: #9ca3af;
    content: "\f0dc";
    display: inline-block;
    font-family: "Font Awesome 6 Free";
    font-size: 10px;
    font-weight: 900;
    line-height: 1;
    margin-left: 6px;
}

.tabla-gastos thead tr:first-child th.is-sorted {
    color: #2563eb;
}

.tabla-gastos thead tr:first-child th.is-sorted::after {
    color: #2563eb;
}

.tabla-gastos thead tr:first-child th.is-sorted-desc::after {
    content: "\f0dd";
}

.tabla-gastos thead tr.tabla-filtros-columnas th {
    background: #ffffff;
    height: 38px;
    letter-spacing: 0;
    padding: 6px 8px;
    text-transform: none;
}

.tabla-gastos tbody td {
    font-size: 13px;
    padding: 9px 10px;
    vertical-align: middle;
}

.tabla-gastos td[data-column="concepto"] strong {
    display: block;
    line-height: 1.25;
}

.tabla-gastos td[data-column="monto"] {
    font-weight: 800;
    white-space: nowrap;
}

.gastos-tabla-acciones {
    display: flex;
    justify-content: flex-end;
}

.gastos-accion-form {
    margin: 0;
    width: auto;
}

.gastos-accion-editar {
    background: #2563eb !important;
    border-color: #1d4ed8 !important;
    color: #ffffff !important;
}

.gastos-accion-editar:hover {
    background: #1d4ed8 !important;
    border-color: #1e40af !important;
    color: #ffffff !important;
}

.gastos-anulado-label {
    align-items: center;
    background: #fee2e2;
    border: 1px solid #fecaca;
    border-radius: 8px;
    color: #991b1b;
    display: inline-flex;
    font-size: 12px;
    font-weight: 700;
    height: 34px;
    padding: 0 9px;
}

.estado-badge.gasto-estado-activo {
    background: #dcfce7;
    border: 1px solid #bbf7d0;
    color: #166534;
}

.estado-badge.gasto-estado-anulado {
    background: #fee2e2;
    border: 1px solid #fecaca;
    color: #991b1b;
}

.gastos-empty {
    color: #64748b;
    font-size: 13px;
    margin: 0;
    padding: 8px 0;
}

.categorias-gastos-toolbar {
    grid-template-columns: minmax(260px, 1fr) auto;
}

.admin-orders-toolbar .categorias-gastos-page-size {
    align-items: center;
    color: #64748b;
    display: inline-flex;
    gap: 8px;
    justify-self: end;
    margin: 0;
    white-space: nowrap;
}

.admin-orders-toolbar .categorias-gastos-page-size span {
    color: #64748b;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: none;
}

.admin-orders-toolbar .categorias-gastos-page-size select {
    appearance: auto;
    background: #f8fafc;
    border: 1px solid #cbd5e1;
    border-radius: 9px;
    box-sizing: border-box;
    color: #0f172a;
    flex: 0 0 auto;
    font-size: 13px;
    font-weight: 700;
    height: 34px;
    line-height: 1;
    max-width: 100px;
    min-width: 90px;
    padding: 6px 28px 6px 10px;
    width: 90px;
}

.categorias-gastos-table-wrap {
    overflow: hidden;
}

.categorias-gastos-admin-table {
    min-width: 680px;
}

.categorias-gastos-admin-table thead tr:first-child th {
    background: #f1f5f9;
    border-bottom: 1px solid #cbd5e1;
    color: #334155;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.15;
    padding: 8px;
    text-transform: none;
    white-space: nowrap;
}

.categorias-gastos-admin-table th,
.categorias-gastos-admin-table td,
.categorias-gastos-admin-table tbody td {
    color: #334155;
    font-size: 13px;
    line-height: 1.25;
    padding: 8px !important;
    vertical-align: middle;
}

.categorias-gastos-admin-table tbody td {
    border-top: 1px solid #eef2f7;
}

.categorias-gastos-admin-table tbody tr:hover {
    background: #f8fbff;
}

.categorias-gastos-admin-table .categorias-sort-label {
    cursor: pointer;
}

.categorias-gastos-admin-table .categorias-sort-label i {
    color: #94a3b8;
    font-size: 11px;
    margin-left: 4px;
}

.categorias-gastos-admin-table td[data-column="acciones"] {
    text-align: right;
    white-space: nowrap;
}

.categorias-gastos-admin-table .admin-order-actions-cell {
    display: flex;
    justify-content: flex-end;
}

.categorias-gastos-mobile-cards {
    display: none;
}

@media (max-width: 768px) {
    .gastos-listado-panel {
        gap: 10px;
        padding: 10px !important;
    }

    .categorias-gastos-toolbar {
        gap: 8px;
        grid-template-columns: 1fr;
        padding: 8px;
    }

    .admin-orders-toolbar .categorias-gastos-page-size {
        justify-self: start;
    }

    .categorias-gastos-table-wrap {
        display: none !important;
    }

    .categorias-gastos-mobile-cards {
        display: grid;
        gap: 8px;
        width: 100%;
    }

    .categoria-gasto-mobile-card {
        background: #ffffff;
        border: 1px solid #dbe3ef;
        border-radius: 10px;
        box-shadow: 0 8px 18px rgba(15, 23, 42, 0.05);
        display: grid;
        gap: 6px;
        padding: 9px;
    }

    .categoria-gasto-mobile-card[hidden] {
        display: none !important;
    }

    .categoria-gasto-mobile-head {
        align-items: center;
        display: flex;
        gap: 8px;
        justify-content: space-between;
        min-width: 0;
    }

    .categoria-gasto-mobile-head strong {
        color: #0f172a;
        font-size: 13px;
        font-weight: 800;
        line-height: 1.2;
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .categoria-gasto-mobile-card p {
        color: #64748b;
        font-size: 12px;
        line-height: 1.25;
        margin: 0;
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .categoria-gasto-mobile-badge {
        align-items: center;
        border: 1px solid transparent;
        border-radius: 999px;
        display: inline-flex;
        flex: 0 0 auto;
        font-size: 11px;
        font-weight: 800;
        line-height: 1;
        min-height: 22px;
        padding: 0 8px;
    }

    .categoria-gasto-mobile-badge.is-active {
        background: #dcfce7;
        border-color: #86efac;
        color: #166534;
    }

    .categoria-gasto-mobile-badge.is-inactive {
        background: #fee2e2;
        border-color: #fca5a5;
        color: #b91c1c;
    }

    .categoria-gasto-mobile-actions {
        align-items: center;
        display: flex;
        gap: 6px;
        justify-content: flex-start;
        margin-top: 2px;
    }

    .categoria-gasto-mobile-actions form {
        display: inline-flex;
        margin: 0;
        width: auto;
    }

    .categoria-gasto-mobile-actions .btn-mini {
        align-items: center;
        border-radius: 8px;
        display: inline-flex;
        height: 32px;
        justify-content: center;
        min-height: 32px;
        min-width: 32px;
        padding: 0;
        width: 32px;
    }

    .categoria-gasto-mobile-actions .accion-label {
        display: none;
    }

    .categoria-gasto-mobile-actions .accion-icon {
        align-items: center;
        display: inline-flex;
        font-size: 13px;
        justify-content: center;
        line-height: 1;
    }

    .categoria-gasto-mobile-actions .compra-anulada-label {
        align-items: center;
        background: #f1f5f9;
        border: 1px solid #cbd5e1;
        border-radius: 8px;
        color: #64748b;
        display: inline-flex;
        font-size: 11px;
        font-weight: 800;
        height: 32px;
        padding: 0 8px;
        white-space: nowrap;
    }

    .categorias-paginacion-simple .gastos-paginacion-numeros {
        display: grid !important;
        gap: 6px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: 100%;
    }

    .categorias-paginacion-simple .categoria-page-number {
        display: none !important;
    }

    .gastos-form-body > form {
        padding: 9px;
    }

    .gastos-form-body .form-grid-precios {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .gastos-form-body button[type="submit"].btn,
    .gastos-form-body a.btn {
        width: auto;
    }

    .gastos-filtros-card {
        grid-template-columns: 1fr;
        padding: 10px;
    }

    .gastos-filtros-bar {
        grid-template-columns: 1fr;
    }

    .gastos-filtros-card input,
    .gastos-filtros-card .gastos-limpiar-link,
    .gastos-filtros-bar input,
    .gastos-filtros-bar select,
    .gastos-limpiar-link {
        min-height: 36px;
        width: 100%;
    }

    .gastos-tabla-toolbar {
        align-items: center;
        display: flex !important;
        gap: 8px;
        justify-content: space-between;
    }

    .gastos-tabla-toolbar .compras-tabla-toolbar-left {
        display: flex;
        flex-wrap: wrap;
        gap: 6px;
    }

    .gastos-tabla-wrap {
        border: 0 !important;
        box-shadow: none !important;
        overflow: visible !important;
    }

    .tabla-gastos,
    .tabla-gastos tbody {
        display: block !important;
        min-width: 0 !important;
        width: 100% !important;
    }

    .tabla-gastos thead {
        display: none !important;
    }

    .tabla-gastos tr[data-gasto-row] {
        background: #ffffff;
        border: 1px solid #d1d5db;
        border-radius: 12px;
        box-shadow: 0 8px 18px rgba(15, 23, 42, 0.05);
        display: grid !important;
        gap: 5px 8px;
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-areas:
            "concepto estado"
            "fecha fecha"
            "proveedor proveedor"
            "monto caja"
            "acciones acciones";
        margin: 0 0 8px;
        padding: 10px;
        width: 100%;
    }

    .tabla-gastos tr[data-gasto-row][hidden] {
        display: none !important;
    }

    .tabla-gastos td {
        border: 0 !important;
        min-width: 0 !important;
        padding: 0 !important;
        text-align: left !important;
        width: auto !important;
    }

    .tabla-gastos td::before {
        display: none !important;
    }

    .tabla-gastos td[data-column="concepto"] {
        color: #1f2937;
        grid-area: concepto;
        overflow: hidden;
    }

    .tabla-gastos td[data-column="concepto"] strong {
        font-size: 13px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .tabla-gastos td[data-column="concepto"] small {
        font-size: 11px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .tabla-gastos td[data-column="estado"] {
        align-items: flex-end;
        display: flex;
        flex-direction: column;
        gap: 2px;
        grid-area: estado;
        justify-content: flex-start;
    }

    .tabla-gastos td[data-column="estado"] small {
        display: none;
    }

    .tabla-gastos td[data-column="fecha"] {
        color: #64748b;
        font-size: 12px;
        grid-area: fecha;
    }

    .tabla-gastos td[data-column="fecha"]::before {
        color: #94a3b8;
        content: "Fecha:";
        display: inline !important;
        font-weight: 700;
        margin-right: 4px;
    }

    .tabla-gastos td[data-column="categoria"],
    .tabla-gastos td[data-column="metodo"] {
        display: none !important;
    }

    .tabla-gastos td[data-column="proveedor"] {
        color: #475569;
        font-size: 12px;
        grid-area: proveedor;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .tabla-gastos td[data-column="proveedor"]::before {
        color: #94a3b8;
        content: "Proveedor:";
        display: inline !important;
        font-weight: 700;
        margin-right: 4px;
    }

    .tabla-gastos td[data-column="monto"] {
        color: #0f172a;
        font-size: 13px;
        grid-area: monto;
    }

    .tabla-gastos td[data-column="caja"] {
        color: #64748b;
        font-size: 12px;
        grid-area: caja;
        justify-self: end;
        white-space: nowrap;
    }

    .tabla-gastos td[data-column="acciones"] {
        align-items: center;
        display: flex;
        gap: 8px;
        grid-area: acciones;
        justify-content: flex-start;
        padding-top: 5px !important;
    }

    .gastos-tabla-acciones .btn-mini {
        height: 34px;
        min-height: 34px;
        min-width: 34px;
        width: 34px;
    }

    .gastos-paginacion {
        justify-content: stretch;
        padding: 8px;
    }

    .gastos-paginacion-nav {
        display: grid;
        gap: 6px;
        grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
        width: 100%;
    }

    .gastos-paginacion-nav span {
        align-self: center;
        font-size: 12px;
        white-space: nowrap;
    }

    .gastos-paginacion-resumen {
        display: none;
    }

    .gastos-paginacion-mobile-status {
        color: #64748b;
        display: inline-flex;
        font-size: 12px;
        font-weight: 700;
        justify-content: center;
        white-space: nowrap;
    }

    .gastos-paginacion-numeros {
        display: none;
    }

    .gastos-paginacion .btn-mini {
        min-height: 34px;
        width: 100%;
    }
}

@media (max-width: 520px) {
    .gastos-form-body .form-grid-precios {
        grid-template-columns: 1fr;
    }

    .gastos-form-body button[type="submit"].btn,
    .gastos-form-body a.btn {
        justify-content: center;
        width: 100%;
    }
}

.compras-productos-form-body .compra-form-grid {
    gap: 10px;
    margin: 0;
}

.compra-form-grid-principal {
    grid-template-columns: minmax(130px, 0.7fr) minmax(140px, 0.85fr) minmax(220px, 1.35fr) minmax(170px, 1fr);
}

.compra-form-grid-pago {
    grid-template-columns: minmax(240px, 360px);
}

.compra-form-grid-gastos {
    grid-template-columns: repeat(3, minmax(150px, 1fr));
}

.compras-productos-form-body .campo-proveedor {
    gap: 5px;
}

.compras-productos-form-body .campo-proveedor-encabezado {
    gap: 8px;
}

.compras-productos-form-body .campo-proveedor-acciones .btn {
    border-radius: 8px;
    box-shadow: none;
    font-size: 11px;
    min-height: 26px;
    padding: 5px 8px;
}

.compras-productos-form-body .campo-proveedor small {
    margin-top: 4px;
    max-width: none;
}

.compra-form-help-pago {
    display: none;
}

.compra-help-icon {
    align-items: center;
    background: #eef2ff;
    border: 1px solid #c7d2fe;
    border-radius: 999px;
    color: #3730a3;
    cursor: help;
    display: inline-flex;
    font-size: 10px;
    font-weight: 800;
    height: 16px;
    justify-content: center;
    line-height: 1;
    margin-left: 5px;
    position: relative;
    width: 16px;
}

.compra-help-icon::after {
    background: #0f172a;
    border-radius: 8px;
    bottom: calc(100% + 8px);
    color: #ffffff;
    content: attr(aria-label);
    font-size: 11px;
    font-weight: 500;
    left: 50%;
    line-height: 1.35;
    max-width: 280px;
    opacity: 0;
    padding: 8px 10px;
    pointer-events: none;
    position: absolute;
    transform: translateX(-50%) translateY(4px);
    transition: opacity 0.18s ease, transform 0.18s ease;
    visibility: hidden;
    width: max-content;
    z-index: 30;
}

.compra-help-icon:hover::after,
.compra-help-icon:focus-visible::after {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
    visibility: visible;
}

.compras-productos-form-body .precio-calculado-box {
    margin: 0;
    padding: 9px 11px;
}

.compras-productos-form-body .precio-calculado-box strong,
.compras-productos-form-body .precio-calculado-box span {
    font-size: 13px;
}

.compras-productos-form-body .compra-items {
    gap: 10px;
    margin: 2px 0;
}

.compras-productos-form-body .compra-item-row {
    border-radius: 12px;
    padding: 10px;
}

.compras-productos-form-body .compra-item-grid {
    gap: 10px;
    grid-template-columns: minmax(220px, 1.6fr) repeat(4, minmax(120px, 1fr));
}

.compras-productos-form-body .compra-item-meta {
    gap: 8px;
    margin-top: 8px;
}

.compras-productos-form-body .compra-item-meta span {
    font-size: 12px;
}

.compras-productos-form-body .compra-actions {
    margin-bottom: 0;
}

.compras-productos-form-body .compra-actions .btn,
.compras-productos-form-body button[type="submit"].btn {
    min-height: 38px;
    padding: 8px 12px;
}

.compra-form-submit-actions {
    align-items: center;
    display: flex;
    justify-content: flex-end;
    margin-top: 2px;
}

.compras-productos-form-body .btn-registrar-compra {
    background: #334155;
    border-color: #1f2937;
    box-shadow: none;
    height: 42px;
    min-height: 42px;
    min-width: 220px;
    padding: 0 24px;
    width: auto;
}

.compras-productos-form-body .btn-registrar-compra:hover,
.compras-productos-form-body .btn-registrar-compra:focus {
    background: #1f2937;
    border-color: #111827;
}

.dashboard-grid-pro-historial > .dashboard-panel:first-child {
    border-radius: 16px;
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.07);
    padding: 16px;
}

.compras-productos-filtros {
    align-items: center;
    background: #ffffff;
    border: 1px solid #dbeafe;
    border-radius: 14px;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
    display: grid;
    gap: 8px;
    grid-template-columns: minmax(240px, 1fr) minmax(135px, 160px) minmax(135px, 160px) auto;
    margin: 0 0 12px;
    padding: 8px;
}

.compras-productos-filtros input,
.compras-productos-filtros select {
    background: #f8fafc;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    color: #0f172a;
    font-size: 14px;
    min-height: 38px;
    padding: 8px 10px;
    width: 100%;
}

.compras-productos-filtros input:focus,
.compras-productos-filtros select:focus {
    border-color: #60a5fa;
    box-shadow: 0 0 0 3px rgba(96, 165, 250, 0.16);
    outline: none;
}

.compras-productos-filtros .btn-mini {
    border-radius: 10px;
    font-size: 12px;
    font-weight: 850;
    margin: 0;
    min-height: 38px;
    padding: 8px 11px;
    text-align: center;
    white-space: nowrap;
}

.compras-productos-filtros span {
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    border-radius: 999px;
    color: #1d4ed8;
    font-size: 12px;
    font-weight: 850;
    padding: 8px 10px;
    text-align: center;
    white-space: nowrap;
}

.compras-productos-filtros-fecha {
    align-items: end;
    margin-bottom: 12px;
    padding: 8px;
}

.compras-productos-filtros-fecha label {
    color: #334155;
    display: block;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.04em;
    margin: 0 0 5px;
    text-transform: uppercase;
}

.compras-productos-filtros-fecha input,
.compras-productos-filtros-fecha select {
    min-height: 36px;
    padding: 6px 8px;
}

.compras-productos-filtros .btn-mini-secundario {
    background: #f8fafc;
    border: 1px solid #cbd5e1;
    color: #334155;
}

.compras-productos-empty {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    color: #64748b;
    margin: 0;
    padding: 14px;
}

.compras-paginacion {
    align-items: center;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    margin-top: 12px;
    padding: 10px 12px;
}

.compras-paginacion[hidden] {
    display: none !important;
}

.compras-paginacion-size,
.compras-paginacion-nav {
    align-items: center;
    display: flex;
    gap: 8px;
}

.compras-paginacion-size-top {
    justify-content: flex-start;
    margin: 0 0 8px;
    width: auto;
}

.compras-paginacion-size label {
    color: #64748b;
    font-size: 12px;
    font-weight: 700;
}

.compras-paginacion-size select {
    background: #f8fafc;
    border: 1px solid #cbd5e1;
    border-radius: 9px;
    color: #0f172a;
    font-size: 13px;
    font-weight: 700;
    height: 34px;
    max-width: 100px;
    min-width: 90px;
    padding: 6px 28px 6px 10px;
    width: 90px;
}

.compras-paginacion-nav span {
    color: #475569;
    display: none;
    font-size: 13px;
    font-weight: 800;
    min-width: 105px;
    text-align: center;
}

.compras-paginacion-resumen {
    color: #64748b;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
}

.compras-paginacion-mobile-status {
    display: none;
}

.compras-paginacion-numeros {
    align-items: center;
    display: flex;
    flex-wrap: nowrap;
    gap: 6px;
    justify-content: center;
}

.compras-paginacion .btn-mini {
    background: #ffffff;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    color: #334155;
    min-height: 34px;
    padding: 6px 10px;
}

.compras-paginacion .btn-mini-secundario {
    background: #f8fafc;
    border-color: #cbd5e1;
    color: #334155;
}

.compras-paginacion .btn-mini-secundario:hover:not(:disabled) {
    background: #e2e8f0;
    border-color: #cbd5e1;
    color: #334155;
}

.compras-paginacion .btn-mini.is-primary {
    background: #2563eb;
    border-color: #2563eb;
    color: #ffffff;
}

.compras-paginacion .btn-mini.is-primary:hover:not(:disabled) {
    background: #1d4ed8;
    border-color: #1d4ed8;
    color: #ffffff;
}

.compras-paginacion .btn-mini.is-active {
    background: #1d4ed8;
    border-color: #1d4ed8;
    color: #ffffff;
}

.compras-paginacion .btn-mini:disabled {
    cursor: not-allowed;
    opacity: 0.45;
}

.compras-paginacion-puntos {
    color: #64748b;
    font-size: 13px;
    font-weight: 800;
    padding: 0 2px;
}

@media (min-width: 769px) {
    .compras-paginacion-size-top {
        width: auto !important;
        max-width: fit-content;
        flex: 0 0 auto !important;
    }

    .compras-paginacion-size-top #compras-page-size {
        width: 90px !important;
        min-width: 90px !important;
        max-width: 100px !important;
        flex: 0 0 auto !important;
    }

    .compras-paginacion-size-text {
        color: #64748b;
        font-size: 12px;
        font-weight: 700;
    }
}

.compras-historial-grupos {
    gap: 14px;
}

.compras-proveedores-resumen {
    margin-bottom: 18px;
}

.compras-tabla-toolbar {
    align-items: center;
    display: flex;
    gap: 10px;
    justify-content: space-between;
    margin: 0 0 10px;
    position: relative;
}

.compras-tabla-toolbar-left {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.compras-columnas-menu-wrap {
    position: relative;
}

.compras-columnas-toggle {
    background: #334155;
    border-color: #1f2937;
    color: #ffffff;
}

.compras-columnas-menu {
    background: #ffffff;
    border: 1px solid #cbd5e1;
    border-radius: 12px;
    box-shadow: 0 18px 42px rgba(15, 23, 42, 0.16);
    display: grid;
    gap: 8px;
    max-width: min(92vw, 360px);
    padding: 12px;
    position: absolute;
    right: 0;
    top: calc(100% + 8px);
    width: 360px;
    z-index: 40;
}

.compras-columnas-menu[hidden] {
    display: none;
}

.compras-columnas-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 4px;
}

.compras-columnas-menu label {
    align-items: center;
    color: #334155;
    display: flex;
    font-size: 13px;
    font-weight: 750;
    gap: 8px;
    line-height: 1.25;
}

.compras-columnas-menu input[type="checkbox"] {
    height: 16px;
    width: 16px;
}

.tabla-compras-proveedores,
.tabla-compras-proveedor-detalle {
    min-width: 980px;
}

.tabla-compras-proveedores thead tr:first-child th {
    background: #f1f5f9;
    border-bottom: 1px solid #cbd5e1;
    color: #334155;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.15;
    padding: 8px 8px;
    white-space: nowrap;
}

.tabla-compras-proveedores thead tr:first-child th:first-child {
    border-top-left-radius: 10px;
}

.tabla-compras-proveedores thead tr:first-child th:last-child {
    border-top-right-radius: 10px;
}

.tabla-sort-btn {
    align-items: center;
    background: transparent;
    border: 0;
    color: inherit;
    cursor: pointer;
    display: inline-flex;
    font: inherit;
    font-size: 14px;
    font-weight: 700;
    gap: 5px;
    padding: 0;
    text-transform: inherit;
    white-space: nowrap;
}

.tabla-compras-proveedores thead tr:first-child th.is-sorted {
    background: #e0ecff;
    color: #1d4ed8;
}

.tabla-sort-btn.is-active {
    color: #1d4ed8;
}

.tabla-sort-btn span {
    color: #2563eb;
    font-size: 10px;
    letter-spacing: 0;
    min-width: 14px;
    text-align: center;
}

.tabla-sort-btn i {
    color: #94a3b8;
    font-size: 11px;
    min-width: 12px;
    text-align: center;
    margin-left: 4px;
    transition: color 0.15s ease;
}

.tabla-sort-btn.is-active i {
    color: #1d4ed8;
}

.tabla-sort-btn:hover i {
    color: #2563eb;
}

.compras-tabla-acciones {
    align-items: center;
    display: inline-flex;
    flex-wrap: nowrap;
    gap: 6px;
    justify-content: flex-end;
    min-width: 0;
    width: auto;
}

.compras-tabla-acciones form {
    margin: 0;
    width: auto;
}

.compras-tabla-acciones .btn-mini {
    align-items: center;
    display: inline-flex;
    justify-content: center;
    height: 34px;
    min-height: 34px;
    min-width: 34px;
    padding: 0;
    width: 34px;
    border-radius: 8px;
}

.compras-tabla-acciones .accion-label {
    display: none;
}

.compras-tabla-acciones .accion-icon {
    font-size: 14px;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.compras-accion-detalle {
    background: #2563eb;
    border-color: #1d4ed8;
    color: #ffffff;
}

.compras-accion-comprobante {
    background: #f0fdf4 !important;
    border-color: #86efac !important;
    color: #166534 !important;
}

.compras-accion-anular {
    background: #dc2626 !important;
    border-color: #b91c1c !important;
    color: #ffffff !important;
}

.compras-tabla-acciones .compra-anulada-label {
    align-items: center;
    justify-content: center;
    display: inline-flex;
    color: #dc2626;
    background: #fee2e2;
    border: 1px solid #fca5a5;
    border-radius: 8px;
    font-size: 11px;
    font-weight: 700;
    height: 34px;
    padding: 0 10px;
    box-sizing: border-box;
    white-space: nowrap;
}


.tabla-compras-proveedores th[data-column="acciones"],
.tabla-compras-proveedores td[data-column="acciones"] {
    width: 132px;
    min-width: 132px;
}

.compra-modal-dialog {
    max-width: 980px;
    width: min(96vw, 980px);
}

.compra-modal-dialog .dashboard-modal-kicker {
    margin-bottom: 4px;
}

.compra-modal-dialog h3 {
    margin-bottom: 6px;
}

.compra-modal-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 14px;
    margin: 0;
}

.compra-comprobante-dialog {
    max-width: 620px;
}

.compra-modal-resumen {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 10px 0;
    padding: 8px;
}

.compra-modal-resumen span {
    align-items: center;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 999px;
    color: #475569;
    display: inline-flex;
    font-size: 13px;
    gap: 5px;
    padding: 5px 8px;
}

.compra-modal-resumen strong {
    color: #0f172a;
}

.tabla-compras-modal-items {
    min-width: 0;
    table-layout: auto;
    width: 100% !important;
}

.tabla-compras-modal-items th,
.tabla-compras-modal-items td {
    font-size: 12px;
    padding: 7px 8px;
    vertical-align: top;
}

.tabla-compras-modal-items th {
    font-weight: 800;
    white-space: nowrap;
}

.tabla-compras-modal-items .compra-modal-producto {
    min-width: 190px;
}

.tabla-compras-modal-items .compra-modal-producto small {
    color: #64748b;
    display: block;
    font-size: 11px;
    margin-top: 3px;
}

.tabla-compras-modal-items .historial-numero,
.tabla-compras-modal-items .historial-centro {
    white-space: nowrap;
}

.tabla-filtros-columnas th {
    background: #f8fafc !important;
    padding: 4px 5px !important;
}

.tabla-filtros-columnas input,
.tabla-filtros-columnas select {
    background: #ffffff;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    color: #0f172a;
    font-size: 12px;
    min-height: 34px;
    padding: 5px 7px;
    width: 100%;
}

.tabla-filtros-columnas input.filtro-estado {
    min-width: 130px;
    padding-left: 12px;
    padding-right: 12px;
}

.tabla-filtros-columnas input:focus,
.tabla-filtros-columnas select:focus {
    border-color: #60a5fa;
    box-shadow: 0 0 0 3px rgba(96, 165, 250, 0.16);
    outline: none;
}

.tabla-filtros-columnas .btn-mini {
    min-height: 34px;
    padding: 5px 8px;
    width: auto;
}

.tabla-filtros-columnas th[data-column="estado"] {
    min-width: 140px;
}

.tabla-filtros-columnas th[data-column="acciones"] {
    min-width: 76px;
    text-align: right;
}

.tabla-compras-proveedores tbody td {
    color: #334155;
    font-size: 13px;
    font-weight: 400;
    padding: 8px 8px;
    vertical-align: middle;
}

.tabla-compras-proveedores .historial-numero,
.tabla-compras-proveedores td[data-column="total_usd"],
.tabla-compras-proveedores td[data-column="total_gs"] {
    font-size: 13px;
    font-weight: 500;
    text-align: right;
    white-space: nowrap;
}

.tabla-compras-proveedores td[data-column="estado"] {
    text-align: center;
}

.compra-estado-badge {
    background: #eef2f7;
    border: 1px solid #d1d5db;
    border-radius: 999px;
    color: #334155;
    display: inline-flex;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    padding: 4px 8px;
}

.compra-estado-badge.activo {
    background: #dcfce7;
    border-color: #86efac;
    color: #166534;
}

.compra-estado-badge.anulado {
    background: #fee2e2;
    border-color: #fca5a5;
    color: #991b1b;
}

.tabla-compras-proveedores .celda-nowrap {
    max-width: 170px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tabla-compras-proveedores .celda-factura {
    max-width: 150px;
}

.tabla-compras-proveedores .celda-proveedor {
    max-width: 210px;
}

.compras-historial-proveedores {
    margin-top: 18px;
}

.compra-detalle-row > td {
    background: #fbfdff;
    padding: 12px !important;
}

.tabla-compras-items {
    min-width: 980px;
}

.compra-grupo-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.05);
    padding: 14px;
}

.compra-grupo-card[hidden] {
    display: none !important;
}

.compra-grupo-header {
    background: #f8fafc;
    border: 1px solid #eef2f7;
    border-radius: 12px;
    margin-bottom: 10px;
    padding: 10px 12px;
}

.compra-grupo-header strong {
    color: #0f172a;
    font-size: 14px;
}

.compra-grupo-header span {
    font-size: 12px;
    line-height: 1.35;
}

.compra-grupo-card .compra-actions {
    margin-bottom: 10px !important;
}

.compra-grupo-card .compra-actions .btn,
.compra-grupo-card .compra-actions button {
    border-radius: 9px;
    font-size: 12px;
    min-height: 34px;
    padding: 7px 10px;
}

.compra-grupo-card .tabla-responsive {
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
    overflow: auto;
}

.tabla-responsive .tabla-compras-historial {
    border-collapse: separate;
    border-spacing: 0;
    margin: 0;
    min-width: 980px;
}

.tabla-compras-historial thead th {
    background: #f8fafc;
    border: 0;
    border-bottom: 1px solid #e2e8f0;
    color: #475569;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.035em;
    padding: 10px 8px;
    text-transform: uppercase;
}

.tabla-compras-historial tbody td {
    border: 0;
    border-bottom: 1px solid #eef2f7;
    color: #334155;
    padding: 9px 8px;
}

.tabla-compras-historial tbody tr {
    transition: background 0.18s ease;
}

.tabla-compras-historial tbody tr:hover {
    background: #f8fbff;
}

.tabla-compras-historial tbody tr:last-child td {
    border-bottom: 0;
}

.tabla-compras-historial th {
    font-size: 12px;
    letter-spacing: 0.01em;
    line-height: 1.25;
}

.tabla-compras-historial td[data-label="Producto"] {
    white-space: normal;
    width: 34%;
}

.tabla-compras-historial .historial-numero,
.tabla-compras-historial th:not(:first-child) {
    text-align: right;
}

.tabla-compras-historial .historial-centro {
    text-align: center;
}

.producto-codigo-row {
    display: grid;
    gap: 6px;
}

.producto-codigo-row small {
    color: #64748b;
    font-size: 12px;
    min-height: 18px;
}

.producto-codigo-row small.is-success {
    color: #047857;
    font-weight: 700;
}

.producto-codigo-row small.is-error {
    color: #b91c1c;
    font-weight: 700;
}

.lista-pro {
    display: grid;
    gap: 10px;
}

.lista-pro a {
    background: #fafafa;
    border: 1px solid #f3f4f6;
    border-radius: 14px;
    color: #111827;
    display: block;
    padding: 12px;
    text-decoration: none;
}

.lista-pro a:hover {
    background: #eff6ff;
    border-color: #bfdbfe;
}

.reporte-item {
    background: #fafafa;
    border: 1px solid #f3f4f6;
    border-radius: 14px;
    color: #111827;
    display: block;
    padding: 12px;
}

.reporte-item strong,
.reporte-item span,
.reporte-item small {
    display: block;
}

.reporte-item span,
.reporte-item small {
    color: #6b7280;
    margin-top: 4px;
}

.lista-pro strong,
.lista-pro span,
.lista-pro small {
    display: block;
}

.lista-pro span,
.lista-pro small {
    color: #6b7280;
    margin-top: 4px;
}

.dashboard-atajos {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}

.dashboard-atajos-superior {
    margin-bottom: 24px;
    margin-top: -4px;
}

.dashboard-atajos a {
    background: #3b0764;
    border-radius: 18px;
    color: white;
    padding: 18px;
    text-decoration: none;
}

.dashboard-atajos a:hover {
    background: #581c87;
}

.dashboard-atajos strong,
.dashboard-atajos span {
    display: block;
}

.dashboard-atajos span {
    color: #ddd6fe;
    margin-top: 6px;
}

.form-busqueda {
    align-items: center;
    display: flex;
    gap: 10px;
}

.form-grid-doble {
    display: grid;
    gap: 12px 16px;
    grid-template-columns: repeat(2, 1fr);
}

.form-busqueda input {
    max-width: 420px;
}

.form-busqueda .btn,
.form-busqueda .btn-mini {
    margin-top: 0;
}

.filtros-productos {
    margin-bottom: 24px;
}

.filtros-productos-listado {
    margin: 12px 0 18px;
    z-index: 20;
}

.filtros-productos select {
    max-width: 240px;
}

@media (min-width: 981px) {
    .filtros-productos-listado {
        position: sticky;
        top: 12px;
    }
}

.slider-destacados {
    background: linear-gradient(135deg, #0f172a, #1d4ed8);
    border-radius: 26px;
    box-shadow: 0 18px 40px rgba(29, 78, 216, 0.18);
    color: white;
    margin-bottom: 24px;
    overflow: hidden;
    padding: 22px 24px;
}

.productos-hero {
    align-items: stretch;
    background: linear-gradient(135deg, #ffffff 0%, #f8fbff 48%, #ecfeff 100%);
    border: 1px solid rgba(191, 219, 254, 0.78);
    border-radius: 8px;
    box-shadow: 0 18px 44px rgba(15, 23, 42, 0.08);
    display: grid;
    gap: 22px;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 380px);
    margin: 0 0 18px;
    overflow: hidden;
    padding: 28px;
    position: relative;
}

.productos-hero::before {
    background: linear-gradient(90deg, #312e81, #0891b2);
    content: "";
    height: 4px;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
}

.productos-hero-copy {
    align-self: center;
    min-width: 0;
}

.productos-hero-copy h1 {
    color: #0f172a;
    font-size: 34px;
    line-height: 1.08;
    margin: 0 0 12px;
    max-width: 720px;
}

.productos-hero-copy p:last-child {
    color: #475569;
    font-size: 15px;
    line-height: 1.55;
    margin: 0;
    max-width: 660px;
}

.productos-hero-panel {
    background: rgba(255, 255, 255, 0.82);
    border: 1px solid rgba(226, 232, 240, 0.95);
    border-radius: 8px;
    display: grid;
    gap: 10px;
    padding: 14px;
}

.productos-hero-panel div {
    align-items: center;
    background: #ffffff;
    border: 1px solid #eef2f7;
    border-radius: 8px;
    display: flex;
    justify-content: space-between;
    padding: 12px 14px;
}

.productos-hero-panel span {
    color: #64748b;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.productos-hero-panel strong {
    color: #0f172a;
    font-size: 22px;
}

.catalogo-toolbar {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06);
    display: grid;
    gap: 14px;
    margin-bottom: 18px;
    padding: 16px;
}

.catalogo-busqueda-pro {
    display: flex;
    gap: 10px;
    min-width: 0;
}

.catalogo-busqueda-pro input[type="text"] {
    background: #f8fafc;
    border: 1px solid #dbe3ee;
    border-radius: 8px;
    color: #0f172a;
    flex: 1;
    min-height: 44px;
    min-width: 0;
    padding: 0 14px;
}

.catalogo-busqueda-pro .btn {
    margin: 0;
    min-height: 44px;
    white-space: nowrap;
}

.catalogo-chip-row,
.catalogo-marcas-pro {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.catalogo-chip-row a,
.catalogo-marcas-pro a {
    align-items: center;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 999px;
    color: #334155;
    display: inline-flex;
    font-size: 13px;
    font-weight: 800;
    min-height: 34px;
    padding: 7px 12px;
    text-decoration: none;
}

.catalogo-chip-row a:hover,
.catalogo-chip-row a.is-active,
.catalogo-marcas-pro a:hover,
.catalogo-marcas-pro a.is-active {
    background: #eef2ff;
    border-color: #c7d2fe;
    color: #312e81;
}

.catalogo-marcas-pro {
    border-top: 1px solid #eef2f7;
    padding-top: 14px;
}

.catalogo-listado-header {
    align-items: center;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    display: flex;
    gap: 14px;
    justify-content: space-between;
    margin: 0 0 16px;
    padding: 14px 16px;
}

.catalogo-listado-header div {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.catalogo-listado-header span {
    color: #64748b;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.catalogo-listado-header strong {
    color: #0f172a;
    font-size: 17px;
}

.catalogo-listado-header a {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 999px;
    color: #1d4ed8;
    flex: 0 0 auto;
    font-size: 13px;
    font-weight: 800;
    padding: 8px 12px;
    text-decoration: none;
}

.catalogo-listado-header a:hover {
    background: #eff6ff;
    border-color: #bfdbfe;
}

.slider-destacados-track {
    position: relative;
}

.slider-destacados-item {
    align-items: center;
    display: none;
    gap: 28px;
    grid-template-columns: minmax(0, 0.95fr) minmax(260px, 420px);
}

.slider-destacados-item.activo {
    display: grid;
}

.slider-destacados-contenido {
    max-width: 520px;
}

.slider-destacados .dashboard-label {
    color: #bfdbfe;
    margin-bottom: 10px;
}

.slider-destacados-contenido h2 {
    color: white;
    font-size: 38px;
    line-height: 1.1;
    margin-bottom: 14px;
}

.slider-destacados-contenido p {
    color: #dbeafe;
    font-size: 16px;
    line-height: 1.6;
    margin-bottom: 12px;
}

.slider-destacados-precio {
    color: #ffffff !important;
    font-size: 34px;
    font-weight: 800;
    margin-bottom: 18px !important;
}

.slider-destacados-acciones .btn {
    background: rgba(255, 255, 255, 0.96);
    border: none;
    color: #1d4ed8;
    font-weight: 700;
}

.slider-destacados-acciones .btn:hover {
    background: #dbeafe;
}

.slider-destacados-acciones .btn:visited {
    color: #1d4ed8;
}

.slider-destacados-imagen img {
    border-radius: 22px;
    display: block;
    height: 240px;
    object-fit: contain;
    object-position: center;
    width: 100%;
}

.slider-destacados-controles {
    align-items: center;
    display: flex;
    gap: 16px;
    justify-content: space-between;
    margin-top: 22px;
}

.slider-control {
    background: rgba(255, 255, 255, 0.16);
    border: 1px solid rgba(255, 255, 255, 0.24);
    border-radius: 999px;
    color: white;
    cursor: pointer;
    font-size: 28px;
    height: 42px;
    line-height: 1;
    width: 42px;
}

.slider-dots {
    display: flex;
    gap: 8px;
}

.slider-dot {
    background: rgba(255, 255, 255, 0.32);
    border: none;
    border-radius: 999px;
    cursor: pointer;
    height: 10px;
    padding: 0;
    width: 10px;
}

.slider-dot.activo {
    background: #ffffff;
    width: 28px;
}

.catalogo-layout {
    display: grid;
    gap: 24px;
    grid-template-columns: 1fr;
    align-items: start;
}

.productos-hero .dashboard-label,
.catalogo-sidebar .dashboard-label {
    color: #1d4ed8;
}

.catalogo-sidebar {
    background: #ffffff;
    border: 1px solid #e7eaf0;
    box-shadow: 0 18px 45px rgba(17, 24, 39, 0.08);
}

.catalogo-sidebar-header h3 {
    color: #1f2937;
    font-size: 21px;
    margin-bottom: 0;
}

.catalogo-limpiar {
    color: #1d4ed8;
    display: inline-block;
    font-size: 13px;
    font-weight: 700;
    margin-top: 8px;
    text-decoration: none;
}

.filtros-activos {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 16px 0;
}

.filtros-activos-linea {
    align-items: center;
    margin-top: 0;
}

.filtros-activos a {
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    border-radius: 999px;
    color: #1d4ed8;
    font-size: 12px;
    font-weight: 700;
    padding: 7px 10px;
    text-decoration: none;
}

.catalogo-filtro-bloque {
    border-top: 1px solid #f3f4f6;
    margin-top: 16px;
    padding-top: 16px;
}

.catalogo-departamentos {
    position: relative;
    z-index: 30;
}

.catalogo-filtro-titulo {
    align-items: center;
    display: flex;
    justify-content: space-between;
}

.catalogo-filtro-titulo span {
    color: #111827;
    font-weight: 800;
}

.catalogo-filtro-titulo small {
    background: #f3f4f6;
    border-radius: 999px;
    color: #6b7280;
    font-weight: 700;
    padding: 4px 8px;
}

.departamento-toggle {
    align-items: center;
    background: #111827;
    border: 1px solid #111827;
    border-radius: 8px;
    box-shadow: 0 14px 28px rgba(17, 24, 39, 0.16);
    color: #ffffff;
    cursor: pointer;
    display: flex;
    gap: 12px;
    justify-content: flex-start;
    margin-top: 12px;
    max-width: 230px;
    padding: 10px 14px;
    text-align: left;
    transition: background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
    width: auto;
}

.departamento-toggle:hover,
.departamento-toggle:focus-visible,
.departamento-toggle-abierto {
    background: #1d4ed8;
    border-color: #1d4ed8;
    box-shadow: 0 16px 34px rgba(29, 78, 216, 0.22);
    outline: none;
}

.departamento-toggle:hover {
    transform: translateY(-1px);
}

.departamento-toggle-icon {
    align-items: center;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 8px;
    display: grid;
    flex: 0 0 34px;
    gap: 4px;
    height: 34px;
    justify-content: center;
    padding: 7px;
    width: 34px;
}

.departamento-toggle-icon span {
    background: #ffffff;
    border-radius: 999px;
    display: block;
    height: 2px;
    transition: opacity 0.2s ease, transform 0.2s ease;
    width: 18px;
}

.departamento-toggle-abierto .departamento-toggle-icon span:first-child {
    transform: translateY(6px) rotate(45deg);
}

.departamento-toggle-abierto .departamento-toggle-icon span:nth-child(2) {
    opacity: 0;
}

.departamento-toggle-abierto .departamento-toggle-icon span:last-child {
    transform: translateY(-6px) rotate(-45deg);
}

.departamento-toggle-texto {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.departamento-toggle-texto strong,
.departamento-toggle-texto small {
    display: block;
    min-width: 0;
}

.departamento-toggle-texto strong {
    font-size: 14px;
    line-height: 1.2;
}

.departamento-toggle-texto small {
    color: #d1d5db;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.3;
}

.departamento-menu {
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    border: 1px solid #e7eaf0;
    border-radius: 8px;
    box-shadow: 0 22px 55px rgba(17, 24, 39, 0.18);
    display: grid;
    grid-template-columns: minmax(250px, 320px) minmax(0, 1fr);
    left: 0;
    margin-top: 12px;
    max-width: 860px;
    overflow: hidden;
    position: absolute;
    right: 0;
    top: 100%;
    z-index: 40;
}

.departamento-menu[hidden] {
    display: none;
}

.departamento-lista {
    background: #fbfcfe;
    border-right: 1px solid #e7eaf0;
    display: grid;
    gap: 6px;
    max-height: 460px;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 10px;
    scrollbar-color: #cbd5e1 transparent;
    scrollbar-width: thin;
}

.departamento-lista a {
    align-items: center;
    background: transparent;
    border: 1px solid transparent;
    border-radius: 8px;
    color: #1f2937;
    display: flex;
    gap: 8px;
    justify-content: space-between;
    font-weight: 600;
    min-height: 58px;
    padding: 10px 11px;
    position: relative;
    text-decoration: none;
    transition: background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.departamento-lista a:hover,
.departamento-lista a.departamento-hover {
    background: #ffffff;
    border-color: #dbe3ee;
    box-shadow: 0 10px 24px rgba(17, 24, 39, 0.06);
    transform: translateX(2px);
}

.departamento-lista .categoria-activa {
    background: #ffffff;
    border-color: #93c5fd;
    box-shadow: 0 12px 26px rgba(29, 78, 216, 0.12);
    color: #1d4ed8;
    font-weight: 700;
}

.departamento-lista .categoria-activa::before {
    background: #2563eb;
    border-radius: 999px;
    bottom: 10px;
    content: "";
    left: -1px;
    position: absolute;
    top: 10px;
    width: 3px;
}

.departamento-link-texto {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.departamento-link-nombre,
.departamento-link-detalle {
    display: block;
    min-width: 0;
}

.departamento-link-nombre {
    overflow-wrap: break-word;
}

.departamento-link-detalle {
    color: #6b7280;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.3;
}

.departamento-lista small {
    color: #94a3b8;
    font-size: 20px;
    line-height: 1;
    margin-left: 8px;
}

.departamento-panel {
    background: #ffffff;
    min-width: 0;
    padding: 18px;
}

.departamento-panel-grupo {
    display: none;
}

.departamento-panel-grupo.activo {
    display: block;
}

.departamento-panel h4 {
    color: #111827;
    font-size: 20px;
    margin: 0 0 6px;
}

.departamento-panel-top {
    align-items: flex-start;
    border-bottom: 1px solid #eef2f7;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    margin-bottom: 14px;
    padding-bottom: 14px;
}

.departamento-panel-top a {
    background: #f59e0b;
    border: 1px solid #f59e0b;
    border-radius: 6px;
    color: #111827;
    flex: 0 0 auto;
    font-size: 13px;
    font-weight: 800;
    padding: 8px 10px;
    text-decoration: none;
}

.departamento-panel-top a:hover {
    background: #fbbf24;
}

.departamento-panel-ayuda {
    color: #6b7280;
    font-size: 13px;
    line-height: 1.4;
    margin: 0 0 14px;
}

.departamento-subgrid {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
}

.departamento-subgrid a {
    align-items: center;
    background: #f8fafc;
    border: 1px solid #eef2f7;
    border-radius: 8px;
    color: #334155;
    display: flex;
    font-size: 14px;
    font-weight: 600;
    justify-content: space-between;
    padding: 9px 10px;
    text-decoration: none;
    transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.departamento-subgrid a small {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 999px;
    color: #64748b;
    font-size: 11px;
    font-weight: 800;
    min-width: 26px;
    padding: 3px 7px;
    text-align: center;
}

.departamento-subgrid a:hover,
.departamento-subgrid a.categoria-activa {
    background: #eef2ff;
    border-color: #c7d2fe;
    color: #312e81;
    transform: translateX(2px);
}

.departamento-panel-vacio {
    color: #6b7280;
    font-size: 14px;
    line-height: 1.5;
    margin: 0;
    text-align: left;
}

.catalogo-marcas {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 12px;
}

.catalogo-marcas a {
    background: #f9fafb;
    border: 1px solid #e5e7eb;
    border-radius: 999px;
    color: #374151;
    font-size: 13px;
    font-weight: 700;
    padding: 8px 10px;
    text-decoration: none;
}

.catalogo-marcas a.categoria-activa {
    background: #eff6ff;
    border-color: #93c5fd;
    color: #1d4ed8;
}

.catalogo-contenido {
    min-width: 0;
}

.catalogo-layout .grid-productos {
    gap: 18px;
    grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
}

.catalogo-layout .card-producto {
    border-color: #e5e7eb;
    border-radius: 8px;
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.06);
    overflow: hidden;
    padding: 12px;
}

.catalogo-layout .card-producto-media {
    background: #f8fafc;
    border-color: #eef2f7;
    border-radius: 8px;
    margin-bottom: 12px;
    padding: 10px;
}

.catalogo-layout .card-producto-badge {
    background: rgba(15, 23, 42, 0.88);
    box-shadow: none;
    font-size: 10px;
    left: 10px;
    padding: 5px 8px;
    top: 10px;
}

.catalogo-layout .card-producto-imagen {
    border-radius: 6px;
    height: 190px;
    object-fit: contain;
}

.catalogo-layout .card-producto-body {
    gap: 12px;
}

.catalogo-layout .card-producto h3 {
    font-size: 16px;
    line-height: 1.25;
    margin: 0 0 8px;
}

.catalogo-layout .card-producto-descripcion {
    -webkit-line-clamp: 2;
    color: #64748b;
    font-size: 13px;
    line-height: 1.45;
    margin-bottom: 0;
}

.catalogo-layout .producto-codigo {
    background: #f8fafc;
    border-color: #e2e8f0;
    color: #475569;
    font-size: 11px;
    margin-bottom: 8px;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.catalogo-layout .card-producto-footer {
    align-items: center;
    gap: 10px;
    padding-top: 12px;
}

.catalogo-layout .card-producto-precio-label {
    font-size: 10px;
    margin-bottom: 4px;
}

.catalogo-layout .card-producto .precio {
    font-size: 18px;
    line-height: 1.1;
    margin: 0;
}

.catalogo-layout .card-producto .btn {
    border-radius: 8px;
    min-height: 38px;
    padding: 0 14px;
}

.filtros-productos-panel {
    padding: 28px;
}

.form-busqueda-catalogo {
    justify-content: center;
}

.form-busqueda-catalogo input[type="text"] {
    max-width: 520px;
}

.resultado-contador {
    color: #6b7280;
    font-size: 14px;
    margin: 0;
}

.admin-product-pagination-footer {
    align-items: center;
    display: flex;
    gap: 16px;
    justify-content: space-between;
    margin: 24px 0;
}

.paginacion {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-end;
    margin: 0;
    position: relative;
    z-index: 10000;
}

.paginacion a,
.paginacion span {
    background: white;
    border: 1px solid #e5e7eb;
    border-radius: 999px;
    color: #1d4ed8;
    font-weight: bold;
    padding: 9px 14px;
    text-decoration: none;
}

.paginacion a {
    cursor: pointer;
    pointer-events: auto;
}

.paginacion a:hover {
    background: #eff6ff;
    border-color: #93c5fd;
}

.paginacion .paginacion-control {
    background: linear-gradient(135deg, #0f172a, #1d4ed8);
    border-color: #1d4ed8;
    color: white;
}

.paginacion .paginacion-control:hover {
    background: linear-gradient(135deg, #111827, #1e40af);
    border-color: #1e40af;
}

.paginacion .paginacion-activa {
    background: #1d4ed8;
    border-color: #1d4ed8;
    color: white;
}

.paginacion .paginacion-disabled {
    background: #f3f4f6;
    color: #9ca3af;
    cursor: not-allowed;
}

.paginacion .paginacion-puntos {
    background: transparent;
    border-color: transparent;
    color: #6b7280;
    padding-left: 4px;
    padding-right: 4px;
}

@media (max-width: 640px) {
    .admin-product-pagination-footer {
        align-items: flex-start;
        flex-direction: column;
        gap: 10px;
    }

    .admin-product-pagination-footer .resultado-contador {
        text-align: left;
        width: 100%;
    }

    .admin-product-pagination-footer .paginacion {
        justify-content: flex-end;
        width: 100%;
    }
}

@media (max-width: 1100px) {
    .dashboard-kpis {
        grid-template-columns: repeat(3, 1fr);
    }

    .dashboard-resumen-finanzas {
        grid-template-columns: 1fr;
    }

    .dashboard-grid-pro {
        grid-template-columns: 1fr;
    }

    .panel-grande {
        grid-row: auto;
    }

    .catalogo-layout {
        grid-template-columns: 1fr;
    }

    .departamento-menu {
        grid-template-columns: 1fr;
        min-height: 0;
    }

    .departamento-lista {
        border-right: 0;
        border-bottom: 1px solid #eef2f7;
    }

    .departamento-panel {
        padding: 12px;
    }

    .slider-destacados-item,
    .slider-destacados-item.activo {
        grid-template-columns: 1fr;
    }

    .home-section-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .inicio-hero-nuevo {
        grid-template-columns: 1fr;
        padding: 22px;
    }

    .inicio-hero-nuevo::before {
        display: none;
    }

    .inicio-hero-copy h1 {
        font-size: 40px;
        max-width: none;
    }

    .inicio-busqueda-hero {
        flex-direction: column;
    }

    .inicio-busqueda-hero .btn,
    .inicio-busqueda-hero input {
        width: 100%;
    }

    .inicio-metricas {
        grid-template-columns: 1fr;
    }

    .catalogo-bienvenida {
        align-items: flex-start;
        flex-direction: column;
    }

    .productos-hero {
        grid-template-columns: 1fr;
    }

    .slider-destacados-imagen img {
        height: 220px;
    }
}

@media (max-width: 700px) {
    .contenedor {
        width: calc(100% - 20px);
    }

    .header {
        margin-bottom: 18px;
        padding: 14px 0;
    }

    .productos-hero {
        border-radius: 8px;
        padding: 20px;
    }

    .productos-hero-copy h1 {
        font-size: 26px;
    }

    .productos-hero-panel {
        grid-template-columns: 1fr;
    }

    .catalogo-busqueda-pro,
    .catalogo-listado-header {
        align-items: stretch;
        flex-direction: column;
    }

    .catalogo-busqueda-pro .btn,
    .catalogo-listado-header a {
        justify-content: center;
        text-align: center;
        width: 100%;
    }

    .catalogo-layout .grid-productos {
        grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    }

    .catalogo-layout .card-producto {
        padding: 10px;
    }

    .catalogo-layout .card-producto-imagen {
        height: 150px;
    }

    .catalogo-layout .card-producto-footer {
        align-items: stretch;
        flex-direction: column;
    }

    .catalogo-layout .card-producto .btn {
        justify-content: center;
        width: 100%;
    }

    .dashboard-panel {
        border-radius: 16px;
        padding: 16px;
    }

    .dashboard-kpis {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dashboard-cotizacion-bar {
        align-items: flex-start;
        flex-direction: column;
    }

    .dashboard-cotizacion-bar-actions,
    .dashboard-hero-actions {
        width: 100%;
    }

    .dashboard-cotizacion-bar-actions .btn,
    .dashboard-hero-actions .btn {
        width: 100%;
    }

    .form-grid-precios,
    .form-grid-doble,
    .dashboard-modal-form .form-grid-precios {
        grid-template-columns: 1fr;
    }

    .tabla-responsive {
        margin-left: -4px;
        margin-right: -4px;
    }

    .catalogo-sidebar.dashboard-panel {
        padding: 18px;
    }

    .pedido-manual-row {
        background: #f8fafc;
        border: 1px solid #e2e8f0;
        border-radius: 14px;
        grid-template-columns: 1fr;
        padding: 12px;
    }

    .pedido-manual-row select,
    .pedido-manual-row input[type="number"],
    .pedido-manual-row .btn-mini {
        width: 100%;
    }

    .catalogo-sidebar-header h3 {
        font-size: 20px;
    }

    .catalogo-filtro-titulo {
        align-items: flex-start;
        gap: 8px;
    }

    .departamento-menu {
        background: transparent;
        border: 1px solid #e5e7eb;
        box-shadow: 0 18px 42px rgba(17, 24, 39, 0.16);
        display: grid;
        grid-template-columns: 1fr;
        gap: 10px;
        left: 0;
        max-width: none;
        overflow: hidden;
        position: absolute;
        right: 0;
        top: 100%;
    }

    .departamento-lista {
        background: #ffffff;
        border: 0;
        border-bottom: 1px solid #eef2f7;
        display: grid;
        gap: 8px;
        max-height: 300px;
        overflow-x: hidden;
        overflow-y: auto;
        padding: 10px;
    }

    .departamento-lista a {
        background: #ffffff;
        border-color: #e5e7eb;
        box-shadow: 0 8px 18px rgba(17, 24, 39, 0.05);
        min-height: 40px;
        padding: 9px 11px;
    }

    .departamento-lista a:hover,
    .departamento-lista a.departamento-hover,
    .departamento-lista .categoria-activa {
        transform: none;
    }

    .departamento-panel {
        border: 0;
        border-radius: 0;
        box-shadow: none;
        padding: 12px;
    }

    .departamento-panel-top {
        display: grid;
    }

    .departamento-panel-top a {
        justify-self: start;
    }

    .departamento-subgrid {
        grid-template-columns: 1fr;
    }

    .departamento-subgrid a {
        background: #f9fafb;
        border: 1px solid #eef2f7;
    }

    .pedido-timeline {
        grid-template-columns: 1fr;
    }

    .dashboard-hero {
        align-items: flex-start;
        flex-direction: column;
    }

    .compra-item-grid {
        grid-template-columns: 1fr;
    }

    .compra-item-meta {
        align-items: flex-start;
        flex-direction: column;
    }

    .compra-grupo-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .compra-actions form,
    .compra-actions .btn {
        width: 100%;
    }

    .tabla-compras-historial thead {
        display: none;
    }

    .tabla-compras-historial,
    .tabla-compras-historial tbody,
    .tabla-compras-historial tr,
    .tabla-compras-historial td {
        display: block;
        width: 100%;
    }

    .tabla-compras-historial tr {
        background: #ffffff;
        border: 1px solid #e2e8f0;
        border-radius: 14px;
        margin-bottom: 14px;
        overflow: hidden;
    }

    .tabla-compras-historial td {
        align-items: flex-start;
        border-bottom: 1px solid #eef2f7;
        display: flex;
        gap: 12px;
        justify-content: space-between;
        padding: 12px 14px;
        text-align: right;
    }

    .tabla-compras-historial td:last-child {
        border-bottom: 0;
    }

    .tabla-compras-historial td::before {
        color: #6b7280;
        content: attr(data-label);
        flex: 0 0 110px;
        font-size: 12px;
        font-weight: 800;
        text-align: left;
        text-transform: uppercase;
    }

    .tabla-compras-historial td[data-label="Producto"] {
        display: block;
        text-align: left;
    }

    .tabla-compras-historial td[data-label="Producto"]::before {
        display: block;
        margin-bottom: 8px;
    }

    .header-cliente-main {
        grid-template-columns: 1fr;
    }

    .header-top-actions {
        justify-content: flex-start;
        flex-wrap: wrap;
    }

    .header-search {
        width: 100%;
    }

    .header-search input {
        width: 100%;
    }

    .header-search button {
        min-height: 48px;
    }

    .dashboard-kpis,
    .dashboard-atajos,
    .form-busqueda,
    .form-grid-doble {
        grid-template-columns: 1fr;
    }

    .form-busqueda {
        align-items: stretch;
        flex-direction: column;
    }

    .menu,
    .menu-bloque {
        align-items: stretch;
        flex-direction: column;
        width: 100%;
    }

    .header-top {
        align-items: stretch;
    }

    .producto-detalle,
    .producto-acciones,
    .carrito-resumen-acciones {
        align-items: stretch;
        flex-direction: column;
    }

    .producto-acciones input,
    .producto-acciones .btn,
    .carrito-resumen-acciones .btn {
        max-width: none;
        width: 100%;
    }

    .producto-info,
    .producto-descripcion-bloque {
        max-width: 100%;
    }

    .producto-descripcion-texto {
        font-size: 15px;
        line-height: 1.75;
        max-width: 100%;
    }

    .form-busqueda input {
        max-width: none;
    }

    .filtros-productos select {
        max-width: none;
    }

    .whatsapp-float {
        bottom: 16px;
        right: 16px;
    }
}

@media (max-width: 480px) {
    .contenedor {
        width: calc(100% - 16px);
    }

    .dashboard-kpis {
        grid-template-columns: 1fr;
    }

    .kpi-card strong {
        font-size: 22px;
    }

    .dashboard-panel,
    .compra-grupo-card,
    .reporte-item {
        border-radius: 14px;
        padding: 14px;
    }

    .whatsapp-float {
        height: 52px;
        width: 52px;
    }
}

@media (max-width: 900px) {
    .checkout-summary-card {
        order: -1;
        position: static;
    }
}

@media (max-width: 700px) {
    .perfil-hero {
        align-items: stretch;
        flex-direction: column;
        margin-left: -8px;
        margin-right: -8px;
        padding: 18px;
    }

    .perfil-hero-actions {
        flex-direction: column;
    }

    .perfil-hero-actions .btn {
        text-align: center;
        width: 100%;
    }

    .perfil-grid {
        grid-template-columns: 1fr;
    }

    .perfil-card,
    .perfil-pedidos {
        margin-left: -8px;
        margin-right: -8px;
        padding: 18px;
    }

    .perfil-estados-ayuda {
        display: grid;
        grid-template-columns: 1fr;
    }

    .tabla-perfil-pedidos {
        background: transparent;
        border: 0;
        border-collapse: separate;
        border-spacing: 0 12px;
        margin-top: 0;
    }

    .tabla-perfil-pedidos thead {
        display: none;
    }

    .tabla-perfil-pedidos tbody,
    .tabla-perfil-pedidos tr,
    .tabla-perfil-pedidos td {
        display: block;
        width: 100%;
    }

    .tabla-perfil-pedidos tr {
        background: #ffffff;
        border: 1px solid #e5e7eb;
        border-radius: 8px;
        box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06);
        overflow: hidden;
    }

    .tabla-perfil-pedidos td {
        align-items: flex-start;
        border: 0;
        border-bottom: 1px solid #f3f4f6;
        display: flex;
        gap: 12px;
        justify-content: space-between;
        padding: 12px 14px;
        text-align: right;
    }

    .tabla-perfil-pedidos td:last-child {
        border-bottom: 0;
    }

    .tabla-perfil-pedidos td::before {
        color: #6b7280;
        content: attr(data-label);
        flex: 0 0 86px;
        font-size: 12px;
        font-weight: 800;
        letter-spacing: 0;
        text-align: left;
        text-transform: uppercase;
    }

    .tabla-perfil-pedidos td[data-label="Pedido"],
    .tabla-perfil-pedidos td[data-label="Accion"] {
        display: block;
        text-align: left;
    }

    .tabla-perfil-pedidos td[data-label="Pedido"]::before,
    .tabla-perfil-pedidos td[data-label="Accion"]::before {
        display: block;
        margin-bottom: 8px;
    }

    .tabla-perfil-pedidos .btn-mini {
        text-align: center;
        width: 100%;
    }

    .checkout-summary-list {
        gap: 12px;
        padding: 16px 18px 0;
    }

    .checkout-summary-item {
        align-items: flex-start;
        display: grid;
        gap: 8px;
        grid-template-columns: 1fr;
    }

    .checkout-summary-item > strong {
        white-space: normal;
    }

    .checkout-total-box {
        margin: 18px 18px 0;
        padding: 16px;
    }

    .checkout-total-box strong {
        font-size: 20px;
        text-align: right;
    }

    .checkout-help-box {
        margin-top: 18px;
        padding: 18px;
    }

    .footer-cliente {
        padding: 26px 0 20px;
    }

    .footer-cliente-grid {
        grid-template-columns: 1fr !important;
    }

    .footer-brand,
    .footer-links,
    .footer-about,
    .footer-contacto {
        padding: 0;
    }

    .footer-bottom {
        align-items: center;
        justify-content: center;
        text-align: center;
    }
}

:root {
    --retail-blue: #0b3b8f;
    --retail-blue-soft: #2563eb;
    --retail-cyan: #06b6d4;
    --retail-ink: #0f172a;
    --retail-text: #475569;
    --retail-border: #dbe7ff;
    --retail-surface: #ffffff;
    --retail-surface-alt: #f8fbff;
    --retail-accent: #f59e0b;
    --retail-green: #10b981;
}

.retail-home {
    display: grid;
    gap: 22px;
    margin: 0 auto;
    max-width: 1240px;
    padding: 10px 0 34px;
}

.retail-hero {
    display: grid;
    gap: 18px;
    grid-template-columns: minmax(0, 1.6fr) minmax(280px, 0.7fr);
    align-items: start;
}

.retail-hero-main,
.retail-panel,
.retail-side-card,
.retail-service-list article {
    background: var(--retail-surface);
    border: 1px solid var(--retail-border);
    border-radius: 24px;
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.06);
}

.retail-hero-main {
    background:
        radial-gradient(circle at top right, rgba(6, 182, 212, 0.18), transparent 28%),
        linear-gradient(135deg, #08285f 0%, #0b3b8f 48%, #2563eb 78%, #38bdf8 100%);
    border: 0;
    color: #ffffff;
    display: grid;
    gap: 22px;
    grid-template-columns: minmax(0, 1.05fr) minmax(260px, 340px);
    overflow: hidden;
    padding: 26px;
    position: relative;
}

.retail-hero-copy,
.retail-hero-side,
.retail-showcase-side {
    display: grid;
    gap: 16px;
}

.retail-kicker {
    align-items: center;
    background: rgba(255, 255, 255, 0.14);
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 999px;
    color: #ffffff;
    display: inline-flex;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.08em;
    min-height: 34px;
    padding: 0 12px;
    text-transform: uppercase;
    width: fit-content;
}

.retail-hero-copy h1 {
    color: #ffffff;
    font-size: 46px;
    letter-spacing: -0.05em;
    line-height: 0.96;
    margin: 12px 0 10px;
    max-width: 9ch;
}

.retail-hero-copy p {
    color: rgba(255, 255, 255, 0.88);
    font-size: 16px;
    line-height: 1.6;
    margin: 0;
    max-width: 480px;
}

.retail-hero-search {
    align-items: stretch;
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid rgba(219, 234, 254, 0.82);
    border-radius: 18px;
    display: flex;
    gap: 0;
    margin-top: 2px;
    overflow: hidden;
    width: 100%;
}

.retail-hero-search input {
    background: transparent;
    border: 0;
    color: var(--retail-ink);
    flex: 1;
    font-size: 15px;
    min-height: 56px;
    padding: 0 18px;
}

.retail-hero-search input:focus {
    outline: none;
}

.retail-hero-search button {
    background: linear-gradient(135deg, #f59e0b, #fbbf24);
    border: 0;
    color: #1f2937;
    cursor: pointer;
    font-size: 14px;
    font-weight: 900;
    min-width: 124px;
    padding: 0 22px;
}

.retail-search-tags,
.retail-hero-actions,
.retail-brand-cloud,
.retail-combo-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.retail-search-tags a {
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 999px;
    color: #ffffff;
    font-size: 12px;
    font-weight: 800;
    padding: 8px 12px;
    text-decoration: none;
}

.retail-btn-primary,
.retail-btn-light {
    border-radius: 999px;
    font-weight: 800;
    min-height: 50px;
    padding: 12px 22px;
}

.retail-btn-primary {
    background: linear-gradient(135deg, #f59e0b, #fbbf24);
    border: 0;
    color: #1f2937 !important;
    box-shadow: 0 18px 30px rgba(245, 158, 11, 0.26);
}

.retail-btn-light {
    background: rgba(255, 255, 255, 0.16);
    border: 1px solid rgba(255, 255, 255, 0.18);
    color: #ffffff !important;
}

.retail-hero-visual {
    display: grid;
    gap: 14px;
}

.retail-hero-product {
    align-items: center;
    background: rgba(255, 255, 255, 0.96);
    border-radius: 26px;
    box-shadow: 0 26px 45px rgba(8, 40, 95, 0.20);
    display: flex;
    justify-content: center;
    min-height: 220px;
    padding: 18px;
}

.retail-hero-product img {
    display: block;
    height: 170px;
    max-width: 100%;
    object-fit: contain;
    width: 100%;
}

.retail-hero-stats {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.retail-hero-stats article {
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 18px;
    padding: 12px;
}

.retail-hero-stats strong,
.retail-hero-stats span,
.retail-side-card strong,
.retail-side-card small,
.retail-side-card span,
.retail-service-list strong,
.retail-service-list span,
.retail-category-card strong,
.retail-category-card small,
.retail-offer-body strong,
.retail-offer-body small,
.retail-offer-meta span,
.retail-featured-body p,
.retail-featured-body span,
.retail-brand-cloud a strong,
.retail-brand-cloud a small,
.retail-combo-card strong,
.retail-combo-card span,
.retail-combo-card small,
.retail-arrival-body p,
.retail-arrival-body strong {
    display: block;
}

.retail-hero-stats strong {
    font-size: 22px;
    margin-bottom: 4px;
}

.retail-hero-stats span {
    color: rgba(255, 255, 255, 0.76);
    font-size: 11px;
    font-weight: 700;
}

.retail-hero-side {
    align-content: start;
}

.retail-side-card,
.retail-panel {
    padding: 20px;
}

.retail-side-card {
    color: var(--retail-ink);
    display: grid;
    gap: 6px;
    text-decoration: none;
}

.retail-side-card small {
    color: var(--retail-blue-soft);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.retail-side-card strong {
    font-size: 18px;
    line-height: 1.15;
}

.retail-side-card span,
.retail-service-list span,
.retail-featured-body p,
.retail-arrival-body p {
    color: var(--retail-text);
    font-size: 13px;
    line-height: 1.5;
}

.retail-side-card-offer {
    background: linear-gradient(135deg, #fff7ed, #fef3c7);
    border-color: #fde68a;
}

.retail-service-list {
    display: grid;
    gap: 12px;
}

.retail-service-list article {
    padding: 14px 16px;
}

.retail-service-list strong {
    color: var(--retail-ink);
    margin-bottom: 4px;
}

.retail-section-head {
    align-items: center;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    margin-bottom: 18px;
}

.retail-section-head span {
    color: var(--retail-blue-soft);
    display: block;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.08em;
    margin-bottom: 6px;
    text-transform: uppercase;
}

.retail-section-head h2 {
    color: var(--retail-ink);
    font-size: 34px;
    letter-spacing: -0.04em;
    margin: 0;
}

.retail-section-head a,
.retail-offer-meta a,
.retail-offer-body h3 a,
.retail-featured-body h3 a,
.retail-arrival-body h3 a {
    color: var(--retail-blue);
    font-weight: 800;
    text-decoration: none;
}

.retail-category-grid,
.retail-offer-grid,
.retail-arrivals-grid {
    display: grid;
    gap: 16px;
}

.retail-category-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
}

.retail-category-card {
    background: linear-gradient(180deg, #ffffff, #f8fbff);
    border: 1px solid #e4ecff;
    border-radius: 22px;
    color: var(--retail-ink);
    display: grid;
    gap: 10px;
    justify-items: center;
    min-height: 180px;
    padding: 22px 16px;
    text-align: center;
    text-decoration: none;
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.retail-category-card:hover,
.retail-offer-card:hover,
.retail-combo-card:hover,
.retail-arrival-card:hover {
    border-color: #93c5fd;
    box-shadow: 0 18px 34px rgba(37, 99, 235, 0.10);
    transform: translateY(-3px);
}

.retail-category-card span {
    align-items: center;
    background: linear-gradient(135deg, rgba(11, 59, 143, 0.10), rgba(6, 182, 212, 0.16));
    border-radius: 20px;
    color: var(--retail-blue);
    display: inline-flex;
    font-size: 20px;
    font-weight: 900;
    height: 82px;
    justify-content: center;
    width: 82px;
}

.retail-category-card strong {
    font-size: 15px;
    line-height: 1.35;
}

.retail-category-card small,
.retail-offer-brand,
.retail-featured-body p,
.retail-arrival-body p {
    color: #64748b;
}

.retail-offer-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.retail-offer-card,
.retail-arrival-card {
    background: #ffffff;
    border: 1px solid #e5ecfb;
    border-radius: 20px;
    overflow: hidden;
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.retail-offer-media,
.retail-arrival-media {
    background: linear-gradient(180deg, #f8fbff, #eef5ff);
    display: block;
    min-height: 220px;
    padding: 18px;
    position: relative;
}

.retail-offer-media img,
.retail-arrival-media img,
.retail-featured-thumb img {
    display: block;
    height: 190px;
    object-fit: contain;
    width: 100%;
}

.retail-offer-badge {
    background: #dcfce7;
    border: 1px solid #bbf7d0;
    border-radius: 999px;
    color: #166534;
    font-size: 12px;
    font-weight: 900;
    left: 12px;
    padding: 6px 10px;
    position: absolute;
    top: 12px;
}

.retail-offer-body,
.retail-arrival-body {
    padding: 16px;
}

.retail-offer-brand {
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.08em;
    margin-bottom: 6px;
    text-transform: uppercase;
}

.retail-offer-body h3,
.retail-featured-body h3,
.retail-arrival-body h3 {
    margin: 0 0 10px;
}

.retail-offer-body h3 a,
.retail-featured-body h3 a,
.retail-arrival-body h3 a {
    color: var(--retail-ink);
}

.retail-offer-body strong,
.retail-arrival-body strong,
.retail-featured-body span {
    color: var(--retail-ink);
    font-size: 28px;
    line-height: 1.05;
}

.retail-offer-body small {
    color: #94a3b8;
    font-size: 14px;
    margin-top: 6px;
    text-decoration: line-through;
}

.retail-offer-meta {
    align-items: center;
    display: flex;
    gap: 10px;
    justify-content: space-between;
    margin-top: 14px;
}

.retail-offer-meta span {
    color: #475569;
    font-size: 12px;
    font-weight: 700;
}

.retail-showcase {
    display: grid;
    gap: 18px;
    grid-template-columns: minmax(0, 1.1fr) minmax(300px, 0.9fr);
}

.retail-featured-list {
    display: grid;
    gap: 14px;
}

.retail-featured-item {
    align-items: center;
    background: linear-gradient(180deg, #ffffff, #f9fbff);
    border: 1px solid #e4ecff;
    border-radius: 20px;
    display: grid;
    gap: 14px;
    grid-template-columns: 124px minmax(0, 1fr);
    padding: 14px;
}

.retail-featured-thumb {
    background: linear-gradient(180deg, #f8fbff, #eff6ff);
    border-radius: 18px;
    display: block;
    padding: 12px;
}

.retail-featured-thumb img {
    height: 110px;
}

.retail-featured-body span {
    font-size: 24px;
    margin-top: 8px;
}

.retail-brand-cloud a,
.retail-combo-card {
    background: linear-gradient(180deg, #ffffff, #f8fbff);
    border: 1px solid #e4ecff;
    border-radius: 18px;
    color: var(--retail-ink);
    padding: 14px 16px;
    text-decoration: none;
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.retail-brand-cloud a {
    min-width: 132px;
}

.retail-brand-cloud a strong,
.retail-combo-card strong {
    font-size: 15px;
}

.retail-brand-cloud a small,
.retail-combo-card span {
    color: #64748b;
    font-size: 12px;
    margin-top: 4px;
}

.retail-combo-card {
    min-width: 180px;
}

.retail-combo-card small {
    color: var(--retail-blue);
    font-size: 22px;
    font-weight: 900;
    margin-top: 8px;
}

.retail-arrivals-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
}

.retail-arrival-media {
    min-height: 170px;
    padding: 14px;
}

.retail-arrival-media img {
    height: 140px;
}

@media (max-width: 1180px) {
    .retail-showcase,
    .retail-category-grid,
    .retail-offer-grid,
    .retail-arrivals-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .retail-hero {
        grid-template-columns: 1fr;
    }

    .retail-hero-main {
        grid-template-columns: 1fr;
    }

    .retail-arrivals-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 820px) {
    .retail-home {
        gap: 18px;
        padding-bottom: 28px;
    }

    .retail-hero,
    .retail-showcase,
    .retail-category-grid,
    .retail-offer-grid,
    .retail-arrivals-grid,
    .retail-hero-stats {
        grid-template-columns: 1fr;
    }

    .retail-hero-main,
    .retail-panel,
    .retail-side-card {
        padding: 18px;
    }

    .retail-hero-copy h1 {
        font-size: 40px;
        max-width: none;
    }

    .retail-hero-search {
        flex-direction: column;
    }

    .retail-hero-search button {
        min-height: 48px;
        width: 100%;
    }

    .retail-section-head {
        align-items: flex-start;
        display: grid;
    }

    .retail-section-head h2 {
        font-size: 28px;
    }

    .retail-featured-item {
        grid-template-columns: 1fr;
    }

    .retail-featured-thumb img,
    .retail-offer-media img,
    .retail-arrival-media img,
    .retail-hero-product img {
        height: 180px;
    }

    .retail-brand-cloud,
    .retail-combo-list,
    .retail-hero-actions,
    .retail-search-tags {
        display: grid;
    }
}

/* Catalogo v2 */
.productos-hero {
    align-items: center;
    background: #ffffff;
    border: 1px solid #d9e2ec;
    border-radius: 8px;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.06);
    display: grid;
    gap: 18px;
    grid-template-columns: minmax(0, 1fr) auto;
    margin: 0 0 14px;
    padding: 18px 20px;
}

.productos-hero::before {
    display: none;
}

.productos-hero-copy .dashboard-label {
    color: #0891b2;
    font-size: 11px;
    letter-spacing: 0.08em;
    margin-bottom: 7px;
}

.productos-hero-copy h1 {
    color: #111827;
    font-size: 26px;
    font-weight: 900;
    line-height: 1.1;
    margin: 0 0 6px;
}

.productos-hero-copy p:last-child {
    color: #64748b;
    font-size: 14px;
    line-height: 1.45;
    margin: 0;
    max-width: 760px;
}

.productos-hero-panel {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    display: flex;
    gap: 1px;
    overflow: hidden;
    padding: 0;
}

.productos-hero-panel div {
    align-items: flex-start;
    background: #ffffff;
    border: 0;
    border-radius: 0;
    display: grid;
    gap: 3px;
    min-width: 94px;
    padding: 12px 14px;
}

.productos-hero-panel span {
    color: #64748b;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.productos-hero-panel strong {
    color: #111827;
    font-size: 22px;
    line-height: 1;
}

.catalogo-toolbar {
    background: #0f172a;
    border: 1px solid #0f172a;
    border-radius: 8px;
    box-shadow: 0 14px 28px rgba(15, 23, 42, 0.14);
    display: grid;
    gap: 12px;
    margin-bottom: 16px;
    padding: 14px;
}

.catalogo-busqueda-pro {
    display: grid;
    gap: 8px;
    grid-template-columns: minmax(0, 1fr) auto;
}

.catalogo-busqueda-pro input[type="text"] {
    background: #ffffff;
    border: 1px solid transparent;
    border-radius: 8px;
    color: #0f172a;
    min-height: 42px;
    padding: 0 14px;
}

.catalogo-busqueda-pro input[type="text"]:focus {
    border-color: #22d3ee;
    outline: 2px solid rgba(34, 211, 238, 0.24);
}

.catalogo-busqueda-pro .btn {
    background: #16a34a;
    border: 1px solid #16a34a;
    border-radius: 8px;
    box-shadow: none;
    color: #ffffff;
    margin: 0;
    min-height: 42px;
    padding: 0 20px;
}

.catalogo-busqueda-pro .btn:hover {
    background: #15803d;
    border-color: #15803d;
}

.catalogo-chip-row,
.catalogo-marcas-pro {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.catalogo-marcas-pro {
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    padding-top: 12px;
}

.catalogo-chip-row a,
.catalogo-marcas-pro a {
    align-items: center;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 8px;
    color: #e2e8f0;
    display: inline-flex;
    font-size: 12px;
    font-weight: 800;
    min-height: 32px;
    padding: 7px 10px;
    text-decoration: none;
}

.catalogo-chip-row a:hover,
.catalogo-chip-row a.is-active,
.catalogo-marcas-pro a:hover,
.catalogo-marcas-pro a.is-active {
    background: #ffffff;
    border-color: #ffffff;
    color: #0f172a;
}

.filtros-activos-linea {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    margin: 0 0 12px;
    padding: 10px;
}

.filtros-activos a {
    background: #f8fafc;
    border-color: #dbe3ee;
    border-radius: 8px;
    color: #334155;
}

.filtros-activos .catalogo-limpiar {
    background: #fee2e2;
    border-color: #fecaca;
    color: #991b1b;
    margin-top: 0;
}

.catalogo-listado-header {
    align-items: center;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    margin: 0 0 14px;
    padding: 12px 14px;
}

.catalogo-listado-header span {
    color: #0891b2;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.06em;
}

.catalogo-listado-header strong {
    color: #111827;
    font-size: 15px;
}

.catalogo-listado-header a {
    background: #f1f5f9;
    border: 1px solid #dbe3ee;
    border-radius: 8px;
    color: #0f172a;
    font-size: 12px;
    font-weight: 900;
    padding: 8px 10px;
    text-decoration: none;
}

.catalogo-layout .grid-productos {
    gap: 14px;
    grid-template-columns: repeat(auto-fill, minmax(218px, 1fr));
}

.catalogo-layout .card-producto {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    box-shadow: none;
    overflow: hidden;
    padding: 0;
}

.catalogo-layout .card-producto:hover {
    border-color: #94a3b8;
    box-shadow: 0 14px 30px rgba(15, 23, 42, 0.10);
    transform: translateY(-2px);
}

.catalogo-layout .card-producto-media {
    background: #f8fafc;
    border: 0;
    border-bottom: 1px solid #eef2f7;
    border-radius: 0;
    margin: 0;
    padding: 14px;
}

.catalogo-layout .card-producto-badge {
    background: #dcfce7;
    border: 1px solid #bbf7d0;
    border-radius: 6px;
    box-shadow: none;
    color: #166534;
    font-size: 10px;
    left: 10px;
    padding: 4px 7px;
    top: 10px;
}

.catalogo-layout .card-producto-imagen {
    border-radius: 6px;
    height: 178px;
    object-fit: contain;
}

.catalogo-layout .card-producto-body {
    gap: 10px;
    padding: 12px;
}

.catalogo-layout .card-producto h3 {
    font-size: 15px;
    font-weight: 900;
    line-height: 1.28;
    margin: 0 0 6px;
}

.catalogo-layout .card-producto-descripcion {
    -webkit-line-clamp: 2;
    color: #64748b;
    font-size: 12px;
    line-height: 1.4;
    min-height: 34px;
}

.catalogo-layout .producto-codigo {
    background: #f1f5f9;
    border-color: #e2e8f0;
    border-radius: 6px;
    color: #475569;
    font-size: 10px;
    margin-bottom: 8px;
    max-width: 100%;
    overflow: hidden;
    padding: 4px 7px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.catalogo-layout .card-producto-footer {
    align-items: center;
    border-top: 1px solid #eef2f7;
    gap: 8px;
    padding-top: 10px;
}

.catalogo-layout .card-producto-precio-label {
    color: #64748b;
    font-size: 10px;
    margin-bottom: 3px;
}

.catalogo-layout .card-producto .precio {
    color: #111827;
    font-size: 19px;
    line-height: 1;
    margin: 0;
}

.catalogo-layout .card-producto .btn {
    background: #0f172a;
    border: 1px solid #0f172a;
    border-radius: 8px;
    box-shadow: none;
    color: #ffffff;
    justify-content: center;
    margin: 0;
    min-height: 36px;
    padding: 0 14px;
}

.catalogo-layout .card-producto .btn:hover {
    background: #0891b2;
    border-color: #0891b2;
}

@media (max-width: 900px) {
    .productos-hero {
        grid-template-columns: 1fr;
    }

    .productos-hero-panel {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .productos-hero {
        padding: 16px;
    }

    .productos-hero-copy h1 {
        font-size: 24px;
    }

    .productos-hero-panel {
        grid-template-columns: 1fr;
    }

    .catalogo-busqueda-pro {
        grid-template-columns: 1fr;
    }

    .catalogo-busqueda-pro .btn {
        width: 100%;
    }

    .catalogo-listado-header {
        align-items: stretch;
        display: grid;
    }

    .catalogo-listado-header a {
        text-align: center;
    }

    .catalogo-layout .grid-productos {
        grid-template-columns: repeat(auto-fill, minmax(155px, 1fr));
    }

    .catalogo-layout .card-producto-imagen {
        height: 140px;
    }

    .catalogo-layout .card-producto-footer {
        align-items: stretch;
        display: grid;
    }

    .catalogo-layout .card-producto .btn {
        width: 100%;
    }
}

/* Marketplace home refresh - final overrides */
body.cliente-body {
    background: #f8f9fa !important;
    color: #111827;
}

#promo-bar-cliente {
    background: #082b63 !important;
    box-shadow: none !important;
}

#tienda-header-cliente {
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    background: rgba(255, 255, 255, 0.96) !important;
    border-bottom: 1px solid rgba(229, 231, 235, 0.9) !important;
    box-shadow: 0 1px 10px rgba(0,0,0,0.04) !important;
    position: sticky;
    top: 0;
    z-index: 90;
}

#tienda-header-cliente .header-search input {
    border-color: #d7e5f8 !important;
    box-shadow: 0 8px 20px rgba(8, 43, 99, 0.06) !important;
}

#tienda-header-cliente .header-search button,
#tienda-header-cliente .header-login-link svg,
#tienda-header-cliente .header-user-links .menu-admin-link {
    background: #006cff !important;
    border-color: #006cff !important;
    box-shadow: none !important;
}

#tienda-header-cliente .header-cart-link,
#tienda-header-cliente .menu-cliente a,
#tienda-header-cliente .header-categorias-btn {
    border-color: #dbe5f2 !important;
    color: #082b63 !important;
}

#tienda-header-cliente .logo-cliente.trigo-brand {
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: 50%;
    box-sizing: border-box;
    box-shadow: 0 10px 22px rgba(8, 43, 99, 0.16);
    display: flex;
    height: 64px;
    justify-self: center;
    justify-content: center;
    min-height: 64px;
    overflow: visible;
    padding: 0;
    width: 64px;
}

#tienda-header-cliente .logo-cliente.trigo-brand img {
    backface-visibility: hidden;
    display: block !important;
    filter: none !important;
    height: 64px !important;
    image-rendering: auto;
    max-width: 100%;
    object-fit: contain;
    transform: translateZ(0);
    width: 64px !important;
}

#tienda-header-cliente .header-whatsapp-link {
    background: #16a34a !important;
    border-color: #16a34a !important;
    box-shadow: none !important;
}

#tienda-header-cliente .header-cart-count {
    background: #ffd43b;
    color: #082b63;
}

#tienda-header-cliente .header-categoria-label,
#tienda-header-cliente .header-subcategory-label {
    align-items: center;
    display: inline-flex;
    min-width: 0;
}

#tienda-header-cliente .header-categoria-label {
    gap: 10px;
}

#tienda-header-cliente .header-subcategory-label {
    gap: 8px;
}

#tienda-header-cliente .header-category-icon,
#tienda-header-cliente .header-subcategory-icon {
    align-items: center;
    background: #ffffff;
    border: 1px solid #dbeafe;
    color: #0d47a1;
    display: inline-flex;
    flex: 0 0 auto;
    justify-content: center;
}

#tienda-header-cliente .header-category-icon {
    border-radius: 9px;
    height: 28px;
    width: 28px;
}

#tienda-header-cliente .header-subcategory-icon {
    border-color: #e2e8f0;
    border-radius: 8px;
    color: #2563eb;
    height: 24px;
    width: 24px;
}

#tienda-header-cliente .header-category-icon svg {
    display: block;
    height: 15px;
    width: 15px;
}

#tienda-header-cliente .header-subcategory-icon svg {
    display: block;
    height: 13px;
    width: 13px;
}

#tienda-header-cliente .header-cart-link.is-cart-updated .header-cart-icon {
    animation: headerCartNudge 0.38s ease;
    transform-origin: center;
}

#tienda-header-cliente .header-cart-count.is-cart-updated {
    animation: headerCartCountPop 0.38s ease;
}

@keyframes headerCartNudge {
    0% {
        transform: translateY(0) scale(1);
    }

    45% {
        transform: translateY(-2px) scale(1.12);
    }

    100% {
        transform: translateY(0) scale(1);
    }
}

@keyframes headerCartCountPop {
    0% {
        transform: scale(1);
    }

    45% {
        transform: scale(1.22);
    }

    100% {
        transform: scale(1);
    }
}

.mini-cart-overlay {
    background: rgba(11, 59, 143, 0.28);
    inset: 0;
    opacity: 0;
    position: fixed;
    transition: opacity 0.22s ease;
    z-index: 5000;
}

.mini-cart-drawer {
    bottom: 0;
    display: flex;
    justify-content: flex-end;
    pointer-events: none;
    position: fixed;
    right: 0;
    top: 0;
    width: min(100vw, 420px);
    z-index: 5001;
}

.mini-cart-drawer[aria-hidden="true"] {
    visibility: hidden;
}

.mini-cart-panel {
    background: #ffffff;
    border-left: 1px solid #dbe5f2;
    box-shadow: -18px 0 42px rgba(15, 23, 42, 0.16);
    display: flex;
    flex-direction: column;
    height: 100%;
    max-width: 100%;
    padding: 20px;
    transform: translateX(100%);
    transition: transform 0.24s ease;
    width: 320px;
}

.mini-cart-open .mini-cart-overlay {
    opacity: 1;
}

.mini-cart-open .mini-cart-drawer {
    pointer-events: auto;
    visibility: visible;
}

.mini-cart-open .mini-cart-panel {
    transform: translateX(0);
}

.mini-cart-header {
    align-items: center;
    display: flex;
    gap: 14px;
    justify-content: space-between;
}

.mini-cart-title-wrap {
    align-items: center;
    display: flex;
    gap: 10px;
}

.mini-cart-title-icon {
    align-items: center;
    background: #eff6ff;
    border: 1px solid #dbe5f2;
    border-radius: 8px;
    color: #0b3b8f;
    display: inline-flex;
    height: 38px;
    justify-content: center;
    width: 38px;
}

.mini-cart-title-icon svg {
    height: 22px;
    width: 22px;
}

.mini-cart-header h2 {
    color: #0b3b8f;
    font-size: 1.25rem;
    line-height: 1.2;
    margin: 0;
}

.mini-cart-close {
    align-items: center;
    background: transparent;
    border: 0;
    color: #0b3b8f;
    cursor: pointer;
    display: inline-flex;
    font-size: 28px;
    height: 36px;
    justify-content: center;
    line-height: 1;
    padding: 0;
    width: 36px;
}

.mini-cart-close:hover,
.mini-cart-close:focus-visible {
    background: #eff6ff;
    border-radius: 8px;
    color: #0b5ed7;
}

.mini-cart-line {
    background: linear-gradient(90deg, #0b5ed7, #ffd43b);
    border-radius: 999px;
    height: 3px;
    margin: 14px 0 18px;
    width: 100%;
}

.mini-cart-content {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
}

.mini-cart-empty {
    background: #f8fbff;
    border: 1px solid #dbe5f2;
    border-radius: 8px;
    color: #475569;
    font-size: 0.95rem;
    margin: 12px 0;
    padding: 12px;
}

.mini-cart-item {
    align-items: flex-start;
    background: #ffffff;
    border: 1px solid #dbe5f2;
    border-radius: 10px;
    display: grid;
    gap: 14px;
    grid-template-columns: 86px 1fr;
    padding: 12px;
}

.mini-cart-item-image {
    aspect-ratio: 1;
    background: #f8fbff;
    border: 1px solid #dbe5f2;
    border-radius: 8px;
    height: 86px;
    object-fit: contain;
    width: 86px;
}

.mini-cart-item-info {
    min-width: 0;
}

.mini-cart-item-info h3 {
    color: #0f172a;
    font-size: 0.96rem;
    font-weight: 800;
    line-height: 1.3;
    margin: 0 0 8px;
}

.mini-cart-item-qty {
    color: #475569;
    font-size: 0.88rem;
    margin: 0 0 6px;
}

.mini-cart-item-price {
    color: #0b3b8f;
    font-size: 1.02rem;
    font-weight: 800;
    margin: 0 0 12px;
}

.mini-cart-remove {
    align-items: center;
    background: #fff1f2;
    border: 1px solid #fecdd3;
    border-radius: 999px;
    color: #b91c1c;
    cursor: pointer;
    display: inline-flex;
    font-size: 0.86rem;
    font-weight: 700;
    justify-content: center;
    min-height: 32px;
    padding: 7px 13px;
    text-decoration: none;
}

.mini-cart-remove:hover,
.mini-cart-remove:focus-visible {
    background: #ffe4e6;
    border-color: #fda4af;
    color: #991b1b;
}

.mini-cart-actions {
    display: grid;
    gap: 10px;
    padding-top: 18px;
}

.mini-cart-button {
    align-items: center;
    background: #0b5ed7;
    border: 1px solid #0b5ed7;
    border-radius: 8px;
    color: #ffffff;
    display: inline-flex;
    font-weight: 800;
    justify-content: center;
    min-height: 44px;
    padding: 10px 14px;
    text-decoration: none;
}

.mini-cart-button:hover,
.mini-cart-button:focus-visible {
    background: #094cae;
    border-color: #094cae;
    color: #ffffff;
}

body.mini-cart-open {
    overflow: hidden;
}

body.mini-cart-open .carrito-resumen-card {
    display: none;
}

.cart-added-toast {
    align-items: center;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    bottom: 24px;
    box-shadow: 0 14px 36px rgba(15, 23, 42, 0.14);
    color: #111827;
    display: none;
    gap: 12px;
    left: 50%;
    max-width: calc(100vw - 32px);
    padding: 12px 14px;
    position: fixed;
    transform: translate(-50%, 10px);
    transition: opacity 0.18s ease, transform 0.18s ease;
    width: min(440px, calc(100vw - 32px));
    z-index: 1200;
}

.cart-added-toast.is-visible {
    display: flex;
    opacity: 1;
    transform: translate(-50%, 0);
}

.cart-added-toast-icon {
    align-items: center;
    background: #22c55e;
    border-radius: 999px;
    color: #ffffff;
    display: inline-flex;
    flex: 0 0 28px;
    font-size: 15px;
    font-weight: 900;
    height: 28px;
    justify-content: center;
    width: 28px;
}

.cart-added-toast-text {
    color: #111827;
    flex: 1 1 auto;
    font-size: 14px;
    font-weight: 700;
    min-width: 0;
}

.cart-added-toast-link {
    color: #2563eb;
    flex: 0 0 auto;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.04em;
    text-decoration: none;
}

.cart-added-toast-link:hover,
.cart-added-toast-link:focus-visible {
    color: #1d4ed8;
    text-decoration: underline;
}

.cart-added-toast-close {
    align-items: center;
    background: #f3f4f6;
    border: 1px solid #e5e7eb;
    border-radius: 999px;
    color: #4b5563;
    cursor: pointer;
    display: inline-flex;
    flex: 0 0 28px;
    font-size: 18px;
    height: 28px;
    justify-content: center;
    line-height: 1;
    padding: 0;
    width: 28px;
}

.cart-added-toast-close:hover,
.cart-added-toast-close:focus-visible {
    background: #e5e7eb;
    color: #111827;
    outline: none;
}

@media (max-width: 768px) {
    .cart-added-toast {
        border-radius: 14px;
        bottom: calc(16px + env(safe-area-inset-bottom));
        left: 12px;
        max-width: none;
        padding: 12px 14px;
        right: 12px;
        transform: translateY(10px);
        width: auto;
        z-index: 9999;
    }

    .cart-added-toast.is-visible {
        display: flex !important;
        transform: translateY(0);
    }

    .cart-added-toast-text {
        font-size: 13px;
    }

    .cart-added-toast-link {
        font-size: 11px;
    }
}

@media (max-width: 640px) {
    .mini-cart-drawer {
        width: 100vw;
    }

    .mini-cart-panel {
        width: min(92vw, 360px);
    }

    .mini-cart-item {
        grid-template-columns: 76px 1fr;
    }

    .mini-cart-item-image {
        height: 76px;
        width: 76px;
    }

    .mini-cart-remove {
        width: 100%;
    }
}

#tienda-header-cliente .mobile-user-menu {
    display: none;
}

#promo-bar-cliente .promo-announcement-slider {
    align-items: center;
    display: grid;
    line-height: 1.35;
    min-height: 22px;
    overflow: visible;
    position: relative;
    text-align: center;
}

#promo-bar-cliente .promo-announcement-slide {
    grid-area: 1 / 1;
    opacity: 0;
    transform: translateY(8px);
    transition: opacity 0.45s ease, transform 0.45s ease;
    visibility: hidden;
}

#promo-bar-cliente .promo-announcement-slide.is-active {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
}

.mobile-whatsapp-float {
    display: none;
}

.retail-home {
    gap: 24px;
    max-width: 1260px;
    padding-top: 18px;
}

.retail-home h1,
.retail-home h2,
.retail-home h3,
.retail-home a,
.retail-home span,
.retail-home strong,
.retail-home p,
.footer-cliente a,
.footer-cliente span,
.footer-cliente strong,
.footer-cliente p {
    letter-spacing: 0;
}

.retail-hero {
    grid-template-columns: minmax(0, 1fr) 320px;
}

.retail-hero-main,
.retail-panel,
.retail-side-card,
.retail-service-list article,
.retail-category-card,
.retail-offer-card,
.retail-arrival-card,
.retail-featured-item,
.retail-brand-cloud a,
.retail-combo-card,
.marketplace-discount-card {
    border-color: #dbe5f2;
    border-radius: 10px;
    box-shadow: 0 14px 32px rgba(8, 43, 99, 0.07);
}

.retail-hero-main {
    background:
        linear-gradient(90deg, rgba(8, 43, 99, 0.94), rgba(0, 108, 255, 0.78)),
        url("/tienda/uploads/promociones/promo_1776094231_6318.png") center / cover no-repeat;
    min-height: 420px;
    padding: 34px;
}

.retail-kicker {
    background: rgba(255, 255, 255, 0.16);
    border-color: rgba(255, 255, 255, 0.28);
    letter-spacing: 0.04em;
}

.retail-hero-copy h1 {
    font-size: clamp(34px, 5vw, 56px);
    letter-spacing: 0;
    line-height: 1.02;
    max-width: 12ch;
}

.retail-hero-search {
    border-radius: 8px;
    box-shadow: 0 16px 28px rgba(15, 23, 42, 0.12);
    max-width: 660px;
}

.retail-hero-search button,
.retail-btn-primary,
.retail-cart-form button {
    background: #006cff;
    border: 1px solid #006cff;
    color: #ffffff !important;
    box-shadow: none;
}

.retail-hero-search button:hover,
.retail-btn-primary:hover,
.retail-cart-form button:hover {
    background: #0056d6;
    border-color: #0056d6;
}

.retail-btn-light {
    background: rgba(255, 255, 255, 0.16);
    border-color: rgba(255, 255, 255, 0.36);
}

.retail-search-tags a {
    background: rgba(255, 255, 255, 0.18);
    border-color: rgba(255, 255, 255, 0.30);
}

.retail-hero-product {
    border-radius: 10px;
    min-height: 250px;
}

.retail-hero-stats article {
    border-radius: 8px;
}

.retail-side-card-offer {
    background: #eff6ff;
    border-color: #bfdbfe;
}

.retail-section-head span,
.retail-side-card small {
    color: #0b5ed7;
    letter-spacing: 0.04em;
}

.retail-section-head h2 {
    font-size: clamp(24px, 3vw, 32px);
    letter-spacing: 0;
}

.retail-category-grid {
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

.retail-category-card {
    min-height: 144px;
    padding: 18px 14px;
}

.retail-category-card span {
    background: #eff6ff;
    border: 1px solid #cfe2ff;
    border-radius: 8px;
    color: #006cff;
    height: 58px;
    width: 58px;
}

.retail-offer-grid {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.retail-arrivals-grid {
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.retail-offer-media,
.retail-arrival-media,
.retail-featured-thumb {
    background: #f8fafc;
    border-bottom: 1px solid #eef2f7;
}

.retail-offer-media {
    min-height: 210px;
}

.retail-offer-badge {
    background: #fff8d7;
    border-color: #ffe68a;
    color: #082b63;
}

.retail-offer-body h3 a,
.retail-arrival-body h3 a {
    display: -webkit-box;
    line-height: 1.35;
    min-height: 43px;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.retail-price-row {
    align-items: baseline;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.retail-price-row strong,
.retail-offer-body strong,
.retail-arrival-body strong,
.retail-featured-body span {
    color: #006cff;
    font-size: 24px;
}

.retail-price-row small {
    color: #94a3b8;
    font-size: 14px;
    text-decoration: line-through;
}

.retail-cart-form {
    margin-top: 14px;
}

.retail-cart-form button {
    border-radius: 8px;
    cursor: pointer;
    font-size: 14px;
    font-weight: 800;
    min-height: 42px;
    padding: 0 14px;
    width: 100%;
}

.retail-showcase {
    grid-template-columns: minmax(0, 1fr) 360px;
}

.marketplace-discount-grid {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
}

.marketplace-discount-card {
    background: linear-gradient(180deg, #ffffff, #f8fbff);
    color: #111827;
    display: grid;
    gap: 8px;
    padding: 18px;
    text-decoration: none;
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.marketplace-discount-card:hover {
    border-color: #9cc7ff;
    box-shadow: 0 18px 34px rgba(0, 108, 255, 0.12);
    transform: translateY(-3px);
}

.marketplace-discount-card > span {
    background: #fff8d7;
    border: 1px solid #ffe68a;
    border-radius: 999px;
    color: #082b63;
    display: inline-flex;
    font-size: 12px;
    font-weight: 900;
    padding: 6px 10px;
    text-transform: uppercase;
    width: fit-content;
}

.marketplace-discount-card strong {
    font-size: 18px;
    line-height: 1.25;
}

.marketplace-discount-card small {
    color: #64748b;
}

.marketplace-discount-card b {
    color: #006cff;
    font-size: 24px;
}

.marketplace-discount-card em {
    color: #94a3b8;
    display: block;
    font-style: normal;
    margin-top: 4px;
    text-decoration: line-through;
}

.footer-cliente {
    background: #082b63 !important;
    border-top: 0;
    color: #e2e8f0;
}

.footer-cliente-grid {
    align-items: start;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.footer-cliente a,
.footer-cliente span,
.footer-cliente p {
    color: #cbd5e1;
}

.footer-brand-copy strong,
.footer-links strong,
.footer-about strong,
.footer-contacto strong,
.footer-payments strong {
    color: #ffffff;
}

.footer-payments {
    display: grid;
    gap: 10px;
}

.footer-social {
    display: flex;
    gap: 8px;
    margin-top: 8px;
}

.footer-social a {
    align-items: center;
    background: #006cff;
    border-radius: 8px;
    color: #ffffff !important;
    display: inline-flex;
    font-size: 12px;
    font-weight: 900;
    height: 34px;
    justify-content: center;
    text-decoration: none;
    width: 34px;
}

@media (max-width: 1180px) {
    .retail-hero,
    .retail-showcase {
        grid-template-columns: 1fr;
    }

    .footer-cliente-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 820px) {
    .retail-home {
        padding-top: 12px;
    }

    .retail-hero-main {
        min-height: 0;
        padding: 20px;
    }

    .retail-hero-copy h1 {
        font-size: 34px;
    }

    .retail-hero-actions,
    .retail-search-tags {
        display: flex;
    }

    .retail-offer-grid,
    .retail-arrivals-grid,
    .marketplace-discount-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .retail-offer-media img,
    .retail-arrival-media img {
        height: 150px;
    }

    .retail-price-row strong,
    .retail-offer-body strong,
    .retail-arrival-body strong {
        font-size: 20px;
    }

    .footer-cliente-grid {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 900px) {
    #promo-bar-cliente {
        display: block !important;
        padding: 6px 0;
    }

    #promo-bar-cliente p {
        font-size: 12px;
        letter-spacing: 0;
        line-height: 1.35;
    }

    #promo-bar-cliente .contenedor {
        max-width: 100%;
        overflow-x: hidden;
        padding-left: 10px;
        padding-right: 10px;
        width: 100%;
    }

    #tienda-header-cliente .header-cliente-main {
        grid-template-columns: 44px minmax(0, 1fr) 92px;
        grid-template-rows: auto auto;
        min-height: 74px;
        padding-bottom: 8px;
        padding-top: 6px;
    }

    #tienda-header-cliente .header-search {
        display: flex !important;
        grid-column: 1 / -1;
        grid-row: 2;
        margin-top: 2px;
    }

    #tienda-header-cliente .header-categorias {
        display: none !important;
    }

    #tienda-header-cliente .mobile-header-toggle {
        display: inline-flex !important;
    }

    #tienda-header-cliente .menu-cliente {
        display: none !important;
    }

    #tienda-header-cliente .mobile-menu-categorias {
        display: none !important;
    }

    body.mobile-menu-open {
        overflow: hidden;
    }

    #tienda-header-cliente .menu-cliente {
        align-content: start;
        background: #f8fafc;
        border-radius: 0 22px 22px 0;
        box-shadow: 24px 0 56px rgba(15, 23, 42, 0.22);
        display: grid !important;
        gap: 10px;
        height: 100vh;
        left: 0;
        max-width: 280px;
        overflow-y: auto;
        padding: 10px 10px 14px;
        pointer-events: none;
        position: fixed;
        top: 0;
        transform: translateX(-105%);
        transition: transform 0.28s ease, visibility 0.28s ease;
        visibility: hidden;
        width: 75vw;
        z-index: 1201;
    }

    #tienda-header-cliente .menu-cliente.menu-cliente-abierto {
        background: #ffffff;
        border-top: 0;
        pointer-events: auto;
        transform: translateX(0);
        visibility: visible;
    }

    #tienda-header-cliente .mobile-menu-overlay {
        background: rgba(15, 23, 42, 0.52);
        display: block !important;
        inset: 0;
        opacity: 0;
        position: fixed;
        transition: opacity 0.24s ease;
        z-index: 1200;
    }

    #tienda-header-cliente .mobile-menu-overlay[hidden] {
        display: none !important;
    }

    #tienda-header-cliente .mobile-menu-overlay.is-visible {
        opacity: 1;
    }

    #tienda-header-cliente .mobile-drawer-header {
        align-items: center;
        border-bottom: 1px solid #e5e7eb;
        display: flex !important;
        justify-content: flex-start;
        margin-bottom: 2px;
        padding: 2px 0 6px;
    }

    #tienda-header-cliente .mobile-drawer-title {
        display: none !important;
    }

    #tienda-header-cliente .mobile-drawer-close {
        align-items: center;
        background: transparent;
        border: 0;
        border-radius: 999px;
        color: #111827;
        cursor: pointer;
        display: inline-flex;
        flex: 0 0 auto;
        font-size: 22px;
        height: 32px;
        justify-content: center;
        line-height: 1;
        margin: 0;
        padding: 0 0 2px;
        width: 32px;
    }

    #tienda-header-cliente .mobile-drawer-close:hover,
    #tienda-header-cliente .mobile-drawer-close:focus-visible {
        background: #eff6ff;
        border-color: #bfdbfe;
        color: #0d47a1;
        outline: none;
    }

    #tienda-header-cliente .menu-bloque-principal {
        align-items: stretch;
        display: grid;
        padding: 8px 0;
    }

    #tienda-header-cliente .menu-cliente.menu-cliente-abierto .mobile-menu-categorias {
        display: grid !important;
        gap: 4px;
        padding: 4px 0 0;
    }

    #tienda-header-cliente .mobile-menu-heading {
        color: #64748b;
        font-size: 11px;
        font-weight: 800;
        letter-spacing: 0.08em;
        padding: 0 2px 0px;
        text-transform: uppercase;
    }

    #tienda-header-cliente .mobile-category-toggle,
    #tienda-header-cliente .mobile-menu-categorias a {
        align-items: center;
        background: #f8fafc !important;
        border: 1px solid #e2e8f0 !important;
        border-radius: 10px !important;
        color: #0f172a !important;
        cursor: pointer;
        display: flex;
        font-size: 14px;
        font-weight: 700;
        justify-content: space-between;
        min-height: 38px;
        padding: 8px 10px !important;
        text-decoration: none;
        width: 100%;
    }

    #tienda-header-cliente .mobile-menu-item-label {
        align-items: center;
        display: inline-flex;
        gap: 10px;
        min-width: 0;
    }

    #tienda-header-cliente .mobile-menu-icon {
        align-items: center;
        background: #ffffff;
        border: 1px solid #dbeafe;
        border-radius: 10px;
        color: #0d47a1;
        display: inline-flex;
        flex: 0 0 auto;
        height: 28px;
        justify-content: center;
        width: 28px;
    }

    #tienda-header-cliente .mobile-menu-icon svg {
        display: block;
        height: 15px;
        width: 15px;
    }

    #tienda-header-cliente .mobile-subcategory-icon {
        align-items: center;
        background: #ffffff;
        border: 1px solid #e2e8f0;
        border-radius: 8px;
        color: #2563eb;
        display: inline-flex;
        flex: 0 0 auto;
        height: 24px;
        justify-content: center;
        width: 24px;
    }

    #tienda-header-cliente .mobile-subcategory-icon svg {
        display: block;
        height: 13px;
        width: 13px;
    }

    #tienda-header-cliente .mobile-category-toggle::after {
        border: solid currentColor;
        border-width: 0 2px 2px 0;
        content: "";
        height: 8px;
        transform: rotate(45deg);
        transition: transform 0.2s ease;
        width: 8px;
    }

    #tienda-header-cliente .mobile-category-toggle[aria-expanded="true"]::after {
        transform: rotate(225deg);
    }

    #tienda-header-cliente .mobile-category-panel {
        display: grid;
        gap: 4px;
        padding: 4px 0 2px 8px;
    }

    #tienda-header-cliente .mobile-category-panel[hidden] {
        display: none !important;
    }

    #tienda-header-cliente .mobile-category-panel a {
        background: #ffffff !important;
        border-color: #e5e7eb !important;
        font-size: 13px;
        min-height: 35px;
        padding: 7px 10px !important;
    }

    #tienda-header-cliente .mobile-category-panel .mobile-category-empty {
        color: #64748b;
        font-size: 13px;
        padding: 3px 10px;
    }

    #tienda-header-cliente .mobile-category-toggle:hover,
    #tienda-header-cliente .mobile-category-toggle:focus-visible,
    #tienda-header-cliente .mobile-menu-categorias a:hover,
    #tienda-header-cliente .mobile-menu-categorias a:focus-visible {
        background: #eff6ff !important;
        border-color: #bfdbfe !important;
        color: #0d47a1 !important;
        outline: none;
    }

    #tienda-header-cliente .menu-cliente.menu-cliente-abierto .menu-bloque-cuenta {
        display: grid !important;
        gap: 6px;
        margin-top: 6px;
        width: 100%;
    }

    #tienda-header-cliente .menu-bloque-cuenta::before {
        content: none;
        display: none;
    }

    #tienda-header-cliente .header-top-actions {
        display: inline-flex;
        gap: 6px;
        grid-column: 3;
        grid-row: 1;
        justify-content: flex-end;
        justify-self: end;
        min-width: 0;
        padding: 0;
        position: relative;
        z-index: 95;
    }

    #tienda-header-cliente .header-whatsapp-link {
        display: none !important;
    }

    #tienda-header-cliente .header-user-links {
        display: none !important;
    }

    #tienda-header-cliente .header-cart-link {
        flex: 0 0 auto;
    }

    #tienda-header-cliente .mobile-user-menu {
        display: block;
        position: relative;
        z-index: 100;
    }

    #tienda-header-cliente .mobile-user-toggle {
        align-items: center;
        background: #ffffff;
        border: 1px solid #d8e6fb;
        border-radius: 999px;
        box-shadow: 0 8px 20px rgba(8, 43, 99, 0.08);
        color: #006cff;
        cursor: pointer;
        display: inline-flex;
        height: 40px;
        justify-content: center;
        padding: 0;
        width: 40px;
    }

    #tienda-header-cliente .mobile-user-toggle svg {
        display: block;
        height: 23px;
        width: 23px;
    }

    #tienda-header-cliente .mobile-user-dropdown {
        background: #ffffff;
        border: 1px solid #dbeafe;
        border-radius: 14px;
        box-shadow: 0 14px 28px rgba(15, 23, 42, 0.14);
        display: grid;
        gap: 6px;
        margin-top: 8px;
        min-width: 220px;
        padding: 10px;
        position: absolute;
        right: 0;
        top: 100%;
        z-index: 999;
    }

    #tienda-header-cliente .mobile-user-dropdown[hidden] {
        display: none;
    }

    #tienda-header-cliente .mobile-user-eyebrow {
        color: #0d6efd;
        font-size: 10px;
        font-weight: 900;
        letter-spacing: 0.08em;
        line-height: 1;
    }

    #tienda-header-cliente .mobile-user-dropdown strong {
        color: #0b2f6b;
        font-size: 14px;
        line-height: 1.18;
    }

    #tienda-header-cliente .mobile-user-dropdown p {
        color: #64748b;
        font-size: 12px;
        line-height: 1.25;
        margin: 0 0 2px;
    }

    #tienda-header-cliente .mobile-user-actions {
        display: grid;
        gap: 6px;
        margin-top: 2px;
    }

    #tienda-header-cliente .mobile-user-dropdown a {
        border-radius: 11px;
        color: #0b2f6b !important;
        font-size: 14px;
        font-weight: 800;
        padding: 9px 12px;
        text-align: center;
        text-decoration: none;
    }

    #tienda-header-cliente .mobile-user-actions a:first-child {
        background: #ffffff;
        border: 1px solid #dbeafe;
    }

    #tienda-header-cliente .mobile-user-actions a:last-child {
        background: #0d6efd;
        border: 1px solid #0d6efd;
        color: #ffffff !important;
    }

    #tienda-header-cliente .menu-bloque-cuenta .menu-account-btn {
        align-items: center;
        border-radius: 14px;
        display: flex;
        justify-content: center;
        margin-top: 8px;
        min-height: 44px;
        text-align: center;
        width: 100%;
    }

    #tienda-header-cliente .menu-bloque-cuenta .menu-account-login {
        background: #006cff !important;
        border-color: #006cff !important;
        box-shadow: 0 10px 22px rgba(0, 108, 255, 0.18);
        color: #ffffff !important;
    }

    #tienda-header-cliente .menu-bloque-cuenta .menu-account-register {
        background: #ffffff !important;
        border-color: #bfdbfe !important;
        color: #0056d6 !important;
    }

    #tienda-header-cliente .menu {
        overflow: visible;
        position: relative;
        z-index: 89;
    }

    .mobile-whatsapp-float {
        align-items: center;
        background: #16a34a;
        border: 1px solid #16a34a;
        border-radius: 50%;
        box-shadow: 0 10px 24px rgba(22, 163, 74, 0.26);
        color: #ffffff;
        display: inline-flex;
        height: 54px;
        justify-content: center;
        min-height: 54px;
        min-width: 54px;
        position: fixed;
        right: 16px;
        bottom: 16px;
        text-decoration: none;
        width: 54px;
        z-index: 1000;
    }

    .mobile-whatsapp-float svg {
        display: block;
        height: 26px;
        width: 26px;
    }

    .mobile-whatsapp-float:hover {
        background: #15803d;
        border-color: #15803d;
        color: #ffffff;
    }

    #tienda-header-cliente .logo-cliente.trigo-brand {
        height: 58px;
        min-height: 58px;
        padding: 0;
        width: 58px;
    }

    #tienda-header-cliente .logo-cliente.trigo-brand img {
        height: 58px !important;
        max-width: 100%;
        width: 58px !important;
    }

}

@media (max-width: 520px) {
    .retail-offer-grid,
    .retail-arrivals-grid,
    .marketplace-discount-grid,
    .retail-category-grid {
        grid-template-columns: 1fr;
    }
}

/* Catalog filters premium override - effective final cascade */
.catalogo-bristol-shell .breadcrumb-products {
    align-items: center;
    color: #6b7280;
    display: flex;
    flex-wrap: wrap;
    font-size: 13px;
    font-weight: 500;
    gap: 8px;
    line-height: 1.35;
    margin: 0 0 14px;
}

.catalogo-bristol-shell .breadcrumb-products a {
    color: #6b7280;
    text-decoration: none;
    transition: color 0.2s ease;
}

.catalogo-bristol-shell .breadcrumb-products a:hover,
.catalogo-bristol-shell .breadcrumb-products a:focus-visible {
    color: #0b5fd7;
    outline: none;
}

.catalogo-bristol-shell .breadcrumb-products span:last-child {
    color: #111827;
    font-weight: 700;
}

.catalogo-bristol-shell {
    --filter-blue: #0f6fff;
    --filter-blue-dark: #0b4fc4;
    --filter-soft: #eef6ff;
    --filter-border: #e6edf7;
    --filter-ink: #102033;
    --filter-muted: #66758a;
}

.market-catalog-shell.catalogo-bristol-shell {
    padding-top: 18px;
}

.catalogo-bristol-shell .market-catalog-body {
    gap: 32px;
    grid-template-columns: minmax(250px, 286px) minmax(0, 1fr);
}

.catalogo-bristol-shell .catalogo-v3-sidebar {
    gap: 18px;
    padding: 2px 3px 18px 0;
    scrollbar-color: #c7d7ee transparent;
    scrollbar-width: thin;
}

.catalogo-bristol-shell .catalogo-v3-sidebar-card {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), #ffffff 52%);
    border: 1px solid var(--filter-border);
    border-radius: 16px;
    box-shadow: 0 20px 50px rgba(15, 32, 51, 0.08);
    overflow: hidden;
    padding: 18px;
    position: relative;
}

.catalogo-bristol-shell .catalogo-v3-sidebar-card::before {
    background: linear-gradient(90deg, rgba(15, 111, 255, 0.28), rgba(15, 111, 255, 0));
    content: "";
    height: 3px;
    inset: 0 0 auto;
    position: absolute;
}

.catalogo-bristol-shell .catalogo-v3-sidebar-head {
    align-items: center;
    border-bottom: 1px solid #edf3fb;
    display: flex;
    justify-content: space-between;
    margin-bottom: 14px;
    padding: 2px 0 13px;
}

.catalogo-bristol-shell .catalogo-v3-sidebar-head span {
    color: var(--filter-ink);
    font-size: 13px;
    font-weight: 900;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

.catalogo-bristol-shell .catalogo-v3-sidebar-head a,
.catalogo-bristol-shell .catalogo-filter-actions a {
    align-items: center;
    background: #f6f9fd;
    border: 1px solid #e1eaf5;
    border-radius: 999px;
    color: #36506e;
    display: inline-flex;
    font-size: 12px;
    font-weight: 800;
    justify-content: center;
    min-height: 34px;
    padding: 0 12px;
    text-decoration: none;
    transition: background 0.22s ease, border-color 0.22s ease, color 0.22s ease, transform 0.22s ease;
}

.catalogo-bristol-shell .catalogo-filter-actions a {
    border-radius: 12px;
    font-size: 13px;
    min-height: 40px;
}

.catalogo-bristol-shell .catalogo-v3-sidebar-head a:hover,
.catalogo-bristol-shell .catalogo-v3-sidebar-head a:focus-visible,
.catalogo-bristol-shell .catalogo-filter-actions a:hover,
.catalogo-bristol-shell .catalogo-filter-actions a:focus-visible {
    background: var(--filter-soft);
    border-color: #b9d7ff;
    color: var(--filter-blue-dark);
    outline: none;
    transform: translateY(-1px);
}

.catalogo-bristol-shell .catalogo-v3-categorias,
.catalogo-bristol-shell .catalogo-v3-marcas {
    display: grid;
    gap: 7px;
}

.catalogo-bristol-shell .catalogo-v3-categorias a,
.catalogo-bristol-shell .catalogo-v3-marcas a {
    align-items: center;
    background: #ffffff;
    border: 1px solid transparent;
    border-radius: 13px;
    color: #30445d;
    display: flex;
    font-size: 13px;
    font-weight: 750;
    justify-content: space-between;
    line-height: 1.25;
    min-height: 42px;
    padding: 10px 11px 10px 13px;
    text-decoration: none;
    transition: background 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease, color 0.22s ease, transform 0.22s ease;
}

.catalogo-bristol-shell .catalogo-v3-categorias a:hover,
.catalogo-bristol-shell .catalogo-v3-marcas a:hover {
    background: #f7fbff;
    border-color: #d7e8ff;
    box-shadow: 0 10px 24px rgba(15, 111, 255, 0.08);
    color: #0e315d;
    transform: translateX(3px);
}

.catalogo-bristol-shell .catalogo-v3-categorias a:focus-visible,
.catalogo-bristol-shell .catalogo-v3-marcas a:focus-visible {
    border-color: #86bfff;
    box-shadow: 0 0 0 4px rgba(15, 111, 255, 0.12);
    outline: none;
}

.catalogo-bristol-shell .catalogo-v3-categorias a.is-active,
.catalogo-bristol-shell .catalogo-v3-marcas a.is-active {
    background: linear-gradient(135deg, #0f6fff 0%, #0b58d0 100%);
    border-color: rgba(9, 80, 190, 0.5);
    box-shadow: 0 14px 30px rgba(15, 111, 255, 0.24);
    color: #ffffff;
    transform: translateX(3px);
}

.catalogo-bristol-shell .catalogo-filter-name {
    min-width: 0;
    overflow-wrap: anywhere;
}

.catalogo-bristol-shell .catalogo-filter-badge,
.catalogo-bristol-shell .catalogo-v3-categorias small {
    align-items: center;
    background: #eef4fb;
    border: 1px solid #dfebf8;
    border-radius: 999px;
    color: #53677f;
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 11px;
    font-weight: 900;
    justify-content: center;
    min-height: 24px;
    min-width: 30px;
    padding: 0 8px;
}

.catalogo-bristol-shell .catalogo-v3-categorias a.is-active .catalogo-filter-badge,
.catalogo-bristol-shell .catalogo-v3-categorias a.is-active small {
    background: rgba(255, 255, 255, 0.18);
    border-color: rgba(255, 255, 255, 0.28);
    color: #ffffff;
}

.catalogo-bristol-shell .catalogo-price-inputs {
    gap: 12px;
}

.catalogo-bristol-shell .catalogo-price-inputs label {
    color: var(--filter-muted);
    font-size: 12px;
    font-weight: 850;
}

.catalogo-bristol-shell .catalogo-price-inputs input {
    background: #fbfdff;
    border: 1px solid #dfe8f4;
    border-radius: 12px;
    color: var(--filter-ink);
    min-height: 44px;
    padding: 0 13px;
    transition: background 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease;
}

.catalogo-bristol-shell .catalogo-price-inputs input:focus {
    background: #ffffff;
    border-color: #94c7ff;
    box-shadow: 0 0 0 4px rgba(15, 111, 255, 0.12);
    outline: none;
}

.catalogo-bristol-shell .catalogo-price-filter .btn {
    border-radius: 12px;
    min-height: 44px;
}

.catalogo-bristol-shell .filtros-activos-linea {
    align-items: center;
    background: linear-gradient(180deg, #ffffff, #fbfdff);
    border: 1px solid var(--filter-border);
    border-radius: 16px;
    box-shadow: 0 14px 34px rgba(15, 32, 51, 0.06);
    gap: 9px;
    margin: 0 0 18px;
    padding: 12px;
}

.catalogo-bristol-shell .filtros-activos a {
    align-items: center;
    background: #f5f9ff;
    border: 1px solid #dbeaff;
    border-radius: 999px;
    color: #254a78;
    display: inline-flex;
    font-size: 12px;
    font-weight: 850;
    gap: 8px;
    min-height: 34px;
    padding: 7px 8px 7px 12px;
    text-decoration: none;
    transition: background 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease, color 0.22s ease, transform 0.22s ease;
}

.catalogo-bristol-shell .filtros-activos a:hover,
.catalogo-bristol-shell .filtros-activos a:focus-visible {
    background: #eef6ff;
    border-color: #b8d8ff;
    box-shadow: 0 10px 20px rgba(15, 111, 255, 0.09);
    color: var(--filter-blue-dark);
    outline: none;
    transform: translateY(-1px);
}

.catalogo-bristol-shell .catalogo-active-chip strong {
    align-items: center;
    background: #ffffff;
    border: 1px solid #d7e7fb;
    border-radius: 999px;
    color: #52708f;
    display: inline-flex;
    font-size: 14px;
    height: 21px;
    justify-content: center;
    line-height: 1;
    width: 21px;
}

.catalogo-bristol-shell .filtros-activos .catalogo-limpiar {
    background: #fff7f7;
    border-color: #ffd8d8;
    color: #a43a3a;
    margin-top: 0;
    padding-inline: 13px;
}

.catalogo-bristol-shell .catalogo-sort-form {
    align-items: center;
    background: #ffffff;
    border: 1px solid #e3edf8;
    border-radius: 999px;
    box-shadow: 0 12px 28px rgba(15, 32, 51, 0.06);
    display: flex;
    gap: 9px;
    min-height: 46px;
    padding: 5px 6px 5px 14px;
}

.catalogo-bristol-shell .catalogo-sort-form label {
    color: #607187;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    white-space: nowrap;
}

.catalogo-bristol-shell .catalogo-sort-select {
    position: relative;
}

.catalogo-bristol-shell .catalogo-sort-select::after {
    border-bottom: 2px solid #4f6884;
    border-right: 2px solid #4f6884;
    content: "";
    height: 7px;
    pointer-events: none;
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-65%) rotate(45deg);
    width: 7px;
}

.catalogo-bristol-shell .catalogo-sort-form select {
    appearance: none;
    background: #f7fbff;
    border: 1px solid #dce9f8;
    border-radius: 999px;
    color: var(--filter-ink);
    cursor: pointer;
    font-size: 13px;
    font-weight: 850;
    min-height: 36px;
    padding: 0 38px 0 14px;
    transition: background 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease;
}

.catalogo-bristol-shell .catalogo-sort-form select:hover {
    background: #eef6ff;
    border-color: #c2dcfb;
}

.catalogo-bristol-shell .catalogo-sort-form select:focus {
    background: #ffffff;
    border-color: #8bc2ff;
    box-shadow: 0 0 0 4px rgba(15, 111, 255, 0.12);
    outline: none;
}

@media (min-width: 981px) {
    .catalogo-bristol-shell .market-catalog-body {
        gap: 36px;
        grid-template-columns: minmax(318px, 340px) minmax(0, 1fr);
    }

    .catalogo-bristol-shell .catalogo-v3-sidebar {
        gap: 18px;
        max-height: none;
        overflow: visible;
        padding: 0 2px 24px 0;
        top: 110px;
    }

    .catalogo-bristol-shell .catalogo-v3-sidebar-card {
        background: #ffffff;
        border: 1px solid #dfe7f1;
        border-radius: 14px;
        box-shadow: 0 14px 32px rgba(15, 32, 51, 0.06);
        overflow: visible;
        padding: 22px 16px 18px;
    }

    .catalogo-bristol-shell .catalogo-v3-sidebar-card::before {
        content: none;
    }

    .catalogo-bristol-shell .catalogo-v3-sidebar-head {
        border-bottom: 0;
        gap: 12px;
        justify-content: flex-start;
        margin-bottom: 20px;
        padding: 0 6px;
    }

    .catalogo-bristol-shell .catalogo-v3-sidebar-head span {
        color: #132238;
        align-items: center;
        display: inline-flex;
        font-size: 15px;
        gap: 12px;
        letter-spacing: 0;
    }

    .catalogo-bristol-shell .catalogo-v3-sidebar-head span::before {
        align-items: center;
        background: #f1f5ff;
        border-radius: 10px;
        color: #0f4fd8;
        content: "\2630";
        display: inline-flex;
        flex: 0 0 auto;
        font-size: 16px;
        font-weight: 900;
        height: 34px;
        justify-content: center;
        line-height: 1;
        width: 34px;
    }

    .catalogo-bristol-shell .catalogo-price-filter .catalogo-v3-sidebar-head span::before {
        content: "\2699";
    }

    .catalogo-bristol-shell .catalogo-v3-sidebar-head a {
        display: none;
    }

    .catalogo-bristol-shell .catalogo-v3-categorias {
        display: grid;
        gap: 4px;
        max-height: none;
        overflow: visible;
        padding-right: 0;
    }

    .catalogo-bristol-shell .catalogo-v3-categorias a {
        background: transparent;
        border: 1px solid transparent;
        border-radius: 9px;
        color: #142033;
        font-size: 14px;
        font-weight: 500;
        gap: 12px;
        min-height: 40px;
        padding: 8px 10px 8px 12px;
        transform: none;
    }

    .catalogo-bristol-shell .catalogo-v3-categorias a:hover {
        background: #f8fbff;
        border-color: #edf3fb;
        box-shadow: none;
        color: #0b4fc4;
        transform: none;
    }

    .catalogo-bristol-shell .catalogo-v3-categorias a.is-active {
        background: #f2f6ff;
        border-color: transparent;
        box-shadow: none;
        color: #0b4fc4;
        font-weight: 800;
        transform: none;
    }

    .catalogo-bristol-shell .catalogo-filter-name {
        flex: 1 1 auto;
        min-width: 0;
    }

    .catalogo-bristol-shell .catalogo-filter-badge,
    .catalogo-bristol-shell .catalogo-v3-categorias small {
        background: #f1f5f9;
        border: 0;
        border-radius: 999px;
        color: #64748b;
        font-size: 11px;
        min-height: 22px;
        min-width: 30px;
        padding: 0 7px;
    }

    .catalogo-bristol-shell .catalogo-v3-categorias a.is-active .catalogo-filter-badge,
    .catalogo-bristol-shell .catalogo-v3-categorias a.is-active small {
        background: #1550d4;
        border: 0;
        color: #ffffff;
    }

    .catalogo-bristol-shell .catalogo-price-filter {
        margin-top: 0;
        padding-top: 20px;
    }

    .catalogo-bristol-shell .catalogo-price-inputs {
        gap: 16px;
    }

    .catalogo-bristol-shell .catalogo-price-inputs label {
        color: #4b5b72;
        font-size: 13px;
        font-weight: 600;
        gap: 8px;
    }

    .catalogo-bristol-shell .catalogo-price-inputs input {
        background: #ffffff;
        border-color: #d8e2ef;
        border-radius: 10px;
        min-height: 46px;
        padding-inline: 14px;
    }

    .catalogo-bristol-shell .catalogo-price-filter .btn {
        border-radius: 10px;
        margin-top: 16px;
        min-height: 46px;
    }
}

@media (max-width: 980px) {
    .catalogo-bristol-shell .market-catalog-body {
        gap: 22px;
        grid-template-columns: 1fr;
    }

    .catalogo-bristol-shell .catalogo-v3-sidebar {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        padding-right: 0;
    }
}

@media (max-width: 720px) {
    .catalogo-bristol-shell .catalogo-v3-sidebar {
        grid-template-columns: 1fr;
    }

    .catalogo-bristol-shell .catalogo-v3-sidebar-card {
        border-radius: 14px;
        padding: 16px;
    }

    .catalogo-bristol-shell .catalogo-v3-categorias a,
    .catalogo-bristol-shell .catalogo-v3-marcas a {
        min-height: 44px;
    }

    .catalogo-bristol-shell .filtros-activos-linea {
        border-radius: 14px;
    }

    .catalogo-bristol-shell .catalogo-sort-form {
        align-items: stretch;
        border-radius: 14px;
        display: grid;
        padding: 12px;
    }

    .catalogo-bristol-shell .catalogo-sort-select,
    .catalogo-bristol-shell .catalogo-sort-form select {
        width: 100%;
    }
}

/* Premium marketplace product cards */
.catalogo-bristol-shell {
    --product-card-blue: #075eea;
    --product-card-blue-dark: #073f9f;
    --product-card-ink: #0f1f33;
    --product-card-muted: #6b7a90;
    --product-card-line: #e5edf7;
}

.catalogo-bristol-shell .grid-productos {
    gap: 34px;
    grid-template-columns: repeat(auto-fill, minmax(292px, 1fr));
}

.catalogo-bristol-shell .market-product-card {
    background: #ffffff;
    border: 1px solid var(--product-card-line);
    border-radius: 20px;
    box-shadow: 0 18px 48px rgba(15, 32, 51, 0.08);
    display: flex;
    flex-direction: column;
    min-height: 100%;
    overflow: hidden;
    padding: 0;
    transition: border-color 0.24s ease, box-shadow 0.24s ease, transform 0.24s ease;
}

.catalogo-bristol-shell .market-product-card:hover {
    border-color: #c7dcf8;
    box-shadow: 0 28px 70px rgba(15, 32, 51, 0.14);
    transform: translateY(-6px);
}

.catalogo-bristol-shell .market-product-card .card-producto-media {
    align-items: center;
    background: linear-gradient(180deg, #fbfdff 0%, #f3f8ff 100%);
    border: 0;
    border-bottom: 1px solid #eef4fb;
    display: flex;
    justify-content: center;
    min-height: 300px;
    overflow: hidden;
    padding: 30px 28px 22px;
    position: relative;
}

.catalogo-bristol-shell .market-product-card .card-producto-media::after {
    background: radial-gradient(circle, rgba(7, 94, 234, 0.08), transparent 62%);
    content: "";
    height: 210px;
    left: 50%;
    pointer-events: none;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -44%);
    width: 210px;
}

.catalogo-bristol-shell .market-product-card .card-producto-badge {
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid #dce9f8;
    border-radius: 999px;
    box-shadow: 0 10px 24px rgba(15, 32, 51, 0.08);
    color: #24527f;
    font-size: 11px;
    font-weight: 900;
    left: 18px;
    letter-spacing: 0.02em;
    padding: 8px 12px;
    text-transform: uppercase;
    top: 18px;
    z-index: 2;
}

.catalogo-bristol-shell .market-product-card .card-producto-imagen {
    border-radius: 14px;
    height: 238px;
    max-width: 100%;
    object-fit: contain;
    position: relative;
    transform: translateZ(0);
    transition: transform 0.28s ease;
    z-index: 1;
}

.catalogo-bristol-shell .market-product-card:hover .card-producto-imagen {
    transform: scale(1.045);
}

.catalogo-bristol-shell .market-product-card .card-producto-body {
    background: #ffffff;
    color: var(--product-card-ink);
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 22px;
    padding: 24px;
}

.catalogo-bristol-shell .market-product-card .card-producto-top {
    display: grid;
    gap: 13px;
}

.catalogo-bristol-shell .market-product-card .catalogo-v3-card-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.catalogo-bristol-shell .market-product-card .catalogo-v3-card-meta span {
    background: #f5f9ff;
    border: 1px solid #e1ebf7;
    border-radius: 999px;
    color: #55708f;
    font-size: 11px;
    font-weight: 850;
    letter-spacing: 0.01em;
    padding: 6px 10px;
}

.catalogo-bristol-shell .market-product-card h3 {
    font-size: 19px;
    font-weight: 900;
    letter-spacing: 0;
    line-height: 1.28;
    margin: 0;
    min-height: 49px;
}

.catalogo-bristol-shell .market-product-card h3 a {
    color: var(--product-card-ink);
    display: -webkit-box;
    text-decoration: none;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    transition: color 0.22s ease;
}

.catalogo-bristol-shell .market-product-card h3 a:hover {
    color: var(--product-card-blue);
}

.catalogo-bristol-shell .market-product-card .card-producto-descripcion {
    color: var(--product-card-muted);
    display: -webkit-box;
    font-size: 14px;
    line-height: 1.55;
    margin: 0;
    min-height: 43px;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

.catalogo-bristol-shell .market-product-card .card-producto-footer {
    align-items: stretch;
    border-top: 1px solid #eef4fb;
    display: grid;
    gap: 18px;
    margin-top: auto;
    padding-top: 20px;
}

.catalogo-bristol-shell .market-product-card .card-producto-precio-wrap {
    display: grid;
    gap: 5px;
}

.catalogo-bristol-shell .market-product-card .card-producto-precio-label {
    color: #7a889b;
    font-size: 12px;
    font-weight: 850;
    letter-spacing: 0.01em;
}

.catalogo-bristol-shell .market-product-card .precio {
    color: var(--product-card-blue);
    font-size: 28px;
    font-weight: 950;
    letter-spacing: 0;
    line-height: 1.05;
    margin: 0;
}

.catalogo-bristol-shell .market-product-card .btn {
    align-items: center;
    background: linear-gradient(135deg, #082b63 0%, #075eea 100%);
    border: 1px solid rgba(7, 94, 234, 0.8);
    border-radius: 999px;
    box-shadow: 0 14px 26px rgba(7, 94, 234, 0.22);
    color: #ffffff;
    display: inline-flex;
    font-size: 14px;
    font-weight: 900;
    gap: 10px;
    justify-content: center;
    min-height: 50px;
    padding: 0 22px;
    text-decoration: none;
    transition: background 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease, transform 0.22s ease;
    width: 100%;
}

.catalogo-bristol-shell .market-product-card .btn::after {
    content: ">";
    font-size: 16px;
    line-height: 1;
    transform: translateY(-1px);
    transition: transform 0.22s ease;
}

.catalogo-bristol-shell .market-product-card .btn:hover,
.catalogo-bristol-shell .market-product-card .btn:focus-visible {
    background: linear-gradient(135deg, #064fbf 0%, #1283ff 100%);
    border-color: #1283ff;
    box-shadow: 0 18px 34px rgba(7, 94, 234, 0.30);
    color: #ffffff;
    outline: none;
    transform: translateY(-2px);
}

.catalogo-bristol-shell .market-product-card .btn:hover::after,
.catalogo-bristol-shell .market-product-card .btn:focus-visible::after {
    transform: translate(4px, -1px);
}

.catalogo-bristol-shell .market-product-card .btn-secundario,
.catalogo-bristol-shell .market-product-card .btn-outline {
    background: #ffffff;
    border-color: #cfe0f5;
    box-shadow: none;
    color: var(--product-card-blue-dark);
}

.catalogo-bristol-shell .market-product-card .btn-secundario:hover,
.catalogo-bristol-shell .market-product-card .btn-outline:hover {
    background: var(--filter-soft);
    border-color: #a9cffd;
    color: var(--product-card-blue-dark);
}

@media (max-width: 1180px) {
    .catalogo-bristol-shell .grid-productos {
        gap: 26px;
        grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    }

    .catalogo-bristol-shell .market-product-card .card-producto-media {
        min-height: 270px;
    }

    .catalogo-bristol-shell .market-product-card .card-producto-imagen {
        height: 214px;
    }
}

@media (max-width: 720px) {
    .catalogo-bristol-shell .grid-productos {
        gap: 22px;
        grid-template-columns: 1fr;
    }

    .catalogo-bristol-shell .market-product-card {
        border-radius: 18px;
    }

    .catalogo-bristol-shell .market-product-card .card-producto-media {
        min-height: 250px;
        padding: 28px 22px 18px;
    }

    .catalogo-bristol-shell .market-product-card .card-producto-imagen {
        height: 198px;
    }

    .catalogo-bristol-shell .market-product-card .card-producto-body {
        gap: 20px;
        padding: 22px;
    }

    .catalogo-bristol-shell .market-product-card h3 {
        font-size: 18px;
        min-height: auto;
    }

    .catalogo-bristol-shell .market-product-card .precio {
        font-size: 26px;
    }
}

/* Mobile catalog filter drawer */
.catalogo-filter-toggle,
.catalogo-mobile-filter-head,
.catalogo-mobile-sort-card,
.catalogo-filter-overlay {
    display: none;
}

@media (max-width: 720px) {
    body.catalogo-drawer-open {
        overflow: hidden;
    }

    .catalogo-bristol-shell .market-catalog-body {
        display: block;
    }

    .catalogo-filter-toggle {
        align-items: center;
        background: linear-gradient(135deg, #082b63, #075eea);
        border: 1px solid rgba(7, 94, 234, 0.55);
        border-radius: 999px;
        box-shadow: 0 16px 32px rgba(7, 94, 234, 0.22);
        color: #ffffff;
        display: flex;
        font-size: 14px;
        font-weight: 900;
        gap: 10px;
        justify-content: center;
        margin: 0 0 14px;
        min-height: 48px;
        padding: 0 18px;
        width: 100%;
    }

    .catalogo-filter-toggle::before {
        content: "";
        background:
            linear-gradient(#ffffff, #ffffff) 0 2px / 18px 2px no-repeat,
            linear-gradient(#ffffff, #ffffff) 0 8px / 12px 2px no-repeat,
            linear-gradient(#ffffff, #ffffff) 0 14px / 16px 2px no-repeat;
        height: 18px;
        width: 18px;
    }

    .catalogo-filter-toggle small {
        background: rgba(255, 255, 255, 0.16);
        border: 1px solid rgba(255, 255, 255, 0.26);
        border-radius: 999px;
        color: #ffffff;
        font-size: 11px;
        font-weight: 900;
        padding: 4px 8px;
    }

    .catalogo-filter-overlay {
        background: rgba(8, 22, 42, 0.48);
        backdrop-filter: blur(5px);
        display: block;
        inset: 0;
        pointer-events: auto;
        position: fixed;
        z-index: 180;
    }

    .catalogo-filter-overlay[hidden] {
        display: none !important;
        pointer-events: none !important;
    }

    .catalogo-bristol-shell .catalogo-v3-sidebar {
        background: #f8fbff;
        border: 1px solid rgba(218, 230, 246, 0.95);
        border-radius: 22px 22px 0 0;
        bottom: 0;
        box-shadow: 0 -26px 70px rgba(8, 22, 42, 0.22);
        display: grid;
        gap: 14px;
        left: 0;
        margin: 0;
        max-height: 86vh;
        overflow-y: auto;
        padding: 16px 14px 22px;
        position: fixed;
        right: 0;
        top: auto;
        transform: translateY(106%);
        transition: transform 0.28s ease;
        z-index: 190;
    }

    .catalogo-bristol-shell.is-filter-open .catalogo-v3-sidebar {
        transform: translateY(0);
    }

    .catalogo-mobile-filter-head {
        align-items: center;
        background: #ffffff;
        border: 1px solid #e4edf8;
        border-radius: 16px;
        box-shadow: 0 14px 34px rgba(15, 32, 51, 0.08);
        display: flex;
        justify-content: space-between;
        padding: 13px 14px;
        position: sticky;
        top: 0;
        z-index: 2;
    }

    .catalogo-mobile-filter-head div {
        display: grid;
        gap: 2px;
    }

    .catalogo-mobile-filter-head span {
        color: #6b7a90;
        font-size: 11px;
        font-weight: 900;
        letter-spacing: 0.05em;
        text-transform: uppercase;
    }

    .catalogo-mobile-filter-head strong {
        color: #102033;
        font-size: 18px;
        font-weight: 950;
    }

    .catalogo-mobile-filter-head button {
        align-items: center;
        background: #f5f9ff;
        border: 1px solid #dce9f8;
        border-radius: 999px;
        color: #34506d;
        cursor: pointer;
        display: inline-flex;
        font-size: 24px;
        height: 40px;
        justify-content: center;
        line-height: 1;
        width: 40px;
    }

    .catalogo-mobile-sort-card {
        display: block;
    }

    .catalogo-bristol-shell .market-results-bar {
        gap: 12px;
    }

    .catalogo-bristol-shell .market-results-bar .catalogo-sort-form {
        display: none;
    }

    .catalogo-bristol-shell .catalogo-v3-listado-actions {
        display: flex;
        justify-content: flex-start;
    }

    .catalogo-bristol-shell .catalogo-sort-form-mobile {
        border-radius: 14px;
        box-shadow: none;
        display: grid;
        padding: 0;
    }

    .catalogo-bristol-shell .catalogo-sort-form-mobile label {
        display: none;
    }

    .catalogo-bristol-shell .catalogo-sort-form-mobile select,
    .catalogo-bristol-shell .catalogo-sort-form-mobile .catalogo-sort-select {
        width: 100%;
    }
}

/* Mobile marketplace controls compact row */
.catalogo-active-label,
.catalogo-mobile-drawer-actions {
    display: none;
}

@media (max-width: 720px) {
    .catalogo-bristol-shell .market-results-bar {
        background: transparent;
        border: 0;
        border-bottom: 1px solid #e5edf7;
        border-radius: 0;
        box-shadow: none;
        display: grid;
        gap: 12px;
        margin: 0 0 12px;
        padding: 0 0 12px;
    }

    .catalogo-bristol-shell .market-results-bar > div:first-child {
        text-align: center;
    }

    .catalogo-bristol-shell .market-results-bar > div:first-child span {
        display: none;
    }

    .catalogo-bristol-shell .market-results-bar > div:first-child strong {
        color: #111827;
        display: block;
        font-size: 16px;
        font-weight: 950;
        letter-spacing: 0;
        text-transform: uppercase;
    }

    .catalogo-bristol-shell .catalogo-v3-listado-actions {
        align-items: center;
        display: grid;
        gap: 10px;
        grid-template-columns: auto minmax(0, 1fr);
        justify-content: stretch;
        width: 100%;
    }

    .catalogo-bristol-shell .market-results-count {
        display: none;
    }

    .catalogo-bristol-shell .market-results-bar .catalogo-sort-form {
        align-items: center;
        background: #ffffff;
        border: 1px solid #dfe8f4;
        border-radius: 4px;
        box-shadow: none;
        display: flex;
        min-height: 40px;
        padding: 0;
        width: 100%;
    }

    .catalogo-bristol-shell .market-results-bar .catalogo-sort-form label {
        color: #6b7280;
        display: inline-flex;
        flex: 0 0 auto;
        font-size: 12px;
        font-weight: 500;
        letter-spacing: 0;
        padding-left: 13px;
        text-transform: none;
    }

    .catalogo-bristol-shell .market-results-bar .catalogo-sort-form label::after {
        content: ":";
    }

    .catalogo-bristol-shell .market-results-bar .catalogo-sort-select {
        flex: 1;
        min-width: 0;
    }

    .catalogo-bristol-shell .market-results-bar .catalogo-sort-form select {
        background: #ffffff;
        border: 0;
        border-radius: 4px;
        color: #475569;
        font-size: 12px;
        font-weight: 500;
        min-height: 38px;
        overflow: hidden;
        padding: 0 32px 0 7px;
        text-overflow: ellipsis;
        white-space: nowrap;
        width: 100%;
    }

    .catalogo-bristol-shell .market-results-bar .catalogo-sort-select::after {
        right: 13px;
    }

    .catalogo-filter-toggle {
        border-radius: 4px;
        box-shadow: 0 10px 18px rgba(8, 43, 99, 0.18);
        font-size: 13px;
        gap: 7px;
        margin: 0;
        min-height: 40px;
        padding: 0 12px;
        width: auto;
    }

    .catalogo-filter-toggle::before {
        background:
            linear-gradient(#ffffff, #ffffff) 0 3px / 14px 2px no-repeat,
            linear-gradient(#ffffff, #ffffff) 0 8px / 9px 2px no-repeat,
            linear-gradient(#ffffff, #ffffff) 0 13px / 12px 2px no-repeat;
        height: 16px;
        width: 15px;
    }

    .catalogo-filter-toggle small {
        display: none;
    }

    .catalogo-bristol-shell .filtros-activos-linea {
        align-items: center;
        background: transparent;
        border: 0;
        border-bottom: 1px solid #e5edf7;
        border-radius: 0;
        box-shadow: none;
        display: flex;
        gap: 7px;
        margin: 0 0 18px;
        padding: 0 0 10px;
    }

    .catalogo-active-label {
        color: #1f2937;
        display: inline-flex;
        flex: 0 0 auto;
        font-size: 13px;
        font-weight: 900;
    }

    .catalogo-bristol-shell .filtros-activos a {
        background: #ffffff;
        border: 1px solid #e5e7eb;
        border-radius: 4px;
        box-shadow: none;
        color: #8a94a3;
        font-size: 12px;
        font-weight: 600;
        gap: 6px;
        min-height: 28px;
        padding: 5px 8px;
    }

    .catalogo-bristol-shell .catalogo-active-chip strong {
        background: transparent;
        border: 0;
        color: #9ca3af;
        font-size: 12px;
        height: auto;
        width: auto;
    }

    .catalogo-bristol-shell .filtros-activos .catalogo-limpiar {
        background: transparent;
        border: 0;
        border-radius: 0;
        color: #7a7f88;
        flex-basis: 100%;
        font-size: 12px;
        min-height: auto;
        padding: 0;
        text-decoration: underline;
        width: fit-content;
    }

    .catalogo-mobile-drawer-actions {
        background: #ffffff;
        border: 1px solid #e4edf8;
        border-radius: 16px;
        bottom: 0;
        box-shadow: 0 -10px 28px rgba(15, 32, 51, 0.08);
        display: grid;
        gap: 8px;
        padding: 12px;
        position: sticky;
        z-index: 2;
    }

    .catalogo-mobile-drawer-actions button {
        background: linear-gradient(135deg, #082b63, #075eea);
        border: 1px solid rgba(7, 94, 234, 0.6);
        border-radius: 999px;
        color: #ffffff;
        cursor: pointer;
        font-size: 14px;
        font-weight: 900;
        min-height: 44px;
    }

    .catalogo-mobile-drawer-actions a {
        color: #6b7280;
        font-size: 12px;
        font-weight: 800;
        text-align: center;
        text-decoration: underline;
    }

    .catalogo-mobile-sort-card {
        display: none;
    }
}

/* Commercial stock urgency badges */
.catalogo-bristol-shell .market-product-card .card-producto-badge.urgency-warm,
.catalogo-bristol-shell .market-product-card .card-producto-badge.urgency-hot,
.catalogo-bristol-shell .market-product-card .card-producto-badge.urgency-blue,
.catalogo-bristol-shell .market-product-card .card-producto-badge.urgency-soft {
    align-items: center;
    backdrop-filter: blur(10px);
    display: inline-flex;
    gap: 6px;
    letter-spacing: 0;
    max-width: calc(100% - 36px);
    overflow: hidden;
    text-overflow: ellipsis;
    text-transform: none;
    white-space: nowrap;
}

.catalogo-bristol-shell .market-product-card .card-producto-badge.urgency-warm,
.catalogo-bristol-shell .catalogo-urgency-badge.urgency-warm {
    background: #fff7ed;
    border-color: #fed7aa;
    color: #a34d0a;
}

.catalogo-bristol-shell .market-product-card .card-producto-badge.urgency-hot,
.catalogo-bristol-shell .catalogo-urgency-badge.urgency-hot {
    background: #fff1f2;
    border-color: #fecdd3;
    color: #a43b4a;
}

.catalogo-bristol-shell .market-product-card .card-producto-badge.urgency-blue,
.catalogo-bristol-shell .catalogo-urgency-badge.urgency-blue {
    background: #eef6ff;
    border-color: #bfdbfe;
    color: #0b4fc4;
}

.catalogo-bristol-shell .market-product-card .card-producto-badge.urgency-soft,
.catalogo-bristol-shell .catalogo-urgency-badge.urgency-soft {
    background: #f8fafc;
    border-color: #dbe5f2;
    color: #42566f;
}

.catalogo-bristol-shell .catalogo-urgency-badge {
    align-items: center;
    border: 1px solid transparent;
    border-radius: 999px;
    display: inline-flex;
    font-size: 12px;
    font-weight: 900;
    justify-content: center;
    line-height: 1.2;
    min-height: 30px;
    padding: 7px 11px;
    width: fit-content;
}

.catalogo-bristol-shell .market-product-card:hover .catalogo-urgency-badge {
    animation: catalogUrgencyPulse 1.8s ease-in-out infinite;
}

@keyframes catalogUrgencyPulse {
    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-1px);
    }
}

@media (max-width: 720px) {
    .catalogo-bristol-shell .market-product-card .card-producto-badge.urgency-warm,
    .catalogo-bristol-shell .market-product-card .card-producto-badge.urgency-hot,
    .catalogo-bristol-shell .market-product-card .card-producto-badge.urgency-blue,
    .catalogo-bristol-shell .market-product-card .card-producto-badge.urgency-soft {
        font-size: 10px;
        max-width: calc(100% - 28px);
        padding: 7px 10px;
    }

    .catalogo-bristol-shell .catalogo-urgency-badge {
        font-size: 11px;
        min-height: 28px;
        padding: 6px 10px;
    }
}

/* Tutorials and usage guides */
.producto-tutoriales,
.tutoriales-index,
.tutorial-page {
    display: grid;
    gap: 24px;
    margin: 34px 0;
}

.producto-tutoriales {
    background: #ffffff;
    border: 1px solid #e5edf7;
    border-radius: 20px;
    box-shadow: 0 18px 48px rgba(15, 32, 51, 0.08);
    padding: 26px;
}

.producto-tutoriales-head,
.tutoriales-hero,
.tutorial-section-head {
    display: grid;
    gap: 8px;
}

.producto-tutoriales-head span,
.tutoriales-hero span,
.tutorial-detail-hero > div > span,
.tutorial-section-head span {
    color: #075eea;
    font-size: 12px;
    font-weight: 950;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.producto-tutoriales-head h2,
.tutoriales-hero h1,
.tutorial-section-head h2 {
    color: #102033;
    margin: 0;
}

.producto-tutoriales-head p,
.tutoriales-hero p {
    color: #66758a;
    line-height: 1.55;
    margin: 0;
}

.tutorial-card-grid {
    display: grid;
    gap: 20px;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
}

.tutorial-card {
    background: #ffffff;
    border: 1px solid #e5edf7;
    border-radius: 18px;
    box-shadow: 0 14px 34px rgba(15, 32, 51, 0.07);
    overflow: hidden;
    transition: border-color 0.22s ease, box-shadow 0.22s ease, transform 0.22s ease;
}

.tutorial-card:hover {
    border-color: #bdd8fb;
    box-shadow: 0 22px 50px rgba(15, 32, 51, 0.12);
    transform: translateY(-4px);
}

.tutorial-card-media {
    align-items: center;
    background: linear-gradient(180deg, #f8fbff, #eef6ff);
    display: flex;
    min-height: 150px;
    overflow: hidden;
    position: relative;
}

.tutorial-card-media img {
    height: 170px;
    object-fit: cover;
    width: 100%;
}

.tutorial-card-media span {
    background: rgba(8, 43, 99, 0.88);
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 999px;
    bottom: 12px;
    color: #ffffff;
    font-size: 11px;
    font-weight: 900;
    left: 12px;
    padding: 7px 10px;
    position: absolute;
}

.tutorial-card-body {
    display: grid;
    gap: 12px;
    padding: 18px;
}

.tutorial-card-body strong {
    color: #102033;
    font-size: 17px;
    line-height: 1.3;
}

.tutorial-card-body p {
    color: #66758a;
    font-size: 14px;
    line-height: 1.5;
    margin: 0;
}

.tutorial-card-btn {
    align-items: center;
    background: #082b63;
    border-radius: 999px;
    color: #ffffff;
    display: inline-flex;
    font-size: 13px;
    font-weight: 900;
    justify-content: center;
    min-height: 40px;
    padding: 0 16px;
    text-decoration: none;
    transition: background 0.22s ease, transform 0.22s ease;
    width: fit-content;
}

.tutorial-card-btn:hover {
    background: #075eea;
    color: #ffffff;
    transform: translateY(-1px);
}

.tutorial-detail-hero {
    align-items: center;
    background: #ffffff;
    border: 1px solid #e5edf7;
    border-radius: 22px;
    box-shadow: 0 20px 54px rgba(15, 32, 51, 0.09);
    display: grid;
    gap: 28px;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 420px);
    padding: 30px;
}

.tutorial-detail-hero h1 {
    color: #102033;
    font-size: clamp(32px, 4vw, 48px);
    line-height: 1.05;
    margin: 0;
}

.tutorial-detail-hero p {
    color: #66758a;
    font-size: 16px;
    line-height: 1.6;
    margin: 14px 0 0;
}

.tutorial-detail-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 18px;
}

.tutorial-detail-tags span {
    background: #eef6ff;
    border: 1px solid #bfdbfe;
    border-radius: 999px;
    color: #0b4fc4;
    font-size: 12px;
    font-weight: 900;
    padding: 7px 10px;
}

.tutorial-detail-media {
    background: linear-gradient(180deg, #f8fbff, #eef6ff);
    border-radius: 18px;
    overflow: hidden;
}

.tutorial-detail-media img {
    display: block;
    height: 300px;
    object-fit: cover;
    width: 100%;
}

.tutorial-video {
    background: #0f172a;
    border-radius: 20px;
    box-shadow: 0 18px 48px rgba(15, 32, 51, 0.14);
    overflow: hidden;
}

.tutorial-video iframe {
    aspect-ratio: 16 / 9;
    border: 0;
    display: block;
    width: 100%;
}

.tutorial-content,
.tutorial-steps,
.tutorial-products,
.tutorial-empty {
    background: #ffffff;
    border: 1px solid #e5edf7;
    border-radius: 20px;
    box-shadow: 0 14px 38px rgba(15, 32, 51, 0.07);
    color: #334155;
    line-height: 1.65;
    padding: 24px;
}

.tutorial-steps {
    display: grid;
    gap: 16px;
}

.tutorial-step {
    align-items: start;
    border-top: 1px solid #edf3fb;
    display: grid;
    gap: 14px;
    grid-template-columns: 42px minmax(0, 1fr);
    padding-top: 16px;
}

.tutorial-step > span {
    align-items: center;
    background: #eef6ff;
    border: 1px solid #bfdbfe;
    border-radius: 999px;
    color: #075eea;
    display: inline-flex;
    font-weight: 950;
    height: 42px;
    justify-content: center;
    width: 42px;
}

.tutorial-step h3 {
    color: #102033;
    margin: 0 0 6px;
}

.tutorial-step p {
    color: #66758a;
    margin: 0;
}

.tutorial-product-grid {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    margin-top: 16px;
}

.tutorial-product-card {
    background: #f8fbff;
    border: 1px solid #e1ebf7;
    border-radius: 16px;
    color: #102033;
    display: grid;
    gap: 10px;
    padding: 12px;
    text-decoration: none;
    transition: border-color 0.22s ease, transform 0.22s ease;
}

.tutorial-product-card:hover {
    border-color: #bfdbfe;
    transform: translateY(-2px);
}

.tutorial-product-card img {
    background: #ffffff;
    border-radius: 12px;
    height: 120px;
    object-fit: contain;
    width: 100%;
}

.tutorial-product-card strong {
    font-size: 14px;
    line-height: 1.3;
}

.tutorial-product-card span {
    color: #075eea;
    font-weight: 950;
}

@media (max-width: 760px) {
    .producto-tutoriales,
    .tutorial-detail-hero,
    .tutorial-content,
    .tutorial-steps,
    .tutorial-products,
    .tutorial-empty {
        border-radius: 16px;
        padding: 18px;
    }

    .tutorial-detail-hero {
        grid-template-columns: 1fr;
    }

    .tutorial-detail-media img {
        height: 220px;
    }

    .tutorial-card-grid {
        grid-template-columns: 1fr;
    }

    .tutorial-step {
        grid-template-columns: 36px minmax(0, 1fr);
    }

    .tutorial-step > span {
        height: 36px;
        width: 36px;
    }
}

/* Product card tutorial indicators */
.catalogo-bristol-shell .market-product-card .catalogo-v3-card-meta .catalogo-tutorial-chip {
    align-items: center;
    background: #eef6ff;
    border: 1px solid #bfdbfe;
    border-radius: 999px;
    color: #075eea;
    display: inline-flex;
    font-size: 11px;
    font-weight: 950;
    gap: 6px;
    letter-spacing: 0.01em;
    min-height: 26px;
    padding: 6px 10px;
    text-decoration: none;
    transition: background 0.22s ease, border-color 0.22s ease, color 0.22s ease, transform 0.22s ease;
}

.catalogo-bristol-shell .market-product-card .catalogo-v3-card-meta .catalogo-tutorial-chip::before {
    content: "?";
    align-items: center;
    background: #075eea;
    border-radius: 999px;
    color: #ffffff;
    display: inline-flex;
    font-size: 9px;
    height: 16px;
    justify-content: center;
    width: 16px;
}

.catalogo-bristol-shell .market-product-card .catalogo-v3-card-meta .catalogo-tutorial-chip:hover {
    background: #e0efff;
    border-color: #93c5fd;
    color: #073f9f;
    transform: translateY(-1px);
}

.catalogo-bristol-shell .catalogo-guide-link {
    align-items: center;
    background: #ffffff;
    border: 1px solid #cfe0f5;
    border-radius: 999px;
    color: #073f9f;
    display: inline-flex;
    font-size: 13px;
    font-weight: 900;
    justify-content: center;
    min-height: 42px;
    padding: 0 16px;
    text-decoration: none;
    transition: background 0.22s ease, border-color 0.22s ease, color 0.22s ease, transform 0.22s ease;
    width: 100%;
}

.catalogo-bristol-shell .catalogo-guide-link:hover {
    background: #eef6ff;
    border-color: #a9cffd;
    color: #075eea;
    transform: translateY(-1px);
}

@media (max-width: 720px) {
    .catalogo-bristol-shell .catalogo-guide-link {
        min-height: 40px;
    }
}

/* Premium marketplace banners */
.trigo-slider {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 18px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04);
    max-height: 360px;
    min-height: 320px;
}

.trigo-slide {
    background: #ffffff;
    gap: 28px;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 360px);
    max-height: 360px;
    min-height: 320px;
    padding: 28px 54px;
}

.trigo-slide-copy {
    gap: 10px;
    max-width: 560px;
}

.trigo-slide-copy span {
    background: #f9fafb;
    border: 1px solid #e5e7eb;
    color: #374151;
    font-size: 10px;
    letter-spacing: 0.08em;
    padding: 6px 11px;
}

.trigo-slide-copy h1 {
    color: #0f172a;
    font-size: clamp(28px, 3.2vw, 40px);
    letter-spacing: 0;
    line-height: 1.08;
    max-width: 18ch;
}

.trigo-slide-copy p {
    color: #475569;
    font-size: 14px;
    line-height: 1.45;
    max-width: 520px;
}

.trigo-slide-actions {
    gap: 10px;
    margin-top: 6px;
}

.trigo-slide-btn-primary,
.trigo-slide-btn-secondary {
    border-radius: 999px;
    font-size: 13px;
    min-height: 40px;
    padding: 0 18px;
    transition: background 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease, transform 0.22s ease;
}

.trigo-slide-btn-primary {
    background: #0b2f66;
    border-color: #0b2f66;
    box-shadow: 0 14px 30px rgba(11, 47, 102, 0.22);
}

.trigo-slide-btn-primary:hover {
    background: #1454a8;
    border-color: #1454a8;
    box-shadow: 0 18px 36px rgba(20, 84, 168, 0.25);
    transform: translateY(-1px);
}

.trigo-slide-btn-secondary {
    background: rgba(255, 255, 255, 0.82);
    border-color: #cbd5e1;
    color: #0f172a !important;
}

.trigo-slide-btn-secondary:hover {
    background: #f8fafc;
    border-color: #94a3b8;
    transform: translateY(-1px);
}

.trigo-slide-media {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.05);
    min-height: 220px;
    padding: 14px;
}

.trigo-slide-media img {
    height: 210px;
    object-fit: contain;
}

.trigo-slider-control {
    border-color: rgba(203, 213, 225, 0.95);
    color: #0f172a;
    transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.trigo-slider-control:hover {
    background: #0b2f66;
    border-color: #0b2f66;
    transform: translateY(-50%) scale(1.04);
}

.trigo-slider-dots button {
    background: #cbd5e1;
}

.trigo-slider-dots button.is-active {
    background: #0b2f66;
}

.slider-destacados {
    background: linear-gradient(135deg, #0f172a 0%, #12366d 58%, #0f766e 100%);
    border: 1px solid rgba(191, 219, 254, 0.18);
    border-radius: 24px;
    box-shadow: 0 24px 54px rgba(15, 23, 42, 0.16);
    padding: 32px;
}

.slider-destacados-item {
    gap: 36px;
}

.slider-destacados .dashboard-label {
    background: rgba(255, 255, 255, 0.10);
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 999px;
    color: #dbeafe;
    display: inline-flex;
    font-size: 11px;
    letter-spacing: 0.08em;
    padding: 8px 12px;
}

.slider-destacados-contenido h2 {
    font-size: clamp(30px, 4vw, 46px);
    letter-spacing: 0;
    line-height: 1.08;
    margin-bottom: 16px;
}

.slider-destacados-contenido p {
    color: #e2e8f0;
    font-size: 16px;
    line-height: 1.72;
}

.slider-destacados-acciones .btn {
    background: #ffffff;
    border-radius: 999px;
    box-shadow: 0 14px 30px rgba(15, 23, 42, 0.18);
    color: #0b2f66;
    min-height: 48px;
    padding: 0 24px;
    transition: background 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.slider-destacados-acciones .btn:hover {
    background: #eff6ff;
    box-shadow: 0 18px 36px rgba(15, 23, 42, 0.22);
    transform: translateY(-1px);
}

.slider-destacados-imagen img {
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid rgba(255, 255, 255, 0.52);
    border-radius: 20px;
    box-shadow: 0 20px 42px rgba(15, 23, 42, 0.20);
    padding: 18px;
}

@media (max-width: 900px) {
    .trigo-slider {
        max-height: 340px;
        min-height: 300px;
    }

    .trigo-slide {
        gap: 18px;
        grid-template-columns: minmax(0, 1fr) minmax(200px, 260px);
        max-height: 340px;
        min-height: 300px;
        padding: 24px 44px 44px;
    }

    .trigo-slide-copy h1 {
        font-size: 30px;
        max-width: 18ch;
    }

    .trigo-slide-copy p {
        font-size: 13.5px;
    }

    .trigo-slide-media {
        min-height: 188px;
    }

    .trigo-slide-media img {
        height: 180px;
    }

    .slider-destacados {
        padding: 24px 18px;
    }

}

@media (max-width: 560px) {
    .trigo-slide-actions,
    .slider-destacados-acciones {
        flex-direction: column;
    }

    .trigo-slide-actions a,
    .slider-destacados-acciones .btn {
        width: 100%;
    }
}

@media (max-width: 640px) {
    .retail-home {
        padding-top: 14px;
    }

    .trigo-slider {
        border-radius: 16px;
        box-shadow: 0 14px 32px rgba(15, 23, 42, 0.08);
        max-height: 220px;
        min-height: 200px;
    }

    .trigo-slide {
        gap: 10px;
        grid-template-columns: minmax(0, 1fr) 106px;
        max-height: 220px;
        min-height: 200px;
        padding: 14px 12px 42px;
    }

    .trigo-slide-copy {
        gap: 10px;
    }

    .trigo-slide-copy span {
        font-size: 10px;
        letter-spacing: 0.06em;
        padding: 6px 10px;
    }

    .trigo-slide-copy h1 {
        font-size: clamp(20px, 6vw, 24px);
        line-height: 1.08;
        max-width: 18ch;
    }

    .trigo-slide-copy p {
        display: -webkit-box;
        font-size: 12px;
        line-height: 1.32;
        max-width: 100%;
        overflow: hidden;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

    .trigo-slide-actions {
        align-items: flex-start;
        gap: 6px;
        margin-top: 2px;
        padding-right: 0;
    }

    .trigo-slide-actions a,
    .trigo-slide-btn-primary,
    .trigo-slide-btn-secondary {
        font-size: 12px;
        min-height: 34px;
        padding: 0 13px;
        width: auto;
    }

    .trigo-slide-media {
        border-radius: 12px;
        height: 104px;
        min-height: 104px;
        max-height: 104px;
        overflow: hidden;
        padding: 8px;
    }

    .trigo-slide-media img {
        height: 92px;
        max-height: 92px;
        object-fit: contain;
    }

    .trigo-slider-control {
        height: 38px;
        transform: none;
        width: 38px;
    }

    .trigo-slider-control:hover {
        transform: scale(1.03);
    }

    .trigo-slider-prev {
        left: 14px;
        top: auto;
        bottom: 14px;
    }

    .trigo-slider-next {
        right: 14px;
        top: auto;
        bottom: 14px;
    }

    .trigo-slider-dots {
        bottom: 18px;
        left: 50%;
        transform: translateX(-50%);
    }

}

@media (max-width: 420px) {
    .trigo-slide {
        grid-template-columns: minmax(0, 1fr) 88px;
        padding: 12px 10px 38px;
    }

    .trigo-slide-copy h1 {
        font-size: 20px;
    }

    .trigo-slide-copy p {
        font-size: 11.5px;
    }

    .trigo-slide-media {
        height: 90px;
        min-height: 90px;
        max-height: 90px;
    }

    .trigo-slide-media img {
        height: 78px;
        max-height: 78px;
    }
}

/* Admin tutorials */
.admin-tutoriales-hero {
    margin-bottom: 22px;
}

.admin-tutoriales-grid {
    align-items: start;
    display: grid;
    gap: 22px;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 340px);
    margin-bottom: 28px;
}

.admin-tutorial-form-card,
.admin-tutorial-help {
    border-radius: 14px;
}

.admin-tutorial-form-grid {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.admin-tutorial-associations {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.admin-tutorial-section-title {
    align-items: baseline;
    border-top: 1px solid #e5edf8;
    display: flex;
    gap: 10px;
    justify-content: space-between;
    margin: 22px 0 12px;
    padding-top: 18px;
}

.admin-tutorial-section-title strong {
    color: #0f172a;
    font-size: 16px;
}

.admin-tutorial-section-title span,
.admin-tutorial-help p {
    color: #64748b;
    font-size: 13px;
    line-height: 1.6;
}

.admin-tutorial-steps {
    display: grid;
    gap: 12px;
}

.admin-tutorial-step {
    align-items: start;
    background: #f8fbff;
    border: 1px solid #e2eaf7;
    border-radius: 12px;
    display: grid;
    gap: 12px;
    grid-template-columns: 34px minmax(0, 1fr);
    padding: 12px;
}

.admin-tutorial-step > span {
    align-items: center;
    background: #0b2f66;
    border-radius: 999px;
    color: #ffffff;
    display: inline-flex;
    font-size: 13px;
    font-weight: 900;
    height: 34px;
    justify-content: center;
    width: 34px;
}

.admin-tutorial-step textarea {
    margin-top: 8px;
}

.admin-tutorial-preview {
    margin: 10px 0 0;
}

.admin-tutorial-preview img {
    border-radius: 12px;
    max-height: 120px;
    object-fit: cover;
    width: 180px;
}

.admin-tutorial-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 20px;
}

.admin-tutorial-help {
    background: linear-gradient(135deg, #ffffff, #f8fbff);
    border: 1px solid #e2eaf7;
}

.admin-field-help {
    color: #64748b;
    display: block;
    font-size: 12px;
    line-height: 1.5;
    margin: 6px 0 12px;
}

.producto-rich-editor-source {
    display: none;
}

.producto-rich-editor {
    background: #ffffff;
    margin-bottom: 8px;
}

.producto-rich-editor.ql-container {
    border-color: #cbd5e1;
    border-radius: 0 0 12px 12px;
    font-family: inherit;
    min-height: 220px;
}

.producto-rich-toolbar.ql-toolbar.ql-snow {
    background: #f8fbff;
    border-color: #cbd5e1;
    border-radius: 12px 12px 0 0;
    margin-top: 6px;
}

.producto-rich-toolbar.ql-toolbar.ql-snow .ql-formats {
    margin-right: 10px;
}

.producto-rich-toolbar.ql-toolbar.ql-snow button {
    border-radius: 6px;
}

.producto-rich-toolbar.ql-toolbar.ql-snow button:hover,
.producto-rich-toolbar.ql-toolbar.ql-snow button.ql-active {
    background: #e0f2fe;
}

.producto-rich-editor .ql-editor {
    color: #0f172a;
    font-size: 15px;
    line-height: 1.7;
    min-height: 220px;
}

.producto-descripcion-texto ul,
.producto-descripcion-texto ol {
    margin: 0 0 14px 22px;
    padding: 0;
}

.producto-descripcion-texto li {
    margin-bottom: 6px;
}

.producto-descripcion-texto h1,
.producto-descripcion-texto h2,
.producto-descripcion-texto h3,
.producto-descripcion-texto h4 {
    color: #0f172a;
    line-height: 1.25;
    margin: 18px 0 10px;
}

.producto-descripcion-texto blockquote {
    border-left: 4px solid #bfdbfe;
    color: #475569;
    margin: 0 0 14px;
    padding: 8px 0 8px 14px;
}

.producto-descripcion-texto a {
    color: #1d4ed8;
    font-weight: 700;
}

.producto-disponibilidad-badge {
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    border-radius: 999px;
    color: #0b3b8f;
    display: inline-flex;
    font-size: 14px;
    font-weight: 800;
    margin: 6px 0 8px;
    padding: 8px 12px;
}

.producto-disponibilidad-nota {
    color: #64748b;
    font-size: 13px;
    line-height: 1.5;
    margin: 0 0 14px;
    max-width: 52ch;
}

.producto-disponibilidad-admin {
    background: #f8fbff;
    border: 1px solid #bfdbfe;
    border-radius: 14px;
    margin: 16px 0 18px;
    padding: 16px;
}

.producto-disponibilidad-admin-head {
    display: grid;
    gap: 4px;
    margin-bottom: 10px;
}

.producto-disponibilidad-admin-head strong {
    color: #0b3b8f;
    font-size: 16px;
}

.producto-disponibilidad-admin-head span {
    color: #64748b;
    font-size: 13px;
    line-height: 1.5;
}

.producto-descripcion-texto .ql-align-center {
    text-align: center;
}

.producto-descripcion-texto .ql-align-right {
    text-align: right;
}

.producto-descripcion-texto .ql-align-justify {
    text-align: justify;
}

/* Product detail premium refresh */
.producto-detalle-titulo {
    color: #0f172a;
    font-size: clamp(28px, 3vw, 44px);
    line-height: 1.08;
    margin: 10px 0 24px;
    max-width: 960px;
}

.producto-detalle-titulo-movil {
    display: none;
}

.producto-detalle {
    align-items: stretch;
    background: #ffffff;
    border: 1px solid #e5edf7;
    border-radius: 24px;
    box-shadow: 0 24px 70px rgba(15, 23, 42, 0.10);
    display: grid;
    gap: 40px;
    grid-template-columns: minmax(0, 1.04fr) minmax(360px, 0.96fr);
    margin-top: 18px;
    padding: clamp(18px, 3vw, 36px);
}

.producto-imagen,
.producto-info {
    min-width: 0;
}

.producto-galeria {
    gap: 18px;
}

.producto-imagen-principal {
    align-items: center;
    background: #ffffff;
    border: 1px solid #e8eef6;
    border-radius: 20px;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.75), 0 18px 48px rgba(15, 23, 42, 0.07);
    display: flex;
    justify-content: center;
    min-height: 460px;
}

.producto-imagen-principal img {
    border-radius: 18px;
    height: 460px;
    object-fit: contain;
    padding: 24px;
    transform-origin: center;
}

.producto-imagen-principal:hover img {
    transform: scale(1.16);
}

.producto-imagen-miniaturas {
    gap: 12px;
    grid-template-columns: repeat(auto-fill, minmax(82px, 1fr));
}

.producto-imagen-miniatura {
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
    cursor: pointer;
    padding: 6px;
}

.producto-imagen-miniatura img {
    background: #ffffff;
    border-radius: 12px;
    height: 86px;
    object-fit: contain;
}

.producto-imagen-miniatura.is-active {
    border-color: #2563eb;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.14), 0 16px 32px rgba(37, 99, 235, 0.12);
}

.producto-info {
    align-content: start;
    display: grid;
    gap: 16px;
    max-width: none;
}

.producto-info p {
    margin-bottom: 0;
}

.producto-info > p:not(.producto-codigo):not(.producto-disponibilidad-badge):not(.producto-disponibilidad-nota) {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    color: #475569;
    font-size: 14px;
    line-height: 1.45;
    padding: 10px 12px;
}

.producto-codigo {
    align-self: start;
    background: #eef6ff;
    border: 1px solid #cfe1ff;
    border-radius: 999px;
    color: #1d4ed8;
    font-size: 11px;
    font-weight: 850;
    letter-spacing: 0.04em;
    margin: 0;
    padding: 5px 10px;
}

.producto-codigo-detalle {
    margin-bottom: 0;
}

.producto-precio-box {
    background: linear-gradient(180deg, #f8fbff 0%, #ffffff 100%);
    border: 1px solid #dbeafe;
    border-radius: 18px;
    display: grid;
    gap: 6px;
    padding: 18px;
}

.producto-precio-box span {
    color: #64748b;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.producto-precio-box strong {
    color: #0b3b8f;
    font-size: clamp(34px, 4vw, 48px);
    font-weight: 950;
    line-height: 1;
}

.producto-disponibilidad-badge {
    align-items: center;
    background: #eefbf4;
    border: 1px solid #bbf7d0;
    border-radius: 999px;
    color: #047857;
    display: inline-flex;
    font-size: 13px;
    font-weight: 850;
    gap: 8px;
    justify-self: start;
    line-height: 1.2;
    padding: 9px 13px;
}

.producto-disponibilidad-badge span {
    align-items: center;
    display: inline-flex;
    font-size: 14px;
    justify-content: center;
}

.producto-disponibilidad-bajo_pedido,
.producto-disponibilidad-proximamente {
    background: #fffbeb;
    border-color: #fde68a;
    color: #a16207;
}

.producto-disponibilidad-consultar,
.producto-disponibilidad-agotado_temporalmente {
    background: #fff7ed;
    border-color: #fed7aa;
    color: #b45309;
}

.producto-disponibilidad-nota {
    color: #64748b;
    font-size: 13px;
    line-height: 1.65;
}

.form-agregar-carrito {
    background: #f8fbff;
    border: 1px solid #dbeafe;
    border-radius: 20px;
    box-shadow: 0 16px 42px rgba(15, 23, 42, 0.06);
    display: grid;
    gap: 12px;
    margin-top: 4px;
    padding: 18px;
}

.form-agregar-carrito label {
    color: #334155;
    font-size: 13px;
    font-weight: 850;
}

.producto-acciones {
    align-items: center;
    display: grid;
    gap: 12px;
    grid-template-columns: 138px minmax(0, 1fr) auto;
}

.producto-cantidad-control {
    align-items: center;
    background: #ffffff;
    border: 1px solid #cbd5e1;
    border-radius: 14px;
    display: grid;
    grid-template-columns: 38px minmax(42px, 1fr) 38px;
    min-height: 52px;
    overflow: hidden;
}

.producto-cantidad-control input {
    border: 0;
    color: #0f172a;
    font-size: 17px;
    font-weight: 850;
    max-width: none;
    text-align: center;
    width: 100%;
}

.producto-cantidad-control input:focus {
    outline: none;
}

.producto-cantidad-control input::-webkit-outer-spin-button,
.producto-cantidad-control input::-webkit-inner-spin-button {
    appearance: none;
    margin: 0;
}

.producto-cantidad-btn {
    background: #f8fafc;
    border: 0;
    color: #1d4ed8;
    cursor: pointer;
    font-size: 20px;
    font-weight: 850;
    height: 100%;
    transition: background 0.2s ease, color 0.2s ease;
}

.producto-cantidad-btn:hover,
.producto-cantidad-btn:focus-visible {
    background: #dbeafe;
    color: #0b3b8f;
}

.producto-acciones .btn {
    align-items: center;
    border-radius: 14px;
    display: inline-flex;
    font-weight: 850;
    justify-content: center;
    min-height: 52px;
    padding: 13px 18px;
}

.producto-acciones .btn-carrito {
    background: linear-gradient(135deg, #0f172a 0%, #1d4ed8 100%);
    border: 1px solid #1d4ed8;
    box-shadow: 0 16px 34px rgba(29, 78, 216, 0.24);
}

.producto-acciones .btn-carrito:hover,
.producto-acciones .btn-carrito:focus-visible {
    background: linear-gradient(135deg, #111827 0%, #0b3b8f 100%);
    box-shadow: 0 20px 42px rgba(29, 78, 216, 0.30);
    transform: translateY(-1px);
}

.producto-acciones .btn-secundario-claro {
    background: #ffffff;
    border: 1px solid #dbeafe;
    box-shadow: none;
    color: #1d4ed8;
}

.producto-acciones .btn-secundario-claro:hover,
.producto-acciones .btn-secundario-claro:focus-visible {
    background: #eff6ff;
    color: #0b3b8f;
}

.producto-descripcion-bloque {
    border-radius: 22px;
    box-shadow: 0 18px 52px rgba(15, 23, 42, 0.08);
    margin-top: 28px;
    max-width: 1100px;
    padding: clamp(18px, 3vw, 28px);
}

.producto-tabs {
    display: grid;
    gap: 22px;
}

.producto-tabs-nav {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    display: flex;
    gap: 6px;
    padding: 6px;
}

.producto-tab-btn {
    background: transparent;
    border: 0;
    border-radius: 12px;
    color: #64748b;
    cursor: pointer;
    flex: 1;
    font-size: 14px;
    font-weight: 850;
    min-height: 42px;
    padding: 10px 12px;
    transition: background 0.2s ease, box-shadow 0.2s ease, color 0.2s ease;
}

.producto-tab-btn.is-active {
    background: #ffffff;
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.08);
    color: #0b3b8f;
}

.producto-tab-panel {
    animation: productoPanelFade 0.22s ease;
}

.producto-tab-panel > strong {
    display: none;
}

.producto-descripcion-texto {
    color: #334155;
    font-size: 16px;
    line-height: 1.82;
    max-width: 100%;
}

.producto-spec-grid {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0;
}

.producto-spec-grid div {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    display: grid;
    gap: 5px;
    padding: 14px 16px;
}

.producto-spec-grid dt {
    color: #64748b;
    font-size: 12px;
    font-weight: 850;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.producto-spec-grid dd {
    color: #0f172a;
    font-size: 15px;
    font-weight: 800;
    margin: 0;
}

@keyframes productoPanelFade {
    from {
        opacity: 0;
        transform: translateY(4px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 900px) {
    .producto-detalle {
        grid-template-columns: 1fr;
        padding: 18px;
    }

    .producto-detalle-titulo {
        display: none;
    }

    .producto-detalle-titulo-movil {
        display: block;
        font-size: clamp(22px, 4.8vw, 28px);
        line-height: 1.15;
        margin: 10px 0 0;
    }

    .producto-imagen-principal {
        min-height: 340px;
    }

    .producto-imagen-principal img {
        height: 340px;
    }

    .producto-acciones {
        grid-template-columns: 1fr;
    }

    .producto-acciones .btn,
    .producto-cantidad-control {
        width: 100%;
    }

    .producto-tabs-nav {
        flex-direction: column;
    }

    .producto-spec-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 520px) {
    .producto-detalle-titulo {
        font-size: clamp(20px, 5.8vw, 22px);
        line-height: 1.12;
        margin: 6px 0 12px;
    }

    .producto-detalle-titulo-movil {
        font-size: clamp(18px, 5.2vw, 20px);
        line-height: 1.15;
        margin-top: 8px;
    }

    .producto-detalle {
        border-radius: 18px;
        gap: 24px;
    }

    .producto-imagen-principal {
        min-height: 280px;
    }

    .producto-imagen-principal img {
        height: 280px;
        padding: 16px;
    }

    .producto-precio-box strong {
        font-size: 34px;
    }
}

.admin-product-images-card input[type="file"] {
    background: #f8fbff;
    border: 1px dashed #bfdbfe;
    border-radius: 12px;
    padding: 14px;
}

.imagenes-mobile-compact-header {
    display: none;
}

.imagen-card,
.img-mobile-card {
    display: none;
}

.admin-product-images-card {
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.07);
    margin-bottom: 12px;
    padding: 16px;
}

.admin-product-images-accordion.is-collapsed {
    padding: 0;
}

.admin-product-images-card h3,
.admin-product-images-list-head h3 {
    margin: 0;
}

.admin-product-images-card .admin-product-images-card-head {
    border-bottom: 1px solid #eef2f7;
    margin-bottom: 12px;
    padding-bottom: 10px;
}

.admin-product-images-card .admin-product-images-accordion-head {
    align-items: center;
    border-bottom: 0;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    margin: 0;
    min-height: 46px;
    padding: 0 14px;
    user-select: none;
}

.admin-product-images-accordion-head > div {
    align-items: center;
    display: flex;
    gap: 10px;
}

.admin-product-images-accordion-head i {
    color: #2563eb;
}

.admin-product-images-accordion-chevron {
    transition: transform 0.18s ease;
}

.admin-product-images-accordion.is-open .admin-product-images-accordion-chevron {
    transform: rotate(180deg);
}

.admin-product-images-form-body {
    padding-top: 14px;
}

.admin-product-images-card .admin-product-images-card-head p,
.admin-product-images-list-head p {
    color: #64748b;
    font-size: 13px;
    margin: 4px 0 0;
}

.admin-product-images-form {
    align-items: end;
    display: grid;
    gap: 10px 12px;
    grid-template-columns: minmax(260px, 1.4fr) minmax(220px, 1fr) minmax(140px, 180px) auto;
}

.admin-product-images-form > label:not(.admin-product-images-check),
.admin-product-images-form > small {
    grid-column: auto;
}

.admin-product-images-field {
    display: grid;
    gap: 7px;
    min-width: 0;
}

.admin-product-images-form label {
    color: #334155;
    font-size: 13px;
    font-weight: 800;
    margin: 0;
}

.admin-product-images-form select,
.admin-product-images-form input[type="number"],
.admin-product-images-form input[type="file"] {
    border-radius: 11px;
    min-height: 38px;
}

.admin-product-images-form .admin-field-help {
    align-self: start;
    margin-top: -4px;
}

.admin-product-images-check {
    align-items: center;
    background: #f8fbff;
    border: 1px solid #dbeafe;
    border-radius: 12px;
    display: flex;
    gap: 8px;
    grid-column: 1 / span 3;
    min-height: 40px;
    padding: 9px 12px;
}

.admin-product-images-check input {
    margin: 0;
}

.admin-product-images-form br {
    display: none;
}

.admin-product-images-actions {
    display: flex;
    justify-content: flex-end;
}

.admin-product-images-actions .btn {
    border-radius: 12px;
    min-height: 40px;
    padding: 10px 16px;
    white-space: nowrap;
}

.admin-product-images-list-head {
    align-items: center;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    margin: 6px 0 8px;
}

.admin-product-images-search {
    align-items: center;
    background: #ffffff;
    border: 1px solid #dbeafe;
    border-radius: 14px;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
    display: grid;
    gap: 8px;
    grid-template-columns: minmax(220px, 320px) auto auto;
    padding: 8px;
}

.admin-product-images-search input,
.admin-product-images-search select {
    background: #f8fafc;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    color: #0f172a;
    font-size: 14px;
    min-height: 38px;
    padding: 8px 11px;
    width: 100%;
}

.admin-product-images-search input:focus,
.admin-product-images-search select:focus {
    border-color: #60a5fa;
    box-shadow: 0 0 0 3px rgba(96, 165, 250, 0.16);
    outline: none;
}

.admin-product-images-search label {
    align-items: center;
    background: #f8fbff;
    border: 1px solid #dbeafe;
    border-radius: 12px;
    color: #475569;
    display: inline-flex;
    gap: 8px;
    margin: 0;
    min-height: 38px;
    padding: 4px 6px 4px 10px;
    white-space: nowrap;
}

.admin-product-images-search label span {
    color: #475569;
    font-size: 12px;
    font-weight: 850;
    padding: 0;
}

.admin-product-images-search select {
    min-height: 30px;
    min-width: 68px;
    padding: 5px 8px;
}

.admin-product-images-search > span {
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    border-radius: 999px;
    color: #1d4ed8;
    font-size: 12px;
    font-weight: 850;
    padding: 7px 10px;
    white-space: nowrap;
}

.admin-product-images-table-wrap {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06);
    overflow: hidden;
}

.admin-product-images-table {
    border-collapse: separate;
    border-spacing: 0;
    margin-top: 0;
    table-layout: fixed;
    width: 100%;
}

.admin-product-images-col-id {
    width: 7%;
}

.admin-product-images-col-product {
    width: 24%;
}

.admin-product-images-col-image {
    width: 12%;
}

.admin-product-images-col-main,
.admin-product-images-col-order {
    width: 10%;
}

.admin-product-images-col-path {
    width: 21%;
}

.admin-product-images-col-actions {
    width: 16%;
}

.admin-product-images-table thead th {
    background: #f8fafc;
    border-bottom: 1px solid #e2e8f0;
    color: #475569;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.04em;
    padding: 11px 12px;
    text-align: left;
    text-transform: uppercase;
}

.admin-product-images-table tbody td {
    border-bottom: 1px solid #eef2f7;
    color: #334155;
    padding: 10px 12px;
    vertical-align: middle;
}

.admin-product-images-table tbody tr {
    transition: background 0.18s ease;
}

.admin-product-images-table tbody tr:hover {
    background: #f8fbff;
}

.admin-product-images-table tbody tr[hidden] {
    display: none !important;
}

.admin-product-images-table tbody tr:last-child td {
    border-bottom: 0;
}

.admin-product-images-id,
.admin-product-images-order {
    color: #64748b;
    font-size: 12px;
    font-weight: 850;
}

.admin-product-images-product {
    color: #0f172a;
    display: block;
    font-size: 14px;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.admin-product-images-code {
    color: #64748b;
    display: block;
    font-size: 12px;
    line-height: 1.35;
    margin-top: 4px;
    overflow-wrap: anywhere;
}

.admin-product-images-thumb {
    aspect-ratio: 1;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.06);
    display: block;
    height: 58px;
    object-fit: contain;
    padding: 5px;
    width: 58px;
}

.admin-product-images-badge {
    align-items: center;
    border-radius: 999px;
    display: inline-flex;
    font-size: 11px;
    font-weight: 850;
    line-height: 1;
    padding: 6px 9px;
    white-space: nowrap;
}

.admin-product-images-badge.is-main {
    background: #dbeafe;
    color: #1d4ed8;
}

.admin-product-images-badge.is-secondary {
    background: #f1f5f9;
    color: #64748b;
}

.admin-product-images-path {
    color: #64748b;
    display: block;
    font-size: 12px;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.admin-product-images-row-actions {
    display: flex;
    gap: 6px;
    justify-content: flex-end;
}

.admin-product-images-row-actions .btn-mini {
    align-items: center;
    border-radius: 8px;
    display: inline-flex;
    font-size: 12px;
    gap: 6px;
    justify-content: center;
    margin: 0;
    min-height: 34px;
    padding: 7px 10px;
}

.admin-product-images-delete .accion-icon,
.admin-product-images-delete .accion-label,
.admin-product-images-view .accion-icon,
.admin-product-images-view .accion-label {
    align-items: center;
    display: inline-flex;
    line-height: 1;
}

.admin-product-images-table th:last-child,
.admin-product-images-table td[data-label="Acciones"] {
    text-align: right;
}

.admin-product-images-empty {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    color: #64748b;
    padding: 16px;
}

.admin-product-images-pagination {
    margin-top: 12px;
}

.admin-product-images-delete,
.img-mobile-actions .admin-product-images-delete {
    background: #dc2626 !important;
    border-color: #dc2626 !important;
    color: #ffffff !important;
}

.admin-product-images-delete:hover,
.img-mobile-actions .admin-product-images-delete:hover {
    background: #b91c1c !important;
    border-color: #b91c1c !important;
    color: #ffffff !important;
}

.admin-product-images-delete .accion-icon,
.admin-product-images-delete .accion-label,
.admin-product-images-delete i {
    color: #ffffff !important;
}

.admin-product-images-modal[hidden] {
    display: none !important;
}

.admin-product-images-modal {
    align-items: center;
    display: flex;
    inset: 0;
    justify-content: center;
    padding: 24px;
    position: fixed;
    z-index: 10000;
}

.admin-product-images-modal-backdrop {
    background: rgba(15, 23, 42, 0.62);
    inset: 0;
    position: absolute;
}

.admin-product-images-modal-dialog {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    box-shadow: 0 24px 70px rgba(15, 23, 42, 0.28);
    display: grid;
    gap: 12px;
    max-height: calc(100vh - 48px);
    max-width: 80vw;
    overflow: auto;
    padding: 14px;
    position: relative;
    width: min(80vw, 980px);
    z-index: 1;
}

.admin-product-images-modal-head {
    align-items: center;
    display: flex;
    gap: 12px;
    justify-content: space-between;
}

.admin-product-images-modal-head h3 {
    color: #0f172a;
    font-size: 18px;
    margin: 0;
}

.admin-product-images-modal-close {
    align-items: center;
    display: inline-flex;
    gap: 6px;
    justify-content: center;
    margin: 0;
}

.admin-product-images-modal-img {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    display: block;
    max-height: 68vh;
    object-fit: contain;
    padding: 10px;
    width: 100%;
}

.admin-product-images-modal-meta {
    display: grid;
    gap: 8px;
    margin: 0;
}

.admin-product-images-modal-meta div {
    display: grid;
    gap: 3px;
}

.admin-product-images-modal-meta dt {
    color: #64748b;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.admin-product-images-modal-meta dd {
    color: #0f172a;
    font-size: 13px;
    margin: 0;
    overflow-wrap: anywhere;
}

body.admin-product-images-modal-open {
    overflow: hidden;
}

@media (max-width: 760px) {
    .admin-product-images-modal {
        padding: 10px;
    }

    .admin-product-images-modal-dialog {
        border-radius: 12px;
        max-height: calc(100vh - 20px);
        max-width: calc(100vw - 20px);
        padding: 10px;
        width: calc(100vw - 20px);
    }

    .admin-product-images-modal-img {
        max-height: 62vh;
        padding: 6px;
    }

    .admin-product-images-modal-head h3 {
        font-size: 16px;
    }

    .compras-guia-rapida {
        margin: 10px 0 12px;
    }

    .compras-guia-toggle {
        justify-content: center;
        width: 100%;
    }

    .compras-guia-panel {
        border-radius: 14px;
        gap: 10px;
        padding: 10px;
    }

    .compras-guia-lista {
        grid-template-columns: 1fr;
    }

    .compras-guia-lista > div,
    .compras-guia-bloque {
        padding: 10px !important;
    }

    .compras-productos-form-panel {
        border-radius: 12px;
        padding: 0;
    }

    .compras-productos-form-panel .panel-header.compras-productos-accordion-header {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        gap: 6px;
        padding: 0 12px;
        height: 42px;
        border-radius: 12px;
    }

    .compras-productos-form-panel.is-open .panel-header.compras-productos-accordion-header {
        border-bottom: 1px solid #eef2f7;
        border-radius: 12px 12px 0 0;
    }

    .compras-productos-form-panel .panel-header h3 {
        font-size: 15px;
    }

    .compras-productos-chevron {
        width: 18px;
        height: 18px;
    }

    .compras-productos-chevron svg {
        width: 16px;
        height: 16px;
    }

    .compras-productos-form-body > form {
        padding: 12px;
    }

    .compras-productos-form-panel.is-collapsed .compras-productos-form-body > form {
        padding-top: 0;
        padding-bottom: 0;
    }

    .compras-productos-form-body form {
        gap: 9px;
    }

    .compras-productos-form-body label {
        font-size: 13px;
        margin-bottom: 4px;
    }

    .compras-productos-form-body input,
    .compras-productos-form-body select {
        min-height: 38px;
        width: 100%;
    }

    .compras-productos-form-body .compra-form-grid,
    .compra-form-grid-principal,
    .compra-form-grid-pago,
    .compra-form-grid-gastos {
        gap: 9px;
        grid-template-columns: 1fr;
    }

    .compras-productos-form-body .campo-proveedor-encabezado {
        align-items: center;
        flex-direction: row;
    }

    .compras-productos-form-body .campo-proveedor-acciones {
        align-items: center;
        flex-direction: row;
        justify-content: flex-end;
    }

    .compras-productos-form-body .campo-proveedor-acciones .btn {
        min-height: 28px;
        padding: 5px 8px;
        width: auto;
    }

    .compras-productos-form-body .compra-form-help {
        display: none;
    }

    .compra-help-icon::after {
        left: auto;
        max-width: calc(100vw - 48px);
        right: -8px;
        transform: translateY(4px);
        white-space: normal;
        width: 240px;
    }

    .compra-help-icon:hover::after,
    .compra-help-icon:focus-visible::after {
        transform: translateY(0);
    }

    .compras-productos-form-body .precio-calculado-box {
        align-items: flex-start;
        display: grid;
        gap: 4px;
        padding: 8px 10px;
    }

    .compras-productos-form-body .compra-items {
        gap: 9px;
    }

    .compra-item-row {
        padding: 12px;
    }

    .compras-productos-form-body .compra-item-row {
        border-radius: 12px;
        padding: 10px;
    }

    .compras-productos-form-body .compra-item-grid {
        gap: 9px;
        grid-template-columns: 1fr;
    }

    .compras-productos-form-body .compra-item-meta {
        align-items: stretch;
        display: grid;
        grid-template-columns: 1fr;
    }

    .compras-productos-form-body .compra-item-meta span {
        align-items: center;
        display: flex;
        font-size: 12px;
        justify-content: space-between;
    }

    .compras-productos-form-body .compra-item-meta .btn-mini {
        width: 100%;
    }

    .compra-form-submit-actions {
        justify-content: stretch;
    }

    .compras-productos-form-body .btn-registrar-compra {
        min-width: 0;
        width: 100%;
    }

    .compras-productos-filtros {
        display: none;
        grid-template-columns: 1fr;
        padding: 10px;
    }

    .compras-productos-filtros-fecha {
        align-items: stretch;
        grid-template-columns: 1fr;
    }

    .compras-productos-filtros .btn-mini,
    .compras-productos-filtros span {
        width: 100%;
    }

    .compras-proveedores-resumen {
        overflow: visible;
    }

    .compras-tabla-toolbar {
        align-items: stretch;
        display: grid;
        grid-template-columns: 1fr;
    }

    .compras-tabla-toolbar-left {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .compras-columnas-toggle {
        width: 100%;
    }

    .compras-columnas-menu {
        left: 0;
        max-width: 100%;
        right: auto;
        width: 100%;
    }

    .compra-modal-dialog {
        border-radius: 14px;
        max-height: 90vh;
        overflow-y: auto;
        padding: 12px !important;
        width: 95vw;
    }

    .compra-modal-dialog .dashboard-modal-kicker {
        font-size: 10px;
        margin-bottom: 3px;
    }

    .compra-modal-dialog h3 {
        font-size: 17px;
        line-height: 1.2;
        margin: 0 32px 6px 0;
    }

    .compra-modal-meta {
        display: grid;
        font-size: 12px;
        gap: 3px;
        line-height: 1.35;
    }

    .compra-modal-resumen {
        gap: 6px;
        margin: 8px 0;
        padding: 7px;
    }

    .compra-modal-resumen span {
        border-radius: 999px;
        font-size: 11px;
        padding: 5px 7px;
    }

    .compra-modal .tabla-responsive {
        overflow: visible;
    }

    .compra-modal .tabla-compras-modal-items {
        display: block;
        min-width: 0;
        width: 100% !important;
    }

    .compra-modal .tabla-compras-modal-items thead {
        display: none;
    }

    .compra-modal .tabla-compras-modal-items tbody {
        display: grid;
        gap: 10px;
    }

    .compra-modal .tabla-compras-modal-items tr {
        background: #ffffff;
        border: 1px solid #dbeafe;
        border-radius: 12px;
        box-shadow: 0 8px 18px rgba(15, 23, 42, 0.05);
        display: grid;
        overflow: hidden;
        padding: 0;
    }

    .compra-modal .tabla-compras-modal-items td {
        align-items: center;
        border-bottom: 1px solid #eef2f7;
        display: flex;
        font-size: 12px;
        gap: 10px;
        justify-content: space-between;
        padding: 8px 10px;
        text-align: right;
        white-space: normal;
    }

    .compra-modal .tabla-compras-modal-items td::before {
        color: #64748b;
        content: attr(data-label);
        flex: 0 0 92px;
        font-size: 10px;
        font-weight: 900;
        letter-spacing: 0.03em;
        text-align: left;
        text-transform: uppercase;
    }

    .compra-modal .tabla-compras-modal-items td:last-child {
        border-bottom: 0;
    }

    .compra-modal .tabla-compras-modal-items .compra-modal-producto {
        align-items: flex-start;
        display: grid;
        gap: 3px;
        min-width: 0;
        text-align: left;
    }

    .compra-modal .tabla-compras-modal-items .compra-modal-producto::before {
        display: none;
    }

    .compra-modal .tabla-compras-modal-items .compra-modal-producto small {
        font-size: 11px;
        margin-top: 0;
    }

    .tabla-responsive .tabla-compras-proveedores {
        min-width: 0;
    }

    .tabla-compras-proveedores thead {
        display: none;
    }

    .tabla-compras-proveedores,
    .tabla-compras-proveedores tbody {
        display: block;
        width: 100%;
    }

    .tabla-compras-proveedores [hidden] {
        display: none !important;
    }

    .tabla-compras-proveedores tr {
        background: #ffffff;
        border: 1px solid #d1d5db;
        border-radius: 12px;
        box-shadow: 0 8px 18px rgba(15, 23, 42, 0.05);
        cursor: pointer;
        display: grid;
        gap: 7px 10px;
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-areas:
            "proveedor estado"
            "factura factura"
            "gs gs"
            "toggle toggle"
            "details details"
            "acciones acciones";
        margin-bottom: 10px;
        overflow: hidden;
        padding: 10px;
        transition: border-color 0.2s ease, box-shadow 0.2s ease;
    }

    .tabla-compras-proveedores tr::after {
        color: #6c757d;
        content: "\f078";
        font-family: "Font Awesome 6 Free";
        font-size: 15px;
        font-weight: 900;
        grid-area: toggle;
        justify-self: end;
        line-height: 1;
        margin-top: -18px;
        transition: transform 0.25s ease, color 0.25s ease;
    }

    .tabla-compras-proveedores tr.is-open {
        border-color: #bfdbfe;
        box-shadow: 0 12px 24px rgba(15, 23, 42, 0.08);
    }

    .tabla-compras-proveedores tr.is-open::after {
        color: #6c757d;
        transform: rotate(180deg);
    }

    .tabla-compras-proveedores td {
        border-bottom: 0;
        display: block;
        min-width: 0;
        padding: 0;
        text-align: left;
        width: auto;
    }

    .tabla-compras-proveedores td::before {
        display: none;
    }

    .tabla-compras-proveedores td[data-column="factura"] {
        color: #475569;
        display: flex;
        font-size: 12px;
        font-weight: 600;
        gap: 5px;
        grid-area: factura;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .tabla-compras-proveedores td[data-column="factura"]::before {
        color: #64748b;
        content: "Comprobante:";
        display: inline;
        font-weight: 700;
    }

    .tabla-compras-proveedores td[data-column="estado"] {
        grid-area: estado;
        text-align: right;
    }

    .tabla-compras-proveedores td[data-column="proveedor"] {
        color: #334155;
        display: grid;
        font-size: 13px;
        font-weight: 800;
        gap: 2px;
        grid-area: proveedor;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .tabla-compras-proveedores td[data-column="fecha"] {
        align-items: center;
        color: #64748b;
        display: none;
        font-size: 12px;
        grid-column: 1 / -1;
        justify-content: space-between;
    }

    .tabla-compras-proveedores td[data-column="fecha"]::before,
    .tabla-compras-proveedores td[data-column="total_gs"]::before,
    .tabla-compras-proveedores td[data-column="total_usd"]::before,
    .tabla-compras-proveedores td[data-column="acciones"]::before {
        color: #64748b;
        content: attr(data-label);
        display: inline;
        font-size: 10px;
        font-weight: 900;
        letter-spacing: 0.03em;
        text-align: left;
        text-transform: uppercase;
    }

    .tabla-compras-proveedores td[data-column="total_gs"] {
        align-items: center;
        color: #0f172a;
        display: flex;
        font-size: 12px;
        font-weight: 700;
        grid-area: gs;
        justify-content: flex-start;
        gap: 5px;
        white-space: nowrap;
    }

    .tabla-compras-proveedores td[data-column="total_gs"]::before {
        content: "Total:";
        display: inline;
    }

    .tabla-compras-proveedores td[data-column="total_usd"] {
        align-items: center;
        color: #0f172a;
        display: none;
        font-size: 12px;
        font-weight: 700;
        grid-column: 1 / -1;
        justify-content: space-between;
        white-space: nowrap;
    }

    .tabla-compras-proveedores td[data-column="estado"] {
        align-items: center;
        display: flex;
        gap: 8px;
        justify-content: flex-end;
    }

    .tabla-compras-proveedores tr.is-open td[data-column="estado"] {
        justify-content: space-between;
    }

    .tabla-compras-proveedores tr.is-open td[data-column="estado"]::before {
        color: #64748b;
        content: attr(data-label);
        display: inline;
        font-size: 10px;
        font-weight: 900;
        letter-spacing: 0.03em;
        text-align: left;
        text-transform: uppercase;
    }

    .tabla-compras-proveedores td[data-column="acciones"] {
        align-items: center;
        display: none;
        gap: 6px;
        grid-area: acciones;
        padding-top: 5px;
    }

    .tabla-compras-proveedores td[data-column="codigo"],
    .tabla-compras-proveedores td[data-column="compras"],
    .tabla-compras-proveedores td[data-column="metodo_pago"],
    .tabla-compras-proveedores td[data-column="comprobante"],
    .tabla-compras-proveedores td[data-column="usuario"],
    .tabla-compras-proveedores td[data-column="fecha_creacion"],
    .tabla-compras-proveedores td[data-column="observaciones"] {
        align-items: center;
        color: #64748b;
        display: none;
        font-size: 11px;
        gap: 6px;
        grid-column: 1 / -1;
        justify-content: space-between;
    }

    .tabla-compras-proveedores tr.is-open td[data-column="fecha"],
    .tabla-compras-proveedores tr.is-open td[data-column="total_usd"],
    .tabla-compras-proveedores tr.is-open td[data-column="codigo"],
    .tabla-compras-proveedores tr.is-open td[data-column="compras"],
    .tabla-compras-proveedores tr.is-open td[data-column="metodo_pago"],
    .tabla-compras-proveedores tr.is-open td[data-column="comprobante"],
    .tabla-compras-proveedores tr.is-open td[data-column="usuario"],
    .tabla-compras-proveedores tr.is-open td[data-column="fecha_creacion"],
    .tabla-compras-proveedores tr.is-open td[data-column="observaciones"] {
        animation: compraMobileExpand 0.18s ease;
        display: flex;
    }

    .tabla-compras-proveedores tr.is-open td[data-column="acciones"] {
        animation: compraMobileExpand 0.18s ease;
        display: grid;
    }

    @keyframes compraMobileExpand {
        from {
            opacity: 0;
            transform: translateY(-3px);
        }

        to {
            opacity: 1;
            transform: translateY(0);
        }
    }

    .tabla-compras-proveedores td[data-column="codigo"]::before,
    .tabla-compras-proveedores td[data-column="compras"]::before,
    .tabla-compras-proveedores td[data-column="metodo_pago"]::before,
    .tabla-compras-proveedores td[data-column="comprobante"]::before,
    .tabla-compras-proveedores td[data-column="usuario"]::before,
    .tabla-compras-proveedores td[data-column="fecha_creacion"]::before,
    .tabla-compras-proveedores td[data-column="observaciones"]::before {
        content: attr(data-label);
        display: inline;
        font-size: 10px;
        font-weight: 800;
        text-transform: uppercase;
    }

    .tabla-compras-proveedores td.compras-tabla-acciones {
        display: grid;
        grid-template-columns: 1fr;
    }

    .tabla-compras-proveedores td.compras-tabla-acciones::before {
        display: block;
        grid-column: 1 / -1;
    }

    .tabla-compras-proveedores td.compras-tabla-acciones > button,
    .tabla-compras-proveedores td.compras-tabla-acciones > form,
    .tabla-compras-proveedores td.compras-tabla-acciones > span {
        min-width: 0;
    }

    .compras-tabla-acciones {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        width: 100%;
    }

    .compras-tabla-acciones form {
        width: 100%;
    }

    .compras-tabla-acciones .btn-mini {
        min-height: 34px;
        padding: 7px 6px;
        width: 100%;
    }

    .compras-tabla-acciones .compra-anulada-label {
        width: 100%;
        min-height: 34px;
        height: auto;
        padding: 7px 6px;
        font-size: 10px;
        box-sizing: border-box;
    }

    .compras-tabla-acciones .accion-icon {
        font-size: 14px;
    }

    .compras-tabla-acciones .accion-label {
        display: inline;
        font-size: 10px;
        font-weight: 800;
        line-height: 1;
    }

    .compra-grupo-card {
        border-radius: 13px;
        padding: 10px;
    }

    .compra-grupo-header {
        display: grid;
        gap: 8px;
        padding: 9px;
    }

    .compra-grupo-header div {
        gap: 2px;
    }

    .compra-grupo-card .compra-actions form {
        width: auto;
    }

    .compra-grupo-card .compra-actions .btn,
    .compra-grupo-card .compra-actions button {
        min-height: 32px;
        width: auto;
    }

    .compra-grupo-card .tabla-responsive {
        border: 0;
        box-shadow: none;
        overflow: visible;
    }

    .tabla-responsive .tabla-compras-historial {
        min-width: 0;
    }

    .tabla-compras-historial tr {
        border-radius: 12px;
        box-shadow: 0 8px 18px rgba(15, 23, 42, 0.05);
        margin-bottom: 8px;
    }

    .tabla-compras-historial td {
        align-items: center;
        gap: 8px;
        padding: 8px 10px;
    }

    .tabla-compras-historial td::before {
        flex: 0 0 92px;
        font-size: 10px;
    }

    .tabla-compras-historial td[data-label="Producto"]::before {
        margin-bottom: 5px;
    }
}

@media (max-width: 1100px) {
    .admin-product-images-form {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-product-images-check {
        grid-column: 1 / -1;
    }

    .admin-product-images-actions {
        justify-content: flex-start;
    }
}

@media (max-width: 760px) {
    .admin-body:has(.imagenes-mobile-compact-header) .contenido-principal.contenedor {
        padding: 8px 8px 18px !important;
    }

    .admin-body:has(.imagenes-mobile-compact-header) .admin-mobile-menu-toggle {
        display: none !important;
    }

    .imagenes-mobile-compact-header {
        align-items: center;
        display: flex;
        gap: 10px;
        margin: 0 0 8px;
        min-height: 38px;
    }

    .imagenes-mobile-menu-trigger {
        align-items: center;
        background: rgba(255, 255, 255, 0.72);
        border: 0;
        border-radius: 10px;
        box-shadow: none;
        color: #0f172a;
        cursor: pointer;
        display: inline-flex;
        flex: 0 0 36px;
        font-size: 16px;
        height: 36px;
        justify-content: center;
        line-height: 1;
        padding: 0;
        width: 36px;
    }

    .imagenes-mobile-compact-header h1 {
        color: #0f172a;
        font-size: 20px;
        font-weight: 900;
        line-height: 1;
        margin: 0;
    }

    .admin-product-images-card {
        border-radius: 14px;
        margin-bottom: 8px;
        padding: 10px;
    }

    .admin-product-images-accordion.is-collapsed {
        padding: 0;
    }

    .admin-product-images-card .admin-product-images-accordion-head {
        min-height: 42px;
        padding: 0 12px;
    }

    .admin-product-images-form {
        grid-template-columns: 1fr;
    }

    .admin-product-images-list-head,
    .admin-product-images-search {
        align-items: stretch;
        display: grid;
        grid-template-columns: 1fr;
        width: 100%;
    }

    .admin-product-images-list-head {
        gap: 8px;
        margin-bottom: 8px;
    }

    .admin-product-images-list-head h3 {
        font-size: 16px;
    }

    .admin-product-images-search {
        background: transparent;
        border: 0;
        box-shadow: none;
        gap: 6px;
        padding: 0;
    }

    .admin-product-images-search input {
        min-height: 36px;
    }

    .admin-product-images-search > span,
    .admin-product-images-search label {
        background: #ffffff;
        justify-content: center;
        width: 100%;
    }

    .admin-product-images-actions,
    .admin-product-images-actions .btn {
        width: 100%;
    }

    .admin-product-images-table-wrap {
        background: transparent;
        border: 0;
        box-shadow: none;
        overflow: visible;
    }

    .admin-product-images-table {
        border-spacing: 0 6px;
        display: block;
        table-layout: auto;
    }

    .admin-product-images-table thead,
    .admin-product-images-table colgroup {
        display: none;
    }

    .admin-product-images-table tbody,
    .admin-product-images-table tr,
    .admin-product-images-table td {
        display: block;
        width: 100%;
    }

    .admin-product-images-table tbody tr {
        background: #ffffff;
        border: 1px solid #e2e8f0;
        border-radius: 10px;
        box-shadow: 0 4px 12px rgba(15, 23, 42, 0.04);
        display: block;
        margin-bottom: 5px;
        overflow: hidden;
        padding: 7px 8px;
    }

    .admin-product-images-table tbody td {
        border-bottom: 0;
        padding: 0;
    }

    .admin-product-images-table tbody td::before {
        color: #64748b;
        content: attr(data-label);
        display: inline;
        font-size: 10px;
        font-weight: 900;
        letter-spacing: 0.03em;
        margin: 0 5px 0 0;
        text-transform: uppercase;
    }

    .admin-product-images-table tbody td[data-label="ID"],
    .admin-product-images-table tbody td[data-label="Principal"],
    .admin-product-images-table tbody td[data-label="Orden"],
    .admin-product-images-table tbody td[data-label="Ruta"] {
        align-items: center;
        display: flex;
        min-width: 0;
    }

    .admin-product-images-table tbody td[data-label="ID"] {
        display: none;
    }

    .admin-product-images-table tbody td[data-label="Producto"] {
        min-width: 0;
        padding-right: 0;
    }

    .admin-product-images-table tbody td[data-label="Producto"]::before,
    .admin-product-images-table tbody td[data-label="Imagen"]::before {
        display: none;
    }

    .admin-product-images-table tbody td[data-label="Imagen"] {
        display: none;
    }

    .admin-product-images-thumb {
        border-radius: 8px;
        height: 50px;
        padding: 3px;
        width: 50px;
    }

    .admin-product-images-table tbody td[data-label="Principal"] {
        display: none;
    }

    .admin-product-images-table tbody td[data-label="Orden"] {
        display: none;
    }

    .admin-product-images-table tbody td[data-label="Ruta"] {
        display: none;
    }

    .admin-product-images-table tbody td[data-label="Acciones"] {
        display: none;
    }

    .admin-product-images-table tbody td[data-label="Acciones"]::before {
        display: none;
    }

    .admin-product-images-id,
    .admin-product-images-order,
    .admin-product-images-path,
    .admin-product-images-code {
        font-size: 11px;
    }

    .admin-product-images-product {
        display: none !important;
        font-size: 14px;
        font-weight: 600;
        line-height: 1.2;
        max-width: 100%;
        min-width: 0 !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    .imagen-titulo,
    .image-title,
    .card-image-title {
        display: block !important;
        font-size: 12px !important;
        font-weight: 600;
        line-height: 1.2 !important;
        min-width: 0 !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    .admin-product-images-product-cell > .admin-product-images-product,
    .admin-product-images-product-cell > .admin-product-images-code {
        display: none !important;
    }

    .admin-product-images-code {
        display: none;
    }

    .img-mobile-card {
        display: flex !important;
        gap: 8px !important;
        max-width: 100% !important;
        overflow: hidden !important;
        padding: 8px !important;
        width: 100% !important;
    }

    .img-mobile-thumb {
        flex-shrink: 0 !important;
        height: 56px !important;
        max-width: 56px !important;
        min-width: 56px !important;
        object-fit: cover !important;
        width: 56px !important;
    }

    .img-mobile-body {
        max-width: calc(100% - 64px) !important;
        min-width: 0 !important;
        overflow: hidden !important;
        width: calc(100% - 64px) !important;
    }

    .img-mobile-title {
        color: #6b7280 !important;
        display: block !important;
        font-size: 10px !important;
        font-weight: 600 !important;
        line-height: 1.1 !important;
        margin-top: 3px !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
        width: 100% !important;
    }

    .producto-relacionado,
    .imagen-producto {
        color: #6b7280 !important;
        display: block !important;
        font-size: 10px !important;
        line-height: 1.1 !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    .img-mobile-meta {
        color: #64748b;
        display: block;
        font-size: 11px;
        line-height: 1.25;
        margin-top: 3px;
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .img-mobile-actions {
        display: flex !important;
        gap: 6px !important;
        margin-top: 6px !important;
    }

    .img-mobile-actions .btn {
        align-items: center;
        display: inline-flex;
        font-size: 12px !important;
        height: 30px !important;
        justify-content: center;
        margin: 0;
        min-height: 30px !important;
        padding: 4px 10px !important;
    }

    .imagen-card {
        align-items: flex-start;
        display: none;
        gap: 10px;
        min-width: 0;
        width: 100%;
    }

    .imagen-thumb {
        flex: 0 0 48px;
        height: 48px;
        width: 48px;
    }

    .imagen-thumb .admin-product-images-thumb {
        height: 48px;
        width: 48px;
    }

    .imagen-info {
        flex: 1;
        min-width: 0 !important;
        overflow: hidden !important;
    }

    .img-mobile-body,
    .imagen-info {
        min-width: 0 !important;
        overflow: hidden !important;
    }

    .imagen-nombre {
        display: block;
        font-size: 14px;
        font-weight: 600;
        line-height: 1.2;
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        width: 100%;
    }

    .imagen-codigo,
    .imagen-principal {
        color: #64748b;
        display: block;
        font-size: 11px;
        line-height: 1.25;
        margin-top: 3px;
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .admin-product-images-badge {
        font-size: 10px;
        padding: 5px 7px;
    }

    .admin-product-images-path {
        line-height: 1.25;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        width: 100%;
    }

    .admin-product-images-row-actions {
        gap: 6px;
        flex-wrap: nowrap;
        justify-content: flex-start;
    }

    .admin-product-images-row-actions .btn-mini {
        align-items: center;
        display: inline-flex;
        font-size: 12px;
        height: 30px;
        justify-content: center;
        min-height: 30px;
        min-width: 68px;
        padding: 4px 9px;
        width: auto;
    }

    .admin-product-images-mobile-preview {
        background: #ffffff;
        border: 1px solid #e2e8f0;
        border-radius: 12px;
        box-shadow: 0 8px 18px rgba(15, 23, 42, 0.05);
        padding: 10px;
    }

    .admin-product-images-preview-back {
        align-items: center;
        display: inline-flex;
        gap: 6px;
        margin-bottom: 10px;
    }

    .admin-product-images-mobile-preview h3 {
        font-size: 17px;
        margin: 0 0 10px;
    }

    .admin-product-images-mobile-preview img {
        background: #f8fafc;
        border: 1px solid #e2e8f0;
        border-radius: 10px;
        display: block;
        max-height: 58vh;
        object-fit: contain;
        padding: 8px;
        width: 100%;
    }

    .admin-product-images-mobile-preview dl {
        display: grid;
        gap: 8px;
        margin: 10px 0 0;
    }

    .admin-product-images-mobile-preview dt {
        color: #64748b;
        font-size: 11px;
        font-weight: 900;
        text-transform: uppercase;
    }

    .admin-product-images-mobile-preview dd {
        color: #0f172a;
        font-size: 13px;
        margin: 2px 0 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
}

@media (max-width: 980px) {
    .admin-tutoriales-grid,
    .admin-tutorial-form-grid,
    .admin-tutorial-associations {
        grid-template-columns: 1fr;
    }

    .admin-tutorial-section-title {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* Admin productos: compact dashboard layout */
.admin-productos-hero {
    align-items: center;
    background: linear-gradient(135deg, #3b0764, #7c3aed);
    border-radius: 22px;
    box-shadow: 0 18px 45px rgba(59, 7, 100, 0.22);
    color: #ffffff;
    display: flex;
    gap: 20px;
    justify-content: space-between;
    margin-bottom: 18px;
    padding: 28px;
}

.admin-productos-hero h2 {
    margin-bottom: 8px;
}

.admin-productos-hero-label {
    color: #bfdbfe;
    font-size: 13px;
    font-weight: bold;
    letter-spacing: 0.08em;
    margin-bottom: 8px;
    text-transform: uppercase;
}

.admin-productos-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-end;
}

.admin-productos-hero-actions .btn {
    border-radius: 12px;
    min-height: 40px;
    padding: 10px 15px;
}

.admin-product-toolbar {
    align-items: center;
    backdrop-filter: blur(14px);
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid #dbeafe;
    border-radius: 16px;
    box-shadow: 0 16px 38px rgba(15, 23, 42, 0.10);
    display: flex;
    gap: 10px;
    justify-content: flex-end;
    margin: 12px 0 14px;
    padding: 10px;
    position: sticky;
    top: 82px;
    z-index: 40;
}

.admin-product-toolbar-search {
    display: grid;
    gap: 8px;
    grid-template-columns: minmax(180px, 1fr) auto;
    margin: 0;
}

.admin-product-toolbar .btn,
.admin-product-toolbar .btn-secundario,
.admin-product-toolbar .btn-secundario-claro {
    align-items: center;
    border-radius: 12px;
    display: inline-flex;
    justify-content: center;
    min-height: 38px;
    padding: 9px 14px;
    white-space: nowrap;
}

.admin-product-toolbar input {
    min-height: 38px;
}

.admin-product-form-panel {
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    box-shadow: 0 18px 44px rgba(15, 23, 42, 0.08);
    overflow: visible;
    padding: clamp(14px, 2vw, 20px);
}

.admin-product-form-panel.is-collapsed {
    padding-bottom: 14px;
}

.admin-product-form-panel.is-collapsed .admin-product-form-body {
    display: none;
}

.admin-product-form-body {
    display: grid;
    gap: 14px;
}

.admin-product-form-panel .panel-header {
    align-items: center;
    border-bottom: 1px solid #eef2f7;
    gap: 12px;
    margin-bottom: 12px !important;
    padding-bottom: 12px;
}

.admin-product-form-panel .panel-header p {
    margin: 4px 0 0;
}

.admin-product-header-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-end;
}

.admin-product-header-actions .btn,
.admin-product-actions .btn {
    border-radius: 12px;
    min-height: 42px;
    padding: 10px 16px;
}

.admin-product-register-btn {
    background: linear-gradient(135deg, #1d4ed8 0%, #0b3b8f 100%);
    border: 1px solid #1d4ed8;
    box-shadow: 0 14px 30px rgba(29, 78, 216, 0.26);
    color: #ffffff;
    font-weight: 850;
}

.admin-product-register-btn:hover,
.admin-product-register-btn:focus-visible {
    background: linear-gradient(135deg, #2563eb 0%, #1e3a8a 100%);
    box-shadow: 0 18px 38px rgba(29, 78, 216, 0.34);
    color: #ffffff;
    transform: translateY(-1px);
}

.admin-product-actions .btn-secundario-claro {
    background: #ffffff;
    border: 1px solid #dbeafe;
    box-shadow: none;
    color: #1d4ed8;
    font-weight: 800;
}

.admin-product-actions .btn-secundario-claro:hover,
.admin-product-actions .btn-secundario-claro:focus-visible {
    background: #f8fafc;
    border-color: #bfdbfe;
    color: #0b3b8f;
    transform: none;
}

.admin-product-form-panel .producto-form-precio {
    display: grid;
    gap: 14px;
}

.admin-product-tabs {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    display: flex;
    gap: 6px;
    overflow-x: auto;
    padding: 5px;
}

.admin-product-tab {
    background: transparent;
    border: 0;
    border-radius: 10px;
    color: #64748b;
    cursor: pointer;
    font-size: 13px;
    font-weight: 850;
    min-height: 34px;
    padding: 8px 12px;
    transition: background 0.18s ease, box-shadow 0.18s ease, color 0.18s ease;
    white-space: nowrap;
}

.admin-product-tab.is-active,
.admin-product-tab:hover,
.admin-product-tab:focus-visible {
    background: #ffffff;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.08);
    color: #0b3b8f;
    outline: none;
}

.admin-product-mobile-section-toggle {
    display: none;
}

.admin-product-section[hidden] {
    display: none !important;
}

.admin-product-section {
    animation: productoPanelFade 0.2s ease;
    display: grid;
    gap: 10px 14px;
}

.admin-product-section-basic,
.admin-product-section-inventory {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.admin-product-section-basic {
    align-items: end;
}

.admin-product-field {
    display: grid;
    gap: 7px;
    min-width: 0;
}

.admin-product-field-name {
    grid-column: 1 / -1;
}

.admin-product-field-code {
    grid-column: span 2;
    max-width: 620px;
}

.admin-product-stock-switch {
    align-items: center;
    background: #f8fafc;
    border: 1px solid #dbeafe;
    border-radius: 14px;
    display: flex;
    gap: 14px;
    grid-column: 1 / -1;
    justify-content: space-between;
    padding: 14px;
}

.admin-product-stock-switch div {
    display: grid;
    gap: 3px;
}

.admin-product-stock-switch strong {
    color: #0f172a;
    font-size: 14px;
}

.admin-product-stock-switch span {
    color: #64748b;
    font-size: 13px;
}

.producto-switch-control {
    align-items: center;
    background: #ffffff;
    border: 1px solid #bfdbfe;
    border-radius: 999px;
    cursor: pointer;
    display: inline-flex;
    gap: 8px;
    min-height: 38px;
    padding: 5px 12px 5px 5px;
    white-space: nowrap;
}

.producto-switch-control input {
    appearance: none;
    background: #cbd5e1;
    border: 0;
    border-radius: 999px;
    cursor: pointer;
    height: 26px;
    margin: 0;
    min-height: 0;
    position: relative;
    transition: background 0.18s ease;
    width: 48px;
}

.producto-switch-control input::after {
    background: #ffffff;
    border-radius: 50%;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.22);
    content: "";
    height: 20px;
    left: 3px;
    position: absolute;
    top: 3px;
    transition: transform 0.18s ease;
    width: 20px;
}

.producto-switch-control input:checked {
    background: #1d4ed8;
}

.producto-switch-control input:checked::after {
    transform: translateX(22px);
}

.admin-product-inline-control {
    align-items: stretch;
    display: grid;
    gap: 7px;
    grid-template-columns: minmax(0, 1fr) 38px;
}

.admin-product-inline-control select {
    min-width: 0;
}

.admin-product-add-btn {
    align-items: center;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    border-radius: 11px;
    color: #1d4ed8;
    cursor: pointer;
    display: inline-flex;
    font-size: 18px;
    font-weight: 900;
    justify-content: center;
    line-height: 1;
    min-height: 38px;
    padding: 0;
    transition: background 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease, color 0.18s ease;
    width: 38px;
}

.admin-product-add-btn:hover,
.admin-product-add-btn:focus-visible {
    background: #dbeafe;
    border-color: #60a5fa;
    box-shadow: 0 8px 18px rgba(29, 78, 216, 0.16);
    color: #0b3b8f;
    outline: none;
}

.admin-product-code-control {
    align-items: start;
    display: grid;
    gap: 7px;
    grid-template-columns: minmax(180px, 320px) auto;
}

.admin-product-code-control .producto-quick-button {
    align-items: center;
    border-radius: 11px;
    display: inline-flex;
    justify-content: center;
    min-height: 38px;
    padding: 8px 12px;
    white-space: nowrap;
}

.admin-product-code-control small {
    grid-column: 1 / -1;
}

.admin-product-section-description,
.admin-product-section-prices {
    grid-template-columns: 1fr;
}

.admin-product-section-basic .producto-field-head,
.admin-product-section-basic .producto-codigo-row,
.admin-product-section-inventory .producto-disponibilidad-admin,
.admin-product-section-inventory .admin-field-help,
.admin-product-section-inventory small,
.admin-product-section-inventory .admin-product-check {
    align-self: end;
}

.admin-product-section-inventory .producto-disponibilidad-admin {
    grid-column: 1 / -1;
}

.producto-disponibilidad-admin > label[style] + .admin-field-help {
    display: none;
}

.admin-product-stock-fields {
    display: grid;
    gap: 10px 14px;
    grid-column: 1 / -1;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.admin-product-stock-fields[hidden] {
    display: none !important;
}

.admin-product-stock-fields > div {
    display: grid;
    gap: 7px;
}

.admin-product-purchase-note {
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    border-radius: 14px;
    padding: 12px;
}

.admin-product-purchase-note strong {
    color: #0b3b8f;
    font-size: 13px;
}

.admin-product-purchase-note span {
    color: #475569;
    font-size: 13px;
}

.admin-product-form-panel label {
    color: #334155;
    font-size: 13px;
    font-weight: 800;
    margin: 0;
}

.admin-product-form-panel input,
.admin-product-form-panel select,
.admin-product-form-panel textarea {
    border-radius: 11px;
    min-height: 38px;
    padding: 8px 10px;
}

.admin-product-form-panel textarea {
    min-height: 88px;
}

.admin-product-form-panel .producto-rich-toolbar {
    border-radius: 12px 12px 0 0;
}

.admin-product-form-panel .producto-rich-editor {
    min-height: 170px;
}

.admin-product-form-panel .form-grid-precios {
    gap: 12px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.admin-product-form-panel .precio-calculado-box {
    border-radius: 14px;
    margin: 0;
}

.admin-product-form-panel .dashboard-panel {
    box-shadow: none;
}

.admin-product-actions {
    align-items: center;
    background: rgba(255, 255, 255, 0.96);
    border-top: 1px solid #eef2f7;
    bottom: 0;
    box-shadow: 0 -12px 28px rgba(15, 23, 42, 0.08);
    display: flex;
    gap: 12px;
    justify-content: flex-end;
    margin: 4px -4px -6px;
    padding: 12px 4px 6px;
    position: sticky;
    z-index: 25;
}

.filtros-productos-listado {
    margin-top: 12px;
}

.filtros-productos-listado .panel-header {
    margin-bottom: 10px;
}

.filtros-productos-listado .form-busqueda {
    gap: 8px;
}

.filtros-productos-listado input,
.filtros-productos-listado select {
    min-height: 38px;
    padding: 8px 10px;
}

.admin-product-list-head {
    align-items: center;
    display: grid;
    gap: 12px;
    grid-template-columns: auto minmax(260px, 520px);
    justify-content: space-between;
    margin: 12px 0 8px;
}

.admin-product-list-head h3 {
    margin: 0;
}

.admin-product-list-head p {
    color: #64748b;
    font-size: 13px;
    margin: 4px 0 0;
}

.admin-product-list-search {
    align-items: center;
    display: grid;
    gap: 8px;
    grid-template-columns: minmax(180px, 1fr) auto auto auto;
    margin: 0;
}

.admin-product-list-search input,
.admin-product-list-search select {
    min-height: 38px;
}

.admin-products-per-page {
    align-items: center;
    background: #f8fbff;
    border: 1px solid #dbeafe;
    border-radius: 12px;
    color: #475569;
    display: inline-flex;
    gap: 8px;
    margin: 0;
    min-height: 38px;
    padding: 4px 8px 4px 10px;
    white-space: nowrap;
}

.admin-products-per-page span {
    font-size: 12px;
    font-weight: 850;
}

.admin-products-per-page select {
    background: #ffffff;
    border: 1px solid #cbd5e1;
    border-radius: 9px;
    color: #0f172a;
    font-weight: 800;
    padding: 6px 8px;
}

@media (max-width: 1100px) {
    .admin-product-toolbar {
        justify-content: stretch;
    }

    .admin-product-section-basic,
    .admin-product-section-inventory,
    .admin-product-form-panel .form-grid-precios {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-product-field-code {
        grid-column: 1 / -1;
    }
}

@media (max-width: 720px) {
    .admin-productos-hero {
        align-items: flex-start;
        flex-direction: column;
        padding: 22px;
    }

    .admin-productos-hero-actions,
    .admin-productos-hero-actions .btn {
        width: 100%;
    }

    .admin-product-toolbar {
        border-radius: 14px;
        flex-direction: column;
        position: static;
    }

    .admin-product-toolbar .btn,
    .admin-product-toolbar .btn-secundario,
    .admin-product-toolbar .btn-secundario-claro,
    .admin-product-header-actions .btn,
    .admin-product-actions .btn {
        width: 100%;
    }

    .admin-product-section-basic,
    .admin-product-section-inventory,
    .admin-product-stock-fields,
    .admin-product-form-panel .form-grid-precios {
        grid-template-columns: 1fr;
    }

    .admin-product-field-code {
        max-width: none;
    }

    .admin-product-code-control {
        grid-template-columns: 1fr auto;
    }

    .admin-product-tabs {
        display: none;
    }

    .admin-product-mobile-section-toggle {
        align-items: center;
        background: #ffffff;
        border: 1px solid #e5e7eb;
        border-radius: 9px;
        color: #1f2937;
        cursor: pointer;
        display: flex;
        font-size: 12px;
        font-weight: 800;
        gap: 8px;
        justify-content: space-between;
        margin-left: 12px;
        min-height: 34px;
        padding: 0 10px 0 12px;
        text-align: left;
        width: calc(100% - 12px);
    }

    .admin-product-mobile-section-label {
        align-items: center;
        display: inline-flex;
        gap: 8px;
        min-width: 0;
    }

    .admin-product-mobile-section-label > span {
        min-width: 0;
        overflow-wrap: anywhere;
    }

    .admin-product-mobile-section-label i {
        color: #6b7280;
        flex: 0 0 auto;
        font-size: 12px;
        width: 14px;
    }

    .admin-product-mobile-section-chevron {
        color: #6b7280;
        flex: 0 0 auto;
        font-size: 11px;
        transition: transform 0.18s ease;
    }

    .admin-product-mobile-section-toggle.is-active {
        background: #f5f5f7;
        border-color: #d1d5db;
        color: #111827;
    }

    .admin-product-mobile-section-toggle.is-active .admin-product-mobile-section-label i {
        color: #374151;
    }

    .admin-product-mobile-section-toggle.is-active .admin-product-mobile-section-chevron {
        transform: rotate(180deg);
    }

    .admin-product-mobile-section-toggle[data-mobile-product-section="basica"] {
        order: 1;
    }

    .admin-product-section[data-product-section="basica"] {
        order: 2;
    }

    .admin-product-mobile-section-toggle[data-mobile-product-section="precios"] {
        order: 3;
    }

    .admin-product-section[data-product-section="precios"] {
        order: 4;
    }

    .admin-product-mobile-section-toggle[data-mobile-product-section="inventario"] {
        order: 5;
    }

    .admin-product-section[data-product-section="inventario"] {
        order: 6;
    }

    .admin-product-section[data-product-section="descripcion"] {
        order: 7;
    }

    .admin-product-section {
        border: 1px solid #e6e6e8;
        border-radius: 10px;
        gap: 7px;
        padding: 7px;
        width: 100%;
    }

    .admin-product-savebar {
        bottom: 0;
        box-shadow: 0 -10px 22px rgba(15, 23, 42, 0.12);
        order: 20;
        padding-bottom: max(8px, env(safe-area-inset-bottom));
        position: sticky;
    }

    .admin-product-form-panel .producto-form-precio {
        gap: 6px;
        padding-bottom: 76px;
    }

    .admin-product-form-panel .admin-field-help,
    .admin-product-form-panel small,
    .admin-product-stock-switch span,
    .producto-disponibilidad-admin-head span,
    .admin-product-purchase-note span,
    .precio-calculado-box span:not([data-precio-texto]),
    .admin-product-quick-specs-head em,
    .producto-editor-preview-head span {
        display: none !important;
    }

    .admin-product-stock-switch,
    .admin-product-purchase-note,
    .precio-calculado-box,
    .admin-product-form-panel .dashboard-panel {
        padding: 9px;
    }

    .admin-product-form-panel input,
    .admin-product-form-panel select,
    .admin-product-form-panel textarea {
        min-height: 36px;
        padding: 7px 9px;
    }

    .admin-product-form-panel textarea {
        min-height: 68px;
    }

    .admin-product-form-panel .producto-rich-toolbar,
    .admin-product-form-panel .producto-editor-preview,
    .admin-product-quick-specs-head {
        display: none !important;
    }

    .admin-product-form-panel .producto-rich-editor {
        min-height: 120px;
    }

    .admin-product-actions {
        align-items: stretch;
        background: rgba(255, 255, 255, 0.98);
        border: 1px solid #e5e7eb;
        border-radius: 12px 12px 0 0;
        flex-direction: row;
        gap: 8px;
        margin: 0 -2px -2px;
        width: calc(100% + 4px);
    }

    .admin-product-actions .btn,
    .admin-product-actions .btn-secundario-claro {
        min-height: 40px;
        padding: 9px 12px;
        width: 100%;
    }

    .admin-product-header-actions {
        align-items: stretch;
        flex-direction: column;
        width: 100%;
    }

    .admin-product-list-head,
    .admin-product-list-search {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 460px) {
    .admin-product-code-control {
        grid-template-columns: 1fr;
    }

    .admin-product-stock-switch {
        align-items: stretch;
        flex-direction: column;
    }

    .admin-product-code-control .producto-quick-button {
        width: 100%;
    }
}

/* Admin productos: modern product list */
.admin-product-table-wrap {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    box-shadow: 0 16px 38px rgba(15, 23, 42, 0.06);
    overflow: hidden;
}

.admin-product-table {
    border-collapse: separate;
    border-spacing: 0;
    min-width: 0;
    table-layout: fixed;
    width: 100%;
}

.admin-product-col-producto {
    width: 38%;
}

.admin-product-col-precio {
    width: 12%;
}

.admin-product-col-resumen {
    width: 17%;
}

.admin-product-col-disponibilidad {
    width: 13%;
}

.admin-product-col-estado {
    width: 8%;
}

.admin-product-col-acciones {
    width: 12%;
}

.admin-product-table thead th {
    background: #f8fafc;
    border-bottom: 1px solid #e2e8f0;
    color: #475569;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.04em;
    padding: 12px 10px;
    text-align: left;
    text-transform: uppercase;
}

.admin-product-table tbody td {
    border-bottom: 1px solid #eef2f7;
    color: #334155;
    padding: 13px 10px;
    vertical-align: middle;
}

.admin-product-table tbody tr {
    transition: background 0.18s ease, box-shadow 0.18s ease;
}

.admin-product-table tbody tr:hover {
    background: #f8fbff;
}

.admin-product-table tbody tr:last-child td {
    border-bottom: 0;
}

.admin-product-list-item {
    align-items: center;
    display: grid;
    gap: 10px;
    grid-template-columns: 52px minmax(0, 1fr);
    min-width: 0;
}

.admin-product-list-item img {
    aspect-ratio: 1;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.06);
    height: 52px;
    object-fit: contain;
    padding: 6px;
    width: 52px;
}

.admin-product-list-item strong {
    color: #0f172a;
    display: block;
    font-size: 14px;
    font-weight: 900;
    line-height: 1.35;
    max-width: 100%;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.admin-product-list-item small,
.admin-product-table td small {
    color: #64748b;
    display: block;
    font-size: 12px;
    line-height: 1.45;
    margin-top: 3px;
}

.admin-product-code-badge,
.admin-product-mini-badge,
.admin-product-status-badge,
.admin-product-state-badge {
    align-items: center;
    border-radius: 999px;
    display: inline-flex;
    font-size: 11px;
    font-weight: 850;
    line-height: 1;
    margin-top: 6px;
    padding: 5px 8px;
    white-space: nowrap;
}

.admin-product-code-badge {
    background: #eff6ff;
    color: #1d4ed8;
}

.admin-product-mini-badge {
    background: #fef3c7;
    color: #92400e;
}

.admin-product-price {
    color: #0b3b8f;
    display: block;
    font-size: 15px;
    font-weight: 950;
    white-space: nowrap;
}

.admin-product-table td[data-label="Precio"],
.admin-product-table td[data-label="Disponibilidad"],
.admin-product-table td[data-label="Estado"] {
    white-space: normal;
}

.admin-product-table td[data-label="Estado"] {
    text-align: center;
}

.admin-product-table th:last-child,
.admin-product-table td[data-label="Acciones"] {
    text-align: right;
}

.admin-product-costs {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.admin-product-costs span {
    color: #64748b;
    font-size: 11px;
    line-height: 1.25;
}

.admin-product-costs strong {
    color: #0f172a;
    font-weight: 850;
}

.admin-product-status-badge {
    background: #ecfdf5;
    color: #047857;
}

.admin-product-state-badge.is-active {
    background: #dbeafe;
    color: #1d4ed8;
}

.admin-product-state-badge.is-inactive {
    background: #f1f5f9;
    color: #64748b;
}

.admin-product-row-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    justify-content: flex-end;
    min-width: 0;
}

.admin-product-row-actions .btn-mini {
    align-items: center;
    border-radius: 8px;
    display: inline-flex;
    font-size: 11px;
    gap: 5px;
    justify-content: center;
    line-height: 1;
    margin: 0;
    min-width: 34px;
    padding: 7px 8px;
    text-align: center;
}

.admin-product-btn-mobile {
    display: none;
}

@media (max-width: 760px) {
    .admin-product-table-wrap {
        background: transparent;
        border: 0;
        box-shadow: none;
        overflow: visible;
    }

    .admin-product-table {
        border-spacing: 0 12px;
        display: block;
        min-width: 0;
        table-layout: auto;
    }

    .admin-product-table thead {
        display: none;
    }

    .admin-product-table tbody,
    .admin-product-table tr,
    .admin-product-table td {
        display: block;
        width: 100%;
    }

    .admin-product-table tbody tr {
        background: #ffffff;
        border: 1px solid #e2e8f0;
        border-radius: 16px;
        box-shadow: 0 14px 30px rgba(15, 23, 42, 0.07);
        margin-bottom: 12px;
        overflow: hidden;
    }

    .admin-product-table tbody td {
        border-bottom: 1px solid #eef2f7;
        padding: 12px 14px;
    }

    .admin-product-table tbody td::before {
        color: #64748b;
        content: attr(data-label);
        display: block;
        font-size: 11px;
        font-weight: 900;
        letter-spacing: 0.04em;
        margin-bottom: 6px;
        text-transform: uppercase;
    }

    .admin-product-table tbody td[data-label="Producto"]::before {
        display: none;
    }

    .admin-product-list-item {
        grid-template-columns: 56px minmax(0, 1fr);
        min-width: 0;
    }

    .admin-product-list-item strong {
        max-width: none;
    }

    .admin-product-row-actions {
        justify-content: flex-start;
    }
}
/* Admin categorias: grouped premium catalog view */
.admin-category-manager {
    margin: 24px 0;
}

.admin-category-manager-head {
    align-items: flex-start;
    display: flex;
    gap: 16px;
    justify-content: space-between;
    margin-bottom: 16px;
}

.admin-category-manager-head h3 {
    color: #0f172a;
    margin: 4px 0 6px;
}

.admin-category-manager-head p {
    color: #64748b;
    margin: 0;
}

.admin-category-manager-head > strong {
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    border-radius: 999px;
    color: #1d4ed8;
    font-size: 13px;
    padding: 8px 12px;
    white-space: nowrap;
}

.admin-category-filters {
    align-items: end;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(220px, 1fr) minmax(170px, 220px) auto;
    margin-bottom: 16px;
    padding: 12px;
}

.admin-category-filters label {
    display: grid;
    gap: 6px;
}

.admin-category-filters label span {
    color: #475569;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.admin-category-filter-actions,
.admin-category-meta,
.admin-subcategory-topline,
.admin-category-actions {
    align-items: center;
    display: flex;
    gap: 8px;
}

.admin-category-list {
    display: grid;
    gap: 12px;
}

.admin-category-card {
    background: linear-gradient(180deg, #ffffff, #fbfdff);
    border: 1px solid #dbeafe;
    border-radius: 18px;
    box-shadow: 0 16px 36px rgba(15, 23, 42, 0.07);
    overflow: hidden;
}

.admin-category-card summary {
    align-items: center;
    cursor: pointer;
    display: flex;
    gap: 16px;
    justify-content: space-between;
    list-style: none;
    padding: 16px;
}

.admin-category-card summary::-webkit-details-marker {
    display: none;
}

.admin-category-main {
    align-items: center;
    display: flex;
    gap: 12px;
    min-width: 0;
}

.admin-category-icon {
    align-items: center;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    border-radius: 14px;
    color: #1d4ed8;
    display: inline-flex;
    flex: 0 0 auto;
    height: 42px;
    justify-content: center;
    width: 42px;
}

.admin-category-icon svg,
.admin-icon-action svg,
.admin-chip-action svg {
    height: 18px;
    width: 18px;
}

.admin-category-main strong {
    color: #0f172a;
    display: block;
    font-size: 16px;
    margin-bottom: 4px;
}

.admin-category-main p {
    color: #64748b;
    font-size: 13px;
    margin: 0;
}

.admin-category-meta,
.admin-category-actions {
    flex-wrap: wrap;
}

.admin-category-count,
.admin-category-status {
    border-radius: 999px;
    font-size: 12px;
    font-weight: 850;
    padding: 6px 10px;
    white-space: nowrap;
}

.admin-category-count {
    background: #f1f5f9;
    color: #475569;
}

.admin-category-status.is-active {
    background: #dcfce7;
    color: #166534;
}

.admin-category-status.is-inactive {
    background: #fee2e2;
    color: #991b1b;
}

.admin-category-chevron {
    color: #64748b;
    font-size: 18px;
    font-weight: 900;
    transition: transform 0.18s ease;
}

.admin-category-card details[open] .admin-category-chevron {
    transform: rotate(180deg);
}

.admin-category-card-body {
    border-top: 1px solid #e2e8f0;
    display: grid;
    gap: 12px;
    padding: 14px 16px 16px;
}

.admin-icon-action,
.admin-chip-action {
    align-items: center;
    border-radius: 12px;
    display: inline-flex;
    font-size: 12px;
    font-weight: 850;
    gap: 6px;
    justify-content: center;
    text-decoration: none;
    transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

.admin-icon-action {
    background: #ffffff;
    border: 1px solid #bfdbfe;
    color: #1d4ed8;
    min-height: 34px;
    padding: 8px 10px;
}

.admin-icon-action:hover,
.admin-chip-action:hover {
    transform: translateY(-1px);
}

.admin-icon-action.is-danger,
.admin-chip-action.is-danger {
    border-color: #fecaca;
    color: #dc2626;
}

.admin-subcategory-topline {
    color: #64748b;
    font-size: 13px;
}

.admin-subcategory-topline strong {
    color: #0f766e;
}

.admin-subcategory-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.admin-subcategory-chip {
    align-items: center;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
    display: inline-flex;
    gap: 8px;
    max-width: 100%;
    padding: 9px 10px;
}

.admin-subcategory-chip > div {
    display: grid;
    gap: 2px;
    min-width: 120px;
}

.admin-subcategory-chip strong {
    color: #0f172a;
    font-size: 13px;
}

.admin-subcategory-chip small {
    color: #64748b;
    font-size: 12px;
}

.admin-chip-action {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    color: #475569;
    height: 32px;
    padding: 0;
    width: 32px;
}

.admin-subcategory-empty {
    align-items: center;
    background: #f8fafc;
    border: 1px dashed #cbd5e1;
    border-radius: 14px;
    color: #64748b;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: space-between;
    padding: 14px;
}

.admin-subcategory-empty a {
    color: #1d4ed8;
    font-weight: 850;
    text-decoration: none;
}

@media (max-width: 760px) {
    .admin-category-manager-head,
    .admin-category-card summary {
        align-items: stretch;
        flex-direction: column;
    }

    .admin-category-filters {
        grid-template-columns: 1fr;
    }

    .admin-subcategory-chip {
        align-items: flex-start;
        width: 100%;
    }
}
/* Checkout premium ecommerce */
.checkout-progress {
    align-items: center;
    background: #ffffff;
    border: 1px solid #dbeafe;
    border-radius: 18px;
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.07);
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 0 0 22px;
    padding: 10px;
}

.checkout-progress span {
    align-items: center;
    border-radius: 14px;
    color: #64748b;
    display: inline-flex;
    font-size: 13px;
    font-weight: 850;
    justify-content: center;
    min-height: 38px;
    position: relative;
}

.checkout-progress span.is-complete {
    background: #ecfdf5;
    color: #047857;
}

.checkout-progress span.is-current {
    background: linear-gradient(135deg, #1d4ed8, #0b3b8f);
    color: #ffffff;
    box-shadow: 0 10px 22px rgba(29, 78, 216, 0.24);
}

.checkout-grid {
    gap: 28px;
    grid-template-columns: minmax(0, 1.32fr) minmax(360px, 0.82fr);
}

.checkout-hero,
.checkout-card {
    border-radius: 22px;
}

.checkout-hero {
    background: linear-gradient(135deg, #f8fbff, #eaf3ff);
    border-color: #bfdbfe;
    padding: clamp(22px, 3vw, 34px);
}

.checkout-card {
    border-color: #dbeafe;
    box-shadow: 0 24px 54px rgba(15, 23, 42, 0.09);
}

.checkout-card-head {
    background: linear-gradient(180deg, #ffffff, #f8fbff);
    padding: 28px 30px 22px;
}

.checkout-form-card form {
    padding: 0 30px 30px;
}

.checkout-section {
    background: #ffffff;
    border: 1px solid #eef2f7;
    border-radius: 18px;
    margin-top: 18px;
    padding: 20px;
}

.checkout-section:last-of-type {
    border-bottom: 1px solid #eef2f7;
}

.checkout-section-head h4 {
    font-size: 18px;
}

.checkout-form-card form input,
.checkout-form-card form select,
.checkout-form-card form textarea {
    background: #ffffff;
    border-color: #cbd5e1;
    border-radius: 14px;
    font-size: 15px;
    min-height: 48px;
    padding: 14px 16px;
}

.checkout-form-card form textarea {
    min-height: 108px;
}

.checkout-form-card form input:focus,
.checkout-form-card form select:focus,
.checkout-form-card form textarea:focus {
    border-color: #60a5fa;
    box-shadow: 0 0 0 4px rgba(96, 165, 250, 0.18);
}

.checkout-payment-methods {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 12px 0 4px;
}

.checkout-payment-methods span {
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    border-radius: 999px;
    color: #1e3a8a;
    font-size: 12px;
    font-weight: 850;
    padding: 7px 10px;
}

.checkout-summary-card {
    top: 96px;
}

.checkout-summary-list {
    gap: 12px;
    padding: 22px 26px 0;
}

.checkout-summary-item {
    align-items: center;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    display: grid;
    gap: 12px;
    grid-template-columns: 58px minmax(0, 1fr) auto;
    padding: 12px;
}

.checkout-summary-item img {
    aspect-ratio: 1;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    height: 58px;
    object-fit: cover;
    width: 58px;
}

.checkout-summary-item div {
    min-width: 0;
}

.checkout-summary-item div > strong {
    color: #0f172a;
    display: block;
    font-size: 14px;
    line-height: 1.25;
}

.checkout-summary-item span,
.checkout-summary-item small {
    color: #64748b;
    display: block;
    font-size: 12px;
    margin-top: 4px;
}

.checkout-summary-item > strong {
    color: #0b3b8f;
    font-size: 14px;
}

.checkout-total-box {
    border-radius: 18px;
    margin: 22px 26px 0;
    padding: 20px;
}

.checkout-final-button {
    align-items: center;
    background: linear-gradient(135deg, #0f766e, #1d4ed8);
    border: 0;
    border-radius: 16px;
    box-shadow: 0 18px 34px rgba(29, 78, 216, 0.28);
    display: flex;
    font-size: 17px;
    font-weight: 900;
    justify-content: center;
    margin: 18px 26px 0;
    min-height: 56px;
    width: calc(100% - 52px);
}

.checkout-final-button:hover,
.checkout-final-button:focus-visible {
    background: linear-gradient(135deg, #0f5f59, #0b3b8f);
    box-shadow: 0 22px 44px rgba(29, 78, 216, 0.34);
    transform: translateY(-1px);
}

.checkout-help-box {
    background: #f8fbff;
}

.checkout-trust-grid {
    display: grid;
    gap: 8px;
    grid-template-columns: 1fr;
    margin-bottom: 16px;
}

.checkout-trust-grid span {
    align-items: center;
    background: #ffffff;
    border: 1px solid #dbeafe;
    border-radius: 12px;
    color: #1e3a8a;
    display: flex;
    font-size: 13px;
    font-weight: 850;
    min-height: 38px;
    padding: 8px 10px;
}

.checkout-trust-grid span::before {
    align-items: center;
    background: #dcfce7;
    border-radius: 50%;
    color: #047857;
    content: "✓";
    display: inline-flex;
    font-size: 12px;
    height: 22px;
    justify-content: center;
    margin-right: 8px;
    width: 22px;
}

.checkout-submit-row {
    justify-content: flex-start;
}

@media (max-width: 900px) {
    .checkout-progress {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .checkout-grid {
        padding-bottom: 86px;
    }

    .checkout-summary-card {
        order: 2;
    }

    .checkout-form-card {
        order: 1;
    }

    .checkout-final-button {
        bottom: 14px;
        left: 22px;
        margin: 0;
        position: fixed;
        right: 22px;
        width: auto;
        z-index: 50;
    }
}

@media (max-width: 560px) {
    .checkout-card-head,
    .checkout-form-card form {
        padding-left: 18px;
        padding-right: 18px;
    }

    .checkout-section {
        padding: 16px;
    }

    .checkout-summary-item {
        grid-template-columns: 52px minmax(0, 1fr);
    }

    .checkout-summary-item > strong {
        grid-column: 2;
        justify-self: start;
    }

    .checkout-total-box,
    .checkout-final-button {
        margin-left: 18px;
        margin-right: 18px;
        width: calc(100% - 36px);
    }

    .checkout-final-button {
        left: 18px;
        margin: 0;
        right: 18px;
        width: auto;
    }
}

/* Free shipping progress */
.envio-gratis-card {
    align-items: center;
    background: linear-gradient(135deg, #f8fbff, #eef6ff);
    border: 1px solid #bfdbfe;
    border-radius: 20px;
    box-shadow: 0 18px 42px rgba(15, 23, 42, 0.08);
    display: grid;
    gap: 16px;
    grid-template-columns: auto minmax(0, 1fr);
    margin: 20px 0 22px;
    padding: 18px;
}

.envio-gratis-icono {
    align-items: center;
    background: #ffffff;
    border: 1px solid #dbeafe;
    border-radius: 16px;
    box-shadow: 0 10px 20px rgba(29, 78, 216, 0.1);
    color: #1d4ed8;
    display: inline-flex;
    font-size: 24px;
    height: 54px;
    justify-content: center;
    width: 54px;
}

.envio-gratis-contenido {
    min-width: 0;
}

.envio-gratis-topline {
    align-items: flex-start;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    margin-bottom: 12px;
}

.envio-gratis-topline p {
    color: #0f172a;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.35;
    margin: 0;
}

.envio-gratis-topline strong {
    color: #0b3b8f;
}

.envio-gratis-topline span {
    color: #64748b;
    flex: 0 0 auto;
    font-size: 12px;
    font-weight: 850;
    white-space: nowrap;
}

.envio-gratis-barra {
    background: #dbeafe;
    border-radius: 999px;
    height: 11px;
    overflow: hidden;
}

.envio-gratis-barra span {
    background: linear-gradient(90deg, #2563eb, #38bdf8);
    border-radius: inherit;
    display: block;
    height: 100%;
    min-width: 0;
    transition: width 0.25s ease;
}

.envio-gratis-montos {
    align-items: center;
    color: #64748b;
    display: flex;
    font-size: 12px;
    font-weight: 800;
    justify-content: space-between;
    margin-top: 9px;
}

.envio-gratis-montos strong {
    color: #1d4ed8;
    font-size: 13px;
}

.mobile-delivery-free-card {
    display: none;
}

@media (max-width: 640px) {
    .envio-gratis-card {
        align-items: flex-start;
        grid-template-columns: 1fr;
        padding: 16px;
    }

    .envio-gratis-icono {
        height: 46px;
        width: 46px;
    }

    .envio-gratis-topline {
        display: block;
    }

    .envio-gratis-topline span {
        display: inline-block;
        margin-top: 6px;
    }
}

/* Premium cart */
.carrito-premium {
    align-items: start;
    display: grid;
    gap: 26px;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 0.38fr);
    margin-top: 22px;
}

.cart-continue-mobile {
    display: none;
}

.carrito-premium-main,
.carrito-resumen-card,
.carrito-vacio-card {
    background: #ffffff;
    border: 1px solid #dbeafe;
    border-radius: 22px;
    box-shadow: 0 22px 52px rgba(15, 23, 42, 0.08);
}

.carrito-panel-head {
    align-items: center;
    background: linear-gradient(180deg, #ffffff, #f8fbff);
    border-bottom: 1px solid #e2e8f0;
    border-radius: 22px 22px 0 0;
    display: flex;
    gap: 16px;
    justify-content: space-between;
    padding: 24px 26px;
}

.carrito-panel-head h3,
.carrito-resumen-card h3,
.carrito-vacio-card h3 {
    color: #0f172a;
    margin: 0;
}

.carrito-seguir-btn {
    align-items: center;
    display: inline-flex;
    gap: 8px;
    justify-content: center;
    white-space: nowrap;
}

.carrito-seguir-btn span:first-child {
    font-size: 16px;
    line-height: 1;
}

.carrito-items-list {
    display: grid;
    gap: 14px;
    padding: 22px;
}

.carrito-item-card {
    align-items: center;
    animation: carritoItemEnter 0.22s ease both;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    display: grid;
    gap: 16px;
    grid-template-columns: 82px minmax(0, 1fr) auto minmax(120px, auto) auto;
    padding: 14px;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.carrito-item-card:hover {
    border-color: #bfdbfe;
    box-shadow: 0 16px 34px rgba(29, 78, 216, 0.1);
    transform: translateY(-1px);
}

.carrito-item-card img {
    aspect-ratio: 1;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    height: 82px;
    object-fit: cover;
    width: 82px;
}

.carrito-item-info {
    min-width: 0;
}

.carrito-item-info span {
    color: #1d4ed8;
    display: block;
    font-size: 12px;
    font-weight: 900;
    margin-bottom: 5px;
    text-transform: uppercase;
}

.carrito-item-info h4 {
    color: #0f172a;
    font-size: 16px;
    line-height: 1.3;
    margin: 0 0 6px;
}

.carrito-item-info p {
    color: #64748b;
    font-size: 13px;
    margin: 0;
}

.carrito-item-info p strong {
    color: #0b3b8f;
}

.carrito-cantidad-control {
    align-items: center;
    background: #ffffff;
    border: 1px solid #cbd5e1;
    border-radius: 999px;
    display: inline-flex;
    gap: 6px;
    padding: 5px;
}

.carrito-cantidad-control a {
    align-items: center;
    background: #eff6ff;
    border-radius: 50%;
    color: #1d4ed8;
    display: inline-flex;
    font-size: 18px;
    font-weight: 900;
    height: 34px;
    justify-content: center;
    line-height: 1;
    text-decoration: none;
    transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
    width: 34px;
}

.carrito-cantidad-control a:hover,
.carrito-cantidad-control a:focus-visible {
    background: #1d4ed8;
    color: #ffffff;
    transform: translateY(-1px);
}

.carrito-cantidad-control strong {
    color: #0f172a;
    min-width: 28px;
    text-align: center;
}

.carrito-item-subtotal {
    text-align: right;
}

.carrito-item-subtotal span {
    color: #64748b;
    display: block;
    font-size: 12px;
    font-weight: 800;
    margin-bottom: 4px;
}

.carrito-item-subtotal strong {
    color: #0b3b8f;
    font-size: 15px;
}

.carrito-eliminar {
    background: #fff1f2;
    border: 1px solid #fecdd3;
    border-radius: 999px;
    color: #be123c;
    font-size: 12px;
    font-weight: 900;
    padding: 9px 12px;
    text-decoration: none;
    transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.carrito-eliminar:hover,
.carrito-eliminar:focus-visible {
    background: #be123c;
    color: #ffffff;
    transform: translateY(-1px);
}

.carrito-resumen-card {
    padding: 24px;
    position: sticky;
    top: 92px;
}

.carrito-resumen-card .envio-gratis-card {
    box-shadow: none;
    grid-template-columns: 1fr;
    margin: 18px 0;
    padding: 16px;
}

.carrito-resumen-card .envio-gratis-icono {
    display: none;
}

.carrito-resumen-card .envio-gratis-topline {
    display: block;
}

.carrito-resumen-card .envio-gratis-topline span {
    display: inline-block;
    margin-top: 6px;
}

.carrito-resumen-lineas {
    border-radius: 18px;
    overflow: hidden;
}

.carrito-checkout-btn {
    align-items: center;
    border-radius: 16px;
    display: flex;
    font-size: 16px;
    font-weight: 900;
    justify-content: center;
    margin-top: 18px;
    min-height: 54px;
    width: 100%;
}

.carrito-vaciar-link {
    color: #64748b;
    display: block;
    font-size: 13px;
    font-weight: 850;
    margin-top: 14px;
    text-align: center;
    text-decoration: none;
}

.carrito-vaciar-link:hover,
.carrito-vaciar-link:focus-visible {
    color: #be123c;
}

.checkout-total-box,
.carrito-resumen-lineas {
    background: linear-gradient(135deg, #0b3b8f, #1d4ed8);
    border: 1px solid rgba(255, 255, 255, 0.18);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12);
    color: #ffffff;
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 22px;
}

.resumen-linea {
    align-items: center;
    border-bottom: 1px solid rgba(255, 255, 255, 0.18);
    display: flex;
    gap: 16px;
    justify-content: space-between;
    min-width: 0;
    padding: 12px 0;
}

.resumen-linea span {
    color: rgba(255, 255, 255, 0.82);
    font-size: 14px;
    font-weight: 750;
    line-height: 1.25;
}

.resumen-linea strong {
    color: #ffffff;
    flex: 0 0 auto;
    font-size: 15px;
    font-weight: 900;
    line-height: 1.2;
    text-align: right;
    white-space: nowrap;
}

.resumen-linea-beneficio strong {
    color: #bbf7d0;
}

.resumen-delivery-badge {
    align-items: center;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 14px;
    color: #ffffff;
    display: flex;
    gap: 10px;
    line-height: 1.35;
    margin: 14px 0;
    padding: 12px 14px;
}

.resumen-delivery-badge span {
    align-items: center;
    background: rgba(255, 255, 255, 0.18);
    border-radius: 999px;
    display: inline-flex;
    flex: 0 0 auto;
    height: 30px;
    justify-content: center;
    width: 30px;
}

.resumen-delivery-badge strong {
    color: #ffffff;
    font-size: 13px;
    font-weight: 850;
}

.resumen-linea-total {
    border-bottom: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.26);
    margin-top: 2px;
    padding-bottom: 0;
    padding-top: 18px;
}

.resumen-linea-total span {
    color: #ffffff;
    font-size: 15px;
    font-weight: 900;
}

.resumen-linea-total strong {
    font-size: clamp(20px, 3vw, 26px);
}

.carrito-vacio-card {
    margin: 28px auto;
    max-width: 760px;
    padding: clamp(26px, 5vw, 48px);
    text-align: center;
}

.carrito-vacio-icono {
    align-items: center;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    border-radius: 22px;
    color: #1d4ed8;
    display: inline-flex;
    font-size: 38px;
    height: 82px;
    justify-content: center;
    margin-bottom: 18px;
    width: 82px;
}

.carrito-vacio-card > p:not(.dashboard-label) {
    color: #64748b;
    line-height: 1.6;
    margin: 10px auto 0;
    max-width: 520px;
}

.carrito-vacio-card .envio-gratis-card {
    margin: 24px auto;
    max-width: 580px;
    text-align: left;
}

@keyframes carritoItemEnter {
    from {
        opacity: 0;
        transform: translateY(8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 980px) {
    .carrito-premium {
        grid-template-columns: 1fr;
    }

    .carrito-resumen-card {
        position: static;
    }
}

@media (max-width: 768px) {
    .carrito-premium {
        align-items: stretch;
        display: flex;
        flex-direction: column;
    }

    .carrito-premium-main {
        order: 1;
        width: 100%;
    }

    .carrito-items-list {
        display: grid;
        overflow: visible;
    }

    .carrito-resumen-card {
        bottom: auto !important;
        height: auto !important;
        max-height: none !important;
        order: 2;
        overflow: visible;
        position: relative !important;
        top: auto !important;
        width: 100%;
        z-index: auto;
    }

    .cart-continue-mobile {
        align-items: center;
        background: #ffffff;
        border: 1px solid #dbeafe;
        border-radius: 14px;
        color: #0b2f6b;
        display: flex !important;
        font-weight: 700;
        justify-content: center;
        margin: 12px 0 16px;
        padding: 12px 16px;
        position: relative;
        text-decoration: none;
        width: 100%;
        z-index: 2;
    }

    .carrito-panel-head .carrito-seguir-btn {
        display: none !important;
    }
}

@media (max-width: 720px) {
    .carrito-panel-head {
        align-items: stretch;
        flex-direction: column;
        padding: 20px;
    }

    .carrito-panel-head > div {
        width: 100%;
    }

    .carrito-panel-head .btn {
        justify-content: center;
        width: 100%;
    }

    .carrito-items-list {
        padding: 16px;
    }

    .carrito-item-card {
        align-items: stretch;
        grid-template-columns: 76px minmax(0, 1fr);
        padding: 14px;
    }

    .carrito-item-card img {
        height: 76px;
        width: 76px;
    }

    .carrito-cantidad-control,
    .carrito-item-subtotal,
    .carrito-eliminar {
        grid-column: 1 / -1;
    }

    .carrito-cantidad-control {
        justify-content: space-between;
        width: 100%;
    }

    .carrito-cantidad-control a {
        height: 42px;
        width: 42px;
    }

    .carrito-item-subtotal {
        align-items: center;
        display: flex;
        justify-content: space-between;
        text-align: left;
    }

    .carrito-eliminar {
        text-align: center;
    }

    .carrito-resumen-card {
        padding: 18px;
    }
}

@media (max-width: 560px) {
    .carrito-premium {
        gap: 18px;
    }

    .carrito-resumen-card {
        border-radius: 18px;
        bottom: auto !important;
        box-shadow: 0 18px 42px rgba(15, 23, 42, 0.08);
        position: relative !important;
        top: auto !important;
        z-index: auto;
    }

    .carrito-resumen-card .envio-gratis-card {
        margin: 12px 0;
    }

    .carrito-checkout-btn {
        min-height: 58px;
    }
}

/* Checkout single-page refinement */
.checkout-progress-oculto {
    display: none;
}

.checkout-grid {
    align-items: start;
    grid-template-columns: minmax(0, 1.18fr) minmax(340px, 0.62fr);
}

.checkout-form-card {
    background: transparent;
    border: 0;
    box-shadow: none;
}

.checkout-form-card > .checkout-card-head {
    border: 1px solid #dbeafe;
    border-radius: 22px;
    box-shadow: 0 18px 42px rgba(15, 23, 42, 0.07);
    margin-bottom: 18px;
}

.checkout-form-card form {
    padding: 0;
}

.checkout-section {
    border-color: #dbeafe;
    box-shadow: 0 18px 42px rgba(15, 23, 42, 0.07);
    margin-top: 18px;
}

.checkout-section-head {
    margin-bottom: 16px;
}

.checkout-payment-select {
    height: 1px;
    margin: 0;
    opacity: 0;
    padding: 0;
    pointer-events: none;
    position: absolute;
    width: 1px;
}

.checkout-payment-methods {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 12px 0 16px;
}

.checkout-payment-card {
    align-items: center;
    background: #ffffff;
    border: 1px solid #dbeafe;
    border-radius: 16px;
    color: #0f172a;
    cursor: pointer;
    display: flex;
    gap: 10px;
    min-height: 64px;
    padding: 12px;
    text-align: left;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease, background 0.2s ease;
}

.checkout-payment-card span {
    align-items: center;
    background: #eff6ff;
    border-radius: 12px;
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 20px;
    height: 38px;
    justify-content: center;
    width: 38px;
}

.checkout-payment-card strong {
    font-size: 13px;
    line-height: 1.2;
}

.checkout-payment-card:hover,
.checkout-payment-card:focus-visible,
.checkout-payment-card.is-selected {
    background: #f8fbff;
    border-color: #2563eb;
    box-shadow: 0 14px 28px rgba(37, 99, 235, 0.12);
    outline: 0;
    transform: translateY(-1px);
}

.checkout-payment-card.is-selected span {
    background: #1d4ed8;
    color: #ffffff;
}

.checkout-summary-card {
    position: sticky;
    top: 96px;
}

.checkout-summary-card .envio-gratis-card {
    box-shadow: none;
    grid-template-columns: 1fr;
    margin: 18px 26px 0;
    padding: 16px;
}

.checkout-summary-card .envio-gratis-icono {
    display: none;
}

.checkout-summary-card .envio-gratis-topline {
    display: block;
}

.checkout-summary-card .envio-gratis-topline span {
    display: inline-block;
    margin-top: 6px;
}

.checkout-final-button {
    font-size: 18px;
    min-height: 60px;
}

.checkout-trust-grid {
    grid-template-columns: 1fr 1fr;
}

.checkout-trust-grid span::before {
    content: attr(data-icon);
}

.checkout-trust-grid span:not([data-icon]) {
    display: none;
}

.pedido-exito-premium {
    border-color: #bfdbfe;
    border-radius: 24px;
    box-shadow: 0 26px 60px rgba(15, 23, 42, 0.1);
    max-width: 820px;
    padding: clamp(26px, 5vw, 46px);
    text-align: center;
}

.pedido-exito-icono {
    align-items: center;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    border-radius: 24px;
    color: #1d4ed8;
    display: inline-flex;
    font-size: 42px;
    height: 88px;
    justify-content: center;
    margin-bottom: 18px;
    width: 88px;
}

.pedido-exito-premium h2 {
    color: #0f172a;
    font-size: clamp(28px, 4vw, 42px);
    margin-bottom: 10px;
}

.pedido-exito-intro {
    color: #475569;
    line-height: 1.7;
    margin: 0 auto 22px;
    max-width: 620px;
}

.pedido-exito-resumen {
    background: #f8fbff;
    border: 1px solid #dbeafe;
    border-radius: 18px;
    display: grid;
    gap: 0;
    grid-template-columns: 1fr auto;
    margin: 24px auto;
    max-width: 560px;
    overflow: hidden;
    text-align: left;
}

.pedido-exito-resumen span,
.pedido-exito-resumen strong {
    border-bottom: 1px solid #e2e8f0;
    color: #475569;
    padding: 13px 16px;
}

.pedido-exito-resumen strong {
    color: #0b3b8f;
    text-align: right;
}

@media (max-width: 900px) {
    .checkout-grid {
        grid-template-columns: 1fr;
        padding-bottom: 96px;
    }

    .checkout-summary-card {
        order: 2;
        position: static;
    }

    .checkout-final-button {
        bottom: 14px;
        left: 18px;
        margin: 0;
        position: fixed;
        right: 18px;
        width: auto;
        z-index: 60;
    }
}

@media (max-width: 640px) {
    .checkout-hero {
        align-items: flex-start;
        flex-direction: column;
    }

    .checkout-card-head,
    .checkout-form-card > .checkout-card-head,
    .checkout-section,
    .checkout-summary-card {
        border-radius: 18px;
    }

    .checkout-payment-methods,
    .checkout-trust-grid {
        grid-template-columns: 1fr;
    }

    .checkout-payment-card {
        min-height: 58px;
    }

    .checkout-summary-card .envio-gratis-card,
    .checkout-total-box,
    .checkout-final-button {
        margin-left: 18px;
        margin-right: 18px;
        width: calc(100% - 36px);
    }

    .checkout-final-button {
        left: 18px;
        margin: 0;
        right: 18px;
        width: auto;
    }

    .pedido-exito-resumen {
        grid-template-columns: 1fr;
    }

    .pedido-exito-resumen strong {
        text-align: left;
    }
}

/* Checkout location selector */
.checkout-location-card {
    background: linear-gradient(135deg, #f8fbff, #eef6ff);
    border: 1px solid #bfdbfe;
    border-radius: 18px;
    margin-top: 18px;
    padding: 16px;
}

.checkout-location-head {
    align-items: center;
    display: flex;
    gap: 14px;
    justify-content: space-between;
    margin-bottom: 14px;
}

.checkout-location-head strong {
    color: #0f172a;
    display: block;
    font-size: 15px;
}

.checkout-location-head small {
    color: #64748b;
    display: block;
    margin-top: 3px;
}

.checkout-location-button {
    flex: 0 0 auto;
    margin: 0;
}

.checkout-location-map {
    background:
        radial-gradient(circle at 25% 35%, rgba(37, 99, 235, 0.16), transparent 26%),
        radial-gradient(circle at 75% 55%, rgba(14, 165, 233, 0.14), transparent 28%),
        linear-gradient(135deg, #ffffff, #dbeafe);
    border: 1px solid #bfdbfe;
    border-radius: 18px;
    cursor: crosshair;
    height: 240px;
    overflow: hidden;
    position: relative;
    touch-action: none;
}

.checkout-location-map.leaflet-container {
    background: #dbeafe;
    cursor: grab;
    font-family: inherit;
    touch-action: pan-x pan-y;
}

.checkout-location-map.leaflet-container::before,
.checkout-location-map.leaflet-container::after {
    display: none;
}

.checkout-location-map .leaflet-control-attribution {
    font-size: 10px;
}

.checkout-location-map .leaflet-marker-icon {
    filter: drop-shadow(0 10px 16px rgba(29, 78, 216, 0.28));
}

.checkout-location-map.leaflet-unavailable {
    align-items: center;
    cursor: default;
    display: flex;
    justify-content: center;
}

.checkout-location-map.leaflet-unavailable::before {
    background: transparent;
    color: #1e3a8a;
    content: "Mapa no disponible";
    font-size: 14px;
    font-weight: 900;
    height: auto;
    left: auto;
    position: static;
    top: auto;
    transform: none;
    width: auto;
}

.checkout-location-grid {
    background-image:
        linear-gradient(rgba(37, 99, 235, 0.11) 1px, transparent 1px),
        linear-gradient(90deg, rgba(37, 99, 235, 0.11) 1px, transparent 1px);
    background-size: 34px 34px;
    inset: 0;
    position: absolute;
}

.checkout-location-map::before,
.checkout-location-map::after {
    background: rgba(29, 78, 216, 0.18);
    content: "";
    position: absolute;
}

.checkout-location-map::before {
    height: 46px;
    left: 12%;
    top: 48%;
    transform: rotate(-18deg);
    width: 86%;
}

.checkout-location-map::after {
    height: 58%;
    left: 48%;
    top: 10%;
    transform: rotate(24deg);
    width: 42px;
}

.checkout-location-pin {
    background: #1d4ed8;
    border: 4px solid #ffffff;
    border-radius: 50% 50% 50% 0;
    box-shadow: 0 14px 28px rgba(29, 78, 216, 0.35);
    height: 28px;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -100%) rotate(-45deg);
    transition: left 0.2s ease, top 0.2s ease, transform 0.2s ease;
    width: 28px;
    z-index: 2;
}

.checkout-location-pin::after {
    background: #ffffff;
    border-radius: 50%;
    content: "";
    height: 8px;
    left: 6px;
    position: absolute;
    top: 6px;
    width: 8px;
}

.checkout-location-map.has-location .checkout-location-pin {
    transform: translate(-50%, -100%) rotate(-45deg) scale(1.08);
}

.checkout-location-status {
    background: #ffffff;
    border: 1px solid #dbeafe;
    border-radius: 12px;
    color: #1e3a8a;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.45;
    margin-top: 12px;
    padding: 10px 12px;
}

.checkout-location-coordinates {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
}

.checkout-location-coordinates span {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 999px;
    color: #64748b;
    font-size: 12px;
    font-weight: 850;
    padding: 7px 10px;
}

.checkout-location-coordinates strong {
    color: #0b3b8f;
}

@media (max-width: 640px) {
    .checkout-total-box,
    .carrito-resumen-lineas {
        padding: 18px;
    }

    .resumen-linea {
        align-items: flex-start;
        gap: 8px;
    }

    .resumen-linea span {
        max-width: 46%;
    }

    .resumen-linea strong {
        max-width: 54%;
        white-space: normal;
    }

    .resumen-delivery-badge {
        align-items: flex-start;
    }

    .checkout-location-head {
        align-items: stretch;
        flex-direction: column;
    }

    .checkout-location-button {
        justify-content: center;
        width: 100%;
    }

    .checkout-location-map {
        height: 210px;
    }

    .checkout-location-coordinates {
        display: grid;
        grid-template-columns: 1fr;
    }
}

/* Final checkout step overrides */
.checkout-steps-progress {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.checkout-step-panel {
    display: none;
}

.checkout-step-panel.is-active {
    display: block;
}

.checkout-submit-row {
    align-items: center;
    background: #ffffff;
    border: 1px solid #dbeafe;
    border-radius: 18px;
    box-shadow: 0 16px 34px rgba(15, 23, 42, 0.07);
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: space-between;
    margin-top: 18px;
    padding: 14px;
}

.checkout-step-prev,
.checkout-step-next,
.checkout-step-confirm {
    align-items: center;
    border-radius: 14px;
    display: inline-flex;
    justify-content: center;
    margin: 0;
    min-height: 48px;
}

@media (max-width: 900px) {
    .checkout-grid[data-current-step="1"] .checkout-summary-card,
    .checkout-grid[data-current-step="2"] .checkout-summary-card {
        display: none;
    }
}

/* Premium product description */
.producto-descripcion-premium {
    display: grid;
    gap: 18px;
    margin-bottom: 22px;
}

/* Minimal checkout progress */
.checkout-progress.checkout-steps-progress {
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    display: grid;
    gap: 0;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0 auto 12px;
    max-width: 300px;
    padding: 0;
    position: relative;
}

.checkout-progress.checkout-steps-progress span {
    align-items: center;
    background: transparent;
    border-radius: 0;
    color: #1f2937;
    cursor: pointer;
    display: flex;
    font-size: 12px;
    font-weight: 650;
    gap: 7px;
    justify-content: center;
    letter-spacing: 0;
    line-height: 1.2;
    min-height: 24px;
    padding: 0 6px;
    position: relative;
    text-align: center;
    transition: color 0.18s ease;
    z-index: 1;
}

.checkout-progress.checkout-steps-progress span::before {
    align-items: center;
    background: #ffffff;
    border: 1px solid #cfd6e1;
    border-radius: 999px;
    color: #475467;
    content: attr(data-step-indicator);
    display: inline-flex;
    font-size: 10px;
    font-weight: 800;
    height: 18px;
    justify-content: center;
    line-height: 1;
    transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease;
    width: 18px;
}

.checkout-progress.checkout-steps-progress span:not(:last-child)::after {
    background: #d8dee8;
    content: "";
    height: 1px;
    left: calc(50% + 42px);
    position: absolute;
    right: calc(-50% + 42px);
    top: 50%;
    transform: translateY(-50%);
    z-index: -1;
}

.checkout-progress.checkout-steps-progress span.is-complete,
.checkout-progress.checkout-steps-progress span.is-current {
    color: #0d47a1;
}

.checkout-progress.checkout-steps-progress span.is-complete::before,
.checkout-progress.checkout-steps-progress span.is-current::before {
    background: #0d47a1;
    border-color: #0d47a1;
    color: #ffffff;
}

.checkout-progress.checkout-steps-progress span.is-complete::before {
    content: "\2713";
}

@media (max-width: 640px) {
    .checkout-progress.checkout-steps-progress {
        margin: 0 0 10px;
        max-width: none;
    }

    .checkout-progress.checkout-steps-progress span {
        font-size: 12px;
        gap: 6px;
        min-height: 22px;
        padding: 0 4px;
    }

    .checkout-progress.checkout-steps-progress span::before {
        height: 16px;
        width: 16px;
    }

    .checkout-progress.checkout-steps-progress span:not(:last-child)::after {
        left: calc(50% + 38px);
        right: calc(-50% + 38px);
    }
}

.producto-descripcion-head {
    background: linear-gradient(135deg, #f8fbff, #eef6ff);
    border: 1px solid #dbeafe;
    border-radius: 18px;
    padding: clamp(18px, 3vw, 26px);
}

.producto-descripcion-head span,
.producto-spec-head span {
    color: #1d4ed8;
    display: block;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.06em;
    margin-bottom: 8px;
    text-transform: uppercase;
}

.producto-descripcion-head h3 {
    color: #0f172a;
    font-size: clamp(22px, 3vw, 32px);
    line-height: 1.12;
    margin: 0 0 8px;
}

.producto-descripcion-head p,
.producto-spec-head p {
    color: #64748b;
    line-height: 1.6;
    margin: 0;
}

.producto-tech-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.producto-tech-badges span {
    align-items: center;
    background: #ffffff;
    border: 1px solid #dbeafe;
    border-radius: 999px;
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.05);
    color: #0f172a;
    display: inline-flex;
    font-size: 13px;
    font-weight: 850;
    gap: 8px;
    min-height: 38px;
    padding: 8px 12px;
}

.producto-tech-badges strong {
    color: #1d4ed8;
    font-size: 11px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.producto-feature-cards {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.producto-feature-cards article {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    box-shadow: 0 14px 32px rgba(15, 23, 42, 0.06);
    display: grid;
    gap: 8px;
    padding: 18px;
}

.producto-feature-cards article > span {
    align-items: center;
    background: #eff6ff;
    border-radius: 14px;
    color: #1d4ed8;
    display: inline-flex;
    font-size: 22px;
    height: 44px;
    justify-content: center;
    width: 44px;
}

.producto-feature-cards strong {
    color: #0f172a;
    font-size: 15px;
}

.producto-feature-cards p {
    color: #64748b;
    font-size: 13px;
    line-height: 1.55;
    margin: 0;
}

.producto-spec-head {
    background: #f8fbff;
    border: 1px solid #dbeafe;
    border-radius: 16px;
    margin-bottom: 14px;
    padding: 16px;
}

.producto-spec-grid div {
    border-color: #dbeafe;
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.04);
}

@media (max-width: 780px) {
    .producto-feature-cards {
        grid-template-columns: 1fr;
    }

    .producto-tech-badges span {
        align-items: flex-start;
        border-radius: 14px;
        flex-direction: column;
        gap: 4px;
        width: 100%;
    }
}

/* Simplified product information */
.producto-info-stack {
    gap: clamp(18px, 3vw, 24px);
}

.producto-info-section {
    border-color: #dbeafe;
}

.producto-info-stack .producto-info-section:nth-child(n + 3),
.producto-application-grid,
.producto-compat-grid {
    display: none;
}

.producto-feature-cards {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.producto-feature-cards article {
    align-items: flex-start;
    border-color: #dbeafe;
    border-radius: 18px;
    box-shadow: 0 14px 30px rgba(15, 23, 42, 0.06);
    grid-template-columns: auto 1fr;
    position: relative;
}

.producto-feature-cards article > span {
    background: #dcfce7;
    color: #166534;
    font-size: 0;
    height: 42px;
    width: 42px;
}

.producto-feature-cards article > span::before {
    content: "✓";
    font-size: 22px;
    font-weight: 950;
    line-height: 1;
}

.producto-feature-cards article strong,
.producto-feature-cards article p {
    grid-column: 2;
}

.producto-feature-cards article strong {
    margin-top: 2px;
}

@media (max-width: 820px) {
    .producto-feature-cards {
        grid-template-columns: 1fr;
    }

    .producto-feature-cards article {
        align-items: center;
        display: grid;
        grid-template-columns: 42px 1fr;
        padding: 16px;
    }
}

.admin-product-quick-specs {
    background: linear-gradient(180deg, #ffffff, #f8fbff);
    border: 1px solid #dbeafe;
    border-radius: 18px;
    box-shadow: 0 14px 30px rgba(15, 23, 42, 0.06);
    display: grid;
    gap: 12px;
    margin-top: 16px;
    padding: 16px;
}

.admin-product-quick-specs-head {
    align-items: center;
    display: flex;
    gap: 12px;
    justify-content: space-between;
}

.admin-product-quick-specs-head span {
    color: #1d4ed8;
    display: block;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.admin-product-quick-specs-head strong {
    color: #0f172a;
    display: block;
    font-size: 16px;
    margin-top: 3px;
}

.admin-product-quick-specs-head em {
    background: #e0f2fe;
    border-radius: 999px;
    color: #0f4aa8;
    font-size: 12px;
    font-style: normal;
    font-weight: 850;
    padding: 8px 10px;
    white-space: nowrap;
}

.admin-product-quick-specs textarea {
    background: #ffffff;
    border: 1px solid #bfdbfe;
    border-radius: 14px;
    color: #0f172a;
    font-family: Consolas, Monaco, monospace;
    font-size: 14px;
    line-height: 1.6;
    min-height: 170px;
    padding: 14px;
    resize: vertical;
}

.admin-product-quick-specs textarea:focus {
    border-color: #1d4ed8;
    box-shadow: 0 0 0 4px rgba(29, 78, 216, 0.12);
    outline: none;
}

@media (max-width: 640px) {
    .admin-product-quick-specs-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .admin-product-quick-specs-head em {
        white-space: normal;
    }
}

/* Professional product description editor */
.admin-product-section-description {
    container-type: inline-size;
}

.producto-rich-toolbar.ql-toolbar.ql-snow {
    align-items: center;
    background: linear-gradient(180deg, #ffffff, #f8fbff);
    border: 1px solid #dbeafe;
    border-radius: 18px 18px 0 0;
    box-shadow: 0 18px 38px rgba(15, 23, 42, 0.07);
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 12px;
}

.producto-rich-toolbar.ql-toolbar.ql-snow .ql-formats {
    align-items: center;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    display: inline-flex;
    flex-wrap: wrap;
    gap: 4px;
    margin: 0;
    min-height: 42px;
    padding: 5px;
}

.producto-rich-toolbar.ql-toolbar.ql-snow button,
.producto-rich-toolbar.ql-toolbar.ql-snow .ql-picker-label,
.producto-rich-toolbar.ql-toolbar.ql-snow .ql-color-picker .ql-picker-label,
.producto-rich-toolbar.ql-toolbar.ql-snow .ql-icon-picker .ql-picker-label {
    border-radius: 10px;
}

.producto-rich-toolbar.ql-toolbar.ql-snow button:hover,
.producto-rich-toolbar.ql-toolbar.ql-snow button.ql-active,
.producto-rich-toolbar.ql-toolbar.ql-snow .ql-picker-label:hover {
    background: #e0f2fe;
    color: #0f4aa8;
}

.producto-rich-toolbar.ql-toolbar.ql-snow .ql-picker {
    color: #0f172a;
    font-size: 13px;
}

.producto-editor-actions {
    flex: 1 1 100%;
}

.producto-editor-tool {
    align-items: center;
    background: #ffffff;
    border: 1px solid #dbeafe !important;
    border-radius: 999px !important;
    color: #0f4aa8;
    display: inline-flex;
    font-size: 12px;
    font-weight: 850;
    gap: 6px;
    height: 34px !important;
    justify-content: center;
    line-height: 1;
    padding: 0 12px !important;
    transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
    white-space: nowrap;
    width: auto !important;
}

.producto-editor-tool:hover {
    border-color: #93c5fd !important;
    transform: translateY(-1px);
}

.producto-editor-tool-primary {
    background: #0f62fe !important;
    border-color: #0f62fe !important;
    color: #ffffff !important;
}

.producto-rich-editor.ql-container {
    border: 1px solid #dbeafe;
    border-top: 0;
    border-radius: 0 0 18px 18px;
    box-shadow: 0 18px 38px rgba(15, 23, 42, 0.06);
    min-height: 300px;
}

.producto-rich-editor .ql-editor {
    min-height: 300px;
    padding: clamp(18px, 3vw, 28px);
}

.producto-rich-editor .ql-editor h1,
.producto-rich-editor .ql-editor h2,
.producto-rich-editor .ql-editor h3 {
    color: #0f172a;
    line-height: 1.18;
    margin: 18px 0 10px;
}

.producto-rich-editor .ql-editor ul,
.producto-rich-editor .ql-editor ol {
    display: grid;
    gap: 8px;
    margin-bottom: 16px;
    padding-left: 1.35em;
}

.producto-rich-editor .ql-editor img,
.producto-descripcion-texto img {
    border-radius: 16px;
    box-shadow: 0 16px 34px rgba(15, 23, 42, 0.10);
    display: block;
    height: auto;
    margin: 16px 0;
    max-width: 100%;
}

.producto-rich-editor .ql-editor table,
.producto-descripcion-texto table,
.producto-editor-preview-frame table {
    background: #ffffff;
    border: 1px solid #dbeafe;
    border-collapse: separate;
    border-radius: 16px;
    border-spacing: 0;
    box-shadow: 0 14px 30px rgba(15, 23, 42, 0.06);
    margin: 18px 0;
    overflow: hidden;
    width: 100%;
}

.producto-rich-editor .ql-editor th,
.producto-rich-editor .ql-editor td,
.producto-descripcion-texto th,
.producto-descripcion-texto td,
.producto-editor-preview-frame th,
.producto-editor-preview-frame td {
    border-bottom: 1px solid #e2e8f0;
    color: #334155;
    font-size: 14px;
    line-height: 1.5;
    padding: 13px 14px;
    text-align: left;
    vertical-align: top;
}

.producto-rich-editor .ql-editor th,
.producto-descripcion-texto th,
.producto-editor-preview-frame th {
    background: #eff6ff;
    color: #0f4aa8;
    font-weight: 900;
}

.producto-rich-editor .ql-editor tr:last-child td,
.producto-rich-editor .ql-editor tr:last-child th,
.producto-descripcion-texto tr:last-child td,
.producto-descripcion-texto tr:last-child th,
.producto-editor-preview-frame tr:last-child td,
.producto-editor-preview-frame tr:last-child th {
    border-bottom: 0;
}

.producto-editor-preview {
    background: #f8fbff;
    border: 1px solid #dbeafe;
    border-radius: 18px;
    box-shadow: 0 18px 38px rgba(15, 23, 42, 0.07);
    margin-top: 14px;
    padding: 14px;
}

.producto-editor-preview-head {
    align-items: center;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    margin-bottom: 14px;
}

.producto-editor-preview-head strong {
    color: #0f172a;
    display: block;
    font-size: 15px;
}

.producto-editor-preview-head span {
    color: #64748b;
    display: block;
    font-size: 12px;
    margin-top: 2px;
}

.producto-editor-preview-modes {
    background: #eaf3ff;
    border-radius: 999px;
    display: inline-flex;
    padding: 4px;
}

.producto-editor-preview-modes button {
    background: transparent;
    border: 0;
    border-radius: 999px;
    color: #0f4aa8;
    cursor: pointer;
    font-size: 12px;
    font-weight: 850;
    padding: 8px 12px;
}

.producto-editor-preview-modes button.is-active {
    background: #ffffff;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.08);
    color: #0f172a;
}

.producto-editor-preview-stage {
    background: #e2e8f0;
    border-radius: 16px;
    display: flex;
    justify-content: center;
    padding: 14px;
}

.producto-editor-preview-frame {
    background: #ffffff;
    border-radius: 14px;
    box-shadow: 0 16px 34px rgba(15, 23, 42, 0.12);
    color: #0f172a;
    max-width: 100%;
    min-height: 180px;
    padding: clamp(16px, 3vw, 24px);
    transition: max-width 0.2s ease;
    width: 100%;
}

.producto-editor-preview.is-mobile-preview .producto-editor-preview-frame {
    max-width: 390px;
}

.producto-editor-empty-preview {
    color: #94a3b8;
    margin: 0;
}

@media (max-width: 720px) {
    .producto-rich-toolbar.ql-toolbar.ql-snow {
        border-radius: 16px 16px 0 0;
        gap: 6px;
        padding: 10px;
    }

    .producto-rich-toolbar.ql-toolbar.ql-snow .ql-formats,
    .producto-editor-actions {
        width: 100%;
    }

    .producto-editor-tool {
        flex: 1 1 calc(50% - 6px);
        min-width: 120px;
    }

    .producto-editor-preview-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .producto-rich-editor .ql-editor table,
    .producto-descripcion-texto table,
    .producto-editor-preview-frame table {
        display: block;
        overflow-x: auto;
        white-space: nowrap;
    }
}

/* Final catalog ecommerce overrides */
.catalogo-bristol-shell {
    --catalog-blue: #006de5;
    --catalog-blue-dark: #004fae;
    background: #f8f9fa;
}

.catalogo-bristol-shell .catalogo-top-tools {
    align-items: end;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(220px, 1fr) minmax(180px, 240px) minmax(180px, 240px) auto;
    margin: 0 0 14px;
    padding: 14px;
}

.catalogo-bristol-shell .catalogo-top-field {
    display: grid;
    gap: 6px;
}

.catalogo-bristol-shell .catalogo-top-field span {
    color: #4b5563;
    font-size: 12px;
    font-weight: 600;
}

.catalogo-bristol-shell .catalogo-top-field input,
.catalogo-bristol-shell .catalogo-top-field select,
.catalogo-bristol-shell .catalogo-filter-select select {
    background: #ffffff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    color: #374151;
    font-size: 14px;
    min-height: 40px;
    padding: 0 12px;
    width: 100%;
}

.catalogo-bristol-shell .catalogo-top-field input:focus,
.catalogo-bristol-shell .catalogo-top-field select:focus,
.catalogo-bristol-shell .catalogo-filter-select select:focus {
    border-color: #9ca3af;
    box-shadow: 0 0 0 3px rgba(75, 85, 99, 0.12);
    outline: none;
}

.catalogo-bristol-shell .catalogo-top-submit {
    background: #111827;
    border: 1px solid #111827;
    border-radius: 8px;
    color: #ffffff;
    cursor: pointer;
    font-size: 14px;
    font-weight: 700;
    min-height: 40px;
    padding: 0 18px;
    transition: background 0.18s ease, border-color 0.18s ease;
}

.catalogo-bristol-shell .catalogo-top-submit:hover,
.catalogo-bristol-shell .catalogo-top-submit:focus-visible {
    background: #374151;
    border-color: #374151;
    outline: none;
}

.catalogo-bristol-shell .market-results-bar {
    align-items: center;
    background: #f3f4f6 !important;
    background-color: #f3f4f6 !important;
    background-image: none;
    border: 1px solid #e5e7eb !important;
    border-radius: 12px;
    box-shadow: none;
    display: flex;
    gap: 16px;
    justify-content: space-between;
    margin: 0 0 22px;
    min-height: 56px;
    outline: 0 !important;
    padding: 18px 24px;
    position: relative;
}

.catalogo-bristol-shell .market-results-bar::before,
.catalogo-bristol-shell .market-results-bar::after {
    background: none !important;
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
}

.catalogo-bristol-shell .catalogo-toolbar {
    align-items: center;
    background: #f3f4f6 !important;
    border: 0 !important;
    box-shadow: none !important;
    display: flex;
    flex: 1;
    gap: 14px;
    justify-content: space-between;
    outline: 0 !important;
}

.catalogo-bristol-shell .catalogo-toolbar-form {
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    min-height: 0;
    padding: 0;
}

.catalogo-bristol-shell .catalogo-toolbar-form label {
    color: #111827;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0;
    text-transform: none;
}

.catalogo-bristol-shell .catalogo-toolbar-form select {
    background: #ffffff;
    background-image: none;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: none;
    color: #374151;
    font-size: 14px;
    font-weight: 500;
    min-height: 38px;
    padding: 0 34px 0 10px;
    transition: border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

.catalogo-bristol-shell .catalogo-toolbar-form select:hover {
    background: #ffffff;
    border-color: #9ca3af;
}

.catalogo-bristol-shell .catalogo-toolbar-form select:focus {
    background: #ffffff;
    border-color: #9ca3af;
    box-shadow: 0 0 0 3px rgba(75, 85, 99, 0.12);
    outline: none;
}

.catalogo-bristol-shell .catalogo-show-select select {
    min-width: 72px;
}

.catalogo-bristol-shell .catalogo-sort-direction {
    align-items: center;
    background: #ffffff;
    background-image: none;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    color: #374151;
    cursor: pointer;
    display: inline-flex;
    font-size: 13px;
    font-weight: 700;
    justify-content: center;
    min-height: 38px;
    min-width: 44px;
    padding: 0 8px;
    transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

.catalogo-bristol-shell .catalogo-sort-direction:hover {
    background: #ffffff;
    border-color: #9ca3af;
    color: #374151;
    transform: translateY(-1px);
}

.catalogo-bristol-shell .catalogo-filter-toggle {
    background: #ffffff;
    background-image: none;
    border: 1px solid #d1d5db;
    box-shadow: none;
    color: #374151;
}

.catalogo-bristol-shell .catalogo-filter-toggle:hover,
.catalogo-bristol-shell .catalogo-filter-toggle:focus-visible {
    background: #ffffff;
    border-color: #9ca3af;
    color: #374151;
    outline: none;
}

.catalogo-bristol-shell .catalogo-sort-direction span {
    display: inline-grid;
    line-height: 1.05;
}

.catalogo-bristol-shell .catalogo-view-switch {
    align-items: center;
    color: #4b5563;
    display: flex;
    flex: 0 0 auto;
    gap: 8px;
    margin-left: auto;
    overflow: visible;
    position: relative;
    z-index: 3;
}

.catalogo-bristol-shell .catalogo-view-switch span {
    color: #4b5563;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.catalogo-bristol-shell .catalogo-card-actions a,
.catalogo-bristol-shell .catalogo-card-actions button {
    align-items: center;
    background: transparent;
    border: 0;
    color: #4b5563;
    cursor: pointer;
    display: inline-flex;
    height: 26px;
    justify-content: center;
    padding: 0;
    transition: color 0.18s ease, transform 0.18s ease;
    width: 26px;
}

.catalogo-bristol-shell .catalogo-view-switch button {
    align-items: center;
    background: #ffffff;
    border: 1px solid #d1d5db;
    border-radius: 10px;
    color: #374151;
    cursor: pointer;
    display: inline-flex;
    flex: 0 0 38px;
    height: 38px;
    justify-content: center;
    line-height: 1;
    min-height: 38px;
    min-width: 38px;
    overflow: visible;
    padding: 0;
    position: relative;
    transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease, transform 0.18s ease;
    width: 38px;
    z-index: 1;
}

.catalogo-bristol-shell .catalogo-view-switch button:hover,
.catalogo-bristol-shell .catalogo-card-actions a:hover,
.catalogo-bristol-shell .catalogo-card-actions button:hover {
    background: #ffffff;
    color: #4b5563;
    transform: translateY(-1px);
}

.catalogo-bristol-shell .catalogo-view-switch button:hover {
    background: #eff6ff;
    border-color: #93c5fd;
    color: #2563eb;
}

.catalogo-bristol-shell .catalogo-view-switch button.is-active {
    background: #2563eb;
    border-color: #2563eb;
    border-radius: 10px;
    color: #ffffff;
}

.catalogo-bristol-shell .catalogo-view-switch svg,
.catalogo-bristol-shell .catalogo-card-actions svg {
    display: block;
    fill: currentColor;
    flex: 0 0 auto;
    height: 20px;
    min-height: 20px;
    min-width: 20px;
    stroke: currentColor;
    stroke-width: 0;
    width: 20px;
}

.catalogo-bristol-shell .market-results-count,
.catalogo-bristol-shell .market-results-bar > div:first-child,
.catalogo-bristol-shell .market-product-card .card-producto-media::after,
.catalogo-bristol-shell .market-product-card .card-producto-badge,
.catalogo-bristol-shell .market-product-card .catalogo-v3-card-meta,
.catalogo-bristol-shell .market-product-card .card-producto-descripcion,
.catalogo-bristol-shell .market-product-card .catalogo-guide-link,
.catalogo-bristol-shell .market-product-card .btn {
    display: none;
}

.catalogo-bristol-shell .grid-productos {
    display: grid;
    gap: 20px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.catalogo-bristol-shell .market-product-card {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.04);
    display: flex;
    flex-direction: column;
    min-height: 100%;
    overflow: hidden;
    padding: 0;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.catalogo-bristol-shell .market-product-card:hover {
    border-color: #d1d9e6;
    box-shadow: 0 12px 26px rgba(15, 23, 42, 0.08);
    transform: translateY(-2px);
}

.catalogo-bristol-shell .market-product-card .card-producto-media {
    align-items: center;
    aspect-ratio: 1 / 0.9;
    background: #ffffff;
    border: 0;
    display: flex;
    justify-content: center;
    min-height: 0;
    padding: 16px 16px 8px;
    position: relative;
    z-index: 1;
}

.catalogo-bristol-shell .market-product-card .card-producto-media .card-producto-precio-label {
    left: 12px;
    pointer-events: none;
    position: absolute;
    top: 12px;
    z-index: 2;
}

.catalogo-bristol-shell .market-product-card .card-producto-imagen {
    border-radius: 0;
    height: 100%;
    max-height: 190px;
    max-width: 100%;
    object-fit: contain;
    transition: transform 0.2s ease;
    width: 100%;
}

.catalogo-bristol-shell .market-product-card:hover .card-producto-imagen {
    transform: scale(1.025);
}

.catalogo-bristol-shell .market-product-card .card-producto-body {
    background: #ffffff;
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 10px;
    padding: 0 18px 16px;
}

.catalogo-bristol-shell .market-product-card .card-producto-top {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 8px;
}

.catalogo-bristol-shell .market-product-card h3 {
    font-size: 14px;
    font-weight: 800;
    line-height: 1.35;
    margin: 0;
    min-height: 38px;
}

.catalogo-bristol-shell .market-product-card h3 a {
    color: #111827;
    display: -webkit-box;
    overflow: hidden;
    position: relative;
    text-decoration: none;
    z-index: 3;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.catalogo-bristol-shell .market-product-card h3 a:hover {
    color: #0d47a1;
    text-decoration: none;
}

.catalogo-bristol-shell .catalogo-card-actions {
    align-items: center;
    display: flex;
    gap: 12px;
    justify-content: center;
    min-height: 24px;
    order: -1;
}

.catalogo-bristol-shell .catalogo-detail-link {
    color: var(--catalog-blue);
    font-size: 13px;
    font-weight: 700;
    height: auto;
    text-decoration: none;
    width: auto;
}

.catalogo-bristol-shell .catalogo-detail-link:hover,
.catalogo-bristol-shell .catalogo-detail-link:focus-visible {
    color: var(--catalog-blue-dark);
    outline: none;
    text-decoration: underline;
}

.catalogo-bristol-shell .market-product-card .card-producto-footer {
    border: 0;
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(0, 1fr) 42px;
    grid-template-rows: auto auto;
    margin-top: auto;
    padding: 0;
}

.catalogo-bristol-shell .market-product-card .precio {
    color: #0d47a1;
    font-size: 16px;
    font-weight: 900;
    grid-column: 1;
    line-height: 1.2;
    margin: 0;
    order: 1;
}

.catalogo-bristol-shell .market-product-card .card-producto-precio-label {
    align-items: center;
    align-self: center;
    background: #d8f8e6 !important;
    border: 0 !important;
    border-radius: 8px;
    color: #047857 !important;
    display: inline-flex;
    font-size: 12px;
    font-weight: 800;
    justify-content: center;
    line-height: 1;
    min-height: 28px;
    padding: 0 12px;
    width: max-content;
}

.catalogo-bristol-shell .catalogo-card-cart {
    align-self: center;
    grid-column: 2;
    justify-self: end;
    margin: 0;
    order: 2;
    position: relative;
    z-index: 3;
}

.catalogo-bristol-shell .catalogo-card-cart button {
    align-items: center;
    background: #0d47a1;
    border: 1px solid #0d47a1;
    border-radius: 8px;
    box-shadow: 0 8px 18px rgba(13, 71, 161, 0.18);
    color: #ffffff;
    cursor: pointer;
    display: inline-flex;
    height: 42px;
    justify-content: center;
    min-height: 42px;
    opacity: 1;
    padding: 0;
    pointer-events: auto;
    position: relative;
    transition: background 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease, color 0.18s ease, transform 0.18s ease;
    width: 42px;
    z-index: 4;
}

.catalogo-bristol-shell .catalogo-card-cart button svg {
    display: block;
    flex: 0 0 auto;
    height: 20px;
    width: 20px;
}

.catalogo-bristol-shell .catalogo-card-cart button.is-loading svg {
    opacity: 0;
}

.catalogo-bristol-shell .catalogo-card-cart button.is-loading::after {
    animation: catalogCartSpin 0.7s linear infinite;
    border: 2px solid rgba(255, 255, 255, 0.38);
    border-top-color: #ffffff;
    border-radius: 999px;
    content: "";
    height: 17px;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 17px;
}

@keyframes catalogCartSpin {
    from {
        transform: translate(-50%, -50%) rotate(0deg);
    }

    to {
        transform: translate(-50%, -50%) rotate(360deg);
    }
}

.catalogo-bristol-shell .catalogo-card-cart button:disabled {
    background: #0d47a1;
    border-color: #0d47a1;
    box-shadow: 0 8px 18px rgba(13, 71, 161, 0.16);
    color: #ffffff;
    cursor: progress;
    opacity: 1;
}

.catalogo-bristol-shell .catalogo-cart-text {
    display: none;
}

.catalogo-cart-error {
    background: #fef2f2;
    border: 1px solid #fecaca;
    border-radius: 8px;
    color: #991b1b;
    font-size: 13px;
    font-weight: 800;
    margin: 0 0 12px;
    padding: 10px 12px;
}

.producto-cart-error {
    background: #fef2f2;
    border: 1px solid #fecaca;
    border-radius: 8px;
    color: #991b1b;
    font-size: 13px;
    font-weight: 800;
    margin: 12px 0 0;
    padding: 10px 12px;
}

.home-catalog-cards .grid-productos {
    align-items: stretch;
    display: grid;
    gap: 20px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.home-catalog-cards .market-product-card {
    min-height: 100%;
}

.home-catalog-cards .market-product-card .card-producto-media {
    aspect-ratio: 1 / 0.9;
    min-height: 0;
}

.home-catalog-cards .market-product-card .card-producto-imagen {
    height: 100%;
    max-height: 190px;
    object-fit: contain;
    width: 100%;
}

.home-catalog-cards .market-product-card .retail-offer-brand,
.home-catalog-cards .market-product-card .retail-offer-meta,
.home-catalog-cards .market-product-card .retail-arrival-body > p:not(.card-producto-descripcion),
.home-catalog-cards .market-product-card .retail-price-row small {
    display: none;
}

.home-catalog-cards .market-product-card .card-producto-body {
    min-height: 0;
}

.home-catalog-cards .market-product-card .retail-cart-form {
    align-self: flex-end;
    margin-top: 0;
}

.home-catalog-cards .market-product-card .catalogo-card-cart button {
    height: 42px;
    min-height: 42px;
    width: 42px;
}

@media (max-width: 1180px) {
    .home-catalog-cards .grid-productos {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .home-catalog-cards .grid-productos {
        gap: 22px 14px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .home-catalog-cards .market-product-card .card-producto-media {
        padding: 10px;
    }

    .home-catalog-cards .market-product-card .card-producto-imagen {
        max-height: 150px;
    }

    .home-catalog-cards .market-product-card .card-producto-body {
        padding: 0 10px 12px;
    }

    .home-catalog-cards .market-product-card h3 {
        font-size: 13px;
        min-height: 36px;
    }

    .home-catalog-cards .market-product-card .precio {
        font-size: 16px;
    }

    .home-catalog-cards .market-product-card .card-producto-footer {
        align-items: center;
        gap: 8px;
        grid-template-columns: minmax(0, 1fr) 34px;
    }

    .home-catalog-cards .market-product-card .catalogo-card-cart button {
        height: 34px;
        min-height: 34px;
        width: 34px;
    }
}

.catalogo-bristol-shell .catalogo-card-cart button:hover,
.catalogo-bristol-shell .catalogo-card-cart button:focus-visible {
    background: #083b88;
    border-color: #083b88;
    box-shadow: 0 10px 22px rgba(13, 71, 161, 0.24);
    color: #ffffff;
    outline: none;
    transform: translateY(-1px);
}

.catalogo-bristol-shell .catalogo-card-cart button:active {
    background: #082f6d;
    border-color: #082f6d;
    box-shadow: 0 6px 14px rgba(13, 71, 161, 0.18);
    color: #ffffff;
    transform: translateY(0);
}

.catalogo-bristol-shell[data-catalog-view="list"] .grid-productos {
    grid-template-columns: 1fr;
}

.catalogo-bristol-shell[data-catalog-view="list"] .market-product-card {
    align-items: center;
    display: grid;
    gap: 18px;
    grid-template-columns: 170px minmax(0, 1fr);
    min-height: 190px;
    padding: 12px;
}

.catalogo-bristol-shell[data-catalog-view="list"] .market-product-card .card-producto-media {
    aspect-ratio: 1 / 1;
    grid-column: 1;
    width: 170px;
}

.catalogo-bristol-shell[data-catalog-view="list"] .market-product-card .card-producto-body {
    display: flex;
    grid-column: 2;
    min-width: 0;
    padding: 0;
}

.catalogo-bristol-shell[data-catalog-view="list"] .market-product-card .card-producto-footer {
    display: grid;
    grid-template-columns: minmax(0, max-content) 42px;
    justify-content: start;
}

.catalogo-bristol-shell[data-catalog-view="list"] .market-product-card .card-producto-precio-wrap {
    align-self: center;
    grid-column: 1;
}

.catalogo-bristol-shell[data-catalog-view="list"] .catalogo-card-cart {
    grid-column: 2;
}

.catalogo-bristol-shell[data-catalog-view="list"] .catalogo-card-actions {
    justify-content: flex-start;
    order: 0;
}

.catalogo-bristol-shell[data-catalog-view="list"] .market-product-card h3 {
    font-size: 16px;
    min-height: 0;
}

@media (max-width: 1180px) {
    .catalogo-bristol-shell .catalogo-top-tools {
        grid-template-columns: minmax(220px, 1fr) minmax(170px, 220px);
    }

    .catalogo-bristol-shell .grid-productos {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .catalogo-bristol-shell .market-results-bar {
        background: #f3f4f6 !important;
        background-color: #f3f4f6 !important;
        background-image: none;
        border: 0 !important;
        border-radius: 8px;
        box-shadow: none;
        display: block;
        margin-bottom: 26px;
        max-height: none;
        min-height: 0;
        outline: 0 !important;
        overflow: visible;
        padding: 10px 12px;
        width: 100%;
    }

    .catalogo-bristol-shell .catalogo-toolbar {
        align-items: center;
        display: flex;
        flex-wrap: wrap;
        gap: 8px 10px;
        justify-content: space-between;
        margin: 0;
        min-width: 0;
        padding: 0;
        width: 100%;
    }

    .catalogo-bristol-shell .catalogo-toolbar-form {
        align-items: center;
        display: flex;
        flex: 1 1 210px;
        gap: 8px;
        min-width: 0;
    }

    .catalogo-bristol-shell .catalogo-toolbar-form label {
        display: none !important;
    }

    .catalogo-bristol-shell .catalogo-toolbar-form select {
        font-size: 13px;
        height: 38px;
        min-height: 38px;
        padding: 0 30px 0 10px;
        width: 100%;
    }

    .catalogo-bristol-shell .catalogo-sort-select {
        flex: 1 1 150px;
        max-width: none;
        min-width: 150px;
        width: auto;
    }

    .catalogo-bristol-shell .catalogo-show-select {
        display: none !important;
    }

    .catalogo-bristol-shell .catalogo-sort-direction {
        flex: 0 0 38px;
        font-size: 12px;
        height: 38px;
        min-height: 38px;
        min-width: 38px;
        padding: 0 6px;
        width: 38px;
    }

    .catalogo-bristol-shell .catalogo-filter-toggle {
        display: none !important;
    }

    .catalogo-bristol-shell .catalogo-view-switch {
        align-items: center;
        display: inline-flex;
        flex: 0 0 auto;
        gap: 6px;
        justify-content: flex-end;
        margin-left: auto;
    }

    .catalogo-bristol-shell .catalogo-view-switch span {
        display: none !important;
    }

    .catalogo-bristol-shell .catalogo-view-switch button {
        height: 38px;
        width: 38px;
    }

    .catalogo-bristol-shell .catalogo-view-switch svg {
        height: 20px;
        width: 20px;
    }

    .catalogo-bristol-shell .catalogo-view-switch button.is-active {
        border-radius: 6px;
    }

    .catalogo-bristol-shell .grid-productos {
        gap: 22px 14px;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        margin-top: 0;
    }

    .catalogo-bristol-shell.list-view .grid-productos,
    .catalogo-bristol-shell[data-catalog-view="list"] .grid-productos {
        display: grid;
        gap: 14px;
        grid-template-columns: minmax(0, 1fr) !important;
        width: 100%;
    }

    .catalogo-bristol-shell .market-product-card .card-producto-media {
        padding: 10px;
    }

    .catalogo-bristol-shell .market-product-card .card-producto-imagen {
        max-height: 150px;
    }

    .catalogo-bristol-shell .market-product-card h3 {
        font-size: 13px;
        min-height: 36px;
    }

    .catalogo-bristol-shell .market-product-card h3 a {
        -webkit-line-clamp: 2;
    }

    .catalogo-bristol-shell .market-product-card .precio {
        font-size: 16px;
    }

    .catalogo-bristol-shell .market-product-card .card-producto-body {
        padding: 0 10px 12px;
    }

    .catalogo-bristol-shell .market-product-card .card-producto-footer {
        align-items: center;
        gap: 8px;
        grid-template-columns: minmax(0, 1fr) 34px;
    }

    .catalogo-bristol-shell .market-product-card .card-producto-precio-label {
        font-size: 10px;
        min-height: 24px;
        max-width: 100%;
        padding: 0 8px;
        white-space: nowrap;
    }

    .catalogo-bristol-shell .catalogo-card-cart button {
        height: 34px;
        min-height: 34px;
        width: 34px;
    }

    .catalogo-bristol-shell .catalogo-card-cart button svg {
        height: 17px;
        width: 17px;
    }

    .catalogo-bristol-shell[data-catalog-view="list"] .market-product-card {
        align-items: stretch;
        display: grid;
        gap: 10px;
        grid-template-columns: 112px minmax(0, 1fr);
        max-width: none;
        min-height: 150px;
        overflow: visible;
        padding: 10px;
        position: relative;
        width: 100%;
    }

    .catalogo-bristol-shell[data-catalog-view="list"] .market-product-card .card-producto-media {
        align-self: start;
        aspect-ratio: 1 / 1;
        grid-column: 1;
        height: 112px;
        margin: 0;
        min-width: 0;
        overflow: hidden;
        padding: 8px;
        width: 112px;
    }

    .catalogo-bristol-shell[data-catalog-view="list"] .market-product-card .card-producto-media .card-producto-precio-label {
        font-size: 9px;
        left: 6px;
        line-height: 1.1;
        max-width: calc(100% - 12px);
        min-height: 20px;
        overflow: hidden;
        padding: 0 6px;
        text-overflow: ellipsis;
        top: 6px;
        white-space: nowrap;
    }

    .catalogo-bristol-shell[data-catalog-view="list"] .market-product-card .card-producto-imagen {
        max-height: 92px;
    }

    .catalogo-bristol-shell[data-catalog-view="list"] .market-product-card .card-producto-body {
        display: flex;
        flex-direction: column;
        gap: 7px;
        grid-column: 2;
        min-width: 0;
        overflow: visible;
        padding: 0;
        position: relative;
        z-index: 2;
    }

    .catalogo-bristol-shell[data-catalog-view="list"] .market-product-card .card-producto-top {
        flex: 0 0 auto;
        gap: 5px;
        min-width: 0;
    }

    .catalogo-bristol-shell[data-catalog-view="list"] .market-product-card h3 {
        font-size: 13px;
        line-height: 1.25;
        min-height: 0;
    }

    .catalogo-bristol-shell[data-catalog-view="list"] .market-product-card h3 a {
        -webkit-line-clamp: 2;
    }

    .catalogo-bristol-shell[data-catalog-view="list"] .market-product-card .card-producto-descripcion {
        color: #64748b;
        display: -webkit-box;
        font-size: 11px;
        line-height: 1.35;
        margin: 0;
        overflow: hidden;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

    .catalogo-bristol-shell[data-catalog-view="list"] .market-product-card .card-producto-footer {
        align-items: center;
        display: grid;
        gap: 7px;
        grid-template-columns: minmax(0, 1fr) 34px;
        margin-top: auto;
        min-width: 0;
        overflow: visible;
    }

    .catalogo-bristol-shell[data-catalog-view="list"] .market-product-card .card-producto-precio-wrap {
        grid-column: 1;
        min-width: 0;
    }

    .catalogo-bristol-shell[data-catalog-view="list"] .market-product-card .precio {
        font-size: 15px;
    }

    .catalogo-bristol-shell[data-catalog-view="list"] .catalogo-card-cart {
        grid-column: 2;
        justify-self: end;
    }

    .catalogo-bristol-shell[data-catalog-view="list"] .catalogo-card-cart button {
        gap: 6px;
        padding: 0 10px;
        width: auto;
    }

    .catalogo-bristol-shell[data-catalog-view="list"] .catalogo-cart-text {
        display: inline;
        font-size: 12px;
        font-weight: 800;
        line-height: 1;
    }
}

@media (max-width: 420px) {
    .catalogo-bristol-shell.list-view .grid-productos,
    .catalogo-bristol-shell[data-catalog-view="list"] .grid-productos {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .catalogo-bristol-shell[data-catalog-view="list"] .market-product-card {
        display: flex;
        flex-direction: column;
    }

    .catalogo-bristol-shell[data-catalog-view="list"] .market-product-card .card-producto-media {
        aspect-ratio: 16 / 10;
        height: auto;
        width: 100%;
    }

    .catalogo-bristol-shell[data-catalog-view="list"] .market-product-card .card-producto-imagen {
        max-height: 180px;
    }

    .catalogo-bristol-shell[data-catalog-view="list"] .market-product-card .card-producto-body {
        width: 100%;
    }

    .catalogo-bristol-shell[data-catalog-view="list"] .market-product-card .card-producto-footer {
        grid-template-columns: minmax(0, 1fr) auto;
    }
}

/* Fast checkout flow */
.carrito-checkout-actions {
    display: grid;
    gap: 10px;
}

.carrito-login-btn {
    justify-content: center;
    width: 100%;
}

.checkout-progress.checkout-steps-progress {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    margin: 0 auto 12px !important;
    max-width: 300px;
}

.checkout-grid {
    grid-template-columns: minmax(0, 1fr);
}

.checkout-grid[data-current-step="1"] .checkout-summary-card {
    display: none !important;
}

.checkout-grid[data-current-step="2"] {
    grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.72fr);
}

.checkout-grid[data-current-step="2"] .checkout-summary-card {
    display: block !important;
}

.checkout-form-card > .checkout-card-head,
.checkout-summary-card > .checkout-card-head,
.checkout-acceso-cuenta,
.checkout-hero,
.checkout-help-box,
.checkout-final-button {
    display: none !important;
}

.checkout-form-card {
    padding-top: 18px;
}

.checkout-section {
    margin-bottom: 18px;
    padding-bottom: 18px;
}

.checkout-section-head {
    margin-bottom: 10px;
}

.checkout-section-head h4 {
    font-size: 17px;
    margin: 0;
}

.checkout-section-head p,
.checkout-delivery-note,
.checkout-payment-note,
.checkout-location-card {
    display: none !important;
}

.checkout-submit-row {
    margin-top: 8px;
}

.checkout-summary-card {
    align-self: start;
}

.checkout-summary-card .envio-gratis-card,
.checkout-summary-card .resumen-delivery-badge {
    display: none !important;
}

@media (max-width: 900px) {
    .checkout-grid,
    .checkout-grid[data-current-step="2"] {
        grid-template-columns: 1fr;
    }

    .checkout-progress.checkout-steps-progress {
        max-width: none;
    }
}

/* Fast mobile checkout */
.checkout-grid {
    gap: 16px;
}

.checkout-card,
.checkout-form-card,
.checkout-summary-card {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 14px;
    box-shadow: none;
}

.checkout-form-card {
    padding: 18px;
}

.checkout-section {
    border-bottom: 1px solid #eef0f4;
    margin-bottom: 16px;
    padding-bottom: 16px;
}

.checkout-section:last-of-type {
    border-bottom: 0;
}

.checkout-section-head h4 {
    color: #111827;
    font-size: 16px;
    font-weight: 800;
}

.checkout-form-grid.checkout-form-grid-quick {
    gap: 12px;
    grid-template-columns: 1fr;
}

.checkout-form-card form label {
    color: #344054;
    font-size: 12px;
    font-weight: 750;
    margin-bottom: 6px;
}

.checkout-form-card form input,
.checkout-form-card form select,
.checkout-form-card form textarea {
    background: #ffffff;
    border: 1px solid #d0d5dd;
    border-radius: 10px;
    box-shadow: none;
    color: #111827;
    font-size: 16px;
    min-height: 48px;
    padding: 12px 13px;
}

.checkout-form-card form textarea {
    min-height: 92px;
}

.checkout-form-card form input:focus,
.checkout-form-card form select:focus,
.checkout-form-card form textarea:focus {
    border-color: #0d47a1;
    box-shadow: 0 0 0 3px rgba(13, 71, 161, 0.08);
    outline: none;
}

.checkout-delivery-mode {
    align-items: center;
    background: #f8fafc;
    border: 1px solid #e5e7eb;
    border-radius: 999px;
    color: #111827;
    display: inline-flex;
    gap: 8px;
    margin-bottom: 12px;
    padding: 8px 12px;
}

.checkout-delivery-mode strong {
    font-size: 13px;
}

.checkout-location-card {
    background: #f9fafb !important;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    box-shadow: none;
    display: block !important;
    margin-top: 12px;
    padding: 12px;
}

.checkout-location-head {
    gap: 10px;
    margin-bottom: 10px;
}

.checkout-location-head strong {
    color: #111827;
    font-size: 14px;
}

.checkout-location-head small,
.checkout-payment-whatsapp-note,
#mensaje-costo-envio-zona {
    color: #667085;
    font-size: 12px;
    line-height: 1.35;
}

.checkout-location-button {
    min-height: 40px;
    padding: 9px 12px;
}

.checkout-location-map {
    background: #eef2f6;
    border: 1px solid #d0d5dd;
    border-radius: 12px;
    height: 220px;
}

.checkout-location-map.leaflet-container {
    background: #eef2f6;
}

.checkout-location-map .leaflet-marker-icon {
    filter: none;
}

.checkout-location-status {
    background: transparent;
    border: 0;
    color: #475467;
    font-size: 12px;
    font-weight: 650;
    margin-top: 8px;
    padding: 0;
}

.checkout-location-coordinates {
    display: none;
}

.checkout-payment-select-hidden {
    display: none !important;
    height: 1px !important;
    margin: 0 !important;
    opacity: 0;
    padding: 0 !important;
    pointer-events: none;
    position: absolute;
    width: 1px !important;
}

.checkout-payment-methods {
    display: none !important;
    gap: 8px;
    grid-template-columns: 1fr;
    margin-top: 8px;
}

.checkout-payment-card {
    align-items: center;
    background: #ffffff;
    border: 1px solid #d0d5dd;
    border-radius: 10px;
    box-shadow: none;
    color: #111827;
    display: flex;
    gap: 10px;
    min-height: 48px;
    padding: 11px 12px;
    text-align: left;
}

.checkout-payment-card span {
    background: #f2f4f7;
    border-radius: 999px;
    box-shadow: none;
    display: inline-flex;
    height: 28px;
    width: 28px;
}

.checkout-payment-card strong {
    font-size: 14px;
}

.checkout-payment-card:hover,
.checkout-payment-card:focus-visible,
.checkout-payment-card.is-selected {
    background: #ffffff;
    border-color: #0d47a1;
    box-shadow: none;
    color: #0d47a1;
}

.checkout-payment-card.is-selected span {
    background: #0d47a1;
    color: #ffffff;
}

.checkout-payment-summary,
.pago-detalle {
    background: #f9fafb;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    box-shadow: none;
}

.checkout-payment-legacy {
    display: none !important;
}

.checkout-final-summary {
    background: #ffffff;
    border: 1px solid #dfe3ea;
    border-radius: 12px;
    box-shadow: none;
    display: grid;
    gap: 0;
    margin-top: 8px;
    padding: 14px;
}

.checkout-final-summary-line {
    align-items: center;
    border-bottom: 1px solid #eef0f4;
    color: #475467;
    display: flex;
    font-size: 13px;
    justify-content: space-between;
    gap: 12px;
    padding: 9px 0;
}

.checkout-final-summary-line:first-child {
    padding-top: 0;
}

.checkout-final-summary-line span {
    line-height: 1.25;
}

.checkout-final-summary-line strong {
    color: #111827;
    font-size: 14px;
    font-weight: 800;
    text-align: right;
    white-space: nowrap;
}

.checkout-final-summary-total {
    border-bottom: 0;
    color: #111827;
    padding: 13px 0 6px;
}

.checkout-final-summary-total span {
    font-weight: 800;
}

.checkout-final-summary-total strong {
    color: #0d47a1;
    font-size: 20px;
    letter-spacing: 0;
}

.checkout-finalize-btn {
    justify-content: center;
    margin-top: 12px;
    width: 100%;
}

.checkout-payment-technical-label {
    display: none !important;
}

.checkout-summary-finalize-btn {
    justify-content: center;
    margin-top: 12px;
    width: 100%;
}

.checkout-submit-row {
    gap: 8px;
    margin-top: 4px;
}

.checkout-submit-row .btn,
.checkout-submit-row button {
    min-height: 46px;
}

@media (max-width: 640px) {
    .checkout-form-card,
    .checkout-summary-card {
        border-left: 0;
        border-radius: 0;
        border-right: 0;
        padding: 16px;
    }

    .checkout-location-map {
        height: 205px;
    }

    .checkout-submit-row {
        display: grid;
        grid-template-columns: 1fr;
    }
}

@media (min-width: 901px) {
    .checkout-grid,
    .checkout-grid[data-current-step="1"],
    .checkout-grid[data-current-step="2"] {
        align-items: start;
        display: grid;
        gap: 24px;
        grid-template-columns: minmax(0, 1fr) minmax(320px, 380px) !important;
    }

    .checkout-grid[data-current-step="1"] .checkout-summary-card,
    .checkout-grid[data-current-step="2"] .checkout-summary-card {
        display: block !important;
    }

    .checkout-summary-card {
        position: sticky;
        top: 92px;
    }

    .checkout-final-summary-panel {
        display: none !important;
    }
}

@media (max-width: 900px) {
    .checkout-summary-card {
        display: none !important;
        position: static;
    }
}

/* Checkout neutral cleanup */
.contenido-principal:has(.checkout-grid),
.contenido-principal:has(.checkout-progress) {
    background: #f8f9fa;
}

.checkout-grid,
.checkout-progress.checkout-steps-progress,
.checkout-section,
.checkout-step-panel,
.checkout-address-block,
.checkout-form-card form {
    background: transparent;
    box-shadow: none;
}

.checkout-card,
.checkout-form-card,
.checkout-summary-card,
.checkout-final-summary,
.checkout-payment-summary,
.pago-detalle,
.checkout-location-card,
.checkout-payment-card,
.checkout-total-box {
    background: #ffffff !important;
    border: 1px solid #e5e7eb !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04) !important;
}

.checkout-form-card,
.checkout-summary-card {
    border-radius: 14px;
}

.checkout-section {
    border-color: #e5e7eb !important;
}

.checkout-form-card form input,
.checkout-form-card form select,
.checkout-form-card form textarea,
.checkout-payment-select,
.checkout-top-field input,
.checkout-top-field select {
    background: #ffffff !important;
    border: 1px solid #e5e7eb !important;
    box-shadow: none !important;
    color: #111827;
}

.checkout-form-card form input:focus,
.checkout-form-card form select:focus,
.checkout-form-card form textarea:focus,
.checkout-payment-select:focus,
.checkout-top-field input:focus,
.checkout-top-field select:focus {
    border-color: #d1d5db !important;
    box-shadow: none !important;
    outline: none !important;
}

.checkout-form-card form input[readonly] {
    background: #f3f4f6 !important;
    border-color: #e5e7eb !important;
    color: #6b7280;
}

.checkout-progress.checkout-steps-progress {
    border: 0 !important;
}

.checkout-progress.checkout-steps-progress span {
    background: transparent !important;
    box-shadow: none !important;
    color: #6b7280 !important;
}

.checkout-progress.checkout-steps-progress span::before {
    background: #ffffff !important;
    border-color: #d1d5db !important;
    color: #6b7280 !important;
}

.checkout-progress.checkout-steps-progress span:not(:last-child)::after {
    background: #e5e7eb !important;
}

.checkout-progress.checkout-steps-progress span.is-complete,
.checkout-progress.checkout-steps-progress span.is-current {
    color: #111827 !important;
}

.checkout-progress.checkout-steps-progress span.is-complete::before,
.checkout-progress.checkout-steps-progress span.is-current::before {
    background: #111827 !important;
    border-color: #111827 !important;
    color: #ffffff !important;
}

.checkout-step-prev,
.checkout-step-next,
.checkout-step-confirm,
.checkout-finalize-btn,
.checkout-summary-finalize-btn,
.checkout-final-button,
.checkout-submit-row .btn:not(.btn-secundario),
.checkout-submit-row button:not(.btn-secundario),
.checkout-location-button {
    background: #111827 !important;
    border-color: #111827 !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04) !important;
    color: #ffffff !important;
}

.checkout-step-prev:hover,
.checkout-step-next:hover,
.checkout-step-confirm:hover,
.checkout-finalize-btn:hover,
.checkout-summary-finalize-btn:hover,
.checkout-final-button:hover,
.checkout-submit-row .btn:not(.btn-secundario):hover,
.checkout-submit-row button:not(.btn-secundario):hover,
.checkout-location-button:hover,
.checkout-step-prev:focus-visible,
.checkout-step-next:focus-visible,
.checkout-step-confirm:focus-visible,
.checkout-finalize-btn:focus-visible,
.checkout-summary-finalize-btn:focus-visible,
.checkout-final-button:focus-visible,
.checkout-submit-row .btn:not(.btn-secundario):focus-visible,
.checkout-submit-row button:not(.btn-secundario):focus-visible,
.checkout-location-button:focus-visible {
    background: #1f2937 !important;
    border-color: #1f2937 !important;
    box-shadow: none !important;
    outline: none !important;
}

.checkout-step-prev.btn-secundario,
.checkout-submit-row .btn-secundario {
    background: #ffffff !important;
    border-color: #d1d5db !important;
    box-shadow: none !important;
    color: #404040 !important;
}

.checkout-step-prev.btn-secundario:hover,
.checkout-submit-row .btn-secundario:hover,
.checkout-step-prev.btn-secundario:focus-visible,
.checkout-submit-row .btn-secundario:focus-visible {
    background: #f3f4f6 !important;
    border-color: #9ca3af !important;
    color: #111827 !important;
    outline: none !important;
}

.checkout-payment-card:hover,
.checkout-payment-card:focus-visible,
.checkout-payment-card.is-selected {
    background: #ffffff !important;
    border-color: #111827 !important;
    box-shadow: none !important;
    color: #111827 !important;
}

.checkout-payment-card span,
.checkout-payment-card.is-selected span,
.checkout-delivery-mode,
.checkout-summary-item,
.checkout-trust-grid span,
.checkout-beneficio-registro,
.checkout-beneficio-registro-activo,
.checkout-location-status,
.checkout-location-coordinates span {
    background: #f3f4f6 !important;
    border-color: #e5e7eb !important;
    color: #404040 !important;
    box-shadow: none !important;
}

.checkout-final-summary-total strong,
.checkout-summary-item > strong,
.checkout-total-box strong,
.checkout-beneficio-total,
.checkout-location-coordinates strong,
.checkout-payment-summary strong {
    color: #111827 !important;
}

.checkout-location-map,
.checkout-location-map.leaflet-container {
    background: #f3f4f6 !important;
    background-image: none !important;
    border: 1px solid #d1d5db !important;
    box-shadow: none !important;
}

.checkout-location-grid {
    background-image:
        linear-gradient(rgba(156, 163, 175, 0.16) 1px, transparent 1px),
        linear-gradient(90deg, rgba(156, 163, 175, 0.16) 1px, transparent 1px) !important;
}

.checkout-location-map::before,
.checkout-location-map::after {
    background: rgba(107, 114, 128, 0.18) !important;
}

.checkout-location-pin {
    background: #111827 !important;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.18) !important;
}

.checkout-location-map .leaflet-marker-icon {
    filter: drop-shadow(0 8px 14px rgba(0, 0, 0, 0.18)) !important;
}

.checkout-progress,
.checkout-progress *,
.checkout-grid,
.checkout-grid *,
.checkout-location-card,
.checkout-location-card * {
    border-color: #e5e5e5;
}

.checkout-progress,
.checkout-grid,
.checkout-card,
.checkout-form-card,
.checkout-summary-card,
.checkout-form-card form,
.checkout-section,
.checkout-section-head,
.checkout-form-grid,
.checkout-form-grid-full,
.checkout-submit-row {
    color: #171717 !important;
}

.checkout-progress.checkout-steps-progress {
    border-color: transparent !important;
}

.checkout-progress.checkout-steps-progress span {
    color: #737373 !important;
}

.checkout-progress.checkout-steps-progress span.is-complete,
.checkout-progress.checkout-steps-progress span.is-current {
    color: #171717 !important;
}

.checkout-section-head h4,
.checkout-final-summary-line strong,
.checkout-payment-card strong,
.checkout-total-box strong,
.checkout-summary-item div > strong,
.checkout-summary-item > strong,
.checkout-final-summary-total strong {
    color: #171717 !important;
}

.checkout-form-card form label,
.checkout-payment-card,
.checkout-delivery-mode,
.checkout-summary-item,
.checkout-location-head strong {
    color: #404040 !important;
}

.checkout-section-head p,
.checkout-location-head small,
.checkout-payment-whatsapp-note,
#mensaje-costo-envio-zona,
.checkout-final-summary-line,
.checkout-summary-item span,
.checkout-summary-item small,
.checkout-location-status {
    color: #737373 !important;
}

.checkout-submit-row {
    border-color: #e5e5e5 !important;
    box-shadow: none !important;
}

.checkout-form-card form input,
.checkout-form-card form select,
.checkout-form-card form textarea,
.checkout-payment-select {
    border-color: #e5e5e5 !important;
    color: #171717 !important;
}

.checkout-form-card form input:focus,
.checkout-form-card form select:focus,
.checkout-form-card form textarea:focus,
.checkout-payment-select:focus {
    border-color: #d4d4d4 !important;
    box-shadow: none !important;
}

.checkout-step-prev,
.checkout-step-next,
.checkout-step-confirm,
.checkout-finalize-btn,
.checkout-summary-finalize-btn,
.checkout-final-button,
.checkout-submit-row .btn:not(.btn-secundario),
.checkout-submit-row button:not(.btn-secundario),
.checkout-location-button,
.checkout-progress.checkout-steps-progress span.is-complete::before,
.checkout-progress.checkout-steps-progress span.is-current::before,
.checkout-location-pin {
    background: #171717 !important;
    border-color: #171717 !important;
}

.checkout-step-prev:hover,
.checkout-step-next:hover,
.checkout-step-confirm:hover,
.checkout-finalize-btn:hover,
.checkout-summary-finalize-btn:hover,
.checkout-final-button:hover,
.checkout-submit-row .btn:not(.btn-secundario):hover,
.checkout-submit-row button:not(.btn-secundario):hover,
.checkout-location-button:hover {
    background: #262626 !important;
    border-color: #262626 !important;
}

/* Global button identity refresh */
:root {
    --action-blue: #2563eb;
    --action-blue-hover: #1d4ed8;
    --action-blue-shadow: rgba(37, 99, 235, 0.20);
    --button-gray: #f3f4f6;
    --button-gray-border: #e5e7eb;
    --button-gray-hover: #e5e7eb;
    --button-text: #111827;
}

.btn,
button.btn,
.btn-primary,
.btn-carrito,
.carrito-checkout-btn,
.checkout-step-next,
.checkout-step-confirm,
.checkout-finalize-btn,
.checkout-summary-finalize-btn,
.checkout-final-button,
.producto-acciones .btn-carrito,
.producto-quick-button,
.catalogo-busqueda-pro .btn,
.catalogo-bristol-shell .catalogo-busqueda-pro button,
.catalogo-bristol-shell .market-product-card .btn:not(.btn-secundario):not(.btn-outline),
.market-product-card .btn:not(.btn-secundario):not(.btn-outline),
.retail-hero-search button,
.retail-btn-primary,
.retail-cart-form button,
.trigo-slide-btn-primary,
.rapid-btn-primary,
.mini-cart-button,
#tienda-header-cliente .header-search button,
#tienda-header-cliente .header-user-links .menu-admin-link,
#tienda-header-cliente .menu-ofertas-link,
.admin-body .menu-admin-link {
    align-items: center;
    background: var(--action-blue) !important;
    background-image: none !important;
    border: 0 !important;
    border-radius: 999px !important;
    box-shadow: 0 4px 12px var(--action-blue-shadow) !important;
    color: #ffffff !important;
    cursor: pointer;
    display: inline-flex;
    font-weight: 600;
    gap: 8px;
    justify-content: center;
    min-height: 42px;
    padding: 10px 20px;
    text-decoration: none;
    transition: background 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.btn:hover,
button.btn:hover,
.btn-primary:hover,
.btn-carrito:hover,
.carrito-checkout-btn:hover,
.checkout-step-next:hover,
.checkout-step-confirm:hover,
.checkout-finalize-btn:hover,
.checkout-summary-finalize-btn:hover,
.checkout-final-button:hover,
.producto-acciones .btn-carrito:hover,
.producto-quick-button:hover,
.catalogo-busqueda-pro .btn:hover,
.catalogo-bristol-shell .catalogo-busqueda-pro button:hover,
.catalogo-bristol-shell .market-product-card .btn:not(.btn-secundario):not(.btn-outline):hover,
.market-product-card .btn:not(.btn-secundario):not(.btn-outline):hover,
.retail-hero-search button:hover,
.retail-btn-primary:hover,
.retail-cart-form button:hover,
.trigo-slide-btn-primary:hover,
.rapid-btn-primary:hover,
.mini-cart-button:hover,
#tienda-header-cliente .header-search button:hover,
#tienda-header-cliente .header-user-links .menu-admin-link:hover,
#tienda-header-cliente .menu-ofertas-link:hover,
.admin-body .menu-admin-link:hover,
.btn:focus-visible,
button.btn:focus-visible,
.btn-primary:focus-visible,
.btn-carrito:focus-visible,
.carrito-checkout-btn:focus-visible,
.checkout-step-next:focus-visible,
.checkout-step-confirm:focus-visible,
.checkout-finalize-btn:focus-visible,
.checkout-summary-finalize-btn:focus-visible,
.checkout-final-button:focus-visible,
.producto-acciones .btn-carrito:focus-visible,
.producto-quick-button:focus-visible,
.catalogo-busqueda-pro .btn:focus-visible,
.catalogo-bristol-shell .catalogo-busqueda-pro button:focus-visible,
.catalogo-bristol-shell .market-product-card .btn:not(.btn-secundario):not(.btn-outline):focus-visible,
.market-product-card .btn:not(.btn-secundario):not(.btn-outline):focus-visible,
.retail-hero-search button:focus-visible,
.retail-btn-primary:focus-visible,
.retail-cart-form button:focus-visible,
.trigo-slide-btn-primary:focus-visible,
.rapid-btn-primary:focus-visible,
.mini-cart-button:focus-visible,
#tienda-header-cliente .header-search button:focus-visible,
#tienda-header-cliente .header-user-links .menu-admin-link:focus-visible,
#tienda-header-cliente .menu-ofertas-link:focus-visible,
.admin-body .menu-admin-link:focus-visible {
    background: var(--action-blue-hover) !important;
    background-image: none !important;
    box-shadow: 0 6px 16px rgba(37, 99, 235, 0.24) !important;
    color: #ffffff !important;
    outline: none !important;
    transform: translateY(-1px);
}

.btn-secondary,
.btn-secundario,
.btn-secundario-claro,
.btn-outline,
.checkout-step-prev,
.trigo-slide-btn-secondary,
.rapid-btn-secondary,
.producto-acciones .btn-secundario-claro,
.catalogo-bristol-shell .market-product-card .btn-secundario,
.catalogo-bristol-shell .market-product-card .btn-outline,
.market-product-card .btn-secundario,
.market-product-card .btn-outline,
.carrito-seguir-btn,
.cart-continue-mobile,
.mini-cart-remove,
.catalogo-bristol-shell .catalogo-view-switch button,
.catalogo-bristol-shell .catalogo-card-actions a,
.catalogo-bristol-shell .catalogo-card-actions button {
    align-items: center;
    background: var(--button-gray) !important;
    background-image: none !important;
    border: 1px solid var(--button-gray-border) !important;
    border-radius: 999px !important;
    box-shadow: none !important;
    color: var(--button-text) !important;
    display: inline-flex;
    font-weight: 600;
    gap: 8px;
    justify-content: center;
    min-height: 40px;
    padding: 10px 18px;
    text-decoration: none;
    transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease;
}

.catalogo-bristol-shell .catalogo-view-switch button {
    background: #ffffff !important;
    border: 1px solid #d1d5db !important;
    border-radius: 10px !important;
    color: #374151 !important;
    flex: 0 0 38px !important;
    height: 38px !important;
    min-height: 38px !important;
    min-width: 38px !important;
    overflow: visible !important;
    padding: 0 !important;
    width: 38px !important;
}

.catalogo-bristol-shell .catalogo-view-switch button:hover,
.catalogo-bristol-shell .catalogo-view-switch button:focus-visible {
    background: #eff6ff !important;
    border-color: #93c5fd !important;
    color: #2563eb !important;
}

.catalogo-bristol-shell .catalogo-view-switch button.is-active {
    background: #2563eb !important;
    border-color: #2563eb !important;
    color: #ffffff !important;
}

.catalogo-bristol-shell .catalogo-view-switch svg {
    display: block !important;
    fill: currentColor !important;
    height: 18px !important;
    min-height: 18px !important;
    min-width: 18px !important;
    width: 18px !important;
}

.btn-secondary:hover,
.btn-secundario:hover,
.btn-secundario-claro:hover,
.btn-outline:hover,
.checkout-step-prev:hover,
.trigo-slide-btn-secondary:hover,
.rapid-btn-secondary:hover,
.producto-acciones .btn-secundario-claro:hover,
.catalogo-bristol-shell .market-product-card .btn-secundario:hover,
.catalogo-bristol-shell .market-product-card .btn-outline:hover,
.market-product-card .btn-secundario:hover,
.market-product-card .btn-outline:hover,
.carrito-seguir-btn:hover,
.cart-continue-mobile:hover,
.mini-cart-remove:hover,
.catalogo-bristol-shell .catalogo-view-switch button:hover,
.catalogo-bristol-shell .catalogo-card-actions a:hover,
.catalogo-bristol-shell .catalogo-card-actions button:hover,
.btn-secondary:focus-visible,
.btn-secundario:focus-visible,
.btn-secundario-claro:focus-visible,
.btn-outline:focus-visible,
.checkout-step-prev:focus-visible,
.trigo-slide-btn-secondary:focus-visible,
.rapid-btn-secondary:focus-visible,
.producto-acciones .btn-secundario-claro:focus-visible,
.catalogo-bristol-shell .market-product-card .btn-secundario:focus-visible,
.catalogo-bristol-shell .market-product-card .btn-outline:focus-visible,
.market-product-card .btn-secundario:focus-visible,
.market-product-card .btn-outline:focus-visible,
.carrito-seguir-btn:focus-visible,
.cart-continue-mobile:focus-visible,
.mini-cart-remove:focus-visible,
.catalogo-bristol-shell .catalogo-view-switch button:focus-visible,
.catalogo-bristol-shell .catalogo-card-actions a:focus-visible,
.catalogo-bristol-shell .catalogo-card-actions button:focus-visible {
    background: var(--button-gray-hover) !important;
    border-color: #d1d5db !important;
    box-shadow: none !important;
    color: var(--button-text) !important;
    outline: none !important;
}

.btn-rojo,
.carrito-eliminar,
.mini-cart-close,
.carrito-vaciar-link {
    border-radius: 999px !important;
}

.checkout-location-button.btn-secundario,
.checkout-location-button.btn-secundario:hover,
.checkout-location-button.btn-secundario:focus-visible {
    background: var(--button-gray) !important;
    background-image: none !important;
    border: 1px solid var(--button-gray-border) !important;
    border-radius: 999px !important;
    box-shadow: none !important;
    color: var(--button-text) !important;
}

/* Product card add-to-cart buttons */
.catalogo-bristol-shell .catalogo-card-cart,
.home-catalog-cards .market-product-card .catalogo-card-cart {
    align-self: stretch !important;
    grid-column: 1 / -1 !important;
    justify-self: stretch !important;
    margin-top: 8px !important;
    order: 3 !important;
    width: 100% !important;
}

.catalogo-bristol-shell .market-product-card .card-producto-body,
.catalogo-bristol-shell .market-product-card .card-producto-footer,
.home-catalog-cards .market-product-card .card-producto-body,
.home-catalog-cards .market-product-card .card-producto-footer {
    width: 100% !important;
}

.catalogo-bristol-shell .market-product-card .card-producto-footer,
.home-catalog-cards .market-product-card .card-producto-footer {
    align-items: stretch !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
}

.catalogo-bristol-shell .market-product-card .card-producto-precio-wrap,
.home-catalog-cards .market-product-card .card-producto-precio-wrap {
    width: 100% !important;
}

.catalogo-bristol-shell .catalogo-card-cart button,
.home-catalog-cards .market-product-card .catalogo-card-cart button {
    align-items: center !important;
    background: #0d47a1 !important;
    background-image: none !important;
    border: 1px solid #0d47a1 !important;
    border-radius: 8px !important;
    box-shadow: 0 8px 18px rgba(13, 71, 161, 0.18) !important;
    color: #ffffff !important;
    display: inline-flex !important;
    gap: 8px !important;
    height: 38px !important;
    justify-content: center !important;
    min-height: 38px !important;
    min-width: 100% !important;
    padding: 0 !important;
    width: 100% !important;
}

.catalogo-bristol-shell .catalogo-card-cart button svg,
.home-catalog-cards .market-product-card .catalogo-card-cart button svg {
    height: 18px !important;
    width: 18px !important;
}

.catalogo-bristol-shell .catalogo-cart-text,
.home-catalog-cards .market-product-card .catalogo-cart-text {
    display: inline !important;
    font-size: 14px !important;
    font-weight: 800 !important;
}

.catalogo-bristol-shell .catalogo-card-cart button:hover,
.catalogo-bristol-shell .catalogo-card-cart button:focus-visible,
.home-catalog-cards .market-product-card .catalogo-card-cart button:hover,
.home-catalog-cards .market-product-card .catalogo-card-cart button:focus-visible {
    background: #083b88 !important;
    border-color: #083b88 !important;
    box-shadow: 0 10px 22px rgba(13, 71, 161, 0.24) !important;
    color: #ffffff !important;
    outline: none !important;
    transform: translateY(-1px);
}

.catalogo-bristol-shell .catalogo-card-cart button:active,
.home-catalog-cards .market-product-card .catalogo-card-cart button:active {
    background: #082f6d !important;
    border-color: #082f6d !important;
    box-shadow: 0 6px 14px rgba(13, 71, 161, 0.18) !important;
    transform: translateY(0);
}

.catalogo-bristol-shell .market-product-card .catalogo-whatsapp-producto,
.catalogo-layout .card-producto .catalogo-whatsapp-producto,
.home-catalog-cards .market-product-card .catalogo-whatsapp-producto,
.catalogo-bristol-shell .market-product-card .btn.btn-whatsapp.catalogo-whatsapp-producto,
.catalogo-layout .card-producto .btn.btn-whatsapp.catalogo-whatsapp-producto,
.home-catalog-cards .market-product-card .btn.btn-whatsapp.catalogo-whatsapp-producto {
    background: #16a34a !important;
    background-image: none !important;
    border-color: #16a34a !important;
    box-shadow: 0 8px 18px rgba(22, 163, 74, 0.18) !important;
    color: #ffffff !important;
}

.catalogo-bristol-shell .market-product-card .catalogo-whatsapp-producto:hover,
.catalogo-bristol-shell .market-product-card .catalogo-whatsapp-producto:focus-visible,
.catalogo-layout .card-producto .catalogo-whatsapp-producto:hover,
.catalogo-layout .card-producto .catalogo-whatsapp-producto:focus-visible,
.home-catalog-cards .market-product-card .catalogo-whatsapp-producto:hover,
.home-catalog-cards .market-product-card .catalogo-whatsapp-producto:focus-visible,
.catalogo-bristol-shell .market-product-card .btn.btn-whatsapp.catalogo-whatsapp-producto:hover,
.catalogo-bristol-shell .market-product-card .btn.btn-whatsapp.catalogo-whatsapp-producto:focus-visible,
.catalogo-layout .card-producto .btn.btn-whatsapp.catalogo-whatsapp-producto:hover,
.catalogo-layout .card-producto .btn.btn-whatsapp.catalogo-whatsapp-producto:focus-visible,
.home-catalog-cards .market-product-card .btn.btn-whatsapp.catalogo-whatsapp-producto:hover,
.home-catalog-cards .market-product-card .btn.btn-whatsapp.catalogo-whatsapp-producto:focus-visible {
    background: #15803d !important;
    border-color: #15803d !important;
    box-shadow: 0 10px 22px rgba(22, 163, 74, 0.24) !important;
    color: #ffffff !important;
}

@media (max-width: 720px) {
    .catalogo-bristol-shell .catalogo-card-cart button,
    .home-catalog-cards .market-product-card .catalogo-card-cart button {
        height: 34px !important;
        min-height: 34px !important;
        min-width: 34px !important;
        width: 34px !important;
    }

    .catalogo-bristol-shell .catalogo-card-cart button svg,
    .home-catalog-cards .market-product-card .catalogo-card-cart button svg {
        height: 17px !important;
        width: 17px !important;
    }

    .catalogo-bristol-shell[data-catalog-view="list"] .market-product-card {
        box-sizing: border-box;
        max-width: 100%;
        overflow: hidden;
    }

    .catalogo-bristol-shell[data-catalog-view="list"] .market-product-card .card-producto-body,
    .catalogo-bristol-shell[data-catalog-view="list"] .market-product-card .card-producto-footer,
    .catalogo-bristol-shell[data-catalog-view="list"] .market-product-card .card-producto-precio-wrap {
        min-width: 0;
    }

    .catalogo-bristol-shell[data-catalog-view="list"] .market-product-card .card-producto-footer {
        grid-template-columns: minmax(0, 1fr) 34px;
        overflow: hidden;
        width: 100%;
    }

    .catalogo-bristol-shell[data-catalog-view="list"] .catalogo-card-cart {
        justify-self: end;
        min-width: 34px;
        width: 34px;
    }

    .catalogo-bristol-shell[data-catalog-view="list"] .catalogo-card-cart button {
        flex: 0 0 34px;
        overflow: hidden;
    }

    .catalogo-bristol-shell[data-catalog-view="list"] .catalogo-cart-text {
        display: none !important;
    }

    .catalogo-bristol-shell[data-catalog-view="list"] .market-product-card .precio {
        max-width: 100%;
        overflow-wrap: anywhere;
    }
}

/* Compact mobile cart */
@media (max-width: 768px) {
    .carrito-premium {
        gap: 14px !important;
        margin-top: 12px !important;
    }

    .carrito-premium-main,
    .carrito-resumen-card {
        border-color: #e5e7eb !important;
        border-radius: 14px !important;
        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04) !important;
    }

    .carrito-panel-head {
        background: #ffffff !important;
        border-bottom: 1px solid #e5e7eb !important;
        border-radius: 14px 14px 0 0 !important;
        gap: 8px !important;
        padding: 12px 14px !important;
    }

    .carrito-panel-head .dashboard-label {
        margin-bottom: 4px !important;
    }

    .carrito-panel-head h3 {
        font-size: 18px !important;
        line-height: 1.2 !important;
    }

    .carrito-items-list {
        gap: 10px !important;
        padding: 12px !important;
    }

    .carrito-item-card {
        align-items: start !important;
        background: #ffffff !important;
        border: 1px solid #e5e7eb !important;
        border-radius: 12px !important;
        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04) !important;
        display: grid !important;
        font-size: 12px !important;
        gap: 6px 8px !important;
        grid-template-columns: 64px minmax(0, 1fr) auto !important;
        grid-template-rows: auto auto !important;
        min-height: 84px !important;
        padding: 8px !important;
        position: relative !important;
    }

    .carrito-item-card:hover {
        border-color: #e5e7eb !important;
        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04) !important;
        transform: none !important;
    }

    .carrito-item-card img {
        border-radius: 10px !important;
        grid-column: 1 !important;
        grid-row: 1 / 3 !important;
        height: 64px !important;
        max-height: 64px !important;
        object-fit: cover !important;
        width: 64px !important;
    }

    .carrito-item-info {
        grid-column: 2 !important;
        grid-row: 1 !important;
        min-width: 0 !important;
        padding-right: 0 !important;
    }

    .carrito-item-info span {
        display: none !important;
    }

    .carrito-item-info h4 {
        display: -webkit-box !important;
        font-size: 13px !important;
        line-height: 1.2 !important;
        margin: 0 0 3px !important;
        max-height: 31px !important;
        overflow: hidden !important;
        -webkit-box-orient: vertical !important;
        -webkit-line-clamp: 2 !important;
    }

    .carrito-item-info p {
        color: #6b7280 !important;
        font-size: 11px !important;
        line-height: 1.2 !important;
        margin: 0 !important;
    }

    .carrito-item-info p strong {
        color: #111827 !important;
        font-size: 11px !important;
        font-weight: 800 !important;
    }

    .carrito-cantidad-control {
        align-self: end !important;
        background: #f9fafb !important;
        border: 1px solid #e5e7eb !important;
        border-radius: 999px !important;
        gap: 3px !important;
        grid-column: 2 !important;
        grid-row: 2 !important;
        justify-content: flex-start !important;
        padding: 2px !important;
        width: max-content !important;
    }

    .carrito-cantidad-control a {
        background: #ffffff !important;
        border: 1px solid #e5e7eb !important;
        color: #111827 !important;
        font-size: 15px !important;
        height: 28px !important;
        min-height: 28px !important;
        width: 28px !important;
    }

    .carrito-cantidad-control a:hover,
    .carrito-cantidad-control a:focus-visible {
        background: #f3f4f6 !important;
        color: #111827 !important;
        transform: none !important;
    }

    .carrito-cantidad-control strong {
        color: #111827 !important;
        font-size: 12px !important;
        min-width: 20px !important;
    }

    .carrito-item-subtotal {
        align-self: end !important;
        display: block !important;
        grid-column: 3 !important;
        grid-row: 2 !important;
        min-width: 82px !important;
        text-align: right !important;
    }

    .carrito-item-subtotal span {
        color: #6b7280 !important;
        font-size: 11px !important;
        margin-bottom: 2px !important;
    }

    .carrito-item-subtotal strong {
        color: #111827 !important;
        display: block !important;
        font-size: 13px !important;
        line-height: 1.15 !important;
        white-space: nowrap !important;
    }

    .carrito-eliminar {
        align-items: center !important;
        align-self: start !important;
        background: #fff5f5 !important;
        border: 1px solid #fee2e2 !important;
        border-radius: 999px !important;
        color: #dc2626 !important;
        display: inline-flex !important;
        font-size: 0 !important;
        grid-column: 3 !important;
        grid-row: 1 !important;
        height: 32px !important;
        justify-content: center !important;
        justify-self: end !important;
        line-height: 1 !important;
        padding: 0 !important;
        text-align: center !important;
        width: 32px !important;
    }

    .carrito-eliminar::before {
        background: transparent;
        color: currentColor;
        content: "";
        display: block;
        height: 16px;
        width: 16px;
        background-color: currentColor;
        mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h18'/%3E%3Cpath d='M8 6V4c0-.6.4-1 1-1h6c.6 0 1 .4 1 1v2'/%3E%3Cpath d='M19 6l-1 14c-.1.6-.5 1-1.1 1H7.1c-.6 0-1-.4-1.1-1L5 6'/%3E%3Cpath d='M10 11v6'/%3E%3Cpath d='M14 11v6'/%3E%3C/svg%3E") center / contain no-repeat;
        -webkit-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h18'/%3E%3Cpath d='M8 6V4c0-.6.4-1 1-1h6c.6 0 1 .4 1 1v2'/%3E%3Cpath d='M19 6l-1 14c-.1.6-.5 1-1.1 1H7.1c-.6 0-1-.4-1.1-1L5 6'/%3E%3Cpath d='M10 11v6'/%3E%3Cpath d='M14 11v6'/%3E%3C/svg%3E") center / contain no-repeat;
    }

    .carrito-eliminar:hover,
    .carrito-eliminar:focus-visible {
        background: #fee2e2 !important;
        border-color: #fecaca !important;
        color: #dc2626 !important;
        transform: none !important;
    }

    .carrito-resumen-card {
        padding: 14px !important;
    }

    .carrito-resumen-card h3 {
        font-size: 18px !important;
    }

    .carrito-resumen-card .envio-gratis-card {
        display: none !important;
    }

    .carrito-vacio-card .envio-gratis-card {
        display: none !important;
    }

    .mobile-delivery-free-card {
        background: #ffffff !important;
        border: 1px solid #e5e7eb !important;
        border-radius: 14px !important;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04) !important;
        display: grid !important;
        gap: 8px !important;
        margin: 6px 0 8px !important;
        padding: 10px 12px !important;
    }

    .mobile-delivery-free-line {
        align-items: center !important;
        display: flex !important;
        gap: 8px !important;
        min-width: 0 !important;
    }

    .mobile-delivery-free-icon {
        align-items: center !important;
        background: #f0fdf4 !important;
        border: 1px solid #bbf7d0 !important;
        border-radius: 999px !important;
        color: #16a34a !important;
        display: inline-flex !important;
        flex: 0 0 26px !important;
        font-size: 14px !important;
        height: 26px !important;
        justify-content: center !important;
        width: 26px !important;
    }

    .mobile-delivery-free-line strong {
        color: #374151 !important;
        font-size: 12.5px !important;
        font-weight: 750 !important;
        line-height: 1.3 !important;
    }

    .mobile-delivery-free-progress {
        background: #e5e7eb !important;
        border-radius: 999px !important;
        height: 4px !important;
        overflow: hidden !important;
    }

    .mobile-delivery-free-progress span {
        background: linear-gradient(90deg, #22c55e, #60a5fa) !important;
        border-radius: inherit !important;
        display: block !important;
        height: 100% !important;
        min-width: 0 !important;
    }

    .carrito-resumen-lineas {
        background: #ffffff !important;
        background-image: none !important;
        border: 1px solid #e5e7eb !important;
        border-radius: 16px !important;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04) !important;
        color: #111827 !important;
        gap: 0 !important;
        padding: 12px 14px !important;
    }

    .resumen-linea {
        border-bottom: 1px solid #f3f4f6 !important;
        gap: 10px !important;
        padding: 9px 0 !important;
    }

    .resumen-delivery-badge {
        display: none !important;
    }

    .resumen-linea span {
        color: #6b7280 !important;
        font-size: 13px !important;
        font-weight: 650 !important;
    }

    .resumen-linea strong {
        color: #111827 !important;
        font-size: 14px !important;
        font-weight: 800 !important;
    }

    .resumen-delivery-badge {
        display: none !important;
    }

    .resumen-linea-total {
        border-bottom: 0 !important;
        border-top: 1px solid #e5e7eb !important;
        margin-top: 2px !important;
        padding-top: 12px !important;
    }

    .resumen-linea-total span {
        color: #111827 !important;
        font-size: 14px !important;
        font-weight: 800 !important;
    }

    .resumen-linea-total strong {
        color: #111827 !important;
        font-size: 21px !important;
        font-weight: 900 !important;
    }

    .carrito-checkout-btn {
        border-radius: 999px !important;
        margin-top: 12px !important;
        min-height: 50px !important;
        width: 100% !important;
    }
}

#checkout-form .checkout-submit-row button.btn-checkout-siguiente,
.btn-checkout-siguiente {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    width: 100%;
    height: 44px;
    background: #0D6EFD !important;
    background-color: #0D6EFD !important;
    color: #FFFFFF !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 999px !important;
    padding: 0 20px !important;
    font-weight: 700;
    transition: background 0.3s ease, background-color 0.3s ease, transform 0.3s ease;
}

#checkout-form .checkout-submit-row button.btn-checkout-siguiente:hover,
#checkout-form .checkout-submit-row button.btn-checkout-siguiente:focus-visible,
.btn-checkout-siguiente:hover,
.btn-checkout-siguiente:focus-visible {
    background: #0B5ED7 !important;
    background-color: #0B5ED7 !important;
    color: #FFFFFF !important;
    transform: translateY(-1px);
}

.checkout-final-summary-panel .checkout-payment-methods {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    order: 1;
}

.checkout-payment-details {
    display: block !important;
    order: 3;
}

.checkout-payment-details .checkout-payment-summary {
    display: none !important;
}

.checkout-comprobante-field {
    margin-top: 14px;
}

.checkout-comprobante-field label {
    display: block;
    margin-bottom: 8px;
}

.checkout-comprobante-field input[type="file"] {
    width: 100%;
}

.checkout-step-panel.checkout-final-summary-panel.is-active {
    display: flex !important;
    flex-direction: column;
}

.checkout-final-summary-panel .checkout-section-head {
    order: 0;
}

.checkout-payment-summary-box {
    order: 2;
}

.checkout-payment-summary-head h4 {
    color: #111827;
    font-size: 16px;
    margin: 0 0 10px;
}

.checkout-payment-submit {
    justify-content: center;
    margin-top: 14px;
    width: 100%;
}

@media (max-width: 640px) {
    .checkout-final-summary-panel .checkout-payment-methods {
        grid-template-columns: 1fr;
    }
}

.checkout-delivery-mode {
    display: none !important;
}

@media (max-width: 768px) {
    .checkout-form input,
    .checkout-form select,
    .checkout-form textarea {
        height: 36px !important;
        min-height: 36px !important;
        padding: 6px 10px !important;
        font-size: 13px !important;
        border-radius: 9px !important;
    }

    .checkout-form textarea {
        height: auto !important;
        min-height: 60px !important;
    }

    .checkout-group,
    .checkout-form-grid-full {
        margin-bottom: 8px !important;
    }

    .checkout-card,
    .checkout-section {
        padding: 12px !important;
    }
}

.checkout-final-summary-panel .checkout-payment-methods {
    display: none !important;
}

.checkout-final-summary-panel .checkout-payment-select {
    appearance: auto;
    display: block !important;
    height: 44px !important;
    margin: 0 0 12px !important;
    opacity: 1 !important;
    padding: 0 14px !important;
    pointer-events: auto !important;
    position: static !important;
    width: 100% !important;
}

.checkout-final-summary-panel .checkout-payment-details {
    order: 2;
}

.checkout-payment-summary-box.resumen-pago {
    margin-top: 14px;
}

.resumen-pago {
    padding: 12px !important;
    font-size: 13px !important;
}

.resumen-pago h3 {
    font-size: 16px !important;
    margin: 0 0 10px !important;
}

.resumen-pago .fila {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    align-items: center;
}

.resumen-pago .label {
    font-size: 12px;
    color: #666;
}

.resumen-pago .valor {
    font-size: 14px;
    font-weight: 700;
    text-align: right;
}

.resumen-pago .total {
    font-size: 20px;
    font-weight: 800;
}

.resumen-pago .checkout-payment-whatsapp-note {
    font-size: 13px;
    line-height: 1.35;
    margin: 10px 0 0;
}

#checkout-form select#metodo_pago.checkout-payment-select {
    display: block !important;
    height: 44px !important;
    min-height: 44px !important;
    margin: 0 0 12px !important;
    opacity: 1 !important;
    padding: 0 14px !important;
    pointer-events: auto !important;
    position: static !important;
    width: 100% !important;
}

.checkout-final-summary-panel .checkout-payment-select-hidden,
.checkout-final-summary-panel .checkout-payment-methods,
.checkout-final-summary-panel [data-payment-card] {
    display: none !important;
}

.checkout-grid[data-current-step="2"] .checkout-submit-row {
    justify-content: flex-start !important;
}

.checkout-grid[data-current-step="2"] .btn-checkout-siguiente {
    display: none !important;
}

.checkout-payment-submit {
    background: #0D6EFD !important;
    background-color: #0D6EFD !important;
    border: none !important;
    color: #ffffff !important;
}

.checkout-payment-submit:hover,
.checkout-payment-submit:focus-visible {
    background: #0B5ED7 !important;
    background-color: #0B5ED7 !important;
    color: #ffffff !important;
}

.checkout-file-upload {
    align-items: center;
    display: flex;
    gap: 10px;
    position: relative;
}

.checkout-file-input {
    height: 1px !important;
    left: 0;
    opacity: 0;
    overflow: hidden;
    padding: 0 !important;
    position: absolute;
    top: 0;
    width: 1px !important;
    z-index: -1;
}

.checkout-file-button {
    align-items: center;
    background: #0D6EFD !important;
    border: none !important;
    border-radius: 999px !important;
    color: #ffffff !important;
    cursor: pointer;
    display: inline-flex !important;
    flex: 0 0 auto;
    font-size: 13px;
    font-weight: 700;
    height: 36px;
    justify-content: center;
    margin: 0 !important;
    padding: 0 18px;
    transition: background-color 0.25s ease, transform 0.25s ease;
}

.checkout-file-button:hover,
.checkout-file-button:focus-visible {
    background: #0B5ED7 !important;
    transform: translateY(-1px);
}

.checkout-file-name {
    color: #666;
    flex: 1 1 auto;
    font-size: 12px;
    line-height: 1.25;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@media (max-width: 768px) {
    #checkout-form select#metodo_pago.checkout-payment-select {
        height: 36px !important;
        min-height: 36px !important;
        padding: 6px 10px !important;
    }

    .checkout-file-upload {
        align-items: stretch;
        flex-direction: column;
        gap: 6px;
    }

    .checkout-file-button {
        width: 100%;
    }
}

/* Checkout pago compacto */
.checkout-progress.checkout-steps-progress {
    display: grid !important;
}

.checkout-form-card .checkout-step-panel {
    display: none !important;
}

.checkout-form-card .checkout-step-panel.is-active {
    display: block !important;
}

.checkout-submit-row {
    display: none !important;
}

.checkout-step-panel.checkout-final-summary-panel.is-active {
    display: flex !important;
    flex-direction: column;
    gap: 10px;
}

.checkout-step-actions {
    display: flex;
    justify-content: flex-end;
    margin-top: 12px;
}

.checkout-step-actions-next .btn-checkout-siguiente {
    max-width: 220px;
}

.checkout-final-summary-panel {
    padding: 16px !important;
}

.checkout-final-summary-panel .checkout-section-head {
    margin-bottom: 2px !important;
}

.checkout-final-summary-panel .checkout-section-head h4 {
    font-size: 18px !important;
    margin: 0 !important;
}

.checkout-final-summary-panel .checkout-payment-technical-label {
    color: #344054;
    display: block !important;
    font-size: 13px;
    font-weight: 750;
    margin: 2px 0 4px;
}

#checkout-form select#metodo_pago.checkout-payment-select {
    border-radius: 10px !important;
    font-size: 14px !important;
    height: 42px !important;
    margin: 0 !important;
    min-height: 42px !important;
}

.checkout-final-summary-panel .checkout-payment-result {
    display: none !important;
    gap: 10px;
    margin-top: 0;
}

.checkout-final-summary-panel.has-payment-selected .checkout-payment-result {
    display: grid !important;
}

.checkout-final-summary-panel .pago-detalle {
    border-radius: 10px !important;
    padding: 11px 12px !important;
}

.checkout-final-summary-panel .pago-detalle-titulo {
    font-size: 13px !important;
    margin: 0 0 8px !important;
}

.checkout-final-summary-panel .pago-detalle-grid {
    gap: 8px !important;
}

.checkout-final-summary-panel .pago-detalle-grid div {
    padding: 8px 10px !important;
}

.checkout-payment-summary-box.resumen-pago {
    background: #f8fbff !important;
    border: 1px solid #dbeafe !important;
    border-radius: 12px !important;
    margin: 0 !important;
    padding: 12px !important;
}

.resumen-pago h3 {
    color: #111827;
    font-size: 14px !important;
    margin: 0 0 6px !important;
}

.resumen-pago .fila {
    align-items: flex-end;
    border-bottom: 0 !important;
    padding: 0 !important;
}

.resumen-pago .label {
    color: #667085 !important;
    font-size: 12px !important;
    font-weight: 700;
}

.resumen-pago .total {
    color: #0D6EFD !important;
    font-size: 24px !important;
    font-weight: 900 !important;
    line-height: 1.05;
}

.resumen-pago .checkout-payment-whatsapp-note {
    color: #475467 !important;
    font-size: 12px !important;
    margin: 8px 0 0 !important;
}

.checkout-comprobante-field {
    margin-top: 10px !important;
}

.checkout-comprobante-field label {
    color: #344054;
    font-size: 13px;
    font-weight: 750;
    margin-bottom: 6px !important;
}

.checkout-comprobante-field small {
    color: #667085;
    display: block;
    font-size: 11px;
    line-height: 1.3;
    margin-top: 6px;
}

.checkout-file-upload {
    gap: 8px !important;
}

.checkout-file-button {
    border-radius: 10px !important;
    height: 34px !important;
    padding: 0 14px !important;
}

.checkout-payment-submit {
    background: #0D6EFD !important;
    border-radius: 10px !important;
    box-shadow: none !important;
    color: #ffffff !important;
    font-size: 14px;
    font-weight: 850;
    min-height: 44px !important;
    margin-top: 0 !important;
    width: 100%;
}

.checkout-final-actions {
    align-items: center;
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(120px, 0.35fr) minmax(0, 1fr);
}

.checkout-payment-prev {
    align-items: center;
    border-radius: 10px !important;
    display: inline-flex;
    justify-content: center;
    min-height: 44px !important;
    width: 100%;
}

.checkout-payment-submit:hover,
.checkout-payment-submit:focus-visible {
    background: #0B5ED7 !important;
    color: #ffffff !important;
}

@media (min-width: 901px) {
    .checkout-step-panel.checkout-final-summary-panel.is-active {
        display: flex !important;
    }
}

@media (max-width: 768px) {
    .checkout-final-summary-panel {
        padding: 12px !important;
    }

    #checkout-form select#metodo_pago.checkout-payment-select {
        height: 40px !important;
        min-height: 40px !important;
    }

    .resumen-pago .fila {
        align-items: flex-start;
        flex-direction: column;
        gap: 2px;
    }

    .resumen-pago .total {
        font-size: 22px !important;
        text-align: left;
    }

    .checkout-payment-submit {
        min-height: 46px !important;
    }

    .checkout-step-actions-next .btn-checkout-siguiente {
        max-width: none;
    }

    .checkout-final-actions {
        grid-template-columns: 1fr;
    }
}

/* Checkout paso 2 compacto final */
.checkout-final-summary-panel .checkout-payment-result {
    gap: 8px !important;
}

.checkout-final-summary-panel .pago-detalle {
    background: #ffffff !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 10px !important;
    box-shadow: none !important;
    padding: 10px 12px !important;
}

.checkout-final-summary-panel .pago-detalle-grid {
    display: grid !important;
    gap: 8px 10px !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.checkout-final-summary-panel .pago-detalle-grid div {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    display: grid;
    gap: 2px;
    min-width: 0;
    padding: 0 !important;
}

.checkout-final-summary-panel .pago-detalle-grid span {
    color: #667085 !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 1.15;
    text-transform: uppercase;
}

.checkout-final-summary-panel .pago-detalle-grid strong {
    color: #111827 !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1.2;
    overflow-wrap: anywhere;
}

.checkout-final-summary-panel .checkout-comprobante-field {
    background: #ffffff !important;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    margin: 0 !important;
    padding: 10px 12px;
}

.checkout-final-summary-panel .checkout-comprobante-field label {
    font-size: 12px !important;
    line-height: 1.2;
    margin-bottom: 6px !important;
}

.checkout-final-summary-panel .checkout-comprobante-field small {
    font-size: 11px !important;
    margin-top: 5px !important;
}

.checkout-final-summary-panel .checkout-file-upload {
    gap: 6px !important;
}

.checkout-final-summary-panel .checkout-file-button {
    height: 32px !important;
    padding: 0 12px !important;
}

.checkout-final-summary-panel .checkout-file-name {
    font-size: 11px !important;
}

.checkout-final-summary-panel .resumen-pago {
    padding: 10px 12px !important;
}

.checkout-final-summary-panel .resumen-pago h3 {
    font-size: 13px !important;
    margin-bottom: 5px !important;
}

.checkout-final-summary-panel .resumen-pago .label,
.checkout-final-summary-panel .resumen-pago .checkout-payment-whatsapp-note {
    font-size: 11px !important;
}

.checkout-final-summary-panel .resumen-pago .total {
    font-size: 21px !important;
}

@media (max-width: 520px) {
    .checkout-final-summary-panel .pago-detalle-grid {
        gap: 7px !important;
    }

    .checkout-final-summary-panel .pago-detalle-grid strong {
        font-size: 13px !important;
    }
}

/* Checkout resumen del pedido compacto */
.checkout-final-summary-panel .resumen-pedido {
    background: #ffffff !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 12px !important;
    box-shadow: none !important;
    display: grid;
    gap: 10px;
    margin: 0 !important;
    padding: 12px !important;
}

.resumen-pedido h3 {
    color: #111827;
    font-size: 15px !important;
    line-height: 1.2;
    margin: 0 !important;
}

.checkout-order-items {
    display: grid;
    gap: 0;
}

.checkout-order-item {
    align-items: center;
    border-bottom: 1px solid #f1f5f9;
    display: grid;
    gap: 9px;
    grid-template-columns: 48px minmax(0, 1fr) auto;
    min-width: 0;
    padding: 8px 0;
}

.checkout-order-item:first-child {
    padding-top: 0;
}

.checkout-order-item:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.checkout-order-item img {
    aspect-ratio: 1;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    height: 48px;
    object-fit: cover;
    width: 48px;
}

.checkout-order-item-info {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.checkout-order-item-info strong {
    color: #111827;
    display: -webkit-box;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.2;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.checkout-order-item-info small {
    color: #667085;
    font-size: 11px;
    line-height: 1.25;
}

.checkout-order-item-total {
    color: #111827;
    font-size: 13px;
    font-weight: 850;
    line-height: 1.2;
    text-align: right;
    white-space: nowrap;
}

.checkout-order-totals {
    border-top: 1px solid #e5e7eb;
    display: grid;
    gap: 7px;
    padding-top: 10px;
}

.checkout-order-total-line {
    align-items: center;
    display: flex;
    gap: 12px;
    justify-content: space-between;
}

.checkout-order-total-line span {
    color: #667085;
    font-size: 12px;
    font-weight: 700;
}

.checkout-order-total-line strong {
    color: #111827;
    font-size: 13px;
    font-weight: 850;
    text-align: right;
}

.checkout-order-total-line strong.is-pending-shipping {
    color: #6b7280;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.3;
    white-space: normal;
}

.checkout-order-total-line strong.is-free-shipping {
    color: #16a34a;
    font-size: 13px;
    font-weight: 850;
}

.checkout-order-total-line strong.is-pending-total {
    color: #6b7280;
    font-size: 12px;
    font-weight: 750;
}

.checkout-order-benefit-line strong {
    color: #047857;
}

.checkout-order-benefit-line.is-hidden-shipping-benefit {
    display: none;
}

.checkout-order-total-final {
    border-top: 1px solid #e5e7eb;
    margin-top: 2px;
    padding-top: 9px;
}

.checkout-order-total-final span {
    color: #111827;
    font-size: 14px;
    font-weight: 850;
}

.checkout-order-total-final strong {
    color: #0D6EFD;
    font-size: 20px;
    font-weight: 950;
}

.resumen-pedido .checkout-comprobante-field {
    margin-top: 0 !important;
}

.resumen-pedido .checkout-final-actions {
    margin-top: 0;
}

@media (max-width: 640px) {
    .checkout-final-summary-panel .resumen-pedido {
        gap: 9px;
        padding: 10px !important;
    }

    .checkout-order-item {
        grid-template-columns: 48px minmax(0, 1fr) minmax(76px, auto);
        gap: 8px;
        padding: 7px 0;
    }

    .checkout-order-item-total {
        font-size: 12px;
    }

    .checkout-order-total-final strong {
        font-size: 19px;
    }
}

/* Checkout flujo 2 pasos */
.checkout-grid,
.checkout-grid[data-current-step="1"],
.checkout-grid[data-current-step="2"] {
    display: block !important;
    max-width: 760px;
}

.checkout-summary-card {
    display: none !important;
}

.checkout-section-head h4 {
    font-size: 18px !important;
    line-height: 1.2;
}

.checkout-form-grid.checkout-form-grid-quick {
    gap: 10px !important;
}

.checkout-form-grid-field {
    display: grid;
    gap: 5px;
}

.checkout-form-card form label {
    font-size: 12px !important;
    line-height: 1.2;
    margin-bottom: 4px !important;
}

.checkout-form-card form input,
.checkout-form-card form select,
.checkout-form-card form textarea {
    border-radius: 9px !important;
    font-size: 14px !important;
    min-height: 40px !important;
    padding: 9px 11px !important;
}

.checkout-form-card form textarea {
    min-height: 64px !important;
}

.checkout-step-subsection {
    border-top: 1px solid #eef2f7;
    margin-top: 12px;
    padding-top: 12px;
}

.checkout-subsection-head {
    margin-bottom: 8px !important;
}

.checkout-subsection-head h4 {
    font-size: 15px !important;
}

.checkout-delivery-mode {
    display: inline-flex !important;
    margin-bottom: 8px !important;
    padding: 6px 10px !important;
}

.checkout-location-card {
    margin-top: 10px !important;
    padding: 10px !important;
}

.checkout-location-head {
    align-items: center;
    margin-bottom: 8px !important;
}

.checkout-location-head small,
.checkout-location-status {
    font-size: 11px !important;
}

.checkout-location-map {
    height: 170px !important;
}

.checkout-step-actions-next {
    margin-top: 12px !important;
}

.checkout-step-actions-next .btn-checkout-siguiente {
    background: #0D6EFD !important;
    border-radius: 10px !important;
    height: 42px !important;
    max-width: none;
    min-height: 42px !important;
}

@media (min-width: 641px) {
    .checkout-form-grid-field {
        min-width: 0;
    }

    .checkout-form-grid.checkout-form-grid-quick {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .checkout-form-grid-full {
        grid-column: 1 / -1;
    }
}

@media (max-width: 640px) {
    .checkout-grid,
    .checkout-grid[data-current-step="1"],
    .checkout-grid[data-current-step="2"] {
        max-width: none;
    }

    .checkout-section {
        margin-top: 10px !important;
    }

    .checkout-location-map {
        height: 150px !important;
    }
}

/* Checkout stepper moderno */
.checkout-progress.checkout-steps-progress {
    align-items: center !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    display: grid !important;
    gap: 0 !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    margin: 0 auto 14px !important;
    max-width: 430px !important;
    padding: 0 !important;
}

.checkout-progress.checkout-steps-progress span {
    align-items: center !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    color: #6b7280 !important;
    display: flex !important;
    font-size: 13px !important;
    font-weight: 750 !important;
    gap: 8px !important;
    justify-content: center !important;
    line-height: 1.2 !important;
    min-height: 28px !important;
    padding: 0 6px !important;
    position: relative !important;
}

.checkout-progress.checkout-steps-progress span::before {
    align-items: center !important;
    background: #e5e7eb !important;
    border: 0 !important;
    border-radius: 999px !important;
    color: #6b7280 !important;
    content: "" !important;
    display: inline-flex !important;
    flex: 0 0 auto !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    height: 20px !important;
    justify-content: center !important;
    line-height: 1 !important;
    width: 20px !important;
}

.checkout-progress.checkout-steps-progress span:not(:last-child)::after {
    background: #d1d5db !important;
    content: "" !important;
    height: 1px !important;
    left: calc(50% + 68px) !important;
    position: absolute !important;
    right: calc(-50% + 68px) !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 0 !important;
}

.checkout-progress.checkout-steps-progress span.is-complete {
    color: #111827 !important;
}

.checkout-progress.checkout-steps-progress span.is-current {
    color: #2563eb !important;
}

.checkout-progress.checkout-steps-progress span.is-complete::before {
    background: #22c55e !important;
    color: #ffffff !important;
    content: "\2713" !important;
}

.checkout-progress.checkout-steps-progress span.is-current::before {
    background: #2563eb !important;
    color: #ffffff !important;
    content: "" !important;
}

.checkout-progress.checkout-steps-progress span.is-complete:not(:last-child)::after {
    background: #22c55e !important;
}

@media (max-width: 520px) {
    .checkout-progress.checkout-steps-progress {
        max-width: none !important;
    }

    .checkout-progress.checkout-steps-progress span {
        font-size: 11px !important;
        gap: 6px !important;
        justify-content: flex-start !important;
    }

    .checkout-progress.checkout-steps-progress span::before {
        height: 18px !important;
        width: 18px !important;
    }

    .checkout-progress.checkout-steps-progress span:not(:last-child)::after {
        left: calc(50% + 44px) !important;
        right: calc(-50% + 44px) !important;
    }
}

/* Checkout pago visual refinado */
.checkout-final-summary-panel .pago-detalle {
    background: #fcfcfd !important;
    border-color: #eaecf0 !important;
    padding: 12px 14px !important;
}

.checkout-final-summary-panel .pago-detalle-grid {
    gap: 11px 14px !important;
}

.checkout-final-summary-panel .pago-detalle-grid div {
    gap: 4px !important;
}

.checkout-final-summary-panel .pago-detalle-grid span {
    color: #6b7280 !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 0.4px !important;
    line-height: 1.1 !important;
    text-transform: uppercase !important;
}

.checkout-final-summary-panel .pago-detalle-grid strong {
    color: #1f2937 !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
}

.checkout-final-summary-panel .checkout-file-button {
    background: #f3f4f6 !important;
    border: 1px solid #d1d5db !important;
    border-radius: 9px !important;
    color: #374151 !important;
    font-weight: 700 !important;
    height: 34px !important;
}

.checkout-final-summary-panel .checkout-file-button:hover,
.checkout-final-summary-panel .checkout-file-button:focus-visible {
    background: #e5e7eb !important;
    border-color: #cbd5e1 !important;
    color: #111827 !important;
    transform: none !important;
}

.checkout-final-summary-panel .checkout-file-name {
    color: #6b7280 !important;
}

/* Checkout cards limpias */
.checkout-final-summary-panel,
.checkout-final-summary-panel .checkout-payment-result,
.checkout-final-summary-panel .pago-detalle,
.checkout-final-summary-panel .checkout-comprobante-field,
.checkout-final-summary-panel .resumen-pedido,
.checkout-final-summary-panel .checkout-final-summary,
.checkout-payment-summary-box {
    background: #ffffff !important;
}

.checkout-final-summary-panel .pago-detalle,
.checkout-final-summary-panel .checkout-comprobante-field,
.checkout-final-summary-panel .resumen-pedido,
.checkout-payment-summary-box {
    border: 1px solid #e5e7eb !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04) !important;
}

/* Checkout paso 1 acciones */
.checkout-step-actions-next {
    align-items: center !important;
    display: grid !important;
    gap: 10px !important;
    grid-template-columns: minmax(120px, 0.35fr) minmax(0, 1fr) !important;
}

.checkout-step-back-start {
    align-items: center !important;
    background: #f3f4f6 !important;
    border: 1px solid #d1d5db !important;
    border-radius: 10px !important;
    box-shadow: none !important;
    color: #374151 !important;
    display: inline-flex !important;
    font-size: 14px !important;
    font-weight: 750 !important;
    justify-content: center !important;
    min-height: 42px !important;
    padding: 0 16px !important;
    text-decoration: none !important;
    width: 100% !important;
}

.checkout-step-back-start:hover,
.checkout-step-back-start:focus-visible {
    background: #e5e7eb !important;
    border-color: #cbd5e1 !important;
    color: #111827 !important;
}

.checkout-step-actions-next .btn-checkout-siguiente {
    width: 100% !important;
}

#checkout-form input::placeholder,
#checkout-form textarea::placeholder {
    color: #9ca3af;
    font-size: 13px;
    opacity: 1;
}

.checkout-final-actions .checkout-payment-prev {
    background: #f3f4f6 !important;
    border: 1px solid #d1d5db !important;
    box-shadow: none !important;
    color: #374151 !important;
}

.checkout-final-actions .checkout-payment-prev:hover,
.checkout-final-actions .checkout-payment-prev:focus-visible {
    background: #e5e7eb !important;
    border-color: #cbd5e1 !important;
    color: #111827 !important;
}

/* Carrito limpio sin tonos azulados */
.carrito-premium-main,
.carrito-resumen-card,
.carrito-vacio-card,
.carrito-item-card,
.carrito-resumen-lineas {
    background: #ffffff !important;
    background-image: none !important;
    border-color: #e5e7eb !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04) !important;
}

.carrito-panel-head {
    background: #ffffff !important;
    background-image: none !important;
    border-bottom-color: #e5e7eb !important;
}

.carrito-panel-head h3,
.carrito-resumen-card h3,
.carrito-vacio-card h3,
.carrito-item-info h4,
.carrito-item-subtotal strong,
.carrito-item-info p strong,
.carrito-cantidad-control strong,
.resumen-linea-total span,
.resumen-linea-total strong {
    color: #111827 !important;
}

.carrito-panel-head .dashboard-label,
.carrito-resumen-card .dashboard-label,
.carrito-item-info span,
.carrito-item-info p,
.carrito-item-subtotal span,
.resumen-linea span {
    color: #374151 !important;
}

.carrito-resumen-lineas,
.carrito-resumen-lineas .resumen-linea,
.carrito-resumen-lineas .resumen-linea span,
.carrito-resumen-lineas .resumen-delivery-badge,
.carrito-resumen-lineas .resumen-delivery-badge strong {
    color: #374151 !important;
}

.carrito-resumen-lineas .resumen-linea strong,
.carrito-resumen-lineas .resumen-linea-total span,
.carrito-resumen-lineas .resumen-linea-total strong {
    color: #111827 !important;
}

.carrito-resumen-lineas .resumen-linea-beneficio strong {
    color: #166534 !important;
}

.carrito-premium p,
.carrito-premium small,
.carrito-premium li {
    color: #374151 !important;
}

.carrito-premium h3,
.carrito-premium h4 {
    color: #111827 !important;
}

.carrito-item-card:hover {
    border-color: #e5e7eb !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06) !important;
}

.carrito-item-card img,
.carrito-cantidad-control,
.resumen-linea {
    border-color: #e5e7eb !important;
}

.carrito-resumen-card .envio-gratis-card,
.carrito-vacio-card .envio-gratis-card,
.resumen-delivery-badge {
    background: #ffffff !important;
    background-image: none !important;
    border-color: #e5e7eb !important;
    color: #374151 !important;
}

.resumen-delivery-badge span,
.carrito-vacio-icono {
    background: #f3f4f6 !important;
    border-color: #e5e7eb !important;
    color: #374151 !important;
}

.carrito-resumen-card .envio-gratis-topline,
.carrito-resumen-card .envio-gratis-topline span,
.carrito-resumen-card .envio-gratis-topline strong,
.carrito-resumen-card .envio-gratis-card strong,
.carrito-resumen-card .envio-gratis-card p,
.carrito-vacio-card .envio-gratis-topline,
.carrito-vacio-card .envio-gratis-topline span,
.carrito-vacio-card .envio-gratis-topline strong,
.carrito-vacio-card .envio-gratis-card strong,
.carrito-vacio-card .envio-gratis-card p {
    color: #374151 !important;
}

.carrito-cantidad-control a {
    background: #2563eb !important;
    border-color: #2563eb !important;
    color: #ffffff !important;
}

.carrito-cantidad-control a:hover,
.carrito-cantidad-control a:focus-visible {
    background: #1d4ed8 !important;
    border-color: #1d4ed8 !important;
    color: #ffffff !important;
}

@media (max-width: 520px) {
    .checkout-step-actions-next {
        grid-template-columns: 1fr 1fr !important;
    }

    .checkout-step-back-start,
    .checkout-step-actions-next .btn-checkout-siguiente {
        font-size: 13px !important;
        padding: 0 10px !important;
    }
}

/* Checkout desktop en dos columnas */
@media (min-width: 769px) {
    .checkout-progress.checkout-steps-progress,
    .checkout-grid,
    .checkout-grid[data-current-step="1"],
    .checkout-grid[data-current-step="2"] {
        max-width: 1180px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        width: min(100% - 48px, 1180px) !important;
    }

    .checkout-grid {
        padding: 0 !important;
    }

    .checkout-form-card {
        width: 100% !important;
    }

    .checkout-form-card form {
        width: 100% !important;
    }

    .checkout-step-one-layout {
        align-items: start;
        display: block;
        margin-left: auto;
        margin-right: auto;
        max-width: 820px;
        width: 100%;
    }

    .checkout-step-one-form {
        min-width: 0;
    }

    .checkout-step-one-summary {
        align-self: start;
        background: #ffffff;
        border: 1px solid #e5e7eb;
        border-radius: 16px;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
        display: grid;
        gap: 14px;
        padding: 16px;
        position: sticky;
        top: 90px;
    }

    .checkout-step-one-summary h3 {
        color: #111827;
        font-size: 18px;
        line-height: 1.2;
        margin: 0;
    }

    .checkout-step-one-summary .checkout-order-items {
        display: grid;
        gap: 10px;
        max-height: 260px;
        overflow: auto;
    }

    .checkout-step-one-summary .checkout-order-item {
        gap: 10px;
        grid-template-columns: 48px minmax(0, 1fr) auto;
        padding: 0 0 10px;
    }

    .checkout-step-one-summary .checkout-order-item:not(:last-child) {
        border-bottom: 1px solid #f3f4f6;
    }

    .checkout-step-one-summary .checkout-order-item img {
        border-radius: 10px;
        height: 48px;
        width: 48px;
    }

    .checkout-step-one-summary .checkout-order-item-info strong {
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        color: #111827;
        display: -webkit-box;
        font-size: 13px;
        line-height: 1.2;
        overflow: hidden;
    }

    .checkout-step-one-summary .checkout-order-item-info small {
        color: #6b7280;
        font-size: 11px;
    }

    .checkout-step-one-summary .checkout-order-item-total {
        color: #111827;
        font-size: 12px;
        white-space: nowrap;
    }

    .checkout-step-one-summary .checkout-order-totals {
        border-top: 1px solid #e5e7eb;
        gap: 8px;
        padding-top: 12px;
    }

    .checkout-step-one-summary .checkout-order-total-line span {
        color: #6b7280;
        font-size: 13px;
    }

    .checkout-step-one-summary .checkout-order-total-line strong {
        color: #111827;
        font-size: 14px;
    }

    .checkout-step-one-summary .checkout-order-total-final strong {
        color: #111827;
        font-size: 22px;
    }

    .checkout-step-actions-mobile {
        display: grid !important;
        grid-template-columns: 1fr 1fr;
        gap: 10px;
    }

    .checkout-step-actions-desktop {
        display: none !important;
    }

    .checkout-step-actions-mobile .checkout-step-back-start,
    .checkout-step-actions-mobile .btn-checkout-siguiente {
        width: 100% !important;
    }

    .checkout-step-panel.checkout-final-summary-panel.is-active {
        align-items: start;
        display: grid !important;
        gap: 24px;
        grid-template-columns: minmax(0, 1fr) 360px;
    }

    .checkout-final-summary-panel .checkout-section-head,
    .checkout-final-summary-panel .checkout-payment-technical-label,
    .checkout-final-summary-panel .checkout-payment-select,
    .checkout-final-summary-panel .checkout-payment-result {
        grid-column: 1;
        min-width: 0;
    }

    .checkout-final-summary-panel .resumen-pedido {
        align-self: start;
        grid-column: 2;
        grid-row: 1 / span 4;
        position: sticky;
        top: 90px;
    }
}

@media (max-width: 768px) {
    .checkout-step-one-layout {
        display: block;
    }

    .checkout-step-one-summary,
    .checkout-step-actions-desktop {
        display: none !important;
    }

    .checkout-step-actions-mobile {
        display: grid !important;
    }
}

/* Checkout desktop: dropdown de ciudad sobre el mapa */
@media (min-width: 769px) {
    .city-dropdown,
    .dropdown-menu,
    .select2-container,
    .select2-dropdown,
    .ts-dropdown,
    .searchable-select,
    .searchable-select.is-open,
    .searchable-select-dropdown {
        z-index: 9999 !important;
    }

    .leaflet-container,
    .map-container,
    .checkout-location-map,
    .checkout-location-map.leaflet-container {
        z-index: 1 !important;
    }

    .checkout-card,
    .checkout-form,
    .checkout-form-card,
    .checkout-step-panel,
    .checkout-step-one-layout,
    .checkout-step-one-form,
    .checkout-address-block,
    .checkout-form-grid,
    .checkout-form-grid-full,
    .city-wrapper {
        overflow: visible !important;
    }
}

/* Admin modal responsive movil */
@media (max-width: 768px) {
    .modal-dialog,
    .dashboard-modal-dialog,
    .producto-marca-modal-dialog {
        left: auto !important;
        margin: 10px auto !important;
        max-width: 95vw !important;
        top: auto !important;
        transform: none !important;
        width: 95vw !important;
    }

    .modal-content,
    .dashboard-modal-dialog,
    .producto-marca-modal-dialog {
        border-radius: 14px !important;
        max-height: 90vh !important;
        overflow: hidden !important;
    }

    .modal-body,
    .dashboard-modal-dialog {
        max-height: calc(90vh - 20px) !important;
        overflow-y: auto !important;
        padding: 12px !important;
    }

    .modal-body form,
    .dashboard-modal-form,
    .dashboard-modal-form form,
    .dashboard-modal-dialog form {
        max-width: 100% !important;
        width: 100% !important;
    }

    .modal-body input,
    .modal-body select,
    .modal-body textarea,
    .dashboard-modal-dialog input,
    .dashboard-modal-dialog select,
    .dashboard-modal-dialog textarea {
        max-width: 100% !important;
        width: 100% !important;
    }

    .modal-body table,
    .dashboard-modal-dialog table {
        display: block;
        max-width: 100% !important;
        overflow-x: auto;
        width: 100% !important;
    }

    .modal-footer,
    .dashboard-modal-actions {
        align-items: stretch !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 8px !important;
    }

    .modal-footer .btn,
    .modal-footer button,
    .dashboard-modal-actions .btn,
    .dashboard-modal-actions button,
    .dashboard-modal-actions a {
        justify-content: center !important;
        width: 100% !important;
    }

    .dashboard-modal-close {
        right: 10px !important;
        top: 8px !important;
    }

    .dashboard-modal-dialog h3 {
        font-size: 18px !important;
        padding-right: 32px !important;
    }
}

/* Admin clientes: tabla primero y formulario plegable */
.clientes-toolbar-panel {
    margin-bottom: 14px;
    padding: 14px !important;
}

.table-toolbar {
    align-items: center;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    margin-bottom: 16px;
}

.clientes-toolbar {
    align-items: center;
    display: grid;
    gap: 12px;
    grid-template-columns: auto minmax(0, 1fr);
}

.table-toolbar.clientes-toolbar {
    display: flex;
}

.clientes-form-toggle {
    min-height: 42px;
    white-space: nowrap;
}

.clientes-search-form {
    align-items: center;
    display: grid;
    gap: 8px;
    grid-template-columns: minmax(220px, 1fr) auto auto;
    margin: 0 !important;
    max-width: 720px;
    width: 100%;
}

.clientes-search-form input {
    min-width: 0;
    width: 100%;
}

.clientes-form-panel {
    margin-bottom: 20px;
}

.clientes-form-panel.is-open {
    display: block;
}

.clientes-table-wrap {
    overflow-x: auto;
    width: 100%;
}

.clientes-table {
    width: 100%;
}

.clientes-table td,
.clientes-table th {
    vertical-align: top;
}

.clientes-table td:last-child {
    white-space: nowrap;
}

@media (max-width: 768px) {
    .clientes-toolbar-panel {
        padding: 10px !important;
    }

    .clientes-toolbar {
        grid-template-columns: 1fr;
    }

    .table-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    .table-toolbar.clientes-toolbar {
        display: flex;
    }

    .clientes-form-toggle,
    .clientes-search-form .btn,
    .clientes-search-form .btn-mini {
        justify-content: center;
        width: 100%;
    }

    .clientes-search-form {
        grid-template-columns: 1fr;
    }

    .clientes-table-wrap {
        -webkit-overflow-scrolling: touch;
    }

    .clientes-table {
        display: table !important;
        font-size: 13px;
        min-width: 720px;
    }

    .clientes-table thead {
        display: table-header-group !important;
    }

    .clientes-table tbody {
        display: table-row-group !important;
    }

    .clientes-table tr {
        display: table-row !important;
    }

    .clientes-table th,
    .clientes-table td {
        display: table-cell !important;
    }

    .clientes-table td::before {
        display: none !important;
    }

    .clientes-table th,
    .clientes-table td {
        padding: 8px !important;
        white-space: nowrap;
    }

    .clientes-table td:first-child,
    .clientes-table td:nth-child(2) {
        white-space: normal;
    }

    .clientes-table .btn-mini,
    .clientes-table td:last-child .btn,
    .clientes-table td:last-child button {
        font-size: 12px !important;
        padding: 6px 8px !important;
    }
}

/* Mobile compact spacing — tighter layout on small screens; desktop unchanged */
@media (max-width: 900px) {
    .contenido-principal {
        padding: 16px 0;
    }

    .contenedor {
        width: calc(100% - 16px);
    }

    .dashboard-panel,
    .kpi-card,
    .retail-panel,
    .card-producto,
    .market-product-card,
    .catalogo-bristol-shell .catalogo-v3-sidebar-card,
    .catalogo-v3-sidebar-card,
    .compra-grupo-card,
    .reporte-item,
    .checkout-summary-card,
    .checkout-form-card,
    .checkout-section,
    .perfil-card,
    .perfil-pedidos,
    .producto-descripcion-bajo-imagen {
        padding: 12px;
    }

    .dashboard-hero,
    .retail-hero-main,
    .productos-hero,
    .catalogo-v3-hero {
        padding: 14px;
    }

    .dashboard-kpis,
    .dashboard-grid-pro,
    .dashboard-graficos,
    .reportes-grid {
        gap: 10px;
    }

    .retail-home,
    .market-catalog-shell.catalogo-bristol-shell {
        padding-left: 10px;
        padding-right: 10px;
    }

    .catalogo-bristol-shell {
        padding: 12px;
    }

    .catalogo-bristol-shell .market-catalog-top {
        padding: 10px;
    }

    .trigo-slide {
        padding: 18px 14px 48px;
    }

    .nova-home {
        gap: 14px;
        padding-bottom: 20px;
    }

    .catalogo-v3-categorias a {
        min-height: 36px;
        padding: 7px 8px;
    }

    .mini-cart-panel {
        padding: 14px;
    }

    .admin-body .header-admin .contenedor {
        gap: 12px;
        padding: 14px 12px;
    }

    .admin-body .contenido-principal.contenedor {
        padding: 76px 12px 24px;
    }

    .admin-body .menu-admin {
        gap: 8px;
    }
}

@media (max-width: 680px) {
    .dashboard-panel,
    .kpi-card,
    .retail-panel,
    .card-producto,
    .market-product-card,
    .catalogo-bristol-shell .catalogo-v3-sidebar-card,
    .catalogo-v3-sidebar-card {
        padding: 10px;
    }

    .dashboard-hero {
        gap: 10px;
        padding: 12px;
    }

    .dashboard-kpis,
    .dashboard-grid-pro,
    .dashboard-graficos,
    .reportes-grid {
        gap: 8px;
    }

    .retail-hero-main,
    .retail-section,
    .catalogo-bristol-shell .market-product-card {
        padding: 10px;
    }

    .catalogo-bristol-shell {
        padding: 10px;
    }

    .nova-hero-main,
    .nova-mini-panel,
    .nova-editorial,
    .nova-products,
    .nova-combos {
        padding: 12px;
    }
}

@media (max-width: 480px) {
    .contenedor {
        width: calc(100% - 12px);
    }

    .contenido-principal {
        padding: 12px 0;
    }

    .dashboard-panel,
    .kpi-card,
    .compra-grupo-card,
    .reporte-item {
        padding: 10px;
    }

    .retail-home,
    .market-catalog-shell.catalogo-bristol-shell {
        padding-left: 8px;
        padding-right: 8px;
    }

    .catalogo-bristol-shell {
        padding: 8px;
    }

    .catalogo-bristol-shell .market-catalog-top {
        padding: 8px;
    }

    .trigo-slide {
        padding: 14px 10px 40px;
    }

    .perfil-hero,
    .perfil-card,
    .perfil-pedidos {
        padding: 12px;
    }

    .mini-cart-panel {
        padding: 12px;
    }
}

/* Header cliente restaurado: escritorio en una sola linea */
@media (min-width: 1024px) {
    #tienda-header-cliente {
        background: #ffffff !important;
        border-bottom: 1px solid #e5e7eb !important;
        box-shadow: none !important;
        padding: 0 !important;
    }

    #tienda-header-cliente > div:first-of-type {
        margin: 0 auto !important;
        max-width: 1180px !important;
        padding: 0 24px !important;
        width: 100% !important;
    }

    #tienda-header-cliente > div:first-of-type > div {
        align-items: center !important;
        display: flex !important;
        gap: 18px !important;
        height: 86px !important;
        justify-content: flex-start !important;
        min-height: 86px !important;
    }

    #tienda-header-cliente > div:first-of-type > div > div:first-child {
        align-items: center !important;
        display: flex !important;
        flex: 0 0 230px !important;
        min-width: 230px !important;
    }

    #tienda-header-cliente > div:first-of-type > div > div:first-child a {
        align-items: center !important;
        display: inline-flex !important;
        height: 76px !important;
        text-decoration: none !important;
    }

    #tienda-header-cliente > div:first-of-type > div > div:first-child img {
        display: block !important;
        height: 76px !important;
        max-height: 76px !important;
        object-fit: contain !important;
        width: auto !important;
    }

    #tienda-header-cliente > div:first-of-type > div > div:nth-child(2) {
        display: block !important;
        flex: 1 1 430px !important;
        margin: 0 4px !important;
        max-width: 520px !important;
        min-width: 280px !important;
    }

    #tienda-header-cliente > div:first-of-type > div > div:nth-child(2) form[data-header-search-form] {
        align-items: center !important;
        display: flex !important;
        position: relative !important;
        width: 100% !important;
    }

    #tienda-header-cliente > div:first-of-type form[data-header-search-form] input[type="text"] {
        background: #f9fafb !important;
        border: 1px solid #cfd4dc !important;
        border-radius: 999px !important;
        box-shadow: none !important;
        color: #4b5563 !important;
        font-size: 14px !important;
        height: 48px !important;
        line-height: 48px !important;
        min-height: 48px !important;
        padding: 0 54px 0 22px !important;
        width: 100% !important;
    }

    #tienda-header-cliente > div:first-of-type form[data-header-search-form] input[type="text"]:focus {
        background: #ffffff !important;
        border-color: #9ca3af !important;
        outline: none !important;
    }

    #tienda-header-cliente > div:first-of-type form[data-header-search-form] button[type="submit"] {
        align-items: center !important;
        background: transparent !important;
        border: 0 !important;
        border-radius: 50% !important;
        box-shadow: none !important;
        color: #111827 !important;
        display: inline-flex !important;
        height: 40px !important;
        justify-content: center !important;
        min-height: 40px !important;
        min-width: 40px !important;
        padding: 0 !important;
        position: absolute !important;
        right: 8px !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        width: 40px !important;
    }

    #tienda-header-cliente > div:first-of-type form[data-header-search-form] button[type="submit"] svg {
        height: 20px !important;
        width: 20px !important;
    }

    #tienda-header-cliente > div:first-of-type > div > div:nth-child(3) {
        align-items: center !important;
        display: flex !important;
        flex: 0 0 auto !important;
        gap: 18px !important;
        min-width: 0 !important;
    }

    #tienda-header-cliente > div:first-of-type > div > div:nth-child(3) > nav {
        align-items: center !important;
        display: flex !important;
        flex: 0 0 auto !important;
        gap: 24px !important;
        letter-spacing: 0 !important;
        text-transform: uppercase !important;
        white-space: nowrap !important;
    }

    #tienda-header-cliente > div:first-of-type > div > div:nth-child(3) > nav a,
    #tienda-header-cliente > div:first-of-type > div > div:nth-child(3) > nav button {
        align-items: center !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        color: #111827 !important;
        display: inline-flex !important;
        font-size: 13px !important;
        font-weight: 800 !important;
        gap: 4px !important;
        height: 34px !important;
        letter-spacing: 0 !important;
        line-height: 1 !important;
        min-height: 34px !important;
        padding: 0 !important;
        text-decoration: none !important;
        text-transform: uppercase !important;
        white-space: nowrap !important;
    }

    #tienda-header-cliente > div:first-of-type > div > div:nth-child(3) > nav a:hover,
    #tienda-header-cliente > div:first-of-type > div > div:nth-child(3) > nav button:hover {
        color: #0b5ed7 !important;
        transform: none !important;
    }

    #tienda-header-cliente > div:first-of-type > div > div:nth-child(3) > nav svg {
        height: 14px !important;
        width: 14px !important;
    }

    #tienda-header-cliente > div:first-of-type > div > div:nth-child(3) > div {
        align-items: center !important;
        display: flex !important;
        gap: 12px !important;
    }

    #tienda-header-cliente .header-cart-link {
        align-items: center !important;
        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        color: #111827 !important;
        display: inline-flex !important;
        height: 34px !important;
        justify-content: center !important;
        min-height: 34px !important;
        min-width: 24px !important;
        padding: 0 !important;
        position: relative !important;
        text-decoration: none !important;
        width: 24px !important;
    }

    #tienda-header-cliente .header-cart-icon {
        height: 22px !important;
        width: 22px !important;
    }

    #tienda-header-cliente .header-cart-count {
        align-items: center !important;
        background: #0b5ed7 !important;
        border: 2px solid #ffffff !important;
        border-radius: 999px !important;
        color: #ffffff !important;
        display: inline-flex !important;
        font-size: 10px !important;
        font-weight: 800 !important;
        height: 18px !important;
        justify-content: center !important;
        line-height: 1 !important;
        min-width: 18px !important;
        padding: 0 4px !important;
        position: absolute !important;
        right: -10px !important;
        top: -4px !important;
    }

    #tienda-header-cliente > div:first-of-type .relative.group {
        position: relative !important;
    }

    #tienda-header-cliente > div:first-of-type .relative.group > div {
        background: #ffffff !important;
        border: 1px solid #e5e7eb !important;
        border-radius: 8px !important;
        box-shadow: 0 18px 42px rgba(15, 23, 42, 0.14) !important;
        display: grid !important;
        left: 0 !important;
        min-width: 220px !important;
        opacity: 0 !important;
        padding: 6px !important;
        pointer-events: none !important;
        position: absolute !important;
        top: 100% !important;
        transform: translateY(8px) !important;
        transition: opacity 0.16s ease, transform 0.16s ease, visibility 0.16s ease !important;
        visibility: hidden !important;
        z-index: 120 !important;
    }

    #tienda-header-cliente > div:first-of-type .relative.group:hover > div,
    #tienda-header-cliente > div:first-of-type .relative.group:focus-within > div {
        opacity: 1 !important;
        pointer-events: auto !important;
        transform: translateY(0) !important;
        visibility: visible !important;
    }

    #tienda-header-cliente > div:first-of-type .relative.group > div a {
        border: 0 !important;
        color: #374151 !important;
        display: block !important;
        font-size: 13px !important;
        font-weight: 700 !important;
        height: auto !important;
        line-height: 1.3 !important;
        min-height: 0 !important;
        padding: 9px 10px !important;
        text-decoration: none !important;
        text-transform: none !important;
    }

    #tienda-header-cliente > div:first-of-type .relative.group > div a:hover {
        background: #f3f4f6 !important;
        border-radius: 6px !important;
        color: #0b5ed7 !important;
    }

    #tienda-header-cliente > div:first-of-type .relative.group > div.right-0 {
        left: auto !important;
        right: 0 !important;
    }

    #tienda-header-cliente > div:first-of-type > div > div:nth-child(3) > div > .relative.group button {
        align-items: center !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        color: #111827 !important;
        display: inline-flex !important;
        gap: 2px !important;
        height: 34px !important;
        min-height: 34px !important;
        padding: 0 !important;
    }

    #tienda-header-cliente > div:first-of-type > div > div:nth-child(3) > div > .relative.group button svg:first-child {
        height: 22px !important;
        width: 22px !important;
    }

    #tienda-header-cliente > div:first-of-type > div > div:nth-child(3) > div > .relative.group button svg:last-child {
        height: 13px !important;
        width: 13px !important;
    }

    #tienda-header-cliente .categorias-bar,
    #tienda-header-cliente #mobile-search-bar,
    #tienda-header-cliente > nav.menu-cliente,
    #tienda-header-cliente .mobile-menu-overlay {
        display: none !important;
    }
}

@media (min-width: 1024px) and (max-width: 1120px) {
    #tienda-header-cliente > div:first-of-type {
        padding: 0 18px !important;
    }

    #tienda-header-cliente > div:first-of-type > div {
        gap: 12px !important;
    }

    #tienda-header-cliente > div:first-of-type > div > div:first-child {
        flex-basis: 198px !important;
        min-width: 198px !important;
    }

    #tienda-header-cliente > div:first-of-type > div > div:nth-child(3),
    #tienda-header-cliente > div:first-of-type > div > div:nth-child(3) > nav {
        gap: 14px !important;
    }

    #tienda-header-cliente > div:first-of-type > div > div:nth-child(3) > nav a,
    #tienda-header-cliente > div:first-of-type > div > div:nth-child(3) > nav button {
        font-size: 12px !important;
    }
}

/* Header cliente: ajuste movil sin afectar escritorio */
@media (max-width: 1023px) {
    #tienda-header-cliente {
        background: #ffffff !important;
        border-bottom: 1px solid #e5e7eb !important;
        box-shadow: none !important;
    }

    #tienda-header-cliente > div:first-of-type {
        max-width: none !important;
        padding: 0 14px !important;
        width: 100% !important;
    }

    #tienda-header-cliente > div:first-of-type > div {
        align-items: center !important;
        display: grid !important;
        gap: 10px !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        height: 72px !important;
        min-height: 72px !important;
    }

    #tienda-header-cliente > div:first-of-type > div > div:first-child {
        min-width: 0 !important;
    }

    #tienda-header-cliente > div:first-of-type > div > div:first-child a {
        align-items: center !important;
        display: inline-flex !important;
        max-width: min(66vw, 230px) !important;
    }

    #tienda-header-cliente > div:first-of-type > div > div:first-child img {
        display: block !important;
        height: 58px !important;
        max-height: 58px !important;
        max-width: 100% !important;
        object-fit: contain !important;
        width: auto !important;
    }

    #tienda-header-cliente > div:first-of-type > div > div:nth-child(2),
    #tienda-header-cliente > div:first-of-type > div > div:nth-child(3) > nav,
    #tienda-header-cliente > div:first-of-type > div > div:nth-child(3) > div > .relative.group,
    #tienda-header-cliente .categorias-bar {
        display: none !important;
    }

    #tienda-header-cliente > div:first-of-type > div > div:nth-child(3) {
        align-items: center !important;
        display: flex !important;
        gap: 8px !important;
        justify-content: flex-end !important;
        min-width: 0 !important;
    }

    #tienda-header-cliente > div:first-of-type > div > div:nth-child(3) > div {
        align-items: center !important;
        display: flex !important;
        gap: 8px !important;
        margin: 0 !important;
    }

    #tienda-header-cliente .header-cart-link,
    #tienda-header-cliente .mobile-header-toggle {
        align-items: center !important;
        background: transparent !important;
        border: 0 !important;
        border-radius: 999px !important;
        box-shadow: none !important;
        color: #111827 !important;
        display: inline-flex !important;
        flex: 0 0 42px !important;
        height: 42px !important;
        justify-content: center !important;
        margin: 0 !important;
        min-height: 38px !important;
        min-width: 42px !important;
        padding: 0 !important;
        position: relative !important;
        width: 42px !important;
    }

    #tienda-header-cliente .mobile-header-toggle {
        flex-direction: column !important;
        gap: 5px !important;
    }

    #tienda-header-cliente .mobile-header-toggle:hover,
    #tienda-header-cliente .mobile-header-toggle:focus-visible,
    #tienda-header-cliente .header-cart-link:hover,
    #tienda-header-cliente .header-cart-link:focus-visible {
        background: #f3f4f6 !important;
        outline: none !important;
    }

    #tienda-header-cliente .mobile-header-toggle span {
        background: currentColor !important;
        border-radius: 999px !important;
        display: block !important;
        height: 2px !important;
        width: 22px !important;
    }

    #tienda-header-cliente .mobile-header-toggle.menu-abierto span:first-child {
        transform: translateY(7px) rotate(45deg) !important;
    }

    #tienda-header-cliente .mobile-header-toggle.menu-abierto span:nth-child(2) {
        opacity: 0 !important;
    }

    #tienda-header-cliente .mobile-header-toggle.menu-abierto span:last-child {
        transform: translateY(-7px) rotate(-45deg) !important;
    }

    #tienda-header-cliente .header-cart-icon {
        height: 23px !important;
        width: 23px !important;
    }

    #tienda-header-cliente .header-cart-count {
        align-items: center !important;
        background: #0b5ed7 !important;
        border: 2px solid #ffffff !important;
        border-radius: 999px !important;
        color: #ffffff !important;
        display: inline-flex !important;
        font-size: 10px !important;
        font-weight: 800 !important;
        height: 18px !important;
        justify-content: center !important;
        line-height: 1 !important;
        min-width: 18px !important;
        padding: 0 4px !important;
        position: absolute !important;
        right: 1px !important;
        top: 1px !important;
    }

    #tienda-header-cliente #mobile-search-bar {
        background: #ffffff !important;
        border-bottom: 1px solid #e5e7eb !important;
        border-top: 0 !important;
        display: block !important;
        padding: 8px 14px 10px !important;
    }

    #tienda-header-cliente #mobile-search-bar form {
        align-items: center !important;
        display: flex !important;
        margin: 0 !important;
        position: relative !important;
        width: 100% !important;
    }

    #tienda-header-cliente #mobile-search-bar input[type="text"] {
        background: #ffffff !important;
        border: 1px solid #d1d5db !important;
        border-radius: 999px !important;
        box-shadow: none !important;
        color: #111827 !important;
        font-size: 14px !important;
        height: 40px !important;
        line-height: 40px !important;
        padding: 0 46px 0 16px !important;
        width: 100% !important;
    }

    #tienda-header-cliente #mobile-search-bar input[type="text"]:focus {
        border-color: #0b5ed7 !important;
        box-shadow: 0 0 0 3px rgba(11, 94, 215, 0.12) !important;
        outline: none !important;
    }

    #tienda-header-cliente #mobile-search-bar button {
        align-items: center !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        color: #111827 !important;
        display: inline-flex !important;
        height: 34px !important;
        justify-content: center !important;
        min-height: 34px !important;
        padding: 0 !important;
        position: absolute !important;
        right: 4px !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        width: 34px !important;
    }

    #tienda-header-cliente #mobile-search-bar button svg {
        height: 19px !important;
        width: 19px !important;
    }
}

@media (max-width: 480px) {
    #tienda-header-cliente > div:first-of-type {
        padding: 0 10px !important;
    }

    #tienda-header-cliente > div:first-of-type > div {
        gap: 6px !important;
        height: 66px !important;
        min-height: 66px !important;
    }

    #tienda-header-cliente > div:first-of-type > div > div:first-child a {
        max-width: 64vw !important;
    }

    #tienda-header-cliente > div:first-of-type > div > div:first-child img {
        height: 52px !important;
        max-height: 52px !important;
    }

    #tienda-header-cliente .header-cart-link,
    #tienda-header-cliente .mobile-header-toggle {
        flex-basis: 38px !important;
        height: 38px !important;
        min-height: 38px !important;
        min-width: 38px !important;
        width: 38px !important;
    }

    #tienda-header-cliente #mobile-search-bar {
        padding: 7px 10px 9px !important;
    }

    #tienda-header-cliente #mobile-search-bar input[type="text"] {
        height: 38px !important;
        line-height: 38px !important;
    }
}

@media (max-width: 720px) {
    .home-catalog-cards {
        padding-top: 8px !important;
    }

    .home-hero-slider-wrap {
        display: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .trigo-slider,
    .slider-destacados,
    .home-secondary-showcase,
    .home-new-arrivals {
        display: none !important;
    }
}

/* Search icon color: soft dark gray for desktop and mobile */
.search-icon,
.search-box i,
.search-btn i,
.fa-search,
#tienda-header-cliente [data-header-search-form] button[type="submit"],
#tienda-header-cliente [data-header-search-form] button[type="submit"] svg {
    color: #606060 !important;
    stroke: currentColor !important;
    transition: color 0.2s ease !important;
}

.search-btn,
#tienda-header-cliente [data-header-search-form] button[type="submit"] {
    background: #f8f8f8 !important;
    border-left: 1px solid #e5e5e5 !important;
    border-radius: 0 999px 999px 0 !important;
}

.search-box:hover .search-icon,
.search-box:focus-within .search-icon,
.search-btn:hover i,
.search-btn:hover .fa-search,
.search-box:focus-within .fa-search,
#tienda-header-cliente [data-header-search-form]:hover button[type="submit"],
#tienda-header-cliente [data-header-search-form]:focus-within button[type="submit"],
#tienda-header-cliente [data-header-search-form] button[type="submit"]:hover,
#tienda-header-cliente [data-header-search-form] button[type="submit"]:focus-visible,
#tienda-header-cliente [data-header-search-form] button[type="submit"]:hover svg,
#tienda-header-cliente [data-header-search-form] button[type="submit"]:focus-visible svg {
    color: #404040 !important;
    stroke: currentColor !important;
}

#tienda-header-cliente > div:first-of-type form[data-header-search-form] input[type="text"] {
    border-color: #c6c6c6 !important;
    border-radius: 999px !important;
    padding-right: 70px !important;
}

#tienda-header-cliente > div:first-of-type form[data-header-search-form] button[type="submit"] {
    height: 48px !important;
    min-height: 48px !important;
    min-width: 64px !important;
    right: 0 !important;
    width: 64px !important;
}

#tienda-header-cliente #mobile-search-bar input[type="text"] {
    border-color: #c6c6c6 !important;
    border-radius: 999px !important;
    padding-right: 62px !important;
}

#tienda-header-cliente #mobile-search-bar button[type="submit"] {
    height: 38px !important;
    min-height: 38px !important;
    min-width: 56px !important;
    right: 0 !important;
    width: 56px !important;
}

.category-item,
.subcategory-item,
.catalogo-bristol-shell .catalogo-v3-categorias a.category-item,
.catalogo-bristol-shell .catalogo-v3-categorias a.subcategory-item {
    cursor: pointer !important;
    transition: all 0.2s ease !important;
}

.subcategory-item,
.catalogo-bristol-shell .catalogo-v3-categorias a.subcategory-item {
    justify-content: flex-start !important;
}

.category-item:hover,
.subcategory-item:hover,
.catalogo-bristol-shell .catalogo-v3-categorias a.category-item:hover,
.catalogo-bristol-shell .catalogo-v3-categorias a.subcategory-item:hover {
    color: #2563eb !important;
    padding-left: 19px !important;
}

.catalogo-filter-count-inline {
    background: transparent !important;
    border: 0 !important;
    color: inherit !important;
    display: inline !important;
    font-size: inherit !important;
    font-weight: 700 !important;
    min-height: 0 !important;
    min-width: 0 !important;
    padding: 0 !important;
}

.category-item.active,
.subcategory-item.active,
.catalogo-bristol-shell .catalogo-v3-categorias a.category-item.active,
.catalogo-bristol-shell .catalogo-v3-categorias a.subcategory-item.active {
    background: #eef4ff !important;
    border-color: #d7e4ff !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    color: #0d4ed8 !important;
    font-weight: 600 !important;
}

.catalogo-bristol-shell .catalogo-v3-categorias a.category-item.active .catalogo-filter-badge,
.catalogo-bristol-shell .catalogo-v3-categorias a.subcategory-item.active .catalogo-filter-badge {
    background: #ffffff !important;
    border-color: #c9d9ff !important;
    color: #0d4ed8 !important;
}

.home-featured-mobile-more {
    display: none;
}

.home-featured-products > div:first-child span {
    display: none !important;
}

.home-new-arrivals {
    display: none !important;
}

/* Mobile product cards: keep catalog items readable on narrow screens */
@media (max-width: 480px) {
    .retail-home,
    .market-catalog-shell.catalogo-bristol-shell,
    .catalogo-layout,
    .catalogo-v3-layout {
        padding-left: 6px !important;
        padding-right: 6px !important;
    }

    .products-grid,
    .product-grid,
    .productos-grid,
    .catalogo-bristol-shell .grid-productos,
    .catalogo-layout .grid-productos,
    .home-catalog-cards .grid-productos {
        gap: 14px !important;
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .product-card,
    .producto-card,
    .catalogo-bristol-shell .market-product-card,
    .catalogo-layout .card-producto,
    .home-catalog-cards .market-product-card {
        box-sizing: border-box !important;
        padding: 10px 12px !important;
        width: 100% !important;
    }

    .catalogo-bristol-shell .market-product-card .card-producto-media,
    .catalogo-layout .card-producto-media,
    .home-catalog-cards .market-product-card .card-producto-media {
        align-items: center !important;
        border-bottom: 0 !important;
        border-top: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 6px !important;
        justify-content: center !important;
        margin-bottom: 8px !important;
        min-height: 196px !important;
        padding: 6px 8px !important;
    }

    .catalogo-bristol-shell .market-product-card .card-producto-media::before,
    .catalogo-bristol-shell .market-product-card .card-producto-media::after,
    .catalogo-layout .card-producto-media::before,
    .catalogo-layout .card-producto-media::after,
    .home-catalog-cards .market-product-card .card-producto-media::before,
    .home-catalog-cards .market-product-card .card-producto-media::after {
        content: none !important;
        display: none !important;
    }

    .catalogo-bristol-shell .market-product-card .card-producto-media .card-producto-precio-label,
    .catalogo-layout .card-producto-media .card-producto-precio-label,
    .home-catalog-cards .market-product-card .card-producto-media .card-producto-precio-label {
        align-self: flex-start !important;
        font-size: 10px !important;
        line-height: 1 !important;
        margin: 0 !important;
        max-width: 100% !important;
        min-height: 20px !important;
        order: -1 !important;
        padding: 4px 8px !important;
        pointer-events: none !important;
        position: static !important;
        transform: none !important;
        white-space: nowrap !important;
        z-index: auto !important;
    }

    .catalogo-bristol-shell .market-product-card .card-producto-imagen,
    .catalogo-layout .card-producto-imagen,
    .home-catalog-cards .market-product-card .card-producto-imagen {
        display: block !important;
        height: 158px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        max-height: 158px !important;
        object-fit: contain !important;
        width: 100% !important;
    }

    .catalogo-bristol-shell .market-product-card .card-producto-body,
    .catalogo-layout .card-producto-body,
    .home-catalog-cards .market-product-card .card-producto-body {
        border: 0 !important;
        gap: 10px !important;
        padding: 0 !important;
    }

    .catalogo-bristol-shell .market-product-card .card-producto-top,
    .catalogo-layout .card-producto-top,
    .home-catalog-cards .market-product-card .card-producto-top {
        border: 0 !important;
        gap: 0 !important;
    }

    .product-title,
    .producto-title,
    .catalogo-bristol-shell .market-product-card h3,
    .catalogo-layout .card-producto h3,
    .home-catalog-cards .market-product-card h3 {
        border: 0 !important;
        font-size: 15px !important;
        height: 38px !important;
        line-height: 1.2 !important;
        margin: 0 !important;
        max-height: 38px !important;
        min-height: 42px !important;
        overflow: hidden !important;
        padding-bottom: 0 !important;
    }

    .product-title,
    .producto-title,
    .catalogo-bristol-shell .market-product-card h3 a,
    .catalogo-layout .card-producto h3 a,
    .catalogo-layout .card-producto-titulo,
    .home-catalog-cards .market-product-card h3 a {
        border: 0 !important;
        display: block !important;
        height: 38px !important;
        line-height: 1.2 !important;
        max-height: 38px !important;
        overflow: hidden !important;
        text-decoration: none !important;
        -webkit-box-orient: initial !important;
        -webkit-line-clamp: initial !important;
        line-clamp: initial !important;
    }

    .catalogo-bristol-shell .market-product-card h3::before,
    .catalogo-bristol-shell .market-product-card h3::after,
    .catalogo-bristol-shell .market-product-card h3 a::before,
    .catalogo-bristol-shell .market-product-card h3 a::after,
    .catalogo-layout .card-producto h3::before,
    .catalogo-layout .card-producto h3::after,
    .catalogo-layout .card-producto-titulo::before,
    .catalogo-layout .card-producto-titulo::after,
    .home-catalog-cards .market-product-card h3::before,
    .home-catalog-cards .market-product-card h3::after,
    .home-catalog-cards .market-product-card h3 a::before,
    .home-catalog-cards .market-product-card h3 a::after {
        border: 0 !important;
        content: none !important;
        display: none !important;
    }

    .catalogo-bristol-shell .market-product-card .card-producto-descripcion,
    .catalogo-layout .card-producto-descripcion,
    .home-catalog-cards .market-product-card .card-producto-descripcion {
        display: none !important;
        font-size: 12px !important;
        height: auto !important;
        line-height: 1.28 !important;
        margin: 0 !important;
        max-height: 31px !important;
        min-height: 0 !important;
        overflow: hidden !important;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

    .product-price,
    .precio,
    .catalogo-bristol-shell .market-product-card .precio,
    .catalogo-layout .card-producto .precio,
    .home-catalog-cards .market-product-card .precio {
        font-size: 18px !important;
        line-height: 1.2 !important;
        margin-top: 6px !important;
    }

    .catalogo-bristol-shell .market-product-card .card-producto-footer,
    .catalogo-layout .card-producto-footer,
    .home-catalog-cards .market-product-card .card-producto-footer {
        align-items: stretch !important;
        border: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 10px !important;
        margin-top: 4px !important;
    }

    .catalogo-bristol-shell .market-product-card hr,
    .catalogo-layout .card-producto hr,
    .home-catalog-cards .market-product-card hr {
        display: none !important;
    }

    .cart-button,
    .btn-cart,
    .catalogo-card-cart,
    .catalogo-bristol-shell .catalogo-card-cart,
    .home-catalog-cards .catalogo-card-cart {
        margin-top: 8px !important;
        position: static !important;
        width: 100% !important;
    }

    .catalogo-bristol-shell .catalogo-card-cart button,
    .home-catalog-cards .market-product-card .catalogo-card-cart button {
        flex: 0 0 auto !important;
        height: 38px !important;
        min-height: 38px !important;
        min-width: 100% !important;
        width: 100% !important;
    }

    .catalogo-bristol-shell .catalogo-cart-text,
    .home-catalog-cards .market-product-card .catalogo-cart-text {
        display: inline !important;
        font-size: 13px !important;
        font-weight: 800 !important;
    }

.catalogo-bristol-shell .market-product-card .catalogo-whatsapp-producto,
.catalogo-layout .card-producto .catalogo-whatsapp-producto,
.home-catalog-cards .market-product-card .catalogo-whatsapp-producto {
    align-items: center !important;
    background: #16a34a !important;
    background-image: none !important;
    border: 1px solid #16a34a !important;
    border-radius: 8px !important;
    box-shadow: 0 8px 18px rgba(22, 163, 74, 0.18) !important;
    color: #ffffff !important;
    display: inline-flex !important;
    font-size: 12px !important;
    font-weight: 800 !important;
        justify-content: center !important;
        line-height: 1.1 !important;
        min-height: 38px !important;
        padding: 0 12px !important;
        text-align: center !important;
        text-decoration: none !important;
        width: 100% !important;
    }

    .catalogo-bristol-shell .market-product-card .catalogo-whatsapp-producto:hover,
    .catalogo-bristol-shell .market-product-card .catalogo-whatsapp-producto:focus-visible,
    .catalogo-layout .card-producto .catalogo-whatsapp-producto:hover,
    .catalogo-layout .card-producto .catalogo-whatsapp-producto:focus-visible,
    .home-catalog-cards .market-product-card .catalogo-whatsapp-producto:hover,
    .home-catalog-cards .market-product-card .catalogo-whatsapp-producto:focus-visible {
        background: #15803d !important;
        border-color: #15803d !important;
        box-shadow: 0 10px 22px rgba(22, 163, 74, 0.24) !important;
        color: #ffffff !important;
        outline: none !important;
    }

    .home-featured-products {
        margin-bottom: 18px !important;
    }

    .home-featured-products > div:first-child {
        align-items: flex-start !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 10px !important;
    }

    .home-featured-products > div:first-child span {
        display: none !important;
    }

    .home-featured-products > div:first-child a {
        align-items: center !important;
        background: #eef4ff !important;
        border: 1px solid #cfe0ff !important;
        border-radius: 8px !important;
        color: #0d4ed8 !important;
        display: inline-flex !important;
        font-size: 14px !important;
        font-weight: 800 !important;
        justify-content: center !important;
        min-height: 42px !important;
        padding: 0 16px !important;
        text-decoration: none !important;
        width: 100% !important;
    }

    .home-featured-grid {
        gap: 16px !important;
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .home-featured-extra-mobile {
        display: none !important;
    }

    .home-catalog-cards .home-featured-grid .market-product-card {
        border-radius: 10px !important;
        padding: 10px 12px !important;
    }

    .home-catalog-cards .home-featured-grid .market-product-card .card-producto-media {
        aspect-ratio: auto !important;
        align-items: center !important;
        display: flex !important;
        flex-direction: column !important;
        font-size: 0 !important;
        gap: 6px !important;
        height: 196px !important;
        justify-content: center !important;
        line-height: 0 !important;
        margin-bottom: 8px !important;
        min-height: 196px !important;
        padding: 6px 8px !important;
    }

    .home-catalog-cards .home-featured-grid .market-product-card .card-producto-imagen {
        display: block !important;
        height: 158px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        max-height: 158px !important;
        object-fit: contain !important;
        width: 100% !important;
    }

    .home-catalog-cards .home-featured-grid .market-product-card .catalogo-urgency-badge {
        font-size: 9px !important;
        left: auto !important;
        line-height: 1 !important;
        padding: 4px 8px !important;
        top: auto !important;
    }

    .home-catalog-cards .home-featured-grid .market-product-card .card-producto-body {
        gap: 5px !important;
    }

    .home-catalog-cards .home-featured-grid .market-product-card h3 {
        font-size: 15px !important;
        line-height: 1.25 !important;
        margin-bottom: 2px !important;
        margin-top: 0 !important;
    }

    .home-catalog-cards .home-featured-grid .market-product-card .card-producto-footer {
        align-items: flex-start !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 6px !important;
        margin-top: 4px !important;
    }

    .home-catalog-cards .home-featured-grid .market-product-card .precio {
        font-size: 19px !important;
        margin: 0 !important;
    }

    .home-catalog-cards .home-featured-grid .market-product-card .retail-cart-form {
        margin-top: 8px !important;
        width: 100% !important;
    }

    .home-catalog-cards .home-featured-grid .market-product-card .catalogo-card-cart button {
        border-radius: 8px !important;
        min-width: 100% !important;
        width: 100% !important;
    }

    .home-catalog-cards .home-featured-grid .market-product-card .catalogo-cart-text {
        display: inline !important;
        font-size: 13px !important;
        font-weight: 800 !important;
    }

    .home-featured-mobile-more {
        display: none !important;
        margin-top: 14px !important;
        text-align: center !important;
    }

    .home-featured-mobile-more a {
        align-items: center !important;
        background: #eef4ff !important;
        border: 1px solid #cfe0ff !important;
        border-radius: 8px !important;
        color: #0d4ed8 !important;
        display: inline-flex !important;
        font-size: 14px !important;
        font-weight: 800 !important;
        justify-content: center !important;
        min-height: 42px !important;
        padding: 0 16px !important;
        text-decoration: none !important;
        width: 100% !important;
    }
}

@media (min-width: 481px) and (max-width: 720px) {
    .products-grid,
    .product-grid,
    .productos-grid,
    .catalogo-bristol-shell .grid-productos,
    .catalogo-layout .grid-productos,
    .home-catalog-cards .grid-productos {
        grid-template-columns: repeat(2, minmax(160px, 1fr)) !important;
    }
}

@media (min-width: 721px) {
    .home-hero-slider-wrap {
        display: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .catalogo-v3-sidebar,
    .catalogo-bristol-shell .catalogo-v3-sidebar {
        display: none !important;
    }
    .catalogo-v3-layout,
    .catalogo-bristol-shell .catalogo-v3-layout {
        grid-template-columns: 1fr !important;
    }
}

/* Mobile catalog cart button with label */
@media (max-width: 720px) {
    .catalogo-bristol-shell .market-product-card .card-producto-footer {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        width: 100% !important;
    }

    .catalogo-bristol-shell .catalogo-card-cart,
    .catalogo-bristol-shell[data-catalog-view="list"] .catalogo-card-cart {
        grid-column: 1 / -1 !important;
        justify-self: stretch !important;
        margin-top: 8px !important;
        min-width: 100% !important;
        width: 100% !important;
    }

    .catalogo-bristol-shell .catalogo-card-cart button,
    .catalogo-bristol-shell[data-catalog-view="list"] .catalogo-card-cart button {
        align-items: center !important;
        display: inline-flex !important;
        gap: 8px !important;
        height: 38px !important;
        justify-content: center !important;
        min-height: 38px !important;
        min-width: 100% !important;
        padding: 0 14px !important;
        width: 100% !important;
    }

    .catalogo-bristol-shell .catalogo-card-cart button svg,
    .catalogo-bristol-shell[data-catalog-view="list"] .catalogo-card-cart button svg {
        flex: 0 0 auto !important;
        height: 17px !important;
        width: 17px !important;
    }

    .catalogo-bristol-shell .catalogo-cart-text,
    .catalogo-bristol-shell[data-catalog-view="list"] .catalogo-cart-text {
        display: inline !important;
        font-size: 13px !important;
        font-weight: 800 !important;
        line-height: 1 !important;
        text-align: center !important;
    }
}

/* Product detail purchase block spacing */
.producto-info {
    gap: 12px;
}

.producto-compra-bloque {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 20px;
    box-shadow: 0 16px 42px rgba(15, 23, 42, 0.06);
    padding: 16px;
    display: grid;
    gap: 12px; /* Visual separation 10px to 15px max */
    max-width: 420px;
    width: 100%;
}

/* Remove separate card styling from price box inside the purchase block */
.producto-compra-bloque .producto-precio-box {
    background: transparent;
    border: none;
    border-radius: 0;
    box-shadow: none;
    padding: 0;
    gap: 2px;
}

.producto-compra-bloque .producto-precio-box span {
    color: #64748b;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.producto-compra-bloque .producto-precio-box strong {
    color: #0b3b8f;
    font-size: clamp(30px, 3.8vw, 42px);
    font-weight: 950;
    line-height: 1;
}

/* Align availability badge inside purchase block */
.producto-compra-bloque .producto-disponibilidad-badge {
    margin: 0;
    align-self: start;
    justify-self: start;
}

/* Remove card styling from the add to cart form inside the purchase block */
.producto-compra-bloque .form-agregar-carrito {
    background: transparent;
    border: none;
    border-radius: 0;
    box-shadow: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: 12px;
}

.producto-compra-bloque .form-agregar-carrito label {
    color: #334155;
    font-size: 13px;
    font-weight: 850;
    margin-bottom: -4px; /* Move label closer to control */
}

/* Stacking quantity selector and add to cart button */
.producto-compra-bloque .producto-acciones {
    display: grid;
    gap: 12px; /* Visual separation 10-15px */
    grid-template-columns: 1fr;
    max-width: none;
    width: 100%;
}

.producto-compra-bloque .producto-cantidad-control {
    align-items: center;
    background: #ffffff;
    border: 1px solid #cbd5e1;
    border-radius: 14px;
    display: grid;
    grid-template-columns: 38px minmax(42px, 1fr) 38px;
    min-height: 48px;
    max-height: 48px;
    overflow: hidden;
    width: 100%;
}

.producto-compra-bloque .btn-carrito {
    width: 100%;
    min-height: 50px;
    font-size: 15px;
    margin-top: 0;
}

.producto-compra-bloque .producto-acciones .btn {
    width: 100%;
    min-height: 50px;
    font-size: 15px;
    margin-top: 0;
}

.producto-compra-bloque .producto-acciones .btn.btn-whatsapp,
.producto-compra-bloque .btn.btn-whatsapp {
    background: #16a34a !important;
    background-image: none !important;
    border-color: #16a34a !important;
    box-shadow: 0 8px 18px rgba(22, 163, 74, 0.18) !important;
    color: #ffffff !important;
}

.producto-compra-bloque .producto-acciones .btn.btn-whatsapp:hover,
.producto-compra-bloque .producto-acciones .btn.btn-whatsapp:focus-visible,
.producto-compra-bloque .btn.btn-whatsapp:hover,
.producto-compra-bloque .btn.btn-whatsapp:focus-visible {
    background: #15803d !important;
    border-color: #15803d !important;
    box-shadow: 0 10px 22px rgba(22, 163, 74, 0.24) !important;
    color: #ffffff !important;
}

/* Back button below the block */
.btn-volver {
    background: #ffffff !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 14px !important;
    color: #475569 !important;
    box-shadow: none !important;
    background-image: none !important;
    max-width: 420px;
    width: 100%;
    min-height: 48px !important;
    margin-top: 4px;
    justify-content: center;
    align-items: center;
    display: inline-flex;
    font-weight: 850;
    transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.btn-volver:hover,
.btn-volver:focus-visible {
    background: #f8fafc !important;
    border-color: #94a3b8 !important;
    color: #0f172a !important;
    box-shadow: none !important;
}

@media (max-width: 900px) {
    .producto-info {
        gap: 10px;
    }
    
    .producto-compra-bloque {
        padding: 12px;
        gap: 8px;
        max-width: 100%;
    }

    .producto-compra-bloque .producto-precio-box strong {
        font-size: clamp(26px, 8vw, 34px);
    }

    .producto-compra-bloque .producto-disponibilidad-badge {
        font-size: 12px;
        padding: 7px 11px;
    }

    .producto-compra-bloque .form-agregar-carrito,
    .producto-compra-bloque .producto-acciones {
        gap: 8px;
    }

    .producto-compra-bloque .producto-cantidad-control {
        min-height: 44px;
        max-height: 44px;
    }

    .producto-compra-bloque .btn-carrito,
    .producto-compra-bloque .producto-acciones .btn,
    .btn-volver {
        min-height: 44px !important;
    }
    
    .btn-volver {
        max-width: 100%;
    }
}

@media (max-width: 520px) {
    .producto-compra-bloque .producto-precio-box strong {
        font-size: clamp(24px, 7.2vw, 30px);
    }

    .producto-compra-bloque .producto-precio-box span {
        font-size: 10px;
    }
}

button.btn.btn-secondary.btn-volver {
    background: #ffffff !important;
    background-image: none !important;
    border: 1px solid #cbd5e1 !important;
    box-shadow: none !important;
    color: #475569 !important;
}

button.btn.btn-secondary.btn-volver:hover,
button.btn.btn-secondary.btn-volver:focus-visible {
    background: #f8fafc !important;
    border-color: #94a3b8 !important;
    color: #0f172a !important;
}

.producto-descripcion-acordeon {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    overflow: hidden;
}

.producto-descripcion-toggle {
    align-items: center;
    background: #ffffff;
    border: 0;
    color: #0f172a;
    cursor: pointer;
    display: flex;
    font-size: 15px;
    font-weight: 850;
    justify-content: space-between;
    min-height: 50px;
    padding: 14px 16px;
    text-align: left;
    width: 100%;
}

.producto-descripcion-toggle:hover,
.producto-descripcion-toggle:focus-visible {
    background: #f8fafc;
    outline: none;
}

.producto-descripcion-toggle:focus-visible {
    box-shadow: inset 0 0 0 2px rgba(37, 99, 235, 0.35);
}

.producto-descripcion-arrow {
    align-items: center;
    background: #f1f5f9;
    border: 1px solid #e2e8f0;
    border-radius: 999px;
    color: #0f172a;
    display: inline-flex;
    flex: 0 0 28px;
    height: 28px;
    justify-content: center;
    margin-left: 14px;
    transition: background 0.2s ease, transform 0.24s ease;
    width: 28px;
}

.producto-descripcion-arrow::before {
    border-bottom: 2px solid currentColor;
    border-right: 2px solid currentColor;
    content: "";
    display: block;
    height: 7px;
    margin-top: -3px;
    transform: rotate(45deg);
    width: 7px;
}

.producto-descripcion-acordeon.is-open .producto-descripcion-arrow {
    background: #e0f2fe;
    transform: rotate(180deg);
}

.producto-descripcion-panel {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.28s ease;
}

.producto-descripcion-panel-inner {
    padding: 18px 16px;
    display: grid;
    gap: 18px;
}

.producto-descripcion-panel-inner .producto-descripcion-premium {
    margin-bottom: 0;
}

.producto-descripcion-panel-inner .producto-descripcion-texto {
    border-top: 1px solid #eef2f6;
    padding: 18px 0 0;
}

.producto-descripcion-panel-inner .producto-caracteristicas-seccion {
    border-top: 1px solid #eef2f6;
    padding-top: 18px;
}

/* Remove borders and background from metadata labels to display them as normal text tags */
.producto-info > p:not(.producto-disponibilidad-badge):not(.producto-disponibilidad-nota) {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 0 8px 0 !important;
    color: #475569 !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    display: block !important;
    font-weight: normal !important;
    letter-spacing: normal !important;
    text-transform: none !important;
    align-self: initial !important;
}

.producto-info > p:not(.producto-disponibilidad-badge):not(.producto-disponibilidad-nota) strong {
    color: #0f172a !important;
    font-weight: 700 !important;
}

/* Specific reset for product-codigo badge */
.producto-info .producto-codigo-detalle {
    color: #475569 !important;
    font-size: 14px !important;
    font-weight: normal !important;
    letter-spacing: normal !important;
    text-transform: none !important;
}

.catalogo-bristol-shell .market-product-card .card-producto-precio-wrap,
.catalogo-layout .card-producto .card-producto-precio-wrap,
.market-product-card .card-producto-precio-wrap {
    width: 100%;
}

.catalogo-price-ribbon {
    align-items: center;
    background: linear-gradient(135deg, #0b4edb 0%, #2674ff 100%);
    border-radius: 8px;
    box-shadow: 0 10px 22px rgba(37, 99, 235, 0.20);
    color: #ffffff;
    display: grid;
    gap: 10px;
    grid-template-columns: 42px minmax(0, 1fr);
    min-height: 56px;
    padding: 8px 12px;
    width: 100%;
}

.catalogo-card-cart {
    width: 100%;
}

.catalogo-card-cart .catalogo-cart-price-button {
    align-items: center;
    background: linear-gradient(135deg, #0b4edb 0%, #2674ff 100%) !important;
    border: 0 !important;
    border-radius: 8px !important;
    box-shadow: 0 10px 22px rgba(37, 99, 235, 0.20) !important;
    color: #ffffff !important;
    cursor: pointer;
    display: grid !important;
    gap: 10px;
    grid-template-columns: 42px minmax(0, 1fr);
    min-height: 56px !important;
    padding: 8px 12px !important;
    width: 100%;
}

.catalogo-price-cart {
    align-items: center;
    border-right: 1px solid rgba(255, 255, 255, 0.28);
    display: inline-flex;
    height: 34px;
    justify-content: center;
    padding-right: 10px;
}

.catalogo-price-cart svg {
    display: block;
    height: 27px;
    width: 27px;
}

.catalogo-cart-price-copy {
    display: grid;
    gap: 2px;
    justify-items: end;
    line-height: 1;
    min-width: 0;
}

.catalogo-cart-price-copy small {
    color: rgba(255, 255, 255, 0.88);
    font-size: 11px;
    font-weight: 800;
    line-height: 1;
}

.catalogo-cart-price-copy strong {
    color: #ffffff;
    font-size: 19px;
    font-weight: 950;
    line-height: 1;
    white-space: nowrap;
}

.catalogo-card-cart .catalogo-cart-price-button:hover,
.catalogo-card-cart .catalogo-cart-price-button:focus-visible {
    background: linear-gradient(135deg, #083ba8 0%, #1d64e8 100%) !important;
    box-shadow: 0 12px 26px rgba(37, 99, 235, 0.28) !important;
    color: #ffffff !important;
    outline: none;
    transform: translateY(-1px);
}

.catalogo-bristol-shell .market-product-card .catalogo-price-ribbon .precio,
.catalogo-layout .card-producto .catalogo-price-ribbon .precio,
.market-product-card .catalogo-price-ribbon .precio,
.catalogo-price-ribbon .precio {
    color: #ffffff !important;
    font-size: 19px !important;
    font-weight: 950 !important;
    line-height: 1 !important;
    margin: 0 !important;
    text-align: right;
    white-space: nowrap;
}

@media (max-width: 520px) {
    .catalogo-price-ribbon {
        grid-template-columns: 36px minmax(0, 1fr);
        min-height: 50px;
        padding: 7px 10px;
    }

    .catalogo-card-cart .catalogo-cart-price-button {
        grid-template-columns: 36px minmax(0, 1fr);
        min-height: 50px !important;
        padding: 7px 10px !important;
    }

    .catalogo-price-cart {
        height: 30px;
        padding-right: 8px;
    }

    .catalogo-price-cart svg {
        height: 23px;
        width: 23px;
    }

    .catalogo-price-ribbon .precio {
        font-size: 16px !important;
    }

    .catalogo-cart-price-copy small {
        font-size: 10px;
    }

    .catalogo-cart-price-copy strong {
        font-size: 16px;
    }
}

/* Installation / Contado Style Buy Button */
.compra-modo-label {
    display: block;
    font-size: 11px;
    font-weight: 850;
    color: #475569;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-bottom: 6px;
}

.btn-compra-precio {
    align-items: center;
    background: linear-gradient(135deg, #0b3b8f 0%, #1d4ed8 100%) !important;
    border: none !important;
    border-radius: 14px !important;
    box-shadow: 0 12px 28px rgba(29, 78, 216, 0.22) !important;
    color: #ffffff !important;
    display: flex !important;
    justify-content: space-between !important;
    min-height: 56px !important;
    padding: 12px 20px !important;
    width: 100% !important;
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease !important;
    text-decoration: none;
}

.btn-compra-precio:hover,
.btn-compra-precio:focus-visible {
    background: linear-gradient(135deg, #092c70 0%, #173fa3 100%) !important;
    box-shadow: 0 16px 36px rgba(29, 78, 216, 0.32) !important;
    transform: translateY(-1px);
}

.btn-compra-precio-left {
    align-items: center;
    display: inline-flex;
    gap: 10px;
}

.btn-compra-precio-left .cart-icon {
    height: 22px;
    width: 22px;
}

.btn-compra-precio-left strong {
    font-size: 15px;
    font-weight: 850;
}

.btn-compra-precio-right strong {
    font-size: 18px;
    font-weight: 950;
}

/* Static price fallback when not comprable */
.precio-estatico-box {
    align-items: center;
    background: #f8fafc;
    border: 1px solid #cbd5e1;
    border-radius: 14px;
    display: flex;
    justify-content: space-between;
    min-height: 56px;
    padding: 12px 20px;
    width: 100%;
}

.precio-estatico-left strong {
    color: #0f172a;
    font-size: 18px;
    font-weight: 950;
}

/* Clean product-card titles in home and catalog */
.product-title,
.product-card-title,
.card-title,
.card-producto-titulo,
.card-producto h3,
.market-product-card h3,
.catalogo-bristol-shell .market-product-card h3,
.catalogo-layout .card-producto h3,
.home-catalog-cards .market-product-card h3 {
    border: 0 !important;
    box-shadow: none !important;
    line-height: 1.3 !important;
    margin-bottom: 0 !important;
    min-height: 42px !important;
    overflow: hidden !important;
    padding-bottom: 0 !important;
    text-decoration: none !important;
}

.product-title,
.product-card-title,
.card-title,
.card-producto-titulo,
.card-producto h3 a,
.market-product-card h3 a,
.catalogo-bristol-shell .market-product-card h3 a,
.catalogo-layout .card-producto h3 a,
.home-catalog-cards .market-product-card h3 a {
    border: 0 !important;
    box-shadow: none !important;
    display: -webkit-box !important;
    line-height: 1.3 !important;
    max-height: 2.6em !important;
    min-height: 2.6em !important;
    overflow: hidden !important;
    padding-bottom: 0 !important;
    text-decoration: none !important;
    text-decoration-line: none !important;
    text-overflow: ellipsis !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    line-clamp: 2 !important;
}

.product-title::before,
.product-title::after,
.product-card-title::before,
.product-card-title::after,
.card-title::before,
.card-title::after,
.card-producto-titulo::before,
.card-producto-titulo::after,
.card-producto h3::before,
.card-producto h3::after,
.card-producto h3 a::before,
.card-producto h3 a::after,
.market-product-card h3::before,
.market-product-card h3::after,
.market-product-card h3 a::before,
.market-product-card h3 a::after {
    border: 0 !important;
    box-shadow: none !important;
    content: none !important;
    display: none !important;
    text-decoration: none !important;
}

.card-producto hr,
.market-product-card hr,
.catalogo-bristol-shell .market-product-card hr,
.catalogo-layout .card-producto hr,
.home-catalog-cards .market-product-card hr {
    display: none !important;
}

.card-producto .card-producto-footer,
.market-product-card .card-producto-footer,
.catalogo-bristol-shell .market-product-card .card-producto-footer,
.catalogo-layout .card-producto .card-producto-footer,
.home-catalog-cards .market-product-card .card-producto-footer {
    border-top: 0 !important;
}

/* Beneficios de registro en el carrito */
.carrito-registro-beneficios {
    background: #f8fafc;
    border: 1px dashed #cbd5e1;
    border-radius: 12px;
    padding: 14px;
    margin-top: 15px;
    font-size: 13px;
    color: #334155;
    text-align: left;
}
.carrito-registro-beneficios h4 {
    font-size: 14px;
    font-weight: 700;
    color: #0f172a;
    margin: 0 0 8px 0;
}
.carrito-registro-beneficios ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: 8px;
}
.carrito-registro-beneficios li {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    line-height: 1.4;
}
.carrito-registro-beneficios .beneficio-icono {
    font-size: 14px;
    flex-shrink: 0;
    margin-top: 1px;
}
.carrito-checkout-actions .btn {
    width: 100%;
    justify-content: center;
}

/* Confirmación de Pedido Premium y Detalles */
.pedido-exito-seccion-detalles {
    max-width: 560px;
    margin: 30px auto 20px;
    text-align: left;
}
.pedido-exito-seccion-detalles h3 {
    font-size: 18px;
    font-weight: 800;
    color: #1e293b;
    margin: 0 0 12px 0;
    border-bottom: 2px solid #e2e8f0;
    padding-bottom: 8px;
}
.pedido-exito-info-final {
    max-width: 560px;
    margin: 24px auto;
    text-align: center;
    background: #f8fafc;
    border-radius: 12px;
    padding: 16px;
    border: 1px solid #e2e8f0;
}
.pedido-exito-info-final p {
    margin: 8px 0;
    font-size: 14px;
    color: #475569;
    line-height: 1.5;
}
.pedido-exito-acciones {
    justify-content: center;
    margin-top: 28px;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}
.pedido-exito-acciones .btn {
    min-width: 180px;
    justify-content: center;
}
.pedido-exito-acciones .pedido-exito-whatsapp {
    background: #25D366 !important;
    box-shadow: 0 12px 24px rgba(37, 211, 102, 0.22);
    color: #fff !important;
    font-size: 16px;
    font-weight: 700;
    min-height: 52px;
    max-width: 500px;
    min-width: 0;
    padding: 14px 22px;
    width: min(100%, 500px);
}
.pedido-exito-acciones .pedido-exito-whatsapp:hover,
.pedido-exito-acciones .pedido-exito-whatsapp:focus-visible {
    background: #1ebe5d !important;
}
.pedido-exito-mensaje p {
    margin: 10px 0;
    color: #475569;
    font-size: 16px;
    line-height: 1.6;
}
@media (max-width: 560px) {
    .pedido-exito-acciones .btn {
        width: 100% !important;
        min-width: 0;
    }
    .pedido-exito-acciones .pedido-exito-whatsapp {
        font-size: 17px;
        min-height: 56px;
        width: 100%;
    }
}

/* Grupo de botones en formularios de login / registro */
.auth-buttons-group {
    display: flex;
    gap: 12px;
    margin-top: 8px;
    width: 100%;
}
.auth-buttons-group .btn {
    flex: 1;
    justify-content: center;
    align-items: center;
    display: inline-flex;
}
@media (max-width: 480px) {
    .auth-buttons-group {
        flex-direction: column;
    }
}

/* Login administrador */
.auth-card.auth-card-admin {
    background: #ffffff !important;
    border-color: #e2e8f0 !important;
    box-shadow: 0 22px 46px rgba(15, 23, 42, 0.10) !important;
}

.auth-card-admin .admin-login-submit,
.auth-card-admin button.btn.admin-login-submit {
    align-items: center;
    background: linear-gradient(135deg, #0b3b8f 0%, #0d6efd 100%) !important;
    border: 1px solid #0b5ed7 !important;
    border-radius: 14px !important;
    box-shadow: 0 16px 34px rgba(13, 110, 253, 0.28) !important;
    color: #ffffff !important;
    display: flex !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    justify-content: center;
    letter-spacing: 0;
    height: 56px !important;
    padding: 0 32px !important;
    text-align: center;
    width: auto !important;
    min-width: 220px !important;
    margin: 20px auto 0 auto !important;
    transition: background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease !important;
}

.auth-card-admin .admin-login-submit:hover,
.auth-card-admin .admin-login-submit:focus-visible,
.auth-card-admin button.btn.admin-login-submit:hover,
.auth-card-admin button.btn.admin-login-submit:focus-visible {
    background: linear-gradient(135deg, #092f73 0%, #0b5ed7 100%) !important;
    border-color: #094cae !important;
    box-shadow: 0 20px 42px rgba(13, 110, 253, 0.34) !important;
    color: #ffffff !important;
    transform: translateY(-1px);
}

.auth-card-admin .admin-login-submit:active,
.auth-card-admin button.btn.admin-login-submit:active {
    transform: translateY(0);
}

@media (max-width: 768px) {
    .auth-card-admin .admin-login-submit,
    .auth-card-admin button.btn.admin-login-submit {
        width: 100% !important;
        min-width: 0 !important;
        height: 54px !important;
        font-size: 16px !important;
        border-radius: 14px !important;
    }
}

/* Pedido manual: carga desktop compacta sin combos */
@media (min-width: 769px) {
    .admin-manual-order-panel .admin-order-manual-form {
        padding: 10px 12px !important;
    }

    .admin-manual-order-panel .pedido-manual-grid-layout {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 10px !important;
    }

    .admin-manual-order-panel .pedido-manual-col-inputs {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
        gap: 10px 12px !important;
    }

    .admin-manual-order-panel .pedido-manual-fila-bloques {
        display: contents !important;
    }

    .admin-manual-order-panel .pedido-manual-col-resumen {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 260px 180px !important;
        gap: 10px !important;
        position: static !important;
    }

    .admin-manual-order-panel .pedido-manual-card-cliente {
        grid-column: 1;
        grid-row: 1;
    }

    .admin-manual-order-panel .pedido-manual-card-pago {
        grid-column: 2;
        grid-row: 1;
    }

    .admin-manual-order-panel .pedido-manual-card-producto {
        grid-column: 1;
        grid-row: 2;
    }

    .admin-manual-order-panel .pedido-manual-card-entrega {
        grid-column: 2;
        grid-row: 2;
    }

    .admin-manual-order-panel .pedido-manual-card-inferior {
        grid-column: 1 / -1;
        grid-row: 3;
    }

    .admin-manual-order-panel .pedido-manual-bloque-card,
    .admin-manual-order-panel .pedido-manual-resumen-card {
        border-radius: 8px !important;
        box-shadow: none !important;
        padding: 8px !important;
    }

    .admin-manual-order-panel .pedido-manual-bloque-titulo {
        display: none !important;
    }

    .admin-manual-order-panel .pedido-manual-subgrid {
        gap: 6px 8px !important;
    }

    .admin-manual-order-panel .pedido-manual-card-pago,
    .admin-manual-order-panel .pedido-manual-card-entrega {
        min-width: 0;
    }

    .admin-manual-order-panel .pedido-manual-client-select-wrap,
    .admin-manual-order-panel .pedido-manual-selector-product-wrap .form-row-flex {
        gap: 8px !important;
    }

    .admin-manual-order-panel .pedido-manual-client-select-wrap select,
    .admin-manual-order-panel .pedido-manual-selector-product-wrap select {
        min-width: 0;
    }

    .admin-manual-order-panel .pedido-manual-btn-cliente,
    .admin-manual-order-panel #abrir-modal-cliente-rapido {
        font-size: 12px !important;
        height: 34px !important;
        min-height: 34px !important;
        padding: 0 9px !important;
        white-space: nowrap;
    }

    .admin-manual-order-panel #agregar-producto-manual {
        font-size: 13px !important;
        height: 36px !important;
        min-height: 36px !important;
        padding: 0 14px !important;
        width: auto !important;
    }

    .admin-manual-order-panel .pedido-manual-product-picker-grid {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 8px !important;
    }

    .admin-manual-order-panel .pedido-manual-product-select-field {
        min-width: 0;
    }

    .admin-manual-order-panel .pedido-manual-qty-wrap {
        justify-self: start;
    }

    .admin-manual-order-panel .pedido-manual-add-btn-wrap {
        justify-self: start;
    }

    .admin-manual-order-panel .pedido-manual-campos-inferiores {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: 8px;
        align-items: end;
    }

    .admin-manual-order-panel .admin-order-manual-form.is-retiro-local .pedido-manual-campos-inferiores {
        grid-template-columns: minmax(0, 1fr);
    }

    .admin-manual-order-panel .admin-order-manual-form.is-retiro-local [data-delivery-field],
    .admin-order-manual-form [data-delivery-field][hidden] {
        display: none !important;
    }

    .admin-manual-order-panel input,
    .admin-manual-order-panel select {
        height: 34px !important;
        min-height: 34px !important;
        padding: 5px 8px !important;
    }

    .admin-manual-order-panel textarea {
        height: 34px !important;
        min-height: 34px !important;
        padding: 6px 8px !important;
    }

    .admin-manual-order-panel label {
        margin-bottom: 3px !important;
    }

    .admin-manual-order-panel .cantidad-stepper,
    .admin-manual-order-panel .cantidad-stepper-btn,
    .admin-manual-order-panel .cantidad-stepper input[type="number"] {
        height: 34px !important;
        min-height: 34px !important;
    }

    .admin-manual-order-panel .pedido-manual-tabla-productos-container {
        max-height: 180px !important;
        min-height: 0 !important;
    }

    .admin-manual-order-panel .pedido-manual-tabla-productos {
        font-size: 12px !important;
    }

    .admin-manual-order-panel .pedido-manual-tabla-productos th,
    .admin-manual-order-panel .pedido-manual-tabla-productos td {
        padding: 5px 6px !important;
    }

    .admin-manual-order-panel .pedido-manual-resumen-card {
        align-self: start;
    }

    .admin-manual-order-panel .pedido-manual-resumen-card h4 {
        display: none !important;
    }

    .admin-manual-order-panel .pedido-manual-summary-line {
        margin: 0 !important;
        padding: 4px 0 !important;
    }

    .admin-manual-order-panel .pedido-manual-save-row {
        align-self: start;
        margin: 0 !important;
    }

    .admin-manual-order-panel .pedido-manual-save-row .btn {
        height: 40px !important;
    }
}

/* Compras: vista movil final tipo cards compactos */
@media (max-width: 768px) {
    .compras-productos-filtros,
    .compras-productos-filtros-fecha,
    .compras-filtros,
    .table-filters,
    .filters-row,
    .tabla-compras-proveedores thead,
    .tabla-compras-proveedores .tabla-filtros-columnas,
    .compras-tabla-toolbar-left {
        display: none !important;
    }

    .compras-proveedores-resumen,
    .compras-proveedores-resumen.tabla-responsive {
        border: 0 !important;
        box-shadow: none !important;
        overflow: visible !important;
    }

    .tabla-compras-proveedores,
    .tabla-compras-proveedores tbody {
        display: block !important;
        min-width: 0 !important;
        width: 100% !important;
    }

    .tabla-compras-proveedores tr[data-proveedor-row] {
        background: #ffffff !important;
        border: 1px solid #d1d5db !important;
        border-radius: 12px !important;
        box-shadow: 0 8px 18px rgba(15, 23, 42, 0.05) !important;
        cursor: default;
        display: grid !important;
        gap: 4px 8px !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        grid-template-areas:
            "proveedor proveedor"
            "fecha estado"
            "factura factura"
            "gs gs"
            "acciones acciones" !important;
        height: auto !important;
        max-height: none !important;
        min-height: 0 !important;
        margin: 0 0 8px !important;
        overflow: visible !important;
        padding: 10px 10px 8px !important;
        transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
        width: 100% !important;
    }

    .tabla-compras-proveedores tr[data-proveedor-row][hidden] {
        display: none !important;
    }

    .tabla-compras-proveedores tr[data-proveedor-row]::after {
        content: none !important;
        display: none !important;
    }

    .tabla-compras-proveedores tr[data-proveedor-row] > td {
        border: 0 !important;
        min-width: 0 !important;
        padding: 0 !important;
        text-align: left !important;
        width: auto !important;
    }

    .tabla-compras-proveedores tr[data-proveedor-row] > td[hidden] {
        display: none !important;
    }

    .tabla-compras-proveedores tr[data-proveedor-row] > td::before {
        display: none !important;
    }

    .tabla-compras-proveedores td[data-column="proveedor"] {
        color: #334155 !important;
        display: block !important;
        font-size: 13px !important;
        font-weight: 800 !important;
        grid-area: proveedor;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .tabla-compras-proveedores td[data-column="estado"] {
        align-items: center !important;
        display: flex !important;
        grid-area: estado;
        margin: 0 !important;
        padding-right: 0 !important;
        justify-content: flex-start !important;
    }

    .tabla-compras-proveedores td[data-column="estado"] .compra-estado-badge {
        font-size: 10px !important;
        line-height: 1 !important;
        margin: 0 !important;
        padding: 3px 7px !important;
    }

    .tabla-compras-proveedores td[data-column="factura"] {
        color: #374151 !important;
        display: flex !important;
        font-size: 12px !important;
        font-weight: 500 !important;
        gap: 4px !important;
        grid-area: factura;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .tabla-compras-proveedores td[data-column="factura"]::before {
        color: #94a3b8;
        content: "Comprobante:";
        display: inline !important;
        font-weight: 700;
    }

    .tabla-compras-proveedores td[data-column="total_gs"] {
        align-items: center !important;
        color: #0f172a !important;
        display: flex !important;
        font-size: 13px !important;
        font-weight: 800 !important;
        gap: 4px !important;
        grid-area: gs;
        justify-content: flex-start !important;
        white-space: nowrap;
    }

    .tabla-compras-proveedores td[data-column="total_gs"]::before {
        content: "Total:";
        display: inline !important;
    }

    .tabla-compras-proveedores td[data-column="codigo"],
    .tabla-compras-proveedores td[data-column="total_usd"],
    .tabla-compras-proveedores td[data-column="metodo_pago"],
    .tabla-compras-proveedores td[data-column="usuario"],
    .tabla-compras-proveedores td[data-column="observaciones"],
    .tabla-compras-proveedores td[data-column="compras"],
    .tabla-compras-proveedores td[data-column="comprobante"],
    .tabla-compras-proveedores td[data-column="fecha_creacion"] {
        display: none !important;
    }

    .tabla-compras-proveedores td[data-column="fecha"] {
        color: #64748b !important;
        display: block !important;
        font-size: 12px !important;
        font-weight: 500 !important;
        grid-area: fecha;
        line-height: 1.2;
    }

    .tabla-compras-proveedores td[data-column="acciones"] {
        align-items: center !important;
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 8px !important;
        grid-area: acciones;
        grid-template-columns: none !important;
        justify-content: flex-start !important;
        padding-top: 5px !important;
    }

    .tabla-compras-proveedores td[data-column="acciones"]::before {
        content: none !important;
        display: none !important;
    }

    .tabla-compras-proveedores td[data-column="acciones"] .btn-mini {
        align-items: center !important;
        display: inline-flex !important;
        gap: 5px !important;
        justify-content: center !important;
        height: 32px !important;
        min-height: 32px !important;
        min-width: 72px !important;
        padding: 6px 10px !important;
        width: auto !important;
    }

    .tabla-compras-proveedores td[data-column="acciones"] form {
        margin: 0 !important;
        width: auto !important;
    }

    .tabla-compras-proveedores td[data-column="acciones"] .accion-label {
        display: inline !important;
        font-size: 10px !important;
        font-weight: 800 !important;
        line-height: 1 !important;
    }

    .tabla-compras-proveedores td[data-column="acciones"] .compras-accion-anular .accion-icon i::before {
        content: "\f1f8" !important;
        font-family: "Font Awesome 6 Free";
        font-weight: 900;
    }

    .tabla-compras-proveedores tr[data-proveedor-row] > td[hidden] {
        display: none !important;
    }

    .tabla-gastos td[data-column="acciones"].gastos-tabla-acciones {
        align-items: center !important;
        display: inline-flex !important;
        flex-wrap: nowrap !important;
        gap: 6px !important;
        grid-area: acciones;
        grid-template-columns: none !important;
        justify-content: flex-start !important;
        padding-top: 3px !important;
        width: auto !important;
    }

    .tabla-gastos td[data-column="acciones"].gastos-tabla-acciones form {
        display: inline-flex !important;
        margin: 0 !important;
        width: auto !important;
    }

    .tabla-gastos td[data-column="acciones"].gastos-tabla-acciones .btn-mini {
        align-items: center !important;
        display: inline-flex !important;
        gap: 5px !important;
        height: 32px !important;
        justify-content: center !important;
        min-height: 32px !important;
        min-width: 32px !important;
        padding: 0 9px !important;
        width: auto !important;
    }

    .tabla-gastos td[data-column="acciones"].gastos-tabla-acciones .accion-icon {
        align-items: center !important;
        display: inline-flex !important;
        font-size: 13px !important;
        justify-content: center !important;
        line-height: 1 !important;
    }

    .tabla-gastos td[data-column="acciones"].gastos-tabla-acciones .accion-label {
        display: inline !important;
        font-size: 10px !important;
        font-weight: 800 !important;
        line-height: 1 !important;
    }

    .tabla-gastos td[data-column="acciones"].gastos-tabla-acciones .gastos-anulado-label {
        align-items: center !important;
        display: inline-flex !important;
        font-size: 10px !important;
        height: 32px !important;
        min-height: 32px !important;
        padding: 0 9px !important;
        width: auto !important;
    }

    .compras-paginacion {
        align-items: stretch;
        display: grid;
        gap: 8px;
        margin-top: 10px;
        padding: 8px;
    }

    .compras-paginacion-size {
        display: none !important;
        justify-content: flex-end;
    }

    .compras-paginacion-size label {
        font-size: 11px;
    }

    .compras-paginacion-size select {
        height: 32px;
        min-width: 64px;
        padding-bottom: 5px;
        padding-top: 5px;
    }

    .compras-paginacion-nav {
        display: grid;
        gap: 6px;
        grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    }

    .compras-paginacion-numeros {
        display: none !important;
    }

    .compras-paginacion-resumen {
        display: none;
    }

    .compras-paginacion-mobile-status,
    .compras-paginacion-nav span {
        align-self: center;
        display: block;
        font-size: 12px;
        min-width: 0;
        white-space: nowrap;
    }

    .compras-paginacion .btn-mini {
        font-size: 12px;
        min-height: 34px;
        padding: 6px 8px;
        width: 100%;
    }

    .admin-product-images-pagination .compras-paginacion-resumen {
        display: block;
    }

    .dashboard-panel.is-mobile-detail-open > .panel-header,
    .dashboard-panel.is-mobile-detail-open > .compras-mobile-filter-bar,
    .dashboard-panel.is-mobile-detail-open > .compras-productos-filtros,
    .dashboard-panel.is-mobile-detail-open > .compras-tabla-toolbar,
    .dashboard-panel.is-mobile-detail-open > .compras-proveedores-resumen,
    .dashboard-panel.is-mobile-detail-open > .compras-paginacion,
    .dashboard-panel.is-mobile-detail-open > [data-proveedores-empty] {
        display: none !important;
    }

    body.compra-mobile-view-open .compras-productos-form-shell,
    body.compra-mobile-view-open .compras-mobile-filter-bar,
    body.compra-mobile-view-open .compras-productos-filtros,
    body.compra-mobile-view-open .compras-tabla-toolbar,
    body.compra-mobile-view-open .compras-proveedores-resumen,
    body.compra-mobile-view-open .compras-paginacion {
        display: none !important;
    }

    .compra-mobile-detail-view {
        display: block;
        width: 100%;
    }

    .compra-mobile-detail-view[hidden] {
        display: none !important;
    }

    .compra-mobile-back {
        align-items: center;
        display: inline-flex;
        justify-content: center;
        margin: 0 0 10px;
        min-height: 36px;
        padding: 7px 10px;
        width: auto;
    }

    .compra-mobile-detail-content {
        background: #ffffff;
        border: 1px solid #dbeafe;
        border-radius: 14px;
        box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06);
        display: grid;
        gap: 10px;
        padding: 12px;
        width: 100%;
    }

    .compra-mobile-detail-content .dashboard-modal-kicker {
        color: #2563eb;
        font-size: 10px;
        font-weight: 900;
        letter-spacing: 0.06em;
        text-transform: uppercase;
    }

    .compra-mobile-detail-content h3 {
        color: #0f172a;
        font-size: 18px;
        line-height: 1.2;
        margin: 0;
    }

    .compra-mobile-detail-content .dashboard-modal-texto,
    .compra-mobile-detail-content .compra-modal-meta {
        color: #475569;
        display: grid;
        font-size: 13px;
        gap: 4px;
        line-height: 1.35;
        margin: 0;
    }

    .compra-mobile-detail-content .compra-modal-resumen {
        display: flex;
        flex-wrap: wrap;
        gap: 6px;
        margin: 0;
        padding: 7px;
    }

    .compra-mobile-detail-content .compra-modal-resumen span {
        font-size: 11px;
        padding: 5px 7px;
    }

    .compra-mobile-detail-content .tabla-responsive {
        border: 0;
        box-shadow: none;
        overflow: visible;
    }

    .compra-mobile-detail-content .tabla-compras-modal-items {
        display: block;
        min-width: 0;
        width: 100% !important;
    }

    .compra-mobile-detail-content .tabla-compras-modal-items thead {
        display: none;
    }

    .compra-mobile-detail-content .tabla-compras-modal-items tbody {
        display: grid;
        gap: 10px;
    }

    .compra-mobile-detail-content .tabla-compras-modal-items tr {
        background: #f8fafc;
        border: 1px solid #e2e8f0;
        border-radius: 12px;
        display: grid;
        overflow: hidden;
    }

    .compra-mobile-detail-content .tabla-compras-modal-items td {
        align-items: center;
        border-bottom: 1px solid #e5e7eb;
        color: #334155;
        display: flex;
        font-size: 12px;
        gap: 8px;
        justify-content: space-between;
        padding: 8px 10px;
        text-align: right;
        white-space: normal;
    }

    .compra-mobile-detail-content .tabla-compras-modal-items td::before {
        color: #94a3b8;
        content: attr(data-label);
        flex: 0 0 auto;
        font-size: 11px;
        font-weight: 700;
        text-align: left;
    }

    .compra-mobile-detail-content .tabla-compras-modal-items td:last-child {
        border-bottom: 0;
    }

    .compra-mobile-detail-content .tabla-compras-modal-items .compra-modal-producto {
        align-items: flex-start;
        display: grid;
        gap: 3px;
        text-align: left;
    }

    .compra-mobile-detail-content .tabla-compras-modal-items .compra-modal-producto::before {
        display: none;
    }

    .compra-mobile-detail-content .tabla-compras-modal-items .compra-modal-producto small {
        color: #64748b;
        font-size: 11px;
        margin: 0;
    }

    @keyframes compraMobileExpandFinal {
        from {
            opacity: 0;
            transform: translateY(-3px);
        }

        to {
            opacity: 1;
            transform: translateY(0);
        }
    }
}
/* Desktop catalog list density */
.catalogo-list-status {
    display: none;
}

@media (min-width: 721px) {
    .catalogo-bristol-shell[data-catalog-view="list"] .grid-productos {
        gap: 8px !important;
        grid-template-columns: 1fr !important;
    }

    .catalogo-bristol-shell[data-catalog-view="list"] .market-product-card {
        align-items: center !important;
        display: grid !important;
        gap: 14px !important;
        grid-template-columns: 150px minmax(0, 1fr) !important;
        min-height: 132px !important;
        padding: 10px 12px !important;
    }

    .catalogo-bristol-shell[data-catalog-view="list"] .market-product-card .card-producto-media {
        aspect-ratio: 1 / 1 !important;
        grid-column: 1 !important;
        height: 124px !important;
        min-height: 124px !important;
        width: 150px !important;
    }

    .catalogo-bristol-shell[data-catalog-view="list"] .market-product-card .card-producto-imagen {
        height: 100% !important;
        object-fit: contain !important;
        width: 100% !important;
    }

    .catalogo-bristol-shell[data-catalog-view="list"] .market-product-card .card-producto-media .catalogo-urgency-badge {
        display: none !important;
    }

    .catalogo-bristol-shell[data-catalog-view="list"] .market-product-card .card-producto-body {
        align-items: center !important;
        display: grid !important;
        gap: 14px !important;
        grid-column: 2 !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        min-width: 0 !important;
        padding: 0 !important;
        width: 100% !important;
    }

    .catalogo-bristol-shell[data-catalog-view="list"] .market-product-card .card-producto-top {
        gap: 4px !important;
        min-width: 0 !important;
    }

    .catalogo-bristol-shell[data-catalog-view="list"] .market-product-card .catalogo-v3-card-meta,
    .catalogo-bristol-shell[data-catalog-view="list"] .market-product-card .card-producto-descripcion {
        display: none !important;
    }

    .catalogo-bristol-shell[data-catalog-view="list"] .market-product-card h3 {
        font-size: 15px !important;
        line-height: 1.25 !important;
        margin: 0 !important;
        min-height: 0 !important;
    }

    .catalogo-bristol-shell[data-catalog-view="list"] .market-product-card h3 a {
        color: #0f172a !important;
        font-weight: 850 !important;
    }

    .catalogo-bristol-shell[data-catalog-view="list"] .market-product-card .card-producto-footer {
        align-items: center !important;
        display: flex !important;
        gap: 16px !important;
        grid-template-columns: none !important;
        justify-content: flex-end !important;
        justify-self: end !important;
        min-width: 260px !important;
        width: auto !important;
    }

    .catalogo-bristol-shell[data-catalog-view="list"] .market-product-card .card-producto-precio-wrap.catalogo-status-price {
        align-items: flex-start !important;
        display: grid !important;
        gap: 3px !important;
        justify-items: start !important;
        min-width: 118px !important;
        width: auto !important;
    }

    .catalogo-bristol-shell[data-catalog-view="list"] .catalogo-list-status {
        align-items: center !important;
        color: #92400e !important;
        display: inline-flex !important;
        font-size: 12px !important;
        font-weight: 800 !important;
        gap: 6px !important;
        line-height: 1.1 !important;
        white-space: nowrap !important;
    }

    .catalogo-bristol-shell[data-catalog-view="list"] .catalogo-list-status.is-available {
        color: #15803d !important;
    }

    .catalogo-bristol-shell[data-catalog-view="list"] .catalogo-list-status-dot {
        background: #f59e0b;
        border-radius: 999px;
        box-shadow: 0 0 0 3px rgba(245, 158, 11, 0.12);
        display: inline-block;
        height: 8px;
        width: 8px;
    }

    .catalogo-bristol-shell[data-catalog-view="list"] .catalogo-list-status.is-available .catalogo-list-status-dot {
        background: #16a34a;
        box-shadow: 0 0 0 3px rgba(22, 163, 74, 0.12);
    }

    .catalogo-bristol-shell[data-catalog-view="list"] .market-product-card .precio {
        color: #0f172a !important;
        font-size: 17px !important;
        font-weight: 950 !important;
        line-height: 1.05 !important;
        margin: 0 !important;
        text-align: left !important;
        white-space: nowrap !important;
    }

    .catalogo-bristol-shell[data-catalog-view="list"] .catalogo-card-cart {
        align-self: center !important;
        grid-column: auto !important;
        justify-self: end !important;
        margin-top: 0 !important;
        order: 0 !important;
        width: auto !important;
    }

    .catalogo-bristol-shell[data-catalog-view="list"] .catalogo-card-cart button {
        flex: 0 0 auto !important;
        height: 34px !important;
        min-height: 34px !important;
        min-width: 108px !important;
        padding: 0 14px !important;
        width: auto !important;
    }

    .catalogo-bristol-shell[data-catalog-view="list"] .catalogo-card-cart button svg {
        height: 16px !important;
        width: 16px !important;
    }

    .catalogo-bristol-shell[data-catalog-view="list"] .catalogo-cart-text {
        display: inline !important;
        font-size: 13px !important;
    }

    .catalogo-bristol-shell[data-catalog-view="list"] .market-product-card .catalogo-whatsapp-producto {
        justify-self: end !important;
        min-height: 34px !important;
        padding: 0 14px !important;
        width: auto !important;
    }
}

/* Mobile catalog: keep toolbar focused on filters/search */
@media (max-width: 720px) {
    .catalogo-bristol-shell .catalogo-view-switch {
        display: none !important;
    }
}

/* Compras productos: mobile optimized filters */
.compras-mobile-filter-bar,
.compras-mobile-filter-overlay,
.compras-mobile-filter-drawer {
    display: none;
}

@media (max-width: 768px) {
    .compras-mobile-filter-bar {
        align-items: center;
        display: grid !important;
        gap: 8px;
        grid-template-columns: minmax(0, 1fr) auto;
        margin: 12px 0 14px;
        width: 100%;
    }

    .dashboard-grid-pro-historial .panel-header p {
        display: none !important;
    }

    .compras-tabla-toolbar {
        display: none !important;
    }

    .compras-mobile-filter-bar input {
        background: #ffffff;
        border: 1px solid #d1d5db;
        border-radius: 10px;
        color: #0f172a;
        font-size: 14px;
        height: 40px;
        min-width: 0;
        padding: 0 12px;
        width: 100%;
    }

    .compras-mobile-filter-toggle {
        align-items: center;
        background: #ffffff !important;
        border: 1px solid #cbd5e1 !important;
        border-radius: 10px;
        box-shadow: none !important;
        color: #1e3a8a !important;
        display: inline-flex;
        font-size: 14px;
        font-weight: 800;
        gap: 7px;
        height: 40px;
        justify-content: center;
        min-height: 40px;
        padding: 0 12px;
        white-space: nowrap;
    }

    .compras-mobile-filter-toggle i {
        color: #6c757d;
        font-size: 15px;
        line-height: 1;
        transition: transform 0.25s ease;
    }

    .compras-mobile-filter-toggle[aria-expanded="true"] i {
        transform: rotate(180deg);
    }

    .compras-mobile-filter-toggle:hover,
    .compras-mobile-filter-toggle:focus-visible,
    .compras-mobile-filter-toggle[aria-expanded="true"] {
        background: #f8fafc !important;
        border-color: #93c5fd !important;
        color: #1d4ed8 !important;
        outline: none;
    }

    .compras-mobile-filter-overlay {
        background: rgba(15, 23, 42, 0.38);
        bottom: 0;
        display: block;
        left: 0;
        position: fixed;
        right: 0;
        top: 0;
        z-index: 4000;
    }

    .compras-mobile-filter-overlay[hidden] {
        display: none !important;
    }

    .compras-mobile-filter-drawer {
        background: #ffffff;
        border-radius: 18px 18px 0 0;
        bottom: 0;
        box-shadow: 0 -18px 42px rgba(15, 23, 42, 0.22);
        display: block;
        left: 0;
        max-height: 86vh;
        overflow-y: auto;
        padding: 10px 14px calc(14px + env(safe-area-inset-bottom));
        position: fixed;
        right: 0;
        transform: translateY(105%);
        transition: transform 0.22s ease;
        z-index: 4010;
    }

    .compras-mobile-filter-drawer.is-open {
        transform: translateY(0);
    }

    body.compras-mobile-filters-open {
        overflow: hidden;
    }

    .compras-mobile-filter-form {
        display: grid;
        gap: 10px;
    }

    .compras-mobile-filter-handle {
        background: #cbd5e1;
        border-radius: 999px;
        height: 4px;
        justify-self: center;
        margin: 0 0 4px;
        width: 42px;
    }

    .compras-mobile-filter-head {
        align-items: center;
        display: flex;
        justify-content: space-between;
        margin-bottom: 2px;
    }

    .compras-mobile-filter-head strong {
        color: #0f172a;
        font-size: 17px;
    }

    .compras-mobile-filter-head button {
        align-items: center;
        background: #f1f5f9;
        border: 0;
        border-radius: 999px;
        color: #334155;
        display: inline-flex;
        font-size: 24px;
        height: 34px;
        justify-content: center;
        line-height: 1;
        width: 34px;
    }

    .compras-mobile-filter-form label {
        display: grid;
        gap: 5px;
    }

    .compras-mobile-filter-form label span {
        color: #475569;
        font-size: 12px;
        font-weight: 800;
    }

    .compras-mobile-filter-form input,
    .compras-mobile-filter-form select {
        background: #ffffff;
        border: 1px solid #d1d5db;
        border-radius: 10px;
        color: #0f172a;
        font-size: 14px;
        height: 40px;
        min-width: 0;
        padding: 0 10px;
        width: 100%;
    }

    .compras-mobile-filter-actions {
        display: grid;
        gap: 8px;
        grid-template-columns: 1fr 1fr;
        margin-top: 6px;
    }

    .compras-mobile-filter-actions .btn-mini {
        align-items: center;
        display: inline-flex;
        height: 40px;
        justify-content: center;
        min-height: 40px;
        text-align: center;
        width: 100%;
    }
}

/* Compras productos: compact mobile primary action */
.compras-mobile-compact-header {
    display: none;
}

.compras-productos-mobile-icon,
.compras-productos-mobile-chevron {
    display: inline-flex;
}

@media (max-width: 768px) {
    .admin-body:has(.compras-mobile-compact-header) .contenido-principal.contenedor {
        padding-top: 8px !important;
    }

    .admin-body:has(.compras-mobile-compact-header) .admin-mobile-menu-toggle {
        display: none !important;
    }

    .compras-mobile-compact-header {
        align-items: center;
        display: flex;
        gap: 10px;
        margin: 0 0 8px;
        min-height: 38px;
    }

    .compras-mobile-menu-trigger {
        align-items: center;
        background: rgba(255, 255, 255, 0.72);
        border: 0;
        border-radius: 10px;
        box-shadow: none;
        color: #0f172a;
        cursor: pointer;
        display: inline-flex;
        flex: 0 0 36px;
        font-size: 16px;
        height: 36px;
        justify-content: center;
        line-height: 1;
        padding: 0;
        width: 36px;
    }

    .compras-mobile-compact-header h1 {
        color: #0f172a;
        font-size: 20px;
        font-weight: 900;
        line-height: 1;
        margin: 0;
    }

    .compras-productos-form-shell {
        margin-top: 0 !important;
    }

    .compras-productos-form-panel,
    .compras-productos-form-panel.is-collapsed {
        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        padding: 0 !important;
    }

    .compras-productos-form-panel .panel-header.compras-productos-accordion-header {
        align-items: center !important;
        background: #ffffff !important;
        border: 1px solid #d1d5db !important;
        border-radius: 10px !important;
        box-shadow: 0 2px 8px rgba(0, 0, 0, .05) !important;
        color: #1f2937 !important;
        display: flex !important;
        justify-content: space-between !important;
        margin: 0 !important;
        height: 50px !important;
        min-height: 50px !important;
        padding: 0 14px !important;
        width: 100% !important;
        cursor: pointer !important;
        user-select: none !important;
        box-sizing: border-box !important;
    }

    .compras-productos-form-panel.is-open .panel-header.compras-productos-accordion-header {
        border-color: #93c5fd !important;
        border-radius: 10px !important;
    }

    .compras-productos-form-panel .panel-header.compras-productos-accordion-header:hover,
    .compras-productos-form-panel .panel-header.compras-productos-accordion-header:focus-visible {
        background: #ffffff !important;
        border-color: #93c5fd !important;
        color: #1f2937 !important;
    }

    .compras-productos-header-left {
        display: flex !important;
        align-items: center !important;
        gap: 10px !important;
    }

    .compras-productos-form-panel .panel-header h3 {
        color: #1f2937 !important;
        font-size: 14px !important;
        font-weight: 600 !important;
        line-height: 1 !important;
        margin: 0 !important;
    }

    .compras-productos-chevron {
        display: none !important;
    }

    .compras-productos-mobile-icon {
        color: #4b5563 !important;
        display: inline-flex !important;
        font-size: 14px !important;
        line-height: 1 !important;
    }

    .compras-productos-mobile-chevron {
        color: #4b5563 !important;
        display: inline-flex !important;
        font-size: 14px !important;
        line-height: 1 !important;
        transition: transform 0.2s ease !important;
    }

    .compras-productos-form-panel.is-open .compras-productos-mobile-chevron {
        transform: rotate(180deg) !important;
    }

    .compras-productos-form-body {
        margin-top: 8px !important;
    }
}


/* ==========================================================================
   OPTIMIZED MANUAL ORDER FORM LAYOUT (DESKTOP & MOBILE)
   ========================================================================== */

/* Desktop layout: 2 columns */
.pedido-manual-grid-layout {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 20px;
    align-items: start;
}

.pedido-manual-col-inputs {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.pedido-manual-col-resumen {
    display: flex;
    flex-direction: column;
    gap: 12px;
    position: sticky;
    top: 20px;
}

.pedido-manual-fila-bloques {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.pedido-manual-bloque-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 12px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.02);
}

.pedido-manual-bloque-titulo {
    font-size: 14px;
    font-weight: 700;
    color: #1e293b;
    margin-bottom: 10px;
    border-bottom: 1px solid #f1f5f9;
    padding-bottom: 6px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.pedido-manual-bloque-titulo i {
    color: #4f46e5;
}

.pedido-manual-subgrid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px 12px;
}

.pedido-manual-span-2 {
    grid-column: span 2;
}

.pedido-manual-client-select-wrap {
    display: flex;
    gap: 8px;
    align-items: center;
}

.pedido-manual-client-select-wrap select {
    flex: 1;
}

.pedido-manual-client-select-wrap button {
    flex: 0 0 auto;
    height: 40px !important;
}

.pedido-manual-product-picker-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    align-items: end;
}

.pedido-manual-selector-product-wrap {
    min-width: 0;
}

.pedido-manual-tabla-productos-container {
    max-height: 260px;
    overflow-y: auto;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #ffffff;
}

.pedido-manual-tabla-productos {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.pedido-manual-tabla-productos th {
    background: #f8fafc;
    color: #475569;
    font-weight: 700;
    padding: 8px;
    text-align: left;
    border-bottom: 1px solid #e2e8f0;
    position: sticky;
    top: 0;
}

.pedido-manual-tabla-productos td {
    padding: 8px;
    vertical-align: middle;
    border-bottom: 1px solid #f1f5f9;
    color: #334155;
}

.pedido-manual-tabla-productos tr:last-child td {
    border-bottom: none;
}

.producto-codigo-tag {
    display: inline-block;
    background: #f1f5f9;
    color: #64748b;
    font-size: 10px;
    font-weight: 700;
    padding: 1px 4px;
    border-radius: 4px;
    margin-left: 6px;
}

.pedido-manual-resumen-card {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 12px;
}

.pedido-manual-resumen-card h4 {
    font-size: 12px;
    font-weight: 800;
    color: #475569;
    margin-bottom: 8px;
}

.btn-primario-grande {
    width: 100%;
    height: 44px !important;
    font-size: 15px;
    font-weight: 700;
    background: #4f46e5 !important;
    color: #ffffff !important;
}

.btn-primario-grande:hover {
    background: #4338ca !important;
}

/* Form inputs & styling overrides for compact size */
.admin-order-manual-form input,
.admin-order-manual-form select {
    height: 40px !important;
    min-height: 40px !important;
    box-sizing: border-box !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 8px !important;
}

.admin-order-manual-form textarea {
    height: 60px !important;
    min-height: 60px !important;
    box-sizing: border-box !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 8px !important;
    resize: none !important;
    padding: 8px 10px !important;
    width: 100% !important;
}

.admin-order-manual-form label {
    font-size: 12px !important;
    font-weight: 700 !important;
    color: #475569 !important;
    margin-bottom: 4px !important;
    display: block !important;
}

/* Mobile responsive layout overrides */
@media (max-width: 768px) {
    .pedido-manual-grid-layout {
        display: flex !important;
        flex-direction: column !important;
        gap: 12px !important;
    }
    
    .pedido-manual-col-resumen {
        position: static !important;
    }
    
    .pedido-manual-fila-bloques {
        display: flex !important;
        flex-direction: column !important;
        gap: 12px !important;
    }
    
    .pedido-manual-subgrid {
        display: flex !important;
        flex-direction: column !important;
        gap: 8px !important;
    }
    
    .pedido-manual-client-select-wrap {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 6px !important;
    }
    
    .pedido-manual-client-select-wrap button {
        width: 100% !important;
    }
    
    .pedido-manual-product-picker-grid {
        display: flex !important;
        flex-direction: column !important;
        gap: 8px !important;
        align-items: stretch !important;
    }
    
    .pedido-manual-qty-wrap {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
    }
    
    .pedido-manual-qty-wrap label {
        margin-bottom: 0 !important;
    }
    
    .pedido-manual-tabla-productos-container {
        border: none !important;
        max-height: none !important;
        overflow: visible !important;
    }
    
    .pedido-manual-tabla-productos {
        display: block !important;
    }
    
    .pedido-manual-tabla-productos thead {
        display: none !important;
    }
    
    .pedido-manual-tabla-productos tbody {
        display: flex !important;
        flex-direction: column !important;
        gap: 8px !important;
    }
    
    .pedido-manual-tabla-productos tr {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 4px !important;
        background: #f8fafc !important;
        border: 1px solid #e2e8f0 !important;
        border-radius: 10px !important;
        padding: 8px !important;
        box-sizing: border-box !important;
    }
    
    .pedido-manual-tabla-productos td {
        display: block !important;
        padding: 0 !important;
        border: none !important;
        text-align: left !important;
    }
    
    .pedido-manual-tabla-productos td[data-cart-product-qty-display]::before {
        content: "Cantidad: ";
        font-weight: 700;
        color: #64748b;
    }
    
    .pedido-manual-tabla-productos td[data-cart-product-price-display]::before {
        content: "Precio: ";
        font-weight: 700;
        color: #64748b;
    }
    
    .pedido-manual-tabla-productos td[data-cart-product-subtotal-display]::before {
        content: "Subtotal: ";
        font-weight: 700;
        color: #64748b;
    }
    
    .pedido-manual-tabla-productos td:last-child {
        margin-top: 4px !important;
    }
}

@media (max-width: 768px) {
    #modal-cliente-rapido {
        align-items: center !important;
        padding: 12px !important;
    }

    #modal-cliente-rapido .cliente-rapido-modal-dialog {
        left: auto !important;
        margin: 0 auto !important;
        max-height: calc(100vh - 24px) !important;
        max-width: 700px !important;
        overflow-y: auto !important;
        padding: 20px !important;
        top: auto !important;
        transform: none !important;
        width: min(700px, calc(100vw - 24px)) !important;
    }

    #modal-cliente-rapido .cliente-rapido-grid {
        grid-template-columns: 1fr !important;
    }

    #modal-cliente-rapido .dashboard-modal-actions {
        flex-direction: row !important;
    }

    #modal-cliente-rapido .dashboard-modal-actions .btn,
    #modal-cliente-rapido .dashboard-modal-actions button {
        width: auto !important;
    }
}

@media (max-width: 768px) {
    .admin-manual-order-panel .form-row-flex {
        align-items: stretch !important;
        flex-direction: column !important;
        gap: 8px !important;
    }

    .admin-manual-order-panel .form-row-flex .select-field,
    .admin-manual-order-panel .form-row-flex .action-btn {
        width: 100% !important;
    }
}

.admin-manual-order-panel .cliente-row,
.cliente-row {
    align-items: center !important;
    display: flex !important;
    gap: 8px !important;
    width: 100% !important;
}

.admin-manual-order-panel .cliente-row select,
.admin-manual-order-panel .cliente-row .cliente-select,
.admin-manual-order-panel .cliente-row .select2-container,
.cliente-row select,
.cliente-row .cliente-select,
.cliente-row .select2-container {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    width: 100% !important;
}

.admin-manual-order-panel .cliente-row .btn-nuevo-cliente,
.cliente-row .btn-nuevo-cliente {
    background: var(--button-gray) !important;
    background-image: none !important;
    border: 1px solid var(--button-gray-border) !important;
    box-shadow: none !important;
    color: var(--button-text) !important;
    flex: 0 0 auto !important;
    min-width: 78px !important;
    white-space: nowrap !important;
    width: auto !important;
}

.admin-manual-order-panel .cliente-row .btn-nuevo-cliente:hover,
.admin-manual-order-panel .cliente-row .btn-nuevo-cliente:focus-visible,
.cliente-row .btn-nuevo-cliente:hover,
.cliente-row .btn-nuevo-cliente:focus-visible {
    background: var(--button-gray-hover) !important;
    border-color: #d1d5db !important;
    box-shadow: none !important;
    color: var(--button-text) !important;
}

.custom-select-dropdown,
.searchable-select-dropdown,
.admin-order-manual-form .custom-select-dropdown,
.admin-order-manual-form .searchable-select-dropdown {
    left: 0 !important;
    max-height: 220px !important;
    overflow-y: auto !important;
    right: auto !important;
    width: 100% !important;
    z-index: 1000 !important;
}

.admin-order-manual-form .searchable-select,
.admin-order-manual-form .searchable-select.is-open {
    z-index: auto !important;
}

.dashboard-modal .custom-select-dropdown,
.dashboard-modal .searchable-select-dropdown,
.modal .custom-select-dropdown,
.modal .searchable-select-dropdown {
    z-index: 10000 !important;
}

.admin-order-manual-form .pedido-manual-card-pago,
.admin-order-manual-form .pedido-manual-card-entrega {
    overflow: visible !important;
}

.admin-order-manual-form .pedido-manual-card-pago .searchable-select,
.admin-order-manual-form .pedido-manual-card-entrega .searchable-select {
    margin-bottom: 0 !important;
}

.admin-order-manual-form [data-delivery-field][hidden] {
    display: none !important;
}

@media (max-width: 768px) {
    .admin-manual-order-panel .cliente-row,
    .cliente-row {
        align-items: stretch !important;
        flex-direction: column !important;
    }

    .admin-manual-order-panel .cliente-row .btn-nuevo-cliente,
    .cliente-row .btn-nuevo-cliente {
        align-self: flex-start !important;
        width: auto !important;
    }
}

/* Delivery Method and Delivery Data Card Styles */
.checkout-delivery-selector-group {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 20px;
    margin-top: 8px;
}

.delivery-selector-card {
    position: relative;
    border: 1px solid #e5e7eb !important;
    border-radius: 12px !important;
    padding: 14px 16px !important;
    cursor: pointer;
    background: #ffffff !important;
    display: flex !important;
    align-items: center;
    transition: all 0.2s ease-in-out;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.delivery-selector-card:hover {
    border-color: #3b82f6 !important;
    background-color: #f8fafc !important;
}

.delivery-selector-card input[type="radio"] {
    margin: 0 12px 0 0 !important;
    width: 18px !important;
    height: 18px !important;
    cursor: pointer;
    accent-color: #3b82f6;
    flex-shrink: 0;
}

.delivery-selector-card .selector-card-content {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
}

.delivery-selector-card .selector-card-content .icon {
    font-size: 24px;
    line-height: 1;
}

.delivery-selector-card .selector-card-text {
    display: flex;
    flex-direction: column;
}

.delivery-selector-card .selector-card-text strong {
    font-size: 14px;
    color: #1f2937;
    font-weight: 600;
}

.delivery-selector-card .selector-card-text small {
    font-size: 11px;
    color: #6b7280;
}

.delivery-selector-card:has(input:checked) {
    border-color: #3b82f6 !important;
    background-color: #eff6ff !important;
    box-shadow: 0 4px 12px rgba(59, 130, 246, 0.1) !important;
}

/* Delivery Card styling */
.checkout-delivery-card {
    border: 1px solid #e5e7eb !important;
    border-radius: 14px !important;
    background: #ffffff !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04) !important;
    overflow: hidden;
}

.checkout-delivery-card .checkout-card-head {
    border-bottom: 1px solid #f3f4f6 !important;
    background: linear-gradient(180deg, #ffffff, #f8fbff) !important;
    padding: 14px 18px !important;
}

.checkout-delivery-card .checkout-card-head h4 {
    margin: 0 !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #1f2937 !important;
}

.checkout-delivery-card .checkout-card-body {
    padding: 18px !important;
}

.checkout-readonly-input {
    background-color: #f9fafb !important;
    border: 1px solid #d1d5db !important;
    color: #4b5563 !important;
    cursor: not-allowed;
}

/* Mobile responsive fixes */
@media (max-width: 640px) {
    .checkout-delivery-selector-group {
        grid-template-columns: 1fr;
        gap: 10px;
    }
    
    .checkout-delivery-card .checkout-card-body {
        padding: 14px !important;
    }
}

.producto-config-panel {
    display: grid;
    gap: 12px;
}

.producto-config-accordions {
    display: grid;
    gap: 10px;
}

.producto-config-accordion {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    overflow: visible;
}

.producto-config-accordion-header {
    align-items: center;
    background: #f8fafc;
    border: 0;
    color: #0f172a;
    cursor: pointer;
    display: grid;
    gap: 8px;
    grid-template-columns: minmax(0, 1fr) auto auto;
    min-height: 48px;
    padding: 10px 12px;
    text-align: left;
    width: 100%;
}

.producto-config-accordion-header span {
    font-size: 15px;
    font-weight: 850;
}

.producto-config-accordion-header small {
    color: #64748b;
    font-size: 12px;
    font-weight: 750;
    white-space: nowrap;
}

.producto-config-accordion-header i {
    color: #64748b;
    font-size: 12px;
    transition: transform 0.18s ease;
}

.producto-config-accordion.is-open .producto-config-accordion-header i {
    transform: rotate(180deg);
}

.producto-config-accordion-body {
    display: none;
    gap: 12px;
    overflow: visible;
    padding: 12px;
}

.producto-config-accordion.is-open .producto-config-accordion-body {
    display: grid;
}

.producto-config-form {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    padding: 10px;
    overflow: visible;
}

.producto-config-form .campo-categoria-padre,
.producto-config-form .categoria-padre-wrapper {
    position: relative;
    z-index: 50;
}

.producto-config-form .campo-estado,
.producto-config-form .estado-wrapper {
    position: relative;
    z-index: 10;
}

.producto-config-form .select2-container--open,
.producto-config-form .select2-dropdown,
.producto-config-form .tom-select-dropdown,
.producto-config-form .ts-dropdown,
.producto-config-form .searchable-select.is-open,
.producto-config-form .searchable-select-dropdown {
    z-index: 99999 !important;
}

.producto-config-form label {
    color: #475569;
    display: grid;
    font-size: 12px;
    font-weight: 800;
    gap: 5px;
}

.producto-config-form input,
.producto-config-form select,
.producto-config-form textarea {
    background: #ffffff;
    border: 1px solid #cbd5e1;
    border-radius: 9px;
    color: #0f172a;
    font-size: 13px;
    min-height: 36px;
    padding: 7px 9px;
    width: 100%;
}

.producto-config-form textarea {
    resize: vertical;
}

.producto-config-form-actions {
    align-items: end;
    display: flex;
    gap: 8px;
}

.producto-config-form-actions .btn {
    min-height: 36px !important;
    padding: 8px 12px !important;
}

.producto-config-table-wrap {
    border-radius: 12px;
    margin: 0;
}

.producto-config-table-shell {
    display: grid;
    gap: 10px;
}

.producto-config-table-toolbar {
    grid-template-columns: minmax(240px, 1fr) auto;
    margin: 0;
}

.producto-config-page-size {
    align-items: center;
    color: #64748b;
    display: inline-flex;
    gap: 8px;
    justify-self: end;
    margin: 0;
    white-space: nowrap;
}

.producto-config-page-size span {
    color: #64748b;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: none;
}

.producto-config-page-size select {
    background: #f8fafc;
    border: 1px solid #cbd5e1;
    border-radius: 9px;
    color: #0f172a;
    font-size: 13px;
    font-weight: 700;
    height: 34px;
    min-width: 90px;
    padding: 6px 28px 6px 10px;
    width: 90px;
}

.producto-config-table {
    min-width: 680px;
}

.producto-config-table th,
.producto-config-table td {
    font-size: 13px !important;
    padding: 8px !important;
}

.producto-config-table td:last-child {
    text-align: right;
    white-space: nowrap;
}

.producto-config-table .compras-tabla-acciones {
    justify-content: flex-end;
}

.producto-config-pagination {
    align-items: center;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    display: flex;
    gap: 10px;
    justify-content: space-between;
    padding: 8px 10px;
}

.producto-config-pagination span {
    color: #64748b;
    font-size: 12px;
    font-weight: 750;
    white-space: nowrap;
}

.producto-config-pagination div {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    justify-content: flex-end;
}

@media (max-width: 768px) {
    .producto-config-panel {
        padding: 10px !important;
    }

    .producto-config-accordion-header {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .producto-config-accordion-header small {
        display: none;
    }

    .producto-config-accordion-body {
        padding: 9px;
    }

    .producto-config-form {
        grid-template-columns: 1fr;
        padding: 9px;
    }

    .producto-config-form-actions {
        align-items: stretch;
        flex-wrap: wrap;
    }

    .producto-config-table-toolbar {
        grid-template-columns: 1fr;
        padding: 8px;
    }

    .producto-config-page-size {
        justify-self: start;
    }

    .producto-config-table-wrap {
        border: 0;
        box-shadow: none;
        overflow: visible;
    }

    .producto-config-table {
        display: block;
        min-width: 0;
        width: 100%;
    }

    .producto-config-table thead {
        display: none;
    }

    .producto-config-table tbody {
        display: grid;
        gap: 8px;
        width: 100%;
    }

    .producto-config-table tr {
        background: #ffffff;
        border: 1px solid #dbe3ef;
        border-radius: 10px;
        box-shadow: 0 8px 18px rgba(15, 23, 42, 0.05);
        display: grid;
        gap: 5px;
        padding: 9px;
    }

    .producto-config-table td {
        border: 0 !important;
        display: flex;
        justify-content: space-between;
        padding: 0 !important;
        text-align: left !important;
        width: 100% !important;
    }

    .producto-config-table td::before {
        color: #94a3b8;
        content: attr(data-label);
        flex: 0 0 auto;
        font-size: 10px;
        font-weight: 900;
        letter-spacing: 0.03em;
        margin-right: 8px;
        text-transform: uppercase;
    }

    .producto-config-table td:first-child::before,
    .producto-config-table td:last-child::before {
        display: none;
    }

    .producto-config-table td:first-child {
        color: #0f172a;
        font-size: 13px !important;
        font-weight: 800;
    }

    .producto-config-table td:last-child {
        justify-content: flex-start;
        padding-top: 3px !important;
    }

    .producto-config-table .compras-tabla-acciones .btn-mini {
        height: 32px !important;
        min-height: 32px !important;
        min-width: 32px !important;
        padding: 0 9px !important;
        width: auto !important;
    }

    .producto-config-pagination {
        align-items: stretch;
        display: grid;
        gap: 8px;
    }

    .producto-config-pagination div {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .producto-config-pagination div .btn-mini:not(:first-child):not(:last-child) {
        display: none;
    }
}

/* Product detail related items */
.producto-relacionados {
    background: #f8f9fa;
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    margin: clamp(28px, 5vw, 46px) auto;
    max-width: 1180px;
    padding: clamp(18px, 3vw, 24px);
}

.producto-relacionados-head {
    align-items: center;
    display: flex;
    gap: 16px;
    justify-content: space-between;
    margin-bottom: 18px;
}

.producto-relacionados-head h2 {
    color: #111827;
    font-size: clamp(22px, 3vw, 30px);
    line-height: 1.15;
    margin: 0;
}

.producto-relacionados-grid {
    display: grid;
    gap: 20px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.producto-relacionados .market-product-card {
    min-width: 0;
}

.producto-relacionados .market-product-card .card-producto-media {
    margin-bottom: 0;
}

.producto-relacionados .market-product-card h3 a {
    overflow-wrap: anywhere;
}

.producto-relacionados .catalogo-card-cart button:hover,
.producto-relacionados .catalogo-card-cart button:focus-visible {
    background: #083b88;
    border-color: #083b88;
    box-shadow: 0 10px 22px rgba(13, 71, 161, 0.24);
    outline: none;
    transform: translateY(-1px);
}

@media (max-width: 980px) {
    .producto-relacionados-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .producto-relacionados {
        border-left: 0;
        border-radius: 0;
        border-right: 0;
        margin-left: calc(-1 * clamp(12px, 4vw, 18px));
        margin-right: calc(-1 * clamp(12px, 4vw, 18px));
        padding: 18px 0 20px;
    }

    .producto-relacionados-head {
        padding: 0 clamp(12px, 4vw, 18px);
    }

    .producto-relacionados-grid {
        display: flex;
        gap: 12px;
        overflow-x: auto;
        padding: 0 clamp(12px, 4vw, 18px) 8px;
        scroll-snap-type: x mandatory;
        scrollbar-width: thin;
        -webkit-overflow-scrolling: touch;
    }

    .producto-relacionados-grid .market-product-card {
        flex: 0 0 min(78vw, 250px);
        scroll-snap-align: start;
    }

    .producto-relacionados .market-product-card .card-producto-media {
        aspect-ratio: 1 / 0.78;
        padding: 12px 12px 6px;
    }

    .producto-relacionados .market-product-card .card-producto-imagen {
        max-height: 150px;
    }

    .producto-relacionados .market-product-card .card-producto-body {
        gap: 8px;
        padding: 0 14px 14px;
    }

    .producto-relacionados .market-product-card h3 {
        font-size: 13px;
        min-height: 36px;
    }

    .producto-relacionados .market-product-card .card-producto-descripcion,
    .producto-relacionados .market-product-card .catalogo-v3-card-meta {
        display: none;
    }

    .producto-relacionados .market-product-card .precio {
        font-size: 15px;
    }
}
