/* Alineación del nombre y la insignia al margen interior del panel. */
#encabezado_miembro {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 44px !important;
    align-items: center !important;
    column-gap: 16px;
    width: 100% !important;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    margin: 0 0 16px;
    padding: 0;
}
#encabezado_miembro > #nombre_perfil {
    grid-column: 1;
    grid-row: 1;
    width: auto !important;
    min-width: 0;
    max-width: 100%;
    margin: 0 !important;
    padding: 0;
    overflow-wrap: anywhere;
}
#encabezado_miembro > #insignia_membresia {
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
    align-self: center;
    position: relative !important;
    inset: auto !important;
    float: none;
    width: 44px !important;
    min-width: 44px;
    max-width: 44px;
    height: 44px;
    margin: 0 !important;
    padding: 0;
    box-sizing: border-box;
}
#encabezado_miembro .q-membership-tooltip {
    left: auto;
    right: 0;
}

/* Insignias públicas de membresía y acciones del perfil. */
.q-membership-badge {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 44px;
    height: 44px;
    padding: 0;
    margin: 0 0 10px;
    border: 1px solid;
    border-radius: 50%;
    cursor: pointer;
    isolation: isolate;
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
    transition: box-shadow .2s ease;
}
.q-membership-badge[hidden] { display: none !important; }
.q-membership-badge > svg {
    width: 25px;
    height: 25px;
    display: none;
    pointer-events: none;
}
.q-membership-badge[data-level="estandar"] {
    color: #64748b;
    background: linear-gradient(135deg, #f8fafc, #e2e8f0);
    border-color: #94a3b8;
    box-shadow: inset 0 0 0 3px #ffffff90;
}
.q-membership-badge[data-level="oro"] {
    color: #8a5d08;
    background: linear-gradient(135deg, #fffbed 5%, #f5d987 46%, #fff2c2 70%, #dfbc61);
    border-color: #d4af37;
    box-shadow: inset 0 0 0 3px #fff8dc90, 0 3px 10px #d4af3726;
}
.q-membership-badge[data-level="platino"] {
    color: #247e9a;
    background: linear-gradient(135deg, #ffffff 5%, #d8f4fb 40%, #f5fdff 65%, #a7dce9);
    border-color: #67c8e8;
    box-shadow: inset 0 0 0 3px #ffffffa0, 0 3px 10px #67c8e82b;
}
.q-membership-badge[data-level="estandar"] [data-membership-icon="estandar"],
.q-membership-badge[data-level="oro"] [data-membership-icon="oro"],
.q-membership-badge[data-level="platino"] [data-membership-icon="platino"] { display: block; }
.q-membership-badge[data-level="oro"]:hover {
    box-shadow: inset 0 0 0 3px #fff8dcd0, 0 0 14px #d4af3745;
}
.q-membership-badge:focus-visible { outline: 3px solid #a880d4; outline-offset: 4px; }
.q-membership-tooltip {
    position: absolute;
    z-index: 3;
    right: 0;
    top: calc(100% + 8px);
    display: none;
    width: max-content;
    padding: 7px 10px;
    border-radius: 9px;
    color: #fff;
    background: #342441;
    font-family: inherit;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.4;
    pointer-events: none;
}
.q-membership-badge:focus-visible .q-membership-tooltip,
.q-membership-badge[data-tooltip-open="true"] .q-membership-tooltip { display: block; }
@media (hover: hover) {
    .q-membership-badge:hover .q-membership-tooltip { display: block; }
}
.q-membership-badge[data-tooltip-dismissed="true"] .q-membership-tooltip { display: none; }
html[data-theme="dark"] .q-membership-badge[data-level="estandar"] {
    color: #cbd5e1;
    background: linear-gradient(135deg, #334155, #1e293b);
    border-color: #94a3b8;
    box-shadow: inset 0 0 0 3px #ffffff0a;
}
html[data-theme="dark"] .q-membership-badge[data-level="oro"] {
    color: #f5d477;
    background: linear-gradient(135deg, #493a1b, #292114 55%, #51401d);
    border-color: #d4af37;
}
html[data-theme="dark"] .q-membership-badge[data-level="platino"] {
    color: #9ae6fa;
    background: linear-gradient(135deg, #244759, #142b39 55%, #31576a);
    border-color: #67c8e8;
    box-shadow: inset 0 0 0 3px #ffffff12, 0 3px 10px #67c8e826;
}
html[data-theme="dark"] .q-membership-tooltip { color: #281b34; background: #f1e8fb; }
@media (prefers-reduced-motion: reduce) {
    .q-membership-badge { transition: none; }
}
#intereses_perfil .q-interest {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
#intereses_perfil .q-interest > i,
#intereses_perfil .q-interest > svg {
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
}
.q-profile-actions {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    width: 100%;
    align-items: center;
    gap: 12px;
    margin-top: 22px;
}
.q-profile-actions[hidden], .q-profile-restricted[hidden],
.q-profile-dialog [hidden] { display: none !important; }
.q-profile-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-width: 0;
    height: 50px;
    padding: 0;
    border: 1px solid #e2dceb;
    border-radius: 16px;
    background: #fff;
    color: #675573;
    cursor: pointer;
    transition: background .18s, border-color .18s, transform .18s;
}
.q-profile-action svg { width: 23px; height: 23px; pointer-events: none; }
.q-profile-action:not(:disabled):hover { transform: translateY(-2px); border-color: currentColor; }
.q-profile-action:focus-visible, .q-profile-dialog button:focus-visible {
    outline: 3px solid #a880d4;
    outline-offset: 4px;
}
.q-profile-action--like { color: #c43870; background: #fff2f6; border-color: #f3d5e0; }
.q-profile-action--chat { color: #8051b2; background: #f7f0ff; border-color: #e5d6f4; }
.q-profile-action--favorito { color: #a77217; background: #fff9e9; border-color: #eddfbb; }
.q-profile-action--bloqueo { color: #9a6170; }
.q-profile-action--like[aria-pressed="true"] { background: #c43870; color: #fff; border-color: #c43870; }
.q-profile-action--favorito[aria-pressed="true"] { background: #a77217; color: #fff; border-color: #a77217; }
.q-profile-action--like[aria-pressed="true"] svg,
.q-profile-action--favorito[aria-pressed="true"] svg { fill: currentColor; }
.q-profile-action--bloqueo.is-unblock { color: #267556; background: #edf9f1; border-color: #a9d5be; }
.q-unblock-symbol, .is-unblock .q-block-symbol { display: none; }
.is-unblock .q-unblock-symbol { display: inline; }
.q-profile-action:disabled { opacity: .43; cursor: not-allowed; }
.q-profile-block-status { font-size: 13px; line-height: 1.65; margin: 14px 0 0; color: #71617e; }
.q-profile-block-status[hidden] { display: none !important; }
html[data-theme="dark"] .q-profile-block-status { color: #c0accd; }
.q-profile-restricted { max-width: 680px; margin-top: 18px; }
.q-profile-restricted p { line-height: 1.7; }
.q-profile-dialog {
    width: min(480px, calc(100% - 32px));
    max-height: calc(100dvh - 48px);
    padding: 0;
    border: 1px solid #e8e0ee;
    border-radius: 24px;
    background: #fff;
    color: #30243c;
    box-shadow: 0 24px 90px #21102f38;
    overflow: auto;
}
.q-profile-dialog:not([open]) { display: none; }
.q-profile-dialog::backdrop { background: #140c22a8; backdrop-filter: blur(4px); }
.q-profile-dialog-body { padding: 28px; }
.q-profile-dialog-symbol {
    width: 48px; height: 48px; display: grid; place-items: center;
    border-radius: 16px; background: #fff0f2; color: #ad3553; margin-bottom: 18px;
}
.q-profile-dialog-symbol svg { width: 26px; height: 26px; }
.q-profile-dialog h2 { margin: 0 0 12px; font-size: 22px; line-height: 1.3; }
.q-profile-dialog p, .q-profile-dialog li { font-size: 14px; line-height: 1.65; }
.q-profile-dialog ul { padding-left: 21px; margin: 18px 0; }
.q-profile-dialog li + li { margin-top: 8px; }
.q-profile-dialog-note { color: #71617e; }
.q-profile-dialog-error { color: #ad2546; }
.q-profile-dialog-actions { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.q-profile-dialog-actions .btn { min-height: 44px; }
.q-profile-dialog .q-profile-confirm { background: #ac3152; color: #fff; border: 1px solid #ac3152; }
.q-profile-dialog .q-profile-confirm.is-unblock { background: #267556; border-color: #267556; }
html[data-theme="dark"] .q-profile-action { background: #21192c; border-color: #483453; }
html[data-theme="dark"] .q-profile-action--like { color: #ffa3c6; }
html[data-theme="dark"] .q-profile-action--chat { color: #d4afff; }
html[data-theme="dark"] .q-profile-action--favorito { color: #f0ca78; }
html[data-theme="dark"] .q-profile-action--bloqueo { color: #dba4b1; }
html[data-theme="dark"] .q-profile-action--like[aria-pressed="true"] { background: #b93266; color: #fff; }
html[data-theme="dark"] .q-profile-action--favorito[aria-pressed="true"] { background: #885b15; color: #fff; }
html[data-theme="dark"] .q-profile-action.is-unblock { color: #a7e4c4; background: #17382c; border-color: #38684d; }
html[data-theme="dark"] .q-profile-dialog { background: #21182d; color: #f6edf9; border-color: #50345f; }
html[data-theme="dark"] .q-profile-dialog-symbol { background: #452137; color: #ffa7bf; }
html[data-theme="dark"] .q-profile-dialog-note { color: #c0accd; }
html[data-theme="dark"] .q-profile-dialog-error { color: #ffa7bf; }
@media (max-width: 420px) {
    .q-profile-actions { gap: 10px; }
    .q-profile-dialog-body { padding: 22px; }
    .q-profile-dialog-actions .btn { flex: 1; }
}
@media (prefers-reduced-motion: reduce) { .q-profile-action { transition: none; } }
