@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Fraunces:ital,wght@0,400;0,600;0,700;1,400&display=swap');

/* ============================================================
   SISTEMA DE DISEÑO — MARKETPLACE DE HOSTELERÍA
   ============================================================ */

/* ----- Variables ----- */
:root {
    --mp-primary: #1d4b6b;
    --mp-primary-dark: #163a52;
    --mp-primary-light: #2f6a94;
    --mp-primary-bg: rgba(29, 75, 107, 0.08);
    --mp-secondary: #56c09e;
    --mp-secondary-dark: #3f9d80;
    --mp-secondary-bg: rgba(86, 192, 158, 0.12);
    --mp-text: #1E1D1D;
    --mp-text-muted: #6B7280;
    --mp-text-light: #9CA3AF;
    --mp-bg: #F8F6F3;
    --mp-bg-white: #FFFFFF;
    --mp-bg-card: #FFFFFF;
    --mp-border: #E5E0DB;
    --mp-border-light: #F0EDE8;
    --mp-success: #10B981;
    --mp-danger: #EF4444;
    --mp-warning: #F59E0B;
    --mp-info: #3B82F6;
    --mp-radius: 12px;
    --mp-radius-sm: 6px;
    --mp-radius-lg: 16px;
    --mp-radius-xl: 24px;
    --mp-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
    --mp-shadow-hover: 0 8px 24px rgba(0, 0, 0, 0.1);
    --mp-shadow-card: 0 1px 3px rgba(0, 0, 0, 0.06), 0 1px 2px rgba(0, 0, 0, 0.04);
    --mp-shadow-dropdown: 0 10px 40px rgba(0, 0, 0, 0.12);
    --mp-shadow-lg: 0 20px 60px rgba(0, 0, 0, 0.08);
    --mp-transition: all 0.2s ease-in-out;
    --mp-transition-slow: all 0.3s ease-in-out;
    --mp-font-sans: 'Inter', 'Roboto', system-ui, -apple-system, sans-serif;
    --mp-font-serif: 'Fraunces', Georgia, serif;
    --mp-nav-height: 72px;
}

/* ----- Tipografía base ----- */
body {
    font-family: var(--mp-font-sans);
    color: var(--mp-text);
    background: var(--mp-bg);
    font-weight: 400;
    font-size: 15px;
    line-height: 1.6;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--mp-font-serif);
    color: var(--mp-text);
    font-weight: 600;
}

h1 { font-size: 2.25rem; line-height: 1.2; }
h2 { font-size: 1.75rem; line-height: 1.25; }
h3 { font-size: 1.375rem; line-height: 1.3; }
h4 { font-size: 1.125rem; line-height: 1.35; }
h5 { font-size: 1rem; line-height: 1.4; }
h6 { font-size: 0.875rem; line-height: 1.45; }

a, a:hover, a:focus {
    color: var(--mp-primary);
    transition: var(--mp-transition);
}

.text-muted { color: var(--mp-text-muted) !important; }

/* ----- Override Bootstrap ----- */
:root {
    --bs-primary: var(--mp-primary);
    --bs-primary-rgb: 29, 75, 107;
    --bs-secondary: var(--mp-secondary);
    --bs-secondary-rgb: 86, 192, 158;
    --bs-success: var(--mp-success);
    --bs-danger: var(--mp-danger);
    --bs-warning: var(--mp-warning);
    --bs-info: var(--mp-info);
    --bs-border-radius: var(--mp-radius-sm);
    --bs-border-radius-lg: var(--mp-radius);
    --bs-body-font-family: var(--mp-font-sans);
    --bs-body-color: var(--mp-text);
    --bs-body-bg: var(--mp-bg);
}

.btn-primary {
    --bs-btn-bg: var(--mp-primary);
    --bs-btn-border-color: var(--mp-primary);
    --bs-btn-hover-bg: var(--mp-primary-dark);
    --bs-btn-hover-border-color: var(--mp-primary-dark);
    --bs-btn-active-bg: var(--mp-primary-dark);
    --bs-btn-active-border-color: var(--mp-primary-dark);
}

.btn-outline-primary {
    --bs-btn-color: var(--mp-primary);
    --bs-btn-border-color: var(--mp-primary);
    --bs-btn-hover-bg: var(--mp-primary);
    --bs-btn-hover-border-color: var(--mp-primary);
    --bs-btn-active-bg: var(--mp-primary);
    --bs-btn-active-border-color: var(--mp-primary);
}

/* ===== .btn-mp-primary — Botón principal del marketplace ===== */
.btn-mp-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.625rem 1.5rem;
    background: var(--mp-primary);
    color: #fff;
    border: 2px solid var(--mp-primary);
    border-radius: var(--mp-radius-sm);
    font-weight: 600;
    font-size: 0.9375rem;
    transition: var(--mp-transition);
    cursor: pointer;
}
.btn-mp-primary:hover {
    background: var(--mp-primary-dark);
    border-color: var(--mp-primary-dark);
    color: #fff;
    transform: translateY(-1px);
    box-shadow: var(--mp-shadow);
}
.btn-mp-primary:active {
    transform: translateY(0);
}

/* ===== .btn-mp-outline — Botón outline ===== */
.btn-mp-outline {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.625rem 1.5rem;
    background: transparent;
    color: var(--mp-primary);
    border: 2px solid var(--mp-primary);
    border-radius: var(--mp-radius-sm);
    font-weight: 600;
    font-size: 0.9375rem;
    transition: var(--mp-transition);
    cursor: pointer;
}
.btn-mp-outline:hover {
    background: var(--mp-primary-bg);
    color: var(--mp-primary-dark);
    border-color: var(--mp-primary-dark);
}

/* ===== .btn-mp-secondary — Botón secundario (CTA cálido) ===== */
.btn-mp-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.625rem 1.5rem;
    background: var(--mp-secondary);
    color: #1E1D1D;
    border: 2px solid var(--mp-secondary);
    border-radius: var(--mp-radius-sm);
    font-weight: 600;
    font-size: 0.9375rem;
    transition: var(--mp-transition);
    cursor: pointer;
}
.btn-mp-secondary:hover {
    background: var(--mp-secondary-dark);
    border-color: var(--mp-secondary-dark);
    color: #1E1D1D;
    transform: translateY(-1px);
    box-shadow: var(--mp-shadow);
}

/* ===== .mp-section-title — Título de sección ===== */
.mp-section-title {
    font-family: var(--mp-font-serif);
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--mp-text);
    position: relative;
    display: inline-block;
    margin-bottom: 1.25rem;
}
.mp-section-title::after {
    content: '';
    display: block;
    width: 60px;
    height: 3px;
    background: var(--mp-primary);
    margin-top: 0.5rem;
    border-radius: 2px;
}

/* ===== .mp-section-title-centered ===== */
.mp-section-title-centered {
    text-align: center;
}
.mp-section-title-centered::after {
    margin-left: auto;
    margin-right: auto;
}

/* ===== .mp-badge — Badge reutilizable ===== */
.mp-badge {
    display: inline-flex;
    align-items: center;
    padding: 0.2rem 0.65rem;
    font-size: 0.75rem;
    font-weight: 600;
    border-radius: 50px;
    line-height: 1.4;
}

/* ===== .mp-supplier-badge — Chip de proveedor ===== */
.mp-supplier-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.25rem 0.75rem;
    background: var(--mp-primary-bg);
    color: var(--mp-primary);
    font-size: 0.8125rem;
    font-weight: 500;
    border-radius: 50px;
    white-space: nowrap;
    transition: var(--mp-transition);
}
.mp-supplier-badge:hover {
    background: var(--mp-primary);
    color: #fff;
}

/* ===== .mp-status-badge — Badge de estado de pedido ===== */
.mp-status-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.3rem 0.85rem;
    font-size: 0.75rem;
    font-weight: 600;
    border-radius: 50px;
    text-transform: capitalize;
    white-space: nowrap;
}
.mp-status-badge.pendiente {
    background: var(--mp-secondary-bg);
    color: var(--mp-secondary-dark);
}
.mp-status-badge.confirmado,
.mp-status-badge.pagado {
    background: rgba(16, 185, 129, 0.12);
    color: #065F46;
}
.mp-status-badge.en_preparacion {
    background: rgba(59, 130, 246, 0.12);
    color: #1E40AF;
}
.mp-status-badge.enviado {
    background: rgba(16, 185, 129, 0.12);
    color: #065F46;
}
.mp-status-badge.entregado {
    background: rgba(16, 185, 129, 0.12);
    color: #065F46;
}
.mp-status-badge.cancelado {
    background: rgba(239, 68, 68, 0.12);
    color: #991B1B;
}
.mp-status-badge.rechazado {
    background: rgba(239, 68, 68, 0.12);
    color: #991B1B;
}

/* ===== .mp-filter-tag — Tag de filtro activo ===== */
.mp-filter-tag {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.25rem 0.75rem;
    font-size: 0.75rem;
    font-weight: 600;
    border-radius: 50px;
    background: rgba(239, 68, 68, 0.12);
    color: #991B1B;
    white-space: nowrap;
}
.mp-filter-tag .mp-filter-tag-close {
    background: none;
    border: none;
    color: #991B1B;
    font-size: 1.1rem;
    line-height: 1;
    padding: 0;
    cursor: pointer;
    opacity: 0.7;
}
.mp-filter-tag .mp-filter-tag-close:hover {
    opacity: 1;
}

/* ===== .mp-empty-state — Estado vacío reutilizable ===== */
.mp-empty-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 3rem 1.5rem;
}
.mp-empty-state .mp-empty-icon {
    font-size: 3rem;
    color: var(--mp-text-light);
    margin-bottom: 1rem;
    line-height: 1;
}
.mp-empty-state h5 {
    font-family: var(--mp-font-sans);
    font-weight: 600;
    margin-bottom: 0.5rem;
    color: var(--mp-text);
}
.mp-empty-state p {
    color: var(--mp-text-muted);
    font-size: 0.9rem;
    max-width: 320px;
    margin-bottom: 1.25rem;
}

/* ===== .mp-empty-state-sm — Versión pequeña ===== */
.mp-empty-state-sm {
    padding: 2rem 1rem;
}
.mp-empty-state-sm .mp-empty-icon {
    font-size: 2rem;
}

/* ===== .mp-breadcrumb — Migas de pan ===== */
.mp-breadcrumb {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.75rem 0;
    font-size: 0.8125rem;
    color: var(--mp-text-muted);
}
.mp-breadcrumb a {
    color: var(--mp-text-muted);
    text-decoration: none;
    transition: var(--mp-transition);
}
.mp-breadcrumb a:hover {
    color: var(--mp-primary);
}
.mp-breadcrumb .separator {
    color: var(--mp-border);
    font-size: 0.625rem;
}
.mp-breadcrumb .current {
    color: var(--mp-text);
    font-weight: 500;
}

/* ===== .mp-loading-spinner ===== */
.mp-loading-spinner {
    display: inline-block;
    width: 1.25rem;
    height: 1.25rem;
    border: 2px solid var(--mp-border);
    border-top-color: var(--mp-primary);
    border-radius: 50%;
    animation: mp-spin 0.6s linear infinite;
}
@keyframes mp-spin {
    to { transform: rotate(360deg); }
}

/* ===== TOAST / FLASH ===== */
.mp-toast-container {
    position: fixed;
    top: 1rem;
    right: 1rem;
    z-index: 9999;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    max-width: 400px;
}
.mp-toast {
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.875rem 1.125rem;
    border-radius: var(--mp-radius-sm);
    background: #fff;
    box-shadow: var(--mp-shadow-dropdown);
    border-left: 4px solid;
    animation: mp-toast-in 0.3s ease-out;
}
.mp-toast.mp-toast-success {
    border-left-color: var(--mp-success);
}
.mp-toast.mp-toast-error {
    border-left-color: var(--mp-danger);
}
.mp-toast.mp-toast-warning {
    border-left-color: var(--mp-warning);
}
.mp-toast.mp-toast-info {
    border-left-color: var(--mp-info);
}
@keyframes mp-toast-in {
    from {
        opacity: 0;
        transform: translateX(30px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

/* ===== .mp-pagination ===== */
.pagination {
    gap: 0.25rem;
}
.pagination .page-link {
    border: 1px solid var(--mp-border);
    color: var(--mp-text);
    border-radius: var(--mp-radius-sm) !important;
    padding: 0.5rem 0.875rem;
    font-size: 0.875rem;
    font-weight: 500;
    transition: var(--mp-transition);
}
.pagination .page-link:hover {
    background: var(--mp-primary-bg);
    border-color: var(--mp-primary);
    color: var(--mp-primary);
}
.pagination .page-item.active .page-link {
    background: var(--mp-primary);
    border-color: var(--mp-primary);
    color: #fff;
}
.pagination .page-item.disabled .page-link {
    background: var(--mp-bg);
    border-color: var(--mp-border);
    color: var(--mp-text-light);
}

/* ===== NAVBAR — .mp-navbar ===== */
.mp-navbar {
    position: sticky;
    top: 0;
    z-index: 1030;
    background: var(--mp-bg-white);
    border-bottom: 1px solid var(--mp-border-light);
    min-height: var(--mp-nav-height);
    padding: 0;
}
.mp-navbar .navbar-brand {
    padding: 0;
    margin-right: 2rem;
}
.mp-navbar .navbar-brand img {
    height: 42px;
    width: auto;
}

/* Search form in navbar */
.mp-search-form {
    position: relative;
    flex: 1;
    max-width: 480px;
}
.mp-search-form .form-control {
    border: 2px solid var(--mp-border);
    border-radius: 50px;
    padding: 0.5rem 1rem 0.5rem 2.75rem;
    font-size: 0.875rem;
    height: 42px;
    background: var(--mp-bg);
    transition: var(--mp-transition);
}
.mp-search-form .form-control:focus {
    border-color: var(--mp-primary);
    background: var(--mp-bg-white);
    box-shadow: 0 0 0 3px var(--mp-primary-bg);
}
.mp-search-form .mp-search-icon {
    position: absolute;
    left: 1rem;
    top: 50%;
    transform: translateY(-50%);
    color: var(--mp-text-muted);
    font-size: 1rem;
    pointer-events: none;
}

/* Nav icons (cart, favorites) */
.mp-nav-icon {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    color: var(--mp-text);
    font-size: 1.25rem;
    transition: var(--mp-transition);
    text-decoration: none;
}
.mp-nav-icon:hover {
    background: var(--mp-primary-bg);
    color: var(--mp-primary);
}
.mp-nav-icon .mp-badge-count {
    position: absolute;
    top: -2px;
    right: -4px;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    height: 18px;
    padding: 0 4px;
    font-size: 0.625rem;
    font-weight: 700;
    color: #fff;
    background: var(--mp-danger);
    border-radius: 50px;
    border: 2px solid var(--mp-bg-white);
    line-height: 1;
}

/* User dropdown */
.mp-user-dropdown .dropdown-toggle {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.375rem 0.75rem 0.375rem 0.375rem;
    background: transparent;
    border: 1px solid var(--mp-border-light);
    border-radius: 50px;
    color: var(--mp-text);
    font-weight: 500;
    font-size: 0.875rem;
    transition: var(--mp-transition);
}
.mp-user-dropdown .dropdown-toggle:hover,
.mp-user-dropdown .dropdown-toggle:focus {
    background: var(--mp-bg);
    border-color: var(--mp-border);
}
.mp-user-dropdown .dropdown-toggle::after {
    display: none;
}
.mp-user-dropdown .dropdown-toggle img {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    object-fit: cover;
}
.mp-user-dropdown .dropdown-menu {
    border: none;
    border-radius: var(--mp-radius);
    box-shadow: var(--mp-shadow-dropdown);
    padding: 0.5rem;
    min-width: 220px;
    margin-top: 0.5rem;
}
.mp-user-dropdown .dropdown-item {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    padding: 0.5rem 0.75rem;
    border-radius: var(--mp-radius-sm);
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--mp-text);
    transition: var(--mp-transition);
}
.mp-user-dropdown .dropdown-item:hover {
    background: var(--mp-primary-bg);
    color: var(--mp-primary);
}
.mp-user-dropdown .dropdown-item i {
    font-size: 1rem;
    width: 1.25rem;
    text-align: center;
    color: var(--mp-text-muted);
}
.mp-user-dropdown .dropdown-item:hover i {
    color: var(--mp-primary);
}
.mp-user-dropdown .dropdown-divider {
    margin: 0.375rem 0;
    border-color: var(--mp-border-light);
}

/* Mobile search toggle */
.mp-navbar .navbar-toggler {
    border: none;
    padding: 0.375rem;
    color: var(--mp-text);
    font-size: 1.375rem;
}
.mp-navbar .navbar-toggler:focus {
    box-shadow: none;
}

/* ===== FOOTER — .mp-footer ===== */
.mp-footer {
    background: #2D2A27;
    color: rgba(255,255,255,0.7);
    padding: 1.5rem 0;
    font-size: 0.8125rem;
    margin-top: auto;
}
.mp-footer a {
    color: rgba(255,255,255,0.7);
    text-decoration: none;
    transition: var(--mp-transition);
}
.mp-footer a:hover {
    color: #fff;
}
.mp-footer .mp-footer-brand {
    font-size: 0.9375rem;
    font-weight: 600;
    color: #fff;
    margin-bottom: 0.25rem;
}

/* ===== PRODUCT CARD — .mp-product-card ===== */
.mp-product-card {
    background: var(--mp-bg-card);
    border: 1px solid var(--mp-border-light);
    border-radius: var(--mp-radius);
    overflow: hidden;
    transition: var(--mp-transition);
    height: 100%;
    display: flex;
    flex-direction: column;
}
.mp-product-card:hover {
    border-color: var(--mp-border);
    box-shadow: var(--mp-shadow-hover);
    transform: translateY(-2px);
}
.mp-product-card .mp-card-img {
    position: relative;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background: var(--mp-bg);
}
.mp-product-card .mp-card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}
.mp-product-card:hover .mp-card-img img {
    transform: scale(1.05);
}
.mp-product-card .mp-card-fav {
    position: absolute;
    top: 0.5rem;
    right: 0.5rem;
    z-index: 5;
}
.mp-product-card .mp-card-fav .fav-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: rgba(255,255,255,0.9);
    border: none;
    color: var(--mp-text-light);
    font-size: 0.875rem;
    cursor: pointer;
    transition: var(--mp-transition);
    box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}
.mp-product-card .mp-card-fav .fav-btn:hover,
.mp-product-card .mp-card-fav .fav-btn.is-fav {
    color: var(--mp-danger);
    background: #fff;
}
.mp-product-card .mp-card-body {
    padding: 0.875rem;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
}
.mp-product-card .mp-card-name {
    font-family: var(--mp-font-sans);
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--mp-text);
    margin: 0;
    line-height: 1.3;
}
.mp-product-card .mp-card-supplier {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.75rem;
    color: var(--mp-text-muted);
}
.mp-product-card .mp-card-details {
    font-size: 0.75rem;
    color: var(--mp-text-muted);
    line-height: 1.4;
}
.mp-product-card .mp-card-footer {
    padding: 0 0.875rem 0.875rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin-top: auto;
}
.mp-product-card .mp-card-price {
    font-family: var(--mp-font-sans);
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--mp-primary);
}
.mp-product-card .mp-card-qty {
    display: flex;
    align-items: center;
    border: 1px solid var(--mp-border);
    border-radius: var(--mp-radius-sm);
    overflow: hidden;
}
.mp-product-card .mp-card-qty button {
    width: 30px;
    height: 30px;
    border: none;
    background: var(--mp-bg);
    color: var(--mp-text);
    font-size: 0.875rem;
    font-weight: 600;
    cursor: pointer;
    transition: var(--mp-transition);
}
.mp-product-card .mp-card-qty button:hover {
    background: var(--mp-border-light);
}
.mp-product-card .mp-card-qty span {
    min-width: 28px;
    text-align: center;
    font-size: 0.8125rem;
    font-weight: 600;
}
.mp-product-card .mp-card-add {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: var(--mp-primary);
    color: #fff;
    border: none;
    font-size: 1rem;
    cursor: pointer;
    transition: var(--mp-transition);
    flex-shrink: 0;
}
.mp-product-card .mp-card-add:hover {
    background: var(--mp-primary-dark);
    transform: scale(1.05);
}

/* ===== FILTER SIDEBAR — .mp-filter-sidebar ===== */
.mp-filter-sidebar {
    background: var(--mp-bg-card);
    border: 1px solid var(--mp-border-light);
    border-radius: var(--mp-radius);
    padding: 1.25rem;
}
.mp-filter-sidebar .mp-filter-title {
    font-family: var(--mp-font-sans);
    font-size: 0.9375rem;
    font-weight: 700;
    color: var(--mp-text);
    margin-bottom: 0.75rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid var(--mp-border-light);
}
.mp-filter-sidebar .mp-filter-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.mp-filter-sidebar .mp-filter-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 0.75rem;
    border-radius: var(--mp-radius-sm);
    color: var(--mp-text);
    font-size: 0.875rem;
    font-weight: 500;
    cursor: pointer;
    transition: var(--mp-transition);
    text-decoration: none;
}
.mp-filter-sidebar .mp-filter-item:hover {
    background: var(--mp-primary-bg);
    color: var(--mp-primary);
}
.mp-filter-sidebar .mp-filter-item.is-active {
    background: var(--mp-primary);
    color: #fff;
}
.mp-filter-sidebar .mp-filter-count {
    margin-left: auto;
    font-size: 0.75rem;
    color: var(--mp-text-muted);
    background: var(--mp-bg);
    padding: 0.125rem 0.5rem;
    border-radius: 50px;
}
.mp-filter-sidebar .mp-filter-item.is-active .mp-filter-count {
    background: rgba(255,255,255,0.2);
    color: #fff;
}

/* ===== CATEGORY CHIP ===== */
.mp-category-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.375rem 1rem;
    background: var(--mp-bg-white);
    border: 1px solid var(--mp-border);
    border-radius: 50px;
    color: var(--mp-text-muted);
    font-size: 0.8125rem;
    font-weight: 500;
    transition: var(--mp-transition);
    text-decoration: none;
    white-space: nowrap;
}
.mp-category-chip:hover {
    border-color: var(--mp-primary);
    color: var(--mp-primary);
    background: var(--mp-primary-bg);
}
.mp-category-chip.is-active {
    background: var(--mp-primary);
    border-color: var(--mp-primary);
    color: #fff;
}

/* ===== CHECKOUT — Section header with provider grouping ===== */
.mp-provider-block {
    border: 1px solid var(--mp-border-light);
    border-radius: var(--mp-radius);
    background: var(--mp-bg-card);
    margin-bottom: 1rem;
    overflow: hidden;
}
.mp-provider-block .mp-provider-header {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1rem;
    background: var(--mp-bg);
    border-bottom: 1px solid var(--mp-border-light);
    font-weight: 600;
    font-size: 0.875rem;
}
.mp-provider-block .mp-provider-body {
    padding: 0.75rem 1rem;
}
.mp-provider-block .mp-provider-body.p-0 {
    padding: 0 !important;
}

/* ===== Checkout responsive ===== */
@media (max-width: 991.98px) {
    .checkout_area {
        flex-direction: column;
        height: auto;
        min-height: 100vh;
    }
    .data_details {
        padding: 1.5rem;
        max-width: 100%;
        width: 100%;
        overflow-y: visible;
        height: auto;
    }
    .order_details {
        width: 100%;
        max-width: 100%;
        border-left: none;
        border-top: 1px solid var(--mp-border-light);
        padding: 1.5rem;
        position: static;
        height: auto;
    }
}

/* ===== PROVIDER SIDEBAR ===== */
.mp-provider-sidebar {
    width: 240px;
    min-width: 240px;
    background: var(--mp-bg-white);
    border-right: 1px solid var(--mp-border-light);
    min-height: calc(100vh - var(--mp-nav-height));
    padding: 1.25rem 0;
    position: sticky;
    top: var(--mp-nav-height);
    align-self: flex-start;
    overflow-y: auto;
}
.mp-provider-sidebar-header {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    padding: 0 1.25rem 1rem;
    border-bottom: 1px solid var(--mp-border-light);
    margin-bottom: 0.75rem;
    font-family: var(--mp-font-serif);
    font-size: 1rem;
    font-weight: 700;
    color: var(--mp-text);
}
.mp-provider-sidebar-header i {
    font-size: 1.25rem;
    color: var(--mp-primary);
}
.mp-provider-sidebar-nav {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    padding: 0 0.75rem;
}
.mp-provider-nav-item {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.625rem 0.75rem;
    border-radius: var(--mp-radius-sm);
    color: var(--mp-text);
    font-size: 0.875rem;
    font-weight: 500;
    text-decoration: none;
    transition: var(--mp-transition);
}
.mp-provider-nav-item:hover {
    background: var(--mp-primary-bg);
    color: var(--mp-primary);
    text-decoration: none;
}
.mp-provider-nav-item.is-active {
    background: var(--mp-primary);
    color: #fff;
}
.mp-provider-nav-item i {
    font-size: 1rem;
    width: 1.25rem;
    text-align: center;
}
.mp-provider-nav-item.is-active i {
    color: #fff;
}
.mp-provider-content {
    flex: 1;
    min-width: 0;
}
@media (max-width: 767px) {
    .mp-provider-sidebar {
        width: 100%;
        min-width: 100%;
        position: static;
        min-height: auto;
        border-right: none;
        border-bottom: 1px solid var(--mp-border-light);
    }
    .mp-provider-sidebar-nav {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 0.5rem;
    }
    .mp-provider-nav-item {
        font-size: 0.8125rem;
        padding: 0.5rem 0.75rem;
    }
}

/* ============================================================
   PHASE 2 — HOME HERO, FEATURES, CATEGORY CARDS
   ============================================================ */

/* ===== .mp-hero — Home hero section ===== */
.mp-hero {
    position: relative;
    background: linear-gradient(135deg, var(--mp-primary) 0%, #2a5f8c 40%, #0f2c40 100%);
    padding: 4rem 0 5rem;
    overflow: hidden;
    margin-bottom: 0;
}
.mp-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at 20% 80%, rgba(86,192,158,0.25) 0%, transparent 50%),
                radial-gradient(ellipse at 90% 20%, rgba(255,255,255,0.08) 0%, transparent 50%);
    pointer-events: none;
}
.mp-hero .mp-hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.375rem 1rem;
    background: rgba(255,255,255,0.15);
    backdrop-filter: blur(4px);
    border-radius: 50px;
    color: rgba(255,255,255,0.9);
    font-size: 0.8125rem;
    font-weight: 500;
    margin-bottom: 1.5rem;
}
.mp-hero h1 {
    font-family: var(--mp-font-serif);
    font-size: 2.75rem;
    font-weight: 700;
    color: #fff;
    line-height: 1.15;
    margin-bottom: 1rem;
    max-width: 600px;
}
.mp-hero .mp-hero-sub {
    font-size: 1.125rem;
    color: rgba(255,255,255,0.8);
    margin-bottom: 2rem;
    max-width: 480px;
    line-height: 1.5;
}
.mp-hero .btn-mp-secondary {
    font-size: 1rem;
    padding: 0.75rem 2rem;
}
.mp-hero .mp-hero-stats {
    display: flex;
    gap: 2rem;
    margin-top: 2.5rem;
    padding-top: 2rem;
    border-top: 1px solid rgba(255,255,255,0.15);
}
.mp-hero .mp-hero-stat {
    color: rgba(255,255,255,0.85);
}
.mp-hero .mp-hero-stat strong {
    display: block;
    font-family: var(--mp-font-serif);
    font-size: 1.5rem;
    color: #fff;
    font-weight: 700;
}
.mp-hero .mp-hero-stat span {
    font-size: 0.8125rem;
    opacity: 0.8;
}
@media (max-width: 767px) {
    .mp-hero { padding: 2.5rem 0 3rem; }
    .mp-hero h1 { font-size: 1.75rem; }
    .mp-hero .mp-hero-sub { font-size: 1rem; }
    .mp-hero .mp-hero-stats { gap: 1rem; flex-wrap: wrap; }
}

/* ===== .mp-features — Feature icons row ===== */
.mp-features {
    background: var(--mp-bg-white);
    border-bottom: 1px solid var(--mp-border-light);
    padding: 1.75rem 0;
}
.mp-features .mp-feature-item {
    display: flex;
    align-items: center;
    gap: 0.875rem;
    padding: 0.5rem 0;
}
.mp-features .mp-feature-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: var(--mp-radius);
    background: var(--mp-primary-bg);
    color: var(--mp-primary);
    font-size: 1.25rem;
    flex-shrink: 0;
}
.mp-features .mp-feature-text {
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--mp-text);
    line-height: 1.3;
}
.mp-features .mp-feature-text small {
    display: block;
    font-weight: 400;
    color: var(--mp-text-muted);
    font-size: 0.75rem;
    margin-top: 0.125rem;
}
@media (max-width: 767px) {
    .mp-features .mp-feature-item { flex-direction: column; text-align: center; }
}

/* ===== .mp-category-section — Category cards grid ===== */
.mp-category-section {
    padding: 2.5rem 0;
    background: var(--mp-bg);
}
.mp-category-section .mp-section-title {
    margin-bottom: 1.5rem;
}
.mp-category-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    padding: 1.5rem 1rem;
    background: var(--mp-bg-card);
    border: 1px solid var(--mp-border-light);
    border-radius: var(--mp-radius);
    text-decoration: none;
    color: var(--mp-text);
    transition: var(--mp-transition);
    height: 100%;
    text-align: center;
}
.mp-category-card:hover {
    border-color: var(--mp-primary);
    color: var(--mp-primary);
    box-shadow: var(--mp-shadow-hover);
    transform: translateY(-3px);
    text-decoration: none;
}
.mp-category-card .mp-category-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: var(--mp-primary-bg);
    color: var(--mp-primary);
    font-size: 1.5rem;
    transition: var(--mp-transition);
}
.mp-category-card:hover .mp-category-icon {
    background: var(--mp-primary);
    color: #fff;
}
.mp-category-card .mp-category-name {
    font-family: var(--mp-font-sans);
    font-size: 0.9375rem;
    font-weight: 600;
    line-height: 1.3;
}
.mp-category-card .mp-category-count {
    font-size: 0.75rem;
    color: var(--mp-text-muted);
}

/* ===== .mp-product-detail — Single product page ===== */
.mp-product-detail {
    background: var(--mp-bg-card);
    border: 1px solid var(--mp-border-light);
    border-radius: var(--mp-radius-lg);
    overflow: hidden;
}
.mp-product-detail .mp-detail-img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    background: var(--mp-bg);
}
.mp-product-detail .mp-detail-body {
    padding: 2rem;
}
.mp-product-detail .mp-detail-category {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.25rem 0.75rem;
    background: var(--mp-primary-bg);
    color: var(--mp-primary);
    font-size: 0.75rem;
    font-weight: 600;
    border-radius: 50px;
    margin-bottom: 1rem;
}
.mp-product-detail .mp-detail-name {
    font-family: var(--mp-font-serif);
    font-size: 1.75rem;
    font-weight: 700;
    margin-bottom: 0.75rem;
}
.mp-product-detail .mp-detail-price {
    font-family: var(--mp-font-serif);
    font-size: 2rem;
    font-weight: 700;
    color: var(--mp-primary);
    margin-bottom: 1.5rem;
}
.mp-product-detail .mp-detail-meta {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem;
    padding: 1.25rem 0;
    border-top: 1px solid var(--mp-border-light);
    border-bottom: 1px solid var(--mp-border-light);
    margin-bottom: 1.5rem;
}
.mp-product-detail .mp-detail-meta-item {
    font-size: 0.8125rem;
    color: var(--mp-text-muted);
}
.mp-product-detail .mp-detail-meta-item strong {
    display: block;
    color: var(--mp-text);
    font-weight: 600;
    margin-bottom: 0.125rem;
}

/* ===== .mp-related-products — Related product cards ===== */
.mp-related-products {
    padding: 2rem 0;
}
.mp-related-products .mp-related-title {
    font-family: var(--mp-font-serif);
    font-size: 1.25rem;
    font-weight: 700;
    margin-bottom: 1.25rem;
    position: relative;
    display: inline-block;
}
.mp-related-products .mp-related-title::after {
    content: '';
    display: block;
    width: 40px;
    height: 3px;
    background: var(--mp-primary);
    margin-top: 0.375rem;
    border-radius: 2px;
}

/* ===== .mp-home-section — Generic home page section ===== */
.mp-home-section {
    padding: 2.5rem 0;
}
.mp-home-section.mp-home-section-alt {
    background: var(--mp-bg-white);
}

/* ===== Breadcrumb en layout ===== */
*, button:focus {
    outline: none;
    box-shadow: none;
}

/* ===== Utility: 2-line text truncation ===== */
.text-truncate-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* ===== Extra spacing helpers ===== */
.gap-1 { gap: 0.25rem; }
.gap-2 { gap: 0.5rem; }
.gap-3 { gap: 1rem; }
.gap-4 { gap: 1.5rem; }

/* ===== Smooth scrollbar ===== */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: var(--mp-border); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: var(--mp-text-light); }

html {
    position: relative;
    min-height: 100%;
    background: var(--mp-bg);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

input:focus,
textarea:focus,
.form-control:focus,
input:active,
textarea:active,
.form-control:active {
    box-shadow: none !important;
    background-color: #fff;
    color: inherit;
}

.form-control:focus {
    border-color: #ced4da !important;
}

textarea {
    resize: none;
}

.btn:hover {
    border-color: transparent;
}

.btn_brand {
    background-color: #1d4b6b;
    color: #fff;
    border-radius: .5rem;
    -webkit-box-shadow: -0.314px 8.995px 6.51px 0.49px rgba(0, 0, 0, 0.11);
    -moz-box-shadow: -0.314px 8.995px 6.51px 0.49px rgba(0, 0, 0, 0.11);
    box-shadow: -0.314px 8.995px 6.51px 0.49px rgba(0, 0, 0, 0.11);
    min-width: 100px;
    margin-right: 15px;
    border: 0;
}

.btn_brand:hover {
    background-color: #3f9d80;
    color: #fff !important;
}

.btn_brand.__cancel,
.btn_brand.__cancel:hover {
    background-color: #E0E0E0;
    color: #1e1d1d !important;
}

.btn_brand.__delete,
.btn_brand.__delete:hover {
    background-color: #E53935;
}

.btn.btn_brand:focus,
.btn.btn_brand:active {
    -webkit-box-shadow: -0.314px 8.995px 6.51px 0.49px rgba(0, 0, 0, 0.11);
    -moz-box-shadow: -0.314px 8.995px 6.51px 0.49px rgba(0, 0, 0, 0.11);
    box-shadow: -0.314px 8.995px 6.51px 0.49px rgba(0, 0, 0, 0.11);
    color: #fff;
    background-color: #3f9d80;
}

.btn.btn_brand.__cancel:focus,
.btn.btn_brand.__cancel:active {
    background-color: #E0E0E0;
    color: #1e1d1d !important;
}

/*Custom-select*/
.content_select select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    width: 125px;
    padding-right: 20px;
    cursor: pointer;
}

/* Eliminamos la fecha que por defecto aparece en el desplegable */
.content_select select::-ms-expand {
    display: none;
}

.content_select {
    position: relative;
}

.content_select i {
    position: absolute;
    right: 5px;
    top: 8px;
    color: #b7b7b7;
    font-size: 10px;
}

/*select.form-control:focus{
  background-color: #fff;
}*/

.form_error {
    color: #F44336;
    font-style: italic;
    font-size: 14px;
}

/*Input style*/
.floating-labels .form-group {
    position: relative;
}

.floating-labels .form-control {
    padding: 7px 5px;
    display: block;
    border: none;
    border-radius: 0px;
    border-bottom: 1px solid #bbbbbb;
    background-color: transparent;
}

.floating-labels .form-control:focus {
    -webkit-box-shadow: none;
    box-shadow: none;
}

.floating-labels select.form-control>option {
    font-size: 14px;
}

.floating-labels .has-error .form-control {
    border-bottom: 1px solid #F44336;
}

.floating-labels .has-warning .form-control {
    border-bottom: 1px solid #ffb22b;
}

.floating-labels .has-success .form-control {
    border-bottom: 1px solid #06d79c;
}

.floating-labels .form-control:focus {
    outline: none;
}

.floating-labels label {
    color: #1e1d1d;
    position: absolute;
    cursor: auto;
    top: 5px;
    -o-transition: 0.2s ease all;
    transition: 0.2s ease all;
    -moz-transition: 0.2s ease all;
    -webkit-transition: 0.2s ease all;
}

.floating-labels .bar {
    position: relative;
    display: block;
}

.floating-labels .bar:before,
.floating-labels .bar:after {
    content: '';
    height: 2px;
    width: 0;
    bottom: 0;
    position: absolute;
    background: #56c09e;
    -o-transition: 0.2s ease all;
    transition: 0.2s ease all;
    -moz-transition: 0.2s ease all;
    -webkit-transition: 0.2s ease all;
}

.floating-labels .bar:before {
    left: 50%;
}

.floating-labels .bar:after {
    right: 50%;
}

.floating-labels .form-control:focus~.bar:before,
.floating-labels .form-control:focus~.bar:after {
    width: 50%;
}

.floating-labels .form-control:focus~label {
    top: -10px;
    font-size: 12px;
    color: #263238;
}

.floating-labels .focused label {
    top: -10px;
    font-size: 12px;
    color: #263238;
}

.floating-labels .has-error.focused label {
    color: #F44336;
}

.floating-labels #row_rango label,
.floating-labels #row_rango_c label,
.floating-labels #row_rango_colab label {
    top: -10px;
}

.floating-labels input[type="file"] {
    margin-top: 12px;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    color: #455a64;
    font-family: "Montserrat", sans-serif;
    font-weight: 400;
}

h1 {
    line-height: 40px;
    font-size: 36px;
}

h2 {
    line-height: 36px;
    font-size: 24px;
}

h3 {
    line-height: 30px;
    font-size: 21px;
}

h4 {
    line-height: 22px;
    font-size: 18px;
}

h5 {
    line-height: 18px;
    font-size: 16px;
    font-weight: 400;
}

h6 {
    line-height: 16px;
    font-size: 14px;
    font-weight: 400;
}

.box {
    border-radius: 4px;
    padding: 10px;
}

.no-wrap td,
.no-wrap th {
    white-space: nowrap;
}

ol li {
    margin: 5px 0;
}

.hide {
    display: none;
}

#main-wrapper {
    width: 100%;
    overflow: hidden;
    min-height: 100vh;
}

.page-wrapper {
    background: transparent;
    padding: 45px 0;
    position: relative;
}

.page-wrapper:not(.calendar_front, .thank_page, .is_list_torneo) {
    /*padding-top: 125px;*/
}

/*Off Canvas*/
/*body.offcanvasIn{
  max-height: 100vh;
  overflow: hidden;
  transition: all .5s;
  -moz-transition: all .5s;
  -webkit-transition: all .5s;
}
body .capa_overlay{
  transition: all .25s;
  -moz-transition: all .25s;
  -webkit-transition: all .25s;
  background: rgba(0, 0, 0, 0.45);
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  z-index: 70;
  left: 0;
  visibility: hidden;
}
body.offcanvasIn .capa_overlay{
  transition: all .25s;
  -moz-transition: all .25s;
  -webkit-transition: all .25s;
  visibility: visible;
}
.offcanvas .offcanvas_head i{
  cursor: pointer;
  position: absolute;
  right: 32px;
}
.offcanvas_head .title{
  margin-bottom: 0;
  font-size: 18px;
  text-transform: capitalize;
}
.offcanvas_btn{
  color: #fff;
  font-weight: 300;
  background: #42A5F5;
  font-size: 14px;
}
.offcanvas_body{
  padding-top: 20px;
}
.offcanvas .item_list_event{
  padding: .25rem .5rem;
  margin-bottom: 15px;
  border-radius: 12px;
  font-size: 15px;
  color: #fff;
}
.offcanvas .item_list_event a{
  color: #fff;
  display: block;
}
.offcanvas_body label{
  font-size: 15px;
}*/
/*Off Canvas Detalles*/
/*.bottom-side-panel.offcanvas{
  width: 768px;
  max-width: 90%;
  padding: 30px;
  background: #fff;
  position: fixed;
  transform: translateY(265px);
  bottom: -5px;
  left: 22%;
  height: 260px;
  z-index: 200;
  transition: all .5s;
  -moz-transition: all .5s;
  -webkit-transition: all .5s;
  box-shadow: 0 0 10px -5px rgba(0,0,0,.2), 0 0 24px 2px rgba(0,0,0,.14), 0 0 30px 5px rgba(0,0,0,.12);
  -moz-box-shadow: 0 0 10px -5px rgba(0,0,0,.2), 0 0 24px 2px rgba(0,0,0,.14), 0 0 30px 5px rgba(0,0,0,.12);
  -webkit-box-shadow: 0 0 10px -5px rgba(0,0,0,.2), 0 0 24px 2px rgba(0,0,0,.14), 0 0 30px 5px rgba(0,0,0,.12);
  border-radius: 10px 10px 0 0;
}
.bottom-side-panel.offcanvas.__in{
  transform: translateY(0);
  transition: all .5s;
  -moz-transition: all .5s;
  -webkit-transition: all .5s;
}
.offcanvas.detail_event .offcanvas_body{
  display: flex;
  display: -ms-flexbox;
  justify-content: space-around;
  align-items: flex-start;
  position: relative;
  padding-top: 5px;
}
.offcanvas.detail_event #close_offcanvas_detail{
  position: absolute;
  top: -38px;
  right: -36px;
  font-size: 25px;
  cursor: pointer;
}
.offcanvas.detail_event .img_detail_event{
	width: 150px;
}
.offcanvas.detail_event .title{
  margin-bottom: 20px;
}
.offcanvas.detail_event .info_detail_event div{
  font-style: italic;
  margin-bottom: 5px;
}
.offcanvas.detail_event .horas{
  background-color: #CFD8DC;
  margin-top: 20px;
  padding: .5rem;
}*/

/*CUSTOM Checkbox*/
/* Remove default checkbox */
[type="checkbox"]:not(:checked),
[type="checkbox"]:checked {
    position: absolute;
    z-index: 20;
    height: 25px;
    width: 20px;
    cursor: pointer;
    /*left: -9999px;*/
    opacity: 0;
}

[type="checkbox"]+label {
    position: relative;
    padding-left: 30px;
    cursor: pointer;
    display: inline-block;
    height: 25px;
    /*line-height: 25px;*/
    font-size: 1rem;
    -webkit-user-select: none;
    /* webkit (safari, chrome) browsers */
    -moz-user-select: none;
    /* mozilla browsers */
    -khtml-user-select: none;
    /* webkit (konqueror) browsers */
    -ms-user-select: none;
    /* IE10+ */
}

[type="checkbox"].filled-in+label:after {
    border-radius: 2px;
}

[type="checkbox"].filled-in+label:before,
[type="checkbox"].filled-in+label:after {
    content: '';
    left: 0;
    position: absolute;
    transition: border .25s, background-color .25s, width .20s .1s, height .20s .1s, top .20s .1s, left .20s .1s;
    z-index: 1;
}

[type="checkbox"].filled-in:not(:checked)+label:before {
    width: 0;
    height: 0;
    border: 3px solid transparent;
    left: 6px;
    top: 10px;
    -webkit-transform: rotateZ(37deg);
    transform: rotateZ(37deg);
    -webkit-transform-origin: 20% 40%;
    transform-origin: 100% 100%;
}

[type="checkbox"].filled-in:not(:checked)+label:after {
    height: 20px;
    width: 20px;
    background-color: transparent;
    border: 1px solid #1d4b6b;
    top: 0px;
    z-index: 0;
}

[type="checkbox"].filled-in:checked+label:before {
    top: 0;
    left: 1px;
    width: 8px;
    height: 13px;
    border-top: 2px solid transparent;
    border-left: 2px solid transparent;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    -webkit-transform: rotateZ(37deg);
    transform: rotateZ(37deg);
    -webkit-transform-origin: 100% 100%;
    transform-origin: 100% 100%;
}

[type="checkbox"].filled-in:checked+label:after {
    top: 0;
    width: 20px;
    height: 20px;
    border: 2px solid #1d4b6b;
    background-color: #1d4b6b;
    z-index: 0;
}

[type="checkbox"].filled-in:disabled:not(:checked)+label:before {
    background-color: transparent;
    border: 2px solid transparent;
}

[type="checkbox"].filled-in:disabled:not(:checked)+label:after {
    border-color: transparent;
    background-color: #BDBDBD;
}

[type="checkbox"].filled-in:disabled:checked+label:before {
    background-color: transparent;
}

[type="checkbox"].filled-in:disabled:checked+label:after {
    background-color: #BDBDBD;
    border-color: #BDBDBD;
}

.input-group.__for_check {
    display: inline-block;
    margin-right: 25px;
    width: auto;
}


/* Boton Switch */
.switch,
.switch * {
    -webkit-user-select: none;
    -moz-user-select: none;
    -khtml-user-select: none;
    -ms-user-select: none;
}

.switch {
    display: inline-block;
}

.switch label {
    cursor: pointer;
    margin: 0;
}

.switch label input[type=checkbox] {
    opacity: 0;
    width: 0;
    height: 0;
}

.switch label input[type=checkbox]:checked+.lever {
    background-color: #e0e0e0;
}

.switch label input[type=checkbox]:checked+.lever:after {
    background-color: #1d4b6b;
    left: 24px;
}

.switch label .lever {
    content: "";
    display: inline-block;
    position: relative;
    width: 40px;
    height: 15px;
    background-color: #818181;
    border-radius: 15px;
    margin-right: 10px;
    -webkit-transition: background 0.3s ease;
    -o-transition: background 0.3s ease;
    transition: background 0.3s ease;
    vertical-align: middle;
    margin: 0 16px;
}

.switch label .lever:after {
    content: "";
    position: absolute;
    display: inline-block;
    width: 21px;
    height: 21px;
    background-color: #F1F1F1;
    border-radius: 21px;
    -webkit-box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.4);
    box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.4);
    left: -5px;
    top: -3px;
    -webkit-transition: left 0.3s ease, background .3s ease, -webkit-box-shadow 0.1s ease;
    transition: left 0.3s ease, background .3s ease, -webkit-box-shadow 0.1s ease;
    -o-transition: left 0.3s ease, background .3s ease, box-shadow 0.1s ease;
    transition: left 0.3s ease, background .3s ease, box-shadow 0.1s ease;
    transition: left 0.3s ease, background .3s ease, box-shadow 0.1s ease, -webkit-box-shadow 0.1s ease;
}

input[type=checkbox]:checked:not(:disabled)~.lever:active::after,
input[type=checkbox]:checked:not(:disabled).tabbed:focus~.lever::after {
    -webkit-box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.4), 0 0 0 15px rgba(38, 166, 154, 0.1);
    box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.4), 0 0 0 15px rgba(38, 166, 154, 0.1);
}

input[type=checkbox]:not(:disabled)~.lever:active:after,
input[type=checkbox]:not(:disabled).tabbed:focus~.lever::after {
    -webkit-box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.4), 0 0 0 15px rgba(0, 0, 0, 0.08);
    box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.4), 0 0 0 15px rgba(0, 0, 0, 0.08);
}

.switch input[type=checkbox][disabled]+.lever {
    cursor: default;
}

.switch label input[type=checkbox][disabled]+.lever:after,
.switch label input[type=checkbox][disabled]:checked+.lever:after {
    background-color: #BDBDBD;
}


/*******************
Labels
*******************/
.label {
    padding: 3px 10px;
    line-height: 13px;
    color: #ffffff;
    font-weight: 300;
    border-radius: 5px;
    font-size: 75%;
    display: inline-block;
}

.label.statu.__cancelado {
    background-color: #F44336;
}

.label.statu.__pagado {
    background-color: #00C853;
}

.label.statu.__enviado {
    background-color: #CDDC39;
}

.label.__edit {
    background-color: #1d4b6b;
}
/*Badge*/
.badge {
    font-weight: 400;
}


/*******************
Registro & Login
*****************/
#login.page_registro {
    max-height: 100vh;
    overflow: hidden;
}

.page_registro {
    margin: 0;
}

.registro_area {
    display: flex;
    display: -ms-flexbox;
    min-height: 100vh;
}

.img_details {
    width: 65%;
    max-width: 65%;
    flex: 0 1 65%;
}

#login .img_details img {
    object-fit: cover;
    width: 100%;
}

.regis_details {
    width: 35%;
    max-width: 35%;
    flex: 0 1 35%;
    padding: 2rem;
    background-color: #f1f1f1;
    -webkit-box-shadow: 0 0 0 0 rgba(0, 0, 0, 0), -6px 0 8px -4px rgba(0, 0, 0, 0.75);
    -moz-box-shadow: 0 0 0 0 rgba(0, 0, 0, 0), -6px 0 8px -4px rgba(0, 0, 0, 0.75);
    box-shadow: 0 0 0 0 rgba(0, 0, 0, 0), -6px 0 8px -4px rgba(0, 0, 0, 0.75);
}

.regis_details .heading_brand {
    margin-bottom: 30px;
    text-align: center;
    text-align: -webkit-center;
}

.regis_details .login_text {
    text-align: center;
    margin-bottom: 15px;
    font-weight: 400;
    font-size: 26px;
}

.regis_details .register_text {
    text-align: center;
    margin-bottom: 30px;
    font-weight: 400;
    font-size: 16px;
}

.regis_details .register_text>a {
    color: #56c09e;
    font-weight: 500;
}

.regis_details ::placeholder {
    color: #BDBDBD;
}

#s_pass_regi {
    font-style: italic;
    color: #BDBDBD;
    padding-left: 10px;
}

#btn_login {
    display: block;
    width: 100%;
    border-radius: 45px;
    background-color: #56c09e;
    color: #1e1d1d;
    text-transform: uppercase;
    font-weight: 500;
}

#login .form-control#password {
    padding: 7px 30px 7px 5px;
}

#visi_pass {
    cursor: pointer;
}

#login #visi_pass {
    position: absolute;
    top: 10px;
    right: 7px;
}

#recover_pass {
    float: left;
    font-weight: 300;
    margin-top: 12px;
    font-style: italic;
}

#recover_pass a {
    color: #545353;
}

#btn_lgt {
    border: 0;
    text-decoration: underline;
    color: #1e1d1d;
    cursor: pointer;
}

/*******************
Menu Topbar & Side
******************/
#menu_lateral {
    position: fixed;
    width: 210px;
    height: 100%;
    top: 0;
    left: 0;
    padding: 15px .75rem;
    z-index: 10;
    background-color: #fff;
    -webkit-box-shadow: 4px 0px 11px -2px rgb(0 0 0 / 15%);
    -moz-box-shadow: 4px 0px 11px -2px rgb(0 0 0 / 15%);
    box-shadow: 4px 0px 11px -2px rgb(0 0 0 / 15%);
}

.navbar-header {
    text-align: center;
}

.is_logo {
    width: 150px;
    margin: 0 auto;
}

#menu_lateral .menu {
    height: 58%;
    padding-top: 15px;
    padding-bottom: 15px;
}

#menu_lateral .menu ul {
    width: 100%;
    max-width: 100%;
}

.menu_divider {
    height: 0;
    width: 100%;
    margin: 0;
    border-top: 1px solid rgba(86, 192, 158, 0.5);
}

.perfil_header {
    text-align: center;
}

.perfil_header img {
    width: 80px;
    max-width: 80px;
    height: 80px;
    object-fit: cover;
    margin: 0 auto;
    border-radius: 100%;
}

.perfil_header span {
    font-size: 16px;
    display: block;
    padding: 6px 0;
}

.ti-power-off {
    color: #768d9b;
    font-weight: 600;
}

.ti-power-off:hover {
    color: #56c09e;
}

#dropdownMenu {
    right: 0;
    z-index: 50;
}


/********
Cards
*********/
.card {
    position: relative;
}

.card_container {
    border: 0px;
    border-radius: 0px;
    -webkit-box-shadow: none;
    box-shadow: none;
    background-color: #ECEFF1;
}

/*Cambiar contraseña*/
.change_my_pass .form-control {
    font-weight: 300px;
    border-radius: 0;
}
.change_my_pass .card {
    padding: 1.25rem;
}
#reset_pass {
    background-color: #1d4b6b;
    color: #fff;
    font-weight: 300;
    border-radius: 0;
    margin-top: 20px;
}


/*******************
Tables
*******************/
.vm.table td,
.vm.table th {
    vertical-align: middle;
}

.no-th-brd.table th,
.no-th-brd.table tr,
.no-th-brd.table td {
    border: 0px;
}

.table thead th {
    border-bottom: 2px solid #2a95c3;
    border-top: 0;
    font-weight: 500;
    color: #14405d;
    font-size: 16px;
}

.table th,
.table td {
    border-top: 1px solid #BDBDBD;
    border-bottom: 1px solid #BDBDBD;
    font-weight: 400;
    padding: 0.875rem 0.5rem;
    text-align: center;
    font-size: 14px;
}

.pagination .page-item.active>.page-link {
    background-color: #678391;
    border-color: #678391;
}

/****Filtro de listado****/
.top_table {
    margin-bottom: 35px;
}

.top_table form {
    display: flex;
    justify-content: space-between;
    align-content: center;
}

.top_table form .form-control {
    margin: 0 5px;
}

.top_table form button.form-control {
    width: 100px;
    background: #1d4b6b;
    color: #fff;
}

/*Buscador
.buscador {
    text-align: right;
    position: relative;
}

.buscador .form-control {
    width: 225px;
    max-width: 100%;
    display: inline-block;

    white-space: nowrap;
    border: 0;
    background-image: -webkit-gradient(linear, left top, left bottom, from(#398bf7), to(#398bf7)), -webkit-gradient(linear, left top, left bottom, from(#b1b8bb), to(#b1b8bb));
    background-image: -webkit-linear-gradient(#398bf7, #398bf7), -webkit-linear-gradient(#b1b8bb, #b1b8bb);
    background-image: -o-linear-gradient(#398bf7, #398bf7), -o-linear-gradient(#b1b8bb, #b1b8bb);
    background-image: linear-gradient(#398bf7, #398bf7), linear-gradient(#b1b8bb, #b1b8bb);
    background-size: 0 2px, 100% 1px;
    background-repeat: no-repeat;
    background-position: center bottom, center calc(100% - 1px);
    background-color: transparent;
    -webkit-transition: background 0s ease-out;
    -o-transition: background 0s ease-out;
    transition: background 0s ease-out;
    -webkit-box-shadow: none;
    box-shadow: none;
    border-radius: 0;
}

.buscador input.table_filter:focus {
    outline: none;
    background-image: -webkit-gradient(linear, left top, left bottom, from(#678391), to(#678391)), -webkit-gradient(linear, left top, left bottom, from(#b1b8bb), to(#b1b8bb));
    background-image: -webkit-linear-gradient(#678391, #678391), -webkit-linear-gradient(#b1b8bb, #b1b8bb);
    background-image: -o-linear-gradient(#678391, #678391), -o-linear-gradient(#b1b8bb, #b1b8bb);
    background-image: linear-gradient(#678391, #678391), linear-gradient(#b1b8bb, #b1b8bb);
    background-size: 100% 2px, 100% 1px;
    -webkit-box-shadow: none;
    -webkit-transition-duration: 0.3s;
    -o-transition-duration: 0.3s;
    transition-duration: 0.3s;
    border: 0;
}*/


/*************
Form Material
***************/
/*.form-material .form-group {
    overflow: hidden;
}

.form-material .form-row {
    margin-bottom: 1rem;
}

.form-material .form-control {
    background-color: rgba(0, 0, 0, 0);
    background-position: center bottom, center calc(100% - 1px);
    background-repeat: no-repeat;
    background-size: 0 2px, 100% 1px;
    padding: 0;
    -webkit-transition: background 0s ease-out 0s;
    -o-transition: background 0s ease-out 0s;
    transition: background 0s ease-out 0s;
}

.form-material .form-control,
.form-material .form-control.focus,
.form-material .form-control:focus {
    background-image: -webkit-gradient(linear, left top, left bottom, from(#398bf7), to(#398bf7)), -webkit-gradient(linear, left top, left bottom, from(#e9edf2), to(#e9edf2));
    background-image: -webkit-linear-gradient(#398bf7, #398bf7), -webkit-linear-gradient(#e9edf2, #e9edf2);
    background-image: -o-linear-gradient(#398bf7, #398bf7), -o-linear-gradient(#e9edf2, #e9edf2);
    background-image: linear-gradient(#398bf7, #398bf7), linear-gradient(#e9edf2, #e9edf2);
    border: 0 none;
    border-radius: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
    float: none;
}

.form-material .form-control.focus,
.form-material .form-control:focus {
    background-size: 100% 2px, 100% 1px;
    outline: 0 none;
    -webkit-transition-duration: 0.3s;
    -o-transition-duration: 0.3s;
    transition-duration: 0.3s;
}

.form-control-line .form-group {
    overflow: hidden;
}

.form-control-line .form-control {
    border: 0px;
    border-radius: 0px;
    padding-left: 0px;
    border-bottom: 1px solid #f6f9ff;
}

.form-control-line .form-control:focus {
    border-bottom: 1px solid #398bf7;
}

.form-material ::placeholder {
    opacity: .55;
}

.form-material [type="submit"] {
    width: 100%;
    text-transform: uppercase;
    background-color: #00E676;
    color: #fff;
}

.form-material .form-control.is-invalid,
.form-material .form-control.focus.is-invalid,
.form-material .form-control:focus.is-invalid {
    background-image: -webkit-gradient(linear, left top, left bottom, from(#dc3545), to(#dc3545)), -webkit-gradient(linear, left top, left bottom, from(#dc3545), to(#dc3545));
    background-image: -webkit-linear-gradient(#dc3545, #dc3545), -webkit-linear-gradient(#dc3545, #dc3545);
    background-image: -o-linear-gradient(#dc3545, #dc3545), -o-linear-gradient(#dc3545, #dc3545);
    background-image: linear-gradient(#dc3545, #dc3545), linear-gradient(#dc3545, #dc3545);
}*/


/*******************
Form Pickers
******************/
/*.asColorPicker-dropdown {
    max-width: 260px;
}

.asColorPicker-trigger {
    position: absolute;
    top: 0;
    right: -35px;
    height: 38px;
    width: 37px;
    border: 0;
}

.asColorPicker-clear {
    display: none;
    position: absolute;
    top: 5px;
    right: 10px;
    text-decoration: none;
}

.daterangepicker td.active,
.daterangepicker td.active:hover {
    background-color: #398bf7;
}

.datepicker table tr td.today,
.datepicker table tr td.today.disabled,
.datepicker table tr td.today.disabled:hover,
.datepicker table tr td.today:hover {
    background: #398bf7;
    color: #ffffff;
}

.datepicker td,
.datepicker th {
    padding: 5px 10px;
}*/


/*==============================================================
Select2
============================================================== */
/*.select2-container--default .select2-selection--single {
    border-color: #b1b8bb;
    height: 38px;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 38px;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 33px;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
    float: right;
    color: #ffffff;
    margin-right: 0px;
    margin-left: 4px;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice {
    background: #398bf7;
    color: #ffffff;
    border-color: #398bf7;
}

.input-form .btn {
    padding: 8px 12px;
}*/


/*******************
Table-Data Table
******************/
/*.dataTables_wrapper {
  padding-top: 10px; }

.dt-buttons {
  display: inline-block;
  padding-top: 5px;
  margin-bottom: 15px; }
  .dt-buttons .dt-button {
    padding: 5px 15px;
    border-radius: 4px;
    background: #398bf7;
    color: #ffffff;
    margin-right: 3px; }
    .dt-buttons .dt-button:hover {
      background: #2f3d4a; }

.dataTables_info,
.dataTables_length {
  display: inline-block; }

.dataTables_length {
  margin-top: 10px; }
  .dataTables_length select {
    border: 0;
    background-image: -webkit-gradient(linear, left top, left bottom, from(#398bf7), to(#398bf7)), -webkit-gradient(linear, left top, left bottom, from(#b1b8bb), to(#b1b8bb));
    background-image: -webkit-linear-gradient(#398bf7, #398bf7), -webkit-linear-gradient(#b1b8bb, #b1b8bb);
    background-image: -o-linear-gradient(#398bf7, #398bf7), -o-linear-gradient(#b1b8bb, #b1b8bb);
    background-image: linear-gradient(#398bf7, #398bf7), linear-gradient(#b1b8bb, #b1b8bb);
    background-size: 0 2px, 100% 1px;
    background-repeat: no-repeat;
    background-position: center bottom, center calc(100% - 1px);
    background-color: transparent;
    -webkit-transition: background 0s ease-out;
    -o-transition: background 0s ease-out;
    transition: background 0s ease-out;
    padding-bottom: 5px; }
    .dataTables_length select:focus {
      outline: none;
      background-image: -webkit-gradient(linear, left top, left bottom, from(#398bf7), to(#398bf7)), -webkit-gradient(linear, left top, left bottom, from(#b1b8bb), to(#b1b8bb));
      background-image: -webkit-linear-gradient(#398bf7, #398bf7), -webkit-linear-gradient(#b1b8bb, #b1b8bb);
      background-image: -o-linear-gradient(#398bf7, #398bf7), -o-linear-gradient(#b1b8bb, #b1b8bb);
      background-image: linear-gradient(#398bf7, #398bf7), linear-gradient(#b1b8bb, #b1b8bb);
      background-size: 100% 2px, 100% 1px;
      -webkit-box-shadow: none;
      box-shadow: none;
      -webkit-transition-duration: 0.3s;
      -o-transition-duration: 0.3s;
      transition-duration: 0.3s; }

.dataTables_filter {
  float: right;
  margin-top: 10px; }
  .dataTables_filter input {
    border: 0;
    background-image: -webkit-gradient(linear, left top, left bottom, from(#398bf7), to(#398bf7)), -webkit-gradient(linear, left top, left bottom, from(#b1b8bb), to(#b1b8bb));
    background-image: -webkit-linear-gradient(#398bf7, #398bf7), -webkit-linear-gradient(#b1b8bb, #b1b8bb);
    background-image: -o-linear-gradient(#398bf7, #398bf7), -o-linear-gradient(#b1b8bb, #b1b8bb);
    background-image: linear-gradient(#398bf7, #398bf7), linear-gradient(#b1b8bb, #b1b8bb);
    background-size: 0 2px, 100% 1px;
    background-repeat: no-repeat;
    background-position: center bottom, center calc(100% - 1px);
    background-color: transparent;
    -webkit-transition: background 0s ease-out;
    -o-transition: background 0s ease-out;
    transition: background 0s ease-out;
    float: none;
    -webkit-box-shadow: none;
    box-shadow: none;
    border-radius: 0;
    margin-left: 10px; }
    .dataTables_filter input:focus {
      outline: none;
      background-image: -webkit-gradient(linear, left top, left bottom, from(#398bf7), to(#398bf7)), -webkit-gradient(linear, left top, left bottom, from(#b1b8bb), to(#b1b8bb));
      background-image: -webkit-linear-gradient(#398bf7, #398bf7), -webkit-linear-gradient(#b1b8bb, #b1b8bb);
      background-image: -o-linear-gradient(#398bf7, #398bf7), -o-linear-gradient(#b1b8bb, #b1b8bb);
      background-image: linear-gradient(#398bf7, #398bf7), linear-gradient(#b1b8bb, #b1b8bb);
      background-size: 100% 2px, 100% 1px;
      -webkit-box-shadow: none;
      box-shadow: none;
      -webkit-transition-duration: 0.3s;
      -o-transition-duration: 0.3s;
      transition-duration: 0.3s; }

table.dataTable thead .sorting,
table.dataTable thead .sorting_asc,
table.dataTable thead .sorting_desc,
table.dataTable thead .sorting_asc_disabled,
table.dataTable thead .sorting_desc_disabled {
  background: transparent; }

.dataTables_wrapper .dataTables_paginate {
  float: right;
  text-align: right;
  padding-top: 0.25em; }

.dataTables_wrapper .dataTables_paginate .paginate_button {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: inline-block;
  min-width: 1.5em;
  padding: 0.5em 1em;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  *cursor: hand;
  color: #67757c;
  border: 1px solid #ddd; }

.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
  color: #ffffff !important;
  border: 1px solid #398bf7;
  background-color: #398bf7; }

.dataTables_wrapper .dataTables_paginate .paginate_button.disabled,
.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover,
.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:active {
  cursor: default;
  color: #67757c;
  border: 1px solid #ddd;
  background: transparent;
  -webkit-box-shadow: none;
  box-shadow: none; }

.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
  color: white;
  border: 1px solid #398bf7;
  background-color: #398bf7; }

.dataTables_wrapper .dataTables_paginate .paginate_button:active {
  outline: none;
  background-color: #67757c; }

.dataTables_wrapper .dataTables_paginate .ellipsis {
  padding: 0 1em; }
*/


/****************Checkout Area************************/
.page_checkout{
  margin: 0;
}
.checkout_area{
  display: flex;
  display: -ms-flexbox;
  height: 100vh;
  overflow: hidden;
}
.data_details{
  padding: 2rem 4rem;
  width: 100%;
  max-width: 100%;
  overflow-y: auto;
  height: 100%;
}
.data_details::-webkit-scrollbar {
  width: 6px;
}

.data_details::-webkit-scrollbar-thumb {
  background: transparent;
  border-radius: 3px;
}

.data_details:hover::-webkit-scrollbar-thumb {
  background: rgba(0,0,0,0.3);
}

.data_details:hover::-webkit-scrollbar-thumb {
  background: rgba(0,0,0,0.2);
}

.data_details::-webkit-scrollbar-thumb:hover {
  background: rgba(0,0,0,0.4);
}

.data_details .heading_brand{
  margin-bottom: 40px;
  text-align: center;
}
.data_details form .form-control,
#haveCupon form .form-control {
  height: 42px;
  border: 1px solid #E0E0E0;
  background-color: transparent;
  border-radius: 0;
  font-size: 14px;
}
.data_details ::placeholder,
#haveCupon ::placeholder{
  color: #BDBDBD;
}
.data_details form .form-control:focus,
#haveCupon form .form-control:focus {
  border: 1px solid #90A4AE;
  box-shadow: none;
}
.to_back{
  margin-top: 15px;
  color: rgba(0,0,0,0.25);
}
.to_back a{
  color: rgba(0,0,0,0.35);
}
.to_back a i{
  color: #B0BEC5;
}
/*Carrito*/
.number_items_pay{
  color: rgba(0, 0, 0, 0.35);
  float: right;
}
.item_product_pay{
  display: flex;
  display: -ms-flexbox;
  justify-content: space-between;
  flex-direction: row;
  position: relative;
  padding-bottom: 15px;
  border-bottom: 1px solid #BDBDBD;
  margin-bottom: 15px;
  height: 75px;
}
.item_product_pay:last-child{
  padding-bottom: 0;
  border-bottom: 0;
  margin-bottom: 0;
}
.img_item_product_pay{
  flex: 1 0 15%;
  width: 15%;
  max-width: 15%;
  overflow: hidden;
  background-size: cover;
  background-position: center;
}
.info_item_product_pay{
  flex: 1 0 65%;
  width: 65%;
  max-width: 65%;
  padding: 0 .75rem;
  display: flex;
  display: -ms-flexbox;
  flex-direction: column; 
  flex-wrap: nowrap;
}
.info_item_product_pay .name_product{
  margin-bottom: 2px;
  color: #080808;
  font-size: 17px;
  text-transform: uppercase;
}
.info_item_product_pay .cant_prod {
  width: 114px;
}
.info_price_product_pay{
  flex: 1 0 20%;
  width: 20%;
  max-width: 20%;
}
.info_price_product_pay .price_product{
	text-align: right;
}
.delete_item_product{
  color: #BDBDBD;
}
.delete_item_product:hover{
  color: #F44336;
}

/*****Cantidad - qty_product********/
.qty_product.input-group{
    width: 75px;
}
.input-group span.input-group-btn,
.input-group input,
.input-group button{
  display: block;
  margin: 0;
    padding: 0;
    background: none;
    border: none;
}
.qty_product .fa-minus, .qty_product .fa-plus{
  color: #BDBDBD;
  font-size: 13px;
    font-weight: 100;
}
.qty_product.input-group input{
  max-width: 34px;
  font-size: 14px;
}

.order_details {
  width: 100%;
  border-left: 1px solid #CFD8DC;
  background-color: #eee;
  padding: 50px;
  max-width: 525px;
  /*min-height: 100vh;*/
  position: sticky;
  top: 0;
  height: 100%;
}
.order_details .cliente_details{
	margin-bottom: 15px;
}
.checkout_area .separate{
	width: 100%;
	height: 1px;
	background-color: #080808;
	margin: .975rem 0;
}
/*.have_cupon{
  border-bottom: 1px solid #BDBDBD;
  padding: 15px 0 5px;
  margin-bottom: 15px;
  cursor: pointer;
}
.have_cupon p{
  font-size: 14px;
  font-weight: 600;
}
#haveCupon{
  padding-bottom: 15px;
}
.have_cupon form{
  display: flex;
  display: -ms-flexbox;
  justify-content: space-between;
  align-items: center;
}
#haveCupon form .form-control {
  background-color: #fff;
}
.cupon_btn{
  background-color: #607D8B;
  color: #fff;
  margin-left: 15px;
  border-radius: 0;
}*/

.order_details .account_details{
  margin-bottom: 22px;
}
.order_details .account_details li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  -ms-grid-row-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-bottom: 0;
  font-size: 12px;
  text-transform: uppercase;
  padding: 10px 0;
  font-weight: 400;
}
.order_details .account_details li.the_total {
  font-weight: 700;
  font-size: 14px;
}
/*.order_details .icons_secure_pay img{
  width: 75%;
  opacity: .3;
  display: block;
  margin: 0 auto;
}*/
.order_method_pay{
  padding: 1.25rem;
  margin: 17px 0 0;
}
.method_pay:not(:last-child){
  margin-bottom: 15px;
}
.order_method_pay h6 {
  font-size: 14px;
  text-transform: uppercase;
  font-weight: 600;
}
.order_method_pay h6 i {
  color: #BDBDBD;
}
.order_method_pay .method_pay p {
  font-size: 14px;
  line-height: 1.2;
  color: rgba(0,0,0,0.4);
}
#checkoutButton{
  display: block;
  width: 100%;
  margin-top: 20px;
  -webkit-box-shadow: 1px 2px 5px 0px rgba(0,0,0,0.75);
  -moz-box-shadow: 1px 2px 5px 0px rgba(0,0,0,0.75);
  box-shadow: 1px 2px 5px 0px rgba(0,0,0,0.75);
  padding: .5rem .75rem;
  background-color: #56c09e;
  color: #000;
  text-transform: uppercase;
}

/*Thank page*/
/*.thank_brand{
  margin: 25px 0;
}
.thank_head p{
  text-transform: uppercase;
  font-weight: 600;
  font-size: 18px;
  font-style: italic;
  border-bottom: 1px solid #67757c;
  padding: 0 2rem 15px;
  margin-bottom: 28px;
  width: auto;
  max-width: 100%;
  display: inline-block;
}
.thank_head h1{
  text-transform: uppercase;
  font-size: 52px;
  font-weight: 700;
}
.thank_text{
  margin: 40px 0 27px;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.5;
}
.thank_social{
  font-size: 20px;
  margin-bottom: 10px;
}*/

/************************ADMIN*******************/
.btn_ccoll {
    padding: 10px 24px;
    border: 2px solid #080808;
    /* Gris del borde */
    border-radius: 6px;
    /* Esquinas suaves */
    background-color: transparent;
    color: #080808;
    /* Mismo color que el borde */
    font-weight: 600;
    letter-spacing: .5px;
    transition: all .2s ease;
}

.btn_ccoll:hover {
    color: #56c09e;
    border-color: #56c09e;
}

.swal2-actions > button{
	background-color: #56c09e;
	color: #080808;
}

/***LANDING***/
/*.hero_img {
    border-radius: 58px;
    overflow: hidden;
    height: 430px;
    width: 100%;
    margin-bottom: 45px;
}*/
.hero_img .dropdown-select{
  position: relative;
  width: 75%;
  max-width: 100%;
  margin: 0 auto 44px;
  z-index: 10;
}
.hero_img .dropdown-select__trigger{
  width: 100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding: .375rem .75rem;
  font-size: 42px;
  line-height: 1.5;
  background-color: #fff;
  border-bottom: 1px solid #080808;
  cursor: pointer;
  user-select:none;
}
.hero_img .dropdown-select__value{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  flex: 1;
}
.hero_img .dropdown-select__placeholder,
.hero_img .dropdown-select__selected{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  width: 100%;
  text-align:left;
}
.hero_img .dropdown-select__placeholder{
  color: var(--bs-muted);
}
.hero_img .dropdown-select__caret{
  width: 10px;
  height: 10px;
  border-right: 2px solid #080808;
  border-bottom: 2px solid #080808;
  transform: rotate(45deg);
  margin-top: -2px;
  opacity: .8;
  flex: 0 0 auto;
  transition: transform .15s ease;
}
.hero_img .dropdown-select.is-open .dropdown-select__caret{
  transform: rotate(-135deg);
  margin-top: 2px;
}
.hero_img .dropdown-select__menu{
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  width: 100%;
  background: #fff;
  border: 1px solid #080808;
  border-radius: var(--bs-border-radius);
  box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;
  padding: .25rem 0;
  opacity: 0;
  transform: translateY(-6px);
  pointer-events: none;
  transition: opacity .15s ease, transform .15s ease;
}
.hero_img .dropdown-select.is-open .dropdown-select__menu{
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
.hero_img .dropdown-select__list{
  list-style:none;
  margin: 0;
  padding: 0;
  max-height: 240px;
  overflow:auto;
}

.hero_img .dropdown-select__option{
  padding: .5rem .975rem;
  font-size: 22px;
  cursor:pointer;
  display:flex;
  justify-content:space-between;
  align-items:center;
}
.hero_img .dropdown-select__option:hover{
  background: rgb(249 183 63 / 18%);
}
.hero_img .dropdown-select__option[aria-selected="true"]{
  background: rgb(249 183 63 / 18%);
}
/* Utilidad */
.sr-only{
  position:absolute!important;
  width:1px;height:1px;
  padding:0;margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

/*Filtro Categorías*/
.menu_filter_prod {
    overflow-x: auto;
    background-color: #56c09e;
    box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
    border-radius: .5rem;
    color: #080808;
}
.menu_filter_prod>a {
    color: #080808;
}
.menu_filter_prod>a.is_active {
    font-weight: 900;
    text-decoration: underline;
}
/*Productos*/
.grid_prod {
    margin: 45px auto;
}
.block_prod {
    margin-bottom: 34px;
}
.block_prod_inner {
    position: relative;
    width: 245px;
    height: 345px;
    border-radius: 14px;
    margin: 0 auto;
    background-color: rgb(86 192 158 / 20%);
    box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;
}
.selector_and_add_to_cart {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin-top: 1rem;
    width: 100%;
    padding: 0 0.5rem;
}
.img_prod{
  position: relative;
  height: 160px;
}
.price_prod {
    margin-top: 10px;
    font-weight: 700;
    color: #56c09e;
    font-size: 22px;
    padding: 0 .75rem;
}

.info_prod>h3 {
    font-weight: 400;
    line-height: 1.45;
    padding: 0 .75rem;
}
.info_prod>span{
    padding: 0 .75rem;
}
.cant_prod{
  display: flex;
  display: -ms-flexbox;
  align-items: center;
  border: 1px solid #d1d5db;
  border-radius: 0.5rem;
  overflow: hidden;
}
.cant_prod > button{
  padding: .5rem .75rem;
  background-color: #f3f4f6;
  font-weight: 600;
  color: #374151;
  border: none;
  cursor: pointer;
}
.cant_prod > span{
  padding: .65rem 1rem;
  background-color: #fff;
  min-width: 3rem;
  text-align: center;
  font-weight: 600;
  font-size: 13px;
}
.add_prod {
    padding: .5rem .75rem;
    background-color: #56c09e;
    color: #000;
    border-radius: 50%;
}
#btn_volver {
    cursor: pointer;
    color: #B0BEC5;
}


/***Perfil y pedidos***/
.page_profile .block_data>span {
    display: block;
}

/***Favoritos***/
.page_favorites .menu_filter_prod{
    margin-top: 28px;
}

/***Go to top***/
#goTopBtn{
    position: fixed;
    bottom: 2rem;
    right: 2rem;
    z-index: 9999;
    width: 3rem;
    display: none;
    background-color: #fff;
    color: #56c09e;
    border: 1px solid #56c09e;
    border-radius: 9999px;
    padding: .65rem .875rem;
    cursor: pointer;
    box-shadow: 0 4px 12px rgba(0,0,0,0.2);
    transition: opacity 0.3s, transform 0.3s;
}

/* ===== Login page (redesign) ===== */
.mp-login-body {
    margin: 0;
    padding: 0;
    background: linear-gradient(135deg, #eef4f9 0%, #dce8f2 50%, #e9f4f0 100%);
    min-height: 100vh;
}

.mp-login-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
    padding: 2rem;
}

.mp-login-form {
    width: 100%;
    max-width: 420px;
}

.mp-login-card {
    background: #fff;
    border-radius: 1rem;
    padding: 2.5rem 2rem;
    box-shadow: 0 1px 3px rgba(0,0,0,0.06), 0 8px 24px rgba(0,0,0,0.04);
}

.mp-login-brand {
    text-align: center;
    margin-bottom: 2rem;
}

.mp-login-brand img {
    height: 52px;
    width: auto;
}

.mp-login-title {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--mp-text-primary, #1e1e1e);
    margin-bottom: 0.25rem;
    text-align: center;
}

.mp-login-subtitle {
    font-size: 0.875rem;
    color: var(--mp-text-muted, #6b7280);
    text-align: center;
    margin-bottom: 2rem;
}

.mp-login-field {
    margin-bottom: 1.25rem;
}

.mp-login-label {
    display: block;
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--mp-text-primary, #1e1e1e);
    margin-bottom: 0.375rem;
}

.mp-login-input-wrapper {
    position: relative;
}

.mp-login-input-wrapper > i {
    position: absolute;
    left: 0.875rem;
    top: 50%;
    transform: translateY(-50%);
    color: var(--mp-text-muted, #9ca3af);
    font-size: 1rem;
    pointer-events: none;
}

.mp-login-input-wrapper .form-control {
    padding: 0.625rem 0.875rem 0.625rem 2.5rem;
    border: 1.5px solid var(--mp-border-color, #e5e7eb);
    border-radius: 0.625rem;
    font-size: 0.9375rem;
    background: var(--mp-bg-input, #f9fafb);
    color: var(--mp-text-primary, #1e1e1e);
    transition: border-color 0.2s, box-shadow 0.2s;
    height: auto;
}

.mp-login-input-wrapper .form-control:focus {
    border-color: var(--mp-primary, #1d4b6b);
    box-shadow: 0 0 0 3px rgba(29, 75, 107, 0.12);
    background: #fff;
}

.mp-login-input-wrapper .form-control::placeholder {
    color: var(--mp-text-muted, #d1d5db);
}

.mp-login-pw-toggle {
    position: absolute;
    right: 0.75rem;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    padding: 0.25rem;
    cursor: pointer;
    color: var(--mp-text-muted, #9ca3af);
    font-size: 1rem;
    line-height: 1;
}

.mp-login-pw-toggle:hover {
    color: var(--mp-text-primary, #1e1e1e);
}

.mp-login-help {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    margin-top: 1.5rem;
    font-size: 0.8125rem;
    color: var(--mp-text-muted, #6b7280);
    text-align: center;
}

.mp-login-help i {
    font-size: 0.875rem;
    flex-shrink: 0;
}

.mp-login-footer {
    margin-top: 1.5rem;
    font-size: 0.75rem;
    color: var(--mp-text-muted, #adb5bd);
    text-align: center;
}

@media (max-width: 575.98px) {
    .mp-login-wrapper { padding: 1rem; }
    .mp-login-card { padding: 1.75rem 1.25rem; }
}