/* Etapa 5 - Ajustes generales modernos para shop, productos, carrito, checkout y cuenta.
   Archivo separado para no modificar CSS minificado del tema. */
#wrapper.blue,
#wrapper,
body {
    background: #f5f7fb;
}

.page-contents.smi-shop-page,
.page-contents {
    background: linear-gradient(180deg, #ffffff 0%, #f5f7fb 125px, #f5f7fb 100%);
    padding: 24px 0 48px;
}

.page-contents .panel,
.page-contents .well,
.page-contents .link-address,
.page-contents #sticky-con .list-group,
.page-contents #grid-selector {
    border-radius: 18px;
    border: 1px solid rgba(15, 23, 42, .10);
    box-shadow: 0 12px 30px rgba(15, 23, 42, .06);
}

.page-contents .panel {
    overflow: hidden;
    background: #fff;
}

.page-contents .panel-heading {
    background: #fff !important;
    border-bottom: 1px solid rgba(15, 23, 42, .08) !important;
    padding: 15px 18px;
    font-size: 15px;
}

.page-contents .panel-body {
    padding: 18px;
}

.page-contents .well {
    background: #f8fafc;
    border-color: rgba(15, 23, 42, .08);
}

.page-contents .btn,
.page-contents .form-control,
.page-contents .bootstrap-select > .btn,
.page-contents .input-group-addon {
    border-radius: 12px;
}

.page-contents .btn-primary,
.page-contents .btn-theme,
.page-contents .add-to-cart {
    border: 0;
    background: #1f6feb !important;
    color: #fff !important;
    font-weight: 700;
    box-shadow: 0 9px 22px rgba(31, 111, 235, .22);
}

.page-contents .btn-primary:hover,
.page-contents .btn-theme:hover,
.page-contents .add-to-cart:hover {
    background: #144db3 !important;
    color: #fff !important;
}

.page-contents .btn-danger {
    border: 0;
    border-radius: 12px;
}

.page-contents .form-control {
    min-height: 40px;
    border-color: rgba(15, 23, 42, .16);
    box-shadow: none;
}

.page-contents .form-control:focus {
    border-color: #1f6feb;
    box-shadow: 0 0 0 3px rgba(31,111,235,.12);
}

/* Productos */
.smi-products-page #sticky-con .title,
.smi-products-page h4.title,
.smi-products-page h5.title {
    margin-top: 0;
    color: #172033;
}

.smi-products-page #sticky-con .list-group {
    overflow: hidden;
    background: #fff;
}

.smi-products-page #sticky-con .list-group-item {
    border-color: rgba(15, 23, 42, .08);
}

.smi-products-page #grid-selector {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    background: #fff;
    padding: 12px 15px;
    margin: 18px 0 20px;
}

.smi-products-page #grid-menu ul,
.smi-products-page #grid-menu li {
    margin-bottom: 0;
}

.smi-products-page #results.grid,
.smi-products-page #results.list {
    margin-top: 8px;
}

.smi-products-page #results .product,
.featured-products .product {
    overflow: hidden;
    border-radius: 20px;
    border: 1px solid rgba(15, 23, 42, .10);
    background: #fff;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .06);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.smi-products-page #results .product:hover,
.featured-products .product:hover {
    transform: translateY(-3px);
    border-color: rgba(31,111,235,.26);
    box-shadow: 0 16px 38px rgba(15, 23, 42, .10);
}

.smi-products-page #results .product .details,
.featured-products .product .details {
    background: #fff;
}

.smi-products-page #results .product img,
.featured-products .product img {
    width: 100%;
    max-height: 230px;
    object-fit: contain;
    background: #f8fafc;
    padding: 14px;
}

.smi-products-page #results .product .stats-container,
.featured-products .product .stats-container {
    padding: 14px 15px 16px;
}

.smi-products-page #results .product .product_price,
.featured-products .product .product_price {
    color: #1f6feb;
    font-weight: 900;
    font-size: 17px;
}

.smi-products-page #results .product .product_name a,
.featured-products .product .product_name a {
    color: #172033;
    font-weight: 800;
    line-height: 1.35;
}

.smi-products-page #results .product .add-to-cart,
.featured-products .product .add-to-cart {
    border-radius: 999px;
    padding: 9px 14px;
}

.badge.theme,
.badge.badge-right.theme {
    border-radius: 999px;
    padding: 6px 10px;
    background: #ef4444 !important;
}

/* Carrito y checkout */
.smi-cart-page .table-cart,
.smi-checkout-page .cart-totals,
.page-contents .table {
    margin-bottom: 0;
}

.page-contents .table > thead > tr > th {
    background: #f8fafc;
    color: #475467;
    border-bottom: 1px solid rgba(15, 23, 42, .08);
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .3px;
}

.page-contents .table > tbody > tr > td,
.page-contents .table > tbody > tr > th {
    vertical-align: middle;
    border-color: rgba(15, 23, 42, .07);
}

.smi-cart-page #cart-helper,
.smi-cart-page .panel-footer {
    background: #fff;
    border-top: 1px solid rgba(15, 23, 42, .08);
}

.smi-cart-page #cart-totals tr.active td,
.smi-checkout-page .cart-totals tr.active td {
    background: #eef5ff !important;
    color: #172033;
    font-size: 16px;
}

.smi-cart-page .btn-lg.btn-block,
.smi-checkout-page .btn-theme {
    border-radius: 14px;
    padding: 12px 16px;
    font-size: 16px;
}

.smi-checkout-page .nav-tabs {
    border-bottom: 1px solid rgba(15,23,42,.08);
}

.smi-checkout-page .nav-tabs > li > a {
    border-radius: 12px 12px 0 0;
    font-weight: 700;
}

.smi-checkout-page .checkbox.bg,
.smi-checkout-page .radio.bg,
.smi-checkout-page .checkbox label,
.smi-checkout-page .radio label {
    border-radius: 14px;
}

.smi-checkout-page .checkbox.bg label,
.smi-checkout-page .radio.bg label {
    display: block;
    padding: 12px;
    border: 1px solid rgba(15,23,42,.10);
    border-radius: 14px;
    background: #f8fafc;
}

.smi-checkout-page input[type="radio"]:checked + span,
.smi-checkout-page input[type="checkbox"]:checked + span {
    color: #144db3;
    font-weight: 700;
}

/* Producto individual */
.smi-product-detail-page .gallery {
    width: 100% !important;
    max-width: 620px;
    border-radius: 20px;
    border: 1px solid rgba(15,23,42,.10);
    box-shadow: 0 12px 30px rgba(15,23,42,.06);
    background: #fff !important;
}

.smi-product-detail-page .gallery .mainImg {
    height: auto !important;
    min-height: 260px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f8fafc;
    border-radius: 16px;
}

.smi-product-detail-page .gallery .mainImg img {
    max-height: 460px;
    width: 100%;
    object-fit: contain;
    padding: 12px;
}

.smi-product-detail-page .gallery .thumbnails {
    justify-content: flex-start !important;
    gap: 8px;
    overflow-x: auto;
    padding-top: 10px !important;
}

.smi-product-detail-page .gallery .thumbnails li {
    flex: 0 0 auto;
}

.smi-product-detail-page .gallery .thumbnails li:not(:last-child) {
    margin-right: 0 !important;
}

.smi-product-detail-page .gallery .thumbnails img {
    height: 76px !important;
    border-radius: 12px;
    border-color: rgba(15,23,42,.12) !important;
}

.smi-product-detail-page .colorcito {
    display: inline-block;
    margin: 3px 3px 6px 0;
    border-radius: 999px !important;
    background: #1f6feb !important;
    color: #fff !important;
    padding: 7px 11px !important;
}

.smi-product-detail-page .quantity-input {
    height: 44px;
}

.smi-product-detail-page .table-right-left td:first-child {
    color: #667085;
    font-weight: 700;
}

/* Cuenta, direcciones, pedidos */
.smi-account-page .link-address,
.smi-addresses-page .link-address,
.smi-orders-page .link-address {
    display: block;
    min-height: 125px;
    background: #fff;
    padding: 15px 17px;
    color: #172033;
    text-decoration: none;
    margin-bottom: 15px;
    transition: transform .18s ease, box-shadow .18s ease;
}

.smi-account-page .link-address:hover,
.smi-addresses-page .link-address:hover,
.smi-orders-page .link-address:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 38px rgba(15,23,42,.10);
}

/* Header/minicart y navegación */
.dropdown-menu-login,
#cart-contents {
    border-radius: 16px;
    border: 1px solid rgba(15,23,42,.10);
    box-shadow: 0 18px 45px rgba(15,23,42,.15);
}

@media (max-width: 767px) {
    .page-contents.smi-shop-page,
    .page-contents {
        padding: 10px 0 32px;
    }

    .page-contents .panel {
        border-radius: 16px;
        margin-top: 12px !important;
    }

    .page-contents .panel-heading .pull-right {
        float: none !important;
        display: block;
        margin-top: 8px;
    }

    .smi-products-page #grid-selector {
        display: block;
    }

    .smi-products-page #grid-sort {
        margin-top: 8px;
    }

    .smi-products-page #results .product img,
    .featured-products .product img {
        max-height: 190px;
    }

    .smi-cart-page .table-responsive,
    .smi-checkout-page .table-responsive,
    .page-contents .table-responsive {
        border: 0;
        margin-bottom: 0;
    }

    .smi-cart-page #cart-helper .pull-right {
        float: none !important;
        display: block;
        margin-top: 8px;
    }

    .smi-checkout-page .tab-content.padding-lg {
        padding: 12px !important;
    }

    .smi-product-detail-page .gallery .mainImg {
        min-height: 220px;
    }

    .smi-product-detail-page .gallery .mainImg img {
        max-height: 320px;
    }
}

/* --------------------------------------------------------------------------
   Etapa 5.1 - Ajustes visuales extra solicitados
   - Fondo animado 100% CSS para tienda/header
   - Botones "Añadir al carrito" sin tapar precio/imagen
   - Mejoras responsive para destacados, grilla, listado y carrito
-------------------------------------------------------------------------- */
@keyframes smiFuturisticBgMove {
    0% { transform: translate3d(0, 0, 0) scale(1); }
    50% { transform: translate3d(-18px, 14px, 0) scale(1.03); }
    100% { transform: translate3d(0, 0, 0) scale(1); }
}
@keyframes smiGridDrift {
    0% { background-position: 0 0, 0 0; opacity: .36; }
    50% { background-position: 32px 18px, -18px 32px; opacity: .52; }
    100% { background-position: 0 0, 0 0; opacity: .36; }
}

html,
body {
    min-height: 100%;
}

#wrapper.blue,
#wrapper,
body {
    background: #eef5ff !important;
}

#wrapper.blue {
    position: relative;
    overflow-x: hidden;
    isolation: isolate;
}

#wrapper.blue:before,
#wrapper.blue:after {
    content: '';
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: -1;
}

#wrapper.blue:before {
    background:
        radial-gradient(circle at 12% 14%, rgba(31,111,235,.18), transparent 28%),
        radial-gradient(circle at 88% 8%, rgba(6,182,212,.15), transparent 25%),
        radial-gradient(circle at 48% 92%, rgba(59,130,246,.16), transparent 30%),
        linear-gradient(135deg, #eef5ff 0%, #f8fbff 48%, #eaf4ff 100%);
    animation: smiFuturisticBgMove 16s ease-in-out infinite;
}

#wrapper.blue:after {
    background-image:
        linear-gradient(rgba(31,111,235,.075) 1px, transparent 1px),
        linear-gradient(90deg, rgba(31,111,235,.075) 1px, transparent 1px);
    background-size: 54px 54px;
    mask-image: linear-gradient(180deg, rgba(0,0,0,.80), rgba(0,0,0,.16));
    animation: smiGridDrift 20s linear infinite;
}

#wrapper.blue > header,
#wrapper.blue > .page-contents,
#wrapper.blue > .smi-shop-modern,
#wrapper.blue > footer {
    position: relative;
    z-index: 1;
}

header .top-header {
    background: linear-gradient(90deg, rgba(15,23,42,.92), rgba(31,111,235,.88)) !important;
    border: 0 !important;
}

header .main-header,
header .navbar.navbar-default {
    background: rgba(255,255,255,.82) !important;
    border-color: rgba(31,111,235,.12) !important;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    box-shadow: 0 10px 26px rgba(15,23,42,.06);
}

header .navbar.navbar-default .navbar-nav > li > a {
    font-weight: 700;
}

.page-contents.smi-shop-page,
.page-contents,
.smi-shop-modern .smi-hero-wrap,
.smi-shop-modern .smi-products-section {
    background: transparent !important;
}

/* Eliminar overlays viejos del tema que tapaban imagen/precio */
.smi-products-page #results .product .image_overlay,
.featured-products .product .image_overlay,
.smi-login-page .product .image_overlay,
.smi-profile-page .product .image_overlay,
.smi-product-detail-page .featured-products .product .image_overlay {
    display: none !important;
}

/* Cards legacy del shop: botones abajo y no encima de la imagen */
.smi-products-page #results .product,
.featured-products .product,
.smi-login-page .product,
.smi-profile-page .product,
.smi-product-detail-page .featured-products .product {
    height: auto !important;
    overflow: hidden !important;
}

.smi-products-page #results .product .details,
.featured-products .product .details,
.smi-login-page .product .details,
.smi-profile-page .product .details,
.smi-product-detail-page .featured-products .product .details {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    min-height: 0 !important;
    background: #fff !important;
}

.smi-products-page #results .product img,
.featured-products .product img,
.smi-login-page .product img,
.smi-profile-page .product img,
.smi-product-detail-page .featured-products .product img {
    display: block !important;
    width: 100% !important;
    height: 190px !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center !important;
    background: #f8fbff !important;
    padding: 14px !important;
    flex: 0 0 auto !important;
}

.smi-products-page #results .product .stats-container,
.featured-products .product .stats-container,
.smi-login-page .product .stats-container,
.smi-profile-page .product .stats-container,
.smi-product-detail-page .featured-products .product .stats-container {
    position: static !important;
    display: block !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
    padding: 14px 15px 8px !important;
    background: #fff !important;
}

.smi-products-page #results .product .product_price,
.featured-products .product .product_price,
.smi-login-page .product .product_price,
.smi-profile-page .product .product_price,
.smi-product-detail-page .featured-products .product .product_price {
    display: block !important;
    margin: 0 0 8px !important;
    color: #1f6feb !important;
    font-size: 17px !important;
    line-height: 1.2 !important;
    font-weight: 900 !important;
}

.smi-products-page #results .product .product_name,
.featured-products .product .product_name,
.smi-login-page .product .product_name,
.smi-profile-page .product .product_name,
.smi-product-detail-page .featured-products .product .product_name {
    display: block !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 0 8px !important;
    overflow: hidden !important;
}

.smi-products-page #results .product .product_name a,
.featured-products .product .product_name a,
.smi-login-page .product .product_name a,
.smi-profile-page .product .product_name a,
.smi-product-detail-page .featured-products .product .product_name a {
    display: -webkit-box !important;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden !important;
    color: #0f172a !important;
    font-weight: 850 !important;
    line-height: 1.25 !important;
    text-decoration: none !important;
}

.smi-products-page #results .product .link,
.featured-products .product .link,
.smi-login-page .product .link,
.smi-profile-page .product .link,
.smi-product-detail-page .featured-products .product .link {
    display: inline-block !important;
    color: #667085 !important;
    font-size: 12px !important;
    line-height: 1.3 !important;
}

.smi-products-page #results .product .add-to-cart,
.featured-products .product .add-to-cart,
.smi-login-page .product .add-to-cart,
.smi-profile-page .product .add-to-cart,
.smi-product-detail-page .featured-products .product .add-to-cart {
    position: static !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    transform: none !important;
    opacity: 1 !important;
    display: block !important;
    width: calc(100% - 28px) !important;
    margin: 8px 14px 15px !important;
    padding: 10px 12px !important;
    border-radius: 999px !important;
    background: #1f6feb !important;
    color: #fff !important;
    text-align: center !important;
    white-space: normal !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    box-shadow: 0 10px 24px rgba(31,111,235,.22) !important;
}

/* Destacados laterales: columna chica, sin superposicion y texto controlado */
.smi-products-page #sticky-con + h4 + #carousel-example .featured-products .product,
.smi-products-page .col-sm-3 .featured-products .product,
.smi-products-page .col-md-2 .featured-products .product {
    border-radius: 16px !important;
}

.smi-products-page .col-sm-3 .featured-products .product img,
.smi-products-page .col-md-2 .featured-products .product img {
    height: 145px !important;
    padding: 12px !important;
}

.smi-products-page .col-sm-3 .featured-products .product .stats-container,
.smi-products-page .col-md-2 .featured-products .product .stats-container {
    padding: 11px 12px 6px !important;
}

.smi-products-page .col-sm-3 .featured-products .product .product_price,
.smi-products-page .col-md-2 .featured-products .product .product_price {
    font-size: 15px !important;
}

.smi-products-page .col-sm-3 .featured-products .product .product_name a,
.smi-products-page .col-md-2 .featured-products .product .product_name a {
    font-size: 13px !important;
    -webkit-line-clamp: 4;
}

.smi-products-page .col-sm-3 .featured-products .product .add-to-cart,
.smi-products-page .col-md-2 .featured-products .product .add-to-cart {
    font-size: 12px !important;
    padding: 9px 8px !important;
}

/* Listado de productos: separar imagen, texto, cantidad y boton para evitar choques */
.smi-products-page #results.list .product .details {
    display: grid !important;
    grid-template-columns: 126px minmax(0, 1fr) !important;
    grid-template-areas:
        "smi-img smi-info"
        "smi-btn smi-btn" !important;
    align-items: start !important;
}

.smi-products-page #results.list .product .details > img {
    grid-area: smi-img !important;
    width: 126px !important;
    height: 126px !important;
    padding: 12px !important;
}

.smi-products-page #results.list .product .stats-container {
    grid-area: smi-info !important;
    padding: 15px 15px 8px !important;
}

.smi-products-page #results.list .product .add-to-cart {
    grid-area: smi-btn !important;
    margin-top: 0 !important;
}

/* El selector de cantidad generado por el tema queda mas compacto en cards */
.smi-products-page #results .product .input-group,
.smi-products-page #results .product .quantity-input {
    max-width: 210px;
}

.smi-products-page #results .product .quantity-input {
    min-height: 38px;
    height: 38px;
}

/* Carrito movil y tablas: permitir lectura sin cortar textos largos */
.smi-cart-page .table-cart td,
.smi-cart-page .table-cart th {
    white-space: normal !important;
}

.smi-cart-page .table-cart img {
    max-width: 52px !important;
    height: auto !important;
    object-fit: contain;
}

@media (max-width: 767px) {
    header .top-header .nav > li > a,
    header .top-header .dropdown-toggle,
    header .top-header .btn {
        font-size: 12px !important;
    }

    .smi-products-page #results.grid .product img,
    .featured-products .product img,
    .smi-login-page .product img,
    .smi-profile-page .product img {
        height: 245px !important;
        padding: 16px !important;
    }

    .smi-products-page #results.list .product .details {
        grid-template-columns: 112px minmax(0, 1fr) !important;
    }

    .smi-products-page #results.list .product .details > img {
        width: 112px !important;
        height: 112px !important;
    }

    .smi-products-page #results .product .product_name a,
    .featured-products .product .product_name a,
    .smi-login-page .product .product_name a,
    .smi-profile-page .product .product_name a {
        -webkit-line-clamp: 3;
        font-size: 14px !important;
    }

    .smi-products-page #results .product .add-to-cart,
    .featured-products .product .add-to-cart,
    .smi-login-page .product .add-to-cart,
    .smi-profile-page .product .add-to-cart {
        min-height: 42px !important;
        margin-bottom: 16px !important;
    }

    .smi-cart-page .panel-heading {
        line-height: 1.4;
    }

    .smi-cart-page #cart-helper .btn {
        width: 100%;
        display: block;
        margin: 6px 0 !important;
        float: none !important;
    }

    .smi-cart-page .table-responsive {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .smi-cart-page #cart-table {
        min-width: 680px;
    }
}

@media (max-width: 420px) {
    .smi-products-page #results.list .product .details {
        grid-template-columns: 96px minmax(0, 1fr) !important;
    }

    .smi-products-page #results.list .product .details > img {
        width: 96px !important;
        height: 96px !important;
    }

    .smi-products-page #results.list .product .product_price {
        font-size: 15px !important;
    }
}

/* Correccion de apilado para que el fondo animado quede visible pero nunca tape contenido */
#wrapper.blue {
    background: transparent !important;
}
#wrapper.blue:before,
#wrapper.blue:after {
    z-index: 0 !important;
}
#wrapper.blue > header,
#wrapper.blue > .page-contents,
#wrapper.blue > .smi-shop-modern,
#wrapper.blue > footer,
#wrapper.blue > .container,
#wrapper.blue > section:not(.top-header):not(.main-header) {
    position: relative;
    z-index: 1;
}

/* --------------------------------------------------------------------------
   Etapa 5.2 - Correcciones de rendimiento, menu, fondo 3D y destacados
   - Reduce espacio inferior innecesario
   - Dropdowns siempre sobre productos
   - Fondo futurista 3D liviano, sin imagen externa
   - Boton compacto en destacados laterales
   - Menos animaciones pesadas para mejorar fluidez
-------------------------------------------------------------------------- */
@keyframes smiBgGradientFlow {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}
@keyframes smiBgGrid3DMove {
    0% { background-position: 0 0, 0 0; }
    100% { background-position: 180px 120px, 180px 120px; }
}
@keyframes smiBgOrbsMove {
    0%, 100% { opacity: .78; background-position: 0% 30%, 90% 10%, 45% 100%; }
    50% { opacity: .92; background-position: 8% 18%, 82% 22%, 55% 92%; }
}

html,
body {
    height: auto !important;
    min-height: 100% !important;
    overflow-x: hidden !important;
}

#wrapper.blue,
#wrapper {
    min-height: 0 !important;
    background: linear-gradient(120deg, #eef6ff 0%, #f8fbff 35%, #eaf7ff 70%, #eef6ff 100%) !important;
    background-size: 240% 240% !important;
    animation: smiBgGradientFlow 20s ease-in-out infinite !important;
    overflow-x: hidden !important;
}

#wrapper.blue:before {
    z-index: 0 !important;
    top: -48vh !important;
    left: -35vw !important;
    right: -35vw !important;
    bottom: -20vh !important;
    opacity: .20 !important;
    background-image:
        linear-gradient(rgba(31,111,235,.22) 1px, transparent 1px),
        linear-gradient(90deg, rgba(31,111,235,.22) 1px, transparent 1px) !important;
    background-size: 48px 48px !important;
    background-position: 0 0, 0 0 !important;
    transform: perspective(900px) rotateX(62deg) translate3d(0, -12%, 0) !important;
    transform-origin: top center !important;
    animation: smiBgGrid3DMove 24s linear infinite !important;
    will-change: background-position !important;
    mask-image: linear-gradient(180deg, rgba(0,0,0,.86), rgba(0,0,0,.12) 72%, rgba(0,0,0,0)) !important;
}

#wrapper.blue:after {
    z-index: 0 !important;
    opacity: .70 !important;
    background:
        radial-gradient(circle at 0% 30%, rgba(31,111,235,.17), transparent 28%),
        radial-gradient(circle at 90% 10%, rgba(6,182,212,.16), transparent 25%),
        radial-gradient(circle at 45% 100%, rgba(59,130,246,.12), transparent 35%) !important;
    background-size: 140% 140%, 130% 130%, 150% 150% !important;
    animation: smiBgOrbsMove 18s ease-in-out infinite !important;
    will-change: background-position, opacity !important;
}

/* Menus desplegables por encima de grillas/cards */
#wrapper.blue > header,
header,
header .top-header,
header .main-header,
header .navbar,
header .navbar-collapse,
header .navbar-nav {
    position: relative !important;
    z-index: 9990 !important;
}

header .navbar .dropdown-menu,
header .dropdown-menu,
header .mega-menu-content,
header .dropdown-menu-content {
    z-index: 10050 !important;
}

@media (min-width: 768px) {
    header .navbar .navbar-nav > li.dropdown {
        position: relative !important;
    }
    header .navbar .navbar-nav > li.mega-menu {
        position: static !important;
    }
    header .navbar .dropdown-menu {
        position: absolute !important;
    }
}

.smi-shop-modern,
.page-contents,
.smi-products-page #results,
.smi-products-page #results .product,
.featured-products .product {
    z-index: auto !important;
}

/* Reducir espacio inferior blanco al final de tienda/listados */
.page-contents,
.page-contents.smi-shop-page {
    padding-bottom: 20px !important;
    margin-bottom: 0 !important;
}
.smi-shop-modern .smi-products-section {
    padding-bottom: 22px !important;
    margin-bottom: 0 !important;
}
.footer {
    margin-top: 0 !important;
    position: relative !important;
    z-index: 1 !important;
}

/* Performance: sacar efectos pesados que hacian lenta la tienda */
header .main-header,
header .navbar.navbar-default {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

.smi-products-page #results .product,
.featured-products .product,
.smi-login-page .product,
.smi-profile-page .product,
.smi-product-detail-page .featured-products .product,
.smi-shop-modern .smi-product-card,
.smi-shop-modern .smi-product-image img {
    transition: box-shadow .12s ease, border-color .12s ease, background-color .12s ease !important;
}

.smi-products-page #results .product:hover,
.featured-products .product:hover,
.smi-login-page .product:hover,
.smi-profile-page .product:hover,
.smi-product-detail-page .featured-products .product:hover,
.smi-shop-modern .smi-product-card:hover,
.smi-shop-modern .smi-product-card:hover .smi-product-image img {
    transform: none !important;
}

/* Destacados laterales: boton compacto con icono para columnas angostas */
.smi-products-page .col-sm-3 .featured-products .product,
.smi-products-page .col-md-2 .featured-products .product,
.smi-products-page .col-sm-2 .featured-products .product,
.smi-products-page .col-md-3 .featured-products .product {
    overflow: hidden !important;
}

.smi-products-page .col-sm-3 .featured-products .product .stats-container,
.smi-products-page .col-md-2 .featured-products .product .stats-container,
.smi-products-page .col-sm-2 .featured-products .product .stats-container,
.smi-products-page .col-md-3 .featured-products .product .stats-container {
    text-align: center !important;
}

.smi-products-page .col-sm-3 .featured-products .product .add-to-cart,
.smi-products-page .col-md-2 .featured-products .product .add-to-cart,
.smi-products-page .col-sm-2 .featured-products .product .add-to-cart,
.smi-products-page .col-md-3 .featured-products .product .add-to-cart {
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    height: 38px !important;
    min-height: 38px !important;
    line-height: 38px !important;
    padding: 0 !important;
    margin: 8px auto 12px !important;
    border-radius: 999px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 0 !important;
    white-space: nowrap !important;
}

.smi-products-page .col-sm-3 .featured-products .product .add-to-cart i,
.smi-products-page .col-md-2 .featured-products .product .add-to-cart i,
.smi-products-page .col-sm-2 .featured-products .product .add-to-cart i,
.smi-products-page .col-md-3 .featured-products .product .add-to-cart i {
    font-size: 16px !important;
    line-height: 1 !important;
    margin: 0 !important;
}

.smi-products-page .col-sm-3 .featured-products .product .product_name a,
.smi-products-page .col-md-2 .featured-products .product .product_name a,
.smi-products-page .col-sm-2 .featured-products .product .product_name a,
.smi-products-page .col-md-3 .featured-products .product .product_name a {
    -webkit-line-clamp: 3 !important;
    font-size: 12.5px !important;
    text-align: left !important;
}

/* Home movil: si queda muy angosto, boton por icono para no tocar precio */
@media (max-width: 420px) {
    .smi-shop-modern .smi-add-cart {
        font-size: 0 !important;
        width: 48px !important;
        min-width: 48px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding: 10px !important;
    }
    .smi-shop-modern .smi-add-cart i {
        font-size: 17px !important;
        margin: 0 !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    #wrapper.blue,
    #wrapper.blue:before,
    #wrapper.blue:after,
    .smi-products-page #results .product,
    .featured-products .product,
    .smi-shop-modern .smi-product-card,
    .smi-shop-modern .smi-product-image img {
        animation: none !important;
        transition: none !important;
    }
}

/* --------------------------------------------------------------------------
   Etapa 5.3 - Ajustes solicitados sobre destacados, fondo y footer
   - Destacados laterales en vertical: imagen, boton, precio, titulo
   - Efectos livianos en PC sin afectar rendimiento movil
   - Fondo 3D limitado al area de contenido para no dejar espacio luego del footer
-------------------------------------------------------------------------- */

/* El fondo ya no queda fijo hasta despues del footer */
#wrapper.blue:before,
#wrapper.blue:after {
    display: none !important;
    content: none !important;
    animation: none !important;
}

html,
body {
    min-height: 100% !important;
}

body {
    background: #16181c !important;
}

#wrapper.blue,
#wrapper {
    min-height: 100vh !important;
    display: flex !important;
    flex-direction: column !important;
    background: #eef6ff !important;
    overflow-x: hidden !important;
}

#wrapper.blue > .page-contents,
#wrapper > .page-contents {
    flex: 1 0 auto !important;
}

#wrapper.blue > footer,
#wrapper.blue > .footer,
#wrapper > footer,
#wrapper > .footer,
footer,
.footer {
    flex-shrink: 0 !important;
    margin-bottom: 0 !important;
}

/* Fondo futurista 3D solo dentro del contenido, no detras ni despues del footer */
.page-contents {
    position: relative !important;
    overflow: hidden !important;
    background: linear-gradient(120deg, #eef6ff 0%, #f8fbff 38%, #eaf7ff 72%, #eef6ff 100%) !important;
    background-size: 220% 220% !important;
    animation: smiBgGradientFlow 28s ease-in-out infinite !important;
}

.page-contents:before,
.page-contents:after {
    content: '' !important;
    position: absolute !important;
    pointer-events: none !important;
    z-index: 0 !important;
}

.page-contents:before {
    top: -55vh !important;
    left: -38vw !important;
    right: -38vw !important;
    height: 120vh !important;
    opacity: .18 !important;
    background-image:
        linear-gradient(rgba(31,111,235,.22) 1px, transparent 1px),
        linear-gradient(90deg, rgba(31,111,235,.22) 1px, transparent 1px) !important;
    background-size: 52px 52px !important;
    transform: perspective(980px) rotateX(64deg) translate3d(0, -10%, 0) !important;
    transform-origin: top center !important;
    animation: smiBgGrid3DMove 30s linear infinite !important;
    mask-image: linear-gradient(180deg, rgba(0,0,0,.80), rgba(0,0,0,.18) 74%, rgba(0,0,0,0)) !important;
}

.page-contents:after {
    inset: 0 !important;
    opacity: .62 !important;
    background:
        radial-gradient(circle at 4% 18%, rgba(31,111,235,.13), transparent 26%),
        radial-gradient(circle at 94% 8%, rgba(6,182,212,.12), transparent 24%),
        radial-gradient(circle at 52% 100%, rgba(59,130,246,.10), transparent 34%) !important;
    background-size: 145% 145%, 135% 135%, 155% 155% !important;
    animation: smiBgOrbsMove 26s ease-in-out infinite !important;
}

.page-contents > .container,
.page-contents > .container-fluid,
.page-contents > .row,
.page-contents > div:not(.container):not(.container-fluid) {
    position: relative !important;
    z-index: 1 !important;
}

/* Destacados laterales: acomodar todo en columna sin superponer precio/titulo */
.smi-products-page .col-sm-3 .featured-products .product,
.smi-products-page .col-md-2 .featured-products .product,
.smi-products-page .col-sm-2 .featured-products .product,
.smi-products-page .col-md-3 .featured-products .product,
.smi-login-page .col-sm-3 .featured-products .product,
.smi-profile-page .col-sm-3 .featured-products .product {
    min-height: 335px !important;
    height: auto !important;
    border-radius: 18px !important;
    overflow: hidden !important;
}

.smi-products-page .col-sm-3 .featured-products .product .details,
.smi-products-page .col-md-2 .featured-products .product .details,
.smi-products-page .col-sm-2 .featured-products .product .details,
.smi-products-page .col-md-3 .featured-products .product .details,
.smi-login-page .col-sm-3 .featured-products .product .details,
.smi-profile-page .col-sm-3 .featured-products .product .details {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    min-height: 335px !important;
    height: auto !important;
}

.smi-products-page .col-sm-3 .featured-products .product img,
.smi-products-page .col-md-2 .featured-products .product img,
.smi-products-page .col-sm-2 .featured-products .product img,
.smi-products-page .col-md-3 .featured-products .product img,
.smi-login-page .col-sm-3 .featured-products .product img,
.smi-profile-page .col-sm-3 .featured-products .product img {
    order: 1 !important;
    width: calc(100% - 22px) !important;
    height: 148px !important;
    margin: 11px auto 0 !important;
    padding: 12px !important;
    border-radius: 14px !important;
    object-fit: contain !important;
    background: #f8fbff !important;
}

.smi-products-page .col-sm-3 .featured-products .product .add-to-cart,
.smi-products-page .col-md-2 .featured-products .product .add-to-cart,
.smi-products-page .col-sm-2 .featured-products .product .add-to-cart,
.smi-products-page .col-md-3 .featured-products .product .add-to-cart,
.smi-login-page .col-sm-3 .featured-products .product .add-to-cart,
.smi-profile-page .col-sm-3 .featured-products .product .add-to-cart {
    order: 2 !important;
    position: static !important;
    flex: 0 0 auto !important;
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 40px !important;
    min-height: 40px !important;
    margin: 10px auto 9px !important;
    padding: 0 !important;
    border-radius: 999px !important;
    font-size: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 10px 22px rgba(31,111,235,.22) !important;
}

.smi-products-page .col-sm-3 .featured-products .product .add-to-cart i,
.smi-products-page .col-md-2 .featured-products .product .add-to-cart i,
.smi-products-page .col-sm-2 .featured-products .product .add-to-cart i,
.smi-products-page .col-md-3 .featured-products .product .add-to-cart i,
.smi-login-page .col-sm-3 .featured-products .product .add-to-cart i,
.smi-profile-page .col-sm-3 .featured-products .product .add-to-cart i {
    font-size: 17px !important;
    margin: 0 !important;
}

.smi-products-page .col-sm-3 .featured-products .product .stats-container,
.smi-products-page .col-md-2 .featured-products .product .stats-container,
.smi-products-page .col-sm-2 .featured-products .product .stats-container,
.smi-products-page .col-md-3 .featured-products .product .stats-container,
.smi-login-page .col-sm-3 .featured-products .product .stats-container,
.smi-profile-page .col-sm-3 .featured-products .product .stats-container {
    order: 3 !important;
    position: static !important;
    flex: 1 1 auto !important;
    display: block !important;
    width: 100% !important;
    min-height: 0 !important;
    padding: 0 14px 15px !important;
    text-align: left !important;
    background: #fff !important;
}

.smi-products-page .col-sm-3 .featured-products .product .product_price,
.smi-products-page .col-md-2 .featured-products .product .product_price,
.smi-products-page .col-sm-2 .featured-products .product .product_price,
.smi-products-page .col-md-3 .featured-products .product .product_price,
.smi-login-page .col-sm-3 .featured-products .product .product_price,
.smi-profile-page .col-sm-3 .featured-products .product .product_price {
    position: static !important;
    float: none !important;
    clear: both !important;
    display: block !important;
    width: 100% !important;
    margin: 0 0 8px !important;
    padding: 0 !important;
    color: #1f6feb !important;
    font-size: 15px !important;
    line-height: 1.15 !important;
    font-weight: 900 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
}

.smi-products-page .col-sm-3 .featured-products .product .product_name,
.smi-products-page .col-md-2 .featured-products .product .product_name,
.smi-products-page .col-sm-2 .featured-products .product .product_name,
.smi-products-page .col-md-3 .featured-products .product .product_name,
.smi-login-page .col-sm-3 .featured-products .product .product_name,
.smi-profile-page .col-sm-3 .featured-products .product .product_name {
    position: static !important;
    float: none !important;
    clear: both !important;
    display: block !important;
    margin: 0 0 8px !important;
    min-height: 48px !important;
    max-height: none !important;
    overflow: hidden !important;
}

.smi-products-page .col-sm-3 .featured-products .product .product_name a,
.smi-products-page .col-md-2 .featured-products .product .product_name a,
.smi-products-page .col-sm-2 .featured-products .product .product_name a,
.smi-products-page .col-md-3 .featured-products .product .product_name a,
.smi-login-page .col-sm-3 .featured-products .product .product_name a,
.smi-profile-page .col-sm-3 .featured-products .product .product_name a {
    display: -webkit-box !important;
    -webkit-line-clamp: 4 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    color: #0f172a !important;
    font-size: 12.5px !important;
    line-height: 1.22 !important;
    font-weight: 900 !important;
    text-align: left !important;
}

.smi-products-page .col-sm-3 .featured-products .product .link,
.smi-products-page .col-md-2 .featured-products .product .link,
.smi-products-page .col-sm-2 .featured-products .product .link,
.smi-products-page .col-md-3 .featured-products .product .link,
.smi-login-page .col-sm-3 .featured-products .product .link,
.smi-profile-page .col-sm-3 .featured-products .product .link {
    position: static !important;
    float: none !important;
    display: inline !important;
    font-size: 11.5px !important;
    line-height: 1.35 !important;
    color: #667085 !important;
}

/* Efectos livianos solo en PC: movimiento suave sin blur ni filtros pesados */
@media (min-width: 992px) {
    .smi-products-page #results .product,
    .featured-products .product,
    .smi-shop-modern .smi-product-card,
    .page-contents .panel,
    .page-contents .well {
        transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease !important;
    }

    .smi-products-page #results .product:hover,
    .featured-products .product:hover,
    .smi-shop-modern .smi-product-card:hover {
        transform: translateY(-2px) !important;
        border-color: rgba(31,111,235,.28) !important;
        box-shadow: 0 16px 34px rgba(15,23,42,.11) !important;
    }

    .smi-products-page #results .product .add-to-cart:hover,
    .featured-products .product .add-to-cart:hover,
    .smi-shop-modern .smi-add-cart:hover {
        transform: translateY(-1px) !important;
        box-shadow: 0 12px 26px rgba(31,111,235,.28) !important;
    }

    header .navbar.navbar-default .navbar-nav > li > a {
        transition: background-color .14s ease, color .14s ease !important;
    }

    header .navbar.navbar-default .navbar-nav > li > a:hover {
        background: rgba(31,111,235,.08) !important;
    }
}

/* En equipos que piden menos movimiento, desactivar animaciones de fondo */
@media (prefers-reduced-motion: reduce) {
    .page-contents,
    .page-contents:before,
    .page-contents:after,
    #wrapper.blue,
    #wrapper {
        animation: none !important;
    }
}


/* --------------------------------------------------------------------------
   Etapa 5.4 - Favoritos, zoom, fondo animado tipo CodePen y footer sin espacio
   - Favoritos arriba a la derecha sobre la imagen: patron usual en ecommerce
   - Zoom liviano en imagen/card al pasar el cursor
   - Fondo animado con cuadros flotantes, adaptado a la tienda sin depender de CDN
   - Elimina padding inferior agregado por sticky_footer para evitar espacio post-footer
-------------------------------------------------------------------------- */

html,
body {
    min-height: 100% !important;
    height: auto !important;
    overflow-x: hidden !important;
    background: #171a1f !important;
}

body {
    padding-bottom: 0 !important;
}

#wrapper,
#wrapper.blue {
    position: relative !important;
    display: block !important;
    min-height: 0 !important;
    overflow: hidden !important;
    background: #4e54c8 !important;
    animation: none !important;
    isolation: isolate !important;
}

#wrapper.blue:before,
#wrapper.blue:after,
.page-contents:before,
.page-contents:after {
    display: none !important;
    content: none !important;
    animation: none !important;
}

.smi-shop-bg {
    position: absolute !important;
    inset: 0 !important;
    min-height: 100% !important;
    overflow: hidden !important;
    pointer-events: none !important;
    z-index: 0 !important;
    background: #4e54c8 !important;
    background: linear-gradient(135deg, #8f94fb 0%, #4e54c8 45%, #1f6feb 100%) !important;
}

.smi-shop-bg:before {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    background:
        radial-gradient(circle at 18% 18%, rgba(255,255,255,.18), transparent 28%),
        radial-gradient(circle at 82% 8%, rgba(34,211,238,.16), transparent 24%),
        radial-gradient(circle at 58% 92%, rgba(255,255,255,.12), transparent 30%) !important;
    animation: smiBgSoftPulse 16s ease-in-out infinite !important;
}

.smi-circles {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.smi-circles li {
    position: absolute !important;
    display: block !important;
    list-style: none !important;
    width: 20px !important;
    height: 20px !important;
    background: rgba(255,255,255,.18) !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    animation: smiCircleFloat 25s linear infinite !important;
    bottom: -170px !important;
    box-shadow: 0 18px 45px rgba(15,23,42,.10) !important;
}

.smi-circles li:nth-child(1) { left: 25% !important; width: 80px !important; height: 80px !important; animation-delay: 0s !important; }
.smi-circles li:nth-child(2) { left: 10% !important; width: 20px !important; height: 20px !important; animation-delay: 2s !important; animation-duration: 12s !important; }
.smi-circles li:nth-child(3) { left: 70% !important; width: 20px !important; height: 20px !important; animation-delay: 4s !important; }
.smi-circles li:nth-child(4) { left: 40% !important; width: 60px !important; height: 60px !important; animation-delay: 0s !important; animation-duration: 18s !important; }
.smi-circles li:nth-child(5) { left: 65% !important; width: 20px !important; height: 20px !important; animation-delay: 0s !important; }
.smi-circles li:nth-child(6) { left: 75% !important; width: 110px !important; height: 110px !important; animation-delay: 3s !important; }
.smi-circles li:nth-child(7) { left: 35% !important; width: 150px !important; height: 150px !important; animation-delay: 7s !important; }
.smi-circles li:nth-child(8) { left: 50% !important; width: 25px !important; height: 25px !important; animation-delay: 15s !important; animation-duration: 45s !important; }
.smi-circles li:nth-child(9) { left: 20% !important; width: 15px !important; height: 15px !important; animation-delay: 2s !important; animation-duration: 35s !important; }
.smi-circles li:nth-child(10) { left: 85% !important; width: 150px !important; height: 150px !important; animation-delay: 0s !important; animation-duration: 11s !important; }

@keyframes smiCircleFloat {
    0% {
        transform: translateY(0) rotate(0deg);
        opacity: 1;
        border-radius: 0;
    }
    100% {
        transform: translateY(-1050px) rotate(720deg);
        opacity: 0;
        border-radius: 50%;
    }
}

@keyframes smiBgSoftPulse {
    0%, 100% { opacity: .78; transform: scale(1); }
    50% { opacity: .96; transform: scale(1.025); }
}

#wrapper > header,
#wrapper > .page-contents,
#wrapper > .smi-shop-modern,
#wrapper > .footer,
#wrapper > footer,
#wrapper > .back-to-top,
#wrapper.blue > header,
#wrapper.blue > .page-contents,
#wrapper.blue > .smi-shop-modern,
#wrapper.blue > .footer,
#wrapper.blue > footer,
#wrapper.blue > .back-to-top {
    position: relative !important;
    z-index: 2 !important;
}

.page-contents,
.page-contents.smi-shop-page {
    flex: none !important;
    position: relative !important;
    overflow: visible !important;
    background: rgba(238,246,255,.86) !important;
    /* background-image comentado Etapa 5.9: no tapar fondo animado */
    backdrop-filter: none !important;
    margin-bottom: 0 !important;
    padding-bottom: 22px !important;
}

.footer,
footer,
#wrapper > .footer,
#wrapper > footer {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    flex: none !important;
    background: #303030 !important;
}

.footer-bottom {
    margin-bottom: 0 !important;
}

/* Header/logo con efecto moderno liviano */
header .main-header .logo img,
header .logo img {
    transition: transform .24s ease, filter .24s ease !important;
    transform-origin: center !important;
}

@media (min-width: 992px) {
    header .main-header .logo:hover img,
    header .logo:hover img {
        transform: translateY(-2px) scale(1.025) !important;
        filter: drop-shadow(0 10px 18px rgba(31,111,235,.18)) !important;
    }

    header .navbar.navbar-default .navbar-nav > li > a {
        position: relative !important;
        transition: color .18s ease, background-color .18s ease, transform .18s ease !important;
    }

    header .navbar.navbar-default .navbar-nav > li > a:hover {
        transform: translateY(-1px) !important;
    }
}

/* Favoritos: arriba a la derecha de la imagen, estilo ecommerce */
.smi-products-page #results .product,
.featured-products .product,
.smi-login-page .product,
.smi-profile-page .product,
.smi-product-detail-page .featured-products .product,
.smi-shop-modern .smi-product-card {
    position: relative !important;
}

.smi-products-page #results .product .add-to-wishlist,
.featured-products .product .add-to-wishlist,
.smi-login-page .product .add-to-wishlist,
.smi-profile-page .product .add-to-wishlist,
.smi-product-detail-page .featured-products .product .add-to-wishlist,
.smi-shop-modern .smi-product-card .add-to-wishlist {
    position: absolute !important;
    top: 16px !important;
    right: 16px !important;
    left: auto !important;
    bottom: auto !important;
    z-index: 6 !important;
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    min-height: 42px !important;
    padding: 0 !important;
    border-radius: 999px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(255,255,255,.92) !important;
    color: #0ea5e9 !important;
    border: 1px solid rgba(14,165,233,.22) !important;
    box-shadow: 0 10px 22px rgba(15,23,42,.13) !important;
    transform: none !important;
    opacity: 1 !important;
}

.smi-products-page #results .product .add-to-wishlist i,
.featured-products .product .add-to-wishlist i,
.smi-login-page .product .add-to-wishlist i,
.smi-profile-page .product .add-to-wishlist i,
.smi-product-detail-page .featured-products .product .add-to-wishlist i,
.smi-shop-modern .smi-product-card .add-to-wishlist i {
    font-size: 18px !important;
    margin: 0 !important;
}

.smi-products-page #results .product .add-to-wishlist:hover,
.featured-products .product .add-to-wishlist:hover,
.smi-login-page .product .add-to-wishlist:hover,
.smi-profile-page .product .add-to-wishlist:hover,
.smi-product-detail-page .featured-products .product .add-to-wishlist:hover,
.smi-shop-modern .smi-product-card .add-to-wishlist:hover {
    background: #0ea5e9 !important;
    color: #fff !important;
}

/* Evitar que el grupo viejo de botones reserve espacio raro al sacar favoritos arriba */
.smi-products-page #results .product .product-cart-button .btn-group,
.smi-products-page #results .product .product-cart-button {
    width: 100% !important;
    display: block !important;
}

.smi-products-page #results .product .product-cart-button .add-to-cart {
    width: 100% !important;
}

/* Zoom/vida visual en PC: imagen y cuadro completo */
.smi-products-page #results .product img,
.featured-products .product img,
.smi-login-page .product img,
.smi-profile-page .product img,
.smi-product-detail-page .featured-products .product img,
.smi-shop-modern .smi-product-image img {
    transition: transform .24s ease, filter .24s ease !important;
    transform-origin: center !important;
}

@media (min-width: 992px) {
    .smi-products-page #results .product,
    .featured-products .product,
    .smi-login-page .product,
    .smi-profile-page .product,
    .smi-product-detail-page .featured-products .product,
    .smi-shop-modern .smi-product-card {
        transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease !important;
    }

    .smi-products-page #results .product:hover,
    .featured-products .product:hover,
    .smi-login-page .product:hover,
    .smi-profile-page .product:hover,
    .smi-product-detail-page .featured-products .product:hover,
    .smi-shop-modern .smi-product-card:hover {
        transform: translateY(-4px) scale(1.01) !important;
        border-color: rgba(31,111,235,.30) !important;
        box-shadow: 0 20px 42px rgba(15,23,42,.14) !important;
    }

    .smi-products-page #results .product:hover img,
    .featured-products .product:hover img,
    .smi-login-page .product:hover img,
    .smi-profile-page .product:hover img,
    .smi-product-detail-page .featured-products .product:hover img,
    .smi-shop-modern .smi-product-card:hover .smi-product-image img {
        transform: scale(1.055) !important;
        filter: saturate(1.04) contrast(1.02) !important;
    }
}

/* Destacados laterales: mas aire para que no se pise precio/titulo */
.smi-products-page .col-sm-3 .featured-products .product,
.smi-products-page .col-md-2 .featured-products .product,
.smi-products-page .col-sm-2 .featured-products .product,
.smi-products-page .col-md-3 .featured-products .product,
.smi-login-page .col-sm-3 .featured-products .product,
.smi-profile-page .col-sm-3 .featured-products .product {
    min-height: 382px !important;
}

.smi-products-page .col-sm-3 .featured-products .product .details,
.smi-products-page .col-md-2 .featured-products .product .details,
.smi-products-page .col-sm-2 .featured-products .product .details,
.smi-products-page .col-md-3 .featured-products .product .details,
.smi-login-page .col-sm-3 .featured-products .product .details,
.smi-profile-page .col-sm-3 .featured-products .product .details {
    min-height: 382px !important;
}

.smi-products-page .col-sm-3 .featured-products .product .stats-container,
.smi-products-page .col-md-2 .featured-products .product .stats-container,
.smi-products-page .col-sm-2 .featured-products .product .stats-container,
.smi-products-page .col-md-3 .featured-products .product .stats-container,
.smi-login-page .col-sm-3 .featured-products .product .stats-container,
.smi-profile-page .col-sm-3 .featured-products .product .stats-container {
    padding: 0 14px 18px !important;
}

.smi-products-page .col-sm-3 .featured-products .product .product_price,
.smi-products-page .col-md-2 .featured-products .product .product_price,
.smi-products-page .col-sm-2 .featured-products .product .product_price,
.smi-products-page .col-md-3 .featured-products .product .product_price,
.smi-login-page .col-sm-3 .featured-products .product .product_price,
.smi-profile-page .col-sm-3 .featured-products .product .product_price {
    margin-top: 2px !important;
    margin-bottom: 10px !important;
}

.smi-products-page .col-sm-3 .featured-products .product .product_name,
.smi-products-page .col-md-2 .featured-products .product .product_name,
.smi-products-page .col-sm-2 .featured-products .product .product_name,
.smi-products-page .col-md-3 .featured-products .product .product_name,
.smi-login-page .col-sm-3 .featured-products .product .product_name,
.smi-profile-page .col-sm-3 .featured-products .product .product_name {
    min-height: 62px !important;
}

/* No aplicar favorito absoluto al boton principal de wishlist del detalle individual */
.smi-product-detail-page .col-sm-6 > .add-to-wishlist,
.smi-product-detail-page form .add-to-wishlist {
    position: static !important;
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    display: inline-block !important;
    border-radius: 6px !important;
    background: #5bc0de !important;
    color: #fff !important;
}

@media (max-width: 767px) {
    .smi-shop-bg {
        background: linear-gradient(145deg, #8f94fb 0%, #4e54c8 60%, #1f6feb 100%) !important;
    }
    .smi-circles li {
        opacity: .72 !important;
        animation-duration: 28s !important;
    }
    .smi-products-page #results .product .add-to-wishlist,
    .featured-products .product .add-to-wishlist,
    .smi-login-page .product .add-to-wishlist,
    .smi-profile-page .product .add-to-wishlist,
    .smi-product-detail-page .featured-products .product .add-to-wishlist,
    .smi-shop-modern .smi-product-card .add-to-wishlist {
        width: 40px !important;
        height: 40px !important;
        min-width: 40px !important;
        min-height: 40px !important;
        top: 14px !important;
        right: 14px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .smi-shop-bg,
    .smi-shop-bg:before,
    .smi-circles li,
    header .main-header .logo img,
    header .logo img,
    .smi-products-page #results .product,
    .featured-products .product,
    .smi-login-page .product,
    .smi-profile-page .product,
    .smi-product-detail-page .featured-products .product,
    .smi-shop-modern .smi-product-card,
    .smi-products-page #results .product img,
    .featured-products .product img,
    .smi-login-page .product img,
    .smi-profile-page .product img,
    .smi-product-detail-page .featured-products .product img,
    .smi-shop-modern .smi-product-image img {
        animation: none !important;
        transition: none !important;
        transform: none !important;
    }
}

/* --------------------------------------------------------------------------
   Etapa 5.5 - Menus sobre productos + header/footer glass transparente
   - Corrige categorias/marcas quedando debajo de productos en home y productos
   - Header y footer semi-transparentes para apreciar el fondo animado
-------------------------------------------------------------------------- */

/* Header siempre por encima del contenido y de las cards con hover/transform */
#wrapper.blue > header,
#wrapper > header,
header {
    position: relative !important;
    z-index: 50000 !important;
    isolation: isolate !important;
}

#wrapper.blue > .page-contents,
#wrapper > .page-contents,
#wrapper.blue > .smi-shop-modern,
#wrapper > .smi-shop-modern {
    position: relative !important;
    z-index: 5 !important;
}

header .container,
header .row,
header .navbar,
header .navbar-header,
header .navbar-collapse,
header .navbar-nav,
header .navbar-nav > li,
header .dropdown,
header .mega-menu {
    overflow: visible !important;
}

header .navbar .navbar-nav > li.open,
header .navbar .navbar-nav > li.dropdown.open,
header .navbar .navbar-nav > li.mega-menu.open {
    position: relative !important;
    z-index: 60010 !important;
}

header .navbar .dropdown-menu,
header .dropdown-menu,
header .dropdown-menu-login,
header .mega-menu-content,
header .dropdown-menu-content,
header .navbar .navbar-nav > li.open > .dropdown-menu {
    z-index: 60020 !important;
    position: absolute !important;
}

header .navbar .mega-menu.open > .dropdown-menu,
header .navbar .mega-menu > .dropdown-menu {
    z-index: 60020 !important;
}

/* Bajar cualquier stacking alto de productos para que nunca tapen menus */
.smi-products-page #results,
.smi-products-page #results .product,
.smi-shop-modern,
.smi-shop-modern .smi-product-card,
.featured-products,
.featured-products .product,
.smi-product-detail-page,
.page-contents .product,
.page-contents .panel,
.page-contents .box,
.page-contents .well {
    z-index: auto !important;
}

/* Header glass: transparente pero legible */
header .top-header {
    background: rgba(12, 18, 33, .38) !important;
    border: 0 !important;
    box-shadow: none !important;
    backdrop-filter: blur(10px) saturate(125%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(125%) !important;
}

header .main-header {
    background: rgba(255, 255, 255, .20) !important;
    border: 0 !important;
    box-shadow: none !important;
    backdrop-filter: blur(8px) saturate(130%) !important;
    -webkit-backdrop-filter: blur(8px) saturate(130%) !important;
}

header .navbar.navbar-default {
    background: rgba(255, 255, 255, .36) !important;
    border: 1px solid rgba(255,255,255,.30) !important;
    border-left: 0 !important;
    border-right: 0 !important;
    box-shadow: 0 10px 26px rgba(15, 23, 42, .08) !important;
    backdrop-filter: blur(12px) saturate(135%) !important;
    -webkit-backdrop-filter: blur(12px) saturate(135%) !important;
}

header .navbar.navbar-default .navbar-nav > li > a {
    color: #162033 !important;
    text-shadow: 0 1px 0 rgba(255,255,255,.38) !important;
}

header .navbar.navbar-default .navbar-nav > li.active > a,
header .navbar.navbar-default .navbar-nav > li.open > a,
header .navbar.navbar-default .navbar-nav > li > a:hover,
header .navbar.navbar-default .navbar-nav > li > a:focus {
    color: #fff !important;
    background: rgba(31, 111, 235, .86) !important;
    text-shadow: none !important;
}

/* Dropdowns con vidrio claro y sombra, siempre por encima */
header .dropdown-menu,
header .dropdown-menu-login,
header .mega-menu-content,
header .dropdown-menu-content {
    background: rgba(255, 255, 255, .96) !important;
    border: 1px solid rgba(31,111,235,.14) !important;
    border-radius: 12px !important;
    box-shadow: 0 22px 55px rgba(15,23,42,.22) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
}

header .dropdown-menu > li > a,
header .dropdown-menu-content a,
header .mega-menu-content a {
    color: #1e293b !important;
}

header .dropdown-menu > li > a:hover,
header .dropdown-menu-content a:hover,
header .mega-menu-content a:hover {
    color: #fff !important;
    background: rgba(31,111,235,.88) !important;
}

/* Footer glass para que se vea el fondo animado */
.footer,
footer,
#wrapper > .footer,
#wrapper > footer,
#wrapper.blue > .footer,
#wrapper.blue > footer,
.footer-top,
.footer-bottom,
#footer,
#footer-bottom {
    background: rgba(11, 18, 32, .42) !important;
    color: #fff !important;
    border: 0 !important;
    box-shadow: none !important;
    backdrop-filter: blur(10px) saturate(125%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(125%) !important;
}

.footer a,
footer a,
#footer a,
.footer-bottom a {
    color: #dbeafe !important;
}

.footer a:hover,
footer a:hover,
#footer a:hover,
.footer-bottom a:hover {
    color: #ffffff !important;
}

/* La capa animada queda de fondo en todo el wrapper sin tapar contenido */
.smi-shop-bg {
    z-index: 0 !important;
}

/* En celular, mantener menus usables sin obligar dropdown absoluto */
@media (max-width: 767px) {
    header .navbar .dropdown-menu,
    header .dropdown-menu,
    header .navbar .navbar-nav > li.open > .dropdown-menu {
        position: static !important;
        z-index: auto !important;
        box-shadow: none !important;
        border-radius: 8px !important;
        margin: 4px 8px !important;
    }

    header .main-header,
    header .navbar.navbar-default {
        background: rgba(255,255,255,.48) !important;
    }
}

/* --------------------------------------------------------------------------
   Etapa 5.6 - Correcciones finales solicitadas
   - Restaurar selector de colores del footer
   - Home con el mismo fondo claro que productos, manteniendo animacion original detras
   - Login, categorias, marcas y carrito siempre por encima del header/contenido
-------------------------------------------------------------------------- */

/* El selector de colores del footer no debe heredar el color blanco de los enlaces */
.footer .theme-color,
footer .theme-color,
.footer-bottom .theme-color {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 16px !important;
    height: 16px !important;
    padding: 0 !important;
    margin: 0 2px !important;
    border-radius: 4px !important;
    text-shadow: none !important;
    background: transparent !important;
}
.footer .theme-color i,
footer .theme-color i,
.footer-bottom .theme-color i {
    font-size: 14px !important;
    line-height: 1 !important;
    text-shadow: none !important;
}
.footer .theme-color.text-blue,
footer .theme-color.text-blue,
.footer-bottom .theme-color.text-blue { color: #2196f3 !important; }
.footer .theme-color.text-blue-grey,
footer .theme-color.text-blue-grey,
.footer-bottom .theme-color.text-blue-grey { color: #607d8b !important; }
.footer .theme-color.text-brown,
footer .theme-color.text-brown,
.footer-bottom .theme-color.text-brown { color: #795548 !important; }
.footer .theme-color.text-cyan,
footer .theme-color.text-cyan,
.footer-bottom .theme-color.text-cyan { color: #00bcd4 !important; }
.footer .theme-color.text-green,
footer .theme-color.text-green,
.footer-bottom .theme-color.text-green { color: #4caf50 !important; }
.footer .theme-color.text-grey,
footer .theme-color.text-grey,
.footer-bottom .theme-color.text-grey { color: #9e9e9e !important; }
.footer .theme-color.text-purple,
footer .theme-color.text-purple,
.footer-bottom .theme-color.text-purple { color: #9c27b0 !important; }
.footer .theme-color.text-orange,
footer .theme-color.text-orange,
.footer-bottom .theme-color.text-orange { color: #ff9800 !important; }
.footer .theme-color.text-pink,
footer .theme-color.text-pink,
.footer-bottom .theme-color.text-pink { color: #e91e63 !important; }
.footer .theme-color.text-red,
footer .theme-color.text-red,
.footer-bottom .theme-color.text-red { color: #f44336 !important; }
.footer .theme-color.text-teal,
footer .theme-color.text-teal,
.footer-bottom .theme-color.text-teal { color: #009688 !important; }
.footer .theme-color:hover,
footer .theme-color:hover,
.footer-bottom .theme-color:hover {
    transform: translateY(-1px) !important;
    filter: brightness(1.08) !important;
}

/* Home con fondo igual a pagina productos: claro/translucido; la animacion original queda detras */
.smi-shop-modern,
.smi-shop-modern .smi-hero-wrap,
.smi-shop-modern .smi-products-section {
    position: relative !important;
    z-index: 2 !important;
    background: rgba(238, 246, 255, .86) !important;
    /* background-image comentado Etapa 5.9: no tapar fondo animado */
}
.smi-shop-modern .smi-hero-wrap {
    padding-top: 18px !important;
}
.smi-shop-modern .smi-products-section {
    padding-bottom: 28px !important;
}

/* Mantener el fondo animado tipo CodePen en su color original, sin teñirlo por el wrapper */
.smi-shop-bg {
    background: #4e54c8 !important;
    background: linear-gradient(135deg, #8f94fb 0%, #4e54c8 50%, #4e54c8 100%) !important;
}

/* Header por capas: login/top arriba de buscador, nav arriba de productos */
#wrapper > header,
#wrapper.blue > header,
header {
    position: relative !important;
    z-index: 90000 !important;
    overflow: visible !important;
    isolation: auto !important;
}
header .top-header {
    position: relative !important;
    z-index: 93000 !important;
    overflow: visible !important;
}
header .main-header {
    position: relative !important;
    z-index: 91000 !important;
    overflow: visible !important;
}
header .navbar.navbar-default,
header nav.navbar {
    position: relative !important;
    z-index: 92000 !important;
    overflow: visible !important;
}
header .top-header .dropdown,
header .top-header .dropdown.open,
header .top-header .nav > li,
header .top-header .nav > li.open {
    position: relative !important;
    z-index: 94000 !important;
    overflow: visible !important;
}
header .top-header .dropdown-menu,
header .top-header .dropdown-menu-login,
header .top-header #dropdownLogin + .dropdown-menu,
header .top-header .open > .dropdown-menu {
    position: absolute !important;
    z-index: 95000 !important;
}
header .navbar .dropdown,
header .navbar .dropdown.open,
header .navbar .navbar-nav > li,
header .navbar .navbar-nav > li.open {
    z-index: 94000 !important;
}
header .navbar .dropdown-menu,
header .navbar .open > .dropdown-menu,
header .navbar .mega-menu-content,
header .navbar .dropdown-menu-content {
    z-index: 95000 !important;
}

/* Ningun producto, hero o panel debe crear una capa por encima del menu */
.smi-shop-modern,
.smi-shop-modern .smi-hero-card,
.smi-shop-modern .smi-product-card,
.smi-products-page #results,
.smi-products-page #results .product,
.featured-products,
.featured-products .product,
.page-contents,
.page-contents .panel,
.page-contents .well {
    z-index: auto !important;
}

/* Dropdown login legible sobre header transparente */
header .dropdown-menu-login {
    min-width: 260px !important;
    padding: 14px !important;
    background: rgba(255,255,255,.98) !important;
    color: #1e293b !important;
}
header .dropdown-menu-login label,
header .dropdown-menu-login .checkbox,
header .dropdown-menu-login a,
header .dropdown-menu-login p {
    color: #1e293b !important;
}

/* Header/footer transparentes pero no invisibles: se aprecia el fondo sin romper controles */
header .top-header {
    background: rgba(12, 18, 33, .58) !important;
}
header .main-header {
    background: rgba(255, 255, 255, .34) !important;
}
header .navbar.navbar-default {
    background: rgba(255, 255, 255, .58) !important;
}
.footer,
footer,
#wrapper > .footer,
#wrapper > footer,
#wrapper.blue > .footer,
#wrapper.blue > footer,
.footer-top,
.footer-bottom,
#footer,
#footer-bottom {
    background: rgba(11, 18, 32, .62) !important;
}

@media (max-width: 767px) {
    header .top-header,
    header .main-header,
    header .navbar.navbar-default {
        z-index: 90000 !important;
    }
    header .dropdown-menu,
    header .dropdown-menu-login,
    header .navbar .dropdown-menu,
    header .navbar .open > .dropdown-menu {
        position: static !important;
        z-index: auto !important;
    }
    .smi-shop-modern,
    .smi-shop-modern .smi-hero-wrap,
    .smi-shop-modern .smi-products-section,
    .page-contents,
    .page-contents.smi-shop-page {
        background: rgba(238,246,255,.92) !important;
    }
}

/* --------------------------------------------------------------------------
   Etapa 5.7 - Reparaciones funcionales y visuales
   - Home: add-to-cart vuelve a funcionar porque las cards vuelven a tener clase .product
   - Productos: fuerza grilla de 2/3 columnas en PC aunque el wrapper cambie de color
   - Colores: el selector de colores vuelve a modificar fondo/acento sin romper el diseño
   - Favoritos: corazón arriba derecha sobre la imagen/producto, no al lado del carrito
   - Fondo/contenido: capa clara con 40% de transparencia para ver la animación
-------------------------------------------------------------------------- */

/* Variables de tema: default y colores del selector */
#wrapper {
    --smi-accent: #1f6feb;
    --smi-accent-dark: #144db3;
    --smi-bg-a: #8f94fb;
    --smi-bg-b: #4e54c8;
    --smi-bg-c: #4e54c8;
}
#wrapper.blue { --smi-accent:#2196f3; --smi-accent-dark:#1565c0; --smi-bg-a:#8f94fb; --smi-bg-b:#4e54c8; --smi-bg-c:#4e54c8; }
#wrapper.blue-grey { --smi-accent:#607d8b; --smi-accent-dark:#455a64; --smi-bg-a:#b0bec5; --smi-bg-b:#607d8b; --smi-bg-c:#455a64; }
#wrapper.brown { --smi-accent:#795548; --smi-accent-dark:#5d4037; --smi-bg-a:#bcaaa4; --smi-bg-b:#795548; --smi-bg-c:#5d4037; }
#wrapper.cyan { --smi-accent:#00bcd4; --smi-accent-dark:#00838f; --smi-bg-a:#80deea; --smi-bg-b:#00acc1; --smi-bg-c:#00838f; }
#wrapper.green { --smi-accent:#4caf50; --smi-accent-dark:#2e7d32; --smi-bg-a:#a5d6a7; --smi-bg-b:#43a047; --smi-bg-c:#2e7d32; }
#wrapper.grey { --smi-accent:#9e9e9e; --smi-accent-dark:#616161; --smi-bg-a:#e0e0e0; --smi-bg-b:#9e9e9e; --smi-bg-c:#616161; }
#wrapper.purple { --smi-accent:#9c27b0; --smi-accent-dark:#6a1b9a; --smi-bg-a:#ce93d8; --smi-bg-b:#8e24aa; --smi-bg-c:#6a1b9a; }
#wrapper.orange { --smi-accent:#ff9800; --smi-accent-dark:#ef6c00; --smi-bg-a:#ffcc80; --smi-bg-b:#fb8c00; --smi-bg-c:#ef6c00; }
#wrapper.pink { --smi-accent:#e91e63; --smi-accent-dark:#ad1457; --smi-bg-a:#f48fb1; --smi-bg-b:#d81b60; --smi-bg-c:#ad1457; }
#wrapper.red { --smi-accent:#f44336; --smi-accent-dark:#c62828; --smi-bg-a:#ef9a9a; --smi-bg-b:#e53935; --smi-bg-c:#c62828; }
#wrapper.teal { --smi-accent:#009688; --smi-accent-dark:#00695c; --smi-bg-a:#80cbc4; --smi-bg-b:#00897b; --smi-bg-c:#00695c; }

/* El fondo animado se mantiene y responde al color elegido */
#wrapper .smi-shop-bg {
    background: #4e54c8 !important;
    background: linear-gradient(135deg, var(--smi-bg-a) 0%, var(--smi-bg-b) 52%, var(--smi-bg-c) 100%) !important;
}

/* Contenido claro con 40% de transparencia: se ve el fondo, pero el texto queda legible */
.page-contents,
.page-contents.smi-shop-page,
.smi-shop-modern,
.smi-shop-modern .smi-hero-wrap,
.smi-shop-modern .smi-products-section {
    background: rgba(238, 246, 255, .60) !important;
    /* background-image comentado Etapa 5.9: no tapar fondo animado */
}

/* Cards con fondo semitransparente controlado para mantener lectura */
.smi-products-page #results .product,
.featured-products .product,
.smi-login-page .product,
.smi-profile-page .product,
.smi-product-detail-page .featured-products .product,
.smi-shop-modern .smi-product-card,
.page-contents .panel,
.page-contents .well,
.page-contents #grid-selector,
.page-contents #sticky-con .list-group {
    background: rgba(255,255,255,.88) !important;
}

/* Acentos dependientes del color elegido */
.page-contents .btn-primary,
.page-contents .btn-theme,
.page-contents .add-to-cart,
.smi-shop-modern .smi-add-cart,
.smi-shop-modern .smi-section-btn,
.smi-shop-modern .smi-hero-btn {
    background: var(--smi-accent) !important;
    box-shadow: 0 10px 24px rgba(31,111,235,.24) !important;
}
.page-contents .btn-primary:hover,
.page-contents .btn-theme:hover,
.page-contents .add-to-cart:hover,
.smi-shop-modern .smi-add-cart:hover,
.smi-shop-modern .smi-section-btn:hover,
.smi-shop-modern .smi-hero-btn:hover {
    background: var(--smi-accent-dark) !important;
}
.smi-products-page #results .product .product_price,
.featured-products .product .product_price,
.smi-login-page .product .product_price,
.smi-profile-page .product .product_price,
.smi-product-detail-page .featured-products .product .product_price,
.smi-shop-modern .smi-product-price,
.smi-shop-modern .smi-product-name:hover,
.smi-products-page #results .product .product_name a:hover {
    color: var(--smi-accent) !important;
}
header .navbar.navbar-default .navbar-nav > li.active > a,
header .navbar.navbar-default .navbar-nav > li.open > a,
header .navbar.navbar-default .navbar-nav > li > a:hover,
header .navbar.navbar-default .navbar-nav > li > a:focus,
header .dropdown-menu > li > a:hover,
header .dropdown-menu-content a:hover,
header .mega-menu-content a:hover {
    background: var(--smi-accent) !important;
}

/* Selector de colores: garantizar click y colores visibles */
.footer .theme-color,
footer .theme-color,
.footer-bottom .theme-color {
    position: relative !important;
    z-index: 5 !important;
    cursor: pointer !important;
    pointer-events: auto !important;
}

/* Grilla de productos: evita que productos quede en una sola columna en escritorio */
@media (min-width: 992px) {
    .smi-products-page #results.grid .product-container.col-md-6,
    .smi-products-page #results.grid .product-container:not(.col-md-4) {
        width: 50% !important;
        float: left !important;
        clear: none !important;
    }
    .smi-products-page #results.grid .product-container.col-md-4 {
        width: 33.33333333% !important;
        float: left !important;
        clear: none !important;
    }
    .smi-products-page #results.grid:before,
    .smi-products-page #results.grid:after,
    .smi-products-page #results.grid .row:before,
    .smi-products-page #results.grid .row:after {
        content: " " !important;
        display: table !important;
        clear: both !important;
    }
}
@media (max-width: 991px) {
    .smi-products-page #results.grid .product-container {
        width: 100% !important;
        float: none !important;
    }
}

/* Favoritos arriba a la derecha: más específico para productos generados por ajax */
.smi-products-page #results .product .product-bottom .product-cart-button .btn-group .add-to-wishlist,
.smi-products-page #results .product .product-cart-button .btn-group .add-to-wishlist,
.smi-products-page #results .product .product-cart-button .add-to-wishlist,
.smi-products-page #results .product .add-to-wishlist,
.featured-products .product .add-to-wishlist,
.smi-login-page .product .add-to-wishlist,
.smi-profile-page .product .add-to-wishlist,
.smi-product-detail-page .featured-products .product .add-to-wishlist,
.smi-shop-modern .smi-product-card .add-to-wishlist {
    position: absolute !important;
    top: 16px !important;
    right: 16px !important;
    left: auto !important;
    bottom: auto !important;
    z-index: 40 !important;
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    min-height: 42px !important;
    max-width: 42px !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 999px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(255,255,255,.94) !important;
    color: #0ea5e9 !important;
    border: 1px solid rgba(14,165,233,.24) !important;
    box-shadow: 0 10px 22px rgba(15,23,42,.15) !important;
    transform: none !important;
    opacity: 1 !important;
    line-height: 1 !important;
    font-size: 0 !important;
}
.smi-products-page #results .product .add-to-wishlist i,
.featured-products .product .add-to-wishlist i,
.smi-login-page .product .add-to-wishlist i,
.smi-profile-page .product .add-to-wishlist i,
.smi-product-detail-page .featured-products .product .add-to-wishlist i,
.smi-shop-modern .smi-product-card .add-to-wishlist i {
    font-size: 18px !important;
    margin: 0 !important;
    line-height: 1 !important;
}
.smi-products-page #results .product .product-cart-button .btn-group,
.smi-products-page #results .product .product-cart-button {
    position: static !important;
    display: block !important;
    width: 100% !important;
}
.smi-products-page #results .product .product-cart-button .add-to-cart {
    display: block !important;
    width: calc(100% - 28px) !important;
    margin: 8px 14px 15px !important;
    border-radius: 999px !important;
}

/* La imagen/área superior deja espacio visual para el corazón */
.smi-products-page #results .product .product-image,
.smi-products-page #results .product .product-top,
.smi-products-page #results .product .details,
.featured-products .product .details,
.smi-shop-modern .smi-product-image {
    position: relative !important;
}

/* Home: al tener clase .product, impedir que reglas legacy deformen la card moderna */
.smi-shop-modern .smi-product-card.product {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
}
.smi-shop-modern .smi-product-card.product .smi-product-image img {
    width: auto !important;
    height: 100% !important;
    max-width: 100% !important;
    object-fit: contain !important;
}

/* Zoom liviano, no tapa favoritos ni rompe layout */
@media (min-width: 992px) {
    .smi-products-page #results .product:hover img,
    .featured-products .product:hover img,
    .smi-shop-modern .smi-product-card:hover .smi-product-image img {
        transform: scale(1.05) !important;
    }
}

@media (max-width: 767px) {
    .smi-products-page #results .product .add-to-wishlist,
    .featured-products .product .add-to-wishlist,
    .smi-login-page .product .add-to-wishlist,
    .smi-profile-page .product .add-to-wishlist,
    .smi-product-detail-page .featured-products .product .add-to-wishlist,
    .smi-shop-modern .smi-product-card .add-to-wishlist {
        top: 12px !important;
        right: 12px !important;
        width: 40px !important;
        height: 40px !important;
        min-width: 40px !important;
        min-height: 40px !important;
    }
    .page-contents,
    .page-contents.smi-shop-page,
    .smi-shop-modern,
    .smi-shop-modern .smi-hero-wrap,
    .smi-shop-modern .smi-products-section {
        background: rgba(238, 246, 255, .76) !important;
        /* background-image comentado Etapa 5.9: no tapar fondo animado */
    }
}

/* --------------------------------------------------------------------------
   Etapa 5.8 - Reparacion grilla escritorio, transparencia y favoritos desktop
   - Fuerza grilla real aunque Isotope haya dejado estilos inline de una columna
   - Aumenta transparencia de fondos para apreciar mejor el fondo animado
   - En escritorio mueve el corazon al area de imagen para no tapar titulo
-------------------------------------------------------------------------- */

/* Más transparencia en el fondo general que está por encima de la animación */
.page-contents,
.page-contents.smi-shop-page,
.smi-shop-modern,
.smi-shop-modern .smi-hero-wrap,
.smi-shop-modern .smi-products-section {
    background: rgba(238, 246, 255, .40) !important;
    /* background-image comentado Etapa 5.9: no tapar fondo animado */
}

/* Header/footer con transparencia, pero sin romper lectura ni controles */
header .top-header,
header .main-header,
header .navbar.navbar-default {
    background: rgba(47, 76, 210, .50) !important;
    backdrop-filter: saturate(135%) blur(4px) !important;
    -webkit-backdrop-filter: saturate(135%) blur(4px) !important;
}
header .navbar.navbar-default {
    background: rgba(238, 246, 255, .48) !important;
}
.footer,
footer.footer {
    background: rgba(12, 18, 28, .64) !important;
    backdrop-filter: saturate(130%) blur(4px) !important;
    -webkit-backdrop-filter: saturate(130%) blur(4px) !important;
}
.footer-bottom {
    background: rgba(5, 10, 18, .70) !important;
}

/* Cards un poco mas transparentes sin perder lectura */
.smi-products-page #results .product,
.featured-products .product,
.smi-login-page .product,
.smi-profile-page .product,
.smi-product-detail-page .featured-products .product,
.smi-shop-modern .smi-product-card,
.page-contents .panel,
.page-contents .well,
.page-contents #grid-selector,
.page-contents #sticky-con .list-group,
.page-contents .table,
.page-contents .cart-totals {
    background: rgba(255,255,255,.80) !important;
}
.smi-products-page #results .product .product-bottom,
.smi-products-page #results .product .product-top,
.smi-products-page #results .product .product-desc,
.smi-products-page #results .product .product-cart-button,
.smi-products-page #results .product .stats-container,
.featured-products .product .stats-container,
.featured-products .product .details {
    background: transparent !important;
}

/* Reparación fuerte de grilla: Isotope a veces deja los productos absolutos en una sola columna */
.smi-products-page #results.grid {
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
}
.smi-products-page #results.grid > .product-container,
.smi-products-page #results.grid .row > .product-container {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
    clear: none !important;
    box-sizing: border-box !important;
    margin-bottom: 22px !important;
}
@media (min-width: 992px) {
    .smi-products-page #results.grid > .product-container.col-md-6,
    .smi-products-page #results.grid > .product-container:not(.col-md-4),
    .smi-products-page #results.grid .row > .product-container.col-md-6,
    .smi-products-page #results.grid .row > .product-container:not(.col-md-4) {
        width: 50% !important;
        max-width: 50% !important;
        float: left !important;
        display: block !important;
    }
    .smi-products-page #results.grid > .product-container.col-md-4,
    .smi-products-page #results.grid .row > .product-container.col-md-4 {
        width: 33.33333333% !important;
        max-width: 33.33333333% !important;
        float: left !important;
        display: block !important;
    }
    .smi-products-page #results.grid > .product-container:nth-child(2n+1),
    .smi-products-page #results.grid .row > .product-container:nth-child(2n+1) {
        clear: none !important;
    }
    .smi-products-page #results.grid:after,
    .smi-products-page #results.grid .row:after {
        content: "" !important;
        display: block !important;
        clear: both !important;
    }
}
@media (max-width: 991px) {
    .smi-products-page #results.grid > .product-container,
    .smi-products-page #results.grid .row > .product-container {
        width: 100% !important;
        max-width: 100% !important;
        float: none !important;
        display: block !important;
    }
}

/* Favoritos en escritorio: no tapar titulo; en horizontal queda sobre la zona de imagen */
@media (min-width: 768px) {
    .smi-products-page #results .product .add-to-wishlist {
        top: 22px !important;
        left: 106px !important;
        right: auto !important;
        bottom: auto !important;
        z-index: 45 !important;
        width: 38px !important;
        height: 38px !important;
        min-width: 38px !important;
        min-height: 38px !important;
    }
    .smi-products-page #results .product .add-to-wishlist i {
        font-size: 17px !important;
    }
}
@media (min-width: 1200px) {
    .smi-products-page #results .product .add-to-wishlist {
        left: 112px !important;
    }
}

/* En destacados laterales y home verticales, el corazon vuelve arriba a la derecha de la imagen/card */
.featured-products .product .add-to-wishlist,
.smi-login-page .product .add-to-wishlist,
.smi-profile-page .product .add-to-wishlist,
.smi-product-detail-page .featured-products .product .add-to-wishlist,
.smi-shop-modern .smi-product-card .add-to-wishlist {
    top: 14px !important;
    right: 14px !important;
    left: auto !important;
}

/* Mejor espacio para titulos en cards horizontales de productos */
@media (min-width: 992px) {
    .smi-products-page #results .product .product-desc {
        padding-right: 12px !important;
    }
    .smi-products-page #results .product .product-name,
    .smi-products-page #results .product .product_name a {
        padding-right: 0 !important;
    }
}

/* --------------------------------------------------------------------------
   Etapa 5.9 - Fondo sin gradient, grilla desktop y favoritos sin tapar texto
   - Quita background-image linear-gradient en los contenedores pedidos.
   - En escritorio el favorito del listado queda en la fila de acciones.
   - En móvil se mantiene arriba a la derecha, como ya estaba correcto.
-------------------------------------------------------------------------- */

.page-contents,
.page-contents.smi-shop-page,
.smi-shop-modern,
.smi-shop-modern .smi-hero-wrap,
.smi-shop-modern .smi-products-section {
    background-color: rgba(238, 246, 255, .40) !important;
    background-image: none !important;
}

@media (max-width: 767px) {
    .page-contents,
    .page-contents.smi-shop-page,
    .smi-shop-modern,
    .smi-shop-modern .smi-hero-wrap,
    .smi-shop-modern .smi-products-section {
        background-color: rgba(238, 246, 255, .54) !important;
        background-image: none !important;
    }
}

/* Reparación de grilla cuando Isotope deja los productos en una sola columna */
.smi-products-page #results.grid.smi-grid-fixed {
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    display: block !important;
}
.smi-products-page #results.grid.smi-grid-fixed:after {
    content: "";
    display: block;
    clear: both;
}
.smi-products-page #results.grid.smi-grid-fixed > .product-container {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
    clear: none !important;
    box-sizing: border-box !important;
    margin-bottom: 24px !important;
    display: block !important;
}
@media (min-width: 992px) {
    .smi-products-page #results.grid.smi-grid-fixed.smi-grid-two > .product-container {
        width: 50% !important;
        max-width: 50% !important;
        float: left !important;
    }
    .smi-products-page #results.grid.smi-grid-fixed.smi-grid-three > .product-container {
        width: 33.33333333% !important;
        max-width: 33.33333333% !important;
        float: left !important;
    }
}
@media (max-width: 991px) {
    .smi-products-page #results.grid.smi-grid-fixed > .product-container {
        width: 100% !important;
        max-width: 100% !important;
        float: none !important;
    }
}

/* Desktop: el corazón del listado no debe tapar título; queda en la fila de acciones */
@media (min-width: 768px) {
    .smi-products-page #results .product .product-cart-button .btn-group {
        position: relative !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
        width: 100% !important;
        padding: 0 14px 14px !important;
        margin: 0 !important;
    }
    .smi-products-page #results .product .product-cart-button .btn-group .add-to-wishlist,
    .smi-products-page #results .product .product-cart-button .add-to-wishlist,
    .smi-products-page #results .product .add-to-wishlist {
        position: static !important;
        top: auto !important;
        right: auto !important;
        left: auto !important;
        bottom: auto !important;
        order: 1 !important;
        flex: 0 0 42px !important;
        width: 42px !important;
        max-width: 42px !important;
        min-width: 42px !important;
        height: 42px !important;
        min-height: 42px !important;
        padding: 0 !important;
        margin: 0 !important;
        border-radius: 999px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        background: rgba(255,255,255,.95) !important;
        color: #0ea5e9 !important;
        border: 1px solid rgba(14,165,233,.26) !important;
        box-shadow: 0 8px 18px rgba(15,23,42,.13) !important;
        z-index: 4 !important;
        font-size: 0 !important;
        line-height: 1 !important;
    }
    .smi-products-page #results .product .add-to-wishlist i {
        font-size: 18px !important;
        margin: 0 !important;
        line-height: 1 !important;
    }
    .smi-products-page #results .product .product-cart-button .add-to-cart {
        order: 2 !important;
        flex: 1 1 auto !important;
        width: auto !important;
        margin: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-height: 42px !important;
        border-radius: 999px !important;
    }
}

/* Mobile: conservar favorito flotante arriba a la derecha */
@media (max-width: 767px) {
    .smi-products-page #results .product .add-to-wishlist {
        position: absolute !important;
        top: 12px !important;
        right: 12px !important;
        left: auto !important;
        bottom: auto !important;
        width: 40px !important;
        height: 40px !important;
        min-width: 40px !important;
        min-height: 40px !important;
        z-index: 45 !important;
    }
}


/* --------------------------------------------------------------------------
   Etapa 5.10 - Ajuste final
   - Minicarrito siempre por encima de la barra de menu.
   - Favoritos vuelve arriba/derecha en escritorio sin tapar titulo.
-------------------------------------------------------------------------- */

/* Main header debe quedar por encima de la barra de navegacion cuando abre el carrito */
header .main-header {
    position: relative !important;
    z-index: 98000 !important;
    overflow: visible !important;
}
header .navbar.navbar-default,
header nav.navbar {
    position: relative !important;
    z-index: 96000 !important;
}
header .main-header .cart-btn,
header .main-header .cart-btn.open,
header .main-header .cart-btn .dropdown,
header .main-header .cart-btn .dropdown-menu,
header .main-header .cart-btn.open .dropdown-menu,
header .main-header #cart-contents {
    z-index: 100500 !important;
}
header .main-header .cart-btn .dropdown-menu,
header .main-header .cart-btn.open .dropdown-menu {
    position: absolute !important;
    overflow: visible !important;
    background: rgba(255,255,255,.97) !important;
    border: 1px solid rgba(15,23,42,.10) !important;
    box-shadow: 0 20px 45px rgba(15,23,42,.20) !important;
}

/* Mantener los desplegables de categorias/marcas por encima del contenido */
header .navbar .dropdown-menu,
header .navbar .open > .dropdown-menu,
header .navbar .mega-menu-content,
header .navbar .dropdown-menu-content {
    z-index: 100000 !important;
}

/* En escritorio el corazon vuelve a la esquina superior derecha del producto.
   El texto reserva espacio para no chocar contra el boton. */
@media (min-width: 768px) {
    .smi-products-page #results .product {
        position: relative !important;
    }
    .smi-products-page #results .product .product-cart-button .btn-group {
        display: block !important;
        padding: 0 !important;
        margin: 0 !important;
        width: 100% !important;
    }
    .smi-products-page #results .product .product-cart-button .btn-group .add-to-wishlist,
    .smi-products-page #results .product .product-cart-button .add-to-wishlist,
    .smi-products-page #results .product .add-to-wishlist {
        position: absolute !important;
        top: 16px !important;
        right: 16px !important;
        left: auto !important;
        bottom: auto !important;
        z-index: 70 !important;
        width: 42px !important;
        height: 42px !important;
        min-width: 42px !important;
        min-height: 42px !important;
        max-width: 42px !important;
        padding: 0 !important;
        margin: 0 !important;
        border-radius: 999px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        background: rgba(255,255,255,.95) !important;
        color: #0ea5e9 !important;
        border: 1px solid rgba(14,165,233,.26) !important;
        box-shadow: 0 10px 22px rgba(15,23,42,.15) !important;
        line-height: 1 !important;
        font-size: 0 !important;
    }
    .smi-products-page #results .product .add-to-wishlist i {
        font-size: 18px !important;
        margin: 0 !important;
        line-height: 1 !important;
    }
    .smi-products-page #results .product .product-cart-button .add-to-cart {
        display: block !important;
        width: calc(100% - 28px) !important;
        margin: 8px 14px 15px !important;
        min-height: 42px !important;
        border-radius: 999px !important;
    }

    /* El titulo y la descripcion no deben meterse debajo del corazon */
    .smi-products-page #results .product .product-desc,
    .smi-products-page #results .product .product-name,
    .smi-products-page #results .product .product_name,
    .smi-products-page #results .product .product_name a,
    .smi-products-page #results .product h3,
    .smi-products-page #results .product h4 {
        padding-right: 62px !important;
        box-sizing: border-box !important;
        overflow-wrap: anywhere !important;
        word-break: normal !important;
    }
}

/* En movil se conserva el comportamiento que estaba correcto */
@media (max-width: 767px) {
    .smi-products-page #results .product .add-to-wishlist {
        position: absolute !important;
        top: 12px !important;
        right: 12px !important;
        left: auto !important;
        bottom: auto !important;
        z-index: 70 !important;
    }
    .smi-products-page #results .product .product-desc,
    .smi-products-page #results .product .product-name,
    .smi-products-page #results .product .product_name,
    .smi-products-page #results .product .product_name a,
    .smi-products-page #results .product h3,
    .smi-products-page #results .product h4 {
        padding-right: 0 !important;
    }
}

/* --------------------------------------------------------------------------
   Etapa 5.11 - Orden definitivo de capas + favoritos arriba/derecha
   Pedido:
   1) Top header por encima de todo: idioma, moneda, login, registro y sus ventanas.
   2) Main header debajo: busqueda y articulos/minicarrito.
   3) Menu debajo: inicio, productos, categorias y marcas, pero encima de productos.
   4) Favoritos en escritorio arriba/derecha del producto, no en la fila inferior.
-------------------------------------------------------------------------- */

/* Orden principal de capas del shop */
#wrapper > header,
#wrapper.blue > header,
header {
    position: relative !important;
    z-index: 100000 !important;
    overflow: visible !important;
    isolation: auto !important;
}

/* A. Barra superior: idioma, moneda, iniciar sesion, registro */
header .top-header {
    position: relative !important;
    z-index: 160000 !important;
    overflow: visible !important;
}
header .top-header .container,
header .top-header .row,
header .top-header .nav,
header .top-header .nav > li,
header .top-header .dropdown,
header .top-header .btn-group,
header .top-header .dropdown-toggle {
    position: relative !important;
    z-index: 160010 !important;
    overflow: visible !important;
}
header .top-header .dropdown-menu,
header .top-header .dropdown-menu-login,
header .top-header .open > .dropdown-menu {
    position: absolute !important;
    z-index: 161000 !important;
    overflow: visible !important;
}

/* B. Busqueda y carrito/articulos: debajo del top header, encima del menu */
header .main-header {
    position: relative !important;
    z-index: 140000 !important;
    overflow: visible !important;
}
header .main-header .container,
header .main-header .row,
header .main-header .search-box,
header .main-header .cart-btn,
header .main-header .dropdown {
    position: relative !important;
    z-index: 140010 !important;
    overflow: visible !important;
}
header .main-header .cart-btn .dropdown-menu,
header .main-header .cart-btn.open .dropdown-menu,
header .main-header #cart-contents,
header .main-header .shopping-cart + .dropdown-menu {
    position: absolute !important;
    z-index: 145000 !important;
    overflow: visible !important;
}

/* C. Navegacion: encima de productos, pero debajo de busqueda/carrito */
header .navbar.navbar-default,
header nav.navbar,
header .navbar-collapse,
header .navbar-nav {
    position: relative !important;
    z-index: 120000 !important;
    overflow: visible !important;
}
header .navbar .navbar-nav > li,
header .navbar .dropdown,
header .navbar .mega-menu {
    position: relative !important;
    z-index: 120010 !important;
    overflow: visible !important;
}
header .navbar .dropdown-menu,
header .navbar .open > .dropdown-menu,
header .navbar .mega-menu-content,
header .navbar .dropdown-menu-content {
    position: absolute !important;
    z-index: 125000 !important;
    overflow: visible !important;
}

/* Contenido siempre debajo de las tres barras del header */
#wrapper > .page-contents,
#wrapper.blue > .page-contents,
.page-contents,
.smi-shop-modern,
.smi-products-page #results,
.smi-products-page #results .product,
.smi-products-page #results .product-container,
.featured-products,
.featured-products .product {
    z-index: auto !important;
}

/* Favoritos: fuerza absoluta respecto a la tarjeta, no respecto al grupo inferior de botones */
@media (min-width: 768px) {
    .smi-products-page #results .product {
        position: relative !important;
        overflow: visible !important;
    }
    .smi-products-page #results .product .product-cart-button,
    .smi-products-page #results .product .product-cart-button .btn-group,
    .smi-products-page #results .product .product-bottom,
    .smi-products-page #results .product .btn-group {
        position: static !important;
        overflow: visible !important;
        display: block !important;
        width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
    }
    .smi-products-page #results .product .product-cart-button .btn-group .add-to-wishlist,
    .smi-products-page #results .product .product-cart-button .add-to-wishlist,
    .smi-products-page #results .product .add-to-wishlist,
    .smi-products-page #results .product .smi-wishlist-float {
        position: absolute !important;
        top: 16px !important;
        right: 16px !important;
        left: auto !important;
        bottom: auto !important;
        z-index: 90 !important;
        width: 42px !important;
        height: 42px !important;
        min-width: 42px !important;
        min-height: 42px !important;
        max-width: 42px !important;
        max-height: 42px !important;
        padding: 0 !important;
        margin: 0 !important;
        border-radius: 999px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        background: rgba(255,255,255,.96) !important;
        color: #0ea5e9 !important;
        border: 1px solid rgba(14,165,233,.28) !important;
        box-shadow: 0 10px 22px rgba(15,23,42,.15) !important;
        line-height: 1 !important;
        font-size: 0 !important;
        transform: none !important;
        opacity: 1 !important;
    }
    .smi-products-page #results .product .add-to-wishlist i,
    .smi-products-page #results .product .smi-wishlist-float i {
        font-size: 18px !important;
        margin: 0 !important;
        line-height: 1 !important;
    }
    .smi-products-page #results .product .product-cart-button .add-to-cart {
        display: block !important;
        width: calc(100% - 28px) !important;
        margin: 8px 14px 15px !important;
        min-height: 42px !important;
        border-radius: 999px !important;
    }

    /* Reservar aire del lado derecho para que el titulo nunca choque con el corazon */
    .smi-products-page #results .product .product-desc,
    .smi-products-page #results .product .product_name,
    .smi-products-page #results .product .product_name a,
    .smi-products-page #results .product .product-name,
    .smi-products-page #results .product .product-name a,
    .smi-products-page #results .product h3,
    .smi-products-page #results .product h4 {
        padding-right: 64px !important;
        box-sizing: border-box !important;
        overflow-wrap: anywhere !important;
        word-break: normal !important;
        white-space: normal !important;
    }
}

/* Movil: conservar el comportamiento que ya estaba correcto */
@media (max-width: 767px) {
    .smi-products-page #results .product .add-to-wishlist,
    .smi-products-page #results .product .smi-wishlist-float {
        position: absolute !important;
        top: 12px !important;
        right: 12px !important;
        left: auto !important;
        bottom: auto !important;
        z-index: 90 !important;
        width: 40px !important;
        height: 40px !important;
        min-width: 40px !important;
        min-height: 40px !important;
    }
    .smi-products-page #results .product .product-desc,
    .smi-products-page #results .product .product_name,
    .smi-products-page #results .product .product_name a,
    .smi-products-page #results .product .product-name,
    .smi-products-page #results .product .product-name a,
    .smi-products-page #results .product h3,
    .smi-products-page #results .product h4 {
        padding-right: 0 !important;
    }
}

/* --------------------------------------------------------------------------
   Etapa 5.12 - Correccion final del desplegable Articulos/Carrito
   - Ventana del carrito siempre por encima de menu, carrusel y productos.
   - Fondo interno solido para que no se mezcle con el banner/fondo animado.
   - Mantiene orden de capas: top header > buscador/carrito > menu > contenido.
-------------------------------------------------------------------------- */

/* Orden general de capas del header */
#wrapper > header,
#wrapper.blue > header,
header {
    position: relative !important;
    z-index: 300000 !important;
    overflow: visible !important;
}

/* A. Idioma / moneda / login / registro: arriba de todo */
header .top-header,
header .top-header .container,
header .top-header .row,
header .top-header .nav,
header .top-header .nav > li,
header .top-header .dropdown,
header .top-header .dropdown-toggle,
header .top-header .btn,
header .top-header .btn-group {
    position: relative !important;
    z-index: 300500 !important;
    overflow: visible !important;
}

header .top-header .dropdown-menu,
header .top-header .dropdown-menu-login,
header .top-header .open > .dropdown-menu {
    position: absolute !important;
    z-index: 301000 !important;
    background-color: rgba(255,255,255,.98) !important;
    background-image: none !important;
    opacity: 1 !important;
    overflow: visible !important;
}

/* B. Buscador y boton Articulos/Carrito: debajo del top header, encima del menu */
header .main-header,
header .main-header .container,
header .main-header .row,
header .main-header .search-box,
header .main-header .cart-btn,
header .main-header .cart-btn.open,
header .main-header .dropdown {
    position: relative !important;
    z-index: 280000 !important;
    overflow: visible !important;
}

/* C. Menu principal: encima del contenido, debajo del carrito y top header */
header .navbar.navbar-default,
header nav.navbar,
header .navbar-collapse,
header .navbar-nav,
header .navbar .navbar-nav > li,
header .navbar .dropdown,
header .navbar .mega-menu {
    position: relative !important;
    z-index: 240000 !important;
    overflow: visible !important;
}

header .navbar .dropdown-menu,
header .navbar .open > .dropdown-menu,
header .navbar .mega-menu-content,
header .navbar .dropdown-menu-content {
    position: absolute !important;
    z-index: 245000 !important;
    overflow: visible !important;
}

/* Contenido siempre por debajo del header */
#wrapper > .page-contents,
#wrapper.blue > .page-contents,
.page-contents,
.smi-shop-modern,
.smi-products-page #results,
.smi-products-page #results .product,
.smi-products-page #results .product-container,
.featured-products,
.featured-products .product {
    position: relative !important;
    z-index: 1 !important;
}

/* Caja desplegable del carrito: limpia, solida y sobre todo el contenido */
header .main-header .cart-btn > .dropdown-menu,
header .main-header .cart-btn.open > .dropdown-menu,
header .main-header .cart-btn .dropdown-menu[aria-labelledby="dropdown-cart"],
header .main-header .shopping-cart + .dropdown-menu {
    position: absolute !important;
    z-index: 290000 !important;
    min-width: 330px !important;
    padding: 0 !important;
    margin-top: 4px !important;
    overflow: hidden !important;
    border-radius: 14px !important;
    border: 1px solid rgba(15,23,42,.16) !important;
    background: #fff !important;
    background-color: #fff !important;
    background-image: none !important;
    opacity: 1 !important;
    box-shadow: 0 24px 55px rgba(15,23,42,.28) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    isolation: isolate !important;
}

header .main-header #cart-contents,
header .main-header #cart-empty,
header .main-header #cart-items,
header .main-header #cart-links {
    position: relative !important;
    z-index: 290010 !important;
    background: #fff !important;
    background-color: #fff !important;
    background-image: none !important;
    opacity: 1 !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

/* Las filas internas tambien deben ser solidas para que no se vea el carrusel/fondo detras */
header .main-header #cart-items,
header .main-header #cart-items thead,
header .main-header #cart-items tbody,
header .main-header #cart-items tfoot,
header .main-header #cart-items tr,
header .main-header #cart-items th,
header .main-header #cart-items td,
header .main-header #cart-contents .table,
header .main-header #cart-contents .table > tbody > tr > td,
header .main-header #cart-contents .table > tbody > tr > th,
header .main-header #cart-contents .table > tfoot > tr > td,
header .main-header #cart-contents .table > tfoot > tr > th {
    background-image: none !important;
    opacity: 1 !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

header .main-header #cart-items tr,
header .main-header #cart-items td,
header .main-header #cart-items th {
    background-color: #fff !important;
}

header .main-header #cart-items tr:nth-child(even) td,
header .main-header #cart-items tr:nth-child(even) th {
    background-color: #f8fafc !important;
}

/* Resumen de totales del minicarrito con fondo propio */
header .main-header #cart-items tr:nth-last-child(-n+2) td,
header .main-header #cart-items tr:nth-last-child(-n+2) th,
header .main-header #cart-items .active td,
header .main-header #cart-items .active th {
    background-color: #f1f5f9 !important;
    color: #172033 !important;
    font-weight: 700 !important;
}

header .main-header #cart-items img {
    background-color: #fff !important;
    border-radius: 8px !important;
}

header .main-header #cart-links {
    margin: 0 !important;
    padding: 8px !important;
    border-top: 1px solid rgba(15,23,42,.10) !important;
}

header .main-header #cart-links .btn {
    background: #fff !important;
    background-image: none !important;
    border-color: rgba(31,111,235,.22) !important;
    color: #1f6feb !important;
}

header .main-header #cart-links .btn:hover {
    background: #1f6feb !important;
    color: #fff !important;
}

/* Evitar que textos de barras del contenido se filtren visualmente sobre el carrito */
.smi-products-page .page-info,
.smi-products-page #grid-sort,
.smi-products-page #grid-selector,
.smi-products-page .panel,
.smi-shop-modern .carousel,
.smi-shop-modern .smi-hero-wrap {
    z-index: 1 !important;
}

/* =========================================================
   ETAPA 5.13 - MINICARRITO CON SCROLL INTERNO
   Recupera el scroll cuando hay muchos articulos, manteniendo
   la caja solida y por encima del resto del shop.
   ========================================================= */
header .main-header .cart-btn > .dropdown-menu,
header .main-header .cart-btn.open > .dropdown-menu,
header .main-header .cart-btn .dropdown-menu[aria-labelledby="dropdown-cart"],
header .main-header .shopping-cart + .dropdown-menu {
    max-height: calc(100vh - 105px) !important;
}

header .main-header #cart-contents {
    max-height: min(440px, calc(100vh - 130px)) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: thin !important;
    scrollbar-color: rgba(31,111,235,.55) rgba(241,245,249,.95) !important;
}

header .main-header #cart-contents::-webkit-scrollbar {
    width: 8px !important;
}

header .main-header #cart-contents::-webkit-scrollbar-track {
    background: rgba(241,245,249,.95) !important;
    border-radius: 10px !important;
}

header .main-header #cart-contents::-webkit-scrollbar-thumb {
    background: rgba(31,111,235,.55) !important;
    border-radius: 10px !important;
}

header .main-header #cart-contents::-webkit-scrollbar-thumb:hover {
    background: rgba(31,111,235,.78) !important;
}

header .main-header #cart-links {
    position: sticky !important;
    bottom: 0 !important;
    z-index: 290020 !important;
    background: #fff !important;
    box-shadow: 0 -8px 18px rgba(15,23,42,.06) !important;
}

/* =========================================================
   ETAPA 5.14 - FAVORITOS VISIBLE EN PRODUCTOS MOBILE
   Mantiene intacto escritorio y fuerza que en celular aparezca
   solo el icono de corazon en la esquina superior derecha.
   ========================================================= */
@media (max-width: 767px) {
    .smi-products-page #results .product,
    .smi-products-page #results .product-container,
    .smi-products-page #results .product .details,
    .smi-products-page #results .product .stats-container,
    .smi-products-page #results .product .image,
    .smi-products-page #results .product .product-image {
        position: relative !important;
        overflow: visible !important;
    }

    .smi-products-page #results .product .add-to-wishlist,
    .smi-products-page #results .product .smi-wishlist-float,
    .smi-products-page #results .product .product-cart-button .add-to-wishlist,
    .smi-products-page #results .product .product-cart-button .btn-group .add-to-wishlist {
        position: absolute !important;
        top: 12px !important;
        right: 12px !important;
        left: auto !important;
        bottom: auto !important;
        z-index: 999 !important;
        width: 42px !important;
        height: 42px !important;
        min-width: 42px !important;
        min-height: 42px !important;
        max-width: 42px !important;
        max-height: 42px !important;
        padding: 0 !important;
        margin: 0 !important;
        border-radius: 999px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
        background: rgba(255,255,255,.96) !important;
        background-image: none !important;
        color: #0ea5e9 !important;
        border: 1px solid rgba(14,165,233,.30) !important;
        box-shadow: 0 10px 24px rgba(15,23,42,.16) !important;
        font-size: 0 !important;
        line-height: 1 !important;
        text-indent: 0 !important;
        transform: none !important;
    }

    .smi-products-page #results .product .add-to-wishlist i,
    .smi-products-page #results .product .smi-wishlist-float i {
        display: none !important;
    }

    .smi-products-page #results .product .add-to-wishlist:before,
    .smi-products-page #results .product .smi-wishlist-float:before {
        content: "\f08a" !important;
        font-family: FontAwesome !important;
        font-size: 20px !important;
        line-height: 1 !important;
        display: block !important;
        color: #0ea5e9 !important;
    }

    .smi-products-page #results .product .add-to-wishlist:hover,
    .smi-products-page #results .product .smi-wishlist-float:hover,
    .smi-products-page #results .product .add-to-wishlist:focus,
    .smi-products-page #results .product .smi-wishlist-float:focus {
        background: #0ea5e9 !important;
        color: #fff !important;
    }

    .smi-products-page #results .product .add-to-wishlist:hover:before,
    .smi-products-page #results .product .smi-wishlist-float:hover:before,
    .smi-products-page #results .product .add-to-wishlist:focus:before,
    .smi-products-page #results .product .smi-wishlist-float:focus:before {
        color: #fff !important;
    }
}

/* =========================================================
   ETAPA 5.15 - ORDENAR / SELECTOR SOBRE PRODUCTOS
   Corrige el dropdown del selector Ordenar para que no quede
   detrás de cards, grilla ni barra de información.
   ========================================================= */
.smi-products-page #grid-selector {
    position: relative !important;
    z-index: 260000 !important;
    overflow: visible !important;
    isolation: isolate !important;
}

.smi-products-page #grid-selector #grid-sort,
.smi-products-page #grid-selector .sort,
.smi-products-page #grid-selector .bootstrap-select,
.smi-products-page #grid-selector .bootstrap-select.btn-group,
.smi-products-page #grid-selector .btn-group,
.smi-products-page #grid-selector .dropdown,
.smi-products-page #grid-selector .open {
    position: relative !important;
    z-index: 260010 !important;
    overflow: visible !important;
}

.smi-products-page #grid-selector .bootstrap-select.open,
.smi-products-page #grid-selector .bootstrap-select.btn-group.open,
.smi-products-page #grid-selector .btn-group.open {
    z-index: 260050 !important;
}

.smi-products-page #grid-selector .bootstrap-select .dropdown-menu,
.smi-products-page #grid-selector .bootstrap-select.btn-group .dropdown-menu,
.smi-products-page #grid-selector .btn-group .dropdown-menu,
.smi-products-page #sorting + .bootstrap-select .dropdown-menu,
.smi-products-page .bootstrap-select.open .dropdown-menu,
.smi-products-page .bootstrap-select.btn-group.open .dropdown-menu {
    z-index: 260100 !important;
    background: #fff !important;
    background-image: none !important;
    border: 1px solid rgba(15,23,42,.12) !important;
    border-radius: 12px !important;
    box-shadow: 0 18px 38px rgba(15,23,42,.20) !important;
    overflow: visible !important;
}

.smi-products-page #grid-selector .bootstrap-select .dropdown-menu > li > a,
.smi-products-page #grid-selector .bootstrap-select.btn-group .dropdown-menu > li > a,
.smi-products-page .bootstrap-select.open .dropdown-menu > li > a {
    background: #fff !important;
    color: #172033 !important;
    padding: 8px 12px !important;
}

.smi-products-page #grid-selector .bootstrap-select .dropdown-menu > li > a:hover,
.smi-products-page #grid-selector .bootstrap-select .dropdown-menu > li.selected > a,
.smi-products-page .bootstrap-select.open .dropdown-menu > li > a:hover,
.smi-products-page .bootstrap-select.open .dropdown-menu > li.selected > a {
    background: rgba(31,111,235,.10) !important;
    color: #1f6feb !important;
}

.smi-products-page #results,
.smi-products-page #results.grid,
.smi-products-page #results.list,
.smi-products-page #results .product-container,
.smi-products-page #results .product {
    z-index: 1 !important;
}

/* Etapa 5.16 - stock, producto interno y favoritos */
.smi-no-stock-btn,
.page-contents .smi-no-stock-btn,
.smi-shop-modern .smi-no-stock-btn {
    background: #e53935 !important;
    border-color: #c62828 !important;
    color: #fff !important;
    cursor: pointer !important;
    box-shadow: 0 10px 24px rgba(229, 57, 53, .22) !important;
    border-radius: 999px !important;
    font-weight: 800 !important;
    text-align: center !important;
}
.smi-no-stock-btn:hover,
.smi-no-stock-btn:focus {
    background: #c62828 !important;
    color: #fff !important;
    transform: translateY(-1px);
}
.smi-no-stock-btn.smi-no-stock-shake {
    animation: smiNoStockShake .42s ease-in-out;
}
@keyframes smiNoStockShake {
    0%, 100% { transform: translateX(0); }
    20% { transform: translateX(-5px); }
    40% { transform: translateX(5px); }
    60% { transform: translateX(-4px); }
    80% { transform: translateX(4px); }
}
.smi-out-stock {
    position: relative;
}
.smi-out-stock .quantity-input,
.smi-out-stock .btn-minus,
.smi-out-stock .btn-plus {
    opacity: .55;
    pointer-events: none;
}
.smi-out-stock .product-image,
.smi-out-stock .smi-product-image {
    filter: grayscale(.18);
}
.smi-out-stock .product-image:after,
.smi-shop-modern .smi-product-card.smi-out-stock .smi-product-image:after {
    content: 'Sin stock';
    position: absolute;
    left: 14px;
    top: 14px;
    z-index: 8;
    background: #e53935;
    color: #fff;
    border-radius: 999px;
    padding: 6px 10px;
    font-size: 11px;
    line-height: 1;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .03em;
    box-shadow: 0 8px 18px rgba(229,57,53,.22);
}
.smi-products-page #results .product .smi-no-stock-btn,
.featured-products .product .smi-no-stock-btn,
.smi-shop-modern .smi-product-card .smi-no-stock-btn {
    width: 100% !important;
    min-height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
}
.featured-products .product .smi-no-stock-btn {
    min-width: 44px !important;
    width: 44px !important;
    height: 44px !important;
    padding: 0 !important;
    font-size: 0 !important;
}
.featured-products .product .smi-no-stock-btn i {
    font-size: 16px !important;
    margin: 0 !important;
}
.smi-product-detail-page .smi-legacy-gallery-hidden {
    display: none !important;
}
.smi-product-detail-page .photo-slider {
    margin: 0 auto 18px !important;
    max-width: 560px !important;
    background: rgba(255,255,255,.90) !important;
    border: 1px solid rgba(255,255,255,.70) !important;
    border-radius: 18px !important;
    padding: 14px !important;
    box-shadow: 0 16px 34px rgba(21, 54, 112, .10) !important;
}
.smi-product-detail-page .photo-slider .carousel-inner,
.smi-product-detail-page .photo-slider .item {
    background: transparent !important;
}
.smi-product-detail-page .photo-slider img.img-thumbnail {
    width: auto !important;
    max-width: 100% !important;
    max-height: 440px !important;
    margin: 0 auto !important;
    object-fit: contain !important;
    border: 0 !important;
    box-shadow: none !important;
    background: #fff !important;
}
.smi-product-detail-page .article-slide .carousel-indicators {
    position: static !important;
    width: 100% !important;
    margin: 12px 0 0 !important;
    text-align: left !important;
    left: auto !important;
    bottom: auto !important;
}
.smi-product-detail-page .article-slide .carousel-indicators li {
    width: 48px !important;
    height: 48px !important;
    margin: 4px !important;
    border: 1px solid rgba(33,150,243,.35) !important;
    border-radius: 8px !important;
    text-indent: 0 !important;
    overflow: hidden !important;
    background: #fff !important;
}
.smi-product-detail-page .article-slide .carousel-indicators li img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
}
.smi-product-detail-page #lightbox,
.smi-product-detail-page .modal-backdrop {
    display: none !important;
}
.smi-product-detail-page .table-right-left {
    background: rgba(255,255,255,.96) !important;
    border-radius: 12px !important;
    overflow: hidden !important;
}
.smi-product-detail-page .table-right-left td:first-child {
    color: #44516c !important;
    font-weight: 800 !important;
}
.smi-product-detail-page .smi-detail-actions .btn-group {
    display: flex !important;
    width: 100% !important;
    gap: 8px !important;
}
.smi-product-detail-page .smi-detail-wishlist {
    width: 52px !important;
    min-width: 52px !important;
    height: 48px !important;
    border-radius: 14px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.smi-product-detail-page .smi-detail-add-cart,
.smi-product-detail-page .smi-detail-no-stock-btn {
    flex: 1 1 auto !important;
    min-height: 48px !important;
    border-radius: 14px !important;
    font-weight: 900 !important;
    transition: transform .18s ease, box-shadow .18s ease, filter .18s ease !important;
}
.smi-product-detail-page .smi-detail-add-cart:hover,
.smi-product-detail-page .smi-detail-add-cart:focus {
    transform: translateY(-2px) !important;
    box-shadow: 0 14px 30px rgba(33, 150, 243, .28) !important;
}
.smi-product-detail-page .smi-detail-add-cart:active,
.smi-product-detail-page .smi-detail-add-cart.smi-cart-pulse {
    transform: scale(.985) !important;
    filter: brightness(1.08) !important;
}
@media (max-width: 767px) {
    .smi-product-detail-page .photo-slider {
        max-width: 100% !important;
        padding: 10px !important;
    }
    .smi-product-detail-page .smi-detail-actions .btn-group {
        flex-wrap: nowrap !important;
    }
}

/* =========================================================
   ETAPA 5.18 - DESTACADOS SIN STOCK SIEMPRE VISIBLES
   ========================================================= */
.smi-products-page .col-sm-3 .featured-products .product .smi-no-stock-btn,
.smi-products-page .col-md-2 .featured-products .product .smi-no-stock-btn,
.smi-products-page .col-sm-2 .featured-products .product .smi-no-stock-btn,
.smi-products-page .col-md-3 .featured-products .product .smi-no-stock-btn,
.smi-login-page .col-sm-3 .featured-products .product .smi-no-stock-btn,
.smi-profile-page .col-sm-3 .featured-products .product .smi-no-stock-btn {
    order: 2 !important;
    position: static !important;
    inset: auto !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    z-index: 12 !important;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    display: inline-flex !important;
    flex: 0 0 44px !important;
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 40px !important;
    min-height: 40px !important;
    margin: 10px auto 9px !important;
    padding: 0 !important;
    border-radius: 999px !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: visible !important;
}

.smi-products-page .col-sm-3 .featured-products .product.smi-out-stock,
.smi-products-page .col-md-2 .featured-products .product.smi-out-stock,
.smi-products-page .col-sm-2 .featured-products .product.smi-out-stock,
.smi-products-page .col-md-3 .featured-products .product.smi-out-stock {
    overflow: hidden !important;
}

/* =========================================================
   ETAPA 5.19 - PRODUCTOS RELACIONADOS DE /product
   Estructura propia para evitar superposición del diseño legacy.
   ========================================================= */
.smi-product-detail-page .smi-detail-related-section {
    position: relative !important;
    z-index: 2 !important;
    padding-top: 22px !important;
    padding-bottom: 28px !important;
}

.smi-product-detail-page .smi-detail-related-title {
    margin: 0 0 14px !important;
    padding-bottom: 10px !important;
    border-bottom: 2px solid rgba(33, 150, 243, .72) !important;
    color: #1e293b !important;
    font-weight: 900 !important;
}

.smi-product-detail-page .smi-detail-related-grid {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
}

.smi-product-detail-page .smi-detail-related-col {
    display: flex !important;
    margin-bottom: 22px !important;
}

.smi-product-detail-page .smi-detail-related-card {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    height: auto !important;
    min-height: 100% !important;
    margin: 0 !important;
    padding: 12px !important;
    overflow: hidden !important;
    background: rgba(255, 255, 255, .94) !important;
    border: 1px solid rgba(148, 163, 184, .28) !important;
    border-radius: 18px !important;
    box-shadow: 0 14px 30px rgba(30, 64, 175, .10) !important;
    transform: none !important;
}

.smi-product-detail-page .smi-detail-related-card:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 18px 36px rgba(30, 64, 175, .16) !important;
}

.smi-product-detail-page .smi-detail-related-image {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 205px !important;
    margin: 0 0 10px !important;
    padding: 8px !important;
    overflow: hidden !important;
    background: rgba(248, 250, 252, .94) !important;
    border-radius: 14px !important;
}

.smi-product-detail-page .smi-detail-related-image img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    margin: 0 !important;
    object-fit: contain !important;
    transform: none !important;
}

.smi-product-detail-page .smi-detail-related-card:hover .smi-detail-related-image img {
    transform: scale(1.04) !important;
    transition: transform .22s ease !important;
}

.smi-product-detail-page .smi-detail-related-action {
    position: static !important;
    width: 100% !important;
    margin: 0 0 10px !important;
    order: initial !important;
}

.smi-product-detail-page .smi-detail-related-action .add-to-cart,
.smi-product-detail-page .smi-detail-related-action .smi-no-stock-btn {
    position: static !important;
    inset: auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 44px !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 0 12px !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    border: 0 !important;
    border-radius: 999px !important;
    font-size: 13px !important;
    line-height: 1.15 !important;
    font-weight: 900 !important;
    text-align: center !important;
    white-space: normal !important;
}

.smi-product-detail-page .smi-detail-related-action .add-to-cart {
    color: #fff !important;
    background: #1e88f5 !important;
}

.smi-product-detail-page .smi-detail-related-action .smi-no-stock-btn {
    color: #fff !important;
    background: #e53935 !important;
}

.smi-product-detail-page .smi-detail-related-action .smi-no-stock-btn i,
.smi-product-detail-page .smi-detail-related-action .smi-no-stock-btn span {
    display: inline-block !important;
    font-size: 13px !important;
}

.smi-product-detail-page .smi-detail-related-info {
    position: static !important;
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    width: 100% !important;
    min-height: 0 !important;
    padding: 0 3px 3px !important;
    background: transparent !important;
    transform: none !important;
}

.smi-product-detail-page .smi-detail-related-price {
    position: static !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: baseline !important;
    gap: 5px !important;
    width: 100% !important;
    margin: 0 0 8px !important;
    padding: 0 !important;
    color: #087cf0 !important;
    font-size: 18px !important;
    line-height: 1.25 !important;
    font-weight: 900 !important;
    text-align: left !important;
    white-space: normal !important;
}

.smi-product-detail-page .smi-detail-related-price del {
    font-size: 13px !important;
    font-weight: 700 !important;
}

.smi-product-detail-page .smi-detail-related-name {
    position: static !important;
    display: block !important;
    width: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
    overflow: visible !important;
    color: #111827 !important;
    font-size: 14px !important;
    line-height: 1.28 !important;
    font-weight: 900 !important;
    text-align: left !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
}

.smi-product-detail-page .smi-detail-related-name a {
    color: inherit !important;
    text-decoration: none !important;
}

.smi-product-detail-page .smi-detail-related-meta {
    position: static !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 4px !important;
    width: 100% !important;
    margin-top: auto !important;
    color: #64748b !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
    text-transform: uppercase !important;
}

.smi-product-detail-page .smi-detail-related-meta a {
    color: #64748b !important;
}

.smi-product-detail-page .smi-related-promo {
    z-index: 4 !important;
}

@media (max-width: 991px) {
    .smi-product-detail-page .smi-detail-related-image {
        height: 230px !important;
    }
}

@media (max-width: 767px) {
    .smi-product-detail-page .smi-detail-related-col {
        width: 100% !important;
    }

    .smi-product-detail-page .smi-detail-related-card {
        max-width: 440px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .smi-product-detail-page .smi-detail-related-image {
        height: 260px !important;
    }
}

/* =========================================================
   ETAPA 5.20 - DESTACADOS LATERALES EN /product
   Bloque aislado del diseño legacy: stock real + sin solapados.
   ========================================================= */
.smi-product-detail-page .smi-side-featured-wrap,
.smi-product-detail-page .smi-side-featured-carousel,
.smi-product-detail-page .smi-side-featured-carousel .carousel-inner,
.smi-product-detail-page .smi-side-featured-carousel .item,
.smi-product-detail-page .smi-side-featured-products {
    overflow: visible !important;
}

.smi-product-detail-page .smi-side-featured-products {
    display: flex !important;
    flex-direction: column !important;
    gap: 18px !important;
}

.smi-product-detail-page .smi-side-featured-card {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 1px solid rgba(255,255,255,.72) !important;
    border-radius: 18px !important;
    background: rgba(255,255,255,.92) !important;
    box-shadow: 0 12px 28px rgba(35,55,105,.12) !important;
    transform: none !important;
}

.smi-product-detail-page .smi-side-featured-card .smi-side-featured-inner {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 10px !important;
    overflow: hidden !important;
    background: transparent !important;
    transform: none !important;
}

.smi-product-detail-page .smi-side-featured-card .image_overlay {
    display: none !important;
}

.smi-product-detail-page .smi-side-featured-image {
    order: 1 !important;
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 150px !important;
    margin: 0 0 10px !important;
    padding: 10px !important;
    overflow: hidden !important;
    border-radius: 14px !important;
    background: rgba(248,251,255,.96) !important;
}

.smi-product-detail-page .smi-side-featured-image img {
    position: static !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: contain !important;
    transform: none !important;
}

.smi-product-detail-page .smi-side-featured-action {
    order: 2 !important;
    position: static !important;
    display: block !important;
    width: 100% !important;
    margin: 0 0 12px !important;
    padding: 0 !important;
    transform: none !important;
}

.smi-product-detail-page .smi-side-featured-action .add-to-cart,
.smi-product-detail-page .smi-side-featured-action .smi-no-stock-btn {
    position: static !important;
    inset: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 8px 10px !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 999px !important;
    color: #fff !important;
    font-size: 11px !important;
    line-height: 1.15 !important;
    font-weight: 900 !important;
    text-align: center !important;
    white-space: normal !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
}

.smi-product-detail-page .smi-side-featured-action .add-to-cart {
    background: #1f76ed !important;
}

.smi-product-detail-page .smi-side-featured-action .smi-no-stock-btn {
    background: #e53935 !important;
}

.smi-product-detail-page .smi-side-featured-action .add-to-cart i,
.smi-product-detail-page .smi-side-featured-action .smi-no-stock-btn i {
    flex: 0 0 auto !important;
    margin: 0 !important;
    font-size: 14px !important;
}

.smi-product-detail-page .smi-side-featured-action .add-to-cart span,
.smi-product-detail-page .smi-side-featured-action .smi-no-stock-btn span {
    display: inline !important;
    min-width: 0 !important;
    font-size: inherit !important;
}

.smi-product-detail-page .smi-side-featured-info {
    order: 3 !important;
    position: static !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 3px 5px !important;
    overflow: visible !important;
    background: transparent !important;
    text-align: left !important;
    transform: none !important;
}

.smi-product-detail-page .smi-side-featured-price {
    order: 1 !important;
    position: static !important;
    float: none !important;
    clear: both !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    width: 100% !important;
    min-height: 0 !important;
    margin: 0 0 9px !important;
    padding: 0 !important;
    color: #087cf0 !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
    font-weight: 900 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
}

.smi-product-detail-page .smi-side-featured-price strong,
.smi-product-detail-page .smi-side-featured-price del {
    display: block !important;
    position: static !important;
    width: 100% !important;
    margin: 0 !important;
    line-height: inherit !important;
}

.smi-product-detail-page .smi-side-featured-name {
    order: 2 !important;
    position: static !important;
    float: none !important;
    clear: both !important;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
    overflow: visible !important;
    white-space: normal !important;
}

.smi-product-detail-page .smi-side-featured-name a {
    position: static !important;
    display: -webkit-box !important;
    width: 100% !important;
    margin: 0 !important;
    color: #0d172b !important;
    font-size: 12px !important;
    line-height: 1.3 !important;
    font-weight: 900 !important;
    text-align: left !important;
    white-space: normal !important;
    overflow: hidden !important;
    overflow-wrap: anywhere !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 4 !important;
}

.smi-product-detail-page .smi-side-featured-meta {
    order: 3 !important;
    position: static !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 3px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #64718b !important;
    font-size: 10.5px !important;
    line-height: 1.35 !important;
}

.smi-product-detail-page .smi-side-featured-meta .link {
    position: static !important;
    float: none !important;
    display: inline !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #64718b !important;
    font-size: inherit !important;
    line-height: inherit !important;
}

.smi-product-detail-page .smi-side-featured-card.smi-out-stock .smi-side-featured-image {
    opacity: .76 !important;
}

@media (min-width: 768px) {
    .smi-product-detail-page .smi-side-featured-card:hover {
        transform: translateY(-2px) !important;
        box-shadow: 0 16px 34px rgba(35,55,105,.16) !important;
    }
}


/* =========================================================
   ETAPA 5.21 - PROMO BADGE REUBICADO Y MODERNIZADO
   - Móvil: badge circular debajo del corazón, sin mancha roja.
   - Escritorio: badge "Promo" a la izquierda y por encima de la imagen.
   - Mantiene Sin stock intacto.
   ========================================================= */

/* Escritorio / tablet: "Promo" a la izquierda, por encima de la imagen */
@media (min-width: 768px) {
    .smi-products-page #results .product .badge.badge-right.theme,
    .featured-products .product .badge.badge-right.theme,
    .smi-login-page .product .badge.badge-right.theme,
    .smi-profile-page .product .badge.badge-right.theme,
    .smi-product-detail-page .featured-products .product .badge.badge-right.theme,
    .smi-product-detail-page .smi-related-promo,
    .smi-product-detail-page .smi-side-featured-promo {
        position: absolute !important;
        top: 12px !important;
        left: 12px !important;
        right: auto !important;
        z-index: 12 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-height: 28px !important;
        padding: 6px 14px !important;
        border-radius: 999px !important;
        border: 0 !important;
        background: linear-gradient(135deg, #ff8a00 0%, #ff4d6d 48%, #8b5cf6 100%) !important;
        color: #fff !important;
        font-size: 12px !important;
        font-weight: 800 !important;
        line-height: 1 !important;
        letter-spacing: .35px !important;
        text-transform: uppercase !important;
        box-shadow: 0 10px 24px rgba(255, 93, 122, .28) !important;
        white-space: nowrap !important;
        overflow: visible !important;
    }
}

/* Móvil: badge tipo acción debajo del corazón */
@media (max-width: 767px) {
    .smi-products-page #results .product .badge.badge-right.theme,
    .featured-products .product .badge.badge-right.theme,
    .smi-login-page .product .badge.badge-right.theme,
    .smi-profile-page .product .badge.badge-right.theme,
    .smi-product-detail-page .featured-products .product .badge.badge-right.theme,
    .smi-product-detail-page .smi-related-promo,
    .smi-product-detail-page .smi-side-featured-promo {
        position: absolute !important;
        top: 60px !important;
        right: 12px !important;
        left: auto !important;
        bottom: auto !important;
        z-index: 998 !important;
        width: 42px !important;
        height: 42px !important;
        min-width: 42px !important;
        min-height: 42px !important;
        max-width: 42px !important;
        max-height: 42px !important;
        padding: 0 !important;
        margin: 0 !important;
        border-radius: 999px !important;
        border: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        font-size: 0 !important;
        line-height: 0 !important;
        text-indent: 0 !important;
        overflow: visible !important;
        background: linear-gradient(135deg, #ff8a00 0%, #ff4d6d 48%, #8b5cf6 100%) !important;
        color: transparent !important;
        box-shadow: 0 10px 24px rgba(255, 93, 122, .30) !important;
        animation: smiPromoPulse 1.9s ease-in-out infinite !important;
    }

    .smi-products-page #results .product .badge.badge-right.theme::before,
    .featured-products .product .badge.badge-right.theme::before,
    .smi-login-page .product .badge.badge-right.theme::before,
    .smi-profile-page .product .badge.badge-right.theme::before,
    .smi-product-detail-page .featured-products .product .badge.badge-right.theme::before,
    .smi-product-detail-page .smi-related-promo::before,
    .smi-product-detail-page .smi-side-featured-promo::before {
        content: "%" !important;
        display: block !important;
        color: #fff !important;
        font-size: 20px !important;
        font-weight: 900 !important;
        line-height: 1 !important;
        text-indent: 0 !important;
    }
}

@keyframes smiPromoPulse {
    0%, 100% { transform: scale(1); box-shadow: 0 10px 24px rgba(255, 93, 122, .30); }
    50% { transform: scale(1.06); box-shadow: 0 12px 28px rgba(139, 92, 246, .34); }
}


/* =========================================================
   ETAPA 5.21.1 - PROMO + SIN STOCK SIN SUPERPOSICION
   Si un producto tiene ambos estados, en escritorio el badge
   Promo baja por debajo de "Sin stock" para no taparse.
   ========================================================= */
@media (min-width: 768px) {
    .smi-products-page #results .product.smi-out-stock .badge.badge-right.theme,
    .featured-products .product.smi-out-stock .badge.badge-right.theme,
    .smi-login-page .product.smi-out-stock .badge.badge-right.theme,
    .smi-profile-page .product.smi-out-stock .badge.badge-right.theme,
    .smi-product-detail-page .featured-products .product.smi-out-stock .badge.badge-right.theme,
    .smi-product-detail-page .smi-detail-related-card.smi-out-stock .smi-related-promo,
    .smi-product-detail-page .smi-side-featured-card.smi-out-stock .smi-side-featured-promo,
    .smi-shop-modern .smi-product-card.smi-out-stock .badge.badge-right.theme {
        top: 50px !important;
        left: 14px !important;
    }
}
