/**
 * Wayka Account - Estilos
 */

/* Container principal */
.page-header {
    display: none;
}

.wayka-account-container {
    align-items: self-start;
    font-family: 'Poppins', sans-serif;
    padding: 220px 0 60px;
    position: relative;
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 30px;
}

/* Sidebar */
.wayka-account-sidebar {
    display: flex;
    flex-direction: column;
    gap: 1.875rem;
}

.wayka-sidebar-block {
    background: var(--wayka-light);
    border-radius: 10px;
    box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.05);
    padding: 1.875rem;
}

/* Bloque de información del usuario */
.wayka-user-info .block-header {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin-bottom: 20px;
}

.wayka-user-info .block-header h2 {
    font-size: var( --e-global-typography-b12daf6-font-size );
    font-weight: 600;
    margin: 0;
    color: var(--wayka-text);
}

.edit-icon {
    align-items: center;
    border-radius: 50%;
    color: var(--wayka-text-light);
    display: flex;
    justify-content: center;
    transition: opacity 0.3s;
}

.edit-icon:hover {
    opacity: 0.4;
}

.wayka-cuenta {
    align-items: center;
    background: var(--wayka-gris-claro);
    border-radius: 10px;
    display: flex;
    gap: 1.25rem;
    padding: 1.25rem;
}

.sidebar-profile-picture {
    align-items: center;
    border-radius: 50%;
    display: flex;
    height: 80px;
    overflow: hidden;
    justify-content: center;
    width: 80px;
}

.sidebar-profile-picture img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.user-details p {
    color: var(--wayka-text);
    font-size: var( --e-global-typography-492399a-font-size )!important;
    padding: 0 0 0.4rem 0;
}

.user-details p:last-child {
    padding-bottom: 0;
}

.user-details .user-name {
    font-weight: 600;
    font-size: var( --e-global-typography-ffa31a4-font-size )!important;
    line-height: 1em;
}


/* Menú del sidebar */
.wayka-account-menu {
    border-radius: 50px;
    padding: 0.4rem!important;
}

.wayka-account-menu ul {
    display: flex;
    list-style: none;
    gap: 0.4rem;
    margin: 0;
    padding: 0;
}

.wayka-account-menu a {
    border-radius: 8px;
    display: block;
    font-size: var( --e-global-typography-01e8201-font-size );
    padding: 8px 12px;
    transition: all 0.3s;
    text-decoration: none;
}

a.wayka-cerrar {
    color: var(--wayka-error)!important;
}

.comments-area a, .page-content a {
    text-decoration: none!important;
}

.wayka-account-menu a.active, .wayka-account-menu a:hover  {
    background: var(--wayka-text);
    border-radius: 50px;
    color: var(--wayka-light)!important;
}

/*** Content ***/
/* Título */
h1.section-title {
    left: 0;
    position: absolute;
    top: 120px;
}

.section-title {
    color: var(--wayka-text);
    font-size: var( --e-global-typography-e2f5ebf-font-size );
    font-weight: 600;
    margin: 1.875rem 0;
}

.wayka-content-section {
    display: none;
}

.wayka-content-section.active {
    display: block;
}

/* Lista de pedidos */
.wayka-orders-list {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.no-orders {
    color: var(--wayka-text-light);
    font-size: var( --e-global-typography-accent-font-size );
    padding: 40px;
    text-align: center;
}

/* Card */
.wayka-order-card, .order-detail-section, .card-datos {
    background-color: var(--wayka-light);
    box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.05);
    border-radius: 20px;
    overflow: hidden;
    padding: 1.25rem;
}

/* Header del pedido */
.order-header {
    align-items: center;
    border-bottom: 1px solid var(--wayka-border);
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 1.25rem;
    padding-bottom: 1.25rem;
    row-gap: 0.6rem;
}

.order-info {
    display: flex;
    gap: 8px;
    width: 50%;
}

.order-id {
    color: var(--wayka-text);
    font-weight: 600;
    font-size: var( --e-global-typography-accent-font-size );
}

.order-status {
    border-radius: 12px;
    color: var(--wayka-text);
    display: inline-block;
    font-size: var( --e-global-typography-492399a-font-size );
    font-weight: 500;
    padding: 4px 12px;
}

.order-status.status-completed {
    background: var(--wayka-success);
    color: var(--wayka-light);
}

.order-status.status-processing {
    background: var(--wayka-primary);
    color: var(--wayka-light);
}

.order-status.status-pending {
    background: #FFC107;
    color: var(--wayka-light);
}

.order-total {
    color: var(--wayka-primary);
    font-weight: 700;
    font-size: var( --e-global-typography-ffa31a4-font-size );
}

.order-details {
    display: flex;
    flex-direction: column;
    font-size: var( --e-global-typography-text-font-size );
}

.order-customer {
    font-size: var( --e-global-typography-accent-font-size );
    font-weight: 500;
    color: var(--wayka-text);
}

.order-location {
    color: var(--wayka-text-light);
}

.btn-view-details {
    padding: 10px 20px;
    white-space: nowrap;
}

/* Productos del pedido */
.order-products {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.order-product-item {
    align-items: center;
    background: var(--wayka-gris-claro);
    border-radius: 10px;
    display: grid;
    grid-template-columns: 80px 1fr auto;
    gap: 1.25rem;
    padding: 1.25rem;
}

.product-image {
    align-items: center;
    background: var(--wayka-producto);
    border-radius: 5px!important;
    display: flex;
    justify-content: center;
    height: 80px;
    width: 100%;
}

.product-image img {
    border-radius: 5px!important;
    height: 60px;
    object-fit: cover;
    width: 60px;
}

.product-info h4 {
    color: var(--wayka-text);
    font-size: var( --e-global-typography-accent-font-size );
    font-weight: 500;
    margin: 0 0 8px 0;
}

.product-quantity {
    color: var(--wayka-text-light);
    font-size: 13px;
    margin: 0 0 8px 0;
}

.product-attributes {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.product-attributes .attribute {
    background: var(--wayka-bg-gray);
    border-radius: 4px;
    color: var(--wayka-text-light);
    font-size: var( --e-global-typography-492399a-font-size );
    padding: 4px 10px;
}

.product-actions {
    align-items: flex-end;
    display: flex;
    flex-direction: column;
}

.product-price {
    color: var(--wayka-text);
    font-size: var( --e-global-typography-ffa31a4-font-size );
}

.btn-reorder {
    font-size: var( --e-global-typography-text-font-size );
    padding: 8px 16px;
    white-space: nowrap;
}

.product-actions .btn-reorder {
    font-size: var( --e-global-typography-492399a-font-size );
    margin-top: 4px;
    padding: 6px 12px;
}

span.product-descuento {
    color: var(--wayka-success);
    font-size: var( --e-global-typography-492399a-font-size );
}

/* Botones */
.wayka-btn {
    border: none!important;
    border-radius: 50px!important;
    cursor: pointer;
    display: inline-block;
    font-size: var( --e-global-typography-text-font-size )!important;
    font-weight: 500;
    padding: 12px 30px;
    text-align: center;
    text-decoration: none;
    transition: all 0.3s;
}

.wayka-btn-primary {
    background: var(--wayka-text);
    color: var(--wayka-light)!important;
}

.wayka-btn-primary:hover {
    background: var(--wayka-primary-dark);
}

.wayka-btn-secondary {
    background: transparent!important;
    border-width: 0!important;
    padding: 0;
    text-align: right;
    width: 50%;
}

.wayka-btn-secondary:hover {
    opacity: 0.4;
}

/* Identificadores por rol */
.wayka-account-customer {
    /* Estilos específicos para clientes si necesario */
}

.wayka-account-embajador {
    /* Estilos específicos para embajadores si necesario */
}

/* Toast messages (reutilizar del carrito) */
.wayka-toast {
    background: var(--wayka-light);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    border-radius: 4px;
    bottom: -100px;
    font-size: var( --e-global-typography-text-font-size );
    left: 50%;
    padding: 15px 25px;
    position: fixed;
    transition: bottom 0.3s;
    transform: translateX(-50%);
    z-index: 10000;
}

.wayka-toast.show {
    bottom: 30px;
}

.wayka-toast-success {
    border-left: 4px solid var(--wayka-success);
    color: var(--wayka-success);
}

.wayka-toast-error {
    border-left: 4px solid var(--wayka-error);
    color: var(--wayka-error);
}

/* Formularios */
.wayka-account-form {
    background: var(--wayka-light);
    border-radius: 8px;
    border: 1px solid var(--wayka-border);
    padding: 30px;
}

.form-section-title {
    border-bottom: 2px solid var(--wayka-bg-gray);
    color: var(--wayka-text);
    font-size: var( --e-global-typography-ffa31a4-font-size );
    font-weight: 600;
    margin-bottom: 1.25rem;
    padding-bottom: 1.25rem;
}

.wayka-form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.25rem;
    margin-bottom: 1.25rem;
}

.wayka-form-group {
    margin-bottom: 1.25rem;
}

.wayka-radio-group {
    display: flex;
    gap: 1.25rem;   
    margin-top: 0.5rem;
}

.wayka-radio {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.wayka-form-group.half {
    margin-bottom: 0;
}

.wayka-form-group label {
    color: var(--wayka-text);
    display: block;
    font-size: var( --e-global-typography-text-font-size );
}

.wayka-form-group input[type="text"],
.wayka-form-group input[type="email"],
.wayka-form-group input[type="tel"],
.wayka-form-group select {
    border: 1px solid var(--wayka-border);
    border-radius: 4px;
    font-size: var( --e-global-typography-text-font-size );
    padding: 12px 15px;
    transition: border-color 0.3s;
    width: 100%;
}

.wayka-form-group input:focus,
.wayka-form-group select:focus {
    border-color: var(--wayka-primary);
    outline: none;
}

.wayka-form-group input.error {
    border-color: var(--wayka-error);
}

.wayka-form-group .field-error {
    display: none;
    color: var(--wayka-error);
    font-size: var( --e-global-typography-492399a-font-size );
    margin-top: 5px;
}

.required {
    color: var(--wayka-error);
}

.wayka-form-actions {
    border-top: 1px solid var(--wayka-border);
    display: flex;
    gap: 15px;
    margin-top: 30px;
    padding-top: 20px;
}

.wayka-btn-secondary {
    background: var(--wayka-light);
    border: 2px solid var(--wayka-border);
    color: var(--wayka-text);
}

.wayka-btn-secondary:hover {
    background: var(--wayka-bg-gray);
    border-color: var(--wayka-secondary);
}

/* Foto de perfil */
.wayka-profile-picture-section {
    align-items: center;
    background: var(--wayka-light);
    box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.05);
    border-radius: 1.25rem;
    display: flex;
    gap: 1.25rem;
    margin-bottom: 1.25rem;
    padding: 1.875rem;
}

.current-profile-picture {
    border: 3px solid var(--wayka-border);
    border-radius: 50%;
    height: 120px;
    flex-shrink: 0;
    overflow: hidden;
    width: 120px;
}

.current-profile-picture img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.profile-picture-actions {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.profile-picture-info {
    color: var(--wayka-text-light);
    font-size: 13px;
    margin: 0;
}

/* Modal */
.wayka-modal {
    align-items: center;
    background: rgba(0, 0, 0, 0.10);
    display: flex;
    justify-content: center;
    left: 0;
    height: 100%;
    padding: 20px;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 9999;
}

.wayka-modal-content {
    background: var(--wayka-light);
    border-radius: 20px;
    display: flex;
    max-width: 600px;
    max-height: 90vh;
    width: 100%;
}

#wayka-crop-modal .wayka-modal-content {
    flex-direction: column;
}

.wayka-modal-header {
    align-items: center;
    border-bottom: 1px solid var(--wayka-border);
    display: flex;
    justify-content: space-between;
    padding: 20px 30px;
}

.wayka-modal-header h3 {
    font-size: var( --e-global-typography-b12daf6-font-size );
    font-weight: 600;
    margin: 0;
}

.wayka-modal-close {
    align-items: center;
    background: transparent!important;
    border: none;
    border-radius: 50%;
    display: flex;
    color: var(--wayka-text)!important;
    cursor: pointer;
    font-size: 32px!important;
    line-height: 1;
    height: 30px;
    justify-content: center;
    padding: 0;
    transition: all 0.3s;
    width: 30px;
}

.wayka-modal-close:hover {
    opacity: 0.4;
}

.wayka-modal-body {
    padding: 30px;
    overflow: auto;
}

.crop-container {
    background: #f5f5f5;
    border-radius: 10px;
    max-height: 400px;
    overflow: hidden;
}

.crop-container img {
    display: block;
    max-width: 100%;
}

.wayka-modal-footer {
    border-top: 1px solid var(--wayka-border);
    display: flex;
    justify-content: flex-end;
    gap: 15px;
    padding: 20px 30px;
}

/* Cambiar contraseña */
.password-field-wrapper {
    align-items: center;
    display: flex;
    position: relative;
}

.password-field-wrapper .wayka-input {
    padding-right: 45px;
}

.toggle-password {
    background-color: transparent!important;
    border: none!important;
    padding-left: 0!important;
    position: absolute !important;
    right: 0;
    transition: color 0.2s;
}

button.toggle-password:after {
    display: none!important;
}

.toggle-password:hover {
    color: var(--wayka-primary);
}

.password-strength-meter {
    background: var(--wayka-border);
    border-radius: 3px;
    height: 5px;
    margin-top: 10px;
    overflow: hidden;
}

.password-strength-bar {
    border-radius: 3px;
    height: 100%;
    transition: width 0.3s, background-color 0.3s;
    width: 0%;
}

.password-strength-bar.weak {
    background-color: var(--wayka-error);
}

.password-strength-bar.medium {
    background-color: var(--wayka-amarillo);
}

.password-strength-bar.strong {
    background-color: var(--wayka-primary-dark);
}

.wayka-form-col-full.col-confirmar {
    margin-top: 1.25rem;
}

.password-strength-text {
    font-size: var( --e-global-typography-492399a-font-size );
    font-weight: 500;
    margin-top: 5px;
}

.password-strength-text.weak {
    color: var(--wayka-error);
}

.password-strength-text.medium {
    color: var(--wayka-amarillo);
}

.password-strength-text.strong {
    color: var(--wayka-primary-dark);
}

.password-requirements {
    color: var(--wayka-text-light);
    font-size: var( --e-global-typography-492399a-font-size );
    line-height: 1.2em;
    margin-top: 8px;
}

.password-match-text {
    font-size: var( --e-global-typography-492399a-font-size );
    font-weight: 500;
    margin-top: 8px;
}

.password-match-text.success {
    color: var(--wayka-primary-dark);
}

.password-match-text.error {
    color: var(--wayka-error);
}

#wayka-change-password-form button.wayka-btn.wayka-btn-primary {
    margin-top: 20px;
}

/* Detalle de Pedido */
.order-detail-header {
    align-items: flex-start;
    border-bottom: 1px solid var(--wayka-border);
    display: flex;
    justify-content: space-between;
    margin-bottom: 30px;
    padding-bottom: 20px;
}

#section-order-detail .order-detail-header {
    align-items: flex-end;
}

.order-detail-header .section-title {
    margin-bottom: 5px;
}

.order-date {
    color: var(--wayka-text-light);
    font-size: var( --e-global-typography-text-font-size );
    margin: 0;
}

.order-detail-content {
    display: grid;
    gap: 30px;
}

.detail-section-title {
    border-bottom: 1px solid var(--wayka-border);
    color: var(--wayka-text);
    font-size: 18px;
    font-weight: 600;
    margin: 0 0 1rem 0;
    padding-bottom: 1rem;
}

.order-summary-info {
    display: grid;
}

.summary-item {
    align-items: center;
    display: flex;
    justify-content: space-between;
    padding: 10px 0;
}

.summary-label {
    color: var(--wayka-text);
    font-weight: 500;
}

.summary-value {
    color: var(--wayka-text-light);
}

.order-detail-products {
    display: grid;
    gap: 20px;
}

.order-detail-product-item {
    align-items: center;
    background: var(--wayka-bg-gray);
    border-radius: 8px;
    display: grid;
    grid-template-columns: 80px 1fr auto;
    gap: 20px;
    padding: 15px;
}

.order-detail-product-item .product-image {
    border-radius: 8px;
    height: 80px;
    overflow: hidden;
    width: 80px;
}

.order-detail-product-item .product-image img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.order-detail-product-item .product-info h4 {
    font-size: var( --e-global-typography-accent-font-size );
    font-weight: 500;
    margin: 0 0 8px 0;
}

.order-detail-product-item .product-quantity {
    color: var(--wayka-text-light);
    margin: 5px 0 0 0;
    font-size: var( --e-global-typography-text-font-size );
}

.order-detail-product-item .product-attributes {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 8px;
}

.order-detail-product-item .product-attributes .attribute {
    background: var(--wayka-light);
    border-radius: 4px;
    color: var(--wayka-text-light);
    font-size: 13px;
    padding: 4px 10px;
}

.product-pricing {
    text-align: right;
}

.product-pricing .product-total {
    color: var(--wayka-text);
    font-size: var( --e-global-typography-ffa31a4-font-size );
    font-weight: 600;
}

.order-totals {
    display: grid;
}

.total-row {
    align-items: center;
    display: flex;
    font-size: 15px;
    justify-content: space-between;
    padding: 10px 0;
}

.total-row.total-row-final {
    border-top: 2px solid var(--wayka-border);
    font-size: var( --e-global-typography-ffa31a4-font-size );
    font-weight: 600;
    padding-top: 15px;
    margin-top: 10px;
}

.total-row .total-label {
    color: var(--wayka-text);
}

.total-row .total-value {
    color: var(--wayka-text);
    font-weight: 700;
}

.total-row-final .total-value {
    color: var(--wayka-text);
    font-size: var( --e-global-typography-b12daf6-font-size );
    font-weight: 700;
}

.order-address-info {
    line-height: 1.8;
}

.order-address-info p {
    color: var(--wayka-text);
    margin: 0 0 5px 0;
}

.order-address-info p strong {
    color: var(--wayka-text);
    font-size: var( --e-global-typography-accent-font-size );
}

.billing-document-type {
    margin-bottom: 15px;
}

.document-badge {
    border-radius: 6px;
    display: inline-block;
    font-size: var( --e-global-typography-accent-font-size );
    font-weight: 600;
    padding: 6px 16px;
}

.document-badge.document-boleta {
    background: var(--wayka-gris-claro);
    color: var(--wayka-primary-dark);
}

.document-badge.document-factura {
    background: var(--wayka-amarillo);
    color: var(--wayka-light);
}

.discount-value {
    color: var(--wayka-success) !important;
}

/* ==========================================
   PAGINACIÓN
   ========================================== */

.wayka-pagination {
    align-items: center;
    display: flex;
    justify-content: center;
    gap: 12px;
    margin-top: 40px;
    padding: 20px 0;
}

.wayka-pagination-link {
    align-items: center;
    background: var(--wayka-light);
    border: 1px solid var(--wayka-bg-gray);
    border-radius: 8px;
    color: var(--wayka-text);
    cursor: pointer;
    display: inline-flex;
    font-size: 14px;
    font-weight: 500;
    justify-content: center;
    gap: 6px;
    min-width: 40px;
    height: 40px;
    padding: 0 12px;
    text-decoration: none;
    transition: all 0.3s ease;
}

.wayka-pagination-link:hover:not(.disabled):not(.active) {
    border-color: var(--wayka-primary);
    background: var(--wayka-primary-light);
    color: var(--wayka-primary);
}

.wayka-pagination-link.active {
    border-color: var(--wayka-primary);
    background: var(--wayka-primary);
    color: var(--wayka-light);
    cursor: default;
}

.wayka-pagination-link.disabled {
    cursor: not-allowed;
    opacity: 0.4;
}

.wayka-pagination-numbers {
    align-items: center;
    display: flex;
    gap: 6px;
}

.wayka-pagination-ellipsis {
    align-items: center;
    color: var(--wayka-text-light);
    display: inline-flex;
    font-size: var( --e-global-typography-text-font-size );
    justify-content: center;
    height: 40px;
    min-width: 40px;
}

.wayka-pagination-prev svg, .wayka-pagination-next svg {
    height: 16px;
    width: 16px;
}

.wayka-pagination-prev, .wayka-pagination-next {
    padding: 0 16px;
}

/* ==========================================
   COMISIONES - EMBAJADORES
   ========================================== */

.commission-info {
    align-items: center;
    background: var(--wayka-gris-claro);
    border-radius: 10px;
    display: flex;
    justify-content: space-between;
    margin: 1.25rem 0;
    padding: 1.25rem;
}

.commission-amount, .commission-amount-total {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
}

.commission-amount-total {
    align-items: flex-end;
}

.commission-label {
    color: var(--wayka-success);
    font-size: var( --e-global-typography-492399a-font-size )!important;
}

.commission-amount-total .commission-label {
    color: var(--wayka-text);
}

.commission-pending, .commission-completed, span.commission-badge.commission-paid {
    align-items: center;
    display: flex;
    font-size: var( --e-global-typography-492399a-font-size );
    gap: 5px;
}

.commission-pending svg, .commission-completed  svg {
    height: 12px;
    width: 12px;
}

.commission-value, .commission-total {
    color: var(--wayka-text);
    font-size: var( --e-global-typography-ffa31a4-font-size )!important;
    font-weight: 700;
}

.commission-completed, span.commission-value.commission-value-completed {
    color: var(--wayka-success);
}

.commission-badge svg {
    height: 14px;
    width: 14px;
}

.product-commission-info {
    margin-top: 8px;
    padding-top: 8px;
    border-top: 1px solid var(--wayka-text-light);
}

.product-commission-info small {
    font-size: var( --e-global-typography-492399a-font-size );
    color: var(--wayka-text-light);
}

/* Responsive */
@media (max-width: 768px) {
    .commission-info {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }
    
    .commission-value {
        font-size: 16px;
    }
}

/* ==========================================
   CÓDIGO DE REFERIDO - EMBAJADORES
   ========================================== */

.wayka-referral-code {
    background-image: url(/wp-content/themes/wayka/assets/img/bg-cupon-cuenta.webp);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.05);
    color: var(--wayka-light);
}

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

.wayka-referral-code .block-header h2 {
    color: var(--wayka-light);
    font-size: var( --e-global-typography-ffa31a4-font-size )!important;
    font-weight: 600;
    margin: 0 0 1.25rem;
}

.block-header p {
    font-size: var( --e-global-typography-492399a-font-size )!important;
}

.referral-code-content {
    padding: 1.875rem 0;
}

.referral-code-content:last-child {
    padding-bottom: 0;
}

p.referral-code-title {
    font-size: var( --e-global-typography-text-font-size );
    font-weight: 600;
    text-align: center;
    padding-bottom: 1rem;
}

.referral-url-box {
    align-items: center;
    background: rgba(255, 255, 255, 0.15)!important;
    border: 0.5px solid var(--wayka-light)!important;
    border-radius: 50px!important;
    color: var(--wayka-light)!important;
    display: flex;
    flex: 1;
    height: 45px;
    justify-content: space-between;
    outline: none;
    gap: 8px;
    margin: 0 0 1.25rem;
    padding: 0.6rem 1.2rem!important;
}

/* QR Code - contenedor con posicionamiento relativo */
.referral-qr {
    position: relative;
    display: inline-block;
    margin: 0 auto;
}

.referral-qr svg {
    background: rgba(243, 244, 246, 0.20);
    border-radius: 8px;
    cursor: pointer;
    height: 40px;
    padding: 8px;
    position: absolute;
    right: 8px;
    bottom: 8px;
    transition: opacity .4s;
    width: 40px;
}

.referral-qr svg:hover {
    opacity: 0.4;
}

input#referral-url-input {
    background-color: transparent!important;
    border-width: 0!important;
    color: var(--wayka-light)!important;
    padding: 0!important;
}

.referral-url-input::selection {
    background: rgba(255, 255, 255, 0.3);
}

button.btn-copy-referral {
    align-items: center!important;
    background-color: transparent!important;
    border: 0!important;
    display: flex!important;
    gap: 10px;
    justify-content: center;
    padding: 0!important;
}

.btn-copy-referral:hover, .btn-copy-referral.copied  {
    background: var(--wayka-primary-dark);
}

/* ==========================================
   DASHBOARD EMBAJADOR
   ========================================== */

.dashboard-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(380px, 1fr));
    gap: 20px;
    margin: 1.875rem 0;
}

.stat-card {
    align-items: flex-start;
    background: var(--wayka-light);
    box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.05);
    border-radius: 12px;
    display: flex;
    gap: 1.25rem;
    padding: 1.875rem;
}

.stat-card .stat-icon {
    width: 48px;
    height: 48px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.stat-icon {
    background: var(--wayka-gris-claro);
}

.stat-info {
    flex: 1;
}

.stat-info h2 {
    color: var(--wayka-text);
    font-size: 13px;
    font-weight: 500;
    margin: 0 0 8px 0;
}

.stat-value {
    font-size: 28px;
    font-weight: 700;
    color: var(--wayka-text);
    margin: 0 0 4px 0;
    line-height: 1;
}

.stat-label {
    font-size:var( --e-global-typography-492399a-font-size );
    color: var(--wayka-gris-oscuro);
}

.dashboard-recent-sales, .no-orders {
    background: var(--wayka-light);
    border-radius: 12px;
    border: 1px solid var(--wayka-bg-gray);
    padding: 24px;
}

.dashboard-recent-sales .section-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}

.dashboard-recent-sales .section-header h2 {
    font-size: var( --e-global-typography-ffa31a4-font-size );
    font-weight: 600;
    color: var(--wayka-text);
    margin: 0;
}

.view-all-link {
    color: var(--wayka-gris-oscuro)!important;
    font-size: var( --e-global-typography-accent-font-size )!important;
    font-weight: 400!important;
    text-decoration: none!important;
    transition: opacity .4s ease;
}

.view-all-link:hover {
    opacity: 0.4;
}

.wayka-orders-list.compact {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.wayka-order-card.compact {
    background: var(--wayka-light);
    border: 1px solid var(--wayka-bg-gray);
    box-shadow: 0 0 0 0 rgba(0, 0, 0, 0)!important;
    border-radius: 8px;
    padding: 16px;
}

.wayka-order-card.compact .order-header {
    margin-bottom: 12px;
}

.order-summary {
    background: var(--wayka-light);
    border-radius: 6px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 12px;
    padding: 12px;
}
.order-total-row,
.order-commission-row {
    align-items: center;
    display: flex;
    justify-content: space-between;
    font-size: var( --e-global-typography-text-font-size );
}

.order-total-row .label,
.order-commission-row .label {
    color: var(--wayka-text);
}

.order-total-row .value {
    color: var(--wayka-text);
    font-weight: 600;
}

.order-commission-row .value.commission-highlight {
    color: var(--wayka-primary);
    font-size: var( --e-global-typography-accent-font-size );
    font-weight: 700;
}

.commission-info.compact {
    justify-content: center;
}

.empty-state {
    color: var(--wayka-gris-oscuro);
    padding: 4rem 1.25rem;
    text-align: center;
}

.wayka-no-permiso {
    margin-bottom: 1.25rem!important;
}

.empty-state svg {
    opacity: 0.3;
    margin-bottom: 20px;
}

.empty-state p {
    color: var(--wayka-gris-oscuro);
    font-size: var( --e-global-typography-accent-font-size );
    font-weight: 600;
    margin: 0 0 8px 0;
}

.empty-state span {
    color: var(--wayka-gris-oscuro);
    font-size: var( --e-global-typography-text-font-size );
}

/* Editar */
.card-datos {
    margin-bottom: 1.25rem;
}

.card-datos:last-child {
    margin-bottom: 0;
}

/* QR Code en código de referido */
.referral-qr-container {
    margin: 0;
    padding: 0;
    text-align: center;
}

.referral-qr-code {
    border-radius: 8px!important;
    background: var(--wayka-light);
    height: 150px!important;
    padding: 8px!important;
    width: 150px!important;
}

.referral-qr-label {
    color: rgba(255, 255, 255, 0.8);
    font-size: var( --e-global-typography-492399a-font-size );
    font-weight: 500;
    margin: 12px 0 0 0;
}

/* Ventas */
.wayka-top-ventas {
    align-items: center;
    display: flex;
    justify-content: space-between;
}

.wayka-top-ventas div {
    align-items: self-end;
    display: flex;
    font-size: var( --e-global-typography-text-font-size )!important;
    flex-direction: column;
}

.wayka-top-ventas span {
    font-size: var( --e-global-typography-accent-font-size )!important;
    font-weight: 600!important;
}


/* ==========================================
   DASHBOARD EMBAJADOR
   ========================================== */
   
.wayka-login {
    align-items: self-start;
    color: var(--wayka-text);
    font-family: Poppins, sans-serif;
    position: relative;
    padding: 220px 0px 60px;
}

.woocommerce form.checkout_coupon, .woocommerce form.login, .woocommerce form.register {
    background-color: var(--wayka-light);
    border-radius: 20px;
    border-width: 0;
    margin: 20px 0 0!important;
    min-height: 300px;
}

#customer_login h2 {
    color: var(--wayka-text);
    font-size: var(--e-global-typography-b12daf6-font-size);
    font-weight: 600;
    margin: 0;
}

button.show-password-input:after {
    display: none!important;
}

.woocommerce form .show-password-input, .woocommerce-page form .show-password-input {
    background-color: transparent!important;
    position: absolute!important;
}

#customer_login p, #customer_login p a {
    color: var(--wayka-text);
    font-size: var( --e-global-typography-492399a-font-size );
    margin-bottom: 20px;
}

#customer_login p:last-child, #customer_login p a:last-child {
    margin-bottom: 0;
}

#customer_login p a {
    transition: all .4s;
}

#customer_login p a:hover {
    opacity: 0.4;
}

.woocommerce .woocommerce-form-login .woocommerce-form-login__rememberme {
    margin-top: 8px;
}

button.woocommerce-button, button.woocommerce-Button.button {
    background-color: var(--wayka-text)!important;
    border-radius: 50px!important;
    color: var(--wayka-light)!important;
    font-size: var( --e-global-typography-accent-font-size )!important;
    font-weight: 400!important;
    transition: all .4s;
}

button.woocommerce-button:hover, button.woocommerce-Button.button:hover {
    background-color: var(--wayka-primary-dark)!important;
}

form.lost_reset_password p {
     font-size: var(--e-global-typography-accent-font-size);
    padding-bottom: 10px;
}

button.button.woocommerce-form-register__submit {
    margin-top: 20px!important;
}

form.woocommerce-ResetPassword.lost_reset_password {
    background-color: #fff;
    border-radius: 20px;
    padding: 20px;
}

.woocommerce-password-strength {
    background-color: transparent!important;
    border-width: 0!important;
    border-radius: 4px;
    font-size: var( --e-global-typography-492399a-font-size )!important;
    font-weight: 500!important;
    margin: 5px 0 10px;
    padding: 0;
    text-align: left!important;
}

.woocommerce-password-strength.bad, .woocommerce-password-strength.short {
    color: var(--wayka-error);
}

.woocommerce-password-strength.good {
    color: var(--wayka-amarillo);
}

.woocommerce-password-strength.strong {
    color: var(--wayka-primary-dark);
}

/* ==========================================
   Favoritos
   ========================================== */
.section-header-favoritos {
    align-items: flex-end;
    border-bottom: 1px solid var(--wayka-border);
    display: flex;
    justify-content: space-between;
    margin-bottom: 30px;
    padding-bottom: 20px;
}

.section-title {
    margin-bottom: 5px;
}

.favorites-counter {
    font-size: 16px;
    color: #666;
    margin: 0;
}

.favorites-count {
    font-weight: bold;
    color: #000;
    font-size: 18px;
}

.subsection-title {
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 20px;
    color: #333;
}

.favorites-selected-section, .all-products-section {
    background-color: var(--wayka-light);
    box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.05);
    border-radius: 20px;
    padding: 1.25rem;
}

.all-products-section {
    margin-top: 30px;
}

.favorites-filters {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 16px;
    margin-bottom: 20px;
}

.favorites-filter-item {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.favorites-filter-item label {
    color: var(--wayka-text);
    font-size: var( --e-global-typography-492399a-font-size )!important;
}

.favorites-filter-input,
.favorites-filter-select {
    background: var(--wayka-light);
    border: 1px solid var(--wayka-border);
    border-radius: 10px;
    color: var(--wayka-text);
    font-size: 14px;
    min-height: 42px;
    padding: 10px 12px;
    width: 100%;
}

.favorites-filter-input:focus,
.favorites-filter-select:focus {
    border-color: var(--wayka-primary-dark);
    outline: none;
}

.wayka-products-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 25px;
    margin-bottom: 30px;
}

.favorites-grid {
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 20px;
}

.wayka-product-card {
    background: var(--wayka-producto);
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    overflow: hidden;
    transition: transform 0.2s, box-shadow 0.2s;
    position: relative;
}

.wayka-product-card.is-favorite {
    border: 2px solid var(--wayka-primary-dark);
}

.product-image-wrapper {
    position: relative;
    overflow: hidden;
}

.product-image-wrapper img {
    display: block;
    height: 280px;
    object-fit: contain;
    padding: 1rem;
    width: 100%;
}

.favorites-grid .product-image-wrapper img {
    height: 280px;
}

.btn-toggle-favorite {
    align-items: center;
    background-color: var(--wayka-primary-dark)!important;
    border: none;
    border-radius: 50%!important;
    display: flex;
    justify-content: center;
    height: 40px;
    transition: all 0.3s;
    padding: 12px!important;
    position: absolute;
    top: 10px;
    right: 10px;
    width: 40px;
    z-index: 10;
}

.btn-toggle-favorite:hover {
    transform: scale(1.1);
}

.btn-toggle-favorite .star-icon, .btn-toggle-favorite .star-icon:hover {
    color: var(--wayka-light);
    transition: all 0.3s;
}

.btn-toggle-favorite .star-icon path {
    transition: all .4s;
}

.btn-toggle-favorite:hover .star-icon path {
    fill: var(--wayka-light);
}

.btn-toggle-favorite:not(.active) {
    background-color: var(--wayka-secondary)!important;
}

.btn-toggle-favorite:not(.active):hover {
    background-color: var(--wayka-primary-dark)!important;
}

.btn-toggle-favorite:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.product-info {
    background: var(--wayka-light);
    border-radius: 5px;
    padding: 15px;
}

.product-name {
    font-size: 16px;
    font-weight: 500;
    margin: 0 0 10px 0;
}

.product-name a {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    padding: 0!important;
    overflow: hidden;
    text-overflow: ellipsis;
}

.product-name a:hover {
    color: #000;
}

.product-price {
    font-size: 18px;
    font-weight: bold;
    color: #000;
}

.empty-state {
    text-align: center;
    padding: 60px 20px;
    color: #999;
}

.empty-state p {
    font-size: 18px;
    margin: 0;
}

/* Animaciones */
@keyframes pulse {
    0% { transform: scale(1); }
    50% { transform: scale(1.2); }
    100% { transform: scale(1); }
}

.btn-toggle-favorite.animating {
    animation: pulse 0.4s ease;
}

/* Mensaje de límite alcanzado */
.favorites-limit-message {
    background: #fff3cd;
    border: 1px solid #ffc107;
    color: #856404;
    padding: 12px 20px;
    border-radius: 5px;
    margin-bottom: 20px;
    font-size: 14px;
}

/* ==========================================
   RESPONDISVE
   ========================================== */
/*  Pórtatil */
@media (max-width: 1330px) {
    /* Menú sidebar */
    .wayka-account-menu {
    }

    .wayka-account-menu ul {
        overflow: scroll;
        max-width: 95%;
    }

    .wayka-account-menu li {
        flex-shrink: 0;
        white-space: normal;
        word-wrap: break-word;
        overflow-wrap: break-word;
    }
    
    .wayka-cuenta {
        align-items: self-start;
        flex-direction: column;
        gap: 1rem;
    }
    
    .sidebar-profile-picture {
        height: 50px;
        width: 50px;
    }
}

/* Tablet */
@media (max-width: 1024px) {
    .wayka-account-container {
        grid-template-columns: 300px 1fr;
        gap: 20px;
    }

    .order-header {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .btn-view-details {
        width: 100%;
    }
}

/*  Mobile */
@media (max-width: 768px) {
    .wayka-account-container {
        grid-template-columns: 1fr;
        padding-top: 160px;
    }

    .wayka-account-sidebar {
        order: 2;
    }

    .wayka-account-content {
        order: 1;
    }

    .order-product-item {
        grid-template-columns: 60px 1fr;
        gap: 15px;
    }

    .product-image img {
        width: 60px;
        height: 60px;
    }

    .product-actions {
        grid-column: 1 / -1;
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        width: 100%;
    }

    .btn-reorder {
        flex: 1;
    }

    .dashboard-stats {
        grid-template-columns: 1fr 1fr;
    }
    
    .stat-value {
        font-size: 24px;
    }
    
    .dashboard-recent-sales {
        padding: 16px;
    }

    .wayka-pagination {
        flex-wrap: wrap;
        gap: 8px;
    }
    
    .wayka-pagination-link {
        min-width: 36px;
        height: 36px;
        padding: 0 10px;
        font-size: 13px;
    }
    
    /* Menú sidebar */
    .desk {
       display: none;
    }
    
    .sidebar-profile-picture {
        height: 30px;
        width: 30px;
    }
    
    /* Ocultar números intermedios en móvil */
    .wayka-pagination-numbers .wayka-pagination-link:not(.active) {
        display: none;
    }
    
    .wayka-pagination-numbers .wayka-pagination-link.active {
        display: inline-flex;
    }
    
    .wayka-pagination-ellipsis {
        display: none;
    }
    
    /* Formulario */
    .wayka-form-row {
        grid-template-columns: 1fr;
    }
    
    h1.section-title {
        top: 80px;
    }
    
    h2.section-title {
        display: none;
    }
    
    .wayka-top-ventas {
        align-items: flex-start;
    }

    .wayka-top-ventas h2.section-title {
        display: flex;
        margin-top: 0;
    }
    
    .wayka-content-section {
        padding-top: 20px;
    }
    
    /* Favoritos */
    .section-header-favoritos {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }
    
    .wayka-products-grid {
        grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
        gap: 15px;
    }
    
    .product-image-wrapper img {
        height: 200px;
    }
    
    .favorites-grid .product-image-wrapper img {
        height: 150px;
    }

    .favorites-filters {
        grid-template-columns: 1fr;
        gap: 12px;
    }
    
    /* Pedidos */
    .order-info {
        align-items: flex-start;
        flex-direction: column;
        width: 40%;
    }
    
    .product-actions .btn-reorder {
        margin-left: 10%;
    }
}

@media (max-width: 600px) {
    /* Favoritos */
    .wayka-products-grid {
        grid-template-columns: 1fr 1fr;
    }
    
     /* Ventas */
    .dashboard-stats {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 450px) {
    /* Favoritos */
    .wayka-products-grid {
        grid-template-columns: 1fr;
    }
}