.vm-site-header {
    position: relative;
}

.site-content .ast-container {
    display: block;
}

/* Estilos para la página de perfil */
.usm-profile {
    max-width: 800px;
    margin: 0 auto;
    padding: 20px;
}

.usm-profile-header {
    display: flex;
    align-items: flex-start;
}

.usm-profile-picture {
    flex: 0 0 150px;
    margin-left: 30px;
}

.usm-profile-picture img {
    width: 116px;
    height: 116px;
    border-radius: 50%;
    object-fit: cover;
}

.usm-profile-details {
    flex: 1;
}

.usm-profile-top {
    display: flex;
    justify-content: flex-start;
    align-items: baseline;
}

.nombres-contenedor {
    margin-right: 35px;
    white-space: nowrap;
}

.usm-profile-name {
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 2px;
}

.usm-profile-nicename {
    font-size: 15px;
    color: #919191;
    margin-top: -5px;
}

.usm-follow-button, .usm-unfollow-button {
    color: #fff;
    border: none;
    padding: 10px 0;
    cursor: pointer;
    border-radius: 5px;
    font-size: 14px;
    white-space: nowrap;
    width: 135px;
    min-width: 135px;
}

.usm-follow-button { background-color: #046bd2; }
.usm-follow-button:focus { background-color: #046bd2; }
.usm-follow-button:hover { background-color: #0060c1; }
.usm-follow-button:active { background-color: #0056b3; }

.usm-unfollow-button { background-color: #f20000; }
.usm-unfollow-button:focus { background-color: #f20000; }
.usm-unfollow-button:hover { background-color: #df0000; }
.usm-unfollow-button:active { background-color: #cc0000; }

.usm-edit-profile-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 125px;
    min-width: 125px;
    min-height: 36px;
    background-color: #fff;
    border: 1px solid var(--vm-border);
    color: var(--vm-brand);
    font-weight: 500;
    transition: background-color 0.2s ease;
    padding: 6px;
    border-radius: 4px;
    font-size: 14px;
    white-space: nowrap;
    line-height: 0;
}
.usm-edit-profile-button:focus {
    background: none;
    color: var(--vm-brand);
    border: 1px solid var(--vm-border) !important;
}
.usm-edit-profile-button:hover {
    background: var(--vm-soft);
    color: var(--vm-brand-900);
    border: 1px solid var(--vm-border-dark) !important;
}
.usm-edit-profile-button:active {
    background: var(--vm-soft-active);
    color: var(--vm-brand-900);
    border: 1px solid var(--vm-border-dark) !important;
}

.icon-ajustes {
    width: 18px;
    height: 18px;
    margin-right: 6px;
}

/* =========================================================
   LOGROS COMPACTOS EN HEADER DE PERFIL
========================================================= */

.usm-profile-achievements-bar{
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin: 14px 0 12px;
    min-width: 0;
}

.usm-profile-achievement-chip{
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 34px;
    padding: 6px 12px;
    border-radius: 999px;
    border: 1px solid var(--vm-border);
    background: #fff;
    color: var(--vm-brand);
    line-height: 1;
    min-width: 0;
}

.usm-profile-achievement-chip--level{
    background: rgba(37, 99, 235, 0.08);
    border-color: rgba(37, 99, 235, 0.16);
}

.usm-profile-achievement-chip--badge{
    background: var(--vm-soft);
}

.usm-profile-achievement-chip__label,
.usm-profile-achievement-chip__value{
    font-size: 13.5px;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.usm-profile-achievement-chip__sep{
    color: #94a3b8;
    font-size: 13px;
    flex: 0 0 auto;
}

.usm-profile-achievement-chip__icon{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    color: var(--vm-accent);
    flex: 0 0 auto;
}

.usm-profile-achievement-chip__icon svg{
    display: block;
    width: 17px;
    height: 17px;
}

/* Badge PNG en chip del header del perfil */

.usm-profile-achievement-chip__icon {
    width: 22px;
    height: 22px;
    flex: 0 0 22px;
    display: inline-grid;
    place-items: center;
    overflow: visible;
}

.usm-profile-achievement-chip__icon .usm-gamification-badge-img {
    width: 22px;
    height: 22px;
    object-fit: contain;
    filter: drop-shadow(0 4px 7px rgba(15, 23, 42, 0.12));
}

.usm-profile-achievements-link{
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 7px 4px;
    color: var(--vm-link);
    font-size: 13.5px;
    font-weight: 600;
    text-decoration: none;
    transition: color .18s ease;
}

.usm-profile-achievements-link:hover{
    color: var(--vm-link-hover);
    text-decoration: underline;
}

.usm-profile-achievements-link:focus{
    color: var(--vm-link);
}

.usm-profile-stats {
    display: flex;
    gap: 20px;
    margin: 5px auto;
    white-space: nowrap;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    line-height: 20px;
}

.usm-profile-stats span {
    display: inline-block;
    flex-direction: column;
    align-items: center;
}

.usm-profile-stats span:first-child {
    font-size: 18px;
    font-weight: bold;
    color: #161823;
}

.usm-profile-stats span:last-child {
    font-size: 14.5px;
    color: #919191;
    font-weight: 300;
}

#usm-show-followers-modal, #usm-show-following-modal {
    cursor: pointer;
}

.usm-profile-bio {
    margin-top: 10px;
    font-size: 15px;
    color: #555;
    line-height: 26px;
}

.usm-profile-social-media {
    display: flex;
    gap: 13px;
    margin-top: 5px;
}

.usm-profile-social-media a img {
    width: 22px;
    height: 22px;
    object-fit: contain;
}

/* Estilos para los tabs */
.usm-profile-tabs {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 0;
    border-bottom: 1px solid #e2e2e2;
    margin-top: 20px;
    padding: 0 2px;
    overflow-x: auto;
    overflow-y: hidden;
    white-space: nowrap;
    font-weight: 500;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
}

.usm-profile-tabs::-webkit-scrollbar {
    display: none;
}

.usm-profile-tabs a {
    position: relative;
    flex: 0 0 auto;
    padding: 10px 21px;
    text-decoration: none;
    color: #1e293bd6;
    transition: color 0.14s ease;
    user-select: none;
}

.usm-profile-tabs a::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 2.5px;
    background: transparent;
    border-radius: 999px;
    transform: scaleX(0);
    transform-origin: center;
    transition: transform 0.14s ease, background-color 0.14s ease;
    pointer-events: none;
}

.usm-profile-tabs a:hover {
    color: #1e293b !important;
}

.usm-profile-tabs a:hover::after {
    background: #1e293b;
    transform: scaleX(1);
}

.usm-profile-tabs a.active {
    color: #046bd2 !important;
}

.usm-profile-tabs a.active::after {
    background: #046bd2;
    transform: scaleX(1);
}

.usm-profile-tabs a.active:hover {
    color: #046bd2 !important;
}

.usm-profile-tabs a.active:hover::after {
    background: #046bd2;
}

.usm-profile-tab-content {
    width: 100%;
    height: 100%;
    min-height: 230px;
}

/* --- Estilos para la modal de seguidores y seguidos --- */
.usm-modal {
    display: none;
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.4);
    padding-top: 60px;
}

.usm-modal-content {
    background-color: #fefefe;
    margin: auto;
    padding: 0;
    border: 1px solid #888;
    border-radius: 10px;
    width: 90%;
    max-width: 450px;
    overflow: hidden;
}

.usm-modal-header {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    padding: 15px;
    border-bottom: 1px solid #ddd;
    position: relative;
}

.usm-modal-header h2 {
    margin: 0;
    font-size: 19px;
    font-weight: 700;
    flex-grow: 1;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: calc(100% - 50px);
}

.usm-close {
    color: #747474;
    position: absolute;
    right: 15px;
    font-size: 17px;
    cursor: pointer;
    font-weight: 600;
    margin-right: 7px;
    user-select: none;
}

.usm-close:hover,
.usm-close:focus {
    color: #1e293b;
}

.usm-tabs {
    display: flex;
    justify-content: space-around;
    border-bottom: 1px solid #ddd;
}

.usm-tablinks {
    background-color: #f1f1f1;
    color: black;
    border: none;
    outline: none;
    cursor: pointer;
    padding: 14px 16px;
    transition: 0.3s;
    flex-grow: 1;
    text-align: center;
    font-weight: 400;
    border-radius: 0px;
}

.usm-tablinks.active {
    border-bottom: 2px solid #0073aa !important;
    font-weight: bold !important;
    background-color: white !important;
    color: #1e293b;
}

.usm-tablinks:hover {
    background-color: #ddd;
    color: #1e293b;
}

.usm-tabcontent {
    display: none;
    padding: 20px;
    border-top: none;
}

.usm-follow-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.usm-follow-item {
    display: flex;
    align-items: center;
    border-bottom: 1px solid #ccc;
    gap:12px;
    padding:10px 4px;
}

.usm-follow-link {
    display: flex;
    align-items: center;
    text-decoration: none;
    color: #333;
    margin-right: auto;
    font-weight: 500;
    font-size: 16px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: calc(100% - 100px);
    gap:12px;
}

.usm-follow-username {
    display: inline-block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: calc(100% - 10px);
    color:#0f1419;
    font-weight:600;
}

.usm-follow-item img {
    border-radius: 999px;
    margin-right: 2px;
    width: 46px;
    height: 46px;
    object-fit:cover;
}
.usm-follow-item img:hover { opacity: .89; }

.usm-empty-icon {
    width: 75px;
    height: 75px;
    stroke-width: 1.5;
    fill: #1e293b;
}

.usm-empty-message {
    text-align: center;
    color: #555;
    font-size: 16px;
    margin-top: 10px;
}

.usm-empty-title {
    font-size: 20px;
    font-weight: 600;
    margin: 5px 0 7px;
    color: #1e293b;
}

.usm-empty-description {
    font-size: 17px;
    color: #888;
    margin: 0 0 20px 0;
}

/* CSS para skeleton y spinner */
.usm-skeleton{ pointer-events:none; }
.usm-skel-avatar{ width:44px; height:44px; border-radius:999px; background:#eee; }
.usm-skel-text{ display:flex; flex-direction:column; gap:2px; }
.usm-skel-line{ height:17px; width:140px; border-radius:6px; background:#eee; }
.usm-skel-name{ width:140px; }
.usm-skel-btn{ margin-left:auto; width:120px; height:28px; border-radius:8px; background:#eee; }
.usm-pulse{ animation:usmPulse 1.1s ease-in-out infinite; }
@keyframes usmPulse { 0%{opacity:.6} 50%{opacity:.35} 100%{opacity:.6} }

.usm-infinite-spinner{ display:none; justify-content:center; padding:12px; }
.usm-infinite-spinner.active{ display:flex; }
.usm-spinner{ width:24px; height:24px; border:3px solid rgba(0,0,0,.12); border-top-color: rgba(0,0,0,.55); border-radius:50%; animation:usmSpin .8s linear infinite; }
@keyframes usmSpin { to { transform: rotate(360deg)} }

/* Sección de favoritos de usuarios */
.user-favorites {
    margin: 15px 15px 0 0;
}

/* --- Estilos para la sección de publicaciones de usuario --- */
.user-post {
    background-color: #ffffff;
    border: 1px solid #e1e1e1;
    padding: 20px 20px 11px;
    margin-bottom: 30px;
    border-radius: 10px;
    font-family: 'Arial', sans-serif;
    position: relative;
}

#user-posts-container {
    margin-top: 40px;
}

.user-post-header {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    margin-bottom: 10px;
}

.user-post-author-avatar {
    border-radius: 50%;
    margin-right: 10px;
    width: 38px;
    height: 38px;
    max-width: initial;
}
.user-post-author-avatar:hover {
    opacity: 0.92;
    filter: brightness(1.04);
}

.user-post-author-info {
    display: flex;
    flex-direction: column;
    align-items: baseline;
    line-height: 1.6;
    overflow: hidden;
    width: 100%;
}

.user-post-author-info strong {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: calc(100% - 54px);
}

.user-post-rating {
    font-weight: 700;
    color: #fff;
    background-color: #1e293b;
    padding: 7px 7px 7px 5px;
    font-size: 17px;
    text-align: center;
    position: absolute;
    top: 20px;
    right: 20px;
    font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
    border-radius: calc(32px / 5.5) calc(32px / 5.5) calc(32px / 5.5) 0;
    box-shadow: 0 3px 5px rgba(0, 0, 0, 0.2);
    transition: background-color 0.3s, transform 0.3s;
}

.user-post-rating::before {
    content: '★';
    color: #ffc107;
    margin-right: 2px;
    font-size: 17.5px;
}

.user-post-rating:hover {
    background-color: #273c51;
    transform: scale(1.05);
}

.user-post-date {
    font-size: 13.5px !important;
    color: #888 !important;
    font-weight: normal !important;
    margin-left: 1px !important;
}

.user-post-title {
    font-weight: bold;
    margin-top: 10px;
    margin-bottom: 5px;
    font-size: 18px;
}

.user-post-title a {
    color: #333;
    margin-top: 0;
    transition: color 0.3s;
}

.user-post-title a:hover {
    text-decoration: underline;
    color: #045cb4;
}

.user-post strong {
    color: #1e293b;
    font-size: 16.5px;
}

.user-post-more-button span {
    color: #045cb4;
    font-weight: bold;
    margin-left: 10px;
    font-size: 18px;
}

.user-post p {
    color: #333;
    font-size: 17px;
    font-weight: bold;
    margin-top: 10px;
    line-height: 1.6;
    margin-bottom: 5px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    width: 100%;
    white-space: normal;
}

.user-post-content {
    position: relative;
    margin-bottom: -5px;
    overflow-wrap: break-word;
}

.user-post-full-content {
    --usm-user-post-line-height: 1.55;
    --usm-user-post-collapsed-lines: 3;
    max-height: calc(1em * var(--usm-user-post-line-height) * var(--usm-user-post-collapsed-lines));
    overflow: hidden;
    font-size: 16px;
    line-height: var(--usm-user-post-line-height);
    overflow-wrap: break-word;
    word-break: break-word;
}

.user-post-full-content.expanded {
    max-height: none;
    overflow: visible;
}

.user-post-more-button[hidden] {
    display: none !important;
}

.user-post-more-button {
    cursor: pointer;
    color: #045cb4;
    background-color: unset !important;
    border: none;
    text-align: center;
    padding: 0px 1px;
    margin-top: 14px;
    box-shadow: none;
    font-size: 16px;
    font-weight: 600;
    display: flex;
    margin-bottom: -3px;
}

.user-post-more-button:hover {
    color: #034a91 !important;
    text-decoration: underline;
}

.user-post-more-button:active, .user-post-more-button:focus {
    color: #045cb4;
    background-color: unset !important;
}

.user-post-icon-chevron-down, .user-post-icon-chevron-up {
    display: inline-block;
    width: 14px;
    height: 14px;
    background-image: url(https://viajamundi.es/wp-content/themes/astra-child/images/icon-flecha-up-down.svg);
    background-size: cover;
    transition: transform 0.5s ease;
    margin-left: 6px !important;
    margin-top: 1.3px;
    padding: 8px;
}

.user-post-more-button .user-post-icon-chevron-up {
    transform: rotate(180deg);
}

/* Contenedor con scroll para imagenes */
.user-post-images-container {
    overflow-x: auto;
    width: 100%;
    margin: 12px 3px 0 0;
    padding: 8px 3px 3px 3px;
    position: relative;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.user-post-images-container.active {
    cursor: grabbing;
}

.user-post-images-container::-webkit-scrollbar {
    display: none;
}

.user-post-images {
    display: flex;
    flex-wrap: nowrap;
    gap: 5px;
    padding: 3px 0;
    overflow-x: auto;
    width: 100%;
    position: relative;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.gallery-item-container {
    display: flex;
    flex-wrap: nowrap;
    gap: 5px;
    padding: 0 3px 0 2px;
}

.user-post-images a {
    flex: 0 0 auto;
    width: 105px;
    height: 105px;
    min-width: 105px;
    border: 1px solid var(--vm-border) !important;
    border-radius: 6px;
    overflow: hidden;
    scroll-snap-align: start;
    margin-right: 10px;
    transition: border 0.1s, transform 0.1s;
    position: relative;
    user-select: none;
}

.user-post-images img {
    display: block;
    transition: transform 0.3s;
    width: 100%;
    height: 100%;
    object-fit: cover;
    pointer-events: none;
    user-select: none;
    -webkit-user-drag: none;
}

.user-post-images a:hover {
    outline: 2px solid #045cb4;
}

/* Contenedor de acciones */
.interaction-buttons, .modal-buttons-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 2px 0 0;
    padding: 8px 1px 0;
    white-space: nowrap;
    overflow: visible;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}

.interaction-buttons::-webkit-scrollbar {
    display: none; /* Safari/Chrome */
}

.like-button,
button.view-post-button,
button.share-button,
.review-options-toggle,
.qna-options-toggle{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    cursor: pointer;
    border-radius: 999px;
    min-height: 38px;
    padding: 6px 10px;
    background: transparent;
    color: var(--vm-brand) !important;
    transition: background .15s ease, transform .10s ease, box-shadow .15s ease;
    font-weight: 600;
    font-size: 14.4px;
}

.like-button:focus,
button.view-post-button:focus,
button.share-button:focus,
.review-options-toggle:focus,
.qna-options-toggle:focus{
  background: transparent;
}

.like-button:hover,
button.view-post-button:hover,
button.share-button:hover,
.review-options-toggle:hover,
.qna-options-toggle:hover{
  background: var(--vm-soft);
}

.like-button:active,
button.view-post-button:active,
button.share-button:active,
.review-options-toggle:active,
.qna-options-toggle:active{
  background: var(--vm-soft-active);
}

.like-button svg.like-icon { display: none; }
.like-button svg.like-icon.default { fill: #ffffff; stroke: #1e293b; display: block; }
.like-button svg.like-icon.active { fill: #1e293b; stroke: #1e293b; }
.like-button.liked svg.like-icon.active { display: block; }
.like-button.liked svg.like-icon.default { display: none; }

.like-button.active svg.like-icon.default { display: none; }
.like-button.active svg.like-icon.active  { display: inline; }

.like-button[aria-pressed="true"] .like-icon.default { display: none; }
.like-button[aria-pressed="true"] .like-icon.active  { display: inline; }

svg.comentarios-icon-default {
    stroke: #1e293b;
    fill: #1e293b;
}

.publicaciones-share-container {
    position: relative;
}

svg.usm-icon-share {
    stroke: #1e293b;
    stroke-width: 1.5;
    fill: #1e293b;
}

/* ==== Menús flotantes: compartir + opciones ==== */
.publicaciones-share-container,
.review-options,
.publicaciones-modal-share-container,
.forum-share-container {
  position: relative;
}

.share-options,
.review-options-menu,
.qna-options-menu,
.forum-share-options {
  position: fixed;
  background-color: var(--vm-white);
  border-radius: 12px;
  box-shadow: 0 18px 45px rgba(15, 23, 42, 0.22);
  z-index: 199;
  padding: 6px;
  min-width: 220px;
  max-width: min(260px, 90vw);
  border: 1px solid rgba(148, 163, 184, 0.55);
  opacity: 0;
  transform: translateY(4px) scale(0.98);
  pointer-events: none;
  transition:
    opacity 0.16s ease-out,
    transform 0.16s ease-out;
}

/* Estado visible (JS añade .vm-open) */
.share-options.vm-open,
.review-options-menu.vm-open,
.qna-options-menu.vm-open,
.forum-share-options.vm-open {
  opacity: 1;
  transform: translateY(0) scale(1);
  pointer-events: auto;
}

/* Perfil: COMPARTIR debajo del botón */
.publicaciones-share-container .share-options.vm-dropdown-below::before,
.publicaciones-modal-share-container .share-options.vm-dropdown-below::before,
.review-options .review-options-menu.vm-dropdown-below::before,
.forum-share-container .forum-share-options.vm-dropdown-below::before,
.forum-item-header-actions .qna-options-menu.vm-dropdown-below::before {
  content: "";
  position: absolute;
  bottom: 100%;
  left: var(--vm-arrow-x, 18px);
  transform: translateX(-50%);
  border-width: 6px;
  border-style: solid;
  border-color: transparent transparent var(--vm-white) transparent;
}

/* Perfil: COMPARTIR encima del botón */
.publicaciones-share-container .share-options.vm-dropdown-above::before,
.publicaciones-modal-share-container .share-options.vm-dropdown-above::before,
.review-options .review-options-menu.vm-dropdown-above::before,
.forum-share-container .forum-share-options.vm-dropdown-above::before,
.forum-item-header-actions .qna-options-menu.vm-dropdown-above::before {
  content: "";
  position: absolute;
  top: 100%;
  left: var(--vm-arrow-x, 18px);
  transform: translateX(-50%);
  border-width: 6px;
  border-style: solid;
  border-color: var(--vm-white) transparent transparent transparent;
}

/* Elementos de menú */
.share-options button,
.review-options-menu button,
.review-options-menu a,
.qna-options-menu button,
.forum-share-options button {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  padding: 8px 10px;
  text-align: left;
  border: none;
  background: none;
  cursor: pointer;
  color: var(--vm-brand);
  width: 100%;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 400 !important;
  line-height: 1.3;
  box-shadow: none;
  height: 40px;
}

.share-options button:hover,
.review-options-menu button:hover,
.review-options-menu a:hover,
.qna-options-menu button:hover,
.forum-share-options button:hover {
  background-color: #eff6ff;
}

/* Iconos a la izquierda */
.share-options button .share-icon,
.review-options-menu .vm-option-icon,
.qna-options-menu .vm-option-icon,
.forum-share-options button .qna-share-icon {
  margin-right: 0;
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}
img.share-icon.share-twitter,
img.qna-share-icon.qna-share-twitter {
    width: 14px;
    height: 14px;
    margin-right: 4px;
}

.review-options-menu .vm-option-label,
.qna-options-menu .vm-option-label {
  flex: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Cargar más reviews y fotos */
#load-more-user-posts, #load-more-user-photos, .load-more-button {
    display: flex;
    justify-content: center;
    margin: 0 auto 30px auto;
    padding: 12px 35px;
    font-size: 16px;
    cursor: pointer;
    transition: background-color 0.3s ease;
    background-color: var(--vm-brand);
    color: #fff;
    border: 2.3px solid var(--vm-brand) !important;
    line-height: 1.4;
    border-radius: 50px;
}

#load-more-user-posts:hover, #load-more-user-photos:hover, .load-more-button:hover {
    background-color: var(--vm-brand);
    color: #fff;
    filter: opacity(0.94);
}

/* Estilos para la tab Me gusta */
#user-liked-posts-container {
    margin-top: 40px;
}

/* Estilos para las opciones del perfil */
.profile-options-button {
    min-width: 35px;
    min-height: 35px;
    background: none;
    color: var(--vm-brand);
    border-radius: 5px;
    cursor: pointer;
    padding: 4.5px 4px 4px 4px;
    box-shadow: none;
    margin: 0 0 0 12px;
    border: 1px solid var(--vm-border);
}
.profile-options-button:focus {
    background: none;
    color: var(--vm-brand);
    border: 1px solid var(--vm-border) !important;
}
.profile-options-button:hover {
    background: var(--vm-soft);
    color: var(--vm-brand-900);
    border: 1px solid var(--vm-border-dark) !important;
}
.profile-options-button:active {
    background: var(--vm-soft-active);
    color: var(--vm-brand-900);
    border: 1px solid var(--vm-border-dark) !important;
}

.opciones-perfil-svg {
    fill: #0f1419;
    vertical-align: middle;
}

.opciones-propio-perfil-svg {
    vertical-align: text-bottom;
}

.profile-options-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.5) !important;
    padding: 0;
    overflow: hidden;
    max-width: 100%;
    text-align: center;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    animation: pa-fadeIn 0.3s ease;
    z-index: 100;
}

.profile-options-modal-content {
    background-color: #ffffff;
    border-radius: 12px;
    width: 350px;
    max-width: 90%;
    text-align: center;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    animation: pa-fadeIn 0.3s ease;
}

.profile-options-action {
    border: none;
    text-align: center;
    width: 100%;
    background-color: white;
    color: #000000;
    font-size: 16px;
    cursor: pointer;
    transition: background-color 0.3s ease;
    box-shadow: none;
    border-bottom: 1px solid lightgrey;
    border-radius: 0;
    padding: 16px 0;
}

.profile-options-action:hover {
    border: none;
}

#block-user-button {
    border-radius: 10px 10px 0 0;
}

#cancel-button {
    border-bottom: none;
    border-radius: 0 0 10px 10px;
}

#cancel-button:hover {
    background-color: #5a6268;
}

/* Modal de confirmación de opciones del perfil */
.profile-options-modal-confirm {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1003;
}

.profile-options-confirm-content {
    background-color: #fff;
    border-radius: 8px;
    width: 325px;
    max-width: 90%;
    text-align: center;
}

.profile-options-confirm-content p {
    padding: 13px 20px 0px 20px;
    font-size: 16.5px;
    color: #000;
    font-weight: 500;
    margin: 0 0 -7px 0;
}

.profile-options-modal-actions {
    margin-top: 20px;
    display: flex;
    flex-direction: column;
}

.profile-options-confirm-button {
    display: block;
    border: none;
    width: 100%;
    background-color: white;
    font-size: 16px;
    cursor: pointer;
    padding: 17px 0;
}

#profile-options-confirm-yes {
    color: #f21f18;
    border-top: 1px solid lightgrey;
}

#profile-options-confirm-yes:hover {
    background-color: #f21f18;
    color: white;
}

#profile-options-confirm-no {
    border-radius: 0 0 8px 8px;
    border-top: 1px solid lightgrey;
    color: #5a6268;
    padding: 18px 0;
}

#profile-options-confirm-no:hover {
    background-color: #5a6268;
    color: white;
}

/* Estilo para la modal de compartir perfil */
.share-profile-options-modal {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 90%;
    max-width: 400px;
    background-color: #fff;
    border-radius: 10px;
    padding: 20px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
    z-index: 201;
}

.share-profile-options-modal h4 {
    margin-top: 0;
    text-align: center;
    font-size: 21px;
}

.share-profile-options {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    margin-top: 20px;
    gap: 10px;
}

.share-profile-link {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border: 1px solid var(--vm-border);
    border-radius: 5px;
    padding: 11px;
    width: 48%;
    margin-bottom: 2px;
    cursor: pointer;
    transition: background-color 0.2s;
    color: var(--vm-brand);
}
.share-profile-link:focus {
    background: #fff;
    color: var(--vm-brand);
    border: 1px solid var(--vm-border) !important;
}
.share-profile-link:hover {
    background: var(--vm-soft);
    color: var(--vm-brand);
    border: 1px solid var(--vm-border-dark) !important;
}
.share-profile-link:active {
    background: var(--vm-soft-active);
    border: 1px solid var(--vm-border-dark) !important;
}

.share-icon {
    width: 20px;
    height: 20px;
    margin-right: 10px;
}

.share-close-button {
    padding: 10px;
    background-color: white;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    box-shadow: none;
    color: #585858;
    position: absolute;
    top: 3px;
    right: 3px;
    font-size: 16px;
    font-weight: 600;
}

.share-close-button:hover {
    color: #000;
    background: #fff;
}

#copy-url-button-nologin {
    border-radius: 10px 10px 0 0;
}

/* Responsive styles */
@media (max-width: 768px) {
    .usm-profile-header {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .usm-profile-picture {
        margin-left: 0;
        margin-bottom: 10px;
        flex: 0;
    }

    .usm-profile-picture img {
        width: 96px;
        height: 96px;
    }

    .usm-profile-details {
        width: 100%;
    }

    .usm-profile-top {
        flex-direction: column;
        align-items: center;
        margin-bottom: -25px;
    }

    .nombres-contenedor {
        margin-right: 0;
        margin-bottom: 10px;
    }

    .usm-profile-name {
        font-size: 20px;
    }

    .usm-profile-nicename {
        font-size: 14px;
    }

    /* Modal Follow */
    .usm-follow-item {
        padding: 10px 0;
    }

    .usm-follow-link {
        font-size: 15px;
    }

    .usm-follow-item img {
        width: 44px;
        height: 44px;
        margin-right: 1px;
    }

    .usm-follow-button, .usm-unfollow-button {
        width: 100px;
        padding: 8px 0;
        font-size: 14px;
    }

    .usm-profile .usm-follow-button, .usm-profile .usm-unfollow-button {
        padding: 10px;
        margin-bottom: 10px;
    }

    .usm-edit-profile-button {
        margin-bottom: 8px;
    }

    /* LOGROS */
    .usm-profile-achievements-bar{
        justify-content: center;
        margin: 8px 0 6px;
    }

    .usm-profile-achievement-chip{
        max-width: 100%;
    }

    .usm-profile-achievement-chip__value{
        max-width: 180px;
    }

    /* STATS */
    .usm-profile-stats {
        justify-content: center;
        margin: 20px 0;
        white-space: pre-wrap;
        text-align: center;
        line-height: 20px;
        gap: 30px;
    }

    .usm-profile-stats span {
        display: flex;
    }

    .usm-profile-bio {
        font-size: 14px;
        line-height: 22px;
        margin-top: 10px;
    }

    .usm-profile-social-media {
        justify-content: center;
        margin-top: 10px;
    }

    .usm-profile-social-media a img {
        width: 24px;
        height: 24px;
    }

    /* TABS */
    .usm-profile-tabs.is-draggable {
        cursor: grab;
    }

    .usm-profile-tabs.is-dragging {
        cursor: grabbing;
        scroll-behavior: auto;
    }

    .usm-tabs-dragging,
    .usm-tabs-dragging * {
        user-select: none !important;
        cursor: grabbing !important;
    }

    /* CONTENIDO */
    .usm-modal-content {
        width: 100%;
    }

    .usm-section-favoritos {
        margin-top: 20px;
    }

    /* Pestana publicaciones */
    .user-post-images a {
        width: 95px;
        height: 95px;
        min-width: 95px;
        min-height: 95px;
    }

    .share-options {
        left: calc(100% - 260px);
    }
}

@media screen and (max-width: 480px) {
    /* Modal follow */
    .usm-modal-content .usm-tabcontent {
        padding: 15px 16px 20px;
    }

    .usm-follow-link {
        font-size: 14.6px;
    }

    .usm-follow-item img {
        width: 40px;
        height: 40px;
    }

    .usm-follow-button, .usm-unfollow-button {
        font-size: 13.5px;
    }
}

@media screen and (max-width: 350px) {
    .interaction-buttons {
        gap: 8px;
    }

    /* Simplificar el botón de compartir en pantallas diminutas */
    .publicaciones-share-container .share-button span {
        display: none;
    }
}