/* Hero en Blanco y Negro */
.hero-slider {
    margin-top: 150px;
    height: 400px;
    background: #000;
    position: relative;
    filter: grayscale(100%);
    overflow: hidden;}
.slide {
    position: absolute;
    width: 100%; height: 150%;
    background-size: cover; background-position: center;
    opacity: 0; transition: opacity 1.2s ease;}
.slide.active { opacity: 0.5; }
/* Avatar y Resplandor (PC) */
/* ============================================================
   ESTRUCTURA MAESTRA DE CABECERA (UNIFICADA)
   ============================================================ */
.profile-header-info {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 40px; /* Distancia equilibrada unificada */
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 40px;
    position: relative;
    z-index: 10;}
/* Columna 1: Avatar */
.avatar-column {
    flex: 0 0 270px;
    width: 270px;
    display: flex;
    justify-content: center;
    align-items: center;}
.avatar-wrapper {
    position: relative;
    width: 270px;
    height: 270px;}
/* Columna 2: Texto e Info */
.text-column {
    flex: 1;
    text-align: left;}
/* Columna 3: Botón de Acción */
.contact-action {
    flex: 0 0 auto;}
/* ============================================================
   PERFIL PREMIUM (Dorado, Squircle, con Slider)
   ============================================================ */
/* El Premium no lleva margen extra arriba porque usa el Hero Slider */
.profile-container:not(.estandar) .profile-header-info {
    margin-top: 0;}
.avatar-wrapper.premium {
    margin-top: -200px; /* Sube sobre el slider */
    z-index: 5;}
.avatar-wrapper.premium .avatar-img {
    border-radius: 22%;
    border: 7px double #bf953f;
    background: linear-gradient(145deg, #bf953f, #fcf6ba, #b38728, #fbf5b7, #aa771c) padding-box,
                linear-gradient(145deg, #bf953f, #fcf6ba, #b38728, #fbf5b7, #aa771c) border-box;
    border-color: transparent;
    box-shadow: 0 10px 25px rgba(0,0,0,0.5);
    object-fit: cover;
    width: 100%;
    height: 100%;}
.avatar-wrapper.premium::after {
    display: none !important;}
/* ============================================================
   PERFIL ESTÁNDAR (Fucsia, Redondo, Sin Slider)
   ============================================================ */
/* Bajamos el bloque para que no choque con el menú */
.profile-container.estandar .profile-header-info,
.profile-container.masajista .profile-header-info {
    margin-top: 160px;}

.profile-container.estandar .avatar-wrapper {
    margin-top: 0 !important;}
/* Brillo DETRÁS */
.profile-container.estandar .avatar-wrapper::after {
    content: '';
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    background: rgba(255, 45, 85, 0.4);
    filter: blur(40px);
    border-radius: 50%;
    z-index: 1;}
/* Foto ADELANTE circular */
.profile-container.estandar .avatar-img {
    border-radius: 50% !important;
    border: 6px solid #ff2d55 !important;
    position: relative;
    z-index: 2;
    width: 100%;
    height: 100%;
    object-fit: cover;
    background: #1a1a1a;
    box-shadow: 0 10px 30px rgba(0,0,0,0.5);}
/* ============================================================
   TIPOGRAFÍA Y RESPONSIVE (768px)
   ============================================================ */
.profile-name {
    font-size: 3.9rem;
    font-weight: 800;
    margin-bottom: 10px;
    margin-top: 5px;
    line-height: 1.1;}
.profile-container:not(.estandar) .profile-header-info {
        margin-top: 0;}  
.profile-container.masajista .profile-header-info {
    margin-top: 160px; /* Espacio para que no lo tape el header */
}
/* El avatar del masajista será redondo y fucsia, igual que el estándar */
.profile-container.masajista .avatar-wrapper {
    margin-top: 0 !important;
    width: 270px;
    height: 270px;}
.profile-container.masajista .avatar-img {
    border-radius: 50% !important;
    border: 6px solid #ff2d55 !important;
    position: relative;
    z-index: 2;
    width: 100%;
    height: 100%;
    object-fit: cover;
    box-shadow: 0 10px 30px rgba(0,0,0,0.5);}
/* Brillo fucsia también para masajistas */
.profile-container.masajista .avatar-wrapper::after {
    content: '';
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    background: rgba(255, 45, 85, 0.4);
    filter: blur(40px);
    border-radius: 50%;
    z-index: 1;}
.profile-tags {
    margin-bottom: 10px; /* Separación con el bloque de stats que viene después */
    display: flex;
    gap: 20px;} /* Espacio entre los tags 'CABA' y 'Verificado' */
.profile-tags span {
    color: #b0b0b0; /* Un gris claro elegante */
    font-size: 0.9rem; /* Un poco más chico que el estándar */
    display: flex;
    align-items: center; /* Alinea verticalmente ícono y texto */
    font-weight: 400;}
.profile-tags i {
    margin-right: 12px; /* Aquí controlas la separación con el texto */
    color: #888; /* El ícono puede ser un gris un toque más oscuro si querés */
    font-size: 1rem;} /* El ícono puede quedar un pelín más grande que el texto para que se vea bien */
/* Contenedor del botón */
.contact-action {
    flex: 0 0 auto;
    margin-top: 0 !important; /* Eliminamos el margen que lo empujaba hacia abajo */
    display: flex;
    align-items: center;}
.whatsapp-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 15px;               /* Espacio entre el ícono y el número */
    background-color: #1a181b;   /* Fondo negro en reposo */
    color: #fff;              /* Texto blanco */
    padding: 12px 25px;       /* Ajustamos un poco el tamaño para la columna derecha */
    border-radius: 50px;      /* Forma de cápsula */
    text-decoration: none;
    white-space: nowrap;      /* Evita que el número se parta en dos líneas */
    transition: all 0.3s ease; /* Animación suave para el cambio de color */
    /* Tamaño del texto/número */
    font-size: 1.6rem;        /* Número más grande y legible */
    font-weight: 700;}
.whatsapp-pill i {
    font-size: 2.2rem;        /* Ícono más grande que el texto */
    color: #fff;           /* El ícono siempre en verde original */
    transition: all 0.3s ease;}
/* EFECTO AL PASAR EL MOUSE (Hover) */
.whatsapp-pill:hover {
    background-color: #ffffff; 
    color: #000;}
.whatsapp-pill:hover i {
    color: #000;}
/* Estadísticas */
.stats-grid {
    display: flex; 
    align-items: center; 
    justify-content: flex-start; /* Se alinea con el nombre en PC */
    gap: 20px;                   /* Aumentamos el aire entre bloques */
    margin: 20px 0;
    padding: 10px 0;}
.stat-item {
    display: flex;
    flex-direction: column;
    align-items: center;        /* Centra el número sobre el texto (Vistas, Like, Edad) */
    text-align: center;
    min-width: 70px;}             /* Evita que los números se muevan si cambia la cifra */
.stat-divider { 
    width: 1px; 
    height: 35px;               /* Un poco más corta para que sea más elegante */
    background: rgba(255,255,255,0.15);}
.stat-number { 
    font-size: 26px;            /* Un punto más chico para no competir con el nombre */
    font-weight: 700; 
    color: #fff;
    line-height: 1;
    margin-bottom: 5px;}
.stat-label { 
    color: #777;                /* Gris un poco más oscuro para dar profundidad */
    font-size: 13px; 
    text-transform: uppercase;  /* Queda muy bien en mayúsculas pequeñas */
    letter-spacing: 1px;}
.profile-header-info {
    display: flex !important; /* Forzamos el modo flex */
    flex-direction: row;      
    align-items: center;      
    justify-content: space-between; 
    gap: 60px;                
    max-width: 1250px;
    margin: 0 auto;
    padding: 0 20px;}
/* Ajustamos las columnas para que tengan un ancho equilibrado */
.avatar-column {
    flex: 0 0 auto;
    z-index: 10;}
.text-column {
    flex: 1; 
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-left: 90px;}
/* Navegación de Pestañas */
.profile-tabs-nav {
    border-bottom: 1px solid #333;
    margin-bottom: 30px;
    position: sticky;
    top: 80px; /* Se queda pegado arriba al hacer scroll */
    background: #000;
    z-index: 100;}
.tabs-container {
    max-width: 800px;
    margin: 0 auto;
    display: flex;
    justify-content: space-around;}
.tab-btn {
    background: none;
    border: none;
    color: #888;
    padding: 15px 25px;
    font-size: 1rem;
    cursor: pointer;
    transition: 0.3s;
    border-bottom: 2px solid transparent;}
.tab-btn.active {
    color: #fff;
    border-bottom: 2px solid #ff2d55;}

/* Ocultar contenidos no activos */
.tab-content {
    display: none;
    animation: fadeIn 0.5s ease;}
.tab-content.active {
    display: block;}

/* BOTÓN FLOTANTE LATERAL */
.sticky-actions {
    position: fixed;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    flex-direction: column;
    gap: 15px;
    background: rgba(26, 24, 27, 0.8);
    padding: 15px 10px;
    border-radius: 50px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(10px);
    z-index: 1000;}
.action-item {
    width: 50px;
    height: 50px;
    background: #000000;
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    font-size: 1.2rem;
    transition: 0.3s;}
.action-item:hover {
    transform: scale(1.1);
    background: #ff2d55;
    color: #fff;}
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Contenedor de fotos Centrado */
.grid-gallery {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
    max-width: 1100px;
    margin: 40px auto !important;
    padding: 0 20px;
    clear: both;
    overflow: hidden;}
/* Fix para el Footer: Aseguramos que el contenido tab tenga espacio */
.tab-content {
    display: none;
    width: 100%;
    min-height: 400px;
    margin-bottom: 50px;}
.tab-content.active {
    display: grid;} /* Cambiamos a GRID cuando está activo para que respete la galería */
/* 3. ITEMS DE GALERÍA: UNIFICADOS (Aquí corregimos el tamaño) */
.gallery-item, 
.grid-item-wide {
    width: 100%;
    aspect-ratio: 1 / 1 !important; /* Forzamos cuadrado perfecto para ambos */
    overflow: hidden;
    border-radius: 4px;}
/* 4. Imágenes */
.gallery-item img, 
.grid-item-wide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border: none;
    padding: 0;
    transition: filter 0.3s ease;
    cursor: pointer;}
/* 5. Efecto Hover */
.gallery-item img:hover, 
.grid-item-wide img:hover {
    filter: brightness(0.7); 
    transform: none;
    box-shadow: none;}
.gallery-item {
    aspect-ratio: 1/1;} /* Esto las hace cuadradas */
/* Sector videos */
.video-item video {
    width: 100%;
    height: 100%;
    border-radius: 8px;
    background: #000;
    object-fit: cover; /* Esto hace que el video llene el cuadro como las fotos */
    aspect-ratio: 1/1; }
/* Barra de contacto móvil */
.mobile-contact-bar {
    position: fixed;
    bottom: -100px; /* Escondida */
    left: 0;
    width: 100%;
    height: 80px; /* Un poquito más alta para dar aire */
    display: flex;
    align-items: center;
    justify-content: center; /* CENTRADO TOTAL de las píldoras */
    gap: 15px; /* Espacio entre las dos píldoras */
    padding: 0 15px;
    z-index: 99999;
    transition: bottom 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);} /* Efecto rebote suave */
.mobile-contact-bar.show {
    bottom: 0 !important;}
.contact-item {
    flex: 1; /* Para que ambas midan lo mismo */
    max-width: 180px; /* Para que no se estiren demasiado en tablets */
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border-radius: 50px; /* Forma de píldora total */
    text-decoration: none !important;
    font-weight: 600;
    font-size: 14px;
    transition: transform 0.2s;}
.contact-item:active {
    transform: scale(0.95);}
/* 4. Colores Específicos */
.call-btn {
    background-color: #1a1a1a;
    color: #ffffff !important;
    border: 1px solid #333;}
.whatsapp-btn {
    background-color: #25D366; /* El verde de WhatsApp */
    color: #ffffff !important;}
.contact-item i {
    font-size: 16px;}
/* INFO ANUNCIANTE */
.info-container {
    max-width: 1100px;
    margin: 40px auto;
    padding: 0 20px;
    color: #fff;}
.info-title {
    font-size: 1.2rem;
    font-weight: 700;
    color: #ff2d55; /* El fucsia de Onyce */
    margin-bottom: 25px;
    text-transform: uppercase;
    letter-spacing: 1px;
    border-left: 3px solid #ff2d55;
    padding-left: 15px;}
.section-break {
    margin-top: 50px;}
.info-top-status {
    display: flex;
    flex-direction: row; /* En PC se mantienen en fila */
    align-items: center; /* Alineación vertical perfecta */
    justify-content: flex-start; /* EMPUJA TODO A LA IZQUIERDA */
    margin-bottom: 35px;
    gap: 20px; /* Espacio uniforme entre la tarjeta y los badges */
    flex-wrap: wrap;}
/* Caja de Ubicación */
.location-card {
    background: #0a0a0a; /* Un tono casi negro, más profundo que el fondo */
    border: 1px solid #1a1a1a;
    border-radius: 12px;
    padding: 10px 18px;
    display: flex;
    align-items: center;
    gap: 12px;
    flex-shrink: 0;} /* Evita que se encoja si hay poco espacio */
.location-card i {
    color: #ff2d55;
    font-size: 1.2rem;}
.status-badges {
    display: flex;
    gap: 8px;
    align-items: center;}
.badge {
    padding: 6px 14px;
    border-radius: 6px;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    display: flex;
    align-items: center;
    gap: 6px;}
#likeCounter:empty::before,
#vistas-loader:empty::before {
    content: "...";
    font-weight: bold;
    letter-spacing: 2px;
    opacity: 0.5;}
@keyframes pulseFade {
    0% { opacity: 0.2; }
    50% { opacity: 0.8; }
    100% { opacity: 0.2; }}
#likeCounter:empty::before,
#vistas-loader:empty::before {
    content: "...";
    animation: pulseFade 1.5s infinite ease-in-out;
}
/* Variante Premium (Fondo blanco, texto negro como en la imagen) */
.badge-premium {
    background: #ffffff;
    color: #000000;}
.location-box {
    background: #1a181b;
    border-radius: 12px;
    padding: 15px 20px;
    display: flex;
    align-items: center;
    gap: 15px;
    min-width: 220px;}
.location-box i {
    color: #ff2d55;
    font-size: 1.4rem;}
.location-text {
    display: flex;
    flex-direction: column;}
.location-label {
    color: #888;
    font-size: 0.75rem;
    font-weight: 600;}
.location-city {
    color: #fff;
    font-size: 1rem;
    font-weight: 700;}
/* Badge de Verificación */
.verified-badge-info {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: #aaa;
    padding: 6px 15px;
    border-radius: 6px;
    font-size: 0.8rem;
    display: flex;
    align-items: center;
    gap: 8px;
    height: fit-content;}
.verified-badge-info i {
    font-size: 0.9rem;}
.service-description {
    max-width: 100%; /* Ocupa el ancho del contenedor info */
    margin: 0 0 30px 0; /* Espacio antes del siguiente título */
    padding: 0;
    text-align: left;}
.service-description p {
    color: #e0e0e0;
    font-size: 1rem;
    line-height: 1.6;
    font-weight: 300;
    margin: 0;}
.service-description p.official-intro {
    color: #999;           /* Un gris más oscuro para diferenciarlo */
    font-size: 0.85rem;    /* Tamaño menor al 1rem del resto */
    font-weight: 400;      /* Un poquito más de grosor para que se lea bien al ser oscuro */
    margin-bottom: 12px;   /* Espacio para que no se pegue al texto del anunciante */
    letter-spacing: 0.5px;}
.section-break {
    margin-top: 35px;}
/* Grilla de Datos */
.info-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr); /* 4 columnas en PC */
    gap: 30px 20px;}
.info-item {
    display: flex;
    flex-direction: column;
    gap: 5px;}
.info-label {
    color: #888;
    font-size: 0.85rem;
    text-transform: capitalize;}
.info-value {
    color: #fff;
    font-size: 1.1rem;
    font-weight: 600;}
/* Nube de Etiquetas (Fetiches y Virtuales) */
.tags-cloud {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;}
.info-tag {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    padding: 8px 20px;
    border-radius: 50px;
    font-size: 0.9rem;
    color: #ccc;
    transition: 0.3s;}
.info-tag.highlight {
    border-color: rgba(255, 255, 255, 0.3);
    color: #fff;}
/* Regalos y propinas */
.gift-options {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 10px;
    margin: 20px 0;}
.gift-card {
    background: #252525;
    padding: 15px 5px;
    border-radius: 12px;
    cursor: pointer;
    border: 1px solid #444;
    transition: 0.3s ease;}
.gift-card:hover {
    border-color: #ff2d55;
    transform: translateY(-3px);
    background: #2d2d2d;}
.gift-card .amount {
    display: block;
    font-weight: bold;
    font-size: 16px;
    color: #ff2d55;}
.gift-card .gift-label {
    font-size: 10px;
    color: #888;}
.alias-box-compact {
    background: #111;
    padding: 15px;
    border-radius: 10px;
    margin-bottom: 15px;
    border: 1px solid #333;}
.modal-overlay {
    display: none; 
    position: fixed;
    z-index: 100000; /* Super por encima de todo */
    top: 0; left: 0;
    width: 100%; height: 100%;
    background: rgba(0, 0, 0, 0.9); /* Fondo negro semi-transparente */
    backdrop-filter: blur(8px);}/* Efecto de desenfoque al fondo */
/* El modal debe estar siempre encima de la sticky bar */
.modal-content {
    background: #1a1a1a;
    color: white;
    width: 90%; 
    max-width: 450px; /* Tamaño máximo para que no se estire en PC */
    margin: 10vh auto; /* 10% de espacio arriba y centrado horizontal */
    padding: 30px;
    border-radius: 20px;
    text-align: center;
    position: relative;
    border: 1px solid #333;
    box-shadow: 0 10px 50px rgba(0,0,0,1);}  /* Sombra para dar profundidad */
/* 3. La X para cerrar (Ajuste de posición) */
.close-modal {
    position: absolute;
    top: 15px; 
    right: 20px;
    font-size: 30px; 
    cursor: pointer;
    color: #888;
    line-height: 1;}
.close-modal:hover {
    color: #ff2d55;}
/* 4. El ícono del regalo arriba */
.gift-icon-header {
    font-size: 50px;
    color: #ff2d55;
    margin-bottom: 20px;}
/* Disponibilidad del anunciante */
.status-live-container {
    display: flex;
    justify-content: center;
    margin-bottom: 20px;}
.status-badge {
    display: flex;
    align-items: center;
    padding: 8px 16px;
    border-radius: 20px;
    font-size: 0.9rem;
    font-weight: 600;
    letter-spacing: 0.5px;}
.location-container {
    max-width: 600px; /* Limitamos el ancho para que no se estire en PC */
    margin: 0 auto;   /* Centra todo el bloque */
    display: flex;
    flex-direction: column;
    align-items: center;} /* Centra los hijos horizontalmente */
.availability-schedule {
    width: 100%; /* Que ocupe el ancho del contenedor de 400px */
    background: rgba(255, 255, 255, 0.03);
    padding: 20px;
    border-radius: 15px;
    border: 1px solid rgba(255, 255, 255, 0.05);
    margin-top: 20px;}
.schedule-list li {
    display: flex;
    justify-content: space-between;
    padding: 12px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    width: 100%;}
.map-wrapper {
    width: 100%;
    margin: 20px 0;}
/* Estilo Disponible */
.status-badge.online {
    background: rgba(46, 213, 115, 0.1);
    color: #2ed573;
    border: 1px solid rgba(46, 213, 115, 0.3);}
/* Estilo No Disponible */
.status-badge.offline {
    background: rgba(255, 71, 87, 0.1);
    color: #ff4757;
    border: 1px solid rgba(255, 71, 87, 0.3);}
/* El puntito que pulsa */
.pulse-dot {
    height: 8px;
    width: 8px;
    background-color: #2ed573;
    border-radius: 50%;
    display: inline-block;
    margin-right: 10px;
    box-shadow: 0 0 0 0 rgba(46, 213, 115, 0.7);
    animation: pulse-green 2s infinite;}
@keyframes pulse-green {
    0% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(46, 213, 115, 0.7); }
    70% { transform: scale(1); box-shadow: 0 0 0 10px rgba(46, 213, 115, 0); }
    100% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(46, 213, 115, 0); }}


/* RESPONSIVE MÓVIL */
@media (max-width: 768px) {
    .hero-slider {
        margin-top: 85px; 
        height: 220px;}
    .slide {
        background-position: center 20%;}  /* Ajusta para que se vean los ojos/cara */
    .avatar-wrapper { 
        width: 210px; 
        height: 210px; 
        margin: -105px auto 10px auto; /* Lo centramos y subimos la mitad */
        position: relative;}
    .avatar-wrapper::after { display: none !important; }
    .avatar-img { 
        width: 100%; 
        height: 100%; 
        object-fit: cover;
        position: relative;
        z-index: 2;}
    /* Estilo Premium Responsive */
    .avatar-wrapper.premium .avatar-img {
        border-radius: 22% !important; /* Forzamos la forma de X */
        border: 5px double #bf953f !important;
        background: linear-gradient(145deg, #bf953f, #fcf6ba, #b38728, #fbf5b7, #aa771c) padding-box,
                    linear-gradient(145deg, #bf953f, #fcf6ba, #b38728, #fbf5b7, #aa771c) border-box !important;
        border-color: transparent !important;
        box-shadow: 0 8px 20px rgba(0,0,0,0.4);}
    /* Estándar Responsive (para que no pierda la forma circular) */
    .avatar-wrapper:not(.premium) .avatar-img {
        border-radius: 50% !important;
        border: 5px solid #ff2d55 !important;}
    .stats-grid { gap: 15px; justify-content: space-between; }
    .stat-number { font-size: 22px; }
    .profile-header-info {
        flex-direction: column !important;
        text-align: center;
        gap: 20px;
        padding-top: 0;
        padding-bottom: 50px;}
    .profile-container.estandar .profile-header-info {
        margin-top: 95px !important; /* Achicamos este espacio significativamente */
        flex-direction: column;
        gap: 15px; /* Un poco más apretado para que entre todo en pantalla */
        text-align: center;
        padding: 0 15px;}
    .text-column {
        text-align: center;
        padding-left: 0;}
    .avatar-column {
        flex: 0 0 auto;}
    /* Reducimos un poco el avatar para que no empuje todo hacia abajo */
    .profile-container.estandar .avatar-wrapper,
    .profile-container.estandar .avatar-wrapper::after {
        width: 170px;
        height: 170px;}
    .profile-name {
        font-size: 2.5rem; /* Letra un poco más acorde al móvil */
	    margin-bottom: 20px;}

    .avatar-wrapper {
        width: 210px !important;      
        height: 210px !important;
        margin: -105px auto 10px auto !important;
        position: relative;
        z-index: 10;
        border-radius: 50% !important;}  /* Asegura que el contenedor sea redondo */
    .avatar-wrapper::after {
        content: '';
        width: 210px !important; 
        height: 210px !important;
        filter: blur(25px);
        border-radius: 50% !important;} /* Asegura que el resplandor sea redondo */
    .avatar-img {
        width: 100% !important;
        height: 100% !important;
        border-radius: 50% !important; /* ESTO es lo que hace que la foto sea redonda */
        border: 5px solid #ff2d55 !important; /* Recuperamos el contorno fucsia */
        object-fit: cover;}
    .profile-tags, .stats-grid {
        justify-content: center;}
    .contact-action {
        width: 100%;
        display: flex;
        justify-content: center;}
    .whatsapp-pill {
        width: 90%; /* Que casi ocupe el ancho del celu, estilo "App" */
        padding: 15px;
        font-size: 1.3rem;}
    .grid-gallery {
        grid-template-columns: repeat(2, 1fr); 
        gap: 10px; /* Espacio justo en celu */
        padding: 0 10px;
        margin: 20px auto !important;}
    .grid-item-wide, .gallery-item {
        grid-column: span 1;
        aspect-ratio: 1 / 1;}
    .gallery-item img, 
    .grid-item-wide img {
        border-radius: 4px;
        object-fit: cover;}
    .gallery-item img:hover, 
    .grid-item-wide img:hover {
        filter: brightness(0.8);}
    .profile-tabs-nav {
        position: relative !important; /* Quitamos el sticky si está dando problemas */
        top: 0 !important;
        display: block !important; /* Forzamos visualización */
        background: #000;
        z-index: 999;}
    .tabs-container {
        justify-content: center;
        gap: 10px;}
    .tab-btn {
        padding: 12px 15px;
        font-size: 0.9rem;}
    .info-grid {
        grid-template-columns: repeat(2, 1fr); /* 2 columnas en móvil */
        gap: 20px;}
    .info-container {
        margin: 20px auto;}
    .info-top-status {
        flex-direction: column; /* En móvil se apilan uno sobre otro */
        align-items: flex-start;
        gap: 15px;}
    .location-card {
        width: 100%;} /* La ubicación ocupa todo el ancho en el celu */
    .status-badges {
        width: 100%;}
    .service-description {
        margin: 10px auto 30px auto;}
    .service-description p {
        font-size: 1rem;}
    .location-box {
        width: 100%;}
    /* 1. Ajuste del contenedor principal del modal */
    .modal-content {
        width: 85%; /* Un poco más ancho en móviles */
        padding: 25px 15px;
        margin: 8vh auto;}
    /* 2. Reorganización de los montos */
    .gift-options {
        grid-template-columns: 1fr; /* Apilamos los botones para que sean fáciles de tocar */
        gap: 12px;}
    .gift-card {
        display: flex;
        justify-content: space-between; 
        align-items: center;
        padding: 15px 20px;
        border-radius: 15px;}
    .gift-card .amount {
        font-size: 22px; /* Resaltamos el precio para el pulgar */
        margin-bottom: 0;}
    .gift-card .gift-label {
        font-size: 14px;} /* Texto descriptivo más legible */
    /* 3. El ícono y textos superiores */
    .gift-icon-header {
        font-size: 40px;}
    h3 {
        font-size: 1.2rem;
        line-height: 1.3;}
    /* 4. El área del Alias */
    .alias-box-compact {
        padding: 12px;}
    .alias-box-compact strong {
        font-size: 18px;
        display: block;
        margin: 5px 0;
        color: #ff2d55;}
    .location-container {
        max-width: 100%;}
    .availability-schedule {
        width: 95%;} /* Un poco de aire a los costados en el cel */
}