.vm-order-done >div {
    margin-bottom: 20px;
}

/* Mi cuenta: separación entre Provincia y Código Postal */
body.view-user.layout-edit .IdProvincia-group {
    margin-bottom: 14px !important;
}

.box-bg-indent form {
    margin-bottom: 20px;
}

#cart-view .billto-shipto input,
#cart-view .vm-payment-select input,
#cart-view .vm-shipment-select input,
#cart-view .vm-fieldset-tos input {
    opacity: 0;
}

:root {
    --color-primary: #172b8e !important;
    --color-secondary: #00b0ee !important;
    --color-terciary: #f67118 !important;
/*    --mainnav-bg-hover-text-color: #172b8e !important;
    --mainnav-dropdown-gropup-text-color : #f67118 !important;   
    --header--link-hover-color: #f67118  !important;*/

}

/* Contenedor de navegación inferior */
.product-neighbours {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 30px;
}

/* Producto anterior y siguiente */
.product-neighbours a {
    display: inline-block;
    padding: 10px 18px;
    color: #ffffff !important;
    background-color: var(--color-secondary);
    border-radius: 3px;
    text-decoration: none;
}

/* Efecto al pasar el mouse */
.product-neighbours a:hover {
    background-color: var(--color-primary);
    color: #ffffff !important;
}

/* Volver a la categoría */
.back-to-category a,
.back-to-category .button_back {
    display: inline-block;
    padding: 10px 18px;
    color: #ffffff !important;
    background-color: var(--color-secondary);
    border-radius: 3px;
    text-decoration: none;
}

.back-to-category a:hover,
.back-to-category .button_back:hover {
    background-color: var(--color-primary);
}

/* Ficha de producto: imagen principal y miniaturas */
#productdetailsview .vm-product-gallery .main-image.default {
    background: #fff;
    border-radius: 3px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
    padding: 10px;
    text-align: center;
}

#productdetailsview .vm-product-gallery .main-image.default a {
    display: flex;
    align-items: center;
    justify-content: center;
}

#productdetailsview .vm-product-gallery .main-image.default img {
    display: block;
    width: auto;
    max-width: 100%;
    max-height: 520px;
    height: auto;
    object-fit: contain;
}

#productdetailsview .vm-product-gallery .additional-images.default {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin: 12px 0 0;
    padding: 0;
}

#productdetailsview .vm-product-gallery .vm-gallery-thumb {
    appearance: none;
    background: #fff;
    border: 2px solid transparent;
    border-radius: 3px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    padding: 6px;
}

#productdetailsview .vm-product-gallery .vm-gallery-thumb:hover,
#productdetailsview .vm-product-gallery .vm-gallery-thumb:focus-visible,
#productdetailsview .vm-product-gallery .vm-gallery-thumb.is-active {
    border-color: var(--color-primary);
}

#productdetailsview .vm-product-gallery .vm-gallery-thumb img {
    display: block;
    width: 100%;
    height: 110px !important;
    margin: 0 !important;
    object-fit: contain;
}

/* Una sola fila: volver a categoría a la izquierda y navegación a la derecha */
#productdetailsview .back-to-category.left {
    display: flex;
    align-items: center;
    gap: 10px;
    padding-top: 30px !important;
}

#productdetailsview .back-to-category.left > .button_back {
    float: none;
    order: 1;
}

#productdetailsview .back-to-category.left > .product-neighbour {
    float: none;
    margin-left: auto;
    order: 2;
    width: auto;
}

#productdetailsview .back-to-category .product-neighbour ul {
    display: flex;
    align-items: center;
    gap: 10px;
}

#productdetailsview .back-to-category .product-neighbour ul li {
    float: none;
    margin: 0;
}

#productdetailsview .back-to-category .product-neighbour ul li a {
    background: #292929 !important;
    border: 1px solid #292929;
    color: #fff !important;
    opacity: 1;
}

#productdetailsview .back-to-category .product-neighbour ul li a:hover,
#productdetailsview .back-to-category .product-neighbour ul li a:focus {
    background: var(--color-primary) !important;
    border-color: var(--color-primary);
    color: #fff !important;
}

@media (max-width: 767px) {
    #productdetailsview .vm-product-gallery .main-image.default img {
        max-height: 380px;
    }

    #productdetailsview .vm-product-gallery .vm-gallery-thumb img {
        height: 80px !important;
    }

    #productdetailsview .back-to-category.left {
        align-items: stretch;
        flex-direction: column;
    }

    #productdetailsview .back-to-category.left > .product-neighbour {
        margin-left: 0;
        order: 1;
        padding-top: 0;
    }

    #productdetailsview .back-to-category.left > .button_back {
        align-self: flex-start;
        order: 2;
    }
}


/**ESTILOS DE BUSQUEDA DE BLOG**/
/* ==========================================================
   BUSCADOR CLÁSICO DE JOOMLA - COM_SEARCH
   ========================================================== */

body.com-search.view-search .search,
body.view-search .search {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    padding: 30px;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    box-shadow: 0 5px 22px rgba(0, 0, 0, 0.06);
}

/* Campo y botón principal */
body.view-search .search .input-group,
body.view-search .search .btn-toolbar {
    display: flex;
    align-items: stretch;
    gap: 10px;
    margin-bottom: 25px;
}

body.view-search .search input[type="text"],
body.view-search .search input[type="search"] {
    width: 100%;
    min-height: 48px;
    padding: 10px 15px;
    color: #333;
    background: #f7f8f9;
    border: 1px solid #d8dde2;
    border-radius: 5px;
    box-shadow: none;
}

body.view-search .search input[type="text"]:focus,
body.view-search .search input[type="search"]:focus {
    background: #fff;
    border-color: #f67118
4;
    box-shadow: 0 0 0 3px rgba(223, 90, 36, 0.12);
    outline: 0;
}

/* Botón Buscar */
body.view-search .search button,
body.view-search .search .btn-primary {
    min-height: 48px;
    padding: 10px 24px;
    color: #fff;
    font-weight: 600;
    background: #f67118
4;
    border: 1px solid #f67118
4;
    border-radius: 5px;
    transition: background-color 0.2s ease,
                border-color 0.2s ease,
                transform 0.2s ease;
}

body.view-search .search button:hover,
body.view-search .search .btn-primary:hover {
    color: #fff;
    background: #bd4518;
    border-color: #bd4518;
    transform: translateY(-1px);
}

/* Total de resultados */
body.view-search .search .searchintro {
    margin: 15px 0 25px;
    padding: 12px 16px;
    color: #444;
    background: #f7f8f9;
    border-left: 4px solid #f67118
4;
    border-radius: 0 5px 5px 0;
}

body.view-search .search .searchintro strong {
    color: #f67118
4;
}

/* Bloques de opciones */
body.view-search .search fieldset {
    margin: 0 0 20px;
    padding: 20px;
    background: #fafafa;
    border: 1px solid #e5e7eb;
    border-radius: 7px;
}

body.view-search .search fieldset legend {
    float: none;
    width: auto;
    margin: 0 0 15px;
    padding: 0;
    color: #252525;
    font-size: 20px;
    font-weight: 600;
    border: 0;
}

/* Radios y casillas */
body.view-search .search label {
    margin-right: 22px;
    color: #555;
    cursor: pointer;
}

body.view-search .search input[type="radio"],
body.view-search .search input[type="checkbox"] {
    width: 18px;
    height: 18px;
    margin-right: 7px;
    accent-color: #f67118
4;
    vertical-align: middle;
}

/* Ordenamiento */
body.view-search .search .ordering-box {
    margin: 20px 0;
}

body.view-search .search select {
    width: 100%;
    min-height: 44px;
    padding: 8px 12px;
    color: #444;
    background-color: #fff;
    border: 1px solid #d8dde2;
    border-radius: 5px;
}

body.view-search .search select:focus {
    border-color: #f67118
4;
    box-shadow: 0 0 0 3px rgba(223, 90, 36, 0.12);
    outline: 0;
}

/* Cantidad de resultados */
body.view-search .search .form-limit {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid #e5e7eb;
}

body.view-search .search .form-limit select {
    max-width: 180px;
}

/* Lista de resultados */
body.view-search .search .search-results {
    margin-top: 30px;
}

body.view-search .search .result-title {
    margin-top: 0;
    margin-bottom: 8px;
    font-size: 20px;
}

body.view-search .search .result-title a {
    color: #252525;
    text-decoration: none;
}

body.view-search .search .result-title a:hover {
    color: #f67118
4;
}

body.view-search .search .result-text {
    color: #626262;
    line-height: 1.6;
}

body.view-search .search .result-created {
    color: #999;
    font-size: 13px;
}

body.view-search .search .search-results > dt {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid #e8e8e8;
}

/* Adaptación para teléfonos */
@media (max-width: 767px) {
    body.com-search.view-search .search,
    body.view-search .search {
        padding: 18px;
    }

    body.view-search .search .input-group,
    body.view-search .search .btn-toolbar {
        flex-direction: column;
    }

    body.view-search .search button,
    body.view-search .search .btn-primary {
        width: 100%;
    }

    body.view-search .search fieldset {
        padding: 15px;
    }

    body.view-search .search label {
        display: block;
        margin: 0 0 13px;
    }

    body.view-search .search .form-limit {
        align-items: flex-start;
        flex-direction: column;
    }

    body.view-search .search .form-limit select {
        max-width: 100%;
    }
}

/* Total de resultados */
.searchintro strong {
    color: #333;
    font-size: 18px;
}

/* Número dentro del resultado */
.searchintro .badge.badge-info {
    padding: 5px 10px;
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    background-color: #f67118
;
    border-radius: 12px;
}

/**FIN BUSQUEDA DE BLOG**/



/* ==========================================================
   CHECKOUT: ancho general y columnas equilibradas
   ========================================================== */
.pol-checkout-page {
    width: min(1240px, calc(100vw - 40px)) !important;
    max-width: none !important;
    margin-left: 50% !important;
    transform: translateX(-50%) !important;
}

/* Escritorio */
@media (min-width: 981px) {
    .pol-checkout-grid {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
        gap: 30px !important;
        align-items: start !important;
    }

    .pol-wizard,
    .pol-order-summary {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        box-sizing: border-box !important;
    }

    /* Aprovechar mejor el espacio del resumen */
    .pol-order-summary {
        padding: 20px !important;
    }

    .pol-order-summary .cart-summary {
        width: 100% !important;
        max-width: 100% !important;
        table-layout: auto !important;
    }

    /* Cantidad */
    .pol-order-summary .cart-summary th:nth-last-child(2),
    .pol-order-summary .cart-summary td:nth-last-child(2) {
        padding-left: 8px !important;
        padding-right: 8px !important;
        text-align: center !important;
        white-space: nowrap !important;
    }

    /* Total */
    .pol-order-summary .cart-summary th:last-child,
    .pol-order-summary .cart-summary td:last-child {
        min-width: 105px !important;
        padding-left: 10px !important;
        padding-right: 4px !important;
        text-align: right !important;
        white-space: nowrap !important;
    }

    .pol-order-summary .cart-summary td:last-child [class*="Price"],
    .pol-order-summary .cart-summary td:last-child .vm-price-value {
        display: inline-block !important;
        width: auto !important;
        margin: 0 !important;
        white-space: nowrap !important;
    }
}

/* Tablet y celular */
@media (max-width: 980px) {
    .pol-checkout-page {
        width: calc(100vw - 24px) !important;
    }

    .pol-checkout-grid {
        grid-template-columns: 1fr !important;
    }

    .pol-order-summary {
        position: static !important;
        width: 100% !important;
        order: -1;
    }
}

/* ==========================================================
   FIN CHECKOUT: ancho general y columnas equilibradas
   ========================================================== */













/* ==========================================================
   VIRTUEMART - INICIO DE SESIÓN Y REGISTRO
   Vista: com_virtuemart / user / edit
   ========================================================== */

/* Fondo y ancho general */
body.view-user.layout-edit #sp-main-body {
    padding: 55px 0;
    background: #f5f6f8;
}

body.view-user.layout-edit #sp-component {
    max-width: 1050px;
    margin: 0 auto;
}

/* Título principal */
body.view-user.layout-edit .page-header h1,
body.view-user.layout-edit .componentheading {
    margin-bottom: 30px;
    color: #1f2937;
    font-size: 32px;
    font-weight: 700;
}

/* Tarjetas de acceso y registro */
body.view-user.layout-edit .box-bg {
    margin-bottom: 28px;
    padding: 28px 32px;
    background: #fff;
    border: 1px solid #e2e5e9;
    border-radius: 12px;
    box-shadow: 0 8px 25px rgba(26, 32, 44, 0.07);
}

/* Títulos de cada tarjeta */
body.view-user.layout-edit .box-bg .module-title {
    margin: 0 0 20px;
    padding: 0 0 15px;
    color: #20252b;
    font-size: 24px;
    font-weight: 700;
    border-bottom: 1px solid #e7e9ec;
}

body.view-user.layout-edit .box-bg h4.module-title {
    font-size: 22px;
}

/* Subtítulos */
body.view-user.layout-edit .box-bg legend,
body.view-user.layout-edit .box-bg .userfields_info {
    width: 100%;
    margin: 5px 0 20px;
    padding: 0 0 12px;
    color: #48505a;
    font-size: 19px;
    font-weight: 600;
    border-bottom: 1px solid #eceef0;
}

/* Tabla del formulario */
body.view-user.layout-edit table.adminForm.user-details {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0 12px;
}

body.view-user.layout-edit table.adminForm.user-details tr {
    display: grid;
    grid-template-columns: 190px minmax(0, 1fr);
    align-items: center;
    column-gap: 20px;
}

body.view-user.layout-edit table.adminForm.user-details td {
    display: block;
    width: auto !important;
    padding: 0 !important;
    border: 0 !important;
}

/* Etiquetas */
body.view-user.layout-edit table.adminForm.user-details td.key label {
    display: block;
    margin: 0;
    color: #374151;
    font-size: 15px;
    font-weight: 600;
}

body.view-user.layout-edit .asterisk {
    color: #df5a24;
}

/* Campos */
body.view-user.layout-edit input[type="text"],
body.view-user.layout-edit input[type="email"],
body.view-user.layout-edit input[type="password"],
body.view-user.layout-edit input[type="tel"],
body.view-user.layout-edit select,
body.view-user.layout-edit textarea {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 46px;
    padding: 10px 14px;
    color: #26313c;
    font-size: 15px;
    background: #f8f9fa;
    border: 1px solid #d9dde2;
    border-radius: 7px;
    box-sizing: border-box;
    transition: border-color .2s ease, box-shadow .2s ease,
                background-color .2s ease;
}

/* Select Provincia: igualar exactamente la altura de los demás campos */
body.view-user.layout-edit select,
body.view-user.layout-edit select#virtuemart_state_id,
body.view-user.layout-edit #virtuemart_state_id_field {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: 46px !important;
    min-height: 46px !important;
    margin-bottom: 15px !important;
    padding: 0 42px 0 14px !important;
    line-height: normal !important;
    cursor: pointer;
}

body.view-user.layout-edit input:focus,
body.view-user.layout-edit select:focus,
body.view-user.layout-edit textarea:focus {
    background: #fff;
    border-color: #df5a24;
    outline: 0;
    box-shadow: 0 0 0 3px rgba(223, 90, 36, 0.13);
}

/* Formulario de acceso */
body.view-user.layout-edit .box-bg:first-of-type .box-bg-indent {
    padding: 5px 0 0;
}

body.view-user.layout-edit .box-bg:first-of-type input[type="text"],
body.view-user.layout-edit .box-bg:first-of-type input[type="password"] {
    min-height: 48px;
}

/* Recordarme */
body.view-user.layout-edit input[type="checkbox"] {
    width: 18px;
    height: 18px;
    margin-right: 7px;
    accent-color: #df5a24;
    vertical-align: middle;
}

/* Enlaces para recuperar datos */
body.view-user.layout-edit .box-bg a {
    color: #4b5563;
    font-weight: 500;
    text-decoration: none;
}

body.view-user.layout-edit .box-bg a:hover {
    color: #df5a24;
}

/* Botones */
body.view-user.layout-edit .buttonBar-right {
    display: flex;
    gap: 12px;
    margin-top: 25px;
}

body.view-user.layout-edit button.button,
body.view-user.layout-edit input.button,
body.view-user.layout-edit .btn-primary {
    min-height: 45px;
    padding: 10px 24px;
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    background: #df5a24;
    border: 1px solid #df5a24;
    border-radius: 7px;
    box-shadow: 0 5px 14px rgba(223, 90, 36, 0.2);
    transition: background-color .2s ease, transform .2s ease;
}

body.view-user.layout-edit button.button:hover,
body.view-user.layout-edit input.button:hover,
body.view-user.layout-edit .btn-primary:hover {
    color: #fff;
    background: #bd4518;
    border-color: #bd4518;
    transform: translateY(-1px);
}

/* Botón Cancelar */
body.view-user.layout-edit button.reset,
body.view-user.layout-edit button.reset2 {
    color: #fff;
    background: #30343a;
    border-color: #30343a;
    box-shadow: none;
}

body.view-user.layout-edit button.reset:hover,
body.view-user.layout-edit button.reset2:hover {
    background: #17191c;
    border-color: #17191c;
}

/* Campos inválidos */
body.view-user.layout-edit input.invalid,
body.view-user.layout-edit select.invalid {
    color: #222;
    background: #fff8f7;
    border-color: #d93025;
    box-shadow: 0 0 0 3px rgba(217, 48, 37, 0.1);
}

/* Cabeceras internas de Información del comprador, facturación y envío */
body.view-user.layout-edit .userfields_info,
body.view-user.layout-edit fieldset > legend,
body.view-user.layout-edit .box-bg-indent > h2,
body.view-user.layout-edit .box-bg-indent > h3 {
    display: block;
    width: 100%;
    margin: 28px 0 18px;
    padding: 0 0 12px;
    color: #27394e;
    font-size: 21px;
    line-height: 1.3;
    font-weight: 700;
    border: 0;
    border-bottom: 1px solid #e4e8ec;
}

/* Campos informativos no editables del comprador */
body.view-user.layout-edit table.adminForm.user-details input[readonly],
body.view-user.layout-edit table.adminForm.user-details input[disabled],
body.view-user.layout-edit table.adminForm.user-details select[disabled] {
    color: #687583 !important;
    background-color: #f1f4f6 !important;
    border-color: #d9dfe5 !important;
    opacity: 1 !important;
}

/* Bloque de direcciones de envío */
body.view-user.layout-edit .shipto,
body.view-user.layout-edit .vm-shipment-address,
body.view-user.layout-edit .user-details + div {
    color: #465564;
    font-size: 15px;
    line-height: 1.65;
}

body.view-user.layout-edit .shipto a,
body.view-user.layout-edit .vm-shipment-address a {
    color: #df5a24;
    font-weight: 600;
    text-decoration: none;
}

body.view-user.layout-edit .shipto a:hover,
body.view-user.layout-edit .vm-shipment-address a:hover {
    color: #bd4518;
}

/* Historial de pedidos incluido en Mi cuenta */
body.view-user.layout-edit .order-list {
    width: 100%;
    margin-top: 22px;
    overflow-x: auto;
    background: #fff;
    border: 1px solid #e1e6ea;
    border-radius: 10px;
}

body.view-user.layout-edit .order-list .orders-box {
    min-width: 760px;
}

body.view-user.layout-edit .order-list table.adminlist {
    width: 100%;
    margin: 0;
    border-collapse: collapse;
}

body.view-user.layout-edit .order-list table.adminlist th {
    padding: 16px 14px;
    color: #344252;
    font-size: 14px;
    font-weight: 700;
    text-align: center;
    background: #eef1f3;
    border: 0;
    border-bottom: 1px solid #dde3e8;
}

body.view-user.layout-edit .order-list table.adminlist td {
    padding: 14px;
    color: #53606c;
    font-size: 14px;
    text-align: center;
    vertical-align: middle;
    background: #fff;
    border: 0;
    border-bottom: 1px solid #e5e9ec;
}

body.view-user.layout-edit .order-list table.adminlist tbody tr:hover td {
    background: #fff8f4;
}

body.view-user.layout-edit .order-list table.adminlist a,
body.view-user.layout-edit .order-list table.adminlist td:last-child {
    color: #df5a24;
    font-weight: 700;
}

body.view-user.layout-edit .order-list table.adminlist td:last-child {
    white-space: nowrap;
}

/* Teléfonos y tablets */
@media (max-width: 767px) {
    body.view-user.layout-edit #sp-main-body {
        padding: 30px 0;
    }

    body.view-user.layout-edit .box-bg {
        padding: 22px 18px;
        border-radius: 9px;
    }

    body.view-user.layout-edit .box-bg .module-title {
        font-size: 22px;
    }

    body.view-user.layout-edit table.adminForm.user-details tr {
        display: block;
        margin-bottom: 15px;
    }

    body.view-user.layout-edit table.adminForm.user-details td.key {
        margin-bottom: 6px;
    }

    body.view-user.layout-edit .buttonBar-right {
        flex-direction: column;
    }

    body.view-user.layout-edit .buttonBar-right button {
        width: 100%;
    }
}

/* ==========================================================
   FIN VIRTUEMART - INICIO DE SESIÓN Y REGISTRO
   Vista: com_virtuemart / user / edit
   ========================================================== */

/* ==========================================================
   VIRTUEMART - LISTA Y SEGUIMIENTO DE PEDIDOS
   ========================================================== */
body.view-orders.layout-list #sp-main-body {
    padding: 60px 0;
    background: #f5f6f8;
}

body.view-orders.layout-list #sp-component {
    max-width: 1100px;
    margin: 0 auto;
}

/* ==========================================================
   USUARIO NO IDENTIFICADO: RASTREO E INICIO DE SESIÓN
   ========================================================== */

body.view-orders.layout-list .login-box2 {
    padding: 32px;
    background: #fff;
    border: 1px solid #e2e5e9;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(25, 32, 43, 0.07);
}

body.view-orders.layout-list .login-box2 > .module-title {
    margin: 0 0 25px;
    padding-bottom: 16px;
    color: #20252b;
    font-size: 28px;
    font-weight: 700;
    border-bottom: 1px solid #e7eaed;
}

/* Seguimiento del pedido */
body.view-orders.layout-list .order-view {
    margin-bottom: 30px;
    padding: 24px;
    background: #fff7f2;
    border: 1px solid #f0d8ca;
    border-left: 5px solid #df5a24;
    border-radius: 8px;
}

body.view-orders.layout-list .order-view form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
    align-items: end;
    gap: 18px;
}

body.view-orders.layout-list .order-view .width30 {
    width: 100% !important;
    float: none !important;
}

body.view-orders.layout-list .order-view label {
    display: block;
    margin-bottom: 7px;
    color: #374151;
    font-size: 15px;
    font-weight: 600;
}

/* Formulario de acceso */
body.view-orders.layout-list #com-form-login {
    padding: 24px;
    background: #fafbfc;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
}

body.view-orders.layout-list #com-form-login + *,
body.view-orders.layout-list #com-form-login p {
    color: #606975;
}

body.view-orders.layout-list .login-box2 h4.module-title {
    margin: 0 0 12px;
    color: #242a31;
    font-size: 24px;
    font-weight: 700;
}

/* Campos */
body.view-orders.layout-list .login-box2 input[type="text"],
body.view-orders.layout-list .login-box2 input[type="password"] {
    width: 100% !important;
    min-height: 48px;
    padding: 10px 14px;
    color: #26313c;
    font-size: 15px;
    background: #fff;
    border: 1px solid #d7dce1;
    border-radius: 7px;
    box-sizing: border-box;
}

body.view-orders.layout-list .login-box2 input:focus {
    border-color: #df5a24;
    outline: none;
    box-shadow: 0 0 0 3px rgba(223, 90, 36, 0.13);
}

/* Recordarme */
body.view-orders.layout-list #com-form-login-remember {
    margin: 15px 0;
}

body.view-orders.layout-list #com-form-login-remember input {
    width: 18px;
    height: 18px;
    margin-right: 7px;
    accent-color: #df5a24;
    vertical-align: middle;
}

/* Botones */
body.view-orders.layout-list .login-box2 .button,
body.view-orders.layout-list .login-box2 .btn-primary {
    min-height: 46px;
    padding: 10px 23px;
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    background: #df5a24;
    border: 1px solid #df5a24;
    border-radius: 7px;
    box-shadow: 0 5px 14px rgba(223, 90, 36, 0.18);
}

body.view-orders.layout-list .login-box2 .button:hover,
body.view-orders.layout-list .login-box2 .btn-primary:hover {
    color: #fff;
    background: #bd4518;
    border-color: #bd4518;
}

/* Enlaces de recuperación */
body.view-orders.layout-list #com-form-login .link a {
    display: block;
    margin-bottom: 5px;
    color: #4b5563;
    font-weight: 500;
}

body.view-orders.layout-list #com-form-login .link a:hover {
    color: #df5a24;
}

/* ==========================================================
   USUARIO IDENTIFICADO: TABLA DE PEDIDOS
   ========================================================== */

body.view-orders.layout-list .order-list {
    overflow: hidden;
    background: #fff;
    border: 1px solid #e1e5e9;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(25, 32, 43, 0.07);
}

body.view-orders.layout-list .order-list > .module-title {
    margin: 0;
    padding: 24px 28px;
    color: #20252b;
    font-size: 27px;
    font-weight: 700;
    border-bottom: 1px solid #e5e8eb;
}

body.view-orders.layout-list .orders-box {
    overflow-x: auto;
}

body.view-orders.layout-list table.adminlist {
    width: 100%;
    margin: 0;
    border-collapse: collapse;
}

/* Encabezado */
body.view-orders.layout-list table.adminlist thead th {
    padding: 17px 20px;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    text-align: left;
    background: #2b3036;
    border: 0;
}

/* Filas */
body.view-orders.layout-list table.adminlist tbody td {
    padding: 17px 20px;
    color: #505861;
    font-size: 15px;
    border: 0;
    border-bottom: 1px solid #e8eaed;
    vertical-align: middle;
}

body.view-orders.layout-list table.adminlist tbody tr:nth-child(even) {
    background: #fafbfc;
}

body.view-orders.layout-list table.adminlist tbody tr:hover {
    background: #fff4ed;
}

body.view-orders.layout-list table.adminlist tbody tr:last-child td {
    border-bottom: 0;
}

/* Número de pedido */
body.view-orders.layout-list table.adminlist td.num a {
    display: inline-block;
    padding: 5px 10px;
    color: #bd4518;
    font-weight: 700;
    background: #fff0e8;
    border-radius: 5px;
    text-decoration: none;
}

body.view-orders.layout-list table.adminlist td.num a:hover {
    color: #fff;
    background: #df5a24;
}

/* Estado */
body.view-orders.layout-list table.adminlist td:nth-child(3) {
    color: #4b5563;
    font-weight: 600;
}

/* Total */
body.view-orders.layout-list table.adminlist td.total {
    color: #df5a24;
    font-size: 16px;
    font-weight: 700;
    white-space: nowrap;
}

/* Etiquetas móviles ocultas en escritorio */
body.view-orders.layout-list table.adminlist .divice-name {
    display: none;
}

/* ==========================================================
   ADAPTACIÓN MÓVIL
   ========================================================== */

@media (max-width: 767px) {
    body.view-orders.layout-list #sp-main-body {
        padding: 30px 0;
    }

    body.view-orders.layout-list .login-box2 {
        padding: 20px 16px;
    }

    body.view-orders.layout-list .order-view {
        padding: 18px;
    }

    body.view-orders.layout-list .order-view form {
        grid-template-columns: 1fr;
    }

    body.view-orders.layout-list .order-view input[type="submit"] {
        width: 100%;
    }

    body.view-orders.layout-list #com-form-login {
        padding: 18px;
    }

    /* Tabla convertida en tarjetas */
    body.view-orders.layout-list table.adminlist thead {
        display: none;
    }

    body.view-orders.layout-list table.adminlist,
    body.view-orders.layout-list table.adminlist tbody,
    body.view-orders.layout-list table.adminlist tr,
    body.view-orders.layout-list table.adminlist td {
        display: block;
        width: 100%;
    }

    body.view-orders.layout-list table.adminlist tbody tr {
        margin: 15px;
        width: calc(100% - 30px);
        background: #fff;
        border: 1px solid #e1e5e9;
        border-radius: 8px;
        overflow: hidden;
    }

    body.view-orders.layout-list table.adminlist tbody td {
        display: grid;
        grid-template-columns: 45% 55%;
        align-items: center;
        padding: 12px 15px;
        text-align: right !important;
        border-bottom: 1px solid #eceef0;
    }

    body.view-orders.layout-list table.adminlist .divice-name {
        display: block;
        color: #343a40;
        font-size: 13px;
        font-weight: 700;
        text-align: left;
    }

    body.view-orders.layout-list table.adminlist td.num a {
        justify-self: end;
    }

    body.view-orders.layout-list .order-list > .module-title {
        padding: 20px;
        font-size: 24px;
    }
}

/* ==========================================================
   FIN VIRTUEMART - LISTA Y SEGUIMIENTO DE PEDIDOS
   ========================================================== */

/* ==========================================================
   CABECERA - ACCESO Y CARRITO SIN SUPERPOSICIÓN
   ========================================================== */

#sp-header .t4-row {
    flex-wrap: nowrap !important;
}

#sp-header .t4-row .headlogin {
    position: relative !important;
    flex: 0 0 44px !important;
    width: 44px !important;
    max-width: 44px !important;
    margin-left: 14px !important;
    padding: 0 !important;
    z-index: 3;
}

#sp-header .t4-row .head-cart {
    position: relative !important;
    flex: 0 0 58px !important;
    width: 58px !important;
    max-width: 58px !important;
    margin-left: 12px !important;
    padding: 0 !important;
    z-index: 4;
}

#sp-header .poping_links.log_out,
#sp-header .poping_links.log_out form,
#sp-header .poping_links.log_out .heading {
    width: 40px !important;
    height: 40px !important;
    margin: 0 !important;
    padding: 0 !important;
}

#sp-header .poping_links.log_out .logout {
    display: block !important;
    position: static !important;
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    margin: 0 !important;
    padding: 8px !important;
    overflow: hidden !important;
    color: #fff !important;
    font-size: 0 !important;
    line-height: 22px !important;
    white-space: nowrap !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 5px !important;
}

#sp-header .poping_links.log_out .logout::before {
    display: block;
    content: "\f09c";
    color: #fff !important;
    font-family: FontAwesome;
    font-size: 22px !important;
    line-height: 24px !important;
    text-align: center;
}

#sp-header .poping_links.log_out .logout:hover {
    background: #df5a24 !important;
}

#sp-header #vmCartModule {
    position: relative !important;
    top: 0 !important;
    margin: 0 !important;
}

@media (max-width: 767px) {
    body.view-user.layout-edit .order-list .orders-box {
        min-width: 680px;
    }
}
/* ============================================================
   MI CUENTA — CORRECCIONES PUNTUALES SOBRE LA VERSIÓN 1
   ============================================================ */

/*
 * Joomla/VirtueMart oculta el select original después de crear el
 * selector visual de Chosen. La versión 1 lo volvía a mostrar con
 * display:block!important, provocando los controles duplicados.
 */
body.view-user.layout-edit #adminForm select.chzn-done,
body.view-user.layout-edit #adminForm select.chosen-done,
body.view-user.layout-edit #adminForm select[style*="display: none"] {
    display: none !important;
}

/* El selector visual debe ocupar todo el ancho disponible. */
body.view-user.layout-edit #adminForm .chzn-container,
body.view-user.layout-edit #adminForm .chosen-container {
    width: 100% !important;
    max-width: 100% !important;
}

body.view-user.layout-edit #adminForm .chzn-container-single .chzn-single,
body.view-user.layout-edit #adminForm .chosen-container-single .chosen-single {
    min-height: 44px;
    display: flex;
    align-items: center;
    padding: 0 42px 0 14px;
    border: 1px solid #d8dde7;
    border-radius: 8px;
    background: #f8f9fb;
    box-shadow: none;
    color: #263142;
    line-height: normal;
}

body.view-user.layout-edit #adminForm .chzn-container-single .chzn-single div,
body.view-user.layout-edit #adminForm .chosen-container-single .chosen-single div {
    width: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Bloque "Detalles de envío". */
body.view-user.layout-edit #adminForm fieldset:has(> legend .userfields_info) {
    margin: 28px 0 0;
    padding: 0;
    border: 0;
}

body.view-user.layout-edit #adminForm fieldset:has(> legend .userfields_info) > legend {
    width: 100%;
    margin: 0 0 18px;
    padding: 0 0 12px;
    border-bottom: 1px solid #e6e9ee;
}

body.view-user.layout-edit #adminForm fieldset:has(> legend .userfields_info) > a:first-of-type {
    display: inline-flex;
    align-items: center;
    min-height: 42px;
    margin: 0 0 12px;
    padding: 9px 16px;
    border: 1px solid #e85a20;
    border-radius: 7px;
    background: #fff;
    color: #d94d17;
    font-weight: 700;
    text-decoration: none;
    transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}

body.view-user.layout-edit #adminForm fieldset:has(> legend .userfields_info) > a:first-of-type:hover {
    border-color: #d94d17;
    background: #e85a20;
    color: #fff;
}

body.view-user.layout-edit #adminForm fieldset:has(> legend .userfields_info) ul {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

body.view-user.layout-edit #adminForm fieldset:has(> legend .userfields_info) ul li {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
    padding: 10px 12px;
    border: 1px solid #e3e7ec;
    border-radius: 7px;
    background: #f8f9fb;
}

body.view-user.layout-edit #adminForm fieldset:has(> legend .userfields_info) ul li a {
    color: #263142;
    font-weight: 600;
    text-decoration: none;
}

body.view-user.layout-edit #adminForm fieldset:has(> legend .userfields_info) ul li a:hover {
    color: #e85a20;
}

body.view-user.layout-edit #adminForm fieldset:has(> legend .userfields_info) ul li a:last-child {
    padding-left: 9px;
    border-left: 1px solid #d8dde5;
    color: #b42318;
}

@media (max-width: 767px) {
    body.view-user.layout-edit #adminForm fieldset:has(> legend .userfields_info) > a:first-of-type,
    body.view-user.layout-edit #adminForm fieldset:has(> legend .userfields_info) ul,
    body.view-user.layout-edit #adminForm fieldset:has(> legend .userfields_info) ul li {
        width: 100%;
    }
}
/* ============================================================
   LOGIN JOOMLA — CAMPO DE CONTRASEÑA Y BOTÓN MOSTRAR/OCULTAR
   Base estable: ultimo_cssactualizado_v4.css
   ============================================================ */

body.view-login form.form-validate .password-group,
body.view-login form.form-validate .password-group .input-group {
    width: 100%;
    max-width: 100%;
}

body.view-login form.form-validate .password-group .input-group {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
}

/* Joomla agrega un icono de llave antes del campo; se elimina para
   conservar el mismo ancho útil y la misma alineación que Usuario. */
body.view-login form.form-validate .password-group .input-group > .input-group-text {
    display: none !important;
}

body.view-login form.form-validate .password-group input[type="password"],
body.view-login form.form-validate .password-group input[type="text"] {
    flex: 1 1 auto !important;
    width: 1% !important;
    min-width: 0 !important;
    height: 44px !important;
    margin: 0 !important;
    padding: 10px 14px !important;
    border: 1px solid #d8dde7 !important;
    border-right: 0 !important;
    border-radius: 7px 0 0 7px !important;
    box-shadow: none !important;
}

body.view-login form.form-validate .password-group .input-password-toggle {
    position: relative !important;
    flex: 0 0 48px !important;
    width: 48px !important;
    min-width: 48px !important;
    max-width: 48px !important;
    height: 44px !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    align-self: stretch !important;
    overflow: hidden !important;
    border: 1px solid #d9541e !important;
    border-radius: 0 7px 7px 0 !important;
    background: #e85a20 !important;
    color: #fff !important;
    box-shadow: none !important;
    line-height: 1 !important;
}

body.view-login form.form-validate .password-group .input-password-toggle:hover,
body.view-login form.form-validate .password-group .input-password-toggle:focus {
    border-color: #c94715 !important;
    background: #c94715 !important;
    color: #fff !important;
}

/* Ojo dibujado con CSS: no depende de que cargue la fuente de iconos. */
body.view-login form.form-validate .password-group .input-password-toggle [class*="icon-eye"] {
    position: relative !important;
    display: block !important;
    width: 20px !important;
    height: 14px !important;
    font-size: 0 !important;
}

body.view-login form.form-validate .password-group .input-password-toggle [class*="icon-eye"]::before {
    content: "" !important;
    position: absolute !important;
    left: 2px !important;
    top: 1px !important;
    width: 14px !important;
    height: 10px !important;
    border: 2px solid currentColor !important;
    border-radius: 70% 15% 70% 15% !important;
    transform: rotate(45deg) !important;
    box-sizing: border-box !important;
}

body.view-login form.form-validate .password-group .input-password-toggle [class*="icon-eye"]::after {
    content: "" !important;
    position: absolute !important;
    left: 8px !important;
    top: 5px !important;
    width: 5px !important;
    height: 5px !important;
    border-radius: 50% !important;
    background: currentColor !important;
}

/* Estado de contraseña visible: agrega la línea de ojo cerrado. */
body.view-login form.form-validate .password-group .input-password-toggle .icon-eye-slash::after {
    left: 1px !important;
    top: 6px !important;
    width: 19px !important;
    height: 2px !important;
    border-radius: 2px !important;
    background: currentColor !important;
    transform: rotate(-45deg) !important;
}

#sp-footer-copyright a {
  color: #f67118  !important;
}
#sp-footer-copyright {
  background-color: #0a0a0a  !important;
  color: #696E6E  !important;
  padding: 30px 0px 30px 0px  !important;
}