/* ============================================ PÁGINA BIOLINK (Estudio Creativo) ============================================ */ .biolink-page { display: flex; flex-direction: column; min-height: 100vh; background-color: var(--bg-base); background-image: radial-gradient(circle at 50% 0%, var(--brand-rose-muted) 0%, transparent 40%); background-size: 100% 100%; background-repeat: no-repeat; } [data-theme="dark"] .biolink-page { background-image: radial-gradient(circle at 50% 0%, rgba(186, 18, 77, 0.15) 0%, transparent 40%); } /* Botón de tema flotante para biolink */ .biolink-theme-toggle { position: fixed; top: var(--spacing-sm); right: var(--spacing-sm); z-index: 100; } .biolink-container { width: 100%; max-width: 680px; margin: 0 auto; padding-top: var(--spacing-md); flex: 1; display: flex; flex-direction: column; align-items: center; } /* --- Perfil --- */ .profile { text-align: center; margin-bottom: var(--spacing-md); /* Reducido */ display: flex; flex-direction: column; align-items: center; gap: 0.25rem; /* Reducido de 0.5rem a 0.25rem */ } .profile-image-wrapper { position: relative; width: 200px; height: 150px; margin-bottom: 0.25rem; /* Reducido de spacing-xs a 0.25rem */ display: flex; align-items: center; justify-content: center; transition: transform 0.3s ease; } .profile-image-wrapper:hover { transform: scale(1.05); } .biolink-logo { position: absolute; width: 100%; height: 100%; object-fit: contain; max-width: 200px; max-height: 160px; transition: opacity 0.4s ease-in-out, transform 0.3s ease; } .biolink-logo.light { opacity: 1; z-index: 2; position: absolute; } .biolink-logo.dark { opacity: 0; z-index: 1; position: absolute; } [data-theme="dark"] .biolink-logo.light { opacity: 0; } [data-theme="dark"] .biolink-logo.dark { opacity: 1; } .profile-name { font-family: var(--font-title); font-style: italic; font-size: 2rem; color: var(--text-primary); margin: 0; line-height: 1.2; } .profile-bio { font-family: var(--font-body); font-size: 1.2rem; color: var(--text-muted); max-width: 400px; line-height: 1.5; margin: 0; } /* --- Enlaces --- */ .links { width: 100%; display: flex; flex-direction: column; gap: var(--spacing-sm); margin-bottom: var(--spacing-md); } /*estilos de botones clasicos*/ .link-button { display: flex; align-items: center; background-color: var(--bg-surface); border: 1.5px solid var(--border); border-radius: 16px; padding: 1rem 1.25rem; text-decoration: none; color: var(--text-primary); transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1); box-shadow: 0 2px 8px -2px rgba(0, 0, 0, 0.04); position: relative; overflow: hidden; } .link-button::before { content: ""; position: absolute; top: 0; left: 0; width: 4px; height: 100%; background-color: var(--brand-crimson); opacity: 0; transition: opacity 0.3s ease; } .link-button:hover { border-color: var(--brand-crimson); transform: translateY(-3px); box-shadow: 0 12px 24px -6px rgba(186, 18, 77, 0.15); background-color: var(--bg-surface-elevated); } .link-button:hover::before { opacity: 1; } /*estilos del boton de whatsapp*/ .link-button-wa { display: flex; align-items: center; background-color: var(--bg-surface); border: 1.5px solid var(--border); border-radius: 16px; padding: 1rem 1.25rem; text-decoration: none; color: var(--text-primary); transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1); box-shadow: 0 2px 8px -2px rgba(0, 0, 0, 0.04); position: relative; overflow: hidden; } .link-button-wa::before { content: ""; position: absolute; top: 0; left: 0; width: 4px; height: 100%; background-color: var(--brand-teal); opacity: 0; transition: opacity 0.3s ease; } .link-button-wa:hover { border-color: var(--brand-teal); transform: translateY(-3px); box-shadow: 0 12px 24px -6px rgba(26, 143, 168, 0.3); background-color: var(--bg-surface-elevated); } .link-button-wa:hover::before { opacity: 1; } .link-icon { width: 44px; height: 44px; border-radius: 12px; background-color: var(--badge-bg); color: var(--brand-crimson); display: flex; align-items: center; justify-content: center; font-size: 1.5rem; flex-shrink: 0; transition: all 0.3s ease; } .link-icon-wa { width: 44px; height: 44px; border-radius: 12px; background-color: var(--brand-sage-light); color: var(--brand-teal); display: flex; align-items: center; justify-content: center; font-size: 1.5rem; flex-shrink: 0; transition: all 0.3s ease; } .link-button-wa .link-icon { border-color: rgba(16, 99, 125, 0.5); background: linear-gradient(135deg, rgba(0, 63, 82, 0.15) 0%, rgba(16, 99, 125, 0.08) 100%); position: relative; } /* Ajustes específicos para modo oscuro */ [data-theme="dark"] .link-button-wa { border-color: rgba(16, 99, 125, 0.6); background: linear-gradient(135deg, rgba(16, 99, 125, 0.2) 0%, rgba(0, 168, 140, 0.08) 100%); } [data-theme="dark"] .link-button-wa .link-icon { background-color: rgba(16, 99, 125, 0.35); color: #1a8fa8; /* Teal más luminoso para modo oscuro */ border-color: rgba(26, 143, 168, 0.4); } [data-theme="dark"] .link-button-wa:hover { border-color: #1a8fa8; box-shadow: 0 12px 24px -6px rgba(26, 143, 168, 0.3); } [data-theme="dark"] .link-button-wa:hover .link-icon { background-color: #1a8fa8; color: #ffffff; border-color: #1a8fa8; } /* Icono de WhatsApp - Tema Claro */ .link-button-wa .link-icon { background-color: rgba(0, 63, 82, 0.12); /* Fondo teal suave */ color: var(--brand-teal); /* Icono teal vibrante */ border: 1px solid rgba(0, 63, 82, 0.2); } .link-button-wa:hover .link-icon { background-color: var(--brand-teal); /* Fondo teal sólido al hover */ color: #ffffff; border-color: var(--brand-teal); transform: scale(1.05); } .link-button:hover .link-icon { background-color: var(--brand-crimson); color: #ffffff; } .link-button-wa:hover .link-icon { background-color: var(--brand-teal); color: #ffffff; } .link-text { flex: 1; text-align: left; padding-left: 1rem; font-family: var(--font-body); font-weight: 600; font-size: 1.2rem; letter-spacing: 0.2px; } .link-arrow { color: var(--text-muted); font-size: 0.9rem; transition: transform 0.3s ease, color 0.3s ease; } .link-button:hover .link-arrow { transform: translateX(5px); color: var(--brand-crimson); } .link-button-wa:hover .link-arrow { transform: translateX(5px); color: var(--brand-teal); } /* --- Redes Sociales --- */ .social-links { display: flex; justify-content: center; gap: 1rem; margin-top: var(--spacing-xs); margin-bottom: var(--spacing-md); /* Agregado: más espacio abajo */ } .social-link { width: 52px; height: 52px; border-radius: 50%; background-color: var(--bg-surface); border: 1.5px solid var(--border); color: var(--text-secondary); display: flex; align-items: center; justify-content: center; font-size: 1.35rem; text-decoration: none; transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1); } .social-link:hover { background-color: var(--brand-plum); border-color: var(--brand-plum); color: #ffffff; transform: translateY(-4px); box-shadow: 0 8px 20px -4px rgba(23, 12, 29, 0.3); } /* ============================================ FOOTER BIOLINK (Corregido) ============================================ */ .footerbio { padding: var(--spacing-md) var(--spacing-sm); text-align: center; display: flex; flex-direction: column; align-items: center; gap: var(--spacing-xs); border-top: none; /* Cambiado: quitamos la línea */ background-color: var(--bg-surface); margin-top: auto; } /* Contenedor del footer - debe ser relative para posicionar los logos */ .footerbio .footer-logo-wrapper { position: relative; width: 120px; height: 70px; margin: 0 auto 0.5rem auto; display: flex; align-items: center; justify-content: center; } /* Ambos logos se superponen */ .footerbio .footer-biolink-logo { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: contain; transition: opacity 0.4s ease-in-out; } /* MODO CLARO - se ve el claro, se oculta el oscuro */ .footerbio .footer-biolink-logo.light { opacity: 1; z-index: 2; } .footerbio .footer-biolink-logo.dark { opacity: 0; z-index: 1; } /* MODO OSCURO - se oculta el claro, se ve el oscuro */ [data-theme="dark"] .footerbio .footer-biolink-logo.light { opacity: 0; } [data-theme="dark"] .footerbio .footer-biolink-logo.dark { opacity: 1; } .footerbio-text { font-family: var(--font-small); font-size: 0.8rem; color: var(--text-muted); } /* ============================================ RESPONSIVE MÓVIL ============================================ */ @media (max-width: 480px) { .biolink-container { padding-top: calc(var(--header-height) + var(--spacing-xs)); padding-left: 1rem; /* Agregado: espacio lateral izquierdo */ padding-right: 1rem; /* Agregado: espacio lateral derecho */ } .profile { margin-bottom: var(--spacing-sm); gap: 0.2rem; } .profile-image-wrapper { width: 160px; height: 120px; margin-bottom: 0.2rem; } .biolink-logo { max-width: 160px; max-height: 120px; } .profile-name { font-size: 1.6rem; } .profile-bio { font-size: 1rem; padding: 0 0.5rem; /* Evita que el texto toque los bordes */ } .links { gap: 0.75rem; /* Un poco más compacto entre botones */ } .link-button { padding: 0.85rem 1rem; } .link-icon { width: 40px; height: 40px; font-size: 1.2rem; } .link-text { font-size: 1rem; } .social-links { gap: 0.75rem; /* Íconos sociales un poco más juntos */ } .social-link { width: 48px; height: 48px; font-size: 1.25rem; } }